HOME    FORUMS    MEMBERS    RECENT POSTS    LOG IN  
Баннер 1   Баннер 2

ANTICHAT — форум по информационной безопасности, OSINT и технологиям

ANTICHAT — русскоязычное сообщество по безопасности, OSINT и программированию. Форум ранее работал на доменах antichat.ru, antichat.com и antichat.club, и теперь снова доступен на новом адресе — forum.antichat.xyz.
Форум восстановлен и продолжает развитие: доступны архивные темы, добавляются новые обсуждения и материалы.
⚠️ Старые аккаунты восстановить невозможно — необходимо зарегистрироваться заново.
Вернуться   Форум АНТИЧАТ > ИНФО > Мировые новости. Обсуждения.
   
 
 
Опции темы Поиск в этой теме Опции просмотра

  #1  
Старый 11.03.2020, 21:51
Suicide
Познавший АНТИЧАТ
Регистрация: 24.04.2009
Сообщений: 1,730
Провел на форуме:
30140275

Репутация: 3256


По умолчанию

Обнародованы сведения о новом классе атак LVI (Load Value Injection, CVE-2020-0551) на механизм спекулятивного выполнения в CPU Intel, которые могут использоваться для организации утечки ключей и секретных данных из анклавов Intel SGX и других процессов.

Новый класс атак основан на манипуляциях с теми же микроархитектурными структурами, что и в атаках MDS (Microarchitectural Data Sampling), Spectre и Meltdown. При этом новые атаки не блокируются существующими методами защиты от Meltdown, Spectre, MDS и других подобных атак. Для обеспечения эффективной защиты от LVI требуется внесение аппаратных изменений в CPU. При организации защиты программным путём, через добавление компилятором инструкции LFENCE после каждой операции загрузки из памяти и замену инструкции RET на POP, LFENCE и JMP, фиксируются слишком большие накладные расходы - по оценке исследователей полная программная защита приведёт к снижению производительности в 2-19 раз.

Частично, трудность блокирования проблемы компенсируется тем, что в настоящее время атака носит больше теоретический, чем практический характер (атака теоретически возможна, но очень трудна в реализации и воспроизводима лишь в синтетических тестах). Компания Intel присвоила проблеме умеренный уровень опасности (5.6 из 10) и выпустила обновление прошивки и SDK для окружения SGX, в которых попыталась блокировать проведение атаки обходным путём. Предложенные методы атаки пока применимы только к процессорам Intel, но не исключается возможность адаптации LVI и для других процессоров, к которым применимы атаки класса Meltdown.

Проблема была выявлена в апреле прошлого года исследователем Джо Ван Балком (Jo Van Bulck) из Лёвенского университета, после чего при участии 9 исследователей из других университетов, были разработаны пять базовых методов совершения атак, каждый из которых допускает существование более специфичных вариантов. Независимо в феврале этого года исследователи из компании Bitdefender также обнаружили один из вариантов атаки LVI и сообщили о нём в Intel. Варианты атак отличаются использованием различных микроархитектурных структур, таких как буфер хранения (SB, Store Buffer), буфер заполнения (LFB, Line Fill Buffer), буфер переключение контекста FPU и кэш первого уровня (L1D), ранее применяемых в таких атаках как ZombieLoad, RIDL, Fallout, LazyFP, Foreshadow и Meltdown.



Основным отличием LVI от атак MDS является то, что MDS манипулирует определением содержимого микроархитектурных структур, остающихся в кэше после спекулятивной обработки исключений (fault) или операций load и store, в то время как атаки LVI позволяют добиться подстановки данных атакующего в микроархитектурные структуры для влияния на последующее спекулятивное выполнения кода жертвы. При помощи указанных манипуляций атакующий может извлечь содержимое закрытых структур данных в других процессах при исполнении определённого кода на целевом ядре CPU.



Для эксплуатации проблемы в коде процесса-жертвы должны встречаться специальные последовательности кода (гаджеты), в которых загружается контролируемое атакующим значение, а загрузка этого значения приводит к возникновению исключений (fault, abort или assist), отбрасывающих результат и повторно выполняющих инструкцию. При обработке исключения возникает спекулятивное окно, во время которого происходит утечка обрабатываемых в гаджете данных. В частности, процессор начинает выполнять в спекулятивном режиме кусок кода (гаджет), потом определяет, что предсказание не оправдалось и откатывает операции в исходное состояние, но обработанные в процессе спекулятивного выполнения данные оседают в кэше L1D и микроархитектурных буферах и доступны для извлечения из них с использованием известных методов определения остаточных данных по сторонним каналам.

Исключение "assist", в отличие от "fault", обрабатывается внутри процессора без вызова программных обработчиков. Assist может возникнуть, например, когда требуется обновить бит A (Accessed) или D (Dirty) в таблице страниц памяти. Главная сложность проведения атаки на другие процессы в том, как инициировать возникновение assist, манипулируя процессом жертвы. В настоящее время не существует надёжных способов сделать это, но в будущем не исключается их нахождение. Возможность совершения атаки пока подтверждена только для анклавов Intel SGX, остальные сценарии являются теоретическими или воспроизводимыми в синтетических условиях (требуется добавление в код определённых гаджетов)





Возможные векторы атак:
  • Утечка данных из структур ядра в процесс на уровне пользователя. Имеющаяся в ядре Linux защита от атак класса Spectre 1, а также механизм защиты SMAP (Supervisor Mode Access Prevention) существенно уменьшают вероятность атаки LVI. Внесение дополнительной защиты в ядро может потребоваться при выявления в будущем более простых методов проведения атаки LVI.
  • Утечка данных между разными процессами. Для атаки требуется наличие определённых фрагментов кода в приложении и определение метода формирования исключения в целевом процессе.
  • Утечка данных из хост-окружения в гостевую систему. Атака отнесена к категории слишком сложных, требующих выполнения различных труднореализуемых шагов и предсказаний активности в системе.
  • Утечка данных между процессами в разных гостевых системах. Вектор атаки близок к организации утечки данных между разными процессами, но дополнительно требует выполнения сложных манипуляций для обхода изоляции между гостевыми системами.
Исследователями опубликовано несколько прототипов с демонстрацией принципов проведения атаки, но они пока непригодны для совершения реальных атак. Первый пример позволяет перенаправить спекулятивное выполнение кода в процессе-жертвы по аналогии с возвратно-ориентированным программированием (ROP, Return-Oriented Programming). В данном примере в качестве жертвы выступает специально подготовленный процесс, содержащий необходимые гаджеты (применение атаки к реальным сторонним процессам затруднено). Второй пример позволяет вклиниться в вычисления при шифровании AES внутри анклава Intel SGX и организовать утечку данных во время спекулятивного выполнения инструкций для восстановления значения применяемого для шифрования ключа.

 
Ответить с цитированием
 





Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 


Быстрый переход




ANTICHAT.XYZ