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

Атака на оперативную память 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
      Мы ежедневно трудимся, чтобы наши продукты и решения оставались одними из лучших — как по нашему собственному мнению, так и по версии независимых исследователей. Делаем это всесторонне: добавляем новые фичи, боремся с новыми вредоносными программами, облегчаем миграцию и всячески улучшаем пользовательский опыт.
      Сегодня расскажем о большом обновлении Kaspersky Password Manager для мобильных устройств, которое, уверены, сделает хранение и управление паролями, кодами двухфакторной аутентификации и шифрованными документами еще удобнее. Во всех магазинах приложений это обновление появится в течение ноября 2024 года. О продвинутой фильтрации, работе поиска, синхронизации и многом другом — в этом материале.
      Коротко о главном
      Мобильной версии нашего менеджера паролей в этом году исполняется 10 лет (а версии для компьютеров — и все 15), и за это время нам удалось собрать лучшие практики в одном приложении. Несколько последних лет мы проводили исследования, в которых изучали шаблоны поведения пользователей Kaspersky Password Manager, и на их основе глобально поменяли навигацию в мобильных версиях менеджера паролей.
      Что нового:
      Заменили боковое меню с основными функциями продукта на навигационную панель, теперь все функции распределены по разделам. Создали отдельный раздел для поиска внутри приложения и улучшили сценарии его работы. Сделали работу с избранными записями еще удобнее, теперь они закрепляются в самом верху списка записей. Создали и вывели кнопку раздела «Синхронизация» на видное место. Сгруппировали генератор, импорт и проверку паролей в отдельный раздел «Инструменты». Изменения доступны всем пользователям Kaspersky Password Manager для Android (версии приложения 9.2.106 и выше) и iOS (версии приложения 9.2.92 и выше).
       
      View the full article
    • KL FC Bot
      От KL FC Bot
      Серьезные ИБ-инциденты порой затрагивают многих участников, зачастую и тех, кто повседневно не занимается вопросами ИТ и ИБ. Понятно, что в первую очередь усилия сосредоточиваются на выявлении, сдерживании и восстановлении, но, когда пыль немного осядет, наступает время для еще одного важного этапа реагирования — извлечения уроков. Чему можно научиться по итогам инцидента? Как улучшить шансы на успешное отражение подобных атак в будущем? На эти вопросы очень полезно ответить, даже если инцидент не принес существенного ущерба из-за эффективного реагирования или просто удачного стечения обстоятельств.
      Немного о людях
      Разбор инцидента важен для всей организации, поэтому к нему обязательно привлекать не только команды ИТ и ИБ, но также высшее руководство, бизнес-владельцев ИТ-систем, а также подрядчиков, если они были затронуты инцидентом или привлекались к реагированию. На встречах этой рабочей группы нужно создать продуктивную атмосферу: важно донести, что это не поиск виноватых (хотя ошибки будут обсуждаться), поэтому перекладывание ответственности и манипулирование информацией исказят картину, повредят анализу и ухудшат позицию организации в долгосрочной перспективе.
      Еще один важный момент: многие компании скрывают детали инцидента в страхе за репутацию или опасаясь повторной кибератаки по тому же сценарию. И хотя это вполне объяснимо и некоторые подробности действительно конфиденциальны, нужно стремиться к максимальной прозрачности в реагировании и делиться подробностями атаки и реагирования если не с широкой публикой, то как минимум с узким кругом коллег из сферы ИБ, которые могут предотвратить похожие атаки на свои организации.
       
      View the full article
    • KL FC Bot
      От KL FC Bot
      Наши эксперты из Global Research and Analysis Team (GReAT) обнаружили два вредоносных пакета в The Python Package Index (PyPI), популярном репозитории софта для программирования на Python. Согласно описанию, пакеты представляли собой библиотеки для работы с популярными языковыми моделями. Однако, на самом деле они имитировали заявленную функциональность при помощи демоверсии ChatGPT, а основной их целью была установка зловреда JarkaStealer.
      Пакеты были доступны для скачивания больше года и, судя по статистике репозитория, за это время они были скачаны более 1700 раз пользователями из более чем 30 стран.
      Что за пакеты и для чего они использовались
      Вредоносные пакеты были загружены в репозиторий одним автором и отличались друг от друга только названием и описанием. Первый назывался gptplus и якобы позволял реализовать доступ к API GPT-4 Turbo от OpenAI; второй — claudeai-eng и, согласно описанию, по аналогии обещал доступ к API Claude AI от компании Anthropic PBC.

      В описаниях обоих пакетов были примеры использования, которые объясняли, как создавать чаты и посылать сообщения языковым моделям. Но в действительности операторы этой атаки встроили в код механизм взаимодействия с демо-прокси ChatGPT, чтобы убедить жертву в работоспособности пакета. А содержавшийся, тем временем, в пакетах файл __init__.py декодировал содержавшиеся внутри данные и скачивал из репозитория на GitHub файл JavaUpdater.jar. Если на машине жертвы не обнаруживалась Java, то он также скачивал и устанавливал среду выполнения для Java (JRE) из Dropbox. Сам jar-файл содержал зловред JarkaStealer, который использовался злоумышленниками для компрометации среды разработки и незаметной эксфильтрации похищенных данных.
       
      View the full article
    • KL FC Bot
      От KL FC Bot
      Игра Battle City, более известная как танчики, — символ давно ушедшей эпохи. Около 30 лет назад геймеры вставляли картридж в приставку, садились за пузатые телевизоры и пачками уничтожали вражеские танки до тех пор, пока кто-нибудь им не скажет про «кинескоп, который вот-вот должен сесть».
      Сегодня мир совсем другой, а танчики по-прежнему популярны. Дело в том, что современные аналоги предлагают геймерам не только поиграть, но и заработать NFT-токены. Злоумышленники тоже кое-что предлагают: сложную атаку для любителей криптовалютных игр.
      Бэкдор и эксплойт уязвимости нулевого дня в Google Chrome
      Эта история началась в феврале 2024 года, когда наше защитное решение обнаружило проникновение бэкдора Manuscrypt на компьютер пользователя из России. Такой бэкдор нам давно известен, его различные версии используют члены группировки APT Lazarus как минимум с 2013 года. Но что особенного в этой истории, если мы прекрасно знаем основной инструмент и методы работы злоумышленников?
      Дело в том, что эти хакеры обычно нацелены на крупные организации: банки, IT-компании, университеты и даже правительственные организации. Теперь руки Lazarus дотянулись до физических лиц — бэкдор на компьютере частного пользователя! Киберпреступники заманили жертву на сайт игры и получили полный доступ к ее компьютеру. Злоумышленникам удалось это сделать благодаря трем составляющим:
      невероятному желанию жертвы сыграть в любимые танчики в новой оболочке; уязвимости нулевого дня в Google Chrome; наличию эксплойта, позволявшего удаленно выполнить код в процессе Google Chrome. Для тех, кто переживает: компания Google выпустила обновление браузера, заблокировала сайт танчиков и поблагодарила исследователей безопасности «Лаборатории Касперского». Но на всякий случай: наши продукты детектируют и бэкдор Manuscrypt, и эксплойт. Подробности этой истории мы раскрыли в блоге Securelist.
       
      View the full article
    • KL FC Bot
      От KL FC Bot
      Kaspersky Who Calls — приложение для защиты от телефонных мошенников и спама, имеющее бесплатную и платную версии. Рассказываем, как выбрать нужную версию, установить и настроить Kaspersky Who Calls для максимального уровня защиты.
      Для чего нужен и как работает Who Calls
      Телефонные мошенники с каждым годом становятся все изобретательнее, придумывая новые и новые схемы обмана. Наиболее опасны они для доверчивых подростков и людей старшего возраста, но жертвами их убедительности порой становятся даже профессионалы вроде главного эксперта Центробанка.
      Не меньшее зло — и постоянный телефонный спам: предложения взять кредит, списать долги, бесплатно пройти медицинское обследование, вылечить зубы или записать ребенка на кастинг. И даже если спам-звонки не переходят в мошеннические разводки, они раздражают и отнимают ваше время.
      Для защиты от мошеннических и спамерских звонков уже больше шести лет мы предлагаем использовать Kaspersky Who Calls. Это определитель номера и блокировщик мошеннических и спам-звонков с гибкими возможностями настройки, которые подойдут как людям, желающим все держать под контролем, так и пенсионерам или подросткам, для которых важно автоматически блокировать все нежелательные звонки.
      У Who Calls две версии: бесплатная и премиум.
      В бесплатной версии доступны информация о звонящем — как во время звонка, так и в списке вызовов — и, по вашему желанию, автоматическая блокировка всех спам-звонков.
       
      View the full article
×
×
  • Создать...