Специалисты компании Aleph Security утверждают, что защитные механизмы некоторых современных браузеров, призванные обезопасить пользователей от проблемы Spectre, можно обойти.
Proof-of-concept эксплоиты специалистов сумели обмануть защиту Edge, Chrome и Safari, а затем, эксплуатируя оригинальную уязвимость Spectre (CVE-2017-5753, она же вариант 1), извлечь через браузеры пользовательские данные. Так как инженеры Mozilla реализовали свою версию защиты иначе, тот же трюк не удалось повторить с браузером Firefox. Исходные коды эксплоитов уже опубликованы на GitHub.
Нужно отметить, что при всем многообразии вариаций Meltdown и Spectre, речь об эксплуатации через браузеры шла лишь относительно самых первых версий уязвимостей. Защиту от таких атак реализовали еще в январе текущего года, вскоре после того, как о «процессорных» багах стало известно всему миру. Так, различные варианты защиты были представлены для Firefox, Chrome, Chromium, V8, Webkit (Safari), а также Edge и IE.
«Заплатки» и принцип их работы разнятся от продукта к продукту. Так, разработчики применяли отключение SharedArrayBuffer, изоляцию сайтов (в браузерах на базе Chromium), снизили точность таймеров performance.now(), добавили больший разброс значений для performance.now().
Исследователи Aleph Security пишут, что им удалось обойти практически все эти средства защиты и извлечь данные из памяти уязвимой машины на скорости примерно 1 бит в секунду. Напомню, что эксплуатация Spectre вариант 1, как правило, позволяет извлечь информацию, которой делятся между собой различные страницы и процессы браузеры. Это могут быть куки HttpOnly, куки из других источников, сохраненные пароли и так далее.
Хотя в итоге скорость атаки оказалась совсем невелика, эксперты объясняют, что они создавали свои эксплоиты не для реальных атак, а чтобы помочь разработчикам браузеров подготовить более надежные патчи. Так, исследователи подчеркивают, что полученные ими результаты демонстрируют неэффективность timing-защиты, которая лишь снижает скорость атак на Spectre, но не предотвращает их. Более надежными способами защиты, оказались техника index masking, предполагающая создание маски для массива данных, а также полная изоляция сайтов.