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

CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) — автоматизированный тест Тьюринга для различения компьютеров и людей, представляющий собой программу, генерирующую и проверяющую контрольные тесты, с которыми может справиться человек, но которые предположительно не способен решить компьютер. Сегодня CAPTCHA является стандартным методом защиты коммерческих сайтов от нежелательных или вредоносных программ — «ботов». Например, компании Google, Microsoft и Yahoo пользуются CAPTCHA, чтобы усложнить спамерам задачу сбора бесплатных адресов электронной почты.

В 1996 году Мони Наор первым предложил использовать автоматические тесты Тьюринга, для того чтобы определить, человек или программа-робот делает запрос к сервису в Web, а 1998 году похожую идею запатентовала компания AltaVista. Термин CAPTCHA был введен в 2000 году и затем популяризирован группой исследователей из Университета Карнеги-Меллона, возглавляемой Мануэлем Блюмом. Наибольшее распространение сегодня получили тесты CAPTCHA, предлагающие пользователю идентифицировать последовательность искаженных символов — предполагается, что даже самые современные системы распознавания образов неспособны правильно «прочитать» такой искаженный текст.

Поскольку CAPTCHA играет практически ту же роль, что и простейший протокол типа «запрос-ответ», эти тесты уязвимы для атак протокольного уровня — спамер может перенести задачу решения тестов CAPTCHA на плечи посетителей порносайтов либо передать ее на «аутсорсинг» в страну с дешевой рабочей силой. Успех таких атак зависит и от архитектуры системы, например хакеры научились обходить некоторые из ранних реализаций CAPTCHA путем простого перебора всех известных идентификаторов сеанса изображений с тестами.

Проведенное нами исследование устойчивости CAPTCHA (их сопротивляемость программам распознавания) показало, что многие из современных вариантов CAPTCHA, в том числе широко применяемые на сайтах Microsoft, Yahoo, Google и др., могут быть легко взломаны с помощью простых стратегий, пользующихся критическими ошибками, которые имеются в схемах CAPTCHA.

Современные методики повышения устойчивости CAPTCHA предлагаются в основном специалистами в области технологий компьютерного зрения, анализа документов и распознавания образов, но можно также использовать подход, опирающийся на опыт разработки систем информационной безопасности и учитывающий "образ мысли противника". И хотя данное исследование касается в основном текстовых CAPTCHA, некоторые из его выводов применимы и к другим типам тестов такого рода.

Для взлома некоторых ранних текстовых вариантов CAPTCHA успешно применяются специализированные алгоритмы компьютерного зрения. Например, Грег Мори и Джитендра Малик разработали сложные алгоритмы распознавания объектов, взламывающие с долей успеха в 95% тесты EZ-Gimpy и с точностью 33% — тесты Gimpy. Две эти схемы CAPTCHA относятся к числу самых первых, разработанных в Университете Карнеги-Меллона. Гэбриел Мой с коллегами позднее создали методики оценки искажений, которые позволили взламывать EZ-Gimpy в 99% случаев и Gimpy-r в 78% случаев.

Исследователи из Microsoft атаковали множество тестов, используя алгоритмы машинного обучения, исполняемые в нейросетях, — доля успеха варьировалась от 4,89 до 66,2%. Они пытались доказать, что взлом тестов, в которых позиции символов заранее известны, — это чистая задача распознавания, тривиальная с точки зрения типовых методов машинного обучения, а в других случаях такие методы не смогут даже определять местонахождение символов, не говоря уже об их распознавании. В целом идентификация местонахождения символов и порядка их следования, или сегментация, остается нерешенной проблемой, трудной с вычислительной точки зрения, а нередко и с комбинаторной. Поэтому исследователи предположили, что устойчивые текстовые схемы должны полагаться именно на трудность определения положения каждого символа, а не на сложность их распознавания. Другими словами, тесты CAPTCHA должны быть устойчивы к сегментации.

Общий метод оценки устойчивости CAPTCHA состоит в следующем: если обозначить через s среднюю долю тестов, которые можно целиком верно сегментировать, а достижимый уровень распознавания индивидуальных символов — через r, то приблизительный общий уровень успеха взлома схемы рассчитывается по формуле s*r n, где n — средняя длина используемых в схеме символьных последовательностей.

