Как обеспечить быстрый ввод капчи. Что такое капча при регистрации

Nokia 14.09.2019
Nokia

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

    • Когда нужно вводить защитный код?
    • Какие бывают виды капчи?
    • Ввод капчей как дополнительный заработок
    • Инструкция по заработку на капчах

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

Очень часто код просят ввести при регистрации на различных сайтах. Это и понятно, в данном случае проверка на «человечность» превыше всего, потому как владельцу данного ресурса, роботы в системе вообще не нужны. Значит так, капча запрашивается достаточно часто в том случае, если вы несколько раз подряд в интернете производите одно и то же действие, то есть повторяете его. Это может быть что угодно, комментарии к фото, постам и т.д., также рассылка сообщений сразу нескольким друзьям.

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

Когда нужно вводить защитный код?

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

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

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

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

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

Какие бывают виды капчи?

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

Случается так, что на капче выбивается сочетание всех перечисленных выше символов. Еще это может быть арифметический пример, который вам необходимо будет решить, чтобы автоматически программа зачла вас за человека, а не робота. Эти примеры могут быть разной степени сложности, но чаще всего, попадаются очень легкие примеры в одно действие, по типу: 1+1 или же 2-1 и т.д. Самыми необычными капчами являются рисунки, расположены неправильно. Когда просят ввести такую капчу, необходимо просто выставить изображение в правильном направлении. Когда вы увидите такого рода код, вам сразу станет понятно, что делать и куда нажимать.

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

Ввод капчей как дополнительный заработок

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

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

Смотрите видео - Как заработать на вводе капчи:

Инструкция по заработку на капчах

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

  1. Зарегистрироваться на сервисе, который специализируется именно на этой сфере. Выбрать можно любой из предложенных, желательно пользоваться самыми популярными среди пользователей интернета.
  2. После регистрации сазу можно преступать к работе, но при этом не забывайте о том, что у вас должен быть свой счет в интернет пространстве, куда вам будут начисляться денежные средства за проделанную вами работу.
  3. Нажимаете на кнопку - «старт» или же «начинай зарабатывать» и вперед, за доходом. Денежные средства будут начисляться на счет автоматически, после каждого ввода капчи.

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

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

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

Обратите внимание, что слово «капча» пошло от английской аббревиатуры CAPTCHA (Completely Automated Public Turing test to tell Computers and Humans Apart) – полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей. Эта эффективная программка-тест была придумана учеными из исследовательского центра Карнеги, расположенного в США, а именно в штате Пенсильвания.

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

Допустим, у вас есть веб-страница, где пользователи комментируют определенную тему, предварительно заполняя поля «имя», «адрес email» и «URL сайта». Подобные манипуляции может с легкостью произвести робот – заполнить поля и опубликовать нужный спамеру отзыв. А вот если поставить капчу, программа уже не сможет ее ввести, значит и не будет никакого спама.

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

Согласно данным системы Akismet, 90 процентов всех комментариев в Интернете являются спамом. Сам же спам нужен для:

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

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

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

Какие есть виды капчи?

Рассмотрим самые простые и удобные капчи, которые используются на большинстве сайтов.


Проверка от поисковой системы Google, самая простая и удобная. Для ее прохождения достаточно поставить галочку возле слов «Я не робот». Через мгновение отобразится зеленая галочка, а это значит, что проверка успешно пройдена.

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

Распознавание текста/цифр


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

Логические


В данной капче вам потребуется решить несложное арифметическое уравнение, например, написать в поле, сколько будет 21+42; или же разгадать простую загадку, указав правильный ответ.

Образные


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

Какую капчу выбрать для своего сайта?

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

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

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

  1. Тест должен решаться легко и быстро при любых обстоятельствах.
  2. Минимум ввода цифр/букв.
  3. Задание должно быть легкое даже для посетителей с проблемами функционирования сенсорных систем.

