"Мы хотели узнать, что можно сделать с банкоматом с помощью одного просверленного отверстия и подключенного провода. Как оказалось, все что угодно. С помощью простого микрокомпьютера можно получить контроль над диспенсером и заставить его выдавать наличные", - сообщил эксперт ЛК Игорь Суменков.
Исследователи ЛК впервые столкнулись с подобными атаками прошлой осенью, когда к ним за помощью обратился один из банков, ставший жертвой хакеров. Специалисты осмотрели банкомат и обнаружили единственный след вмешательства – отверстие размером с мячик для пинг-понга возле клавиатуры. Для сокрытия "хирургической операции" злоумышленники даже заклеили отверстие.
В ходе расследования были обнаружены десятки подобных ограблений, и в итоге сотрудники правоохранительных органов задержали одного из подозреваемых. Полиция изъяла у него ноутбук и кабель, с помощью которого он подключался к банкомату через просверленное дрелью отверстие.
Как оказалось, через просверленное отверстие можно получить доступ к последовательному порту. Порт подключен к шине, объединяющей все внутренние компоненты банкомата, начиная от компьютера, отвечающего за пользовательский интерфейс, и заканчивая диспенсером. Пять недель ушло у исследователей на перекодировку электрических сигналов в используемый банкоматом протокол внутренней передачи данных.
Передаваемые данные шифровались с помощью XOR, и исследователям не составило труда взломать шифрование. Подключение между модулями банкомата осуществлялось без аутентификации, а значит, каждый модуль мог отправлять команды любому другому. В итоге эксперты ЛК собрали устройство по размеру меньше ноутбука, способное передавать диспенсеру нужные команды через один порт. Прибор состоял из микроконтроллера Atmega, используемого в микрокомпьютерах Arduino, нескольких конденсаторов, переходника и батарейки на 9 В.
Эксперты ЛК сообщили производителю банкоматов о проблеме. Тем не менее, исправить ее не так легко. Для решения проблемы недостаточно лишь удаленно обновить ПО – необходимо менять аппаратное обеспечение.