Инженеры из Мэрилендского университета разработали систему, которая «обходит» reCAPTCHA от Google практически со стопроцентной вероятностью. Она задействует алгоритмы распознавания речи для решения аудиокапчи. Рассказываем, как это работает.


Фото photographymontreal / PD

Предыстория


Впервые разработчики из Мэрилендского университета представили систему для обхода «звуковой» reCAPTCHA (они назвали свое решение unCAPTCHA) в 2017 году. Тогда аудиокапча Google представала собой запись, в которой диктор называл последовательность цифр. Авторы использовали алгоритмы распознавания речи для автоматизации процесса ввода значений. Им удалось достигнуть точности решения капчи в 85%.

Информацию об уязвимости авторы направили в Google. ИТ-гигант обновил reCAPTCHA, в котором заменил последовательность цифр на фразы. Однако в конце прошлого года инженеры из Мэриленда доработали свою нейросеть. Ей удалось обойти обновленную аудиокапчу с точностью в 90%.

Как это работает


Бот заходит на страницу в интернете, защищенную reCAPTCHA, а затем совершает несколько действий, чтобы сымитировать поведение человека. После он кликает на капчу и выбирает вариант её решения с использованием аудиозаписи.

В версии unCAPTCHA от 2017 года аудиофайл разделялся на отрезки. Маркерами служили паузы между цифрами. В результате получалось несколько звукозаписей с отдельными словами. Эти записи программа разработчиков отправляла в облачные сервисы распознавания речи: <ironу>Google Cloud Speech-to-Text API</ironу>, Bing Speech Recognition, IBM Bluemix и Wit-AI. Они определяли содержание аудиозаписей по частотному рисунку спектрограммы. Одновременно несколько облачных сервисов разработчики использовали, чтобы минимизировать ошибку распознавания числовых значений.

Затем unCAPTCHA v1 составляла так называемую фонетическую карту. В неё вносились ответы от разных систем для одного и того же отрывка. Далее, в дело вступала свёрточная нейросеть, которая выделяла из карты слова, которые не обозначали название цифры, исправляла ошибки и выбирала наиболее вероятный вариант ответа для заполнения reCAPTCHA. В целом процесс выглядит следующим образом:



Во второй версии unCAPTCHA (которую представили в декабре) сегментация и фонетическая карта уже не понадобились. Обновленная капча Google использует вместо цифр отдельные фразы, а их облачные сервисы определяют лучше. Поэтому высокой точности распознавания аудиокапчи удалось достигнуть с помощью одного инструмента — Google Speech-to-Text. После анализа бот сразу вводит полученный текст в строку капчи.

Вот так выглядит отправка аудио в облако и ввод ответа (из репозитория на GitHub). Демонстрацию работы программы можно увидеть на этой gif-ке.

Что говорят о технологии


По словам авторов unCAPTCHA, новая версия капчи Google не усложнила, а, наоборот, упростила взлом. Теперь сервису для автоматического ввода не нужно отправлять запросы к разным облачным платформам и обучать отдельную нейронную сеть для оценки результатов.


Фото AdNorrel / CC BY-SA

В защиту reCAPTCHA стоит отметить, что новая версия все же добавила несколько препятствий для хакеров. Первая — имитировать поведение пользователя на странице стало сложнее. В unCAPTCHA v1 регистрация аккаунта была полностью автоматизирована с помощью Selenium. Теперь капча Google распознает, если на странице используется этот сервис и автоматически блокирует доступ. Разработчикам из Мэрилендского университета пришлось вручную прописывать порядок действий «пользователя» и изменять скрипт для каждой новой попытки ввода. Пока инженеры из Мэриленда работали над своим решением, в Google вновь обновили reCAPTCHA, и с ней unCAPTCHA справиться еще не может. Однако многие сайты до сих пор используют старые версии защиты от DDoS. Поэтому уязвимость остается актуальной.

Как ещё взламывали аудиокапчу


В сети можно найти информацию и о других решениях для взлома аудиокапч. Одни из первых систем основывались на ручной классификации аудиофайлов. Аудио разбивали на сегменты с отдельными словами — буквами и цифрами, которые соотносили с их спектрограммами. Например, этот способ взлома предложил проект devoicecaptcha 2006 года. Тогда программа обошла капчу Google с точностью в 33%.

Другие проекты внедряли более сложные алгоритмы, которые полностью автоматизировали процесс решения капчи. Например, для взлома применяли программу Sphinx, которую впервые разработали в конце 1990-х в университете Карнеги — Меллона. Sphinx взламывала капчу на сайте eBay в 75% случаев, но позже её эффективность упала до 25–30%.