Набор символов, применяемых в CAPTCHA, также влияет на защищенность. Если обозначить размер набора символов через c, то вероятность слепого разгадывания теста с произвольной строкой из n символов будет равна 1/cn. Если в схеме употребляются только английские слова, то атакующий может попытаться собрать их все для организации словарной атаки, доля успешных попыток которой рассчитывается по формуле 1/w, где w — количество слов в словаре.

 

Рис. 1. Четыре схемы, взятые с сайта CAPTCHAservice.org. (a) Примеры тестов для каждой из схем (по часовой стрелке: word_image, random_letters_image, number_puzzle_text_image, user_string_image). Во всех схемах используется один и тот же метод искажения, но могут различаться наборы символов и длина последовательности. В каждой схеме всего два цвета — для изображения и для фона. (б) Буквы от A до Z и количество пикселов в них. У пар J и L, K и O, P и V количество символов совпадает. (в) Сегментация с цветовой заливкой. Слева — оригинал изображения, справа — сегментированное изображение.

 

 

Общепринятый критерий защищенности CAPTCHA, используемый при разработке тестов, таков: уровень успеха атак не должен превышать 0,01%, но при этом доля успешных попыток решения теста человеком должна составлять по меньшей мере 90%. Таким образом, между стойкостью CAPTCHA и удобочитаемостью теста необходим определенный компромисс.

 

Схемы CAPTCHAservice.org

CAPTCHAservice.org — общедоступный веб-сервис, созданный в 2005 году Тимом Конверсом с целью генерации CAPTCHA-тестов. Мы изучили четыре схемы CAPTCHA, реализуемые данным сервисом: word_image, random_letters_image, user_string_image и number_puzzle_text_image (рис. 1a).

Стойкость этих четырех схем в период их применения с 2006-го по 2007 год обеспечивалась за счет метода искажения random-shearing, применяемого вертикально и горизонтально к тестовому изображению: пикселы изображения в каждой вертикальной линии теста переносятся вверх или вниз на расстояние, изменяемое случайным образом, но без больших скачков. Затем такой же перенос выполняется в каждом ряду пикселов (с меньшим средним значением дельты расстояния). Схемы различаются главным образом по символьному набору и по длине текста: в word_image и random_letters_image используется шесть заглавных букв; в number_puzzle_text_image последовательность состоит только из цифр длиной до семи знаков; в user_string_image воспринимается любая введенная пользователем строка длиной до 15 символов, состоящая из цифр и букв верхнего или нижнего регистра.

Искажение по методу random-shearing применялось во всех четырех схемах CAPTCHA. При этом их сопротивляемость к дешифровке лучшими коммерческими системами оптического распознавания варьируется от умеренной до превосходной, однако нам, как правило, удавалось распознать все символы в тесте, воспользовавшись общими критическими ошибками, допущенными при разработке каждой из схем. Одна из выявленных серьезных уязвимостей состоит в том, что, хотя символ каждый раз после искажения принимал новую форму, он почти всегда состоял из одного и того же количества пикселов. Более того, как видно из рис. 1б, у большинства символов количество пикселов было постоянным. Вторая критическая ошибка состояла в том, что поскольку в каждом тесте было только два цвета — один для текста, другой для фона, лишь немногие из символов соединялись друг с другом. Это позволило идентифицировать все символы в верном порядке с помощью простого алгоритма сегментации с цветовой заливкой (Color-Filling Segmentation, CFS). Этот алгоритм вначале определял первый пиксел переднего плана, а затем его соседей до тех пор, пока не были выявлены все пикселы монолитного компонента. Затем он определял первый пиксел переднего плана вне уже распознанных компонентов и выполнял новый обход, чтобы идентифицировать смежный компонент. Этот процесс продолжался до тех пор, пока не были обнаружены все монолитные компоненты теста. На рис. 1в показан результат применения сегментации с цветовой заливкой к тесту — число цветов, использованных для заливки, соответствует количеству символов.