Многие сервисы используют капчу, где нужно указать, что изображено на картинке. Но, как показывает практика, ответы на логические вопросы куда надежнее и интереснее для людей.

Однако самой популярной в наши дни остается стандартная текстовая reCAPTCHA от Google – она наиболее защищена от спамеров, которые постоянно придумывают новые способы обхода проверки. Данная программа постоянно меняет свой алгоритм действия, и теперь, в большинстве случаев, для прохождения теста достаточно поставить галочку – на это у вас уйдет всего 2-3 секунды, при этом нет нужды распознавать и вводить какие-то буквы/цифры/картинки.

Помимо reCAPTCHA, владельцы сайтов также часто используют следующие капчи:

  • yaCAPTCHA;
  • Solve Media;
  • Anti Spam Image;
  • SI Captcha Anti-Spam.

Как заработать на вводе CAPTCHA?

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

  • Рукапча. Автоматически распознает изображения. Сегодня многим владельцам веб-ресурсов требуется массовое введение капчи, поэтому вы можете предложить им свои услуги.
  • 2captcha. Англоязычный аналог вышеупомянутого сервиса.
  • Megatypers, Protypers. Американские ресурсы, позволяющие зарабатывать от 50 центов до 3 долларов США за 1000 вводов капч.

Заключение

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

Вам может быть это интересно:

Нет похожих статей.

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

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

Назначение и функция капчи

Для чего нужен ввод капчи, ведь это может отталкивать пользователей?
Например, в любимой всеми социальной сети ВКонтакте ее нужно вводить, если количество действий в определенный промежуток времени превысит допустимый параметр. Грубо говоря, если вы отправите подряд 50 сообщений с интервалом в 1 секунду, то, наверняка, выскочит капча, так как вас заподозрят в спаме. А спамят, как известно, в большинстве своем роботы, которые не смогут (по задумке авторов) ввести текст с рисунка. Соответственно, это вынужденная мера, которая защищает ресурсы от спама и повышенной нагрузки при атаке ботов.

Однако, captcha не всегда помогает, ведь на каждый замок можно найти ключ, иначе этот замок просто сломан и бесполезен. Большинство рисунков можно распознать нейронными сетями, предварительно натаскав их на многочисленных (несколько десятков, а то и сотен тысяч) примерах. Эти примеры подготавливают добровольцы, которые днями напролет за небольшое вознаграждение сидят и вбивают капчи. Дабы не быть голословным, вот пример с habrahabr по взлому капчи яндекса. Также существуют специальные сервисы, такие как antigate, которые предоставляют услгу по распознаванию. Они имеют огромную готовую базу примеров, а те случаи, которых еще нет в базе, распознаются вручную.

Примеры captcha, случаи использования

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

Теперь перейдем к более интересным примерам. К таковым можно отнести капчу, где нужно выставить вертикально 3 картинки. На мой взгляд, это одна из наиболее удачных вариаций в данной области, просто потому, что она не раздражает, а даже наоборот, увлекает и немного веселит. Это даже не ввод captcha, а просто мини игра.

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

Ну и в заключение, опасный пример мнимой безопасности, капча — «поставь галочку». Многие считают, что этого достаточно, но не подозревают, что программно поставить галочку очень просто и обучить этому бота — дело 1 минуты. Ведь при этом ввод капчи как таковой не происходит, а происходит изменение параметра CheckBox’a.

Теперь вы знаете что такое капча (captcha) и представляете, примерно, какими они могут быть.

CAPTCHA - сокращение от английского Completely Automated Public Turing test to tell Computers and Humans Apart – полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей. В рунете нередко можно слышать транскрипцию «капча» .

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

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

Методы CAPTCHA

Подавляющее большинство методов CAPTCHA предлагает зрительное распознавание графической информации, реже анализ и/или некоторое вычисление и ввод в специальном поле распознанной информации. Рассмотрим наиболее распространённые методы.

