fbpx
17 C
София

По-подробно за изолацията на сайтовете или защо заради защитата от Spectre браузърът Chrome използва повече памет

Най-четени

Даниел Десподов
Даниел Десподовhttps://www.kaldata.com/
Ежедневен автор на новини. Увличам се от съвременни технологии, оръжие, информационна безопасност, спорт, наука и концепцията Internet of Things.

Изминаха почти две години откакто през месец януари 2018 година експертите на Google Project Zero и някои други специалисти разкриха първите три хардуерни уязвимости в процесорите на Intel. Те бяха класифицирани като уязвимости от съвсем нов клас, които засягат процесорите със спекулативно изпълнение на командите. Разкритите хардуерни уязвимости получиха имената Spectre (1 и 2) и Meltdown. Чрез използване на механизмите за спекулативно изпълнение на процесорните инструкции хакерът може периодично да заобикаля както явните, така и неявните проверки на безопасността, които не би трябвало да позволяват на програмите да четат чувствителната информация от забранените участъци на паметта.

Но най-печалното е, че атаките Spectre е възможно да бъдат осъществени с възможностите на стандартния JavaScript. А това дава възможност на сайтове с JavaScript код да проникват в секторите с чувствителна информация и да се намесват в процесите на заредените в браузъра други уеб страници – например в страницата за банкиране.

За да се справи този проблем миналата година Google внедри в десктоп версията на Chrome изолация на сайтовете, всеки от които започна да работи в собствен отделен процес. Именно тогава екипът V8, който решаваше този проблем разясни, че атаката Spectre в основни линии се състои от две части:

  1. Изтичане на данни от забранените от процесора по хардуерен път зони на паметта. Всички известни видове атаки тип Spectre използват спекулативното изпълнение на процесорните инструкции, за да прочетат съдържанието на кеша на процесора, където остават чувствителните данни
  2. Измерване на време с много голяма точност, чрез което се определя кои точно данни в процесорния кеш са от забранените зони

На теория, достатъчно е да се елиминират тези два компонента на атаките. Но това е хардуерна уязвимост и няма как по софтуерен път да бъде изцяло блокиран дори и един от тези елементи. Ето защо бяха създадени софтуерни решения за смекчаване въздействието на тези два основни елемента и по този начин значително да се съкрати количеството информация, изтичаща в кеша на CPU.

Използвани методи:
  • Защита за таймера обикновено чрез намаляване на неговата точност
  • Четене на данни без ограничаване до размера на процесорния кеш
  • Изолация на сайтовете

Изолацията на сайтовете

По принцип, ненадеждният код може да чете цялото адресно пространство на процеса с помощта на Spectre. Единствената ефективна мярка срещу това е конфиденциалните данни да бъдат поставени извън предела на адресното пространство на процеса. Именно това върши механизмът за изолация на сайтовете в браузъра.

Този метод изолира уеб сайтовете в отделни процеси, за да се попречи на един сайт да се намесва и следи работата на друг сайт. Очевидно е, че по този начин могат да бъдат откраднати данните за онлайн банкирането, когато в браузъра едновременно са заредени страницата на банката, както и хакерската страница. Освен това, изолацията на сайтовете в десктоп компютрите защитава и от други сериозни уязвимости за информационната безопасност, например при възникване на повреда в паметта или допуснати логически грешки в универсалните UXSS (Universal Cross-Site Scripting) скриптове.

Изолацията на сайтовете в ОС Android

Миналата седмица Google направи следващата логична стъпка и активира същият този механизъм за осигуряване на безопасността и в Android версията на браузъра – в случая Chrome 77, който излезе през месец септември тази година. Едновременно с това бе усъвършенствана защитата срещу компрометираните процеси на рендиране и UXSS грешките.

Изолацията в Android работи по аналогичния начин като в десктоп версията, но по-избирателно. За да се намали натоварването на процесора и паметта, защитата се активира само за сайтовете, които искат въвеждането на парола – банки, интернет магазини и т.н. Идеята е да бъдат защитени именно конфиденциалните данни на потребителите. Ясно е, че в сайтовете с пароли има много повече чувствителна информация.

Въпреки ограничената версия на защитата от Spectre, това води до от 3% до 5% повече изразходвана памет.

Изолацията на сайтовете по подразбиране е включена за всички Android смартфони с оперативна памет минимум 2 GB. Самата защита е задействана за 99% от потребителите, като при един процент от тях тя нарочно не е включена и тази част се използва като контролна група за мониторинг.

Веднага след като Chrome забележи въвеждането на парола или записана сесия след логване, този сайт се включва във списъка с уеб ресурси, за които функцията за изолация трябва да бъде активирана. Ако в даден раздел се премине към друг сайт, разделът веднага сменя процеса, а информацията от предишния раздел се премества в отделен голям процес, в който са записани временните състояния на посетените сайтове.

Chrome записва локално списъка със сайтовете за които е необходима изолация и го изтрива всеки път, когато потребителят изтрива историята на браузъра или натрупаните данни за конкретен сайт.

Точно както и при десктоп версията, Chrome за Android генерира повече процеси, което до известна степен намалява производителността. От една страна, всеки процес е по-малък, по бързо приключва и има по-малко конфликти. Но в реалността се използва повече памет и се изразходва повече процесорен ресурс. Именно върху решаването на тези проблеми усилено работят програмистите на Google сега и постепенно оптимизират поведението на процесите.

Пълната изолация за всички сайтове може да бъде включена от настройките с помощта на флага:

chrome://flags/#enable-site-per-process

По този начин Chrome за Android ще се приближи до десктоп версията на браузъра по увеличеното използване на памет: от 10% до 13%.


Коментирайте статията в нашите Форуми. За да научите първи най-важното, харесайте страницата ни във Facebook, и ни последвайте в Telegram и Viber или изтеглете приложението на Kaldata.com за Android, iOS и Huawei!

Абонирай се
Извести ме за
guest

8 Коментара
стари
нови
Отзиви
Всички коментари

Нови ревюта

Подобни новини