Независимый исследователь Чед Хаук разработал алгоритмы,продемонстрировавшие уязвимость обновленной системы reCAPTCHA.
В своем докладе, опубликованном перед презентацией исследования на конференции Defcon, он сообщил, что специалисты компании Google, которой принадлежит reCAPTCHA, успели внести в систему несколько изменений, что сделало некоторые алгоритмы неработоспособными к моменту его выступления. В ответ Хаук внес усовершенствования в свою разработку, повысив долю успешных взломов до 30%.
"reCAPTCHA никогда не отличалась абсолютной надежностью: всегда существовали методы ее взлома, – утверждает Хаук после того, как его алгоритмы были опубликованы. – Информация об исследовании уже доступна, а Google еще не внесла исправлений – меня это очень удивляет".
В ответ представители компании заявили, что до сегодняшнего дня ни один из раскрытых методов не использовался для реальных взломов. По словам одного из них, усовершенствования в системе reCAPTCHA появлялись и до, и после публикации разработок Хаука: "Чтобы повысить надежность контрольных слов, мы внесли изменения до и после демонстрации этих алгоритмов. Теперь reCAPTCHA отличается большей отказоустойчивостью, а также лучшим балансом между функциональностью и удобством ее использования. Мы получили самые положительные отзывы от наших клиентов, но даже в этом случае не следует забывать, что при всей эффективности CAPTCHA в качестве инструмента для борьбы со спамом его лучше применять в сочетании с другими технологиями для обеспечения безопасности".
Технология reCAPTCHA была создана специалистами Университета Карнеги — Меллон, а затем приобретена компанией Google. Она основана на использовании искаженного текста, который относительно легко идентифицируем для человека, но не для программ распознавания символов. В reCAPTCHA применяется комбинация из двух слов – известного системе, или контрольного, и неизвестного, представляющего собой фрагмент книги, подлежащей оцифровке в рамках проекта Google Books.
Свою методику обхода защиты этой системы Хаук основал на собственных алгоритмах, в которых реализованы устранение искажений текста, распознавание символов и поиск слов по словарю. По словам исследователя, слабое место reCAPTCHA заключается в самом принципе ее работы: "Система демонстрирует два слова: одно для проверки, второе для оцифровки. Когда тестируемый правильно вводит контрольное слово, программа автоматически воспринимает второе слово как распознанное правильно".
Последние изменения, внесенные в систему, заключались в устранении эффекта инвертирования изображения, усилении лентообразных искажений и разрежения текста, что привело к частичному перекрыванию символов и усложнению задачи деления текста на сегменты. "Но мне и с этим удалось справиться, – заявляет Хаук. – Все их методики не без изъяна".
Его так называемый "выравнивающий алгоритм" помогает компенсировать искажения формы текста и привести его к виду, пригодному для автоматической обработки. Результат проходит сканирование системой оптического распознавания, а атака по словарю многократно увеличивает эффективность применения первых двух методов.
По словам Хаука, на сообщение о проведенном исследовании, отравленное администрации recaptcha.net, ответа он не получил, хотя использование его находок злоумышленниками может оказаться делом ближайшего будущего. "При достаточном навыке программирования реализация моих алгоритмов займет не более дня," – уверен он.
Одно найти легче, чем другое. Спойлер: это не темная материя