PDA

Просмотр полной версии : Реализация DDIO в чипах Intel допускает сетевую атаку по определению нажатий клавиш в сеансе SSH


Suicide
12.09.2019, 02:09
Группа исследователей из Амстердамского свободного университета и Швейцарской высшей технической школы Цюриха разработала технику сетевой атаки NetCAT (https://www.vusec.net/projects/netcat/) (Network Cache ATtack), позволяющую, применяя методы анализа данных по сторонним каналам, удалённо определять клавиши, нажимаемые пользователем в процессе работы в сеансе SSH. Проблема проявляется только на серверах, в которых применяются технологии RDMA (https://en.wikipedia.org/wiki/Remote_direct_memory_access) (Remote direct memory access) и DDIO (https://en.wikipedia.org/wiki/Direct_memory_access#DDIO) (Data-Direct I/O).

Компания Intel считает (https://software.intel.com/security-software-guidance/insights/more-information-netcat), что атаку сложно реализовать на практике, так как она требует доступа атакующего к локальной сети, стерильных условий и организации связи хостов с использованием технологий RDMA и DDIO, которые обычно применяются в изолированных сетях, например, в которых работают вычислительные кластеры. Проблеме присвоен незначительный уровень опасности (CVSS 2.6, CVE-2019-11184 (https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00290.html)) и дана рекомендация не включать DDIO и RDMA в локальных сетях, в которых не обеспечен периметр безопасности и допускается подключение не заслуживающих доверие клиентов. DDIO применяется в серверных процессорах Intel, начиная с 2012 года (Intel Xeon E5, E7 и SP). Системы на базе процессоров AMD и других производителей не подвержены проблеме, так как не поддерживают сохранение передаваемых по сети данных в кэше CPU.

Применяемый для атаки метод напоминает уязвимость "Throwhammer (https://www.opennet.ru/opennews/art.shtml?num=48591)", позволяющую изменять содержимое отдельных битов в ОЗУ через манипуляцию с сетевыми пакетами в системах с RDMA. Новая проблема является следствием работы по минимизации задержек при применении механизма DDIO, обеспечивающего прямое взаимодействие сетевой карты и других периферийных устройств с кэшем процессора (в процессе обработки пакетов сетевой карты, данные сохраняются в кэш и извлекаются из кэша, без обращения к памяти).

Благодаря DDIO в кэш процессора попадают в том числе и данные, сгенерированные в процессе вредоносной сетевой активности. Атака NetCAT отталкивается от того, что сетевые карты активно кэшируют данные, а скорость обработки пакетов в современных локальных сетях достаточна для того, чтобы влиять на заполнение кэша и определять наличие или отсутствие данных в кэше через анализ задержек при передаче данных.

При использовании интерактивных сеансов, например через SSH, сетевой пакет отправляется непосредственно после нажатия клавиши, т.е. задержки между пакетами коррелируют с задержками между нажатиями клавиш. Используя методы статистического анализа и учитывая, что задержки между нажатиями обычно зависят от положения клавиши на клавиатуре, можно с определённой вероятностью воссоздавать вводимую информацию. Например, большинство людей обычно набирают "s" после "a" значительно быстрее, чем "g" после "s".

Оседающая в процессорном кэше информация в том числе позволяет судить о точном времени пакетов, отправленных сетевой картой при обработке таких соединений как SSH. Генерируя определённый поток трафика атакующий может определить момент появления новых данных в кэше, связанных с определённой активностью в системе. Для анализа содержимого кэша используется метод Prime+Probe (http://ieeexplore.ieee.org/document/7363305/), подразумевающий заполнение кэша эталонным набором значений и измерение времени доступа к ним при повторном заполнении для определения изменений.

https://www.opennet.ru/opennews/pics_base/0_1568180530.png (https://www.vusec.net/wp-content/uploads/2019/09/pasted-image-0-2-1.png)

Не исключается применение предложенной техники для определения не только нажатий клавиш, но и других типов конфиденциальных данных, оседающих в кэше CPU. Потенциально атака может быть проведена и при отключении RDMA, но без RDMA её эффективность снижается, а выполнение существенно усложняется. Также возможно использование DDIO для организации скрытого канала связи, применяемого для передачи данных после компрометации сервера в обход систем для обеспечения безопасности.

11.09.2019

http://www.opennet.ru/opennews/art.shtml?num=51467​

DartPhoenix
12.09.2019, 02:16
Куча вещей, интересных скорее теоретически чем практически. Но тоже круто

UPD: однако любопытно что в современном мире есть куча уязвимостей не таких крутых и их никто не освещает. Хотя на проверку они могут оказаться очень круты ибо им подвержена самая основа всех этих сложностей.

Пример: кто-нибудь осуществлял атаку на обновления в локальной сети ? Ни одна из подопытных программ не проверяла корректность собственных обновлений на моей памяти. Обновить их можно так, что мало не покажется. Критическая, очень красная, уязвимость.