Разработка системы блокировки подозрительных адресов

Подозрительные адреса проходят проверки, а честные клиенты получают отказ — репутация и лицензии под угрозой. Мы проектируем и внедряем блокировку подозрительных адресов под ключ: правила, поведенческий скоринг, регламенты для вашей команды. Ложные блокировки снижаются в разы, время реакции на инцидент сокращается с часов до минут.
Часто задаваемые вопросы

Почему блокировка подозрительных адресов ломается на масштабе

Первый инцидент обычно закрывают вручную: адрес попадает в чёрный список уже после того, как средства ушли. Пока список живёт в таблице, каждая правка идёт через разработчика, а проверка заявки занимает часы. Ручной чёрный список держит нагрузку, пока адресов десятки, — на сотнях он превращается в узкое место.

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

Обход ограничений ломает и саму логику проверок. Средства дробятся, проходят через промежуточные адреса и сервисы обмена — прямой поиск по списку их не видит, а блокировка одного адреса не мешает вывести остаток по цепочке. Чем выше ставки, тем быстрее меняется схема, и статичный список перестаёт её догонять.

На масштабе проблема не в отсутствии списка, а в отсутствии процесса: сигнал, оценка риска, автоматическое решение, журнал действий и разбор ошибок. Поэтому блокировка подозрительных адресов должна работать как сервис с правилами и метриками, а не как таблица. Разбираем, как это закрывается.

Операционный эффект: что меняется в метриках после внедрения

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

Точность срабатываний задаётся порогами: одно совпадение по имени не блокирует, решение принимается по совокупности признаков, поэтому доля ложных ограничений падает, а реальные попытки вывода не проходят. Охват при этом шире ручного режима — проверяются входящие, исходящие и внутренние переводы между счетами, а не только суммы выше установленного лимита.

Уходит целый класс отказов: инцидент, в котором вывод успевал состояться до решения аналитика. Нагрузка на ручной разбор меняется следом — автоматика закрывает типовые срабатывания, и специалист разбирает только спорные случаи, где признаки противоречат друг другу. Калибруем пороги по внешним данным риска, включая Chainalysis, и по собственной статистике: правила, дающие шум, пересматриваются, а не копятся.

Режимы работы: ручные правила, скоринг, гибридная схема

Режим выявления и остановки операций выбирают не по «умности» модели, а по тому, что важнее в вашем риск-профиле: скорость реакции, объяснимость решения перед проверкой или трудозатраты на поддержку. Ниже — три схемы и их ограничения.

Статические правила сверяют адрес с санкционными перечнями, внутренним реестром инцидентов и белыми списками. Решение детерминированное: совпадение — операция останавливается, нет — проходит дальше. Ограничение принципиальное: правило работает только по известным адресам, а перевод разбивается на цепочку промежуточных кошельков раньше, чем адрес попадёт в перечень.

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

Гибридная схема держит правила как жёсткий барьер, а скоринг применяет к остальному потоку с настраиваемыми порогами: ниже — пропуск, в средней зоне — ручная проверка, в верхней — автоматическая остановка. Внешние базы вроде Chainalysis подключаются как справочник адресов, а не как готовая политика.

Режим Как работает Сильная сторона Ограничение
Статические правила Сверка с санкционными и внутренними списками Мгновенная реакция, решение однозначно объяснимо Ловит только известные адреса, обход через цепочку переводов
Поведенческий скоринг Оценка связей и истории операций по модели Находит неизвестные адреса по косвенным признакам Требует порога и разбора ложных срабатываний
Гибридная схема Правила как барьер, скоринг — на остальной поток Сочетает скорость и объяснимость Нужна регулярная перенастройка весов и порогов

На практике режим выбирают по цене ошибки: там, где недопустим пропуск, пороги ужесточают, а зону ручной проверки расширяют.

Как мы внедряем блокировку: от аудита потоков до передачи регламентов

