Кардинг та «чорні ящики»: як зламують банкомати сьогодні

Залізні коробки, що стоять на вулицях міста з грошима, не можуть не привертати увагу любителів швидкої наживи. І якщо раніше для спустошення банкоматів застосовували суто фізичні методи, то тепер у хід ідуть все більш вправні трюки, пов'язані з комп'ютерами. Зараз найактуальніший із них — це «чорна скринька» з одноплатним мікрокомп'ютером усередині. Про те, як він працює, ми й поговоримо у цій статті.

– Еволюція банкоматного кардингу
– Перше знайомство з «чорною скринькою»
- Аналіз банкоматних комунікацій
- Звідки беруться "чорні ящики"?
– «Остання миля» та підроблений процесинговий центр

Кардинг та «чорні ящики»: як зламують банкомати сьогодні

Начальник міжнародної асоціації виробників банкоматів (ATMIA) виділив "чорні ящики" як найбільш небезпечну загрозу для банкоматів.

Типовий банкомат – це набір готових електромеханічних компонентів, розміщених в одному корпусі. Виробники банкоматів будують свої залізні твори з пристрою видачі банкнот, зчитувача карток та інших компонентів – вже розроблених сторонніми постачальниками. Такий собі конструктор LEGO для дорослих. Готові компоненти розміщуються у корпусі банкомату, який зазвичай складається з двох відсіків: верхній відсік («кабінет» або «зона обслуговування»), та нижній відсік (сейф). Усі електромеханічні компоненти підключені через порти USB і COM до системного блоку, який у разі виконує роль хоста. На старих моделях банкоматів можна зустріти з'єднання через SDC-шину.

Еволюція банкоматного кардингу

Банкомати з величезними сумами всередині, незмінно приваблюють кардерів до себе. Спочатку кардери експлуатували лише грубі фізичні недоліки захисту банкоматів – використовували скімери та шиммери для крадіжки даних із магнітних смуг; підроблені пін-пади та камери для перегляду пінкодів; і навіть підроблені банкомати.

Потім, коли банкомати почали оснащуватися уніфікованим софтом, що працює за єдиними стандартами, такими як XFS (eXtensions for Financial Services), – кардери почали атакувати банкомати комп'ютерними вірусами.

Серед них Trojan.Skimmer, Backdoor.Win32.Skimer, Ploutus, ATMii та інші численні іменовані та безіменні зловреди, яких кардери підсаджують на хост банкомату через завантажувальну флешку, або через TCP-порт віддаленого управління.

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Процес зараження банкомату

Захопивши XFS-підсистему, малеча може віддавати команди пристрою видачі банкнот, без авторизації. Або віддавати команди картридеру: читати/писати магнітну смугу банківської картки і навіть отримувати історію транзакцій, що зберігається на чіпі EMV-картки. На особливу увагу заслуговує EPP (Encrypting PIN Pad; шифрований пінпад). Прийнято вважати, що пінкод, що вводиться на ньому, не може бути перехоплений. Однак XFS дозволяє використовувати EPP-пінпад у двох режимах: 1) відкритий режим (для введення різних числових параметрів, таких як сума, що підлягає переведенню в готівку); 2) безпечний режим (в нього EPP перемикається, коли треба ввести пінкод або ключ шифрування). Ця особливість XFS дозволяє кардеру здійснювати MiTM-атаку: перехопити команду активації безпечного режиму, яка відправляється з хоста на EPP, а потім повідомити EPP-пінпаду, що роботу слід продовжити у відкритому режимі. У відповідь на це повідомлення, EPP надсилає натискання клавіш відкритим текстом.

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Принцип дії «чорної скриньки»

В останні роки, за даними Європолу, шкідливі для банкоматів помітно еволюціонували. Кардерам тепер не обов'язково мати фізичний доступ до банкомату, щоби заразити його. Вони можуть заражати банкомати за допомогою віддалених мережевих атак, використовуючи для цього корпоративну мережу банку. За даними Group IB, у 2016 році у більш ніж 10 країнах Європи, банкомати були схильні до дистанційного нападу.

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Атака на банкомат через віддалений доступ

Антивіруси, блокування оновлення прошивки, блокування USB-портів та шифрування жорсткого диска – певною мірою захищають банкомат від вірусних атак кардерів. Але якщо кардер не хост атакує, а безпосередньо до периферії підключається (через RS232 або USB) – до зчитувача карт, пін-паду або пристрою видачі готівки?

