Обнаружена критическая уязвимость в Xen, KVM и QEMU

Обнаружена критическая уязвимость в Xen, KVM и QEMU

В развиваемом проектом QEMU коде эмуляции контроллера флоппи-дисков (FDC) выявлена критическая уязвимость (CVE-2015-3456), получившая кодовое имя VENOM. Кроме QEMU драйвер также используется в системах виртуализации Xen и KVM. Уязвимость позволяет выйти за пределы гостевой системы и получить управления над базовым хост-окружением.

Пользователь гостевой системы, имеющий доступ к портам ввода/вывода (привилегированный пользователь в Linux и любой пользователь в Windows), может отправить эмулятору контроллера FDC специально оформленную команду, которая приведёт к переполнению буфера и выполнению произвольного кода на стороне гостевой системы с правами сопутствующего процесса QEMU. Если данный процесс выполняется с правами root, то пользователь может обойти ограничения виртуализации и из гостевого окружения получить root-доступ к основной системе.

Проблема проявляется во всех гостевых системах на базе архитектуры x86 и x86-64, выполняемых с использованием гипервизора Xen в режиме полной виртуализации (HVM) и в системах на базе QEMU/KVM. Тип эмулируемого оборудования и настройки запуска QEMU не имеют значения, так как в режимах PIIX и ICH9 создаётся мост для шины ISA, в котором в любом случае доступен виртуальный контроллер флоппи-дисков. Также не имеет значение наличие в гостевой системе файла устройства для доступа к флоппи-диску, так как эксплуатация производится через обращение к портам ввода/вывода.

Обновления с устранением уязвимости уже выпущено для RHEL, CentOS, Ubuntu и Debian. Также доступны патчи к QEMU и Xen. Оценить появление обновлений в других дистрибутивах можно на следующих страницах: Fedora, openSUSE, SLES, Slackware, Gentoo, FreeBSD, NetBSD. В качестве обходного пути защиты в RHEL/CentOS предлагается использовать sVirt и seccomp для ограничения привилегий процесса QEMU и ограничение доступа к ресурсам. В Ubuntu в конфигурации по умолчанию при использовании QEMU с libvirt применяется дополнительная изоляция при помощи AppArmor.

Проблема присутствует с 2004 года и вызвана отсутствием проверки переполнения при записи в FIFO-буфер фиксированного размера, используемый в слое эмуляции FDC для хранения команд контроллера и их параметров. Запись в буфер ведётся побайтово, отражая запись данных в порты ввода/вывода, с последующим увеличением индекса, указывающего на текущую позицию в буфере. После выполнения команды индекс сбрасывается в ноль и для следующей команды буфер заполняется заново. Для некоторых команд, таких как FD_CMD_READ_ID и FD_CMD_DRIVE_SPECIFICATION_COMMAND, в определённых ситуациях сброс индекса не производился или производился с задержкой, что даёт возможность полностью заполнить буфер и осуществить запись за его пределы. 

Новая атака в Telegram использует официальную аутентификацию мессенджера

Эксперты зафиксировали новую и довольно изощрённую фишинговую кампанию в Telegram, которая уже активно используется против пользователей по всему миру. Главная особенность атаки в том, что злоумышленники не взламывают мессенджер и не подделывают его интерфейс, а аккуратно используют официальные механизмы аутентификации Telegram.

Как выяснили аналитики компании CYFIRMA, атакующие регистрируют собственные API-ключи Telegram (api_id и api_hash) и с их помощью инициируют реальные попытки входа через инфраструктуру самого мессенджера. Дальше всё зависит от того, как именно жертву заманят на фишинговую страницу.

Всего специалисты наткнулись на два подобных сценария. В первом случае пользователю показывают QR-код в стиле Telegram, якобы для входа в аккаунт. После сканирования кода в мобильном приложении запускается легитимная сессия, но уже на стороне злоумышленника.

Во втором варианте жертву просят вручную ввести номер телефона, одноразовый код или пароль двухфакторной защиты. Все эти данные тут же передаются в официальные API Telegram.

 

Ключевой момент атаки наступает позже. Telegram, как и положено, отправляет пользователю системное уведомление в приложении с просьбой подтвердить вход с нового устройства. И вот тут в дело вступает социальная инженерия. Фишинговый сайт заранее подсказывает, что это якобы «проверка безопасности» или «обязательная верификация», и убеждает нажать кнопку подтверждения.

В итоге пользователь сам нажимает «Это я» и официально разрешает доступ к своему аккаунту. Никакого взлома, обхода шифрования или эксплуатации уязвимостей не требуется: сессия выглядит полностью легитимной, потому что её одобрил владелец аккаунта.

По данным CYFIRMA, кампания хорошо организована и построена по модульному принципу. Бэкенд централизованный, а домены можно быстро менять, не затрагивая логику атаки. Такой подход усложняет обнаружение и блокировку инфраструктуры.

После захвата аккаунта злоумышленники, как правило, используют его для рассылки фишинговых ссылок контактам жертвы, что позволяет атаке быстро распространяться дальше — уже от лица доверенного пользователя.

RSS: Новости на портале Anti-Malware.ru