Блокировка подозрительных адресов — не разовый список, а конвейер решений, где у каждого срабатывания есть причина, порог и владелец. Работу начинаем с аудита потоков: важно понять, сколько адресов и операций проходит через контроль, с какой задержкой и что происходит с сигналом дальше.

  1. Аудит потоков. Фиксируем объём операций в сутки, узкие места и задержку между транзакцией и её оценкой — от этого зависит, нужен ли отдельный контур проверки.
  2. Схема источников риска. Сводим санкционные перечни, данные аналитических сервисов и внутренние разборы инцидентов в одну карту: у каждого источника свой вес, частота обновления и цена ошибки.
  3. Настройка логики. Задаём пороги, окно наблюдения и градацию реакций — пометить, отправить на ручную проверку или заблокировать. Отдельно прописываем исключения для казначейских адресов, чтобы не остановить собственные операции.
  4. Тест на исторических данных. Прогоняем правила на накопленных транзакциях и считаем долю ложных срабатываний и пропущенных адресов. Пороги подкручиваем, пока первая не упадёт, а вторая останется под контролем.
  5. Включение в бой. Сначала теневой режим: система оценивает и пишет решение, но не блокирует. После сверки с ручной проверкой включаем реальную блокировку и следим за потоком срабатываний ежедневно.
  6. Передача регламентов. Отдаём документацию: устройство логики, сроки реакции на срабатывание, порядок разбора апелляции, обновление списков. Дальше пересматриваем пороги и источники — риски меняются.

Что остаётся у вас: конфигурации, политики доступа, регламенты

Передача системы блокировки — не архив с кодом, а рабочий контур: по нему ваши инженеры поднимают тестовый стенд, повторяют поведение правил и разбирают инцидент без нас. Комплект фиксируем в вашем репозитории и реестре документации, с историей изменений и владельцем каждой части.

  • Конфигурации правил — модель риска и пороги срабатывания, профили для основного и тестового контура, порядок выката изменения правила и откат к предыдущей версии.
  • Схема интеграции — точки подключения к аналитике, узлам и учётным системам, форматы обмена данными, поведение при недоступности смежного сервиса.
  • Политики доступа — матрица прав: кто предлагает адрес к блокировке, кто подтверждает решение, кто вправе снять ограничение.
  • Роли операторов — разделение обязанностей дежурной смены, аналитика и администратора, чтобы подтверждение блокировки не зависело от одного человека.
  • Документация системы — справочник полей и статусов, инструкции по типовым операциям, схема прохождения решения от сигнала до применения.
  • Порядок обжалования — канал приёма обращений, сроки ответа, кто принимает решение, как снимается ограничение и что попадает в журнал.
  • Журнал решений — выгрузка по срабатываниям и снятиям с основаниями, чтобы правомерность блокировки подтверждалась данными, а не памятью.

Перед сдачей проходим по каждому пункту вместе с вашей командой: показываем, где лежит артефакт, кто его владелец и что делать при расхождении конфигурации с документацией.

Кейс: как снизили ложные блокировки и время реакции

Клиент — сервис с кастодиальным хранением и обменом, несколько тысяч операций в сутки. Подозрительные адреса отсекались одним правилом: попадание в санкционный или внутренний список означало ручную остановку операции. Аналитик сверял адрес с открытыми источниками и логами Chainalysis, затем оператор вручную придерживал транзакцию — в среднем 40 минут от сигнала до реакции.

Точка старта

Каждое срабатывание уходило в ручной разбор: 60-70 обращений в неделю, больше трети — ложные. Метки ставились без градации риска, поэтому добросовестный адрес, один раз попавший в цепочку транзита, получал ту же остановку, что и явный миксер. Спорные обращения разбирались по почте, ответ занимал до трёх суток, часть операций отменялась безвозвратно.

Что изменили

Ввели балльную оценку риска: адрес получает вес по независимым признакам — прямое попадание в список, глубина связей, доля грязного объёма, давность связи. Порог разбит на уровни: наблюдение, придержание, блокировка. Придержание снимается автоматически, если за заданное окно риск не подтвердился; блокировка требует подтверждения аналитика, и каждое решение пишется в неизменяемый журнал с обоснованием.

Результаты

Реакция на инцидент сократилась с десятков минут до 1-2 минут — придержание срабатывает на этапе подписи транзакции. Доля ошибочных блокировок упала с 34% до 5%: адрес сначала попадает в карантин, где видно, какой признак его задел. Ручной разбор уменьшился почти втрое, спорных обращений стало меньше на порядок — клиент видит причину придержания и срок вместо общей формулировки отказа.

Чем отличается чёрный список от поведенческого скоринга?

Чёрный список отвечает на вопрос «мы точно знаем этот адрес» — и потому даёт максимальную объяснимость: срабатывание ссылается на конкретную запись в перечне, а не на догадку. Источники здесь понятные: регуляторные и санкционные перечни, адреса из разбора инцидентов, подтверждённые кошельки изъятых средств. Ограничение тоже предсказуемое: адрес, которого в списке ещё нет, пройдёт проверку, даже если средства ушли с кошелька, засветившегося вчера вечером.

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

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

