Перейти к содержанию

Атака на оперативную память RowPress | Блог Касперского


Рекомендуемые сообщения

Сегодня мы поговорим о методе атаки на микросхемы оперативной памяти, актуальном и для персональных компьютеров, и для серверов, и для смартфонов. Тем более есть хороший повод: недавно было опубликовано свежее исследование, в котором предложен новый метод атаки через «простукивание ячеек памяти», получивший название RowPress. Сама по себе идея не нова — впервые нечто подобное было представлено почти 10 лет назад под именем RowHammer. Однако RowPress — более эффективный вариант атаки. Но для начала давайте разберемся, что именно понимается под тем самым «простукиванием».

Как работает оперативная память

Микросхемы оперативной памяти всегда были не очень надежными. Каждая ячейка памяти, хранящая один бит информации, представляет собой, ну если совсем упростить, миниатюрную батарейку. Когда мы ее заряжаем — записываем в ячейку единицу. Если заряда нет — это ноль. Только представьте, что это происходит миллионы раз в секунду. В современных микросхемах плотность таких ячеек фантастически высока: на кристалле размером с ноготь их миллиарды. При высокой частоте обновления данных и предельной миниатюрности электронных компонентов рано или поздно будут происходить сбои. Например, наша упрощенная «батарейка» потеряет заряд, и единица превратится в ноль. Иногда сбои могут возникать из-за внешних причин, скажем, если модуль памяти сильно нагреется, или даже из-за космических лучей.

Такие сбои могут привести к критическим ошибкам. Представьте, что ваша программа держит в оперативной памяти адрес, по которому нужно обратиться при выполнении каких-то условий. Если несколько бит этого адреса спонтанно поменяют свое значение с единицы на ноль, переход произойдет неизвестно куда и выполнится не нужный нам код, а неизвестно что. Чтобы сбоев не происходило, применяется множество технологий. Например, принудительное обновление содержимого ячеек памяти: последовательное считывание и запись информации, даже если процессор и программа в ней прямо сейчас не нуждаются. Процесс чтения данных — деструктивный, после обращения информацию надо обязательно перезаписать. Кроме того, применяется механизм коррекции ошибок, когда в память сохраняются и данные, и отдельная информация для проверки корректности этих же данных. Важно понимать, что высокая плотность ячеек памяти в современных компьютерах — фундаментальная особенность, делать их как-то по-другому не получится.

Атака RowHammer

Но вернемся к исследованию RowHammer 2014 года. Исследователи из Университета Карнеги-Меллон и компании Intel показали, как можно воспользоваться вышеописанными особенностями динамически обновляемой оперативной памяти для причинения вреда. Если чтение данных деструктивно и после них следует перезапись, то что будет, если мы напишем программу, которая будет выполнять чтение десятки и сотни тысяч раз в секунду?

Схематичное изображение структуры ячеек оперативной памяти

Схематичное изображение структуры ячеек оперативной памяти. Источник

Ячейки памяти расположены в виде матрицы, и при любой операции с конкретной ячейкой происходит обращение к целому их ряду. Оказалось, что последовательное, многократное обращение к определенному ряду ячеек влияет на соседние ряды. Если проделать эту операцию очень много раз, информация в ячейках соседнего ряда может измениться: единица превратится в ноль или наоборот. В 2014 году возможность такой атаки показали для еще актуальных в то время модулей памяти стандарта DDR3.

Почему это важно и достаточно опасно? Представьте, что вы можете выполнять на атакуемой системе какой-то произвольный код, но без особых привилегий. В крайнем случае это может быть даже код веб-страницы, ссылку на которую можно прислать жертве. Если позволить этой программе «простучать» определенную область оперативной памяти, это может привести к искажению информации в соседних ячейках. А там могут, например, храниться данные операционной системы.

