Техническая поддержка Техническая поддержка
SafenSoft
Решения chevron-down
Продукты chevron-down
Проекты chevron-down
Партнерство chevron-down
О компании chevron-down
Вакансии

Блокировка клавиатуры на банкоматах для защиты от прямого диспенса (jackpotting)

line-72px-2px

Взлом банкомата ведет к прямым убыткам и потере репутации любого банка. Также сразу возникают вопросы по соответствию требованиям регуляторов: стандартам ЦБ РФ и PCI DSS, что может привести к более серьезным последствиям, влияющим на деятельность всего банка.

Прямой диспенс или jackpotting – это атака, при которой в результате взлома вредоносным ПО банкомат начинает выдавать наличные средства. Первым шагом вектора атаки является обход режима киоска в верхней части банкомата. Злоумышленник осуществляет навигацию по файловой системе, запускает интерпретатор команд cmd.exe, powershell.exe и выполняет команды изменения сценариев в скриптах селф-тестов диспенсера. Теперь при перезагрузке диспенсер будет вместо селф-теста выдавать деньги. Важную роль в осуществлении этой атаки играет подключение эмулятора клавиатуры и ввод assembly кода для воспроизведения в памяти .Net процесса или службы.

Блокировка клавиатуры в таком случае является логичным решением. Но банкомат нужно обслуживать, поэтому эксперты SafenSoft разработали механизм временной безопасной разблокировки клавиатуры.

Решение SoftControl TPSecure состоит из модуля (агента), который устанавливается на устройство, и сервера управления. Клиентский модуль хранит информацию о заведомо правильном образе устройства и контролирует запуск процессов. Связь между модулем и сервером управления может быть непостоянной.

Модуль блокирует использование клавиатуры – по умолчанию она не работает, но «слушает» то, что набирают. Посмотрим, как был реализован механизм временных паролей, позволяющих выполнять операции по поддержке на банкомате.

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

Теперь нам нужен алгоритм генерации одноразовых паролей для инженеров на выезде. Последовательность выглядит следующим образом: инженер приезжает на место и отправляет заявку на предоставление доступа к клавиатуре. При генерации пароля учитывается запланированное время работ. Он шифруется с помощью криптографического ключа, переданного на банкомат на первом шаге. Доставка пароля инженеру осуществляется любыми каналами в соответствии с регламентом банка, в том числе он может предоставляться через Help Desk благодаря интеграции c решением SafenSoft через API.

Как было сказано ранее, клавиатура заблокирована, но продолжает «слушать». При вводе одноразового пароля в модуле защиты на устройстве к нему применяется криптографический ключ и определяется сколько времени будет работать клавиатура. Контроль идет по UTC: устройство ввода будет доступно до тех пор, пока время, указанное с помощью одноразового пароля, не превысит текущее время UTC.

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

В совокупности решение SafenSoft позволяет подтвердить соответствие стандартам PCI DSS и ЦБ по кибербезопасности, а также предотвратить взлом банкоматов и потерю репутации.