Ахмед Камран, Джеймс Кавалло и Курт Гер

Аннотация

CAPTCHA служит жизненно важной мерой безопасности для предотвращения несанкционированного доступа и автоматических атак в Интернете. В этой статье представлен комплексный подход машинного обучения для решения различных типов CAPTCHA, в частности, с акцентом на буквенно-цифровые CAPTCHA и Google reCAPTCHA. Мы разрабатываем полный конвейер, который объединяет несколько моделей для классификации и решения различных типов CAPTCHA. Наш подход обеспечивает точность проверки более 80% для буквенно-цифровых CAPTCHA и демонстрирует многообещающие результаты для Google reCAPTCHA. В этом документе освещаются потенциальные уязвимости CAPTCHA и подчеркивается необходимость постоянного улучшения безопасности.

Введение

Интернет стал неотъемлемой частью нашей повседневной жизни, и все больше людей и компаний полагаются на него для различных целей, таких как общение, обмен информацией и торговля. С ростом зависимости от Интернета возникает потребность в надежных мерах безопасности для защиты пользователей и веб-сайтов от несанкционированного доступа, мошенничества и злоупотреблений. Одной из широко используемых мер безопасности для защиты веб-сайтов и онлайн-сервисов является полностью автоматизированный публичный тест Тьюринга, позволяющий различать компьютеры и людей (CAPTCHA). CAPTCHA предназначены для того, чтобы различать пользователей-людей и автоматизированных ботов, гарантируя, что только настоящие пользователи имеют доступ к веб-приложениям, предотвращая атаки распределенного отказа в обслуживании (DDoS) и гарантируя подлинность клиентов интернет-магазинов, среди прочего.

Эволюция CAPTCHA была обусловлена ​​в первую очередь достижениями в области искусственного интеллекта (ИИ), машинного обучения (МО) и методов компьютерного зрения. Поскольку эти технологии продолжают развиваться, CAPTCHA должны поддерживать свою эффективность в качестве меры безопасности. В последние годы исследователи изучают способы взлома CAPTCHA с использованием различных методов машинного обучения, от CAPTCHA изображений, атакованных с помощью сверточных нейронных сетей (Zhou et al 2018), до текстовых CAPTCHA, разрешенных с помощью неглубоких предикторов (Burztein 2011). Это привело к разработке более сложных и трудных для решения систем CAPTCHA. Эта гонка вооружений между разработчиками CAPTCHA и злоумышленниками — непрерывный процесс, когда обе стороны постоянно совершенствуют свои методы, чтобы опередить друг друга.

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

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

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

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

Похожая работа

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

Буквенно-цифровые CAPTCHA уже давно вызывают интерес у исследователей, стремящихся оценить надежность этих мер безопасности. Одним из ярких примеров является проект Deep CAPTCHA от Rezaei (2020), в котором используются сверточные нейронные сети (CNN) для решения текстовых CAPTCHA. Автор использовал модель распознавания нескольких цифр, которая достигла точности 90,06% на тестовом наборе при решении 5-значных буквенно-цифровых CAPTCHA, демонстрируя потенциал методов глубокого обучения при взломе текстовых CAPTCHA. Наш подход к решению буквенно-цифровых CAPTCHA вдохновлен этой работой, но мы интегрировали нашу модель в более широкий конвейер для решения различных типов CAPTCHA.

Google reCAPTCHA, как более поздняя разработка в технологии CAPTCHA, также привлекла внимание исследователей. Наше исследование направлено на расширение литературы по решению CAPTCHA за счет более современной формы CAPTCHA — Google reCAPTCHA на основе изображений, которые требуют от пользователей идентификации определенных объектов в сетке изображений. Работа Чжоу (2018) обеспечивает точность проверки 94,25% с помощью нейронной сети, модифицированной из GoogLeNet, но фокусируется на бинарной классификации того, что является и не является дорожным знаком. Мы стремимся обобщить наш конвейер для любой головоломки, с которой можно столкнуться.

