Второй раз повторяю — я человек

Linux loves

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

Зачем нужна проверка на роботов?

Проверка на роботов помогает предотвратить спам, DDoS-атаки, автоматические регистрации аккаунтов и другие нежелательные действия со стороны ботов. Она также помогает обеспечить безопасность сайта и защитить личные данные пользователей.​

Как проходить проверку на робота?​

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

  1. Внимательно читайте инструкции⁚ перед выполнением проверки внимательно прочитайте инструкции и следуйте им точно.​
  2. Сосредоточьтесь⁚ на время прохождения проверки отведите все свои мысли и концентрируйтесь на задаче.​
  3. Решайте математические задачи⁚ решение простых математических задач, таких как сложение или умножение, довольно распространено в проверках на роботов.​
  4. Ответьте на вопрос⁚ в некоторых проверках вам может быть задан знакомый вопрос, на который нужно дать ответ.​
  5. Выполните задачу по распознаванию⁚ некоторые CAPTCHA требуют распознавания изображений или текста.​ Определите, что требуется выполнить, и следуйте указаниям.​

Преимущества использования проверки на роботов

Использование проверки на роботов имеет несколько преимуществ для владельцев веб-сайтов и пользователей⁚

  • Улучшение безопасности⁚ проверка на роботов помогает предотвратить взломы и злоупотребление сайтом.​
  • Защита от спама⁚ CAPTCHA помогает предотвратить автоматическую отправку спама через контактные формы и комментарии на сайте.​
  • Повышение качества услуги⁚ защита от роботов позволяет предоставить более качественный сервис пользователям, так как исключает возможность действий со стороны ботов.​

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

1. Краткий обзор

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

За примерами далеко ходить не надо. Спам, который стремительно растет, в значительной степени зависит от работы таких программ, как сборщики почты (для пополнения базы данных адресов), автоматическая регистрация почтовых ящиков (которые затем используются для отправки писем). Роботов можно использовать для «засорения» форумов, чатов, блогов, они могут отправлять SMS-сообщения через веб-интерфейсы, писать электронные письма, проходить опросы, подбирать пароли и т.д.д. Все это приводит либо к тому, что пользователю становится сложнее получить нужную информацию, либо к тому, что работа злоумышленников становится более эффективной. Такое положение дел заставило специалистов по компьютерной безопасности крепко задуматься о том, как решить эту проблему, а хакеров, в свою очередь, задуматься о том, как ее обойти.

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

2. Компьютер или человек

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

CAPTCHA — это аббревиатура от «Компьютерный тест Тьюринга для различения компьютеров и людей». На самом деле, отличить человека от программы — это тест Тьюринга. CAPTCHA иногда называют обратным тестом Тьюринга (более подробную информацию см. в Википедии).

Концепция теста Тьюринга была введена Аланом М. Тьюринг (1912-1954), ведущий мировой интернет-провайдер.) в своей работе «имитационная игра». Задача теста — определить, обладает ли компьютерная программа интеллектом, а точнее, может ли она выдавать себя за человека. Критерий Тьюринга описывается как игра в «симуляцию». Суть игры заключается в том, чтобы захватить одного мужчину, одну женщину и одну программу. Последний, в свою очередь, не имея информации о сфере деятельности двух других участников, задает им вопросы. Целью программы является определение пола людей. Несмотря на критику этой теории, она внесла значительный вклад в развитие систем искусственного интеллекта и философии, и до сих пор используется против автоматизированного программного обеспечения в наше время.

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

Компьютер или человек

Рисунок. 1. Чтобы получить паспорт Microsoft .NET,

Также необходимо пройти тест CAPTCHA.

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

Компьютер или человек - 2Второй раз повторяю - я человек

Рисунок. 2. Тесты CAPTCHA бывают разные и имеют разные названия

У них есть только одна общая черта.

3. Проблема безопасности

Интересно, что проект CAPTCHA, ставший пионером в этой области, дал свое название тенденции, первоначальная цель которой — остановить спам. Таким образом, «Спам» первым положил начало практике массовой рассылки, а со временем определил название для «незапрашиваемой рекламной почты» (хотя тест получил свое название в 2000 году. благодаря Университету Карнеги-Меллон и IBM, но именно этот проект был первым). Уже существует большой выбор поставщиков CAPTCHA. Этим занимаются как софтверные гиганты, так и отдельные программисты. Поэтому квалификация разработчика напрямую определяет, насколько легко обойти тест. Более того, CAPTCHA нуждается в хорошей реализации. Часто бывает так, что очень качественный тест оказывается легко обойти, потому что он используется без соблюдения правил безопасности.

ЧИТАТЬ ЕЩЁ:  Онлайн-сервис Figma - все, что нужно знать разработчику

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

3.1. Пробелы в программном обеспечении

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

3.1.1. Выбор и прогнозирование результатов

Прогнозирование производительности предполагает, что мы знаем, какая информация непосредственно влияет на генерацию CAPTCHA. Он может быть получен в двух случаях: уязвимый проект доступен в открытом коде или он получен путем эвристического анализа (определенное количество тестов, со всеми вытекающими отсюда последствиями). Этой информацией может быть наш IP-адрес, время и знание генератора случайных чисел. Последнее не должно вас особенно смущать, поскольку существует огромное количество программ для предсказания псевдослучайных чисел (подробнее об этом вы можете прочитать в тексте «Старый взгляд на новые вещи»). Ваша задача в конечном итоге сводится к нахождению формулы, по которой создается тест. Но оставим этот метод тем, кто сведущ в математическом анализе, и перейдем к методу грубой силы.

Перебор всех возможных ответов в принципе является вполне осуществимым методом. Атака грубой силой полезна, если программное обеспечение на сервере некорректно обрабатывает сессии. Примером может служить движок vBulletin. Но об этом мы поговорим чуть позже, а сейчас давайте просто определим условия, необходимые для поиска. Их всего два, более того, это скорее вероятностная зависимость:

1. Чем больше продолжительность сеанса
2. Чем меньше набор символов CAPTCHA или количество символов

Если сессия существует «от отправки до отправки», перезапись невозможна. В то же время, когда в тесте требуется ввести 10 символов, включая буквы, цифры и различные другие символы, вероятность успеха резко падает до нуля. Почти всегда использование метода перебора требует манипуляций с информацией о сессии. Поскольку написание программы перебора выходит за рамки данной статьи, а манипуляции с сессиями чаще дают другие результаты, мы не будем рассматривать перебор более подробно. Стоит отметить, что для некоторых тестов подходит поиск по слову, который более эффективен, чем полный поиск.

3.1.2. Использование несуществующих сессий

Сессии — корень всех зол. Это утверждение чаще всего оказывается верным. Поскольку цель этой статьи — показать простоту решений, я постараюсь привести примеры, насколько это возможно. На этот раз целевой страницей является www.umc.ua. Это веб-сайт украинского оператора мобильной связи UMC.

3.1.2 Использование несуществующих сессий

Рис. 3. Чтобы отправить SMS-сообщение из Интернета, пользователь

Нам придется доказать, что он человек, а не программа

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

3.1.2 Использование несуществующих сессий - 2

Изображение. 4. Убрав все лишнее, можно увидеть, что работа CAPTCHA

основывается на сессии PHP.

Посмотрите на строки 3 и 6. Вы можете легко увидеть, что форма содержит скрытое поле с идентификатором сессии (строка 3) и изображение, созданное специально для этой сессии (строка 6). В принципе, сама по себе эта конструкция не представляет никакой угрозы. Но это только на первый взгляд, его интересные особенности могут проявиться после некоторого тестирования. В этом случае, если в качестве идентификатора сессии (PHPSESSID) ввести все нули и оставить поле ответа CAPTCHA пустым, сообщение будет отправлено успешно. Что происходит? Это может произойти только в том случае, если количество результатов не проверяется во время получения SQL (функция mysql_num_rows). Поэтому фрагмент программы обработки сообщений может выглядеть следующим образом.5.

Второй раз повторяю - я человек

Рисунок. 5. Псевдокод проверки CAPTCHA

Логика, лежащая в основе этого, довольно проста. Все значения PHPSESSID в HTML-форме —обнуляются. Тогда изображение, генерируемое сервером, будет пустым! Не долго думая, оставьте поле рядом с изображением (где теоретически должны быть введены цифры) пустым. А вот что происходит после отправки формы:

1. Нет правильного ответа для изображения, которого не существует в базе данных.
2. Отсутствие действительного ответа в базе данных делает его пустой строкой.
3. Поле формы «anti», которое отвечает за наш ответ, также пустое.
4. Сравнивает правильный ответ с нашим (оба ответа — пустые строки).
5. Тест пройден, сообщение отправлено.

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

