Поиск по сайту Поиск

Взлом капчи за 0.05 секунд с помощью Машинного Обучения

Оказывается, нейросети уже давно могут «притворяться» людьми — рассказываем про новую модель генеративно-состязательной сети (GAN), которая распознаёт системы CAPTCHA на 32 посещаемых веб-сайтах.

Автор: Roberto Iriondo, Machine Learning Department of Carnegie Mellon University

ДИСКЛЕЙМЕР

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

Никто не любит капчи (в смысле, никто из людей, ведь у ботов нет эмоций) — надоедливые картинки с трудно читаемым текстом, который вы должны ввести для доступа к чему-либо в интернете. CAPTCHA (Completely Automated Public Turing tests to tell Computers and Humans Apart) разработана для того, чтобы автоматические программы не могли злонамеренно использовать онлайн-контент (заполнять формы, запрашивать доступ к закрытым файлам, многократно заходить на один и тот же сайт и т. д.). Она должна убедиться, что вы человек, а не бот. Тем не менее, в прошлом были попытки доказать несовершенство систем CAPTCHA. Но ни одна из них не была настолько же точной и быстрой, как алгоритм машинного обучения, предложенный группой исследователей из университета Ланкастера, Северо-Западного университета и Пекинского университета.

Схема алгоритма:

https://cdn-images-1.medium.com/max/1600/1*MMmvdvHeRZ4qkWb4Q1O_Ig.png

Исследователи используют небольшой набор несинтезированных капч для обучения синтезатора CAPTCHA. Синтезатор (1) используется для генерации синтетических CAPTCHA (2), которые применяются для обучения базового решателя (base solver) (3). Base solver затем совершенствуется для создания точно настроенного решателя (fine-tuned solver) несинтезированных капч.

Одним из первых известных людей, которые продемонстрировали уязвимость CAPTCHA, был Эдриан Роузброк. В своей книге “Deep Learning for Computer Vision with Python” Эдриан рассказывает, как он обошёл системы CAPTCHA на сайте E-ZPass New York. Для обучения своей глубокой модели он использовал большой набор изображений с примерами CAPTCHA.

Основное отличие решения Адриана от подхода учёных из Ланкастера, Северо-Западного университета и Пекина — последние не использовали набор данных с примерами, а синтезировали CAPTCHA с помощью генеративно-состязательной сети (GAN). Почти вся обучающая выборка состояла из сгенерированных капч, и лишь небольшая часть — из реальных.

Генеративно-состязательные сети, представленные Яном Гудфеллоу вместе с другими учёными — это глубокие архитектуры, состоящие из двух нейросетей. Эти сети «соревнуются» друг с другом в игре с нулевой суммой (zero-sum game) и синтезируют образцы, близкие к подлинным. Это может быть очень полезно в случае, когда модель не имеет доступа к большому набору данных.

Исследователи оценили свой подход с помощью 33 текстовых схем CAPTCHA, 11 из которых в настоящее время используют 32 самых популярных веб-сайта по данным Alexa. Туда входят схемы Google, Microsoft, eBay, Wikipedia, Baidu и многие другие. Модели, создаваемой для работы с этими системами, понадобилось всего 500 реальных капч, в то время как другим (в том числе модели Эдриана) требовались миллионы примеров.

Сеть GAN инициализируется с учётом параметров безопасности капчи, показанных на рисунке:

https://cdn-images-1.medium.com/max/1600/1*taEvZ84grhbz__3W2lraNg.png

Затем она генерирует партию CAPTCHA, чтобы обучить синтезатор с помощью 500 реальных изображений из различных схем капч:

https://cdn-images-1.medium.com/max/1600/1*pid-EncGvVJSIwWEbyGMAA.png

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

Исследователи использовали 20 тыс. капч для обучения модели Preprocessing и 200 тыс. сгенерированных капч для обучения базового решателя.

Прототип создан с помощью Python, модель Preprocessing построена в приложении Pix2Pix, которое реализовано с помощью TensorFlow. Точно настроенный решатель сделан с помощью Keras.

https://cdn-images-1.medium.com/max/1600/1*53gcWNgaPzISBMIerCYDVg.png

Реальные Google CAPTCHA и сгенерированные версии, созданные синтезатором CAPTCHA

После обучения GAN со сгенерированными и реальными капчами, решатель CAPTCHA использовался для атаки на системы защиты таких сайтов как Megaupload, Blizzard, Authorize, Captcha.net, Baidu, QQ, reCaptcha, Wikipedia и т.д. Большинство капч было определено с точностью около 80%, а на сайтах Blizzard, Megaupload и Authorize.net — 100%. Этот метод оказался более точным, чем все предыдущие решения, в которых использовались большие несинтезированные наборы обучающих данных.

https://cdn-images-1.medium.com/max/1600/1*au_IruJOymcVuufVYvPUYw.png

Сравнение решателя CAPTCHA с четырьмя другими методами

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

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

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

Ссылка на оригинальную статью на портале medium.com.

Google преодолевает барьер между человеческим и машинным переводом

Google преодолевает барьер между человеческим и машинным переводом

Нейронный машинный перевод (НМП) позволяет преодолеть многие недостатки традиционных систем перевода по фразам. Но в то же время нейронные модели...
Read More
6 трендовых доменов, которые можно зарегистрировать прямо сейчас

6 трендовых доменов, которые можно зарегистрировать прямо сейчас

Мы врываемся в этот прохладный июль с горячей подборкой актуальных и свободных доменов. Изучайте и регистрируйте понравившиеся! (далее…)
Read More
Свёртка в Deep Learning простыми словами

Свёртка в Deep Learning простыми словами

У многих слово «свёртка» ассоциируется со сложными и непонятными формулами. А ведь это одно из самых важных понятий в Deep...
Read More
Стэнфордский курс: лекция 1. Введение

Стэнфордский курс: лекция 1. Введение

Представляем курс «Свёрточные нейронные сети для визуального распознавания» (Convolutional Neural Networks for Visual Recognition) от инженерной школы Стэнфордского университета (Stanford...
Read More
ИИ скажет, что люди подумают о ваших фото

ИИ скажет, что люди подумают о ваших фото

Новый искусственный интеллект Photofeeler-D3 предсказывает первые впечатления людей от фото или видео. Теперь не придётся долго мучиться с выбором самой...
Read More
Да, это жёстко: история и перспективы HDD

Да, это жёстко: история и перспективы HDD

В этом материале вы узнаете краткую историю жёстких дисков, их устройство, преимущества и недостатки, а также ближайшие перспективы развития подобных...
Read More
Истина где-то рядом — ищем аномалии с Python. Часть 1: теория

Истина где-то рядом — ищем аномалии с Python. Часть 1: теория

Все мы время от времени наблюдаем аномалии в реальном мире. Это и необычная жара, и животные-альбиносы, и гетерохромия. Аномальные отклонения...
Read More
Хостинг для лендинга: как заставить сайт летать?

Хостинг для лендинга: как заставить сайт летать?

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

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

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

На что способны антивирусы для сайтов

Да-да. Вирусы — проблема не только пользователей персональных компьютеров и смартфонов, но и владельцев сайтов. Через заражённый ресурс злоумышленник может рассылать...
Read More