1. Самый распространённый метод: пользователю предлагают ввести цифры/символы, изображённые на рисунке . Как правило, символы искажены, размыты, зашумлены помехами.

2. Пользователю предлагается изображение с написанными текстом цифрами и ввести цифры.

3. Пользователю предлагается выполнить простое арифметическое или логическое действие и ввести результат. Метод может быть усложнён сочетанием с предидущим.

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

5. Метод, основанный на распознавании человеческой речи .

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

Варианты 1, 2 и 3 легкопереносимы с сервиса на сервис и легконастраиваемы. Они не требовательны к хостингам, нересурсоёмки. В то же время, степень защиты остаётся достаточно высокой (при правильной настройке). Методы 4, 5, 6 требуют более серьёзной настройки либо подключение к специализированным сервисам, предоставляющим услуги CAPTCHA.

Самым распространённым является метод 1 - дублирование изображённых символов и букв в специальном поле. Методы, основанные на человеческих знаниях и чувствах, а также связанные с арифметическими или логическими действиями, зависят от менталитета, грамотности посетителя или норм морали, принятых на территории проживания. Это может давать неверные трактования капчи, соответственно, ошибки при тестировании. Естественно, подобные действия могут привести к оттоку посетителей с сайта.

Ошибки, уязвимости и методы противодействия/защиты

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

Достаточно яркий пример. Вызов картинки CAPTCHA через явное указание проверочного кода, передачей его в качестве параметра вызова изображения: , где «hqhqhq» фигурирует в качестве запрашиваемого кода подтверждения. Уязвимость реализации очевидна: бот сканирует код страницы и выделяет проверочный код, подставляя его в соответствующее поле. Ваша защита ботом пройдена в доли секунды, а реальному человеку понадобится несколько секунд или даже минут на ввод проверочного кода.

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

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

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

Начнём по порядку, и я постараюсь их разместить в порядке возрастания сложности защиты от них, начав с самых примитивных и заканчивая теми, от которых ещё не придумали способов защиты.

Для создания интриги скажу, что их на данный момент существует целых три.

Обход капчи из-за ошибок реализации

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

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

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

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

Обход капчи с фиксированным набором задач

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

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

Т.е. заходим на такой сайт, подбираем ответы, составляем БД из заданий и правильных решений и пишем бота для брутфорс атак, который будет подбирать подходящие варианты.

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

А если такие люди и есть, то они очень быстро учатся на своих ошибках, когда теряют контроль над своим сайтом или клиентов, которых из-за таких творений взламывали.

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

Ещё одним способом защиты от подобного ввода капчи автоматом является изменения имени поля формы, в которое должен вводиться ответ. Если имя поля, например, всегда будет «captcha», то злоумышленнику будет проще такую капчу взломать. Его программа-робот будет всего лишь отправлять запрос к серверному скрипту, указанному в HTML атрибуте «action» формы, содержащем необходимое значение капчи.

Если в этой ситуации имя поля капчи будет всё время одинаковым, то хакер просто воспользуется базой наиболее распространённых названий полей капчи, составить которую можно самостоятельно при изучении различных сайтов или скачать в готовом виде на специализированных ресурсах (перечислять их для пропаганды хакерства я не буду).

Если же имя поля, как и само задание для прохождения капчи будет генерироваться на сервере, то никакая база имён капчи не поможет. Для того, чтобы использовать динамическое название поля, на практике капча генерируется одним скриптом, а обрабатывается другим.

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

Ключевым моментом является то, что нельзя передавать имя напрямую, т.е поле капчи называется «captcha_mysite», а в hidden поле стоит значение «captcha_mysite» или «site». Оно обязательно должно быть зашифровано, причём расшифровка должна происходить с применением того же алгоритма, что и шифрование.

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

Кстати, достаточно вместо имени поля использовать случайную последовательность символов, которую в языке PHP очень просто получить с помощью функции uniqid().

Обход капчи с помощью сессий