Чтобы решить задачу решения reCAPTCHA на основе изображений, мы используем набор данных сегментации изображений и предварительно обученную модель сегментации изображений от CSAILVision (Zhou et al., 2017). Этот набор данных, известный как набор данных ADE20K, содержит более 20 000 изображений, аннотированных семантическими метками на уровне пикселей, охватывающих более 150 категорий объектов. Мы используем этот набор данных и связанную с ним предварительно обученную модель для распознавания объектов в изображениях reCAPTCHA, что позволяет нам решать задачи с высокой точностью.

Наша работа основана на предыдущих исследованиях взлома CAPTCHA, вдохновленных проектом Deep CAPTCHA для решения буквенно-цифровых CAPTCHA и использования набора данных MIT ADE20K и предварительно обученной модели от CSAILVision для взлома Google reCAPTCHA. Объединив эти методы в комплексный конвейер, мы стремимся создать надежную систему, способную решать широкий спектр типов CAPTCHA, способствуя постоянным усилиям по пониманию и улучшению безопасности CAPTCHA.

Методы

В этом разделе мы описываем нашу методологию решения различных типов CAPTCHA, включая буквенно-цифровые CAPTCHA, Google reCAPTCHA и другие типы CAPTCHA. Мы также обсудим разработку нашего классификатора CAPTCHA и полного конвейера, который объединяет наши различные модели для решения CAPTCHA.

  • Буквенно-цифровая классификация CAPTCHA

Для решения буквенно-цифровых CAPTCHA мы разработали модель глубокого обучения с использованием архитектуры сверточной нейронной сети (CNN). Наша модель, реализованная в блокноте letter_captchas.ipynb, принимает на вход искаженные изображения буквенно-цифровых символов и выдает соответствующие символы. Набор данных, используемый для обучения и проверки нашей модели, полученный от Kaggle, состоит из 1070 изображений CAPTCHA, каждое из которых содержит последовательность искаженных символов (Fournier, 2018).

Мы предварительно обработали изображения, загрузив их, изменив их форму до желаемых размеров 50 пикселей в высоту, 200 пикселей в ширину и 3 цветовых канала и преобразовав их в представление с плавающей запятой. Затем значения пикселей были нормализованы к диапазону от 0 до 1 с использованием нормализации минимум-максимум. Из 1070 примеров в наборе данных мы разделили его на наборы для обучения и тестирования с коэффициентом разделения 0,15, в результате чего 85% данных использовались для обучения, а оставшиеся 15% — для тестирования. Это разделение гарантировало, что у модели будет достаточно данных для обучения, но при этом она сможет оценить свою производительность на невидимых примерах.

Наша модель CNN состоит из входного слоя, за которым следуют три набора сверточных слоев, каждый с размером ядра (5, 5), заполнением, установленным на «то же самое», и функцией активации ReLU. За каждым сверточным слоем следует слой максимального объединения с размером пула (2, 2). После последнего слоя максимального объединения мы применяем слой отсева с коэффициентом отсева 0,3, чтобы уменьшить переоснащение. Затем сеть выравнивается и подключается к полностью подключенному слою с 512 узлами и функцией активации ReLU. Перед выходными слоями добавляется еще один слой отсева с коэффициентом отсева 0,3. Модель имеет несколько выходных слоев, по одному для каждого символа в CAPTCHA, каждый из которых использует функцию активации softmax для получения вероятностных распределений по классам символов. Эта классификация с несколькими выходами делает эту модель такой успешной. Создавая классификацию для каждого символа, мы можем добиться гораздо большей точности, чем если бы мы генерировали одну классификацию для всей CAPTCHA.

  • Классификация Google reCAPTCHA

Для решения Google reCAPTCHA мы использовали предварительно обученную модель сегментации изображений из набора данных MIT ADE20K, реализованную в блокноте recaptcha.ipynb. Набор данных ADE20K включает 25 574 обучающих изображения и еще 2000 проверочных изображений, аннотированных семантическими метками на уровне пикселей, охватывающих более 150 категорий объектов. Предварительно обученная модель, используемая для нашего исследования, основана на архитектуре глубокого обучения, которая продемонстрировала высокую производительность в задачах сегментации изображений. Мы не проводили дальнейшую тонкую настройку предварительно обученной модели, но это могло потенциально повысить нашу точность, поскольку модель не создавалась специально для CAPTCHA.

