Чи потрібно вимкнути ізоляцію сайту в Google Chrome
Різне / / November 29, 2021
Наразі ви напевно чули про «Спектр», зловісно названий недолік безпеки, який впливає майже на всі сучасні процесори. І це правильно, оскільки вразливість пов’язана з підступними програмами та веб-сайтами, які отримують доступ до даних із областей, де вони насправді не повинні. Щоб впоратися з цією проблемою, браузери розробили різні механізми безпеки, і однією з таких реалізацій для Chrome є ізоляція сайту.
Вперше представлена в Chrome версії 63 як додаткова функція безпеки, ізоляція сайту тепер працює за замовчуванням з версії 67. Технічно кажучи, він досить вправно пом’якшує спекулятивні атаки виконання (на яких базується Spectre) завдяки пісочним процесам, які він використовує.
Але, як і все хороше, це має свою ціну — точніше, продуктивність. Отже, чи покращить роботу Chrome вимкнення ізоляції сайту? Чи варто йти на компроміс у сфері безпеки? Давай дізнаємось.
Spectre та ізоляція сайту
Як і будь-який інший браузер, Google Chrome дозволяє відкривати кілька веб-сайтів за допомогою різних вкладок. До впровадження ізоляції сайту вкладки використовувалися для спільного використання загальних процесів, що має сенс, оскільки дублювання завдань було б марною тратою системних ресурсів. Однак це ідеальна ситуація для зловмисної атаки на основі дефектного дизайну ЦП — Spectre.
Сучасні мікропроцесори використовують спекулятивне виконання для попереднього завантаження даних із системної пам'яті в значно швидший кеш процесора як засіб для підвищення загальної продуктивності. Однак це дає унікальну можливість для шкідливого коду спонукати центральний процесор отримати конфіденційні дані в свій кеш, використовуючи спільні процеси. Як тільки дані знаходяться в кеші ЦП, вони залишаються незахищеними (на відміну від системної пам’яті) і можуть бути легко вкрадені.
Припустимо, у вас відкрито кілька вкладок — одна з вашим банківським рахунком, а інша з якимось випадковим сайтом. Теоретично, останнє, за умови, що воно має зловмисний намір, може зануритися в кеш ЦП, який використовує попередню вкладку, а потім завантажувати й читати інформацію, починаючи від даних входу до криптографічних ключі.
Хоча досить важко уявити, що подібний інцидент мав місце через обмежений кеш процесора (що є лише крихітною часткою в порівнянні до системної пам’яті), натомість шкідливий код визначає, які саме дані потрібно вкрасти, порівнюючи різницю між доступом до ЦП швидкості. Зрештою, якщо все йде швидше, ніж зазвичай, то це викликано точними припущеннями, що дані вже знаходяться в кеші ЦП.
Після виявлення вразливості Spectre, браузери почали використовувати різні обхідні шляхи (наприклад, таймери з нижчою роздільною здатністю, щоб зменшити точність визначення швидкості доступу до ЦП), щоб відсікти цілеспрямовані атаки. Однак вони не є ідеальним засобом протидії загрозам на основі Spectre, звідси причина ізоляції сайту.
Ізоляція сайту, як випливає з назви, повністю ізолює вкладки одна від одної, створюючи окремі процеси для всіх iframe (вбудованих зовнішніх посилань), включаючи ті, які є загальними для інших вкладок. Оскільки спільні процеси відіграють важливу роль у допомозі шкідливому коду відстежувати та читати інформацію інших вкладок, використання незалежних процесів в Site Isolation добре пом’якшує такі наслідки вразливості.
Розглядаючи наш попередній приклад, із увімкненою ізоляцією сайтів портал вашого банківського рахунку працює за зовсім іншим процесом і не має нічого схожого на іншу вкладку. Така «ізоляція» зводить до мінімуму можливість викрадення інформації у разі порушення.
Збільшені витрати на пам'ять
Тож ви повинні задатися питанням, чи обходиться ізоляція сайту за рахунок продуктивності через додаткову системну пам’ять, яку використовує кожен незалежний процес — вкладка браузера. Згідно з блог безпеки Google в Інтернеті, реалізація безпеки використовує на 10-13% більше оперативної пам’яті, ніж якщо ця функція спочатку не активна.
Перевіримо, наскільки ця цифра точна на практиці. Якщо ізоляція сайту не ввімкнена, на знімку екрана нижче показано кілька веб-сайтів, які використовують багато подібних iframe. Лише дві вкладки мають окремі поточні завдання, без незалежних процесів для жодного з iframe.
Примітка: Знімки екрана відображаються за допомогою вбудованого в Chrome диспетчера завдань. Щоб отримати доступ до нього, відкрийте меню Chrome, наведіть вказівник на пункт Додаткові інструменти, а потім натисніть Диспетчер завдань.
Ті самі вкладки з увімкненою ізоляцією сайту показані на наступному знімку екрана. Як бачите, кількість додаткових процесів значно збільшується через iframe, які використовуються кожним сайтом. Крім того, подібні процеси додатково поділяються на два, щоб зменшити шанси на успішну атаку спекулятивного виконання. Якщо ви порахуєте (не враховуючи завдання браузера та GPU), обидва сайти в кінцевому підсумку використовують приблизно на 33% більше пам’яті.
Використання пам’яті значно перевищує заявлене Google. Проте враховуйте цифру на 10-13% більше від багаторічного середнього. Сайти і навіть окремі веб-сторінки відрізняються за кількістю процесів і пам’яті, які час від часу потрібні. Отже, сценарій вище можна вважати викидом.
Незважаючи на це, ізоляція сайту призводить до помірного або, в даному випадку, значного збільшення накладних витрат на пам’ять.
Безпека проти Продуктивність
Вимкнення ізоляції сайту призводить до зниження використання пам’яті та, можливо, підвищення продуктивності на пристроях низького класу. Однак Chrome цілком майстерно керувати доступною пам'яттю шляхом призупинення невикористаних вкладок. Враховуючи, що використання пам’яті сильно відрізняється від сайту до сайту, остаточної відповіді немає. На пристроях з високою системною пам’яттю відмінності в продуктивності повинні бути незначними.
Але ось заковика. У зв’язку з впровадженням ізоляції сайту Chrome має з часом відмовитися від існуючих контрзаходів проти атак Spectre. Отже, його вимкнення призведе до ще більшого впливу зловмисних атак.
Зваживши обидва, потенційні вразливості, спричинені Spectre, у поєднанні з постійно зростаючим використанням особистих даних, роблять відключення ізоляції сайту поганою ідеєю. Якщо ви не займаєтеся серфінгом на недорогому комп’ютері та не використовуєте жодних особистих даних, лише тоді вам варто навіть подумати про відключення цієї важливої функції безпеки.
Вимкнення ізоляції сайту
Вимкнення ізоляції сайту наражає ваш комп’ютер значним загрозам безпеки. Однак якщо ви захочете вимкнути цю функцію, нижче наведено конкретні кроки для цього.
Увага: Якщо ізоляцію сайту вимкнено, утримайтеся від використання персональних даних перегляду на будь-якому веб-сайті. Те саме стосується зберігання конфіденційної інформації в Chrome, наприклад паролів.
Крок 1: На новій вкладці введіть chrome://flags, а потім натисніть Enter, щоб отримати доступ до експериментальних прапорців Chrome.
Крок 2: Введіть «Ізоляція сайту» в рядок пошуку, а потім натисніть клавішу Enter.
Крок 3: Ви повинні побачити два позначки Chrome із позначками Strict Site Isolation і Site Isolation Trial Opt Out.
- Установіть прапор суворої ізоляції сайту на Вимкнено. На певних пристроях це може бути вимкнено за замовчуванням — якщо це так, нічого не робіть.
- Установіть для прапорця відмови від пробної ізоляції сайту значення Opt-Out (не рекомендується).
Потім натисніть Перезапустити зараз, щоб застосувати зміни.
Крок 5: Ізоляція сайту тепер вимкнена. Щоб перевірити, введіть chrome://process-internals у нову вкладку, а потім натисніть Enter.
Режим ізоляції сайту має читатися як Вимкнено, щоб позначити підтвердження. Щоб увімкнути ізоляцію сайту пізніше, поверніться назад і змініть прапорці на колишні та перезапустіть Chrome.
Ні, ризикувати не варто
Вимкнення критичної функції безпеки Chrome, наприклад ізоляції сайту, щоб зменшити використання пам’яті, не є гарантією. Особливо враховуючи, як кожен сайт використовує пам’ять по-різному. Тож будь-який незначний приріст продуктивності за потенційну ціну вашої особистої інформації не слід шукати. Якщо у вас проблеми з продуктивністю, ви завжди можете подумайте про використання альтернативного браузера наприклад Firefox Quantum, який має набагато менший обсяг пам’яті в порівнянні з Chrome, перш ніж робити щось необдумане.