Руководствуясь знаниями об этих уязвимостях, мы разработали алгоритм атаки против схем Captchaservice.org:

  1. Построить таблицу количества пикселов в каждом символе для всего используемого в схеме алфавита.
  2. Удалить из теста малые «шумовые» фрагменты, если они есть (их легко различить, поскольку у них количество пикселов гораздо меньше, чем у любого реального символа).
  3. Разделить тест на несколько сегментов путем сегментации с заливкой.
  4. Подсчитать количество пикселов переднего плана в каждом сегменте.
  5. Отыскать соответствующее количество пикселов в таблице для идентификации каждого символа-кандидата. Если число пикселов в таблице не найдено, значит, соответствующий сегмент с большой вероятностью является компонентом разъединенного символа. По очереди объединить этот сегмент с его соседями справа и слева и рассматривать то сочетание, для которого есть соответствующий результат из таблицы числа пикселов, в качестве единого символа. Если в таблице присутствуют оба варианта, выбрать один из них случайным образом.
  6. Различить символы с одинаковым числом пикселов, например J и L, K и O, P и V, путем анализа их геометрического строения с помощью простых алгоритмов. (Для схемы word_image, в которой в каждом тесте используется английское слово, альтернативным методом различения символов с одинаковым количеством пикселов является проверка орфографии.)

Такая простая атака обеспечивала почти 100-процентный успех при взломе всех четырех схем, причем осуществлялась быстро, например для random_letters_image коэффициент успешных атак составлял 98%, и на компьютере с 512 Мбайт оперативной памяти и процессором Pentium/2,8 ГГц на решение каждого теста уходило всего около 16 мс. Это намного быстрее по сравнению с атаками, которые мы применяли раньше, так как сегментация с заливкой выполняется значительно оперативнее, чем другие методы сегментации.

 

Microsoft CAPTCHA

CAPTCHA от Microsoft — это разработка междисциплинарной группы экспертов в области распознавания и анализа содержания документов, машинного обучения, человеко-машинного взаимодействия и безопасности, имеющая достаточно высокую сопротивляемость к сегментации и стойкость теста. Впервые свою схему корпорация применила в системе регистрации пользователей Hotmail в 2002 году и в дальнейшем продолжала повышать ее стойкость и удобочитаемость. Различные варианты Microsoft CAPTCHA используются в онлайн-сервисах корпорации, в том числе в Hotmail, MSN и Windows Live.

 

Рис. 2. Microsoft CAPTCHA. (a) Четыре примера тестов. (б) Успешная атака, проведенная путем сегментации. Шаг 1: вертикальная сегментация, в ходе которой предварительно обработанное изображение делится на фрагменты при помощи гистограммы. Шаг 2: сегментация с цветовой заливкой, в ходе которой идентифицируются раздельные объекты в каждом фрагменте. Шаг 3: удаление дуг, выполняемое в основном путем проверки относительного расположения. После удаления дуг производится обновление гистограммы изображения и сегментация его на фрагменты. Шаг 4: идентификация и последующая сегментация оставшихся соединенных объектов. Окончательный результат: восемь реальных символов идентифицированы в верном порядке. При этом каждый из них окрашен в свой цвет, а большинство дуг удалены.

 

 

На рис. 2a показаны четыре примера тестов, сгенерированных реализацией Microsoft CAPTCHA от 2007 года. Главный прием, используемый в них для защиты от сегментации, — случайный выбор непересекающихся и пересекающихся дуг различной толщины. Некоторые из них имеют такую же ширину, как у самых широких элементов символов, и чтобы обеспечить читаемость, эти дуги не пересекают ни один из них. Другие дуги имеют ту же толщину, что и тонкие элементы символов, и пересекаются с толстыми дугами, с символами или с теми и другими. Дуги обоих типов — того же цвета, что и символы в тесте. Замысел разработчиков состоял в том, что сами дуги могут служить в качестве ложных символов, поэтому если случайно дуга будет принята за символ, это запутает даже самые развитые методы сегментации.

Для сегментации тестов Microsoft CAPTCHA необходима возможность различать дуги и реальные символы, чего мы добились путем простой атаки (рис. 2б). Вначале, после несложной предварительной обработки, включающей в себя бинаризацию с преобразованием цветного изображения теста в черно-белое, был применен стандартный метод вертикальной сегментации изображения на несколько фрагментов, каждый из которых может содержать один или более символов. Вертикальная сегментация предполагает построение гистограммы, отображающей количество пикселов переднего плана в расчете на вертикальную линию изображения, и последующее деление изображения на фрагменты путем отсечения линий, лишенных пикселов переднего плана. В шаге 1 на рис. 2б показан тест, разделенный на два фрагмента. Затем, как показано в шаге 2 на рис. 2б, мы применили CFS к каждому фрагменту для идентификации всех соединенных компонентов, или объектов, к числу которых могут относиться дуги, символы, соединенные дуги или соединенные символы.

