Посилення ізоляції між сайтами в Chrome

компанія Google оголосила про посилення в Chrome режимі міжсайтової ізоляції, що забезпечує обробку сторінок із різних сайтів в окремих ізольованих процесах. Режим ізоляції на рівні сайтів дозволяє убезпечити користувача від атак, які можуть бути здійснені через сторонні блоки, що використовуються на сайті, такі як iframe-вставки, або для блокування витоку даних через вбудовування легітимних блоків (наприклад, із запитами до банківських сервісів, на яких може бути автентифікований користувач) на шкідливих сайтах.

При поділі обробників у прив'язці до домену, у кожному процесі знаходяться дані лише одного сайту, що ускладнює здійснення атак, спрямованих на міжсайтове захоплення даних. У настільних версіях Chrome поділ обробників у прив'язці до домену, а не вкладці, реалізовано починаючи з Chrome 67. В Chrome 77 подібний режим активовано і для платформи Android.

Посилення ізоляції між сайтами в Chrome

Для зниження накладних витрат режим ізоляції сайтів в Android включається лише якщо на сторінці зафіксовано вхід паролем. Chrome запам'ятовує факт використання пароля і включає захист і всіх подальших звернень до сайту. Захист також застосовується одразу для вибраного списку певних сайтів, популярних серед користувачів мобільних пристроїв. Вибірковий метод активації та додані оптимізації дозволили утримати зростання споживання пам'яті через збільшення кількості працюючих процесів у середньому на рівні 3-5%, замість 10-13%, що спостерігаються під час активації ізоляції для всіх сайтів.

Новий режим ізоляції активовано для 99% користувачів Chrome 77 на Android-пристроях, забезпечених як мінімум 2 Гб ОЗП (для 1% користувачів режим залишився відключеним для моніторингу за продуктивністю). Увімкнути або вимкнути режим ізоляції сайтів вручну можна через налаштування «chrome://flags/#enable-site-per-process».

У настільній редакції Chrome вищезазначений режим ізоляції сайтів тепер посилено для протистояння атакам, націленим на повну компрометацію процесу з обробником контенту. Покращений режим ізоляції дозволить захистити дані сайтів від двох додаткових видів загроз: витоків даних внаслідок атак по сторонніх каналах, таких як Spectre, та витоків після повної компрометації процесу-обробника при успішній експлуатації вразливостей, що дозволяють отримати контроль над процесом, але не достатніх для обходу sandbox-ізоляції. У Chrome для Android подібний захист буде додано пізніше.

Суть методу в тому, що процес, що управляє, запам'ятовує до якого сайту робочий процес має доступ і забороняє звернення до інших сайтів, навіть якщо атакуючий отримає контроль над процесом і спробує отримати доступ до ресурсів іншого сайту. Обмеження охоплюють ресурси, пов'язані з автентифікацією (збережені паролі та Cookie), що завантажуються безпосередньо по мережі даними (фільтруються та прив'язуються в поточному сайті HTML, XML, JSON, PDF та інші типи файлів), даними у внутрішніх сховищах (localStorage), повноваженнями ( сайту дозволу доступу до мікрофону тощо) та повідомленнями, що передаються через API postMessage та BroadcastChannel. Всі подібні ресурси зв'язуються міткою з вихідним сайтом і перевіряються на стороні керуючого процесу щодо можливості передачі на запит з робочого процесу.

З пов'язаних з Chrome подій також можна відзначити розпочало затвердження включення до Chrome підтримки функції Scroll-To-Text, що дає можливість формувати посилання окремі слова чи фрази, без явного вказівки у документі міток з допомогою тега «a name» чи властивості «id». Синтаксис подібних посилань планується затвердити як web-стандарт, який поки що знаходиться на стадії чернетки. Маска для переходу (по суті виконується пошук з прокручуванням) відокремлюється від звичайного якоря ознакою ": ~:". Наприклад, при відкритті посилання "https://opennet.ru/51702/#:~:text=Chromе" сторінка зрушить на позицію з першою згадкою слова "Chromе" і дане слово буде підсвічене. Можливість додана у гілку Канарейка, але для увімкнення вимагає запуску з прапором «enable-blink-features=TextFragmentIdentifiers».

Іншою цікавою майбутньою зміною в Chrome є можливість заморожування неактивних вкладок, що дозволяє автоматично вивантажити з пам'яті вкладки, що знаходяться у фоновому стані більше 5 хвилин і не виконують дій, що мають значення. Рішення про придатність тієї чи іншої вкладки для заморожування ухвалюються на основі евристики. Зміна додана у гілку Canary, на базі якої буде сформовано випуск Chrome 79, і включається через прапор "chrome://flags/#proactive-tab-freeze".

Джерело: opennet.ru

Додати коментар або відгук