Как обойти аудио-капчу Google с точностью 85%
Отказ от ответственности
uncaptcha — это доказательство концепции. На момент публикации нашей статьи мы обнаружили, что система успешно решает аудиозадачи капчи с точностью 85%. С тех пор капча, по-видимому, включает в себя некоторые дополнительные средства защиты, которые ограничивают успех unCaptcha. Мы не будем поддерживать этот код для эффективной атаки на капчу.
Например, Google также улучшил обнаружение автоматизации в браузере. Это означает, что Selenium нельзя использовать в его текущем состоянии для получения капч от Google. Это может привести к тому, что Google будет отправлять странные аудиофрагменты конечному пользователю. Кроме того, мы заметили, что некоторые аудиозадачи включают в себя не только цифры, но и небольшие фрагменты произносимого текста.
Мы рекомендуем вам быть осторожными при проведении исследований в этой области, соблюдать местные, государственные и федеральные законы и ответственно сообщать о любых потенциальных уязвимостях Google.
Кроме того, мы удалили наши ключи API из всех необходимых запросов. Если вы хотите воссоздать часть работы или проводите собственное исследование в этой области, вам необходимо получить ключи API от каждой из шести используемых служб. Эти ключи обозначены в наших файлах длинной строкой символа «X».
Вдохновение
В интернете сотни тысяч сайтов полагаются на систему Google reCaptcha для защиты от ботов (на самом деле Devpost использует reCaptcha при создании новой учётной записи). После того как исследовательская группа Google продемонстрировала почти полное поражение текстовой капчи в 2012 году, система reCaptcha стала полагаться на аудио- и графические задачи, исторически более сложные задачи для автоматизированных систем. Google постоянно совершенствует свой дизайн, выпуская новую и более мощную версию совсем недавно, в этом году. Успешная демонстрация поражения этой системы капчи создаёт значительную уязвимость для сотен тысяч популярных сайтов.
Что делает unCaptcha
Наша система unCaptcha имеет возможности атаки, написанные для аудиокапчи. Используя программное обеспечение для автоматизации браузера, мы можем взаимодействовать с целевым веб-сайтом и выполнять капчу, выделяя необходимые элементы, чтобы начать атаку. Мы полагаемся в первую очередь на атаку аудиокапчей — правильно идентифицируя произнесённые числа, мы можем программно пройти через программу reCaptcha и обмануть сайт, заставив его думать, что наш бот — человек. В частности, unCaptcha нацелен на популярный сайт Reddit, проходя через процесс создания нового пользователя, хотя unCaptcha останавливается перед созданием пользователя, чтобы смягчить воздействие на Reddit.
Предыстория
Система Google reCaptcha использует передовую систему анализа рисков для программного определения вероятности того, что данный пользователь является человеком или ботом. Она учитывает ваши файлы cookie (и, соответственно, ваше взаимодействие с другими службами Google), скорость решения задач, движения мыши и (очевидно) то, насколько успешно вы решаете данную задачу. По мере того как система становится всё более подозрительной, она предлагает всё более сложные задачи и требует от пользователя решить больше из них. Исследователи уже выявили незначительные недостатки в системе reCaptcha — 9 дней законного (почти) взаимодействия со службами Google обычно достаточно, чтобы значительно снизить уровень подозрительности системы.
Как это работает Формат аудиокапчи представляет собой серию чисел разной длины, произносимых вслух с разной скоростью, высотой тона и акцентами на фоне шума. Чтобы атаковать эту капчу, аудиоданные на странице определяются, загружаются и автоматически разделяются по местам речи.
Оттуда каждый бит аудиоданных с числом загружается в 6 различных бесплатных онлайн-сервисов транскрипции аудио (IBM, Google Cloud, Google Speech и т. д.). Распознавание и решение аудио-CAPTCHA
Собираются результаты распознавания (Sphinx, Wit-AI, Bing Speech Recognition). Мы объединяем результаты каждого из них, чтобы вероятностно определить наиболее вероятную последовательность чисел с помощью заранее определённой эвристики. Затем эти числа органично вводятся в CAPTCHA, и CAPTCHA считается пройденной. В ходе тестирования мы достигли точности более 92% при распознавании отдельных цифр и более 85% при успешном прохождении аудио-CAPTCHA.
Сначала установите зависимости Python:
$ pip install -r requirements.txt
Убедитесь, что у вас также установлены sox, ffmpeg и selenium!
$ apt-get install sox ffmpeg selenium
Затем запустите PoC:
$ python main.py --audio --reddit
Это откроет reddit.com, взаимодействует со страницей для перехода к регистрации учётной записи, генерирует поддельное имя пользователя, адрес электронной почты, пароль, а затем атакует аудио-CAPTCHA. Как только CAPTCHA будет пройдена (успешно или нет), браузер закрывается.
Пожалуйста, ознакомьтесь с нашей статьёй, расположенной здесь, для получения дополнительной информации. Кроме того, вы можете посетить наш веб-сайт здесь или ознакомиться с оригинальными слайдами для USENIX WOOT '17 (доступны по ссылке).
Смотрите видео здесь (ссылка на YouTube).
Слайды для USENix WOOT'17 доступны здесь.
Вы можете оставить комментарий после Вход в систему
Неприемлемый контент может быть отображен здесь и не будет показан на странице. Вы можете проверить и изменить его с помощью соответствующей функции редактирования.
Если вы подтверждаете, что содержание не содержит непристойной лексики/перенаправления на рекламу/насилия/вульгарной порнографии/нарушений/пиратства/ложного/незначительного или незаконного контента, связанного с национальными законами и предписаниями, вы можете нажать «Отправить» для подачи апелляции, и мы обработаем ее как можно скорее.
Комментарии ( 0 )