Мы предварительно обрабатывали изображения reCAPTCHA по-разному в зависимости от типа reCAPTCHA, с которым мы имели дело. Если CAPTCHA представляла собой сетку уникальных изображений 3x3, мы вырезали каждое изображение и выполняли его сегментацию с использованием предварительно обученной модели, чтобы увидеть, содержит ли оно имя целевого класса среди лучших прогнозов. Если CAPTCHA представляла собой одно единственное изображение в сетке 4x4, мы выполняли сегментацию всего изображения и определяли, какие ячейки в сетке 4x4 содержат целевой класс среди лучших предсказаний.

  • Менее удачные подходы к идентификации reCAPTCHA

Первоначально мы подошли к задаче классификации изображений reCAPTCHA, используя простую CNN с несколькими сверточными слоями, и рассматривали проблему как задачу классификации изображений. Мы получили ограниченный набор данных некоторых классов изображений из Google reCAPTCHA на Kaggle, предоставленный Мазуровым и Хоссамом (2022). Однако из-за ограниченного количества классов в наборе данных мы не смогли обобщить его ни на одну CAPTCHA, найденную в дикой природе. Кроме того, подход к этому как к задаче классификации изображений не работает, поскольку в реальной CAPTCHA пользователь должен щелкать сегменты большего изображения. Наконец, наша модель CNN показала низкую точность (около 50%) для этих типов CAPTCHA, как подробно описано в записной книжке image_captchas.ipynb. По этим причинам мы в конечном итоге переключились на подход, основанный на сегментации, с использованием предварительно обученной модели.

  • Классификатор типов CAPTCHA

Чтобы создать комплексную систему, способную обрабатывать различные типы CAPTCHA, мы разработали классификатор CAPTCHA с использованием модели CNN, реализованной в блокноте captcha_type.ipynb. Классификатор берет входное изображение и определяет, является ли оно буквенно-цифровой CAPTCHA, reCAPTCHA 3x3 или reCAPTCHA 4x4. Мы использовали набор данных, состоящий из помеченных изображений разных типов CAPTCHA, для обучения и проверки классификатора. Данные обучения для этой модели получены из комбинации данных, использованных в предыдущих моделях.

Мы предварительно обработали изображения, преобразовав их в фиксированный размер 120x120 пикселей и сохранив исходные цветовые каналы. Набор данных был собран путем парсинга демо-версии Google reCAPTCHA (Google, n.d.) с помощью веб-скрейпера, который мы создали в scrape.ipynb. Этот парсер дал нам 1334 изображения CAPTCHA, взятые из Google, которые в сочетании с нашими 1070 буквенно-цифровыми CAPTCHA от Kaggle дали нам набор данных для обучения и тестирования. Мы использовали разделение обучения/тестирования 0,15 с 2043 обучающими примерами и 361 тестовым примером.

Архитектура нашего классификатора CAPTCHA состоит из трех основных блоков, каждый из которых содержит сверточный слой с функцией активации ReLU, слой максимального объединения, слой отсева с коэффициентом отсева 0,1 и слой нормализации партии. Первый блок использует 32 фильтра в сверточном слое, второй блок использует 64 фильтра, а третий блок использует 128 фильтров. Все сверточные слои имеют размер ядра 3x3. После третьего блока модель выравнивает карты 3D-объектов в вектор 1D-функций и применяет слой пакетной нормализации.

После слоя пакетной нормализации классификатор включает ряд полносвязных слоев с уменьшающимся количеством нейронов: 256, 128, 64, 32, 16 и 8. Каждый полносвязный слой имеет функцию активации ReLU, за которым следует слой исключения. с коэффициентом отсева 0,1. Наконец, у модели есть выходной слой с функцией активации softmax, которая выводит распределения вероятностей по типам CAPTCHA. Мы обучили классификатор, используя разреженную категориальную функцию кросс-энтропийной потери и оптимизатор Адама с настройками скорости обучения по умолчанию.

  • Полный конвейер