Если реализация капчи подразумевает хранение правильного ответа в сессии, и сессия не создаётся заново после каждого ввода капчи, то злоумышленники могут узнать идентификатор сессии и узнать зашифрованное значение CAPTCHA.

Таким образом, они с лёгкостью смогут подобрать алгоритм шифрования и использовать его для дальнейших автоматизированных брутфорс атак с помощью ботов.

Также, если в коде проверки ответа пользователя на сервере программист не выполнит проверку на пустоту переменной сессии, в которой передаётся ответ пользователя, то хакер может использовать несуществующий идентификатор сессии, для которой переменной просто не будет существовать.

За счёт этого упущения подобные капчи могут быть пройдены с помощью подсовывания несуществующих id сессий и пустых значений капчи.

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

Также стоит производить все банальные, но такие необходимые проверки переменных на существование и пустоту их значений.

Взлом капчи из-за секретной информации в клиентском коде

Иногда капчи делают таким образом, что при передаче пользовательских значений на сервер используют шифрование с использованием так называемой «соли», т.е. добавления к значению CAPTCHA ID сессии, значения IP или других уникальных данных. Нередко таковым может являться простая случайная последовательность символов.

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

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

Если же эти уникальные значения не будут совпадать, то, скорее всего, капча была введена роботом автоматически.

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

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

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

Ещё одно средство защиты — по возможности, блокировать действия по IP и количествам попыток.

Как обойти капчу без изменения IP

Брутфорс атака является эффективным способом обхода капчи не только в случаях реализации её с фиксированным набором заданий и их решений.

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

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

Защита: при реализации по-настоящему безопасной капчи нужно лимитировать время на ответ и количество попыток решения капчи с одного IP для блокирования брутфорс атак роботов.

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

Если это действительно был человек, то он примет соответствующие меры, а если робот — он продолжит предпринимать попытки обхода капчи.

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

И ещё одним эффективным способом борьбы с ботами является введение лимитов на определённые действия на сайте. К примеру, одна регистрация с одного IP. Здесь главное — не заигрываться и не доходить до лимитов на количество комментариев для одного уникального пользователя.

Но, по правде говоря, эти меры мало чем помогут благодаря существованию прокси серверов.

Обход капчи с помощью прокси

Даже в ситуациях, когда блокирование большого количества попыток решения капчи по IP всё-таки происходит, 100% защиту от роботов это мероприятие не обеспечивает.

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

Анонимайзеры позволяют скрывать данные компьютера при пользовании сайтом, в том числе и заветный IP адрес, по которому клиента можно вычислить и заблокировать.

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

Таким образом, злоумышленник с лёгкостью обойдёт все ваши блокировки по IP и будет подбирать правильное решение капчи столько, сколько ему потребуется.

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

Данный способ использовали ещё полвека назад при написании первых программ с целью прохождения теста Тьюринга, реализацией которого и является CAPTCHA.

Описанными принципами, к слову, пользуются все известные ныне программы для автоматического ввода капчи. Для изменения IP адреса подключения к сайту они используют бесплатные и коммерческие базы прокси серверов, которые при наличии Интернета достать не составит труда.

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

Единственная надежда, что сами PROXY сервера могут вводить ограничения на количество используемых IP одним пользователем и количеств подключений с каждого из них.

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

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

Ввод капчи автоматом с помощью эмуляторов действий

Если для прохождения CAPTCHA нужно произвести определённое действие (нажатие на кнопку, перемещение ползунка и т.д.), то обойти капчу в данной ситуации можно ещё и сэмулировав необходимое действие (клик на определённый элемент управления или иное действие).

Единственная проблема, которая может стоять в данной ситуации перед хакером — это как найти нужный элемент управления на сайте программно.

Проще всего это сделать по его координатам или положению относительно каких-то статических элементов ресурса.

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

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

Как обойти капчу при помощи высоких технологий

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

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

Итак, как избежать капчу при помощи современных технологий?

Обход капчи с помощью OCR

