Опубликован код для определения reCaptcha с точностью 85%
31 октября 2017 года
Исследователи из Мэрилендского университета и компании Vicarious опубликовали реализации двух различных методов обхода средств отсеивания интернет-ботов на основе капчи, в том числе позволяющих обойти защиту популярного сервиса reCaptcha. Методы интересны различиями в подходах - первый проект легко реализуем при помощи существующих сервисов, а второй потребовал существенных исследований в области распознавания образов и машинного обучения.
Первый проект получил название unCaptcha и позволяет восстановить цифровой код reCaptcha, предлагаемый в режиме звуковой капчи. Метод позволяет определить капчу с точностью 85.15%. На распознавание уходит приблизительно 5 секунд, что сопоставимо с длительностью предлагаемой звуковой последовательности. Реализация опубликована на GitHub под лицензией MIT.
Суть метода сводится к записи продиктованных цифр, разделения отдельных слов и передачи каждого слова одновременно в шесть online-сервисов распознавания речи (IBM, Google Cloud, Google Speech Recognition, Sphinx, Wit-AI, Bing Speech Recognition). Далее из распознанных фраз выделяются цифры или слова по произношению близкие к цифрам (например, true/to/too воспринимается как 2, tree/free как 3, sex как 6 и т.п.) и на основе оценки частоты совпадений выбирается наиболее вероятное значение.
Второй проект (Архивная копия от 2 февраля 2020 на Wayback Machine) использует методы машинного обучения и распознавания образов для выбора правильной картинки при работе с различными капчами. Для распознавания используется специально разработанный алгоритм RCN (Recursive Cortical Network), эталонная реализация которого опубликована под лицензией MIT.
В условиях распознавания обычного текста RCN обеспечивает точность на уровне 90% и в отличие от традиционно применяемых для подобных задач свёрточных нейронных сетей (CNN, Сonvolutional Neural Network) требует существенно меньшего объёма данных для обучения, обеспечивая при этом отличную адаптацию к искажениям символов, наклону, наложению и размытию, не требуя при этом дополнительного обучения.
Например, cеть RCN позволила добиться точности в 66.6% при распознавании фраз на капче reCAPTCHA, использовав для обучения всего 500 изображений. Для капч BotDetect точность распознавания составила 64.4%, Yahoo - 57.4% и PayPal - 57.1% (капча считается ненадёжной при возможности автоматического подбора с точностью в 1%). При оптимизации модели под конкретный стиль удалось добиться точности распознавания на уровне 90%.
Для сравнения остроенная компанией Google свёрточная нейронная сеть обеспечила уровень распознавания reCAPTCHA в 89.9%, но потребовала обучения на базе из 2.3 млн изображений капч и продемонстрировала снижение точности до 38.4% при простом изменении на 15% пространства между символами, в то время как RCN легко адаптируется к изменениям в стиле без потери эффективности.
В RCN задействованы методы, сходные с работой человеческого зрения. Работа RCN напоминает поведение нейронов в коре головного мозга, одна часть которых осуществляет выделение контуров объектов, а другая занимается изучением поверхности и текстур, сообща решая задачу распознавания образа. В RCN одна часть сети осуществляет выделение контуров объектов, другая часть анализирует наложения и параметры разных объектов, а третья выполняет операции классификации выделенной иерархии объектов с учётом стиля и угла зрения. На последнем этапе осуществляется сопоставление с формами стандартных букв или цифр. Для каждой из букв алфавита формируется набор шаблонов, учитывающих разные начертания, наклон, растяжение и другие виды искажений. Сопоставление осуществляется с использованием генеративной вероятностной модели, выделяющей наиболее вероятную связь исходного объекта с объектами из базы сопоставлений.
Источники
править
Любой участник может оформить статью: добавить иллюстрации, викифицировать, заполнить шаблоны и добавить категории.
Любой редактор может снять этот шаблон после оформления и проверки.
Комментарии
Если вы хотите сообщить о проблеме в статье (например, фактическая ошибка и т. д.), пожалуйста, используйте обычную страницу обсуждения.
Комментарии на этой странице могут не соответствовать политике нейтральной точки зрения, однако, пожалуйста, придерживайтесь темы и попытайтесь избежать брани, оскорбительных или подстрекательных комментариев. Попробуйте написать такие комментарии, которые заставят задуматься, будут проницательными или спорными. Цивилизованная дискуссия и вежливый спор делают страницу комментариев дружелюбным местом. Пожалуйста, подумайте об этом.
Несколько советов по оформлению реплик:
- Новые темы начинайте, пожалуйста, снизу.
- Используйте символ звёздочки «*» в начале строки для начала новой темы. Далее пишите свой текст.
- Для ответа в начале строки укажите на одну звёздочку больше, чем в предыдущей реплике.
- Пожалуйста, подписывайте все свои сообщения, используя четыре тильды (~~~~). При предварительном просмотре и сохранении они будут автоматически заменены на ваше имя и дату.
Обращаем ваше внимание, что комментарии не предназначены для размещения ссылок на внешние ресурсы не по теме статьи, которые могут быть удалены или скрыты любым участником. Тем не менее, на странице комментариев вы можете сообщить о статьях в СМИ, которые ссылаются на эту заметку, а также о её обсуждении на сторонних ресурсах.