tgoop.com/computersecuritybasics/103
Last Update:
История вторая, о доверии технологиям. Двое из ИБ-ларца
Что такое технология? Совокупность идей и их технического воплощения для достижения определенной цели. В ИБ отрасли техническое воплощение идеи само по себе должно быть безупречно с точки зрения безопасности, с двух точек зрения.
Первая точка зрения – отсутствие уязвимостей. Атака на защитный механизм делает этот механизм бесполезным.
Вторая точка зрения – отсутствие скрытых возможностей. Потому что у того, кто вас защищает, есть все возможности обратить свою силу против вас же. А значит, защитному механизму нужно доверять.
Давайте еще вспомним, что уязвимости, при определенной степен паранойи, можно рассматривать ка скрытые возможности ПО.
А теперь с этих точек зрения посмотрим на историю с возможностями/уязвимостями ПО, которое устанавливается при использовании USB-токенов ИБ-гиганта Gemalto. Заметим, что подключаемое устройство не хранит в себе ни вредоносного, ни уязвимого легитимного кода, и его подключение служит лишь триггером для установки полнофункционального легитимного бэкдора из более чем легитимного источника.
Исследуемый продукт – это комплекс, включающий USB-носитель и набор драйверов и прикладного ПО, устанавливаемого на компьютер для работы с лицензионными ключами. USB-токен надо подключать к персональному компьютеру или серверу, на котором ПО требуется лицензия. В этом менеджере лицензий исследователи Kaspersky ICS CERT обнаружили порядка 20 уязвимостей, и кроме классических уязвимостей – очень странную функциональность, которая позволяла провести эффективную атаку на целевую систему. Подробно можно почитать тут.
А вкратце дело обстоит так: функционал ПО позволял атакующему скрытно получать удаленный доступ, выполнять произвольный код, а также скрывать свое присутствие. Всё, что было нужно для получения доступа к компьютеру, – подключить USB-токен одной из моделей, указанных в таблице выше, подождать пару минут – и отключить токен.
Если на атакованной машине есть доступ в Интернет, происходит автоматическая установка драйвера через Windows Update и службы, автоматически запускается процесс hasplms.exe с правами SYSTEM, открывается порт 1947. Если доступа в Интернет нет, то нужно заставить пользователя установить ПО Gemalto с сайта или в составе ПО третьей стороны. Порт 1947 при этом добавляется в исключения межсетевого экрана Windows. После открытия порта 1947 атакующий по сети мог воспользоваться «плохо документированной API функцией», которая позволяла включать и выключать доступность web интерфейса. Через этот интерфейс можно менять различные настройки программной части решения. В том числе, открывалась возможность менять настройки внутреннего proxy-сервера для обновления языковых пакетов.
Интересный факт: классические защитные механизмы от бинарных уязвимостей (ASLR, Stack Cookie, Stack Canary и т.д.) были отключены разработчиками. И бинарные уязвимости в этих языковых пакетах давали злоумышленникам возможность удаленного выполнения произвольного кода с правами SYSTEM – без особых усилий.
После изменения прокси-сервера, используя внутреннюю логику сервиса, можно получить NTLM-хеш пользователя, из-под которого запущен процесс hasplms.exe (SYSTEM).
Как уже было сказано, компьютер при этом даже может находиться в заблокированном режиме. Перед нами – легитимный функционал, имеющий все признаки бекдора.
Вывод? Доверяй, но проверяй. Желательно, с участием опытных специалистов, понимающих особенности реализации технологий операционных систем и защитного ПО.
BY Computer security basics
Share with your friend now:
tgoop.com/computersecuritybasics/103