На внутреннем red team для банка из топ-30 мы дошли от spear-phishing письма до операторского АРМ SWIFT за 19 дней - при двух файрволах и выделенном VLAN для secure zone. Один сервисный аккаунт с правами на обе зоны превратил формальную сегментацию в декорацию. Этот сценарий один в один повторяет kill chain Lazarus Group в инциденте с Bangladesh Bank и группировки Cobalt в атаке на российский «Глобэкс»: атаки на SWIFT межбанковские системы - не эксплуатация уязвимости в протоколе, а многонедельная APT-операция через слабейшее звено - людей и корпоративную сеть вокруг secure zone. Ниже - полная цепочка от initial access до Financial Theft (T1657) с маппингом MITRE ATT&CK, разбором реальных инцидентов и конкретными Sigma-правилами для детекта.
Kill chain атак на SWIFT-инфраструктуру
Ни одна крупная кибератака на банки SWIFT не случилась за один день. По данным ISACA, каждый известный инцидент - результат планомерной операции, растянутой на недели и месяцы. Атакующие проходят через чёткие фазы, которые укладываются в классический Cyber Kill Chain, адаптированный под финансовую инфраструктуру. Разберём каждую фазу с привязкой к реальным TTP.Initial access: фишинг операторов и доверенные отношения
Точка входа в банковскую сеть - Spearphishing Attachment (T1566.001, Initial Access). И Lazarus Group, и группировка Cobalt использовали один паттерн: таргетированное письмо сотруднику банка с вложением - PDF или DOCX с макросами, замаскированным под платёжное поручение, запрос регулятора или уведомление от SWIFT. По данным ISACA, доставка вредоноса шла также через malvertising, drive-by download и даже заражённые USB-носители. Но эндпоинты операторов оставались главной точкой входа.Второй вектор - Trusted Relationship (T1199, Initial Access). В России до конца 2018 года взаимодействие SWIFT с рядом банков шло через сервис-бюро - посредников, которые имели доступ к конфиденциальной информации пользователей, включая IP-адреса и критическую инфраструктуру (точное название компании-посредника требует верификации по первоисточнику). Управляющий партнёр «Россвифт» Максим Зимовнов публично указывал на этот риск: компрометация посредника давала потенциальный доступ ко множеству банков-клиентов одновременно. По сути - supply chain attack на финансовый сектор целой страны.
Выбор вектора зависит от сценария:
| Сценарий | Приоритетный вектор | Контекст |
|---|---|---|
| Внутренний пентест, grey box (есть email-адреса сотрудников) | Spearphishing Attachment (T1566.001) | Целевые письма операторам SWIFT и их руководителям |
| Внутренний пентест, black box (нет учётных данных) | OSINT + LinkedIn recon для сбора email-адресов, затем фишинг | Требует 1-2 недели подготовки |
| Физический доступ к офису | USB drop, rogue device в офисном сегменте | Актуально для банков без контроля USB на АРМ |
| Внешний пентест (без внутреннего доступа) | Recon публичных сервисов банка, web-приложения | SWIFT secure zone не должна иметь прямого выхода в интернет - вектор нерелевантен |
Lateral movement: от офисной сети до secure zone
После initial access атакующий оказывается в офисном сегменте - до SWIFT ещё далеко. Дальше начинается lateral movement, и в банковском контексте у него своя специфика.Credential harvesting через Keylogging (T1056.001, Credential Access) - вредонос записывает нажатия клавиш на скомпрометированных рабочих станциях, перехватывая пароли к внутренним системам. Параллельно атакующий снимает скриншоты рабочего стола - не ради красивых картинок, а чтобы понять бизнес-процессы банка и вычислить операторов SWIFT.
Valid Accounts (T1078, Initial Access / Persistence / Privilege Escalation) - ключевая техника всей цепочки. Атакующий использует перехваченные credentials для легитимного входа в системы, и сигнатурные детекты молчат - аутентификация-то настоящая. По данным Intervalle Technologies, 67% успешных атак на SWIFT-инфраструктуру включали компрометацию учётных данных, а 45% - эксплуатацию непатченных уязвимостей в сетевых устройствах secure zone (выборка и методология исследования не раскрыты - к цифрам стоит относиться с оговоркой).
Masquerading (T1036, Defense Evasion) - маскировка вредоносных процессов и файлов под легитимные банковские приложения. SOC видит знакомое имя процесса и не дёргается.
Среднее время от проникновения до вывода средств - 3-4 недели. Эту цифру подтверждает расследование Group-IB по инциденту с «Глобэкс». За это время атакующий картирует сетевую топологию, находит пути от офисного сегмента к secure zone и закрепляется.
Ограничения в современных средах: банки с зрелым SOC и EDR-покрытием на эндпоинтах secure zone детектируют lateral movement через аномальные аутентификации и поведенческий анализ. Но legacy-инфраструктуры с Windows Server 2008/2012 в secure zone - а таких в реальных проектах пока немало - часто не имеют EDR-агентов вообще. Мониторинг таких сегментов ограничен сетевым уровнем, и это создаёт слепую зону размером с грузовик.
Манипуляция SWIFT-сообщениями и вывод средств
Финальная фаза объединяет Transmitted Data Manipulation (T1565.002, Impact) и Financial Theft (T1657, Impact).Добравшись до операторского АРМ с Alliance Access, атакующий:
- Формирует поддельные SWIFT-сообщения - MT103 для клиентских переводов, MT202 для межбанковских - на вывод средств на подконтрольные счета
- Модифицирует серверное ПО Alliance Access для сокрытия следов: подавляет печать подтверждений, удаляет записи из локальной базы транзакций
- Применяет Clear Windows Event Logs (T1070.001, Defense Evasion) для затруднения forensic-расследования
Реальные инциденты: разбор компрометации банковских сетей по TTP
Bangladesh Bank 2016: анатомия хищения $81M
Инцидент с Центральным банком Бангладеш - каноничный кейс для анализа финансовых киберугроз. APT38 - финансово-мотивированный кластер, выделенный из Lazarus Group в 2018 году (по классификации Mandiant; связан с Главным разведывательным управлением (Reconnaissance General Bureau, RGB) КНДР согласно FBI, US Treasury и Mandiant) - провела многомесячную операцию.| Фаза | TTP (MITRE ATT&CK) | Что произошло |
|---|---|---|
| Initial Access | Spearphishing Attachment (T1566.001) | Вредоносное вложение сотруднику банка |
| Credential Access | Keylogging (T1056.001), Valid Accounts (T1078) | Перехват credentials операторов SWIFT |
| Lateral Movement | Valid Accounts (T1078) | Перемещение от офисного сегмента к SWIFT secure zone |
| Impact | Transmitted Data Manipulation (T1565.002) | Отправка 35 платёжных инструкций на $951M через Alliance Access; 5 из них прошли (~$101M), 30 заблокированы |
| Impact | Financial Theft (T1657) | Вывод ~$101M: $81M на счета в Филиппинах, $20M в Шри-Ланку (заблокированы и возвращены) |
| Defense Evasion | Clear Windows Event Logs (T1070.001), Masquerading (T1036) | Модификация ПО Alliance Access для подавления алертов |
Атакующие модифицировали серверное ПО Alliance Access, чтобы подавить автоматическую печать подтверждений SWIFT-транзакций. Это создало временное окно - пока в банке не хватились, деньги уже ушли. Изначально злоумышленники направили 35 платёжных инструкций на $951 миллион. Большую часть заблокировали промежуточные банки - по иронии, из-за опечатки в названии получателя (слово «fandation» вместо «foundation» в одной из транзакций вызвало подозрение у Deutsche Bank). По данным Radware, к 2018 году удалось вернуть лишь около $15 миллионов из выведенных на Филиппины $81 миллиона (оценки варьируются: Radware указывает ~$18M; по данным Reuters и DOJ - ближе к $15M).
Инцидент обнажил фундаментальную проблему: взлом SWIFT банк произошёл не через уязвимость протокола, а через слабую внутреннюю безопасность конкретного учреждения - устаревшее ПО, отсутствие оперативного мониторинга и недостаточный контроль доступа к операторским станциям. Протокол был в порядке. Всё вокруг него - нет.
Lazarus Group не ограничивалась одной целью: по данным Radware, группировка успешно атаковала банки в Эквадоре ($12 миллионов из Banco del Austro, январь 2015, частично возвращено; атрибуция APT38 предположительна), Вьетнаме (попытка вывода $1,36 миллиона из Tien Phong Bank, 2015, заблокирована до завершения) и Тайване (попытка вывода ~$60 миллионов из Far Eastern International Bank, 2017 - почти все средства возвращены, безвозвратно потеряно менее $0,5M). Всего APT38 атаковала SWIFT-эндпоинты, банки и финансовые организации минимум в 38 странах.
«Глобэкс» 2017: первый SWIFT-вывод из российского банка
15 декабря 2017 года дочерний банк ВЭБа «Глобэкс» подвергся атаке группировки Cobalt - первому в России инциденту с выводом средств через SWIFT. По данным Group-IB, проводившей расследование:- Проникновение произошло через банковское вредоносное ПО, разосланное несколькими неделями ранее
- Промежуток от initial access до вывода - 3-4 недели
- Средства ушли в Европу, Азию и Америку - сумма, эквивалентная примерно $1 миллиону
- Средства клиентов, по заявлению руководства банка, не пострадали
Характерная деталь для понимания защиты межбанковских систем в России: незадолго до инцидента банк прошёл проверку ЦБ и получил претензии по уровню информационной безопасности. Реализовал ли «Глобэкс» рекомендации - установить не удалось. Но сам факт говорит о многом: аудит нашёл проблемы, через пару месяцев те же проблемы нашёл Cobalt.
Архитектура SWIFT secure zone глазами атакующего
Alliance Access и операторские АРМ: поверхность атаки
Типичная архитектура SWIFT в банке, описанная в материалах ISACA, включает три компонента: secure zone (изолированный сегмент с Alliance Access или Alliance Gateway и HSM для криптографической подписи сообщений), операторские АРМ (рабочие станции сотрудников, авторизованных на формирование и подтверждение SWIFT-сообщений) и middleware-интеграцию между core banking system (АБС) и SWIFT.Глазами атакующего - критические точки компрометации:
| Компонент | Вектор | Применимость | Детект |
|---|---|---|---|
| Операторский АРМ | Keylogging (T1056.001), перехват сессий | Внутренний пентест, grey box | EDR на АРМ, мониторинг процессов |
| Alliance Access сервер | Модификация бинарников, манипуляция локальной БД | Внутренний пентест с доступом к secure zone | File integrity monitoring |
| Сетевой периметр secure zone | Valid Accounts (T1078) через сервисный аккаунт | Любой внутренний сценарий | Аномальные аутентификации вне рабочих часов |
| Middleware / интеграция с АБС | Man-in-the-middle между АБС и Alliance Access | Внутренний пентест, legacy-инфраструктура | Контроль целостности сообщений на стороне АБС |
Через систему SWIFT проходит более 40 миллионов сообщений в день, к сети подключено свыше 11 000 финансовых учреждений в 200+ странах. В России - более 600 банков. Каждый из них потенциально может стать целью, если атакующий найдёт путь от офисного сегмента к secure zone. А он найдёт - вопрос времени и качества сегментации.
Детект атак на SWIFT: что видит и не видит SIEM
Обнаружение атак на финансовую инфраструктуру упирается в три проблемы. Alliance Access генерирует логи специфического формата, которые не парсятся стандартными SIEM-коннекторами из коробки - нужны кастомные парсеры. Операторские АРМ часто находятся в «слепой зоне»: EDR не установлен из-за legacy ОС или сертификационных ограничений, Sysmon не настроен. И самое неприятное: Valid Accounts (T1078) с реальными credentials оператора не генерирует алерт - аутентификация выглядит легитимно.Что реально стоит мониторить для SWIFT fraud detection:
YAML:
# Sigma: аутентификация оператора SWIFT вне рабочего времени
title: SWIFT Operator Login Outside Business Hours
logsource:
product: windows
service: security
detection:
selection:
EventID: 4624
TargetUserName|contains: 'swift_op'
condition: selection
# ВНИМАНИЕ: Sigma не поддерживает нативную фильтрацию по времени суток.
# Это правило сработает на ЛЮБОЙ логин swift_op.
# Фильтрацию по нерабочим часам (например, 00-06, 22-24) реализуйте
# на стороне SIEM-бэкенда (date_hour в Splunk, hour() в Elastic).
level: high
YAML:
# Sigma: создание файлов в директории Alliance Access
# ВАЖНО: Sysmon EventID 11 = FileCreate, не модификация.
# Для детекта изменения существующих бинарников используйте FIM
# или Sysmon EventID 2 (FileCreateTime change) дополнительно.
title: Alliance Access Suspicious File Create
logsource:
product: sysmon
detection:
selection:
EventID: 11
TargetFilename|contains:
- '\Alliance Access\'
- '\SWIFT\'
TargetFilename|endswith:
- '.exe'
- '.dll'
- '.jar'
filter:
Image|endswith:
- '\swift-installer.exe'
- '\msiexec.exe'
condition: selection and not filter
level: critical
Контекст для SOC-инженеров: правила выше - отправная точка, не готовое решение. В реальной инфраструктуре
TargetUserName будет привязан к конкретным доменным учётным записям операторов, а timeframe - к рабочему расписанию конкретного банка. Без адаптации к конкретной среде правила бесполезны.SWIFT Customer Security Programme: контроли, которые ломают kill chain
SWIFT запустила Customer Security Programme (CSP) в 2017 году после волны атак. К 2026 году требования ужесточаются: все банки-участники обязаны пройти независимый аудит и подтвердить соответствие через ежегодную аттестацию. Несоблюдение может привести к ограничению доступа к сети SWIFT.Контроли SWIFT CSP и их влияние на каждую фазу kill chain:
| SWIFT CSP-контроль | Фаза kill chain | Эффект для атакующего |
|---|---|---|
| Ограничение интернет-доступа из secure zone | C2, Data Exfiltration | Нет callback из secure zone - нужен альтернативный канал |
| MFA для операторов | Valid Accounts (T1078) | Перехваченный пароль бесполезен без второго фактора |
| Integrity checking ПО Alliance Access | Transmitted Data Manipulation (T1565.002) | Модификация бинарников детектируется автоматически |
| Обязательный transaction monitoring | Financial Theft (T1657) | Аномальные переводы блокируются до исполнения |
| Log retention и мониторинг | Clear Windows Event Logs (T1070.001) | Очистка логов генерирует алерт |
| Mandatory penetration testing | Весь kill chain | Идентификация путей lateral movement до реальной атаки |
По данным Intervalle Technologies, финансовый сектор - наиболее атакуемая отрасль: 23% всех кибератак в мире. Количество атак на банковские сети за последние два года выросло на 238%. Банки со стандартизированными процедурами реагирования сокращают MTTD на 76% и MTTC на 84% (по данным Intervalle Technologies; первичный источник цифр не раскрыт) по сравнению с банками, работающими в реактивном режиме. Отсутствие единых фреймворков, общей терминологии и совместимых протоколов обмена информацией между банками до сих пор остаётся системной проблемой APT финансового сектора.
CSP - серьёзный шаг, но программа покрывает secure zone и не защищает от initial access через офисный сегмент. А именно там начинается каждая известная атака на SWIFT.
За четыре года участия в аудитах SWIFT-инфраструктуры банков картина складывается одинаковая: secure zone формально изолирована, контроли SWIFT CSP на бумаге выполнены, но lateral movement от офисного сегмента до АРМ оператора занимает от двух до четырёх недель. Проблема не в отсутствии контролей - проблема в разрыве между защищённой зоной и остальной сетью банка. CSP защищает периметр SWIFT, но атакующий приходит не из интернета - он приходит изнутри, через скомпрометированного сотрудника с reused-паролем и доменный аккаунт с избыточными правами.
Lazarus и Cobalt это понимают. Их kill chain построен на том, что самый дорогой и защищённый компонент инфраструктуры - Alliance Access - окружён обычной корпоративной сетью с обычными проблемами: сервисные аккаунты, гуляющие между сегментами, отсутствие микросегментации, EDR только на части хостов. Пока банки воспринимают CSP как чек-лист для аудитора, а не как фундамент операционной безопасности, кибератаки на банки SWIFT будут приносить результат. Формула на бумаге понятна, но kill chain по-настоящему ощущается, только когда сам прогоняешь цепочку от фишинга до цели. Если интересно посмотреть, как lateral movement и privilege escalation разбираются на живом стенде - задачи по этим техникам есть на HackerLab.pro.