Трябва ли да деактивирате изолацията на сайтове в Google Chrome
Miscellanea / / November 29, 2021
Досега със сигурност сте чували за „Spectre“, зловещо нареченият пропуск в сигурността, който засяга почти всички съвременни процесори. И с право, тъй като уязвимостта се върти около злобни приложения и уебсайтове, които имат достъп до данни от области, където наистина не трябва. За да се справят конкретно с този проблем, браузърите са разработили различни механизми за сигурност и една такава специфична за Chrome реализация е Site Isolation.
Въведена за първи път в Chrome v63 като незадължителна функция за сигурност, изолацията на сайтове вече работи по подразбиране от версия 67. Технически погледнато, той е доста умел в смекчаването на спекулативните атаки при изпълнение (на които се основава Spectre) поради затворените процеси, които използва.
Но както при всяко добро, то има цена - за да бъдем конкретни, производителност. И така, деактивирането на изолацията на сайта ще подобри ли функционирането на Chrome? Заслужава ли си компромисът със сигурността? Нека разберем.
Spectre и изолация на сайта
Както всеки друг браузър, Google Chrome ви позволява да отваряте множество уебсайтове, използвайки различни раздели. Преди внедряването на Site Isolation, разделите се използват за споделяне на общи процеси - което има смисъл, тъй като дублирането на задачи би било загуба на системни ресурси. Това обаче е идеална ситуация за възникване на злонамерена атака въз основа на дефектен дизайн на процесора - Spectre.
Съвременните микропроцесори използват спекулативно изпълнение за предварително зареждане на данни от системната памет в значително по-бърз кеш на процесора като средство за подобряване на цялостното представяне. Това обаче предлага уникална възможност за злонамерен код да подкани процесора да извлече чувствителни данни в своя кеш, като използва споделени процеси. След като данните са в кеша на процесора, те остават незащитени (за разлика от системната памет) и могат лесно да бъдат откраднати.
Да предположим, че имате отворени няколко раздела — единият с вашата банкова сметка, а другият с някакъв случаен сайт. На теория, последният, при условие че има злонамерено намерение, може да се потопи в кеша на процесора, използван от бивш раздел, а след това заредете и прочетете информация, варираща навсякъде от данни за вход до криптографски ключове.
Въпреки че е доста трудно да си представим подобен инцидент да се случи поради ограничения кеш на процесора (което е само малка част в сравнение към системната памет), вместо това злонамереният код определя точно какви данни да откраднат, като сравнява разликата в достъпа на процесора скорости. В крайна сметка, ако нещата са по-бързи от обикновено, това е причинено от точни спекулации, които вече са в кеша на процесора.
При откриване на уязвимостта Spectre, браузърите започнаха да използват различни решения (като таймери с по-ниска разделителна способност за намаляване на точността на определяне на скоростите за достъп до процесора), за да отблъснете целенасочени атаки. Те обаче не са идеалното средство за противодействие на базираните на Spectre заплахи, оттук и причината за изолирането на сайта.
Изолацията на сайта, както подсказва името, напълно изолира разделите един от друг, като създава отделни процеси за всички вградени рамки (вградени външни връзки), включително тези, които са общи за другите раздели. Тъй като споделените процеси играят голяма роля в подпомагането на злонамерения код да наблюдава и чете информация от други раздели, използването на независими процеси от Site Isolation работи добре за смекчаване на такива уязвимости.
Разглеждайки предишния ни пример, с включена изолация на сайтове, порталът на вашата банкова сметка работи по съвсем различен процес и не споделя нищо подобно на другия раздел. Тази „изолация“ намалява до минимум възможността от кражба на информация в случай на пробив.
Увеличени разходи за памет
Така че трябва да се чудите дали изолацията на сайтове има цена за производителност поради допълнителната системна памет, използвана от всеки независим процес — раздел на браузъра. Според блогът за онлайн сигурност на Google, реализацията на сигурността използва до 10-13% повече RAM, отколкото ако функцията не е активна на първо място.
Нека проверим колко точна е тази цифра на практика. Без активирана изолация на сайта, екранната снимка по-долу показва няколко уебсайта, които използват много подобни вградени рамки. Само двата раздела имат отделни текущи задачи, без независими процеси за нито един от вградените рамки.
Забележка: Екранните снимки се показват с помощта на вградения диспечер на задачите в Chrome. За да получите достъп до него, отворете менюто на Chrome, посочете Още инструменти и след това щракнете върху Диспечер на задачите.
Същите няколко раздела, с активирана изолация на сайта, са показани на следващата екранна снимка. Както можете да видите, има значително увеличение на броя на допълнителните процеси поради вградените рамки, използвани от всеки сайт. Освен това подобни процеси допълнително се разделят на две, за да се смекчат шансовете за успешна атака със спекулативно изпълнение. Ако направите изчисленията (без внимание на задачите за браузъра и GPU), и двата сайта използват около 33% повече памет.
Използването на памет е значително над това, което е заявено от Google. Помислете обаче за цифрата от 10-13% повече от дългосрочната средна стойност. Сайтовете и дори отделните уеб страници се различават по броя на процесите и паметта, необходими от време на време. Следователно сценарият по-горе може да се счита за извънредно.
Независимо от това, изолирането на сайтове води до умерено или в този случай до значително увеличаване на разходите за памет.
Сигурност срещу производителност
Деактивирането на изолацията на сайта води до спад в използването на паметта и вероятно повишава производителността на устройства от нисък клас. Chrome обаче е доста умели в управлението на наличната памет чрез спиране на неизползваните раздели. Като се има предвид, че използването на паметта варира драстично от сайт до сайт, няма окончателен отговор. При устройства с висока системна памет разликите в производителността трябва да са незначителни.
Но тук е уловката. Поради внедряването на Site Isolation, Chrome трябва да отпадне съществуващите контрамерки срещу Spectre атаки с течение на времето. Следователно, деактивирането му ще доведе до още повече излагане на злонамерени атаки.
Като се претеглят двете, потенциалните уязвимости, причинени от Spectre, в съчетание с непрекъснато нарастващото използване на лични данни, правят изключването на изолацията на сайтове лоша идея. Освен ако не сърфирате на машина от нисък клас и не използвате никакви лични данни, само тогава трябва дори да помислите за деактивиране на тази жизненоважна функция за сигурност.
Деактивиране на изолацията на сайта
Деактивирането на изолацията на сайта излага вашия компютър на значителни заплахи за сигурността. Въпреки това, ако искате да продължите напред и да деактивирате функцията, по-долу са конкретните стъпки за това.
Внимание: С деактивирана изолация на сайтове, въздържайте се от използване на лични данни за сърфиране на всеки уебсайт. Същото важи и за съхраняването на чувствителна информация в Chrome, като пароли.
Етап 1: В нов раздел въведете chrome://flags и след това натиснете Enter за достъп до експерименталните флагове на Chrome.
Стъпка 2: Въведете Site Isolation в лентата за търсене и след това натиснете Enter.
Стъпка 3: Трябва да видите два флага на Chrome, обозначени като Строга изолация на сайта и Пробно отказване от изолация на сайтове.
- Задайте флага за строга изолация на сайта на Disabled. Определени устройства може да имат това деактивирано по подразбиране - ако това е така, не правете нищо.
- Задайте флага за отказване за пробна изолация на сайта на Отказ (не се препоръчва).
След това щракнете върху Рестартиране сега, за да приложите промените.
Стъпка 5: Изолацията на сайтове вече е деактивирана. За да проверите, въведете chrome://process-internals в нов раздел и след това натиснете Enter.
Режимът на изолация на сайта трябва да се чете като Деактивиран, за да обозначи потвърждение. За да активирате изолацията на сайта по-късно, върнете се и променете флаговете до начина, по който са били преди, и рестартирайте Chrome.
Не, не си струва риска
Деактивирането на критична функция за сигурност на Chrome, като изолация на сайта, за да се намали използването на паметта, не е гарантирано. Особено като се има предвид как всеки сайт използва паметта по различен начин. Така че каквито и да е маргинални печалби в производителността на потенциалната цена на вашата лична информация не трябва да се търси. Ако се борите с представянето, винаги можете помислете за използването на алтернативен браузър като Firefox Quantum, който има много по-нисък отпечатък на паметта в сравнение с Chrome, преди да направи нещо необмислено.