Google добавя Sandbox V8 към Chrome, за да подобри устойчивостта на браузъра към проблеми с паметта. Повечето от тези проблеми бяха свързани с двигателя на JavaScript.
„Почти всички уязвимости, открити и експлоатирани във V8 днес, имат едно общо нещо: повреда на паметта задължително се случва в купчината на V8, тъй като компилаторът и времето за изпълнение почти винаги работят изключително върху екземпляри на V8 HeapObject“, отбеляза Google. Обаче конвенционалните мерки за защита, включително хардуерни защитни механизми или преминаване към по-безопасен за паметта език, не помагат.
Sandboxing за V8 изолира паметта на стека, за да предотврати повреда на други части от паметта на процеса. Поради липсата на хардуер за тези цели Google избра софтуерен подход.
„Основната идея на софтуерната пясъчна среда е да замени всички типове данни, които имат достъп до паметта извън нея, със съвместими алтернативи. По-специално, всички указатели (както към обекти във V8 купчината, така и другаде) и 64-битови размери трябва да бъдат премахнати, тъй като хакер може да ги повреди, за да получи впоследствие достъп до друга памет“, обясняват разработчиците.
По време на атаки нападателите няма да могат да избягат от пясъчника и да достигнат до други части на паметта на процеса.
Google внедри тестова среда в Chrome 123 за тестване. Беше добавено и към наградата за грешки в програмата за награди за уязвимости на Chrome.
Както беше отбелязано, V8 sandboxing представлява само 1% от потреблението на ресурси при типични работни натоварвания, което означава, че може да е активирано по подразбиране на съвместими платформи. През последните две седмици V8 sandbox беше активен по подразбиране на 64-битови версии на Chrome за Android, ChromeOS, Linux, macOS и Windows, за да тества стабилността и да събира статистически данни за ефективността.
bbabo.Net