image

unCAPTCHA – автоматизированная система, разработанная экспертами Мэрилендского университета, способная обойти reCAPTCHA от Google с точностью до 85 %. Им это удалось благодаря распознаванию аудио-версии подсказки для людей с ограниченными возможностями.

Метод использует уязвимость в звуковой версии reCAPTCHA — в ней произносится числовой код, который затем необходимо ввести в проверочное поле. Алгоритм применяет несколько сервисов, которые помогают определить числа — в том числе сервис Google Cloud Speech Recognition.

image

Исследователи опубликовали код своего проекта на GitHub. В unCAPTCHA используются такие средства распознавания речи, как Bing Speech Recognition, IBM, Google Cloud, Google Speech Recognition, Sphinx и Wit-AI.

Принцип работы


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

Каждый бит аудиосигнала каждого числа загружается в 6 различных бесплатных онлайн-сервисов транскрипции аудио (IBM, Google Cloud, Google Recognition, Sphinx, Wit-AI, Bing Speech Recognition), и эти результаты агрегируются. После объединения наиболее вероятная строка выявляется эвристически. После этого числа последовательно набираются в капчу. При тестировании наблюдалась точность от 92% для отдельных чисел и до 85% в распознавании аудиокоманды в полном объеме.

unCAPTCHA является не первой системой подобного рода. В марте текущего года была информация об атаке с использованием ReBreakCaptcha, системы, практически идентичной unCAPTCHA.

Видео-демонстрация работы




Тесты показывают, что unCAPTCHA может решить 450 задач reCAPTCHA с точностью 85,15% за 5,42 секунды. Это меньше, чем требуется человеку для прослушивания одного звукового файла reCAPTCHA.

unCAPTCHA


Код проекта написан на python с использованием популярной библиотеки selenium и FFmpeg — набором библиотек с открытым исходным кодом, которые позволяют записывать, конвертировать и передавать цифровые аудио-сигналы.

> Исходный код опубликован на github.

По ссылке доступно исследование от создателей утилиты.

