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

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

Опубликовано

Сегодня мы поговорим о методе атаки на микросхемы оперативной памяти, актуальном и для персональных компьютеров, и для серверов, и для смартфонов. Тем более есть хороший повод: недавно было опубликовано свежее исследование, в котором предложен новый метод атаки через «простукивание ячеек памяти», получивший название 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
      Подключенную к компьютеру веб-камеру обычно подозревают в подглядывании, но теперь ей придумали роль в традиционных кибератаках. На конференции Black Hat описали атаку BadCam, которая позволяет перепрошить камеру, а затем выполнять на компьютере, к которому она подключена, вредоносные действия. По сути это вариант давно известной атаки типа BadUSB, однако главное отличие BadCam заключается в том, что атакующим необязательно заранее готовить вредоносное устройство — они могут использовать изначально «чистую» и уже подключенную к компьютеру камеру. Еще одно неприятное новшество — атака может быть произведена полностью дистанционно. Хотя исследование провели этичные хакеры и BadCam еще не используется в реальных атаках, злоумышленникам будет несложно разобраться в ней и воспроизвести нужные действия. Поэтому организациям стоит понять механику BadCam и принять защитные меры.
      Возвращение BadUSB
      Атаку BadUSВ тоже представили на Black Hat, правда в 2014 году. Ее суть в том, что безобидное на вид устройство, например USB-накопитель, перепрограммируют, дополняя его прошивку. При подключении к компьютеру этот вредоносный гаджет «представляется» составным USB-устройством, имеющим несколько компонентов, таких как USB-накопитель, клавиатура или сетевой адаптер. Функции накопителя продолжают исправно работать, пользователь работает с флешкой как обычно. Одновременно скрытая часть прошивки, имитирующая клавиатуру, отправляет на компьютер команды, например клавиатурную комбинацию для запуска PowerShell и последующего ввода команд для загрузки из Сети вредоносных файлов или запуска туннеля к серверу атакующих. Функции BadUSB часто используют в работе современных red team, для этого обычно применяются специализированные «хакерские мультитулы» вроде Hak5 Rubber Ducky или Flipper Zero.
       
      View the full article
    • reliance
      Автор reliance
      День назад компьютер начал выключаться после заставки windows, в биос мог спокойно заходить и проблем никаких не было. Пробовал заходить в помощник устранения проблем виндовс через флешку и спустя минут 5 ПК сам отключался. Как итог я переустановил винду и проблема исчезла, но появилась другая проблема - оперативная память не хотела работать на 6000Mhz (ПК при запуске сразу выключается, а потом сбрасывает частоту у оперативной памяти в сток). В стоке 2400Mhz работает стабильно. В материнской плате 2 слота под оперативную память, пробовал по 1 вставлять в разные слоты и все работает на 6000Mhz. Вместе почему-то отказываются работать на 6000Mhz. Компьютер новый и работал до этого 2-3 месяца без проблем (скачков электроэнергии не было). Скриншоты ниже о системе приложил. Можно ли починить или только новую покупать? 

       
       
    • KL FC Bot
      Автор KL FC Bot
      С разницей буквально в несколько дней команда, поддерживающая Python Package Index (каталог программного обеспечения, написанного на Python) и Mozilla (организация, стоящая за разработкой браузера Firefox), выпустили крайне похожие предупреждения о фишинговых атаках. Неизвестные злоумышленники пытаются заманить Python-разработчиков, использующих PyPi и создателей плагинов для Firefox, имеющих аккаунты addons.mozilla.org, на фальшивые сайты площадок, с целью выманить их учетные данные. В связи с чем мы рекомендуем разработчиков ПО с открытым исходным кодом (не только пользователей PyPi и AMO) быть особенно внимательными при переходе по ссылкам из писем.
      Эти две атаки не обязательно связаны между собой (все-таки методы у фишеров несколько различаются). Однако вместе они демонстрируют повышенный интерес киберпреступников к репозиториям кода и магазинам приложений. Вероятнее всего, их конечная цель — организация атак на цепочку поставок, или перепродажа учетных данных другим преступникам, которые смогут организовать такую атаку. Ведь получив доступ к аккаунту разработчика, злоумышленники могут внедрить вредоносный код в пакеты или плагины.
      Детали фишинговой атаки на разработчиков PyPi
      Фишинговые письма, адресованные пользователям Python Package Index, рассылаются по адресам, указанным в метаданных пакетов, опубликованных на сайте. В заголовке находится фраза [PyPI] Email verification. Письма отправлены с адресов на домене @pypj.org, который всего на одну букву отличается от реального домена каталога — @pypi.org, то есть используют строчную j вместо строчной i.
      В письме говорится, что разработчикам необходимо подтвердить адрес электронной почты, для чего следует перейти по ссылке на сайт, имитирующий дизайн легитимного PyPi. Интересно, что фишинговый сайт не только собирает учетные данные жертв, но и передает их на реальный сайт каталога, так что после завершения «верификации» жертва оказывается на легитимном сайте и зачастую даже не понимает, что у нее только что похитили учетные данные.
      Команда, поддерживающая Python Package Index, рекомендует всем кликнувшим на ссылку из письма немедленно сменить пароль, а также проверить раздел Security History в своем личном кабинете.
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      У информационной безопасности есть много уровней сложности. На слуху эффективные, но технически простые атаки с использованием фишинговых рассылок и социального инжиниринга. Мы часто пишем о сложных таргетированных атаках с использованием уязвимостей в корпоративном программном обеспечении и сервисах. Атаки, использующие фундаментальные особенности работы аппаратного обеспечения, можно считать одними из самых сложных. Цена такой атаки высока, но в некоторых случаях это не останавливает злоумышленников.
      Исследователи из двух американских университетов недавно опубликовали научную работу, в которой показан интересный пример атаки на «железо». Используя стандартную функцию операционной системы, позволяющую переключаться между разными задачами, авторы исследования смогли разработать атаку SleepWalk, позволяющую взломать новейший алгоритм шифрования данных.
      Необходимые вводные: атаки по сторонним каналам
      SleepWalk относится к классу атак по сторонним каналам. Под «сторонним каналом» обычно понимается любой способ похитить секретную информацию, используя непрямое наблюдение. Например, представим, что вы не можете наблюдать за человеком, который набирает на клавиатуре пароль, но можете подслушивать. Это реалистичная атака, в которой сторонним каналом выступает звук нажатия на клавиши, — он выдает, какие именно буквы и символы были набраны. Классическим сторонним каналом является наблюдение за изменением энергопотребления вычислительной системы.
      Почему энергопотребление меняется? Здесь все просто: разные вычислительные задачи требуют разных ресурсов. При сложных вычислениях нагрузка на процессор и оперативную память будет максимальной, а при наборе текста в текстовом редакторе компьютер большую часть времени будет находиться в режиме простоя. В некоторых случаях изменение энергопотребления выдает секретную информацию, чаще всего — приватные ключи, используемые для шифрования данных. Точно так же как сейф с кодовым замком может выдавать правильное положение ротора еле слышным щелчком.
      Почему такие атаки сложны? Прежде всего, любой компьютер одновременно выполняет множество задач. Все они как-то влияют на потребление электроэнергии. Выделить из этого шума какую-то полезную информацию крайне непросто. Даже при исследовании простейших вычислительных устройств, таких как ридеры смарт-карт, исследователи делают сотни тысяч измерений за короткий период времени, повторяют эти измерения десятки и сотни раз, применяют сложные методы обработки сигнала, чтобы в итоге подтвердить или опровергнуть возможность атаки по стороннему каналу. Так вот, SleepWalk в некотором смысле упрощает такую работу: исследователи смогли извлечь полезную информацию, измеряя характер энергопотребления только один раз, во время так называемого переключения контекста.
      График изменения напряжения во время переключения контекста центрального процессора. Источник
       
      View the full article
    • KL FC Bot
      Автор KL FC Bot
      По данным исследовательской компании Juniper Research, оборот электронной торговли в 2024 году превысил 7 триллионов долларов и, по прогнозам, вырастет в полтора раза за следующие пять лет. Но интерес злоумышленников к этой сфере растет еще быстрее. В прошлом году потери от мошенничества превысили $44 млрд, а за пять лет вырастут до $107 млрд.
      Онлайн-площадка любого размера, работающая в любой сфере, может стать жертвой — будь это маркетплейс контента, магазин стройматериалов, бюро путешествий или сайт аквапарка. Если вы принимаете платежи, ведете программу лояльности, поддерживаете личный кабинет клиента — к вам обязательно придут мошенники. Какие схемы атаки наиболее популярны, что за потери несет бизнес и как все это прекратить?
      Кража аккаунтов
      Благодаря инфостилерам и различным утечкам баз данных у злоумышленников на руках есть миллиарды пар e-mail+пароль. Их можно по очереди пробовать на любых сайтах с личным кабинетом, небезосновательно надеясь, что жертва атаки везде использует один и тот же пароль. Эта атака называется credential stuffing, и, если она будет успешна, злоумышленники смогут от имени клиента оплачивать заказы привязанной к аккаунту кредитной картой или использовать баллы лояльности. Также мошенники могут использовать аккаунт для махинаций с покупкой товаров и оплатой сторонними банковскими картами.
       
      View the full article
×
×
  • Создать...