Уязвимость в системе защиты банкоматов Solidcore
По сообщению компании Positive Technologies, ее эксперты нашли опасную уязвимость в защитной системе для банкоматов Solidcore от McAfee, получив благодарность от Intel Security. Уязвимость нулевого дня CVE-2016-8009 была найдена в ходе работ по анализу защищенности банкоматов одного из крупных банков.
Система Solidcore используется во множестве банкоматов под Windows для выявления и блокирования вредоносных файлов с помощью белых списков, а также для контроля привилегий запущенных процессов. Изначально это был продукт компании Solidcore Systems, но в 2009 г. ее купила компания McAfee, которую, в свою очередь, купила корпорация 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), которые позволяют детектировать подозрительные действия или сочетания действий, такие как подключение к банкомату необычных устройств, внезапная перезагрузка, слишком частое нажатие клавиш или выполнение запрещенных команд.