OCR (Optical Character Recognition — оптическое распознавание символов) — технология для распознавания печатного или машинописного текста для дальнейшего его использования в электронном формате. Наиболее известным ПО, реализующим эту технологию, является Adobe FineReader.

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

Хакеры, естественно не пользуются Adobe FineReader (хотя, может, и такие есть 🙂), а пишут специальные скрипты, которые с применением различных готовых библиотек для работы с изображениями либо с использованием возможностей языка для работы с графикой, распознают капчу и выдают символьную последовательность, изображённую на ней.

В Интернете я нашёл достаточное количество примеров таких скриптов. Принцип их работы заключался в следующем:

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

Графические образцы подготавливались с учётом различных шрифтов и возможных искажений (наклоны, повороты и т.д.).

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

Защита: собственно говоря, с целью запутывания OCR программ и применяются всех раздражающие шумы и искажения символов на картинках, из-за которых текст иногда сложно разобрать даже человеку. Но, в случае роботов это тоже хорошо работает, в результате чего OCR алгоритмы не могут выдать 100% точный результат, что положительно влияет на безопасность капчи и сайтов, её использующих.

Если вы решили использовать графические капчи, для прохождения которых нужно ввести символы, изображённые на картинке, то нужно следовать следующим рекомендациям:

  1. Символы на разных CAPTCHA должны иметь различные координаты.
  2. Если вы используете какие-то эффекты шума для создания фона, то его цвет должен совпадать с цветом символов, иначе фон можно легко убрать, выделив символы для распознавания.
  3. Расстояние между символами должно быть минимально. Можно даже накладывать их друг на друга, но только без фанатизма, чтобы реальные пользователи могли их распознать.
  4. Использовать различные шрифты, чтобы было сложно подобрать подходящий для распознавания.
  5. Всячески искажать символы, менять их начертание и толщину.
  6. Использовать специальные библиотеки, позволяющие изменять символы таким образом, что для их программного распознания будет невозможно подобрать шрифт. Примером такого решения является капча от создателя ресурса captcha.ru, при генерации которой используется авторский алгоритм волнообразного искажения символов.

Все эти меры позволяют усложнить распознаваемость графической капчи для OCR систем и сократить количество автоматических вводов капчи.

Как пройти капчу с помощью нейронных сетей

Если OCR — технология достаточно старая (первые запатентованные устройства известны в начале XX века), то искусственные нейронные сети (ИНС) появились лишь во второй половине предыдущего столетия (для технологий 50 лет — это существенный возраст 🙂).

Именно алгоритмы ИНС лежат в основе искусственного интеллекта (ИИ), целью которого является создание программ и устройств, наделённых творческими функциями, т.е. создание рукотворного человека.

На данный момент ИИ постоянно развивается, и с каждым днём появляются всё новые и изобретения, обладающими не виданными ранее свойствами.

На последней конференции, посвящённой нейронным сетям, на которой я присутствовал, сообщалось, что компания Google, активно занимающаяся разработками в данной области, уже анонсировала общедоступные облачные сервисы, работающие на базе ИНС.

С помощью их можно:

  • распознавать объекты на фотографиях (от пола изображённого человека и марки его джинсов до того, какой игре принадлежит анализируемая картинка, со всей её цветовой палитрой, названием локации и того, что на ней происходит);
  • управлять устройствами голосом и жестами;
  • писать аннотации к видео на основании того, что происходит в видеоролике и др.

Естественно, что при данных возможностях создание программы для автоматического ввода капчи с применением принципов ИНС не представляет сложности для знающих людей.

Один из таких продуктов был разработан компанией Vicarious в 2014 году. Разработанная ей нейронная сеть способна распознавать капчу в 90% случаях (напомню, что для решения классического теста Тьюринга, которым и является CAPTCHA, необходим всего лишь 1% правильных ответов).

