Повреждение КАПЧЕЙ для благородной цели

высоко ценил , библиотека Joda Time также достойная внимания. Это - основание для нового дата и время api , которая нарисована в для Java 7. Дизайн аккуратен, интуитивен, хорошо зарегистрировал и избегает большой неуклюжести исходных java.util.Date / java.util.Calendar классов.

Joda DateFormatter может проанализировать Строку к Joda DateTime.

12
задан Douglas Squirrel 17 November 2009 в 22:45
поделиться

5 ответов

В основном решение проблемы искажения текста CAPTCHA состоит из трех отдельных шагов:

  1. Выяснить, где находятся интересные части
  2. Сегментировать текст на отдельные буквы
  3. Распознать буквы

Единственная оставшаяся проблема, довольно сложная для компьютеров, - это вторая. Первое обычно не очень сложно, если только вы случайно не наткнетесь на CAPTCHA from hell . А третий решается компьютерами с гораздо большим успехом, чем люди.

Интересный сайт для изучения того, как взламываются CAPTCHA, - это сайт Исследовательской группы OCR .

4
ответ дан 2 December 2019 в 23:07
поделиться

Мой ответ на ваш вопрос "действительно ли эти проблемы трудноразрешимы даже при наличии большого количества ресурсов и времени?" указывает на то, что именно по этой причине работают CAPTCHA.

Насколько я понимаю, цель CAPTCHA - доказать, что вы человек, а не спам-бот. reCAPTCHA - это новый подход к этой теме, потому что они берут изображения, которые представляют текст, который не может быть разрешен механизмами OCR (оптического распознавания символов). Разница между человеком и машиной в этом случае состоит в том, что специализированные алгоритмы пытались интерпретировать это изображение и потерпели неудачу, в то время как «нормальный» человек обладает внутренней способностью интерпретировать текст в соответствии с человеческим языком. Что, как говорится, в будущем мы надеемся, что кто-то предложит более совершенные механизмы распознавания текста, чтобы уменьшить вмешательство человека в оцифровку мировой информации. Мы надеемся, что кто-то найдет легкое решение этой конкретной проблемы.

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

1
ответ дан 2 December 2019 в 23:07
поделиться

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

Тем не менее, спамеры нашли очень эффективный способ взломать более популярные CAPTCHA. Они просто нанимают дешевых рабочих, чтобы читать их, в обмен на несколько центов за рабочий счет. В результате существует небольшая индустрия, которая занимается взломом CAPTCHA для создания миллионов учетных записей, которые затем можно использовать для рассылки большего количества спама. По сравнению с суммой, полученной спамерами, затрат практически нет. Аналогичное решение могли бы использовать слепые / глухие люди, которые отправили бы изображение CAPTCHA какому-нибудь дешевому рабочему в Китае или где-то еще, где они ответят правильными словами, и слепой / глухой сможет продолжить. К сожалению, слепые люди нуждаются в этой услуге всего несколько раз, в то время как спамерам нужен непрерывный поток, поэтому эти работники предпочтут работать на спамеров. (Плата лучше.) Тем не менее, лучшим решением было бы отправить CAPTCHA какому-нибудь другу, позволить им прочитать и / или расшифровать ее и вернуть ответ.

Стиль ReCAPTCHA также считывает слова. Простое приложение для распознавания речи может распознавать все, что говорится, хотя распознавание речи все еще требует дополнительной оптимизации. Тем не менее, вы могли бы захотеть работать с этой точки зрения, заставив приложение вместо этого прослушивать звуковой байт.

Когда становится возможным нарушить CAPTCHA, они просто будут думать о более эффективных методах, подобных CAPTCHA. Методы распознавания текста все еще совершенствуются, поэтому будет сделано больше работы, чтобы усложнить CAPTCHA. То есть, пока OCR не станет таким же хорошим, как человеческий глаз в распознавании слов ...

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

  1. Очистить изображение. 3а. Определите изгиб буквы, проверив левую сторону. 3b. Сделайте наложение всех возможных букв / цифр, чтобы найти ту, которая лучше всего покрывает их. (Это наиболее вероятная буква.)
  2. Найдя слово, проверьте словарь, чтобы убедиться, что это настоящее слово. (Если только CAPTCHA не использует настоящие слова.)

Несмотря на то, что они могут скручивать буквы в CAPTCHA, должно быть возможно определить вращение, которое они использовали, просто посмотрев на левую сторону каждой буквы, а затем пытаясь применить одну и ту же кривую к каждой букве. (52 комбинации плюс 10 цифр, если также используются цифры.) Обычно вы должны попытаться поставить рамку вокруг каждой буквы, а затем проверить, какая буква будет содержать наименьшее количество пробелов. Это наиболее вероятная буква.

Основная причина, по которой это не часто используется для распознавания текста, - это в основном потребность в скорости. Шаг 3a / b обычно медленный,


Увеличиваем этот ответ, но в ответ на один из комментариев:

Есть несколько способов очистить изображение. Вам понадобится фильтрация цвета, уменьшение шума и алгоритм, способный распознавать зашумленные линии на изображении. Слайд-шоу DEFCON , на которое вы указали, демонстрирует несколько простых способов отфильтровать часть шума. Он показывает, что базовый инструмент обработки изображений уже может сделать изображение намного более четким для чтения машиной. Простое размытие удалит случайные точки и тонкие линии, а цветные фильтры отфильтруют шумные цвета. Следующим шагом было бы попытаться заключить рамку вокруг каждой буквы в CAPTCHA, надеясь, что система сможет распознать их местоположение. Я не знаю никаких практических алгоритмов для этого, но должны быть способы их распознать. Есть программное обеспечение, которое может создавать векторные изображения из растровых изображений, Вполне вероятно, что у этого блока не будет прямоугольных углов, поэтому вам придется исказить все 52 буквы, чтобы они соответствовали одному и тому же блоку. Курсив или полужирный шрифт не должны иметь большого значения, поскольку эти стили являются лишь дополнительными искажениями. Тем не менее, Serif или Sans-serif имеют значение. Шрифты с засечками, как правило, имеют еще несколько шипов и орнаментов. К счастью, существуют алгоритмы, которые могут преобразовать прямоугольник в любую другую фигуру с четырьмя углами.

Обычные приложения OCR предполагают, что буквы в основном прямые, и просто проверяют несколько горячих точек, чтобы найти совпадение. Таким образом, они иногда ошибаются из-за шума. Чтобы взломать CAPTCHA, вам потребуется более точное совпадение, желательно «исключающее ИЛИ» изображения буквы CAPTCHA с изображением одной из 52 букв, а затем подсчет количества черных и белых пятен для вычисления отношения.


Еще один комментарий, еще текст. :-)

Сегментация была бы проблемой, но ее можно решить. Это просто чрезвычайно сложно. Но когда вы очистили изображение, должно быть возможно вычислить две линии. Одна линия касается нижней части каждой буквы, а вторая линия касается верхней части. Тем не менее, хорошие CAPTCHA больше не помещают буквы в одни и те же строки, а те, которые не очень хорошие, могут быть взломаны, просто следуя строкам. (Угадайте? ReCAPTCHA помещает буквы между двумя строками!) Если вы знаете, что первая буква начинается слева, вы можете попробовать наложить туда все 52 варианта, пока не найдете совпадение. Когда вы найдете один, двигайтесь вправо за вторым. И дальше, пока не прочитаете все буквы. С двумя линиями, которые помогут вам, вам не нужна полная коробка.

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

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

2
ответ дан 2 December 2019 в 23:07
поделиться

Это связано В вопросе SO есть несколько хороших идей, в том числе DEFCON talk , в котором утверждается, что использование нескольких OCR и голосование нарушают многие простые CAPTCHA. Это предлагает возможный метод решения: распределить проблему по нескольким серверам, каждый из которых запускает один или несколько инструментов OCR параллельно, собирает результаты и принимает наиболее популярный ответ. Комментарии приветствуются.

0
ответ дан 2 December 2019 в 23:07
поделиться

Введение CAPTCHA, безусловно, сделало Интернет менее доступным для людей с ослабленным зрением, и я согласен с вами, указав на это как на серьезную проблему, которая заслуживает большего внимания и внимания. Однако, хотя CAPTCHA может и непоследовательно обходится на популярных веб-сайтах, я не думаю, что это жизнеспособное долгосрочное решение для тех, кто в этом нуждается. В самом деле, день, когда варианты CAPTCHA, которые в настоящее время присутствуют на таких сайтах, как Facebook, Google, MySpace и т. Д., Могут быть надежно и постоянно нарушены, - это день, когда они станут устаревшими и будут заменены либо более сильными вариантами того же самого, либо совершенно новым решением (как вы подразумевается, что отличать кошек от собак на фотографиях было популярной альтернативной тенденцией).

Когда дело доходит до доступности в Интернете, то, что я думаю, сейчас больше всего нуждаются в защите интересов людей с ограниченными возможностями. Чем больше людей связывается с компаниями-разработчиками программного обеспечения, группами с открытым исходным кодом и органами по стандартизации и говорит об этой потребности, тем больше информации будет повышаться, и это (будем надеяться) приведет к активизации действий от имени сообщества разработчиков. В конце концов, было бы здорово увидеть такие сайты, как Google или Facebook, предлагающие альтернативные методы доступа только для их пользователей с ослабленным зрением.

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

Что касается технической стороны вашего вопроса, я не Я думаю, что наличие дополнительной вычислительной мощности само по себе позволит вам надежно и последовательно взламывать CAPTCHA. В спаме ОЧЕНЬ много денег, и вы можете быть уверены, что теневые SEO-компании и спамеры имеют в своем распоряжении огромное количество серверов. Как упоминал Йоханнес Рассел, если вы хотите узнать больше о том, как это делается и в чем заключаются технические трудности, изучите оптическое распознавание символов (OCR) и обратите внимание на большое разнообразие искажений цифр / букв, которые возникают на сайтах с высокой посещаемостью.

исследуйте оптическое распознавание символов (OCR) и обратите внимание на широкий спектр перекосов цифр / букв, который происходит на сайтах с высокой посещаемостью.

исследуйте оптическое распознавание символов (OCR) и обратите внимание на широкий спектр перекосов цифр / букв, который происходит на сайтах с высокой посещаемостью.

0
ответ дан 2 December 2019 в 23:07
поделиться
Другие вопросы по тегам:

Похожие вопросы: