В четверг 31 мая хакеры из группы DC949 выложили в открытый доступ программу Stiltwalker, которая способна проходить тесты Google ReCAPTCHA с результатом 99,1% (лучше, чем люди). В разработке используется несколько методов, при этом анализируется только звуковая часть ReCAPTCHA.
В звуковом тесте ReCAPTCHA на компьютер пользователя транслируется шесть слов, которые замаскированы с помощью высокочастотного статического радиошума, проигрываемого в обратном порядке — с целью помешать работе систем распознавания речи. Однако, хакеры из DC949 обнаружили в этой системе уязвимость и сумели найти явные маркеры начала каждого из шести слов (см. спектрограмму вверху), чтобы отличить отдельные слова. Словарь звукового теста ReCAPTCHA состоит всего из 58 уникальных слов. Разработчики использовали open-source библиотеку pHash для генерации перцептуального хэша звуков (такой хэш практически не меняется при обработке похожих звуков). Сравнивая хэши, можно делать обоснованные догадки о том, какие конкретно из 58 слов используется в каждом наборе. Данная техника сама по себе показывала результат не лучше 30%, но его удалось значительно повысить за счёт применения алгоритмов машинного обучения в нейросети, которая прошла самообучение на 50 тыс. тестах ReCAPTCHA, а также за счёт использования криптографических хэшей MD5.
Авторы опубликовали программу вместе с исходниками и всеми необходимыми инструментами (под Linux). Слайды презентации Stiltwalker с хакерской конференции Layer One можно посмотреть здесь, или на видео внизу страницы.
Показанный результат 99,1% является рекордным для всех систем взлома ReCAPTCHA, которые публиковались ранее.
За два часа до публикации системы Stiltwalker компания Google внесла изменения в генерацию фонового шума, так что спектрограмма ReCAPTCHA на высоких частотах видоизменилась:
Звуковой тест теперь сопровождается шумом из человеческих голосов, содержит десять слов вместо шести и длится 30 секунд вместо восьми, так что Stiltwalker перестал работать.