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

Взлом капчи за 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.

VPS нового поколения, ИИ, юникодные домены и мини‑сериал об админах: всё, что вы знали и чего могли не знать о REG.RU

VPS нового поколения, ИИ, юникодные домены и мини‑сериал об админах: всё, что вы знали и чего могли не знать о REG.RU

Ура-ура! 22 мая нам исполнилось 14 лет, и мы по-прежнему двигаемся только вперёд и становимся лучше. Мы решили поделиться с...
Read More
Domains weekly: старт .MEET от Google, годовой рост .RU и .РФ, вирусная реклама рэп-альбома с new gTLDs

Domains weekly: старт .MEET от Google, годовой рост .RU и .РФ, вирусная реклама рэп-альбома с new gTLDs

В новой еженедельной подборке новостей расскажем о старте регистраций в зоне  .MEET от Google, вирусной рекламной кампании нового рэп-альбома Future...
Read More
Как скорость загрузки страниц на мобильных устройствах влияет на посещаемость сайта

Как скорость загрузки страниц на мобильных устройствах влияет на посещаемость сайта

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

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

Для любого, кто управляет веб-сайтом, на первом месте должен стоять вопрос безопасности. Критические угрозы и уязвимости могут сильно ударить как...
Read More
Domains weekly: 10 лет .РФ, новый топ регистраторов в .COM и спор за ягодный домен

Domains weekly: 10 лет .РФ, новый топ регистраторов в .COM и спор за ягодный домен

В свежей подборке новостей расскажем о юбилее .РФ, отчёте ICANN о динамике регистраций в зоне .COM и неудачной попытке канадской...
Read More
С днём рождения, .РФ!

С днём рождения, .РФ!

В этом году кириллической национальной российской доменной зоне исполняется 10 лет. Мы решили вспомнить, как всё начиналось: в этом материале...
Read More
Domains weekly: стагнация ccTLD, конец страстей по .ORG и взлом клиентов GoDaddy

Domains weekly: стагнация ccTLD, конец страстей по .ORG и взлом клиентов GoDaddy

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

Как поменять домен, чтобы сайт не просел в поисковой выдаче

Итак, вы решили изменить имя своего сайта после ребрендинга или просто выбрали более короткий домен. Но как при этом сохранить...
Read More
Domains weekly: Zoombombing, снижение доходов ICANN и зона .DEALER

Domains weekly: Zoombombing, снижение доходов ICANN и зона .DEALER

В сегодняшнем доменном дайджесте мы расскажем, что такое Zoombombing, какие прогнозы у ICANN по доходам на следующий год и почему...
Read More
Мониторинг серверов: 8 советов и антисоветов о том, как это делать

Мониторинг серверов: 8 советов и антисоветов о том, как это делать

Представьте, что вы администрируете сервер крупной компании. Однажды утром ваш день начался не с кофе, а с десятка пропущенных звонков...
Read More