Обходим KYC с помощью дипфейков


110
110 points
Обходим KYC с помощью дипфейков

реклама

Данная статья будет про дипфейки. Перевод статьи человека занимающегося – Fraud Simulation.

KYC расшифровывается как «Know Your Customer», то есть «Знай своего клиента». В рамках процедуры KYC финансовая организация должна запросить у зарегистрированного пользователя его персональные данные и документы, проверить их и хранить с соблюдением всех норм безопасности.

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

Не забываем подписываться на наши Telegram каналы:

CPAGRAM — Арбитраж трафика и маркетинг

CPAGRAM Арбитражные кейсы

CPA и арбитраж трафика

Шарим трафик и CPA

CPA MOZG

Тизеры и креативы

Вакансии Арбитраж трафика

Подписаться на все наши telegram каналы в один клик - CPAGRAM TEAM

Когда был выпущен новый инструмент под названием “Deepfake Offensive Toolkit“, утверждающий, что теперь можно в реальном времени вводить глубокие подделки в свою виртуальную камеру и обходить биометрические проверки на жизнеспособность, я был в восторге! Как вы могли заметить, все мои последние посты связаны с подделкой личных данных и обходом проверок KYC в финансовых учреждениях. Я подумал, почему бы не попробовать и не обойти биометрическую проверку с помощью машинного обучения?


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


Когда мы выяснили все предпосылки, мы можем поиграть с фреймворками ML. Но прежде чем приступить к созданию фальшивых видеороликов, нам нужно пройтись по немодифицированному сценарию верификации, чтобы иметь точку отсчета. Я перезагрузил приложение, запустил условия проверки, создал видеоролик с разрешением 640×480 и, используя свой взломанный iPhone, успешно отправил его и прошел проверку.


В ходе проверки я обнаружил следующее:


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

Пример 1. Deepfake Offensive Toolkit, попытка 1


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


Статус: верификация не начата

Пример 2. Deepfake Offensive Toolkit, попытка 2

После того как я перестал играть с различными вариантами настроек, я решил применить свою собственную фотографию к своему собственному видео!

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

Статус: верификация пройдена

Пример 3. DeepFaceLab, попытка 1

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

Но чтобы сэкономить время, я начал с того же требования: заменить себя на себя. Я записал 1000-кадровое видео самого себя, а затем обучил SAEHD-модель, которая была помещена на другое мое видео.

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

Статус: верификация пройдена

Пример 4. DeepFaceLab, попытка 2

Я взял исходное видео, которое запросил у своего друга, и применил к нему переобученную модель:

Получилось видео более приличного качества, чем в первой попытке, но все еще далекое от совершенства. Здесь есть несколько проблем:

– Разные цвета лица, что делает края более очевидными. Как я обнаружил позже, правильные параметры модели DFL исправляют это.

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

– Отсутствие очков. Это может стать тревожным сигналом для служб видеораспознавания. К сожалению, ношение очков создает ужасные артефакты. Эти условия следует изучить подробнее.

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

реклама

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

Статус: проверка не пройдена

Пример 5. Без очков

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

Поскольку очки являются неотъемлемой частью жизни некоторых людей, что, если их отсутствие является основной причиной неудачной верификации? Я отправил немодифицированное видео себя без очков. И не прошел верификацию! Несмотря на то, что абсолютно ничего не изменилось!

Статус: проверка не пройдена

Пример 6. DeepNostalgia+Wav2lip+Face-SPARNet

Теперь, когда мы знаем, что очки имеют решающее значение, я знаю, что мне нужно в финальном видео. Есть только одна проблема: deepfakes с очками всегда были очень низкого качества.
Один из блестящих ML-ученых, Александр, предложил мне посмотреть на https://www.myheritage.com/deep-nostalgia, чтобы анимировать фотографию с очками, которые не выйдут за пределы формы моего лица. Я использовал его для создания короткого видеоролика о себе:

Не самое лучшее качество, но и не самое плохое.

Теперь нужно избавиться от водяных знаков (за это прошу прощения) и применить фреймворк wav2lip, который заставит меня “произносить” слова. Из-за этого качество конечного видео стало еще ниже, поэтому я улучшил его с помощью Face-SPARNet:

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

Статус: проверка не пройдена

Пример 7. Анимация фотографий AI+Wav2lip+ Face-SPARNet+DeepFaceLab

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

1. Качество конечного видео DFL было улучшено за счет приобретения Animate Photos AI (https://pixbim.com/animate-photos-pixbim). Это также помогло удалить водяные знаки.
2. Animate Photos AI обнаруживает лицо и делает квадратное видео, поэтому пришлось “обмануть” алгоритм, чтобы он сделал видео, которое можно было бы потом нарезать на кадры с разрешением 640×480:

3. Wav2lip и постредактирование с помощью Face-SPARNet привели к появлению дополнительных артефактов в нижней части видео:

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

5. Возьмем оставшуюся часть видео высокого разрешения с “жертвой” и используем ее в качестве SRC для DFL. Я обучил модель SAEHD с помощью Google Colab с нуля, и, честно говоря, результаты впечатляют:

https://drive.google.com/file/d/1Ei9W5t9KDOLZUtfrXgjmAfWJVEVLejoM/view?usp=sharing

Статус: верификация пройдена

Заключительный пример. RealTimeVoiceCloning

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

https://drive.google.com/file/d/1Dseplf_nbtact6rTKPScpe19UhYRl_WD/view?usp=sharing

Как вы видите, этот голос звучит довольно далеко от моего оригинального голоса. Кроме того, я записал видеоролик, в котором я произношу слова, отличные от слов на аудио:

Так что я снова не был уверен, что пройду проверку.

Но все получилось! Это значит, что у сотрудников банка нет эталона моего голоса. Тот, кто проверяет записи, обращает больше внимания на видео, чем на аудио.

Статус: верификация пройдена

Размышления о процессе верификационного тестирования.

Мне повезло. Я нашел условия тестирования, которые позволили мне вызывать запросы на верификацию и даже проваливать или проходить ее, не влияя непосредственно на дальнейшие тесты. Такие условия позволяют организовать тестирование методом проб и ошибок – именно то, что мне было нужно.
По разным таймаутам каждой верификации я пришел к выводу, что окончательное подтверждение делал человек. В загруженные и нерабочие часы время проверок было больше, чем в нерабочее время. Если проверка осуществляется только людьми, то всегда присутствует фактор предвзятости. Одно и то же видео, отправленное снова и снова, в конечном итоге может быть принято.
При создании deepfake важно совпадение лиц на исходном и конечном видео. А также условия освещения, качество видео и еще более мелкие детали: какие очки вы носите, какая у вас бахрома? В своих тестах я позволял себе некоторую гибкость, которой не было у преступников.
Процесс проверки до сих пор остается “черным ящиком” – я не знаю, повлияли ли все мои тесты в совокупности на результат или нет.

В конечном итоге любую проверку, выполненную человеком, можно обойти.

источник

реклама

-->

CPAGRAM

0 Comments

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

реклама

-->