3.1.3. Использование нескольких сеансов

Разве вы не забыли, что большинство ошибок возникает во время обработки сеанса?. Я буду повторять это снова и снова, чтобы это надолго засело в вашем сознании. Вот еще одна причина: сессии существуют с определенным интервалом. Давайте вернемся к разбору vBulletin. Я столкнулся с этим, когда автоматизировал голосование на сайте.DogsOnAcid.com, посвященный направлению D’n’B в музыке.

3.1.3 Повторное использование сеансов

Рисунок. 6. DogsOnAcid — один из многих сайтов, использующих vBulletin

Популярность системы не всегда является показателем ее надежности. vBulletin является доказательством этого. И снова для регистрации в системе вам придется пройти тест «вопрос-ответ». Давайте посмотрим, что нам нужно сделать на этот раз.

3.1.3 Повторное использование сеанса - 2

ВКонтакте. 7. Вот как выглядит CAPTCHA в версии vBulletin в чистом виде

Ситуация должна быть немного сложнее, потому что помимо сессии пользователя (поле s, строка 7), существует также сессия для изображения (поле imagehash, строка 25). Кроме того, изображение выдается сервером на основе обоих входных параметров (сессии и хэша). По правде говоря, я не заглядывал в исходный код. Однако я заметил кое-что на HTML-странице и в файле Cookie. Во-первых, когда речь идет о печенье, игнорируйте его полностью. Если бот работает в Internet Explorer или другом браузере, отключите их. Если это приложение, то при отправке запроса на сервер оставьте его значение пустым. Такое требование необходимо, поскольку после регистрации они будут содержать информацию о том, что регистрация прошла успешно, более того, несоответствие между сессионным cookie и HTML-формой может предупредить атакованные службы.

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

ЧИТАТЬ ЕЩЁ:  Защитите свой сайт от веб-скраппинга

Хорошо, если вы всегда рядом и можете дать ему ответ в тот момент, когда старый сеанс уже не пригодится. Что делать, если вам необходимо работать полностью в автономном режиме. Здесь все зависит от вас, вы можете написать его так, чтобы он получал правильный ответ самостоятельно, с помощью полного поиска, а затем повторно использовать его. Если вы не знакомы с программированием, у вас есть все шансы написать относительно простую программу распознавания образов. Пусть он работает не очень быстро, но он должен распознавать текст в течение нескольких минут, поэтому скорость не имеет решающего значения. Таким образом, результаты распознавания ставятся на конвейер. Но о признании мы поговорим позже.

Есть и другие случаи, когда в HTML-коде вы не найдете никаких ссылок на сессию. Не расстраивайтесь, это обязательно. Я советую вам ознакомиться с содержанием печенья. Такие системы, как Gotcha, Code Project Captcha, humanVerify и другие, небезразличны к повторному использованию сессий. Cookie хранит информацию о сессии. Кстати, в этих системах для замены используется именно сессия пользователя (в данном случае это PHPSESSID), так как хэша изображения там вообще нет.

Причина успешной атаки, как и в прошлый раз, банальна, сессия (после отправки формы) не удаляется на сервере достаточно долгое время. Отсутствует только одна строка.

3.1.3. Манипулирование значением VEWSTATE

Будьте бдительны при работе с сессиями. Особенно если кто-то создал его для вас, а вы даже не задумываетесь о том, как он работает. Речь идет о приложениях, написанных на языке ASP.NET. Элегантность и простота программирования на этом языке проявляет побочные эффекты при более детальном его изучении. Например, возьмем сайт, который требует прохождения теста каждый раз, когда пользователь входит в систему.

3.1.3 Манипулирование значением VEWSTATE

Рисунок. 8. Форма аутентификации пользователя в ASP.NET

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

3.1.3 Манипулирование значением VEWSTATE - 2

Рисунок. 9. Частичный исходный код для аутентификации пользователей в ASP.NET

На этом сайте используется CATPCHA от Lanap. Следуя старой последовательности действий, заглянем в исходный код страницы:

Второй раз повторяю - я человек

Рисунок. 10. Частичный исходный код HTML для аутентификации пользователей

Попытки манипулировать идентификатором изображения не увенчались успехом. Но поскольку это приложение было написано в среде ASP.NET, мы можем поэкспериментировать, манипулируя VEWSTATE.