Зная относительные позиции объектов во фрагменте, уже можно было с большой долей успеха отличать дуги от реальных символов. Например, символы обычно были ближе к базовой линии фрагмента, тогда как дуги располагались ближе к верхней или нижней границе изображения. Кроме того, символы обычно располагались на одной горизонтали, но никогда — на одной вертикали. Руководствуясь этими наблюдениями, мы идентифицировали типичные схемы относительного расположения, по которым можно определить, какой из объектов внутри фрагмента является дугой. В таблице 1 показаны некоторые из идентифицированных схем и соответствующие реальные примеры из тестов. Этот метод изучения относительного расположения объектов, как показывает шаг 3 на рис. 2б, позволил идентифицировать и удалить большинство дуг в тесте.

 

Таблица 1. Схемы относительного расположения объектов на фрагментах изображений Microsoft CAPTCHA.

 

 

У данной реализации Microsoft CAPTCHA есть и другие уязвимости: число пикселов у реальных символов было большим, чем у дуги, а количество символов в тесте всегда было равно восьми. Эти недостатки позволили точно определять, какой из объектов содержал соединенные символы и сколько таких символов в нем было, и тем самым верно сегментировать соединенные символы. В шаге 4 на рис. 2б показан пример результата окончательной сегментации.

В целом доля успеха наших сегментационных атак на этот CAPTCHA-тест превысила 90%, и, согласно нашим оценкам, схема Microsoft может быть взломана более чем в 60% случаев.

 

CAPTCHA компаний Google и Yahoo

Компании Google и Yahoo тоже применяют CAPTCHA для защиты своих онлайн-сервисов.

 

Google CAPTCHA

Для противодействия сегментации в Google CAPTCHA символы тесно группируются и при этом касаются друг друга или перекрываются (рис. 3a). Тем не менее, пользуясь только CFS, мы верно сегментировали 12 из 100 произвольных образцов теста, собранных в период с декабря 2007-го по февраль 2008 года. На рис. 3б показан один из тестов, уязвимых для такой атаки. Среднее число символов в тесте составляло 6,25, а общая доля успеха взлома данной схемы составила 8,7%.

 

Рис. 3. Google CAPTCHA. (a) Примеры тестов. (б) Крайний справа является уязвимым для CFS-атаки

 

 

Yahoo CAPTCHA

В 2000 году компания Yahoo одной из первых внедрила технологию CAPTCHA, и с тех пор используемый ею тест многократно модернизировался. Мы изучили версию, которую компания ввела в действие в марте 2008 года, она была специально разработана в расчете на устойчивость к сегментации. Как показано на рис. 4a, текст в данном CAPTCHA сжат с боков и символы, как правило, либо касаются соседних, либо соединены пересекающими их произвольно расположенными линиями. Всего через неделю после внедрения данной схемы мы обнаружили в ней критические недостатки, которыми можно легко воспользоваться.

 

Рис. 4. Yahoo CAPTCHA. (a) Примеры тестов: наклонный (слева) и обычный (справа). (б) Тесты обоих видов уязвимы для сегментации.

 

 

В данном CAPTCHA-тесте Yahoo длина последовательности часто варьировалась, чтобы ее нельзя было предсказать, — это хорошая особенность, так как путем автоматизированной атаки очень трудно или даже невозможно сегментировать тест, если количество символов в нем неизвестно. Однако у данной схемы есть серьезная уязвимость — мы смогли оценить количество символов в тесте более чем в 68% случаев путем измерения общей ширины текста.

Еще одна уязвимость состояла в том, что система генерировала всего два основных типа тестов, которые можно было различить с помощью простой программы. Как показано в левой части рис. 4a, в наклонных тестах используется следующее преобразование: пикселы символа смещаются на некоторый угол с сохранением общей формы символов — этот процесс подобен изменению начертания символа от нормального к курсиву, но в противоположном направлении. В обычных тестах, как показано справа на рис. 4a, эта трансформация не применялась.

Для тестов каждого из типов мы разработали два простых алгоритма сегментации и соответствующие правила выбора алгоритма, и в результате получили долю успеха 33,4%. По нашим оценкам, схема Yahoo CAPTCHA может быть взломана в 25,9% случаев.

