Защита на Microsoft Edge: Изключване на JIT компилатори или пясъчник?

Google и Microsoft, които и сега допринасят за проекта Chromium, очевидно споделят притеснения относно компилатора Just-In-Time (JIT) в JavaScript двигателя на V8 на Chrome.

Екипът на Microsoft Edge Vulnerability Research (VR) миналата седмица обяви началото на тестването на Microsoft Super Duper Secure Mode (SDSM) за Edge, което работи чрез премахване на компилацията Just-In-Time (JIT) от конвейера за обработка на V8.

Вижте също

Най -добрите браузъри за поверителност

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

Прочетете още

JavaScript двигателят V8 на Google за Chrome беше ключова повратна точка за уеб приложенията в историята на браузърите, създателят на Microsoft от TypeScript (надмножество JavaScript), призна в интервю за ZDNet миналата година.

Пер MS Poweruser и Потребители на Reddit, нестабилна Edge Canary сега включва флаг, който позволява SDSM в Edge. Тоест JIT компилацията във V8 в Edge е деактивирана, като отидете на edge: // flags/#edge-enable-super-duper-secure-mode.

Microsoft не е сам в предприемането на нови подходи към JIT компилаторите на двигателя V8. Google Проект Нула също така проучва как да се справим с уязвимостите около JIT компилацията във V8, но с различно решение – а именно, създаване на персонализиран пясъчник за V8.

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

Тъй като Microsoft Edge е базиран на Chromium и Google Chrome е най -широко използваният браузър в Windows, съществува взаимна област на безпокойство и за двете фирми.

Когато компилацията JIT на V8 е изключена, Microsoft може да активира Edge памет и хардуерно базирани защити-като хардуерно базирана технология Control-flow Enforcement Technology (CET) от Intel и Arbitrary Code Guard на Windows (ACG) и Control Flow Guard ( CFG) – които преди това бяха несъвместими с JIT.

Google не е наясно с това, но някои в Google смятат, че ползите от тези хардуерни защити може да не са толкова ефективни, колкото се смята. Интересното е, че през май екипът на Google за Chrome избра да разреши смекчаването на CET на Intel за Chrome в Windows 10, за да смекчи атаките с ориентирано към връщане програмиране (ROP).

По -рано този месец изследователят на Google Project Zero Самюъл Грос очерта подход на пясъчник за справяне със СИТ в контекста на V8. Той предупреди, че предложението му има много препятствия. Тези препятствия могат да дойдат от други екипи в Google, като екипа на Chrome, от Microsoft или от други заинтересовани страни.

Грос обясни, че проблемът с V8 произтича от JIT компилатори, които могат да бъдат използвани, за да излъжат машина да излъчва машинен код, който поврежда паметта по време на изпълнение.

“Много V8 уязвимости, експлоатирани от реални атакуващи, всъщност са уязвимости от втори ред: първопричината често е логически проблем в един от JIT компилаторите, който след това може да бъде използван за генериране на уязвим машинен код (например код, който липсва по време на изпълнение След това генерираният код може на свой ред да се използва, за да причини повреда на паметта по време на изпълнение “, каза Грос.

“Това изглежда донякъде естествен проблем на JIT компилаторите за динамични езици, тъй като една от основните им цели е да премахнат (излишни) проверки по време на изпълнение, които иначе биха били извършени от преводача.”

Той е по -малко уверен в технологиите, които изследователите на Microsoft подчертават, биха били активирани чрез изключване на JIT компилаторите – и следователно по -добрият подход може да бъде създаването на персонализиран пясъчник за V8.

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

Вижте също

Microsoft тества Super-Duper Secure Mode за Edge

Edge Super Duper Secure Mode изключва JavaScript JIT компилатора за допълнителна сигурност

Google Project Zero тества 30-дневен гратисен период върху подробности за грешки, за да засили поправянето на потребителите

Публикациите се превеждат автоматично с google translate

Източник: www.zdnet.com