Google обяви поддръжка на т.нар. пясъчна кутия V8 (V8 Sandbox )в уеб браузъра Chrome, за да се справи с проблемите, свързани с повреждането на паметта.

Според техническия ръководител на отдела за сигурност на V8 Самуел Грос пясъчникът има за цел да предотврати „разпространението на повреди в паметта на V8 в рамките на хостпроцеса“.

Гигантът в областта на търсенето описва V8 Sandbox като лека, вътрешнопроцесна пясъчна кутия за двигателя JavaScript и WebAssembly, която е предназначена за намаляване на често срещаните уязвимости на V8.

Идеята е да се ограничи въздействието на уязвимостите на V8, като се ограничи кодът, изпълняван от V8, до подмножество на виртуалното адресно пространство на процеса („пясъчник“) и се изолира от останалата част на процеса.

Недостатъците, засягащи V8, представляват значителна част от уязвимостите от типа „нулев ден“, които Google е отстранил между 2021 и 2023 г., като за този период са открити цели 16 пропуски в сигурността.

„Пясъчната кутия предполага, че атакуващият може произволно и едновременно да модифицира всяка памет в адресното пространство на пясъчната кутия, тъй като този примитив може да бъде конструиран от типични уязвимости на V8“, заяви екипът на Chromium.

„Освен това се предполага, че нападателят ще може да чете памет извън пясъчника, например чрез странични хардуерни канали. Тогава пясъчникът има за цел да защити останалата част от процеса от такъв нападател. По този начин всяко увреждане на паметта извън адресното пространство на пясъчната кутия се счита за нарушение на пясъчната кутия.“

Грос подчерта предизвикателствата при справянето с уязвимостите на V8 чрез преминаване към безопасен за паметта език като Rust или към хардуерни подходи за безопасност на паметта, като например маркиране на паметта, предвид „фините логически проблеми“, които могат да бъдат използвани за повреждане на паметта, за разлика от класическите грешки, свързани с безопасността на паметта, като use-after-free, out-of-bound accesses и други.

Chrome V8 Sandbox

„Почти всички уязвимости, открити и експлоатирани в V8 днес, имат една обща черта: евентуалното повреждане на паметта задължително се случва вътре в купчината на V8, тъй като компилаторът и времето за изпълнение (почти) изключително оперират с екземпляри на V8 HeapObject“, казва Грос.

Като се има предвид, че тези проблеми не могат да бъдат защитени със същите техники, използвани за типичните уязвимости, свързани с повреда на паметта, пясъчникът на V8 е проектиран така, че да изолира паметта на купчината на V8, така че ако възникне повреда на паметта, тя да не може да се измъкне от ограниченията за сигурност към други части от паметта на процеса.

Това се постига чрез замяна на всички типове данни, които могат да имат достъп до памет извън пясъчника, с алтернативи, „съвместими с пясъчника“, като по този начин ефективно се предотвратява достъпът на нападателя до друга памет. Пясъчникът може да бъде активиран чрез задаване на стойност true на „v8_enable_sandbox“ в аргументите на gn.

Резултатите от бенчмарковете Speedometer и JetStream показват, че функцията за сигурност добавя наднормени разходи от около 1% при типични натоварвания, което позволява тя да бъде включена по подразбиране, започвайки от версия 123 на Chrome, обхващаща Android, ChromeOS, Linux, macOS и Windows.

„V8 Sandbox изисква 64-битова система, тъй като трябва да резервира голямо количество виртуално адресно пространство, в момента един терабайт“, каза Грос.

„Пясъчникът е мотивиран от факта, че настоящите технологии за безопасност на паметта са до голяма степен неприложими за оптимизиране на JavaScript двигатели. Въпреки че тези технологии не успяват да предотвратят повреда на паметта в самия V8, те всъщност могат да защитят повърхността за атаки на пясъчника на V8. Следователно пясъчната кутия е необходима стъпка към безопасността на паметта.“

Разработката идва в момент, когато Google изтъкна ролята на Kernel Address Sanitizer(KASan) за откриване на грешки в паметта в нативния код и спомага за укрепване на сигурността на фърмуера на Android, като добави, че е използвала базирания на компилатора инструмент за откриването на повече от 40 грешки.

„Използването на компилации с активиран KASan по време на тестване и/или fuzzing може да помогне за улавянето на уязвимости, свързани с повреда на паметта, и проблеми със стабилността, преди те да се появят на потребителските устройства“, заявиха Евгений Родионов и Иван Лозано от екипа на Android.

 

 

Източник: The Hacker News

Подобни публикации

22 май 2025

Руската хакерска група APT28 шпионира междунаро...

Мащабна кибершпионска кампания, провеждана от подкрепяната от руска...
22 май 2025

Русия въвежда задължително приложение за просле...

В началото на май 2025 г. руското правителство обяви ново законодат...
22 май 2025

3 a.m. рансъмуер: нова вълна от таргетирани ат...

През първото тримесечие на 2025 г. специалисти по киберсигурност от...
22 май 2025

Mеждународна операция унищожи инфраструктурата ...

Microsoft, правоприлагащи органи и водещи технологични компании с к...
22 май 2025

ЕС наложи санкции на Stark Industries заради ру...

Европейският съюз официално наложи строги санкции на хостинг достав...
21 май 2025

M&S очаква загуби от над £300 милиона след ...

Британската търговска верига Marks & Spencer (M&S) се изпра...
21 май 2025

19-годишен студент се призна за виновен за атак...

Американският департамент по правосъдието (DOJ) обяви, че 19-годишн...
Бъдете социални
Още по темата
14/05/2025

Android 16 с нови функции з...

С всяка изминала година Android се...
11/05/2025

Google ще плати 1.375 милиа...

Американският щат Тексас постигна рекордно споразумение...
10/05/2025

Google инвестира в нова ядр...

Технологичният гигант Google обяви сътрудничество с...
Последно добавени
22/05/2025

Руската хакерска група APT2...

Мащабна кибершпионска кампания, провеждана от подкрепяната...
22/05/2025

Русия въвежда задължително ...

В началото на май 2025 г....
22/05/2025

3 a.m. рансъмуер: нова въл...

През първото тримесечие на 2025 г....
Ключови думи

Абонамента е почти завършен.

На посоченият от Вас e-mail е изпратено съобщение за потвърждаване на абонамента.

Моля, проверете електронната си поща за да потвърдите.

Благодарим за доверието!