VEWSTATE — тема для отдельной статьи. Для тех, кто не знаком с его назначением, позвольте мне кратко объяснить несколько нюансов. Это поле скрыто, и его назначение — обеспечить удобную для пользователя систему клиент-сервер. VEWSTATE является своего рода сессией, но берет на себя гораздо больше ответственности. Это также относится к хранению переменных. Честно говоря, VEWSTATE может быть очень мощным инструментом для атак SQL Injection, XSS и т.д.д. Но теперь давайте поговорим о его способности хранить значения переменных.

Это означает, что после ввода логина и пароля существует большая вероятность того, что они перейдут в VEWSTATE. В нашем случае успешный вход пользователя в систему контролируется переменной Logged. Как вы, возможно, уже догадались, он также хранится в VEWSTATE. Нет, следующим шагом не является декодирование VEWSTATE. Ввод правильного логина, пароля и тестового ответа. В результате мы пройдем процедуру аутентификации. Теперь найдите значение VEWSTATE в HTML-коде страницы и скопируйте его. Создание HTML-страницы с формой авторизации. Вы можете удалить из исходной формы все, кроме VEWSTATE и SUBMIT. Интересно отметить, что даже поля для ввода логина и пароля не являются обязательными. Почему вы так думаете??? Все очень просто, их значения хранятся в VEWSTATE. Вы успешно вошли в систему.

Проблема с этой программой заключается в строке 23, где ваш статус проверяется в дополнение к ответу CAPTCHA. Если вы уже вошли в систему, данные не проверяются. Если вы вошли в систему, об этом свидетельствует значение VEWSTATE, которое поступает на сервер. Я не забыл напомнить вам, что это проблема, связанная с сессией?

3.2. Распознавание образов

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

3.2.1. Алгоритмическая обработка изображений (тест на идентичность)

Этот метод может быть использован для распознавания изображений с небольшим или отсутствующим шумом. Суть в том, что для идентификации символов достаточно сравнить отдельные части изображения. Например, если вы используете незарегистрированный Total Commander (этот инструмент можно загрузить с сайта SoftKey) и не знаете, как им пользоваться, позвольте мне вкратце объяснить.Ru), каждый раз, когда вы запускаете его, вам необходимо нажать одну из трех кнопок. Его номер присваивается случайным образом и отображается в строке «Please press No.? запустить программу! » (см. пример выше), вы можете увидеть на веб-странице. рис. 11).

3.2.1 Алгоритмическая обработка изображений (тест на идентичность)

Рис. 11. Окно после запуска незарегистрированной копии Total Commander

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

Ситуация может быть немного сложнее, если вам нужно распознать текст, размещенный на текстуре или состоящий из немоноширинных символов. Для примера посмотрите на веб-страницу.privatmobile.com.ua. Это веб-сайт оператора мобильной связи, который предлагает множество услуг, настраиваемых через Интернет. Один из них — изменить номер телефона клиента. Некоторое время назад я получил задание автоматизировать этот процесс. Чтобы подтвердить эту операцию, пользователь должен отправить SMS-сообщение с контрольным текстом. Проблема в том, что изначально он отображается как изображение, а не как текстовая информация (см. Рисунок. 12).

ЧИТАТЬ ЕЩЁ:  Отладка JavaScript с помощью настоящего отладчика

3.2.1 Алгоритмическая обработка изображений (тест на идентичность) - 2

Рис.12. Код подтверждения на сайте Privat::Mobile

отображаются в виде изображения

Как видно на рисунке, на изображении полностью отсутствует шум. Для успешной идентификации графической информации требуется всего два шага (рис. 13):

1. Удаление фонового изображения для идентификации символов независимо от положения.

2. обведение контура символов с целью устранения ситуации, в которой они пересекаются (в данном случае это касается первого символа по отношению ко второму).

Второй раз повторяю - я человек

Рисунок. 13 Исходное изображение и результаты работы 2 фильтров

После предварительной обработки изображения каждая буква будет идентифицирована отдельно. Как и в предыдущем примере, после подготовки «графического словаря» это можно сделать с помощью простого сравнения изображений. Для программиста со средними навыками создание программы такого уровня сложности не будет представлять большой проблемы. Несмотря на это, в Интернете все еще очень часто можно встретить сайты, которые генерируют изображения такой же сложности, если не проще.