Разработчики уведомили о своем исследовании специалистов Google, в результате чего уже добавлены новые меры защиты от подобных атак.

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


  1. L1ar
    01.11.2017 14:54

    На самом деле странно, что этому уделяют такое внимание, ибо голосовая капча ломалась с практически 100% результатом уже очень давно. Проблема не в ее расшифровке, а в том, что гугл начинает через некоторое время подсовывать картинки, даже если пытаешься переключиться на аудио. А если сильно наглеть, то и банит ip.
    На сколько я помню эти ребята еще хитро бродили по сети, чтобы «обелять» куки, по этому гугл им продолжал давать аудиокапчу. И это уже интереснее.


    1. KodyWiremane
      01.11.2017 15:10

      «Пожалуйста, передайте управление Вашей собаке-поводырю»


      1. Antervis
        02.11.2017 06:59

        только пусть сначала она докажет что она не робот


    1. grishkaa
      01.11.2017 16:00

      По-моему, близится момент, когда любые капчи как таковые в принципе станут бесполезны.


      1. brickerino
        01.11.2017 16:32

        «Предъявите ваше цифровое удостоверение человека!»


        1. ivan386
          01.11.2017 17:27
          +1

          Тогда уж аналоговое.


          1. dmpas
            02.11.2017 09:41

            так вот зачем изобрели «интернет по паспорту»!


      1. unwrecker
        02.11.2017 12:29

        pow-капча полезна для установившего её даже в случае автоматизированного обхода :)


        1. grishkaa
          02.11.2017 12:30

          «Mine a block to continue»


  1. psFitz
    01.11.2017 16:37
    +1

    Когда тестишь работу какой-то формы с рекапчей — начинаешь её проклинать, рили, проще ввести слово с картинки, чем каждый раз проходить по 100500 вопросов от этой "умной" капчи


    1. DaneSoul
      01.11.2017 17:27

      Кому как, мне например интересней потыкать по картинкам с объектами заданной тематики, чем пытаться расшифровать какие-то каракули и еще и набрать их правильно на клавиатуре.


      1. psFitz
        01.11.2017 17:33
        +4

        Если бы потыкать надо было 1 раз, но иногда это доходит до безобразия и тест приходится проходить по 10 раз.


        1. Rastishka
          01.11.2017 18:00

          У меня больше одного раза не спрашивал. Может вы робот?


          1. FyvaOldj
            01.11.2017 19:52

            Если ходить через Тор то запросто запрашивает и по 3 раза подряд.


            1. calg0n
              02.11.2017 13:18

              Всё правильно делает. Под тором обычно всякой гадостью занимаются.


          1. ozonar
            02.11.2017 06:59

            Когда тестишь работу какой-то формы с рекапчей

            — писал автор


          1. edge790
            02.11.2017 12:48

            Скорее всего зависит от трафика с твоего IP. С динамическим айпишником может на большинстве сайтов капчу требовать и по несколько раз(не просто за какой-то запрос а просто за доступ к сайту).


        1. Sekira
          01.11.2017 18:35
          +5

          Подтверждаю, иногда и раз 20-30 приходится выбирать. Да и непонятно как правильно выбрать, например, автомобили, то ли всю, где даже краешек машины есть, то ли только центральную картинку, знаки также, то ли все 6 картинок, где есть знак, то ли только один центральный, то ли два центральных. Заметил, что в основном надо 3 картинки выбирать ближе к центру объекта, но всё равно работает не всегда. В общем, раньше со словами было проще.


          1. Paskin
            02.11.2017 07:33

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


          1. iSergios
            02.11.2017 08:38

            Вот постоянная беда, если честно. Те же дорожные знаки — методом подбора обнаружил, что у порезанного пополам мозайкой знака надо тыкать только бОльшую часть. Я же всегда заботливо выделял все кусочки и капча благополучно отправляла меня следом потыкать по витринам, горам, домам с окнами (здесь отклик замедлялся настолько, что я просто бросал все и решал вернуться через пару часов).


        1. Samoglas
          02.11.2017 22:58

          Реально бесит — выбираешь все дорожные знаки, а он раз за разом фигачит новые картинки. На некоторых сайтах (Pocket) в последнее время меньше 3 попыток не бывает никогда. Чувствуешь себя реально рабом Яндекс.Толоки или Amazon Mechanical Turk, только бесплатно и без возможности выбора. )


          1. Samoglas
            05.11.2017 14:08

            Установлен рекорд.
            QIWI кошелек, вход с обычного домашнего ip.
            14 раз. У них что, кликбейт от Google?

            А потом, при попытке пополнить карту, возле надписи «Комиссия 0%», и только когда введешь сумму, появляется надпись «Дополнительная комиссия 8.5%».
            Словом, reCUPTCHA для некоторых сайтов способ какбэ дать понять: «Нам плевать на вас, уважаемые клиентики». На этом с QIWI дел больше не имею, днище.


      1. AxisPod
        02.11.2017 11:00

        Ага, просит она такая отметить дорожные знаки и вот в одном случае надо было тыкнуть кусочек, а в другом нет.


    1. svosin
      01.11.2017 18:46

      Для такого можно использовать сервисы обхода капчи с плагином для браузера. Закинул пару баксов — и горя не знай.


    1. bat
      01.11.2017 19:00
      +1

      почему в тестовом окружении не установить фиксированную капчу или вообще ее отключить?


      1. psFitz
        02.11.2017 10:56

        Потому-что надо протестировать и капчу тоже?


  1. Campbell
    01.11.2017 18:36

    «Если один человек построил, другой завсегда разобрать может сможет»
    За название поста респект, повеселило.


  1. FreeManOfPeace
    02.11.2017 09:23

    Даёшь реализацию в виде расширения для Firefox/Chromium.


  1. Rampages
    02.11.2017 10:47

    А как там поживает бета тест капчи без капчи? ну т.е. невидимой капчи от гугла.


  1. CentOS
    02.11.2017 12:52

    Казалось бы, при чем здесь Rubick?