Защититься от Spectre на уровне одного лишь ПО невозможно

19

Защититься от Spectre на уровне одного лишь ПО невозможно

Разработчикам приложений, способных интерпретировать внешние коды, следует соблюдать осторожность.


Защитить от эксплуатации уязвимостей класса Spectre, затрагивающих большинство современных процессоров, с помощью одного лишь программного обеспечения невозможно. К такому выводу пришли специалисты компании Google по результатам анализа Spectre.

Исследователи безопасности Росс Макилрой (Ross Mcilroy), Ярослав Шевчик (Jaroslav Sevcik), Тобиас Тебби (Tobias Tebbi), Бен Титцер (Ben L. Titzer) и Тоон Верваест (Toon Verwaest) сообщили, что могут создать так называемый «универсальный гаджет» для эксплуатации уязвимостей Spectre в различных семействах процессоров. С его помощью запущенный в потоке вредоносный код может читать все содержимое памяти в одном с ним адресном пространстве. То есть, встроенный во вредоносную web-страницу JavaScript-код, выполняемый в потоке браузера, может следить за JavaScript-кодом другой web-страницы, запущенной в другом потоке, и похищать чувствительную информацию.

В браузерах уже предусмотрена защита от подобных атак. Например, в Chrome реализована функция изоляции сайтов, разделяющая web-страницы по разным процессам. Firefox, Internet Explorer и Edge блокируют использование объекта JavaScript под названием SharedArrayBuffer, который может использоваться для похищения данных через уязвимости Spectre. Тем не менее, угроза по-прежнему остается актуальной для приложений, способных обработать вредоносный код злоумышленника, считают исследователи.

Способы защиты от эксплуатации Spectre, реализованные на уровне языков программирования, не могут в полной мере обеспечить безопасность. Разделение процессов необходимо осуществить на аппаратном уровне таким образом, чтобы у каждого процесса было собственное виртуальное адресное пространство и таблицы страниц, уверены эксперты.

Ситуаций, когда вредоносный код злоумышленника может интерпретироваться в одном адресном пространстве с кодом пользователя, не так много – главным образом это касается браузеров. Поскольку в браузерах защита от атак с эксплуатацией Spectre уже реализована, работа исследователей Google является чисто теоретической и не является поводом для паники. Тем не менее, разработчикам приложений, способных обрабатывать внешние коды, есть над чем задуматься.

«Мы уверены, что спекулятивные уязвимости в современном аппаратном обеспечении отменяют меры по обеспечению конфиденциальности, реализованные на уровне языков программирования. Каких-либо известных мер по полноценному исправлению уязвимостей на уровне программного обеспечения не существует», – отметили авторы исследования.