В 2015 году представители компании Google показали, что атаку RowHammer можно применить для получения неограниченного доступа к оперативной памяти компьютера. Это очень сложная атака, в которой много неизвестных: надо еще как-то ухитриться попасть в нужную область памяти и вызвать «правильное» повреждение данных, чтобы компьютер не завис, программа не прекратила работу, а сделала то, что нужно потенциальному злоумышленнику. Но теоретическая возможность такой атаки была подтверждена.

BlackSmith: обход защиты RowHammer

Как вообще защищают данные от атаки RowHammer? Самый простой способ: если поступают запросы на чтение данных из какого-то ряда ячеек, можно принудительно обновить информацию и в соседних рядах тоже. Таким образом вероятность повреждения данных значительно снижается. Как и в случае аппаратных уязвимостей в процессорах, в каждом методе защиты рано или поздно обнаруживается какая-то проблема.

В 2021 году исследователи показали атаку BlackSmith — продемонстрировали, что при некоторых условиях можно вызвать сбои даже при наличии защиты от RowHammer. Как именно этого смогли добиться? Что, если не «стучать» в какой-то определенный ряд ячеек памяти рядом с искомым, а попробовать разные комбинации: сотни тысяч раз опрашивать ряды ячеек выше и ниже целевого либо атаковать сразу четыре ряда в определенной последовательности. Оказалось — это работает, ведь фундаментальная проблема (высокая плотность ячеек памяти) никуда не делась!

RowPress: повышение эффективности атаки

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

Тестовая схема для исследования работы модулей оперативной памяти

Тестовая схема для исследования работы модулей оперативной памяти. Источник

Насколько это серьезная проблема? Вероятность того, что кто-то будет массово атаковать домашние компьютеры с помощью RowHammer, Blacksmith или RowPres, крайне мала. Опасность эти атаки представляют для бизнеса. Например, в теории они могут быть использованы для атаки на память серверов, работающих в публичных облаках. Ведь провайдеры предоставляют доступ к своим серверам, выделяя для пользователей «виртуальную машину», в которой можно выполнять любой код. Для них критически важно, чтобы в этой машине не было возможности «сбежать» из виртуального окружения, получив доступ к данным других клиентов. При этом виртуальная система — это, грубо говоря, программа, которая по определению может считывать и записывать данные в оперативную память сервера. По сути готовая платформа для атаки на память физического сервера.

Насколько теоретической является такая атака, можно понять по фотографии тестовой установки, использованной для исследования RowPress. Модуль памяти перенесен на отдельную плату. К нему подключено некое отладочное устройство, позволяющее тонко управлять работой оперативной памяти. Некоторые системы защиты были отключены. А главное — на сам модуль с микросхемами памяти был установлен нагреватель, поднимающий температуру до 50 или даже до 80 градусов, что само по себе повышает вероятность случайного или намеренного повреждения данных.

Особенности атак на «железо»

Если сравнить атаку RowPress с более ранней RowHammer, то, по сути, исследователи просто слегка модифицировали метод обращения к памяти и смогли обойти (в том числе на реальной системе, без подогрева модулей и прочего «читерства») реализованные производителями модулей способы защиты. Ученые предложили свой вариант решения этой проблемы, который, к счастью, незначительно сказывается на производительности. Однако, как это обычно бывает с «железными» уязвимостями, от них вряд ли получится избавиться полностью. Нельзя делать микросхемы памяти с меньшей плотностью. Наоборот, с каждым годом емкость отдельного модуля памяти только растет.

Не получится применить и «надежный» способ коррекции ошибок — он потребует резервирования до трети объема оперативной памяти. Обычный метод коррекции ECC снижает эффективность атаки, но не исключает ее. Поэтому можно уверенно говорить, что атака RowPress — не последний вариант «простукивания».

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

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

View the full article

Ссылка на комментарий
Поделиться на другие сайты

Пожалуйста, войдите, чтобы комментировать

Вы сможете оставить комментарий после входа в



