Фотография карты в чате — открытые данные для любого OCR

«Мы неосознанно живём в новом мире, где фотография, это не картинка, а набор текста, координат и данных, которые могут быть извлечены мгновенно и в промышленных масштабах. Простая привычка отправить фото карты, не закрыв код, превращает защищённый объект в открытый текст для любого скрипта или модели.»

Три заблуждения, которые делают нас уязвимыми

Мы часто оцениваем риски по старым шаблонам. Двадцать лет назад главной угрозой для карты был её физический контакт с скиммером на банкомате. Десять лет назад — утечка базы данных из-за взлома магазина. Эти модели мышления переносятся на цифровую фотографию, создавая ложное чувство безопасности.

Заблуждение первое: «Это просто картинка». Современное OCR (Optical Character Recognition, оптическое распознавание символов) на базе нейросетей научилось читать с фото не только ровный текст на белом фоне, но и искажённые символы под углом, на фактурной или засвеченной поверхности. Точность близка к 99%. Для него фото карты, это не изображение, а файл с текстом, который нужно извлечь.

Заблуждение второе: «Фото остаётся только в чате с доверенным лицом». Любой мессенджер хранит медиафайлы на своих серверах. Даже при использовании сквозного шифрования, на устройстве получателя фото расшифровывается и хранится в кэше. Любое вредоносное приложение на телефоне, получившее доступ к хранилищу через уязвимость в ОС, может собрать эти изображения. Кроме того, получатель может случайно переслать фото или сохранить его в небезопасном облаке.

Заблуждение третье: «Для клонирования нужен доступ к чипу». Это верно для полного клонирования современной чиповой карты (EMV). Однако большинство платежей в интернете и многие бесконтактные операции на небольшие суммы (по правилам платёжных систем) проходят по данным с магнитной полосы: номер карты, срок действия и CVV/CVC-код. Эти данные как раз и содержатся на лицевой стороне карты. Получив их, злоумышленник может оформить покупку в онлайн-магазине, который не требует 3-D Secure, или добавить карту в мобильный кошелёк на чужом устройстве, что также иногда возможно.

Связка OCR и ИИ: как выглядит атака сегодня

Процесс автоматизирован до предела и не требует участия хакера-профессионала. Его можно разбить на несколько этапов.

Этап 1. Сбор изображений

Вредоносное ПО на смартфоне или скрипт в облачном хранилище, куда синхронизируются фото из чатов, сканирует галерею на предмет изображений, похожих на банковские карты. Алгоритм ищет характерные признаки: прямоугольные объекты с 16-19 цифрами, разделёнными на группы, с логотипами платёжных систем в углу. Подозрительные файлы отправляются на сервер злоумышленника.

Этап 2. Извлечение данных (OCR)

На сервере запускается движок OCR, например, на базе Tesseract или коммерческих решений вроде ABBYY FineReader Engine. Современные версии дообучаются на датасетах с фото карт, чтобы лучше распознавать эмбоссированные (выдавленные) цифры, которые создают тени и помехи.

# Примерный принцип обработки через Tesseract с предварительной очисткой изображения
import pytesseract
from PIL import Image, ImageEnhance, ImageFilter

def extract_card_data(image_path):
    img = Image.open(image_path)
    # Улучшение контраста и резкости для эмбоссированных цифр
    enhancer = ImageEnhance.Contrast(img)
    img = enhancer.enhance(2.0)
    img = img.filter(ImageFilter.SHARPEN)
    # Указание конфигурации для Tesseract (предполагаем, что это цифры)
    custom_config = r'--oem 3 --psm 6 outputbase digits'
    text = pytesseract.image_to_string(img, config=custom_config)
    return text

В результате скрипт получает строку текста, содержащую номер карты, имя держателя, срок действия. Задача выделить из этого текста структурированные данные ложится на следующий этап.

Этап 3. Верификация и структурирование (ИИ/скрипты)

Простая OCR может выдать мусор. Здесь подключаются правила и модели, которые проверяют извлечённые данные на валидность. Алгоритм Луна (Luhn algorithm) мгновенно проверяет контрольную сумму номера карты. Регулярные выражения ищут паттерны дат (ММ/ГГ или ММ/ГГГГ). Имя держателя отделяется от остального текста.

Если какие-то данные нечёткие (например, последняя цифра срока действия), нейросеть-трансформер, дообученная на аналогичных данных, может предсказать наиболее вероятный символ на основе контекста (например, зная банк-эмитент и первые цифры номера).

Этап 4. Автоматизация мошеннических операций

Полученный структурированный набор данных (PAN, срок, CVV, имя) попадает в так называемый «кардинг-бот». Это автоматизированная система, которая проверяет карты на работоспособность. Бот совершает микродонации благотворительным фондам или проверочные покупки в интернет-магазинах с минимальной суммой. Если операция проходит успешно, данные карты помечаются как валидные и отправляются на продажу в даркнет либо используются для более крупных покупок.