Перше знайомство з «чорною скринькою»

Сьогодні технічно підковані кардери чинять саме так, використовуючи для крадіжки готівки з банкомату т.зв. "чорні ящики", - специфічно запрограмовані одноплатні мікрокомп'ютери, на зразок Raspberry Pi. «Чорні ящики» спустошують банкомати повністю, цілком чарівним (з точки зору банкірів) чином. Кардери підключають свій чарівний пристрій безпосередньо до пристрою видачі банкнот; для вилучення з нього всіх наявних грошей. Така атака діє в обхід усіх програмних засобів захисту, розгорнутих на хості банкомату (антивіруси, контроль цілісності, повне шифрування диска тощо).

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
«Чорна скринька» на базі Raspberry Pi

Найбільші виробники банкоматів та урядові спецслужби, зіткнувшись із кількома реалізаціями «чорної скриньки», попереджають, що ці хитромудрі комп'ютери спонукають банкомати випльовувати всі доступні готівка; по 40 банкнот кожні 20 секунд. Також спецслужби попереджають, що кардери найчастіше націлюються на банкомати в аптеках, торгових центрах; а також на банкомати, які обслуговують автомобілістів «на ходу».

При цьому, щоб не світитися перед камерами, найбільш обережні кардери беруть на допомогу якогось не надто цінного партнера, мула. А щоб той не зміг присвоїти «чорну скриньку» собі, використовують наступну схему. Прибирають із «чорної скриньки» ключову функціональність і підключають до нього смартфон, який використовують як канал для дистанційної передачі команд урізаному «чорному ящику», за IP-протоколом.

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Модифікація «чорної скриньки», з активацією через віддалений доступ

Як це виглядає з погляду банкірів? На записах з відеокамер-фіксаторів відбувається приблизно таке: якась особа розкриває верхній відсік (зону обслуговування), підключає до банкомату «чарівну скриньку», закриває верхній відсік і йде. Трохи згодом кілька людей, на вигляд звичайні клієнти, підходять до банкомату і знімають величезні суми грошей. Потім кардер повертається і витягає із банкомату свій маленький чарівний пристрій. Зазвичай факт атаки банкомату «чорним ящиком» виявляється лише за кілька днів: коли порожній сейф та журнал зняття готівки – не збігаються. У результаті співробітникам банку залишається лише чухати потилиці.

Аналіз банкоматних комунікацій

Як зазначалося вище, взаємодія між системним блоком і периферійними пристроями здійснюється за допомогою USB, RS232 або SDC. Кардер підключається безпосередньо до порту периферійного пристрою та відправляє йому команди – в обхід хоста. Це досить просто, тому що стандартні інтерфейси не потребують якихось специфічних драйверів. А пропрієтарні протоколи, якими периферія і хост взаємодіють, не вимагають авторизації (адже пристрій усередині довіреної зони знаходиться); і тому ці незахищені протоколи, якими периферія і хост взаємодіють – легко прослуховуються і легко піддаються атаці відтворення.

Т.о. кардери можуть використовувати програмний або апаратний аналізатор трафіку, підключаючи його безпосередньо до порту конкретного периферійного пристрою (наприклад, до зчитувача карток) – для збору даних, що передаються. Користуючись аналізатором трафіку, кардер дізнається про всі технічні подробиці роботи банкомату, у тому числі недокументовані функції його периферії (наприклад, функція зміни прошивки периферійного пристрою). Внаслідок цього кардер отримує повний контроль над банкоматом. При цьому виявити наявність аналізатора трафіку досить важко.

Прямий контроль над пристроєм видачі банкнот означає, що касети банкомату можуть бути спустошені без фіксації в логах, які в штатному режимі вносить софт, розгорнутий на хості. Для тих, хто не знайомий із програмно-апаратною архітектурою банкомату, це справді як магія може виглядати.

Звідки беруться "чорні ящики"?

Постачальники банкоматів та субпідрядники розробляють налагоджувальні утиліти для діагностики апаратної частини банкомату – у тому числі електромеханіки, яка відповідає за зняття готівки. Серед таких утиліт: ATMDesk, RapidFire ATM XFS. На малюнку нижче представлено ще кілька таких діагностичних утиліт.

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Панель керування ATMDesk

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Панель керування RapidFire ATM XFS

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Порівняльні характеристики кількох діагностичних утиліт