Сегментация наклонных тестов. После этапов предварительной обработки: бинаризации, CFS и удаления дуг мы спроецировали тест под углом 33,5 гр. к вертикали (по нашим наблюдениям, угол наклона у всех наклонных тестов был одинаковым), чтобы построить гистограмму, отображающую количество пикселов в каждой из проективных прямых на изображении. Затем по длине гистограммы определили n, количество символов в тесте. После этого разделили гистограмму на n фрагментов, что дало n+1 граничных точек на оси X. Начиная от каждой точки мы провели линию под углом 56,5 гр. к горизонтали, чтобы разделить тест на n сегментов, в каждом из которых предположительно содержался один символ.

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

Сегментация обычных тестов. После предварительной обработки мы напрямую определили n по ширине последовательности символов. Если на изображении присутствовал всего один монолитный компонент (объект), мы поровну вертикальной чертой делили его на n фрагментов, каждый из которых являлся сегментом. Если объектов было два или больше, то по их относительному размеру оценивалось число содержащихся в каждом объекте i символов, обозначаемое как ni. Например, если было установлено, что в тесте содержится пять символов, распределенных по двум объектам, мы считали, что объект большей ширины содержал три символа, а другой — два. Затем мы поровну вертикальной чертой делили объект i на nфрагментов, каждый из которых являлся сегментом.

На правом изображении на рис. 4б показан пример успешной сегментации обычного теста, выполненной в результате верного определения числа символов и простого деления текста на шесть равных сегментов.

 

Инвариантность как «волшебное оружие»

По сути, все эти атаки основывались на поиске и использовании скрытых инвариантов в тестах CAPTCHA. Например, главным инвариантом схем CAPTCHAservice.org было количество пикселов в символах, которое обычно было разным у различных символов, но оставалось постоянным для одного и того же символа после всяческих искажений. Инварианты Microsoft CAPTCHA 2007 года — это схемы относительного расположения объектов во фрагментах изображений. Постоянство этих схем сыграло ключевую роль в возможности отличать дуги от символов. Инвариантом Google CAPTCHA были пробелы между символами. Инвариантами Yahoo CAPTCHA оказались корреляция между длиной текста и шириной изображения, очень ограниченное количество типов общей формы теста (обычная и наклонная) и фиксированный угол наклона изображения.

После идентификации инвариантов пользоваться ими очень просто. При этом насторожило то, что некоторые из атак, разработанных для простых вариантов CAPTCHA, оказались применимы и к другим, более сложным вариантам, тщательно спроектированным специалистами крупных компаний. Так, метод CFS, использованный для сегментации нескольких схем Captchservice.org, в значительно мере обусловил успех атак и на CAPTCHA компаний Microsoft, Google и Yahoo. А атака с подсчетом числа пикселов не только обеспечила поразительный успех при распознавании индивидуальных символов во многих простых схемах, но и помогла взломать CAPTCHA-тесты Microsoft и Yahoo за счет возможности отличить реальные символы от сгенерированного случайным образом шума. Использование инвариантов — классическая стратегия криптографического анализа, например дифференциальный криптоанализ основан на поиске инвариантов шифруемых значений, сохраняющихся после множества раундов шифрования.

Рассмотренные методики, в том числе метод подсчета пикселов, CFS и анализ гистограммы, сформированной путем вертикального проецирования изображения под определенным углом (либо вертикального и горизонтального, как мы поступили с одной из более ранних схем Yahoo), эффективны в подавляющем большинстве случаев, поэтому все эти методики являются хорошим первичным набором инструментов для оценки текстовых схем CAPTCHA, особенно их устойчивости к сегментации.

Все описанные инварианты являются инвариантами пиксельного уровня, названными так, поскольку их можно использовать с помощью методов обработки изображения на уровне пикселов. Кроме таких инвариантов, символьным последовательностям CAPTCHA присущи инварианты строчного уровня, которые не зависят от каких-либо особенностей, имеющихся на уровне пикселов. Как правило, инварианты строчного уровня создает лингвистическая модель, используемая схемой для генерации текстовых строк, например, в Microsoft CAPTCHA 2007 года была постоянной длина текстовых строк, что позволило идентифицировать и сегментировать соединенные символы.

