Как взломать банкомат по SMS?

Корпорация Symantec обнаружила новую разновидность вредоносной программы для банкоматов Backdoor.Ploutus.B, которая позволяет злоумышленникам удаленно контролировать банкомат при помощи подключенного к нему мобильного телефона. Подключив телефон к банкомату и заразив его вирусом, злоумышленники получают возможность отправлять на этот телефон SMS-сообщения с кодами команд. Получая такое сообщение, телефон преобразует команду в сетевой пакет и по USB-кабелю передает банкомату, заставляя выдавать наличные деньги.

В адрес компаний и частных пользователей все чаще доносятся призывы перейти с Windows XP на более новую версию этой операционной системы — если не ради расширенного функционала, то хотя бы ради более надежной системы защиты и лучшей технической поддержки. Банкоматы — это, по сути, компьютеры, контролирующие доступ к наличным деньгам. И оказывается, что почти 95% всех банкоматов находятся под управлением Windows XP. В свете того, что официальная поддержка Windows XP прекратится 8 апреля 2014 года, банковская отрасль стоит перед угрозой кибератак на свои «парки» банкоматов. И этот риск совсем не гипотетический — это уже происходит. Злоумышленники атакуют банкоматы, используя все более изощренные методы.

В конце 2013 года специалисты Symantec писали о том, что в Мексике была обнаружена новая вредоносная программа для банкоматов, которая давала злоумышленникам возможность при помощи внешней клавиатуры заставлять банкомат выдавать наличные деньги. Эта угроза была названа Backdoor.Ploutus. Несколько недель спустя эксперты компании обнаружили ее новую разновидность, которая уже могла похвастаться модульной архитектурой. Эта новая версия была переведена на английский язык, что наводило на мысль о том, что злоумышленники решили начать осваивать новые территории. Эта новая разновидность была названа Backdoor.Ploutus.B — далее просто Ploutus.

Интересная особенность нового варианта Ploutus состоит в том, что он давал злоумышленникам возможность отправлять на зараженный банкомат SMS-сообщение, а затем просто подходить к нему и забирать вылезающие из него деньги. Это может показаться невероятным, но такая технология на данный момент применяется в ряде мест во всем мире.

Рис. 1. Как злоумышленники крадут деньги из банкомата при помощи мобильного телефона

Подключение телефона к банкомату

Злоумышленники могут удаленно контролировать банкоматы при помощи мобильного телефона, который подключен к «начинке» банкомата. Существует множество способов это сделать. Самый распространенный — активация в телефоне режима точки доступа и подключение его к банкомату по USB-кабелю.

Злоумышленники должны правильно настроить телефон, подключить его к банкомату и заразить банкомат вирусом Ploutus. При выполнении этих шагов между банкоматом и телефоном устанавливается полноценная двухсторонняя связь и можно начинать приступать к изыманию денег.

Поскольку телефон подключен к банкомату через USB-порт, он постоянно находится на зарядке, а значит, может работать на протяжении неопределенного срока.

Отправка SMS-сообщений на банкомат

Подключив телефон к банкомату, злоумышленники получают возможность отправлять на этот телефон SMS-сообщения с кодами команд. Получая такое сообщение, телефон распознает его как команду, преобразует в сетевой пакет и по USB-кабелю передает банкомату.

Одним из модулей вредоносной программы является анализатор сетевых пакетов — программа, которая отслеживает весь сетевой трафик, идущий на банкомат. Как только зараженный банкомат получает от телефона корректный TCP- или UDP-пакет, этот модуль его анализирует — ищет последовательность 5449610000583686 в определенной части пакета, а затем, найдя искомую последовательность, модуль считывает следующие 16 цифр, из которых и строит команду для запуска Ploutus. Например, такая команда может выглядеть следующим образом: cmd.exe /c PLOUTOS.EXE 5449610000583686=2836957412536985