Наш полный конвейер реализован в записной книжке main.ipynb, объединяющей буквенно-цифровую модель CAPTCHA, модель классификации reCAPTCHA и классификатор CAPTCHA для создания всеобъемлющей системы для решения различных типов CAPTCHA. Конвейер обрабатывает входное изображение следующим образом:

  1. Веб-парсер на основе Selenium переходит на целевой веб-сайт, запускает CAPTCHA и извлекает изображение CAPTCHA.
  2. Изображение проходит через классификатор CAPTCHA, который определяет тип CAPTCHA (буквенно-цифровой, 3x3 reCAPTCHA или 4x4 reCAPTCHA).
  3. В зависимости от идентифицированного типа CAPTCHA изображение отправляется в соответствующую модель для решения.
  4. Решение CAPTCHA возвращается конвейером.
  5. Затем веб-парсер берет выходные данные модели и решает CAPTCHA.

Для построения наших моделей нам понадобился разнообразный набор изображений CAPTCHA для обучения и тестирования. Для буквенно-цифровых CAPTCHA мы собрали большой набор данных помеченных изображений CAPTCHA из Kaggle, а для Google reCAPTCHA мы использовали веб-скрапинг для получения изображений с демонстрационного сайта Google reCAPTCHA (Google, n.d.). Кроме того, мы разработали генератор CAPTCHA с использованием блокнота gen_captcha.ipynb для создания изображений 3x3 CAPTCHA в учебных целях. Генератор использует изображения, доступные в наборе данных Kaggle для CAPTCHA на основе изображений, и объединяет их вместе в сетке 3x3 для создания новых изображений CAPTCHA.

  • Метрики оценки

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

Для модели классификации Google reCAPTCHA из-за ограниченной доступности тестовых данных и разной сложности задач reCAPTCHA было сложно количественно оценить производительность модели. Однако, объединив изображения в наборе данных Kaggle, мы смогли создать тестовый набор данных с ограниченным количеством классов, чтобы проверить точность нашей модели.

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

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

Результаты

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

  • Буквенно-цифровая модель CAPTCHA

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

  • Модель классификации Google reCAPTCHA

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

Мы сгенерировали выборку из 100 CAPTCHA 3x3, используя ограниченный набор классов из набора данных Kaggle (Fournier 2018). При тестировании этого меньшего помеченного набора данных мы получили среднюю точность 82,11%. Это означает, что в среднем модель может правильно идентифицировать 7 из 9 ячеек в сетке reCAPTCHA 3x3. Мы не смогли провести аналогичные тесты на reCAPTCHA 4x4, потому что создать размеченный набор данных с попиксельной сегментацией одного изображения гораздо сложнее.

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

  • Классификатор типов CAPTCHA

Наш классификатор CAPTCHA достиг высокой точности в определении типа CAPTCHA, присутствующего во входном изображении. Классификатор смог различать буквенно-цифровые CAPTCHA, 3x3 reCAPTCHA и 4x4 reCAPTCHA с точностью 99%. Производительность классификатора была одинаковой для разных типов CAPTCHA, что указывает на его эффективность в идентификации и классификации различных типов CAPTCHA.

  • Полный конвейер

Полный конвейер, объединяющий буквенно-цифровую модель CAPTCHA, модель классификации Google reCAPTCHA и классификатор CAPTCHA, продемонстрировал многообещающие результаты при решении различных типов CAPTCHA. Для буквенно-цифровых CAPTCHA конвейер достиг высокого уровня точности, успешно распознавая и классифицируя искаженные символы на изображениях. Для Google reCAPTCHA конвейер смог определить наличие целевых объектов на основе подсказки reCAPTCHA при условии, что подсказка была включена в набор данных ADE20K.

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

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

  • Ограничения и проблемы

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

  • Ограниченные данные тестирования. Оценка эффективности модели классификации Google reCAPTCHA оказалась сложной из-за ограниченной доступности помеченных данных reCAPTCHA для тестирования. Сбор большего набора данных помеченных изображений reCAPTCHA может позволить более всесторонне оценить производительность модели и способствовать дальнейшим улучшениям.
  • Расширение набора данных: набор данных ADE20K, используемый для модели классификации Google reCAPTCHA, имеет ограниченное количество категорий объектов, что иногда приводило к неспособности модели идентифицировать целевые объекты, которые не были включены в набор данных. Увеличение количества классов объектов в наборе данных или изучение альтернативных наборов данных может помочь улучшить производительность модели и ее способность решать более широкий спектр задач reCAPTCHA.
  • Ограничение по символам: обнаруженная буквенно-цифровая модель CAPTCHA была создана для идентификации CAPTCHA с 5 буквами/цифрами. CAPTCHA с большим количеством букв, скорее всего, будет давать неверные прогнозы. Это ограничение является побочным продуктом наших обучающих данных, поскольку мы смогли найти обширные данные только для 5-буквенных капч. Расширение этого набора данных разнообразным набором буквенно-цифровых капч и расширение архитектуры модели для прогнозирования более длинных последовательностей символов сделает эту модель более жизнеспособной для реальных случаев использования.
  • Интеграция конвейера: реализация CAPTCHA на веб-сайтах может быть сложной для навигации нашего парсера. Нам пришлось тщательно проанализировать HTML-структуру реализации CAPTCHA, а также то, как эти веб-сайты используют JavaScript для загрузки изображений CAPTCHA. Затем наш веб-парсер необходимо было настроить, чтобы он мог ориентироваться в точной структуре CAPTCHA, реализованных на целевом веб-сайте.

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