Доступ до подібних утиліт в нормі обмежений персоналізованими токенами; і працюють вони тільки при відкритих дверцятах банкоматного сейфа. Однак просто замінивши у бінарному коді утиліти кілька байт, кардери. можуть «протестувати» зняття готівки – в обхід перевірок, передбачених виробником утиліти. Кардери встановлюють такі модифіковані утиліти на свій ноутбук або одноплатний мікрокомп'ютер, які підключають безпосередньо до пристрою видачі банкнот, для несанкціонованого вилучення готівки.

«Остання миля» та підроблений процесинговий центр

Пряма взаємодія з периферією, без спілкування з хостом – це лише один із ефективних прийомів кардингу. Інші прийоми покладаються на той факт, що ми маємо широку різноманітність мережевих інтерфейсів, через які банкомат зв'язується із зовнішнім світом. Від X.25 до Ethernet та стільникового зв'язку. Багато банкоматів можуть бути ідентифіковані та локалізовані за допомогою сервісу Shodan (найбільш лаконічна інструкція щодо його використання представлена тут), - з наступною атакою, що паразитує на вразливій конфігурації безпеки, ліні адміністратора та вразливих комунікаціях між різними підрозділами банку.

«Остання миля» зв'язку між банкоматом і процесинговим центром, багата на найрізноманітніші технології, які можуть бути точкою входу для кардера. Взаємодія може здійснюватися за допомогою проводового (телефонна лінія або Ethernet) або бездротового (Wi-Fi, стільниковий зв'язок: CDMA, GSM, UMTS, LTE) способу зв'язку. Механізми безпеки можуть включати: 1) апаратні або програмні засоби для підтримки VPN (як стандартні, вбудовані в ОС, так і від сторонніх виробників); 2) SSL/TLS (як специфічні для конкретної моделі банкомату, і від сторонніх виробників); 3) шифрування; 4) автентифікація повідомлень.

Однак схоже, що для банків перелічені технології видаються дуже складними, і тому вони не обтяжують себе спеціальним мережевим захистом; або реалізують її з помилками. У кращому випадку банкомат зв'язується з VPN-сервером, і вже всередині приватної мережі – підключається до центру. Крім того, навіть якщо банкам і вдасться реалізувати перелічені вище захисні механізми, – у кардера вже є ефективні атаки проти них. Т.о. навіть якщо безпека відповідає стандарту PCI DSS, банкомати все одно залишаються вразливими.

Одна з основних вимог PCI DSS: всі конфіденційні дані, коли вони передаються через загальнодоступну мережу, мають бути зашифровані. І адже у нас дійсно є мережі, які спочатку були спроектовані так, що дані повністю зашифровані! Тому є спокуса сказати: "У нас дані зашифровані, тому що ми використовуємо Wi-Fi та GSM". Однак багато з цих мереж не забезпечують достатнього захисту. Стільникові мережі всіх поколінь вже давно зламані. Остаточно і безповоротно. І навіть є постачальники, які пропонують пристрої для перехоплення даних, що передаються по них.

Тому або в небезпечній комунікації, або в «приватній» мережі, де кожен банкомат широко мовить про себе іншим банкоматам, може бути ініційована MiTM-атака «підроблений процесинговий центр», яка призведе до того, що кардер захопить контроль над потоками даних, що передаються між банкоматом та процесинговим центром.

Таким MiTM-атакам потенційно піддаються тисячі банкоматів. На шляху до справжнього процесингового центру кардрер вставляє свій, підроблений. Цей підроблений процесинговий центр дає банкомату команди видачу банкнот. При цьому кардер налаштовує свій процесинговий центр таким чином, щоб видача готівки відбувалася незалежно від того, яка карта вставляється в банкомат – навіть якщо термін її дії минув, або на ній нульовий баланс. Головне, щоб підроблений процесинговий центр дізнався її. Як підроблений процесинговий центр може бути або кустарний виріб, або симулятор процесингового центру, спочатку розроблений для налагодження мережевих налаштувань (ще один подарунок «виробника» – кардерам).

На наступному малюнку наведено дамп команд на видачу 40 банкнот із четвертої касети, – відправлених із підробленого процесингового центру та збережених у журналах ATM-софту. Вони виглядають майже справжніми.

Кардинг та «чорні ящики»: як зламують банкомати сьогодні
Дамп команд підробленого процесингового центру

Джерело: habr.com

Додати коментар або відгук