Кардинг и «чёрные ящики». Разбираемся с главным на сегодня способом взлома банкоматов
CyberLifesЭволюция банкоматного кардинга
Сначала кардеры эксплуатировали только грубые физические недостатки защиты банкоматов — использовали скиммеры и шиммеры для кражи данных с магнитных полос, поддельные ПИН-пады и камеры для просмотра ПИН-кодов и даже поддельные банкоматы. Затем, когда банкоматы стали оснащать унифицированным софтом, работающим по единым стандартам, таким как XFS (eXtensions for Financial Services), кардеры начали атаковать банкоматы компьютерными вирусами. Среди них Trojan.Skimer, Backdoor.Win32.Skimer, Ploutus, ATMii и другие именованные и безымянные зловреды, которых кардеры подсаживают на хост банкомата либо через загрузочную флешку, либо через TCP-порт удаленного управления.
Захватив XFS-подсистему, малварь может без авторизации отдавать команды устройству выдачи банкнот или картридеру: читать магнитную полосу банковской карты, писать на нее и даже извлекать историю транзакций, хранящуюся на чипе EMV-карты. Особого внимания заслуживает EPP (Encrypting PIN Pad — шифрованный ПИН-пад). Принято считать, что вводимый на нем ПИН-код не может быть перехвачен. Однако XFS позволяет использовать EPP в двух режимах: открытом (для ввода различных числовых параметров, таких как сумма, которую надо обналичить) и безопасном (в него EPP переключается, когда надо ввести ПИН-код или ключ шифрования). Эта особенность XFS позволяет кардеру устроить MITM-атаку: перехватить команду активации безопасного режима, которая отправляется с хоста на EPP, и затем сообщить ПИН-паду, что работу следует продолжить в открытом режиме. В ответ на это сообщение EPP отправляет нажатия клавиш открытым текстом.
В последние годы, по данным Европола, вредоносы для банкоматов заметно эволюционировали. Кардерам теперь необязательно иметь физический доступ к банкомату, чтобы заразить его. Они могут заражать банкоматы при помощи удаленных сетевых атак, используя для этого корпоративную сеть банка. По информации Group IB, в 2016 году более чем в десяти странах Европы на банкоматы были совершены дистанционные нападения.
Антивирусы, блокировка обновления прошивки, блокировка USB-портов и шифрование жесткого диска до некоторой степени защищают банкомат от вирусных атак кардеров. Но что, если кардер не атакует хост, а напрямую подключается к периферии (через RS232 или USB) — к считывателю карт, ПИН-паду или устройству выдачи наличных?
Первое знакомство с «черным ящиком»
Сегодня технически подкованные кардеры поступают именно так, используя для кражи наличных из банкомата так называемые «черные ящики» — специфически запрограммированные одноплатные микрокомпьютеры, наподобие Raspberry Pi. «Черные ящики» опустошают банкоматы подчистую, совершенно волшебным (с точки зрения банкиров) образом. Кардеры подключают свое устройство напрямую к устройству выдачи банкнот и извлекают из него все деньги. Такая атака действует в обход всех программных средств защиты, развернутых на хосте банкомата (антивирусы, контроль целостности, полное шифрование диска и прочее).
Крупнейшие производители банкоматов и правительственные спецслужбы, столкнувшись с несколькими реализациями «черного ящика», сообщают, что эти хитроумные компьютеры заставляют банкоматы выплевывать все доступные наличные, по сорок банкнот каждые двадцать секунд. Также спецслужбы предупреждают, что кардеры чаще всего нацеливаются на банкоматы в аптеках, торговых центрах и банкоматы, которые обслуживают автомобилистов «на ходу».
При этом, чтобы не светиться перед камерами, наиболее осторожные кардеры берут на помощь какого-нибудь не слишком ценного партнера, «мула». А чтобы тот не смог присвоить «черный ящик» себе, применяется следующая схема. Из «черного ящика» убирают ключевую функциональность и подключают к нему смартфон, который используют в качестве канала для дистанционной передачи команд урезанному «черному ящику» по IP-протоколу.
Как это выглядит с точки зрения банкиров? На записях с видеокамер-фиксаторов происходит примерно следующее: некая личность вскрывает верхний отсек (зону обслуживания), подключает к банкомату «волшебный ящик», закрывает верхний отсек и уходит. Немного погодя несколько человек, на вид обычные клиенты, подходят к банкомату и снимают огромные суммы денег. Затем кардер возвращается и извлекает из банкомата свое маленькое волшебное устройство. Обычно факт атаки банкомата «черным ящиком» обнаруживается только через несколько дней, когда пустой сейф и журнал снятия наличных не совпадают. В результате сотрудникам банка остается только чесать затылки.
Анализ банкоматных коммуникаций
Как уже отмечалось выше, системный блок и периферийные устройства взаимодействуют через USB, RS232 или SDC. Кардер подключается непосредственно к порту периферийного устройства и отправляет ему команды — в обход хоста. Это довольно просто, потому что стандартные интерфейсы не требуют каких-то специфических драйверов. А проприетарные протоколы, по которым периферия и хост взаимодействуют, не требуют авторизации (ведь устройство же находится внутри доверенной зоны), так что эти незащищенные протоколы, по которым периферия и хост взаимодействуют, легко прослушиваются и легко поддаются атаке воспроизведения.
Таким образом, кардеры могут использовать программный или аппаратный анализатор трафика, подключая его напрямую к порту конкретного периферийного устройства (например, к считывателю карт) для сбора передаваемых данных. Пользуясь анализатором трафика, кардер узнаёт все технические подробности работы банкомата, в том числе недокументированные функции его периферии (например, изменение прошивки периферийного устройства). В результате взломщик получает полный контроль над банкоматом. При этом обнаружить наличие анализатора трафика довольно-таки трудно.
Прямой контроль над устройством выдачи банкнот означает, что кассеты банкомата могут быть опустошены без какой-либо фиксации в логах, которые в штатном режиме вносит софт, развернутый на хосте. Для тех, кто не знаком с программно-аппаратной архитектурой банкомата, это может выглядеть как магия.
Откуда берутся «черные ящики»?
Поставщики банкоматов и субподрядчики разрабатывают отладочные утилиты для диагностики аппаратной части банкомата, в том числе электромеханики, отвечающей за снятие наличных. Среди таких утилит ATMDesk, RapidFire ATM XFS. На рисунке ниже представлены еще несколько таких диагностических тулз.
Доступ к подобным утилитам в норме ограничен персонализированными токенами, и работают они только при открытой дверце банкоматного сейфа. Однако, просто заменив в бинарном коде утилиты несколько байтов, хакеры могут «протестировать» снятие наличных — в обход проверок, предусмотренных производителем утилиты. Кардеры устанавливают такие модифицированные утилиты на свой ноутбук или одноплатный микрокомпьютер, которые затем подключают непосредственно к устройству выдачи банкнот.
«Последняя миля» и поддельный процессинговый центр
Прямое взаимодействие с периферией без общения с хостом — это только один из эффективных приемов кардинга. Другие приемы основываются на том, что у нас есть широкое разнообразие сетевых интерфейсов, через которые банкомат связывается с внешним миром, — от X.25 до Ethernet и сотовой связи. Многие банкоматы могут быть идентифицированы и локализованы при помощи сервиса Shodan (наиболее лаконичная инструкция по его использованию представлена здесь) — с последующей атакой, паразитирующей на уязвимой конфигурации безопасности, лени администратора и уязвимых коммуникациях между различными подразделениями банка.
«Последняя миля» связи между банкоматом и процессинговым центром богата самыми разнообразными технологиями, которые могут служить точкой входа для кардера. Встречаются проводные (телефонная линия или Ethernet) и беспроводные (Wi-Fi, сотовая связь: CDMA, GSM, UMTS, LTE) способы связи. Механизмы безопасности могут включать в себя:
- аппаратные или программные средства для поддержки VPN (как стандартные, встроенные в ОС, так и от сторонних производителей);
- SSL/TLS (как специфичные для конкретной модели банкомата, так и от сторонних производителей);
- шифрование;
- аутентификацию сообщений.
Однако похоже, что для банков перечисленные технологии представляются очень сложными, поэтому они не утруждают себя специальной сетевой защитой или реализуют ее с ошибками. В лучшем случае банкомат связывается с VPN-сервером и уже внутри приватной сети подключается к процессинговому центру. Кроме того, даже если у банков и получится реализовать перечисленные выше защитные механизмы, у кардера уже есть эффективные атаки против них. Так что, даже если безопасность соответствует стандарту PCI DSS, банкоматы все равно остаются уязвимыми.
Одно из основных требований PCI DSS — все конфиденциальные данные, когда они передаются через общедоступную сеть, должны быть зашифрованы. И ведь у нас действительно есть сети, которые изначально были спроектированы так, что в них данные полностью зашифрованы! Поэтому есть соблазн сказать: «У нас данные зашифрованы, потому что мы используем Wi-Fi и GSM». Однако многие из этих сетей не обеспечивают достаточной защиты. Сотовые сети всех поколений уже давно взломаны. Окончательно и бесповоротно. И даже есть поставщики, которые предлагают устройства для перехвата передаваемых по ним данных.
Поэтому либо в небезопасной коммуникации, либо в «приватной» сети, где каждый банкомат широко вещает о себе другим банкоматам, может быть инициирована MITM-атака «поддельный процессинговый центр», которая приведет к тому, что кардер захватит контроль над потоками данных, передаваемыми между банкоматом и процессинговым центром.
Таким MITM-атакам потенциально подвержены тысячи банкоматов. На пути к подлинному процессинговому центру хакер вставляет свой, поддельный. Этот поддельный процессинговый центр дает банкомату команды на выдачу банкнот. При этом кардер настраивает свой процессинговый центр таким образом, чтобы наличные выдавались вне зависимости от того, какая карта вставляется в банкомат, — даже если срок ее действия истек или на ней нулевой баланс. Главное, чтобы поддельный процессинговый центр «узнал» ее. В качестве поддельного процессингового центра может быть либо кустарная поделка, либо симулятор процессингового центра, изначально разработанный для отладки сетевых настроек (еще один подарок «производителя» кардерам).
На следующем рисунке приведен дамп команд на выдачу сорока банкнот из четвертой кассеты, отправленных из поддельного процессингового центра и хранящихся в журналах ATM-софта. Они выглядят почти как настоящие.
Заключение
Как видишь, классическая максима «по-настоящему защищенный компьютер находится в железном ящике и не подключен ни к какой сети, в том числе электрической» с каждым годом находит все новые и новые подтверждения. Уязвимо все, и банковское имущество не исключение.