Разработана атака на уязвимость в DRAM-памяти с использованием JavaScript

Разработана атака на уязвимость в DRAM-памяти с использованием JavaScript

Группа исследователей из Корнелльского университета (США) разработала технику проведения атаки с использованием уязвимости RowHammer в современных чипах памяти DRAM, примечательную необходимостью запуска только высокоуровневого кода на языке JavaScript.

При помощи нового метода атака может быть проведена через размещение JavaScript-кода на любом сайте, без необходимости выполнения на стороне жертвы заданных машинных инструкций.

Так как из JavaScript-кода невозможно явно выполнить машинные инструкции CLFLUSH, для очистки процессорного кэша в представленной реализации используются косвенные методы вытеснения данных из кэша. По сравнению с предложенными ранее типовыми алгоритмами вытеснения из кэша эффективность нового метода значительно выше и может достигать 99.99%. Для обращения к фиксированным ячейкам памяти используется особенность браузеров выделять страницы памяти для больших типизированных массивов JavaScript, пишет opennet.ru.

В текущем прототипе эксплоита пока удалось добиться только повреждения памяти как таковой, без доведения атаки до получения прав root. Эксплоит был продемонстрирован на ноутбуке Lenovo x230 (Ivy Bridge) и был работоспособен только при увеличении в настройках интервала регенерации памяти, что иногда делается любителями компьютерных игр для увеличения производительности. С одной стороны для атаки требуются специфичные условия, но с другой стороны заставляет задуматься сам факт совершения атаки подобного уровня на JavaScript. Кроме того, опасность атаки усиливается возможностью её проведения извне, без получения прямого доступа к системе - размещение вредоносного JavaScript-кода на популярных ресурсах может привести к единовременному охвату очень большого числа пользователей.

Напомним, что атака RowHammer вызвана эффектом искажения содержимого отдельных битов памяти DRAM, повреждение которых может быть инициировано через цикличное чтение данных из соседних ячеек памяти (простой цикл с чтением содержимого памяти и очисткой кэша). Проблема обусловлена особенностью работы памяти DRAM, которая формируется как двухмерный массив ячеек, каждая из которых состоит из конденсатора и транзистора. Состояние сохранённого в ячейке значения определяется тем, заряжен или нет конденсатор. Для поддержания заряда применяется цикл регенерации. При выполнении непрерывного чтения одной и той же области памяти из-за постоянного открытия и закрытия линии WL (Word Line), которая управляет транзисторами доступа, возникают флуктуации напряжения, которые могут привести к аномалии, вызывающей небольшую потерю заряда соседних ячеек. Если интенсивность чтения достаточно большая, то ячейка может потерять достаточно большой объём заряда и очередной цикл регенерации не успеет восстановить его первоначальное состояние, что приведёт к изменению значения сохранённых в ячейке данных. 

Android разрешит скрывать Wi-Fi от других пользователей устройства

В Android готовят небольшое, но полезное нововведение для тех, кто пользуется несколькими профилями на одном устройстве. В ближайших версиях системы появится возможность запретить другим пользователям доступ к конкретным сетям Wi-Fi. Сейчас Android позволяет создавать отдельные профили — с собственными приложениями, файлами и настройками.

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

Но есть нюанс: данные Wi-Fi между профилями всегда общие. Если один пользователь подключился к сети, остальные получают к ней доступ автоматически — без выбора и дополнительных настроек.

В тестовой сборке Android Canary 2511, о которой пишет Android Authority, Google начала это менять. При подключении к Wi-Fi теперь появляются два новых переключателя:

  • Share network — разрешает или запрещает другим пользователям устройства доступ к сети;
  • Allow users to edit network — позволяет другим профилям менять настройки сети.

Оба параметра включены по умолчанию, но их можно отключить в разделе расширенных настроек при подключении к Wi-Fi — через быстрые настройки или меню «Сеть и интернет».

 

Общие сети в списке теперь помечаются иконкой с несколькими пользователями. Если сеть сохранена, но не расшарена, рядом появляется кнопка «поделиться». Остальные сети отображаются как обычно — с замком или без значка, в зависимости от защиты паролем.

По первым тестам функция «поделиться сетью» работает корректно: если отключить этот переключатель, другие пользователи не смогут подключиться без ввода пароля. А вот опция редактирования сети пока, похоже, не доведена до ума — даже при включённом разрешении Android всё ещё сообщает, что у пользователя нет прав на изменение настроек.

Изменение кажется мелочью, но на практике может быть очень полезным. Особенно в сценариях с общими устройствами — например, в офисах, магазинах, больницах или учебных заведениях. Там это поможет избежать случайного распространения паролей от защищённых сетей или нежелательных изменений настроек.

Функция уже несколько недель доступна в Canary-канале, так что ожидается, что позже она появится в одной из бета-версий Android — возможно, в Android 16 QPR3.

RSS: Новости на портале Anti-Malware.ru