Российский контекст: почему риски выше, чем кажется

В России сложилась специфическая среда, которая усиливает эти риски.

  • Доминирование двух-трёх мессенджеров. Большинство коммуникаций, в том числе деловых, сосредоточено в одном-двух популярных мессенджерах. Это создаёт огромные централизованные хранилища медиафайлов, которые становятся приоритетной целью для атак как через уязвимости в клиентских приложениях, так и через компрометацию аккаунтов (SIM-свопинг, фишинг).
  • Распространённость «серых» каналов продаж. В Telegram-каналах и чатах часто проходят сделки между физлицами: продажа техники, билетов, аренда. Для подтверждения оплаты покупатель нередко отправляет продавцу фото карты с выделенной суммой перевода. Такое фото, попав в чужой чат, теряет любой контекст приватности.
  • Онлайн-эквайринг без строгой аутентификации. Хотя 3-D Secure (протокол безопасных онлайн-платежей) является обязательным, для некоторых типов операций (например, рекуррентные платежи, оплата через быстрые платежи по СБП, где карта выступает источником) или в отдельных платёжных шлюзах проверка иногда пропускается, особенно для небольших сумм.
  • Особенность хранения данных. Российское законодательство (152-ФЗ) обязывает операторов обрабатывать персональные данные, к которым косвенно можно отнести и фото карты, на территории РФ. Однако техническая реализация защиты медиафайлов в мессенджерах не всегда прозрачна. Факт хранения в российском дата-центре сам по себе не гарантирует, что к изображениям нет доступа у сотрудников или что они надёжно зашифрованы.

Что не защитит, а только создаст иллюзию безопасности

Люди интуитивно пытаются «замазать» часть данных на фото, но делают это неэффективно.

Ненадёжный метод Почему это не работает
Размытие (Blur) стандартными инструментами в телефоне Слабое размытие (гауссово) обратимо с помощью алгоритмов деконволюции. Даже сильное размытие оставляет статистические паттерны, которые может восстановить нейросеть, обученная на подобных искажениях.
Закрытие части цифр пальцем или стикером Алгоритмы, обученные на миллионах карт, могут достраивать пропущенные цифры по первым шести (BIN — идентификатор банка) и алгоритму Луна. Закрыв только 4 последние цифры, вы оставляете 75% номера для предсказания.
Съёмка под углом Современное OCR с коррекцией перспективы легко справляется с этим. Более того, угол может оставить видимым CVV-код на оборотной стороне, который часто забывают закрыть.
Отправка «самоуничтожающегося» фото Функция «просмотр один раз» предотвращает только сохранение через официальный интерфейс приложения. Скриншот экрана или запись видео другим устройством/приложением остаются возможными. Сервер мессенджера в любом случае получает и временно хранит полную версию изображения.

Как действовать: технические и поведенческие меры

Полностью устранить риск нельзя, но можно свести его к пренебрежимо малому.

Если фото карты — вынужденная необходимость (например, для бухгалтерии):

  1. Используйте маскирование с гарантированным уничтожением данных. Вместо размытия — сплошная чёрная полоса, нарисованная поверх цифр в графическом редакторе. Сохраняйте изображение в формате PNG, а не JPEG, чтобы не было артефактов сжатия вокруг закрашенной области. Лучше использовать специальные приложения-маскировщики, которые заменяют исходные пиксели случайным шумом.
  2. Разделяйте данные. Никогда не снимайте лицевую и оборотную сторону карты на одном фото. Отправляйте номер карты и срок действия одним сообщением, а CVV-код — другим, желательно другим каналом (например, номер карты в чате, CVV — звонком). Это нарушает автоматический пайплайн сбора данных.
  3. Используйте виртуальные карты. Большинство российских банков позволяют выпускать одноразовые или ограниченные по сумме/сроку виртуальные карты специально для онлайн-платежей или рискованных операций. Сфотографировать и отправить можно именно её. Даже если данные утекут, ущерб будет ограничен.

В повседневной практике:

  • Включите в настройках банковского приложения уведомления о всех операциях, включая малые суммы. Первый признак компрометации — микросписание (1-5 рублей).
  • Откажитесь от привычки фотографировать карту для напоминания её номера. Используйте для этого менеджеры паролей с функцией безопасного хранения платёжных данных.
  • Не храните в галерее смартфона фотографии документов, билетов, посадочных талонов (в них также часто содержится частичная информация о карте). Регулярно очищайте «недавно удалённые».

Технологии извлечения данных из изображений стали товаром массового спроса. Тот самый «скрипт-кид», который десять лет назад мог только запустить DDoS, сегодня за небольшие деньги арендует сервис OCR-as-a-Service и начинает массовый сбор данных из открытых источников и скомпрометированных устройств. Фотография карты в чате, это не частный снимок, а публичное размещение платёжных реквизитов в среде, где присутствуют автоматические сборщики. Осознание этого меняет подход к цифровой гигиене.

Оставьте комментарий