Кроме того, на веб-страницах.киевстар.Net, чтобы отправлять сообщения, вам также необходимо правильно ответить на CAPTCHA.

Второй раз повторяю - я человек

Рис. 14. Сайт мобильного оператора «КиевСтар» и несколько

варианты генерируемых изображений.

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

3.2.2. Распознавание образов

Все описанные выше примеры очень просты в использовании. Сейчас мы рассмотрим немного более сложную, но более эффективную технологию. Мы будем говорить о распознавании образов в чистом виде. Речь идет о задачах OCR, и.e. оптическое распознавание символов.

Многие люди считают, что распознавание образов — это недостижимая вершина распознавания образов. Позвольте заверить вас, что это далеко не так. Вы, как потребитель, наверняка не раз пользовались услугами Fine Reader. Хотя можно сомневаться в качестве его работы, важно помнить, что обрабатываемый им текст относительно невелик по размеру и велик по объему. Кроме того, скорость распознавания также находится на высоком уровне. CAPTCHA — это другой случай: с одной стороны, она имеет хороший размер и короткий текст, но с другой — высокий уровень шума и искажений.

Уже существует множество проектов, которые сосредоточены исключительно на распознавании CAPTCHA. Наиболее известны два из них: «UC Berkeley Computer Vision Group» и «PWNtcha».

Члены «UC Berkeley Computer Vision Group» опубликовали в Интернете документ, в котором они утверждают, что могут распознавать тесты, созданные Gimps. И процент успеха составляет 92%.

3.2.2 Распознавание образов

Рис. 15. Примеры признанных CAPTCHA

Институт Беркли

Работа PWNtch также показывает впечатляющие результаты:

3.2.2 Распознавание образов - 2

Рисунок. 16. Извлечение из списка изображений CAPTCHA,

Признано PWNtcha

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

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

3.2.2. Использование человеческих ресурсов

Возможно, наиболее интересным из существующих решений является то, которое придумали спамеры для регистрации бесплатных почтовых ящиков в системах Yahoo и HotMail. Они не искали уязвимости в системе безопасности, не писали тесты на распознавание образов. Спамеры вовлекли в свою борьбу изрядную долю пользователей Интернета, а точнее любителей бесплатного порно (см. » Бесплатное порно. Рис. 17).

3.2.2 Использование человеческих ресурсов

Рис. 17. Любители бесплатного просмотра

порнографического характера должны быть пропущены

Тест CAPTCHA для каждого последующего изображения.

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

3.3. Рекомендации по безопасности

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

1. Продолжительность сессии должна быть ограничена, достаточно пяти минут. Если заполняемая форма очень большая, разделите ее на несколько частей и создайте сессию на последнем шаге.
2. Если форма получена, сессия должна быть немедленно удалена во избежание повторного использования.
3. Убедитесь, что получаемые вами данные не содержат пустых значений. Это спасет вас от несуществующей сессии. Это также поможет вам справиться с проблемой VIEWSTATE, если вы программируете на ASP.NET.
4. Рекомендуется хранить все данные сеанса в cookies, а не помещать их в HTML-код страницы. Кстати, фиктивные сессии могут быть размещены в HTML для отслеживания попыток взлома на начальной стадии.
5. Если тестирование проводится в регистрационной форме, настройте блокировку IP-адреса при повторной регистрации. Это не панацея, но тем не менее. Если вы используете свой IP-адрес для создания CAPTCHA, у вас не будет такого же опыта с vBulletin.
6. Не создавайте простых изображений, но и не переусердствуйте с эффектами.

На самом деле у нас достаточно большая проблема. Существующие системы не защищают своих потребителей. На этот раз речь идет не об уязвимостях, а о самой технологии. усложняя CAPTCHA, мы часто не можем понять, какой текст скрыт в изображении. Это не может продолжаться. Область искусственного интеллекта развивается медленно, это не про умные дома или милую девушку по имени Эллис, живущую в институте Беркли, которая с удовольствием с вами пообщается. Все об искусственном интеллекте, нейронных сетях и ассоциативном мышлении. Что дальше? Это, скорее всего, приведет к необходимости внедрения биометрических систем со всеми вытекающими отсюда последствиями. Будьте бдительны..

Я еще раз повторяю (оригинал) актер

Оцените статью