За последние дни сразу несколько групп исследователей, независимо друг от друга, представили новые способы взлома систем CAPTCHA, в том числе с использованием ИИ и распознавания речи.
Recursive Cortical Network
На страницах журнала Science был представлен доклад (PDF) сводной группы из 12 специалистов, которые создали новый ИИ алгоритм для взлома систем CAPTCHA. Методика исследователей получила название Recursive Cortical Network Google (RCN). По словам разработчиков, они постарались максимально приблизить работу своего «детища» к принципам работы человеческого глаза и мозга, что дало весьма впечатляющий результат.
RCN справляется с reCAPTCHAs с точностью 66,6%, с BotDetect с точностью 64,4%, защитой Yahoo с точностью 57,4%, и с защитой PayPal в 57,1% случаев.
Созданный специалистами алгоритм состоит из нескольких частей. Так, один компонент отвечает за распознавание граней фигур, другой классифицирует сами фигуры, еще один компонент принимает во внимание угол, под которым наблюдатель видит фигуру, а также компонент, который сравнивает фигуру с формой известных ему цифр и букв.
В отличие от похожей методики Convolutional Neural Network, RCN обучается гораздо быстрее и алгоритм способен адаптироваться к новым системам CAPTCHA . Так, для тренировки RCN понадобится лишь несколько тысяч изображений, тогда как CNN нужно «скормить» порядка 2,3 млн.
unCAPTCHA
Эксперты из университета Мэриленда представили собственное решение, ориентированное на взлом reCAPTCHA, созданной компанией Google. Автоматизированная система взлома получила название unCAPTCHA, и она справляется с поставленной задачей просто отлично. Система взламывает 450 reCAPTCHA с точностью 85,15% за 5,42 секунды.
В отличие от вышеописанной разработки, unCAPTCHA не пытается анализировать «увиденное» изображение, но ломает аудиоверсию защиты, добавленную в reCAPTCHA для людей с ограниченными возможностями.
Так, unCAPTCHA скачивает аудиоверсию reCAPTCHA, сегментирует файл на несколько небольших клипов, пропускает полученные фрагменты через системы распознавания речи (text-to-speech), для чего используются решения Bing Speech Recognition, Google Cloud, Google Speech Recognition, Sphinx, и Wit-AI. После этого полученный результат обрабатывается, распознанные фрагменты конвертируются в цифры (к примеру, two или true явно означает 2), и Google предоставляется наиболее вероятный вариант ответа.
Код unCAPTCHA уже был опубликован на GitHub. В отличие от представленного в начале текущего года решения ReBreakCaptcha, в данном случае разработчики заранее уведомили о своем исследовании специалистов Google. В результат компания уже поработала над reCAPTCHA и добавила в систему новые меры защиты от подобных атак.