В более ранних версиях Ploutus злоумышленнику приходилось бы сообщать этот код «курьеру», забирающему деньги. Таким образом последний мог бы понять, как работает система, и обманывать вирусописателя. В данной версии Ploutus курьер никогда не видит этих 16 цифр, что обеспечивает дополнительную безопасность для вирусописателя и позволяет централизованным образом контролировать забор денег. Код действует в течение 24 часов.

Использование SMS-сообщений для удаленного управления банкоматами — это намного более удобный метод для всех участников преступной схемы, потому что она дискретна и работает практически без проволочек. Главный преступник всегда точно знает, сколько денег получит курьер, и курьеру не нужно длительное время слоняться вокруг банкомата в ожидании, когда же выйдут деньги. Руководитель и курьер могут синхронизировать свои действия таким образом, чтобы деньги выходили из банкомата именно в тот момент, когда курьер проходит мимо банкомата или делает вид, что хочет снять наличность.

Общая картина

Рассмотрев детали данной преступной схемы, давайте посмотрим на то, как же все это выглядит на практике.

Рис. 2. Схема атаки с использованием Ploutus

Схема атаки


  1. Злоумышленник устанавливает Ploutus на банкомат и кабелем подключает к нему мобильный телефон.
  2. Отправляет на этот телефон два SMS-сообщения:
    содержащее корректный код активации вируса;
  3. содержащее корректный код выдачи денег.

  • Телефон узнает эти сообщения и отправляет их на банкомат в виде TCP- или UDP пакетов.
  • Модуль анализа пакетов внутри банкомата получает эти пакеты и, если они содержат корректные команды, запускает Ploutus.
  • Ploutus заставляет банкомат выдать деньги. Выдаваемая сумма заранее задана в коде вредоносной программы.
  • Выдаваемые банкоматом деньги забирает «курьер».
  • Специалистам Symantec в лаборатории удалось воссоздать подобную атаку, используя реальный банкомат, зараженный Ploutus.

    Хотя в этом примере эксперты компании используют именно Ploutus, специалисты Symantec Security Response обнаружили несколько различных форм этого вируса, направленного на атаку банкоматов. В случае с Ploutus злоумышленники пытаются украсть деньги изнутри банкомата, однако некоторые из рассмотренных Symantec программ пытаются украсть данные кредитной карты и PIN, в то время как другие программы позволяют злоумышленникам осуществлять атаки типа «человек посередине». Очевидно, что у вирусописателей есть много идей насчет того, как лучшим образом нажиться на банкоматах.

    Как защитить банкоматы?

    Современные банкоматы обладают рядом продвинутых функций защиты, таких как использование зашифрованных жестких дисков, что делает описанный способ установки невозможным. Однако в случаях более старых банкоматов, все еще находящихся под управлением Windows XP, защита от подобных атак представляет значительную трудность, особенно в случае, если банкоматы находятся в эксплуатации в отдаленных точках. Другая проблема, требующая рассмотрения, — это физическая незащищенность банкоматов: в то время как деньги в банкомате заперты надежно, компьютер, как правило, нет. Не обеспечив надлежащих мер физической защиты банкоматов старой модели, мы даем злоумышленникам преимущество.

    Есть ряд мер, которые позволят усложнить им работу:

    • обновиться до одной из поддерживаемых разработчиком операционных систем, таких как Windows 7 или 8;
    • обеспечить адекватную физическую защиту банкоматов, а также рассмотреть возможность установки систем скрытого видеонаблюдения;
    • закрыть доступ к BIOS, для того чтобы предотвратить загрузку системы с неавторизованных носителей, таких как CD-диски и переносные USB-накопители;
    • использовать полное шифрование жестких дисков, для того чтобы предотвратить их взлом;
    • использовать решения по блокировке доступа, такие как Symantec Critical System Protection Client Edition (продукт из линейки продуктов Symantec Data Center Security).
    При соблюдении всех вышеперечисленных мер злоумышленникам будет намного труднее осуществлять подобные атаки без подельников из банка.

    В обозримом будущем компания Symantec продолжит осуществлять поддержку Windows XP в своих решениях защиты, однако специалисты компании настоятельно рекомендуют пользователям как можно скорее перейти на более актуальную операционную систему.