Защита: К сожалению, защититься от данного вида атак невозможно. И к счастью, ИНС от Vicarious не будет использоваться для целенаправленных атак для обхода капчи на сайтах, т.к. она слишком дорогостоящая для таких мелких задач (сами производители говорят, что она представляет из себя кластер из множества серверов). Основная её область применения — это решение различных задач медицины и робототехники.

А взлом капчи с её помощью — это лишь демонстрация возможностей.

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

Обход капчи с помощью общедоступных сервисов

По мере развития систем OCR и ИИ меры усложнения графических капчей становились всё сложнее и сложнее, что позволяло их разработчикам прилагать колоссальные усилия при реализации. Но всё равно они оказывались тщетными, т.к. они не обеспечивали 100% защиту сайтов от автоматизированных атак.

Поэтому Google пошёл, как мне кажется, верным путём и решил просто изобрести новый стандарт noCAPTCHA, отказавшись от ручного ввода символов с картинок.

При разработке reCAPTCHA noCAPTCHA использовался опыт по борьбе с роботами в эпоху зарождения капчи и современные наработки в области искусственного интеллекта, что позволяет обеспечить должный уровень безопасности сайта, но и не сильно усложнять при этом жизнь пользователям Интернета.

Но, несмотря на то, что данный стандарт появился достаточно недавно, в 2015 году, уже найден способ её автоматического решения. И он заключается далеко не в применении искусственного интеллекта.

Всё намного банальней — для прохождения Google reCAPTCHA достаточно использовать сервисы самого Google по распознаванию картинок и речи.

Распознавание картинок в случае с reCAPTCHA v2 (та самая noCAPTCHA) вряд ли поможет, т.к. при графических задачах нужно выбирать изображения, на которых присутствуют необходимые объекты, а не вводить изображённые символы, как это было в предыдущей версии.

А вот услуги сервиса Google Speech Recognition, являющийся одним из достижений Гугл в области искусственного интеллекта, о которых упоминалось в предыдущем способе обхода капчи, будет очень кстати. Поскольку сервис предоставляет API, то создать приложение на его базе не составляет труда.

Защита: к сожалению, в данной ситуации, как и в предыдущей, где для обхода капчи использовались ИНС, защититься от обхода капчи не удастся. Единственным положительным моментом снова является относительная доступность подходящих сервисов, т.к. Google даёт для их использования только тестовые $300.

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

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

Как пройти капчу, используя человеческий труд

В завершение списка способов обхода капчи я решил рассмотреть не подходящий ни к одной из перечисленных выше категорий.

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

И в то же время, данный способ помогает взломать капчу любой сложности в 100% случаях и, причём, сделать это без особых финансовых, физических и моральных усилий.

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

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

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

В основном, это хакеры, которые используют ответы реальных пользователей в своих корыстных целях:

  • автоматизации заработка;
  • рассылка спама;
  • скупка билетов и товаров в Интернет магазинах для более дорогой перепродажи;
  • взлом сайтов и т.д.

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

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

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

Естественно, мы долго не думаем, т.к. получить возможность скачать долгожданный фильм в HD качестве абсолютно бесплатно за проставление какой-то галочки в поле «Я не робот» — это просто мелочь. А в это время ваше действие по API используется для обхода капчи на другом стороннем сайте.

Отсюда мораль: всегда помните, что бесплатный сыр только в мышеловке и ничего бесплатного не бывает.

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

Обход капчи — выводы

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

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

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

Также к «непобедимым» способам обхода капчи относятся технологии искусственного интеллекта, активно развивающиеся в последние годы.

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

Вспомнить ту же Google reCAPTCHA: поставь галочку, если Гуглу что-то не понравилось, выбери ещё и нужные картинки (с дорожными знаками, кстати, у меня до сих пор наблюдаются проблемы, т.к. я могу пройти такое задание где-то с 5 попытки). Не много ли возни для того, чтобы оставить комментарий или зарегистрироваться на сайте? Проще уже найти другой ресурс…

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

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

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



Рекомендуем почитать

Наверх