Войти
  • Похожий контент

    • KL FC Bot
      От KL FC Bot
      Крупные онлайн-сервисы купли-продажи прилагают значительные усилия по борьбе с мошенничеством, но киберпреступники постоянно изобретают все новые схемы обмана как покупателей, так и продавцов. В этом году популярность получила схема с онлайн-видеозвонком: «покупатели» просят показать им товар по видео, а на самом деле выманивают коды доступа в банк. Мошенническая схема в четырех актах.
      Акт первый. Подозрение
      К продавцу дорогостоящего или сложного товара (например, телевизора) обращается покупатель, который готов сразу же перевести оплату и максимально быстро забрать товар. Но есть нюанс — сначала он просит показать товар по видео. Функциональность большинства онлайн-барахолок не предусматривает такую возможность, а если она есть, то по «счастливой» случайности оказывается мошеннику неудобна: «Вы знаете, у меня почему-то тут не работает звонок, давайте лучше в WhatsApp?» Так разговор плавно перетекает в мессенджер. Переход в WhatsApp, Telegram или любое другое средство общения помимо официального инструмента площадки объявлений — это красный флаг. На своей территории мошенникам гораздо проще, например, заманить вас на фишинговый сайт, потому что многие онлайн-барахолки попросту не разрешают делиться в чате никакими ссылками.
       
      View the full article
    • KL FC Bot
      От KL FC Bot
      В какой-то момент ИБ-департамент крупной компании неизбежно задумывается о внедрении или замене SIEM-системы и сталкивается с задачей оценки бюджета, необходимого для ее внедрения. Но SIEM — это не легковесный продукт, который можно развернуть в имеющейся инфраструктуре. Практически все решения этого класса требуют дополнительного оборудования, так что для их работы придется приобретать аппаратное обеспечение (или арендовать его).
      Поэтому для расчетов бюджета необходимо представлять себе предполагаемую конфигурацию оборудования. В этом посте мы попробуем рассказать о том, как архитектура SIEM влияет на требования к аппаратной составляющей, а также предоставим примерные параметры, на которые стоит ориентироваться, чтобы определить предварительную стоимость необходимого оборудования.
      Оценка потока информации
      По своей сути SIEM-система собирает данные о событиях с источников и на основании корреляции этих данных выявляет угрозы для безопасности. Поэтому, прежде чем прикидывать, какое железо необходимо для работы системы, стоит оценить, а какой, собственно, объем информации эта система будет обрабатывать и хранить. Для того чтобы понять, какие источники потребуются, следует выделить наиболее критичные риски и определить источники данных, анализ которых поможет в выявлении и анализе угроз, связанных с этими рисками. Такая оценка нужна не только для расчета необходимого аппаратного обеспечения, но и для оценки стоимости лицензии. Например, стоимость лицензии на нашу систему KUMA (Kaspersky Unified Monitoring and Analysis Platform) напрямую зависит от количества событий в секунду (Events Per Second, EPS). И еще один важный аспект — при выборе SIEM-системы важно проверить, как именно вендор считает количество событий для лицензирования. Мы, например, учитываем количество EPS после фильтрации и агрегации, причем мы считаем среднее количество событий за последние 24 часа, а не их пиковые значения, но так поступают далеко не все.
       
      View the full article
    • KL FC Bot
      От KL FC Bot
      Уходящий 2024 год принес несколько рекордно крупных и серьезных инцидентов с утечками данных — от билетов на концерты Тейлор Свифт до всей информации о лечении 100 млн американцев. Весь год бурно развивались технологии ИИ и эволюционировала киберпреступность. Как учесть все это, чтобы обеспечить свою личную информационную безопасность? Дайте себе эти семь обещаний — и выполняйте их весь 2025 год.
      1. Освоить безопасное применение ИИ-ассистентов
      За год применение ИИ постепенно превратилось из модного развлечения в повседневное действие, особенно после того, как ИИ-помощника внедрили в обычные функции смартфонов. Учитывая, что ИИ теперь всегда под рукой, включая самые интимные моменты жизни, стоит внимательно изучить правила безопасного применения чат-ботов и прочих помощников, чтобы не навредить себе и окружающим. Если привести их очень кратко, то это примерно такой список.
      Перепроверять советы ИИ. Особенно если запрашиваете рецепты, медицинскую информацию, инвестиционные советы и любые другие данные с высокой ценой ошибки. Чат-боты иногда «галлюцинируют», поэтому никогда не следуйте их советам слепо. Отключать ИИ-функции, если не понимаете четко, зачем они нужны. Мода на ИИ побуждает крупные компании интегрировать ИИ даже там, где это не требуется. Наиболее яркий пример — внедрение неоднозначной функции Recall в Windows 11, где она постоянно делает скриншоты всего экрана для ИИ-анализа. Отключите ИИ, если не пользуетесь им активно. Не отправлять в ИИ личную информацию. Фото документов, паспортные данные, финансовые и медицинские документы почти никогда не нужны для эффективной работы ИИ. Учитывая, что эти данные могут храниться длительное время, использоваться для дообучения ИИ и в результате утекать на сторону, лучше их просто не отправлять. Не перекладывать на ИИ общение с близкими. Такая автоматизация приносит мало пользы и просто вас отдаляет друг от друга.  
      View the full article
    • KL FC Bot
      От KL FC Bot
      Представьте: встаете вы ночью попить водички, идете по неосвещенному коридору, и тут из темноты на вас кто-то начинает громко орать. Ситуация, согласитесь, крайне неприятная. И в нее вполне можно попасть по вине уязвимого робота-пылесоса — взломщики могут заставить самобеглую железку по их команде накричать на хозяина. Но это еще не все: хакеры могут управлять роботом удаленно и включать с него живые трансляции.
      И это совсем не теоретическая опасность: не так давно случаи, когда сетевые хулиганы использовали уязвимые роботы-пылесосы для того, чтобы портить жизнь людям, были зафиксированы, что называется, в дикой природе. Рассказываем обо всем по порядку.
      Как устроен робот-пылесос
      Начнем с того, что современный робот-пылесос — это полноценный компьютер на колесиках, работающий под управлением Linux. У него есть мощный многоядерный процессор ARM, солидный объем оперативной памяти, вместительный флеш-накопитель, Wi-Fi и Bluetooth.
      Любой современный робот-пылесос — это полноценный компьютер на колесиках. Источник
       
      View the full article
    • KL FC Bot
      От KL FC Bot
      Практически ежедневно мы делимся фотографиями, видео и документами, отправляем голосовые сообщения, письма по электронной почте, но практически никогда не задумываемся, что при этом передаем гораздо больше данных, чем предполагаем. Дело в том, что каждый файл содержит метаданные — служебную информацию о самом файле, в которой можно найти множество интересного и вовсе не предназначенного для чужих глаз: например, время и место съемки фото, историю редактирования документа, информацию о вашем устройстве, ваш IP-адрес, геолокацию и многое другое. И все это вместе с безобидным селфи или презентацией попадает в руки адресата, выкладывается в соцсети или публикуется на сайтах.
      Сегодня поговорим о пользе и вреде метаданных и расскажем о способах их удаления.
      Что такое метаданные и зачем они нужны
      Если говорить простым языком, то метаданные — это дополнительная информация о содержимом файла, добавляемая приложениями, создающими или обрабатывающими эти файлы, операционными системами или самими пользователями. В большинстве случаев метаданные создаются и обновляются автоматически: например, для файлов это могут быть такие атрибуты, как дата его создания, дата последнего изменения, тип, владелец и так далее. А когда мы делаем фотографию своим смартфоном или камерой, то в файл, помимо самого изображения, записываются дата и место съемки, параметры экспозиции, модель смартфона и другая информация, предусмотренная форматом EXIF. Набор этих данных может различаться в зависимости от модели и настроек камеры или смартфона.
      Некоторые метаданные находятся «на виду», и их легко отредактировать. Так, в аудиофайлах содержатся специальные теги, рассказывающие о содержимом: об авторе, исполнителе, альбоме, названии композиции, жанре, и их легко изменить практически в любом плеере.
       
      View the full article
×
×
  • Создать...