Обсуждение

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

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

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

Одним из потенциальных способов улучшения нашей модели классификации reCAPTCHA является использование набора данных Common Objects in Context (COCO) (Lin et al., 2014). Набор данных COCO — это широко используемый ресурс, содержащий большое количество помеченных изображений по различным категориям объектов с обширной контекстной информацией. Включив набор данных COCO в наш учебный процесс, мы могли бы значительно расширить разнообразие категорий объектов и контекстных сценариев, которым подвергается наша модель, в конечном итоге улучшив ее способность распознавать и классифицировать объекты в изображениях reCAPTCHA. Кроме того, обширные аннотации набора данных COCO, включая маски сегментации и ключевые точки, могут еще больше улучшить понимание нашей моделью границ и отношений объектов, тем самым повысив общую производительность при решении Google reCAPTCHA.

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

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

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

Заключение

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

Цитаты

Бурштейн, Э., Мартин, М., и Митчелл, Дж. (2011). Сильные и слабые стороны текстовой CAPTCHA. Материалы 18-й конференции ACM по компьютерной и коммуникационной безопасности. https://doi.org/10.1145/2046707.2046724

Фурнье, П. (2018). CAPTCHA Версия 2 Изображения [Набор данных]. Каггль. Получено с https://www.kaggle.com/datasets/fournierp/captcha-version-2-images

Google. (н.д.). Демонстрация reCAPTCHA: Простая онлайн-демонстрация. Получено с https://www.google.com/recaptcha/api2/demo

Лин, Т.-Ю., Мэр, М., Белонги, С., Хейс, Дж., Перона, П., Раманан, Д., Доллар, П., и Зитник, К.Л. (2014). Microsoft COCO: общие объекты в контексте. В D. Fleet, T. Pajdla, B. Schiele, & T. Tuytelaars (Eds.), Computer Vision — ECCV 2014 (стр. 740–755). Издательство Springer International. https://doi.org/10.1007/978-3-319-10602-1_48

Мазуров, М., и Хоссам, А. (2022, август). Набор данных изображений Google reCAPTCHA. Каггль. Получено с https://www.kaggle.com/datasets/mikhailma/test-dataset

Резаи, М. (2020). Deep CAPTCHA: решение CAPTCHA на основе глубокого обучения [репозиторий кода]. Гитхаб. Получено с https://github.com/DrMahdiRezaei/Deep-CAPTCHA

Чжоу, Б., Чжао, Х., Пуч, X., Фидлер, С., Барриузо, А., и Торральба, А. (2017). Анализ сцены с помощью набора данных ADE20K [репозиторий кода]. Гитхаб. Получено с https://github.com/CSAILVision/semantic-segmentation-pytorch

Чжоу Ю., Юань З., Лю Ю. и Ян Дж. (2018). Взлом Google reCAPTCHA v2. Журнал компьютерных наук в колледжах, 34 (1), 126–136. https://dl.acm.org/doi/abs/10.5555/3280489.3280510

Гитхаб

Все блокноты, упомянутые в этой статье в формате in_this_format, можно найти в этом репозитории GitHub.