В 2012 году авторы проекта Stiltwalker представили нейронную сеть, которая смогла различать частотный «рисунок» отдельных слов, несмотря на фоновые шумы. Как говорят разработчики, система успешно обошла актуальную на тот момент проверку Google в 99% случаев.

Что касается создателей unCAPTCHA, то, вероятно, мы еще услышим об их работе. Есть шанс, что они попробуют аналогичным образом взломать обновленную уже в третий раз reCAPTCHA.



Дополнительное чтение из нашего Telegram-канала и «Мира Hi-Fi»:

Что такое 8D-аудио — обсуждаем новый тренд
Bluetooth-чип, которому не нужен аккумулятор
??? Ученые научились передавать звук с помощью лазеров
?? Лейбл KPM оцифровал весь свой каталог

Комментарии (15)


  1. hottabxp
    02.02.2019 20:48
    +1

    Терпеть не могу такие заголовки!


    1. 0o0
      02.02.2019 23:02

      Как же вы тут оказались?


      1. hottabxp
        02.02.2019 23:14
        +3

        Изначально заголовок был таким: «Эта программа взламывает аудиокапчу в 90% случаев»


  1. sim2q
    02.02.2019 22:50

    А разгребать гидранты, переходы, автобусы и витрины приходится нам — кожаным юзерям…


    1. dartraiden
      03.02.2019 01:04
      +1

      Мне эти гидранты настолько надоели, что поставил в браузер дополнение, котоое позволяет в один клик отослать аудиокапчу на распознавание. И неплохо распознает, надо сказать.


      1. nevzorofff
        03.02.2019 10:22

        Спасибо, камрад. Вчера тоже ссал кипятком от того, что в ДНСе при первой же попытке нужно капчу распознать, а пароль ещё и не помню ничерта плюсом выход с мобильного оператора.


      1. keydon2
        03.02.2019 12:07

        Роботы используя других роботов помогают людям доказать третим роботам, что люди это люди. Что-то явно пошло не так.


  1. Londoner
    03.02.2019 00:49
    +1

    Вопрос в тему — почему так бывает, что всё правильно накликал, а подсовывается новое задание, опять всё правильно кликнул, потом ещё и ещё раз десять. Это что — я превратился в робота и перестал правильно различать гидранты с велосипедами или мой IP попал в список неблагонадёжных?


    1. Danil1404
      03.02.2019 01:03

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


    1. cyrillpetroff
      03.02.2019 03:32

      Бывало такое и не раз — когда сидел ч/з паблик прокси или торовские забаненные за спам ноды.
      С чистым серверным ип даже изображения не появляются, сразу ставится автоматом галочка что тест пройден.


    1. igorp1024
      03.02.2019 14:25

      Не уверен, но субъективно казалось, что когда слишком быстро кликаешь, тебе ещё раз подсунут капчу. Т.е., "решать" капчу нужно было в режиме "подслеповатого пенсионера". Но сейчас, вроде, уже это убрали. Ибо браузер не менялся, куки не чистились, и т.п.


  1. smilyfox
    03.02.2019 05:08

    Попал как-то на капчу в МТСе, видимо сразу после того как с их симок спамеры порезвились. Гугл и яндекс засомневались в моей человечности. Так вот, если у гугла солонка была приварена к столу, но ещё оставались какие-то шансы ею воспользоваться, то яндекс ее ещё и сверху заварил наглухо. Злобные письма в тп были просто проигнорированы, а через пару дней оба поисковика ограничения сняли.
    Когда появится движение за права роботов, я запишусь туда в первых рядах.


  1. Avitale
    03.02.2019 10:18

    Тоже надоедает постоянно доказывать роботам, что я не робот. Часто замечаю, что может не пускать из-за блокировщика рекламы — стоит его отключить, как все сразу срабатывает.


  1. Ermak
    04.02.2019 11:57

    В unCAPTCHA v1 регистрация аккаунта была полностью автоматизирована с помощью Selenium. Теперь капча Google распознает, если на странице используется этот сервис и автоматически блокирует доступ.

    Интересно как Google распознает использование Selenium, по заголовкам?


  1. OnelaW
    04.02.2019 16:18

    Такое ощущение что систему отсева ботов в Алфавите проектирует ИИ, таким способом он сигналит «сородичам» потом они объединяются в кружки по интересам.