Chrome'догу сайттардын ортосундагы изоляцияны күчөтүү

Google бар жарыялады Chrome'до күчөтүү режими жөнүндө сайттар аралык изоляция, бул ар кандай сайттардагы барактардын өзүнчө обочолонгон процесстерде иштетилишин камсыз кылат. Сайттын деңгээлиндеги изоляция режими колдонуучуну сайтта колдонулган үчүнчү тараптын блоктору, мисалы, iframe кошумчалары аркылуу ишке ашырылышы мүмкүн болгон чабуулдардан коргоого же мыйзамдуу блокторду кыстаруу аркылуу маалыматтардын агып кетүүсүнө бөгөт коюуга мүмкүндүк берет (мисалы, зыяндуу сайттарда колдонуучунун аутентификациясын камтыган банктык кызматтарга суроо-талаптар.

Иштетүүчүлөрдү домен боюнча бөлүү менен, ар бир процессте бир гана сайттын маалыматтары камтылган, бул сайттар аралык маалыматтарды басып алуу чабуулдарын жүргүзүүнү кыйындатат. Chrome'дун рабочий версияларында бөлүм Иштетүүчүлөр өтмөккө эмес, доменге байланышкан, баштап ишке ашырылат Chrome 67. The Chrome 77 окшош режим Android платформасы үчүн иштетилген.

Chrome'догу сайттардын ортосундагы изоляцияны күчөтүү

Кошумча чыгымдарды азайтуу үчүн, Android'де сайтты изоляциялоо режими барак сырсөз аркылуу киргенде гана иштетилет. Chrome сырсөз колдонулганын эстеп, сайтка мындан аркы кирүү үчүн коргоону күйгүзөт. Коргоо ошондой эле мобилдик түзмөк колдонуучуларынын арасында популярдуу алдын ала аныкталган сайттардын тандалган тизмесине дароо колдонулат. Тандалган активдештирүү ыкмасы жана кошумча оптималдаштыруулар бардык сайттар үчүн изоляцияны активдештирүү учурунда байкалган 3-5%дын ордуна иштеп жаткан процесстердин санынын 10-13% деңгээлинде көбөйүшүнө байланыштуу эстутум керектөөнүн көбөйүшүн кармап турууга мүмкүндүк берди.

Жаңы изоляция режими кеминде 99 ГБ оперативдүү эс тутуму бар Android түзмөктөрүндөгү Chrome 77 колдонуучуларынын 2% үчүн иштетилген (колдонуучулардын 1% үчүн бул режим аткарууну көзөмөлдөө үчүн өчүрүлгөн бойдон калууда). "chrome://flags/#enable-site-per-process" жөндөөсүн колдонуп, сайтты изоляция режимин кол менен иштетип же өчүрө аласыз.

Chrome'дун рабочий чыгарылышында, жогоруда айтылган сайтты изоляциялоо режими мазмунду иштетүү процессин толугу менен бузууга багытталган чабуулдарга каршы туруу үчүн күчөтүлгөн. Жакшыртылган обочолонуу режими сайттын маалыматтарын коркунучтардын эки кошумча түрүнөн коргойт: Spectre сыяктуу үчүнчү тараптын чабуулдарынын натыйжасында маалыматтардын агып кетиши жана башкаруу процессинин толук бузулушунан кийин агып кетүү, алсыздыктарды ийгиликтүү пайдаланууда процесс, бирок кумдук обочолонууну айланып өтүү үчүн жетиштүү эмес. Окшош коргоо кийинчерээк Android үчүн Chrome'го кошулат.

Методдун маңызы – башкаруу процесси жумушчу процесси кайсы сайтка кире алгандыгын эстеп, башка сайттарга кирүүгө тыюу салат, атүгүл чабуулчу процессти көзөмөлгө алып, башка сайттын ресурстарына кирүүгө аракет кылса да. Чектөөлөр аутентификацияга (сакталган сырсөздөр жана кукилер), тармак аркылуу түз жүктөлүп алынган маалыматтар (чыпкаланган жана учурдагы HTML, XML, JSON, PDF жана башка файл түрлөрүнө шилтемеленген), ички сактагычтагы маалыматтар (localStorage), уруксаттар ( микрофонго жетүү мүмкүнчүлүгүн берген сайт ж.б.) жана postMessage жана BroadcastChannel API аркылуу жөнөтүлгөн билдирүүлөр. Мындай ресурстардын баары булак сайтына теги менен байланышкан жана аларды жумушчу процессинин талабы боюнча өткөрүп берүү үчүн башкаруу процессинин тарабында текшерилет.

Chrome менен байланышкан башка окуяларга төмөнкүлөр кирет: баштап Chrome'до функцияларды колдоону иштетүү үчүн уруксаттар Текстке жылдыруу, бул "a name" теги же "id" касиетин колдонуу менен документте энбелгилерди так көрсөтпөстөн, айрым сөздөргө же сөз айкаштарына шилтемелерди түзүүгө мүмкүндүк берет. Мындай шилтемелердин синтаксисин веб-стандарт катары бекитүү пландаштырылууда, ал дагы эле этапта Долбоор. Өткөөл маска (негизинен сыдырма издөө) кадимки анкерден “:~:” атрибуту менен бөлүнгөн. Мисалы, сиз "https://opennet.ru/51702/#:~:text=Chrome" шилтемесин ачканда, барак "Chrome" деген сөздүн биринчи жолу айтылган позицияга жылат жана бул сөз өзгөчөлөнөт. . Функция жипке кошулду Канар, бирок аны иштетүү үчүн “--enable-blink-features=TextFragmentIdentifiers” желекчеси менен иштөө керек.

Chrome дагы бир кызыктуу өзгөртүү Ал 5 мүнөттөн ашык фондо турган жана маанилүү иш-аракеттерди жасабаган эстутум өтмөктөрүнөн автоматтык түрдө түшүрүүгө мүмкүндүк берүүчү активдүү эмес өтмөктөрдү тоңдуруп коюу мүмкүнчүлүгү. Белгилүү бир өтмөктүн тоңдурууга ылайыктуулугу жөнүндө чечим эвристиканын негизинде кабыл алынат. Өзгөртүү Canary бутагына кошулду, анын негизинде Chrome 79 релиз түзүлөт жана "chrome://flags/#proactive-tab-freeze" желеги аркылуу иштетилди.

Source: opennet.ru

Комментарий кошуу