Реализация DDIO в чипах Intel допускает сетевую атаку по определению нажатий клавиш в сеансе SSH
11 сентября 2019 года
Группа исследователей из Амстердамского свободного университета и Швейцарской высшей технической школы Цюриха разработала технику сетевой атаки NetCAT (Network Cache ATtack), позволяющую, применяя методы анализа данных по сторонним каналам, удалённо определять клавиши, нажимаемые пользователем в процессе работы в сеансе SSH. Проблема проявляется только на серверах, в которых применяются технологии RDMA (Remote direct memory access) и DDIO (Data-Direct I/O).
Компания Intel считает, что атаку сложно реализовать на практике, так как она требует доступа атакующего к локальной сети, стерильных условий и организации связи хостов с использованием технологий RDMA и DDIO, которые обычно применяются в изолированных сетях, например, в которых работают вычислительные кластеры. Проблеме присвоен незначительный уровень опасности (CVSS 2.6, CVE-2019-11184) и дана рекомендация не включать DDIO и RDMA в локальных сетях, в которых не обеспечен периметр безопасности и допускается подключение не заслуживающих доверие клиентов. DDIO применяется в серверных процессорах Intel, начиная с 2012 года (Intel Xeon E5, E7 и SP). Системы на базе процессоров AMD и других производителей не подвержены проблеме, так как не поддерживают сохранение передаваемых по сети данных в кэше CPU.
Применяемый для атаки метод напоминает уязвимость " Throwhammer", позволяющую изменять содержимое отдельных битов в ОЗУ через манипуляцию с сетевыми пакетами в системах с RDMA. Новая проблема является следствием работы по минимизации задержек при применении механизма DDIO, обеспечивающего прямое взаимодействие сетевой карты и других периферийных устройств с кэшем процессора (в процессе обработки пакетов сетевой карты, данные сохраняются в кэш и извлекаются из кэша, без обращения к памяти).
Благодаря DDIO в кэш процессора попадают в том числе и данные, сгенерированные в процессе вредоносной сетевой активности. Атака NetCAT отталкивается от того, что сетевые карты активно кэшируют данные, а скорость обработки пакетов в современных локальных сетях достаточна для того, чтобы влиять на заполнение кэша и определять наличие или отсутствие данных в кэше через анализ задержек при передаче данных.
При использовании интерактивных сеансов, например через SSH, сетевой пакет отправляется непосредственно после нажатия клавиши, т.е. задержки между пакетами коррелируют с задержками между нажатиями клавиш. Используя методы статистического анализа и учитывая, что задержки между нажатиями обычно зависят от положения клавиши на клавиатуре, можно с определённой вероятностью воссоздавать вводимую информацию. Например, большинство людей обычно набирают "s" после "a" значительно быстрее, чем "g" после "s".
Оседающая в процессорном кэше информация в том числе позволяет судить о точном времени пакетов, отправленных сетевой картой при обработке таких соединений как SSH. Генерируя определённый поток трафика атакующий может определить момент появления новых данных в кэше, связанных с определённой активностью в системе. Для анализа содержимого кэша используется метод Prime+Probe, подразумевающий заполнение кэша эталонным набором значений и измерение времени доступа к ним при повторном заполнении для определения изменений.
Не исключается применение предложенной техники для определения не только нажатий клавиш, но и других типов конфиденциальных данных, оседающих в кэше CPU. Потенциально атака может быть проведена и при отключении RDMA, но без RDMA её эффективность снижается, а выполнение существенно усложняется. Также возможно использование DDIO для организации скрытого канала связи, применяемого для передачи данных после компрометации сервера в обход систем для обеспечения безопасности.
Источники править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.