Если в CAPTCHA употребляются только словарные слова, то образуется еще один инвариант строчного уровня, поскольку словарь ограничивает выбор возможных строк. Такого инварианта будет достаточно, чтобы организовать атаку; например, когда в CAPTCHA задействован лишь небольшой набор английских слов, высокий успех могла бы иметь словарная атака. Инвариантность строчного уровня можно использовать и другими способами; например, при атаке на схему CAPTCHAservice.org text_image разработанный нами ранее алгоритм распознавания образов обеспечил лишь ограниченный успех распознавания символов, однако словарная атака хорошо дополнила его, что позволило получить хороший общий результат. С помощью словаря мы воспользовались слабостью механизма генерации текстовых строк (все они являлись шестибуквенными английскими словами), чтобы успешно определять оставшиеся символы, первоначально не идентифицированные алгоритмом распознавания образов. Однако наша другая атака, полагавшаяся только на инвариантность пиксельного уровня, оказалась более эффективной.

В сумме недостатки проанализированных нами схем CAPTCHA сводились в основном к инвариантам пиксельного уровня, строчного уровня или обоих этих уровней. Абсолютная защита от атак наподобие нашей состояла бы в удалении инвариантов путем применения соответствующих методик, в частности рандомизации. Например, инварианты пиксельного уровня можно удалить следующими способами. В схемах CAPTCHAservice.org можно было бы варьировать число пикселов в символах от теста к тесту или просто сделать всегда одинаковым число пикселов во всех символах. В Yahoo CAPTCHA можно ввести большее количество типов глобальной формы текста и использовать их в случайном порядке — таким образом компьютерам было бы труднее определять каждый тип. В Google CAPTCHA можно было бы просто удалить пробел между символами (правда, при этом могут возникнуть проблемы с читаемостью, и поэтому данный метод следует применять с осторожностью). Чтобы исключить инварианты строчного уровня, разработчикам теста стоит избегать использования словарных слов и устанавливать варьирующуюся, непредсказуемую длину для текстовых строк.

Несмотря на то что взломанные CAPTCHA были спроектированы лучше, чем использовавшиеся в период с 2000 по 2004 год, надежность тестов при этом фундаментально не повысилась. После публикации нашего исследования сервис Captchaservice.org вообще прекратил работу, а Microsoft, Yahoo и Google были вынуждены модифицировать свои схемы.

Можно дать два основных объяснения недостаточной стойкости тестов CAPTCHA. Во-первых, их строение почти полностью базируется на исследованиях в области компьютерного зрения, распознавания документов и машинного обучения. Однако в наших атаках не использовались какие-либо сложные, специализированные алгоритмы — мы просто применили наш опыт в области разработки систем информационной безопасности, чтобы выявить критические уязвимости каждой из схем, в особенности инварианты пиксельного и строчного уровней, а затем разработали простые, но инновационные методы использования этих уязвимостей. Во-вторых, хороший CAPTCHA требует соблюдения верного баланса между стойкостью и читаемостью, а два этих качества нередко имеют тонкие взаимозависимости, что делает разработку CAPTCHA довольно сложной задачей. Нынешнее понимание методов ее решения является недостаточным и требует дополнительных исследований.

Отдельно следует отметить, что CAPTCHA «домашней разработки» — это неудачная идея, точно так же как созданные «на коленке» системы криптографии и безопасности. Чтобы правильно спроектировать CAPTCHA, необходим значительный объем навыков, и при этом даже опытные инженеры могут совершать ошибки. Необходимо также уделять внимание мелким подробностям. Любая схема CAPTCHA требует тщательного проектирования, внедрения высококвалифицированными специалистами и последующего открытого и независимого тестирования перед запуском в эксплуатацию.

 

***

По нашим прогнозам, CAPTCHA-тесты будут эволюционировать, подобно тому как развиваются криптография, цифровые водяные знаки и другие способы защиты, а успешные атаки станут стимулом к разработке более стойких систем. И важнейшую роль в этом процессе сыграют инженеры систем информационной безопасности.

Джефф Ян ( jeff.yan@ncl.ac.uk ) — преподаватель Школы информатики Университета г. Ньюкасл; Ахмад Салах Эль Ахмад ( ahmad.salah-el-ahmad@ncl.ac.uk ) — аспирант школы информатики Университета г. Ньюкасл (Великобритания).

Jeff Yan, Ahmad Salah El Ahmad. CAPTCHA Robustness: A Security Engineering Perspective, IEEE Computer, February 2011, IEEE Computer Society. All rights reserved. Reprinted with permission.