На практике методы совмещают в одну схему с разными уровнями реакции. Совпадение со списком — жёсткое правило: блокировка сразу, без порогов. Скоринг даёт оценку риска, и уже она определяет действие: пропустить, отправить в карантин до проверки, запросить у клиента подтверждение источника средств или отказать. Пороги калибруются на исторических данных, чтобы доля ложных срабатываний не росла вместе с охватом.

Отдельная часть схемы — след решений: по какому признаку сработало, кто из аналитиков подтвердил, что ответили клиенту и как адрес попал в перечень. Без этого блокировка превращается в чёрный ящик, а каждая апелляция — в ручной поиск по логам. Мы собираем оба слоя вместе с процедурой обновления перечня и разбора спорных срабатываний.

Спорные случаи и ограничения: частые технические вопросы

Спорные случаи неизбежны: любой риск-скоринг даёт ложные срабатывания. Вопрос не в том, будут ли они, а в том, сколько адрес простоит под ограничением и как быстро разберут обращение. Поэтому в основе лежит не чёрный список, а конвейер: сигнал → карантин → разбор → снятие или подтверждение.

Ограничения метода очерчиваем сразу: система видит поведение на цепочке, но не знает причин перевода, поэтому финальное решение по спорному адресу остаётся за аналитиком. Если у вас уже развёрнут свой контроль адресов, подключаемся к нему, а не заменяем его.

Добросовестный адрес остановлен ошибочно — что дальше?

Сначала карантин, а не полная остановка: входящие проходят, исходящие ограничены лимитом, клиент подаёт обращение. Разбор идёт по регламенту — аналитик сверяет источники сигнала, связи контрагентов и историю адреса. Каждое снятие уточняет признаки, и доля ложных срабатываний на следующих периодах падает.

Можно ли ограничить адрес частично, а не блокировать целиком?

Да: заморозка только исходящих, лимит по суммам за период, остановка одного маршрута при работе остальных, запрет на взаимодействие с отдельным кластером адресов. Частичная блокировка оставляет добросовестному пользователю доступ к сервису и не даёт вывести средства. Для адресов среднего риска это режим по умолчанию.

Как контур ведёт себя под пиковой нагрузкой?

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

Обсудим задачу: что подготовить для точной оценки

Чтобы оценка проекта опиралась на факты, а не на допущения, достаточно вашего описания в свободной форме — готовить формальные требования и документы не нужно. Чем точнее обозначены потоки и текущие правила, тем меньше запаса закладываем в план работ и тем меньше правок всплывает на старте.

  • Описание потоков: откуда приходят адреса на проверку — клиентские кошельки, биржевые зачисления, шлюзы приёма платежей, внутренние переводы; суточный объём и его пики.
  • Источники данных для оценки риска: собственные списки, внешние поставщики метрик, открытые реестры, материалы расследований — что уже подключено и в каком виде приходит вердикт.
  • Текущие правила: по каким признакам адрес сейчас признаётся подозрительным и где это правило живёт — в коде, конфигурации или в голове аналитика, разбирающего очередь вручную.
  • Точки принятия решений: что происходит с транзакцией — блокировка, карантин, ручной разбор, только уведомление; кто и на каком основании снимает блокировку.
  • Роли и доступы: кто инициирует, согласует и отменяет решение, какие данные обязаны остаться в журнале для последующей проверки.
  • Границы интеграции: какие системы должны получать вердикт — процессинг, бэк-офис, клиентский интерфейс, отчётность перед регулятором.
  • Ограничения: допустимая задержка ответа в потоке, глубина хранения истории решений, поведение системы при недоступности внешнего поставщика метрик.

Собрав это, мы возвращаемся с оценкой, схемой движения данных и планом работ по этапам. Дальше согласуем приоритеты, порядок запуска и старт работ.

Направления блокчейн-разработки

Последние работы

  • Разработка сайта компании B2B ADVANCE
    Разработка сайта компании B2B ADVANCE
    1542
  • Разработка веб-приложения для компании FEEDME
    Разработка веб-приложения для компании FEEDME
    1394
  • Разработка веб-сайта для компании БЕЛФИНГРУПП
    Разработка веб-сайта для компании БЕЛФИНГРУПП
    1081
  • Разработка интернет магазина для компании FURNORO
    Разработка интернет магазина для компании FURNORO
    1368
  • Разработка логотипа компании B2B Advance
    Разработка логотипа компании B2B Advance
    815
  • Разработка веб-приложения для компании Enviok
    Разработка веб-приложения для компании Enviok
    1140