Компания Intel Security поблагодарила Максима Кожевникова, специалиста отдела анализа приложений компании Positive Technologies, за обнаружение опасной уязвимости в защитной системе Solidcore. Об этом говорится в бюллетене безопасности, который посвящен выпуску патча для данной уязвимости.
Уязвимость нулевого дня CVE-2016-8009 была найдена в ходе работ по анализу защищенности банкоматов одного из крупных банков. Система Solidcore используется во множестве банкоматов под Windows для выявления и блокирования вредоносных файлов с помощью белых списков, а также для контроля привилегий запущенных процессов. Изначально система Solidcore была продуктом компании Solidcore Systems, но в 2009 году ее купила компания MacAfee, которую в свою очередь купила корпорация Intel. В настоящее время Solidcore является частью продукта McAfee Application Control (MAC), хотя на рынке многие до сих пор используют старое название.
Уязвимость, обнаруженная экспертом Positive Technologies, позволяет неавторизованному пользователю воспользоваться IOCTL-обработчиком одного из драйверов для повреждения памяти ядра OC Windows. Эксплуатация уязвимости может привести к выполнению произвольного кода с правами SYSTEM, повышению пользовательских привилегий от Guest до SYSTEM или аварийной остановке ОС.
Как рассказал Максим Кожевников, в процессе исследования данная уязвимость позволила управлять компонентами Solidсore по требованию и выполнять действия с правами SYSTEM — в частности, отключать взаимодействие Solidcore с сервером управления ePolicy Orchestrator, отключать блокировку консоли управления Solidcore, отключать защиту паролем, выполнять внедрение кода в любые системные процессы. Имея доступ к уязвимому драйверу, атакующий может воспользоваться им для добавления вредоносного ПО в белые списки Solidcore без необходимости полностью отключать защиту и связь с сервером управления, тем самым не вызывая подозрения и записей в логах.
Зная о подобной уязвимости, хакеры могут успешно провести атаку на интересующий их банк с помощью специально подготовленных вредоносных программ. И подобные атаки уже имели место. В частности, в 2014 году был обнаружен троян для банкоматов Tyupkin, который отличается именно тем, что умеет отключать Solidcore, чтобы скрыть свою вредоносную активность. Благодаря этому трояну преступники смогли похитить сотни тысяч долларов из банкоматов Восточной Европы без привлечения внимания.
По мнению экспертов Positive Technologies, снизить риск использования драйвера злоумышленниками можно, если разработчики предусмотрят механизм авторизации пользователя для обращений к функциям диспетчеризации драйвера. Если это невозможно, диспетчеризация запросов на ввод-вывод должна выполняться в соответствии с требованиями SDL для WDM.
Что касается защитных мер на стороне клиентов, то есть банков, главной мерой является регулярный аудит защищенности банкоматов, а также создание политик по безопасной настройке банкоматов и постоянный контроль соответствия этим политикам. Такой контроль позволит существенно повысить защищенность банкоматов от атак, эксплуатирующих простейшие уязвимости, такие как обход режима киоска и отсутствие пароля на BIOS. А для выявления таргетированных атак в реальном времени рекомендуется использовать системы мониторинга событий безопасности (SIEM), которые позволяют детектировать подозрительные действия или сочетания действий, такие как подключение к банкомату необычных устройств, внезапная перезагрузка, слишком частое нажатие клавиш или выполнение запрещенных команд.