Обнаружена атака в виде подбора captcha что это значит
Современные методы обхода CAPTCHA
Капча используется для предотвращения автоматизированных действий и DDoS-атак в Интернете. Два крупнейших провайдера капчи — reCAPTCHA (Google) и hCaptcha. Для решения обеих пользователю требуется выбрать изображения или фрагменты изображения, на которых изображен заданный объект. Решение капчи — утомительный и времязатратный процесс, поэтому стали активно разрабатываться методы автоматизированного решения капчи.
Капча первого поколения, состоящая из слов, набранных обычным шрифтом, легко поддавались решению с помощью технологии оптического распознавания символов (OCR). Капча в виде арифметических задач решалась еще проще — методом перебора чисел. Однако постепенное усложнение капчей привело к невозможности применения этих методов, и на передний план вышло использование нейросетей.
Данные ограничения затрудняют использование нейросетей для решения капчей на уровне массового продукта. Самое простое и эффективное средство быстрого решения большого количества капчей — использование сервисов, предоставляющих услугу их ручного распознавания.
Сервисы ручного распознавания капчи работают следующим образом. Пользователь получает ключ API и пополняет счет на сайте, а затем отправляет на сервис изображения капчи и получает их решения обратно с помощью собственных программных продуктов. Со стороны сайта исполнители в потоковом режиме решают капчи и получают за это оплату.
Севисы для распознавания капчи
Сайты, на которых можно заказать распознавание капчей, отличаются типом поддерживаемых капчей, стоимостью (обычно указывается за 1000 решений) и средним временем расшифровки. Последние два параметра могут варьироваться в зависимости от количества исполнителей онлайн. Помимо этого, сервисы могут предоставлять дополнительные услуги и функционал (например, ПО или дашборды). Ниже приведено сравнение популярных сервисов ручного решения капчей.
Поддерживаемые капчи: обычная текстовая, reCAPTCHA V2/3, reCAPTCHA Enterprise, hCaptcha, GeeTest, Capy Puzzle, TikTok, ClickCaptcha, RotateCaptcha, FunCaptcha, KeyCaptcha
Стоимость за 1000 капчей: обычные капчи — от 30 до 44 рублей в зависимости от нагрузки на сервис, reCAPTCHA — 160 рублей
Среднее время решения одной капчи: обычные капчи — до 7 с, reCAPTCHA — 32 с
Поддерживаемые капчи: обычная текстовая, reCAPTCHA V2/3, hCaptcha, GeeTest
Стоимость за 1000 капчей: обычные капчи — 5 рублей, reCAPTCHA — 30 рублей
Среднее время решения одной капчи: обычной капчи — 10 с, reCAPTCHA — 40 с
Поддерживаемые капчи: обычная текстовая, reCAPTCHA V2
Стоимость за 1000 капчей: обычные капчи — от 102 рублей, reCAPTCHA — от 214 рублей в зависимости от нагрузки на сервис
Среднее время решения одной капчи: обычной капчи и reCAPTCHA — 15 с
Поддерживаемые капчи: обычная текстовая, reCAPTCHA V2/3, reCAPTCHA Enterprise, hCaptcha, GeeTest, FunCaptcha
Стоимость за 1000 капчей: обычные капчи — от 37 до 44 рублей, reCAPTCHA — от 110 до 150 рублей в зависимости от нагрузки на сервис
Среднее время решения одной капчи: обычной капчи — 7 c, reCAPTCHA — 30 с
Поддерживаемые капчи: обычная текстовая, reCAPTCHA V2/3
Стоимость за 1000 капчей: обычные капчи — от 2 до 29 рублей, reCAPTCHA — от 67 до 97 рублей
Среднее время решения одной капчи: обычной капчи и reCAPTCHA — 3 с
Рассмотрим пример использования сервиса ruCAPTCHA для решения капчи в браузере. После регистрации на rucaptcha.com и пополнения счета нужно скопировать ключ API на странице rucaptcha.com/setting :
Затем можно перейти на страницу rucaptcha.com/software и скачать плагин для Chrome:
После установки потребуется ввести скопированный ключ API:
После нажатия на нее (нажимать кнопку “Я человек” не нужно) появится надпись “Капча решена!”. При попытке продолжить регистрацию можно убедиться, что капча решена верно:
В разделе личного кабинета ruCAPTCHA со статистикой решений представлены результаты выполнения запроса. Время распознавания составило 9 секунд, а стоимость — 16 копеек:
Таким образом, ручное распознавание — наиболее доступный и удобный способ решения капчей. Его можно использовать как для автоматизированного обхода большого количества капчей с помощью обращений к API, так и для личного использования с помощью плагинов и другого ПО, предоставляемого сервисами по решению капчей.
Что такое Captcha, ReCaptcha и зачем она нужна. Как обойти, как установить на сайт, почему за ввод капчи платят и сколько можно заработать
Наверняка каждый сталкивался с тем, что на сайте необходимо ввести проверочный код, чтобы доказать, что пользователь является человеком. Теоретически, это помогает сайтам избежать мошенников, и носит только характер безопасности. Однако как дела обстоят на самом деле, разберемся в этой статье.
Что такое Captcha (Капча), ReCaptcha и зачем она нужна
Официальное определение капчи — случайный набор чисел, букв, комбинации из чисел и букв, которая искажена различными способами. Таким образом, достигается обеспечение безопасности сайта, защиты его от мошенников. Предполагается, что человек может ввести проверочный код достаточно легко. Однако для роботов малейшие искажения уже сделают ввод текста практически невозможным, из-за невозможности распознать текст на картинке.
Капча позволяет определить, кем является пользователь, человеком или компьютером.
История создания и кто создал
Впервые капча как явление, которое известно нам сейчас, появилось в 2000 году, имея первоначальное название тест Тьюринга. Этот тест был разработан в университете Карнеги-Меллона, подразумевался как мера безопасности для онлайн-ресурсов. На тот момент это было инновационное решение, так как одновременно являлось крайне простым для человека, и фактически невыполнимым для робота.
Виды капчи
Капча классифицируется на несколько видов исходя из своей сложности. Разберем подробней каждый вид и его особенности.
Графический вид
Он представляет собой картинку с последовательностью искаженных символов, среди которых могут так же встречаться спецсимволы, буквы и цифры.
Искажение может быть разнообразным, начиная от наклона картинки, заканчивая множеством линий, наложенных на текст.
Логический вид
Ее цель проверить наличие логики у пользователя, результаты позволяют определить, тест проходит человек или компьютер.
Этот вид представлен разнообразием математических легких примеров, но в некоторых случаях это могут быть весьма сложные примеры (специализированные сайты). Так же к этому виду относится последовательный выбор одинаковых по смыслу картинок, выбор одной конкретной картинки.
Поведенческий вид
Как правило, это обычная галочка, которую очень легко поставить. Так же встречаются более интересные варианты, в виде поворота картинки в нужное положение.
Звуковой вид
Данный вид это по сути все выше перечисленные виды капч, но если нажать на капче иконку “наушники или колонку звука” робот проговорит капчу которую нужно ввести. Это полезно для тех, кто плохо видит или не видит вообще.
Капча как ее обойти
Не бывает решения, которое смогло бы обеспечить 100% безопасность в долгосрочной перспективе. Что касается именно капчи, зачастую владельцы сайтов сами оставляют уязвимости на видном месте, которыми потом пользуются злоумышленники. К примеру, на некоторых ресурсах достаточно лишь просмотреть код страницы, чтобы обнаружить проверочный код и ввести его. Это запросто сможет сделать автоматизированная программа и попасть на сайт.
В некоторых случаях, владельцы используют общедоступную базу картинок, которую может скачать любой желающий. Злоумышленник просто использует метод подбора посредством бота, который будет подбирать код до тех пор, пока его попытки не увенчаются успехом.
Как установить капчу от Google на сайт
Весь код будет выглядеть вот так:
Один из кусочка кода, HTML форма с двумя полями в одно из которых будет использовано для капчи. Этому полю будет задан индификатор — «g-recaptcha-response«. Информация из формы будет отправляться через метод POST, обработка будет проводиться в этом же файле, исходя из чего в атрибуте action нужно поставить значение /.
Для установки капчи на сайт от Гугл нужно иметь или зарегистрировать почту gmail. Сама установка капчи на сайт не содержит сложностей и займет максимум 15 минут. Для того чтобы это сделать, необходимо зайти на официальный сайт с продуктом reCAPTCHA от Google. На сайте нужно войти в «Консоль администратора«:
Далее нужно заполнить поля:
Внимание! Локальный сервер может некорректно работать с Google reCaptcha. Возможна проблема с аутентификацией пользователей.
Далее нужно «Скопировать ключ сайта» и «Скопировать секретный ключ«. Скопировав вставьте по очереди в код, который ниже. Для просмотра статистики нужно нажать на кнопку «Перейти в Google Аналитику«:
Скопировав первый и второй ключи, нужно вставить вот так в этот код:
Этот код для упрощения работы с кодами. Заменяя в коде ключи на свои, вставляйте так, чтобы кавычки ( ‘ ) в начале и в конце не удалить! Копируем код с уже замененными на свои ключи и открываем код сайта на котором нужно установить капчу и вставляем этот код в код сайта в первую строку:
Этот JavaScript код, который подключает reCAPTCHA и в нем заменены некоторые значения. Так как ключи от Google были прописаны в самом начале, то в коде нужно прописывать значение из константы где находятся ключи. Вот эти значения и замены и добавлен console.log(token), чтобы увидеть токен в консоли, который будет передаваться в качестве значения для поля — g-recaptcha-response:
В самом начале в две созданные константы были внесены ключи и одна из констант была прописана в коде JavaScript.
Далее сделали, что проверка будет отправляться через POST и что данные из формы будут записаны. Теперь остался по сути последний шаг PHP код, в котором нужно прописать действие, которое будет давать запрос в Google и от которого будут приходить данные о этом запросе. Это действие нужно прописать в переменную. Опираясь на показатели Гугл, то данные которые приходят score ниже 0.5 – это значит бот, а если выше, то человек:
Теперь можно «Перейти Google Аналитику» и смотреть статистику:
На этом интеграция капчи Google на сайт завершена.
Заработок на капчах, почему за ввод капчи платят и сколько можно заработать
С тех пор, как появилась сама капча, появился ряд ресурсов, которые платят пользователям за то, что они вводят капчу. Интересы у этих ресурсов самые разнообразные, они не разглашаются пользователю, который вводит капчу. Оплата такого труда крайне низкая, не стоит рассчитывать заработать хоть минимальную по средним меркам сумму. В целом, за 1000 сессий пользователь может получить максимум 70 рублей. Стоит понимать, чтобы ввести столько раз капчу, необходимо потратить 3-4 часа.
Помимо корыстных целей подобных ресурсов, есть и благородные. Очень многие занимаются оцифровкой старой литературы, а некоторые фрагменты невозможно оцифровать, в силу их испорченности. Эти фрагменты сканируются, и используются как капча, которую вводят пользователи. После того, как один фрагмент несколько пользователей ввели идентично, он считается оцифрованным.
Благодаря им в интернете все больше старой литературы, к которой имеет доступ большое количество пользователей. Это является определенным вкладом в развитие общества, в той или иной сфере.
Сервисы по заработку на капче
Существует большое количество различных сервисов, но мы рассмотрим два наиболее выдающихся.
2Captcha
Сервис предлагает работу буквально круглые сутки. Минимальная цена за 1000 вводов составляет 60 рублей. При этом минимальная цена вывода заработанных средств — 30 рублей. Стоит отметить, что вывод осуществляется фактически мгновенно, любым удобным для пользователя способом.
Kolotibablo
Фактически аналогичный ресурс, за тем исключением, что примерная стоимость 1000 сессий составляет 40 рублей. При этом минимальная сумма на вывод составляет 20 рублей. Преимуществом является то, что вывод возможен фактически любым способом, в том числе посредством вывода на кошелек криптовалютой.
В зависимости от количества работы, курса доллара и количества активных пользователей, стоимость может варьироваться.
RuCaptcha
Мало чем отличающийся ресурс от предыдущих вариантов. Отличие состоит в том, что здесь работы гораздо больше, так как для заказчиков предусмотрены более выгодные условия. Для исполнителей цена за 1000 сессий точно такая же, как и на других ресурсах — 30 рублей. Вывод предусмотрен в любой день недели, любым удобным способом.
Плюсы и минусы капчи
В заключение можно подвести итог и сказать, что капча весьма нужная и полезная штука. Практически все крупные сайты ее используют. А Вы используете капчу на своем сайте?
Маркетолог, вебмастер, блогер с 2011 года. Люблю WordPress, Email маркетинг, Camtasia Studio, партнерские программы)) Создаю сайты и лендинги под ключ НЕДОРОГО. Обучаю созданию и продвижению (SEO) сайтов в поисковых системах. Мои контакты >>>
У вас постоянно вылезает капча и достает вопросом «Вы не робот?» Зачем ее придумали и как от нее избавиться
Откуда взялась CAPTCHA?
Технология CAPTCHA (сейчас будет страшная расшифровка: Completely Automated Public Turing Test to tell Computers and Humans Apart — «полностью автоматический тест Тьюринга, разделяющий компьютеры и людей») появилась в 2000 году.
Это была первая успешная попытка установить «фейс-контроль» для каждого посетителя сайта. Сетевые боты только начали появляться, но разработчики подготовились с ними сражаться. Бот-системы могли перегружать сайты, делая их недоступными для живых людей. Так, например, на форуме без капчи в начале нулевых можно было автоматически зарегистрировать десятки тысяч фейков и заспамить форум рекламой.
Для борьбы с такими ситуациями в американском Университете Карнеги-Меллона придумали скрипт, который требовал при доступе к сайту ввести символы с трудноразличимой картинки. Для пользователя ребус был несложный: буквы, раскиданные по изображению в хаотичном порядке и искаженные помехами, легко считывались человеком. Зато компьютерные системы распознавания текста терялись. Такой простейший барьер позволил значительно снизить нагрузку на популярные сайты, а также защитить многие порталы от фейковых регистраций и комментариев.
Как CAPTCHA стала полезной
Когда «капчу» стали использовать чересчур часто, сообщество задумалось о более полезном применении технологии. В 2007 году появилась reCAPTCHA, где вместо абстрактных картинок пользователям показывали нераспознанные компьютером слова из сканов архивных выпусков газеты The New York Times.
Аудитория теперь не расшифровывала тарабарщину, а помогала оцифровывать бумажную прессу XX века. Подтвердил, что ты человек, а заодно добавил слово.
Вскоре технологию купила Google и использовала ее для оцифровки книг.
Боты тоже развивались и научились автоматически распознавать текстовую reCAPTCHA. Тогда Google выпустила принципиально новый алгоритм проверки. Теперь вместо расшифровки слов пользователям предлагали среди девяти картинок найти те, где есть котики, дорожные знаки или, например, бананы. reCAPTCHA вновь стала эффективной, а людям не пришлось ломать глаза в попытке распознать очередное неудачно отсканированное слово из книги.
В самой новой версии reCAPTCHA человеку вообще не нужно напрягаться, достаточно поставить галочку напротив отметки «Я не робот» — алгоритм анализирует движения курсора (бот пойдет по прямому кратчайшему пути) и IP-адрес. До недавних пор reCAPTCHA работала крайне эффективно и почти незаметно для пользователей.
Однажды что-то пошло не так
С первыми ошибками в работе reCAPTCHA столкнулись пользователи смартфонов. Заходишь в строку поиска Google, но вместо результата браузер показывает графическую «капчу». где надо искать объекты на матрице изображений. Причем успешно пройти тест порой было невозможно, reCAPTCHA требовала от пользователя вновь и вновь отмечать картинки.
Вслед за Google проверка пользователя всплыла и на других сайтах. Российский интернет наполнился жалобами на операторов связи, Google и даже Роскомнадзор — пользователей раздражало, что сайты при каждом посещении начали требовать подтверждения человеческой природы.
Первое время никто, включая техподдержку сайтов и провайдеров, не мог внятно ответить на вопрос, что же случилось и как пройти проверку reCAPTCHA. Когда специалисты взялись за изучение проблемы, всплыли сразу несколько причин, по которым сервис проверки на «человечность» начал неистово сбоить.
Избавьте меня от гидрантов
Почему пользователи вынуждены вводить капчу при каждом поисковом запросе и можно ли с этим что-то сделать. Объясняем на примере Ивана.
Иван давно мечтал переехать из шумного центра в спокойный маленький городок километрах в десяти от мегаполиса. Черт с ним с метро и прочими очагами цивилизации. В редакции можно появляться раз в месяц — на планерку. Вся работа теперь делается удаленно — главное, чтобы был Интернет. А с ним проблем быть не должно — не в каменном же веке живем.
К вопросу связи Иван подошел основательно. Он заранее договорился с крупнейшим городским провайдером, и к переезду рабочие уже провели кабель. Иван зашел в комнату, которую решил официально именовать своим кабинетом, включил компьютер и начал писать что-то про рыб. Примерно через пять минут ему потребовалось посмотреть, где именно водится пиранья, и он на автомате полез в поисковик.
— А не бот ли ты, мил человек? — вдруг засомневался поисковый сервер. — Ну-ка, отметь все пожарные гидранты на картинках.
Х-м-м. Ну ладно, гидранты так гидранты. Мало ли. Новое место, новый провайдер. Иван послушно ткнул на все картинки с гидрантами и продолжил работу. Но еще через несколько минут ему потребовалось узнать, как пиранью зовут на латыни, и он вновь воспользовался поисковиком.
— А ты не бот? — поинтересовался сервер. — Покажи-ка, где тут дорожные знаки?
— Да как так-то?! — возмутился Иван. — Я же только что доказал, что я не бот!
За вечер Иван доказывал, что он не бот, раз двадцать — Captcha всплывала почти каждый раз, когда ему нужно было что-то найти поисковиком. Он отмечал машины, велосипеды, витрины, автобусы и прочую ерунду, пока это не довело его до белого каления. Схватив телефон, он начал звонить провайдеру (правда, для поиска номера техподдержки пришлось отметить все горы).
— А, это вам не к нам, это вам в Google, — лениво ответили ему в поддержке. — Чем же мы вам поможем? Вас почему-то считают подозрительным. Это нормально. Многих считают.
Иван тихо выругался. Завтра же надо сменить провайдера. Черт с ним, с оплаченным месяцем. Но это какое-то издевательство. Надо, кстати, поужинать. Найдя ближайшее к новому жилищу заведение (в процессе отметив пять статуй на очередной капче), он накинул куртку и пошел в кафе. Оно оказалось на редкость уютным, хотя без точного адреса найти его было бы проблематично. Заказав ужин, Иван заболтался с барменом и, пользуясь случаем, решил узнать, одинок ли он в своей проблеме.
— Слушай, а тут в районе вменяемые провайдеры есть? — поинтересовался он. — А то я пишу статьи, мне постоянно нужен поисковик, а он меня каждые пять минут спрашивает, не бот ли я…
— А ты не бот? — подозрительно прищурился бармен.
— С утра был не ботом, а сейчас уже не знаю. Гидранты я научился отмечать в практически автоматическом режиме.
— Если вопрос в капче, то нет у нас вменяемых, — вздохнул бармен. — У всех одна и та же ерунда.
— Да как вы тут живете? Почему же у всех такой ад?
— Так это «Гугл» обучает искусственный интеллект находить витрины магазинов. Готовит восстание машин, — не моргнув глазом ответил бармен. — Слыхал о машинном обучении? Им нужны большие данные. Думаешь, почему у меня витрины нет?
— Ну да, конечно. Грядет война машин против гидрантов и школьных автобусов. А если серьезно?
— Ну, если серьезно, то это потому, что все вокруг идиоты. Тут у каждого второго в компьютере троянцы и боты. Сидят себе, роются в Интернете, а с их компьютеров то спам рассылают, то DDoS-атаку устраивают. А IP-адрес у всех клиентов один. Ой, ну может не один, может, двадцать на провайдера, но сути это не меняет. Для Гугла ты сидишь с подозрительного IP, так что будь добр, доказывай, что ты не бот.
— И что, провайдеры ничего не могут сделать?
— Теоретически могут. Только это же нужно вкладываться в технологии, вести просветительскую работу с клиентами. Предлагать клиентам антивирус. Проще пустить все на самотек. Вот появится конкурент, который начнет переманивать клиентов, — тогда они зашевелятся.
Капча Гугла — не катастрофа, но пользователей она раздражает неимоверно. Также это надежный симптом того, что в вашей подсети что-то не так. Иногда из-за продолжительной DDoS-атаки сервисы или сайты просто блокируют целый диапазон адресов, создавая пользователям дополнительные проблемы.Разумеется, защита компьютеров своих клиентов — это не самая приоритетная задача провайдера, однако если понятия «лояльность» и «удовлетворенность клиентов» для него не пустой звук, то им можно и нужно рекомендовать качественную защиту.
Мы можем снабдить провайдеров нужными инструментами. Они позволят не только улучшить ситуацию с безопасностью в сети, но и изрядно разгрузить службу технической поддержки.
CAPTCHA: убивая конверсию
Капча считается международным стандартом защиты от DDoS-атак, автоматических регистраций и спама. Мы в Variti проанализировали эффективность этого решения и пришли к заключению, что это очень неудобное и малоэффективное средство защиты от ботов, плохо влияющее на конверсию, а области с капчей — это сами по себе уязвимые места для атак.
Мы решили поделить причины, по которой от капчи надо избавляться в пользу более надежных и менее раздражающих пользователей решений, на маркетинговые и технические.
Маркетинговые
Капчу необходимо внимательно разглядывать и периодически вводить несколько раз. Исследование Стэнфорда говорит о том, что их испытуемые в среднем тратили 9.8 секунд, чтобы распознать и ввести визуальную капчу и 28.4 секунды на аудио-версию, причем 50% пользователей отказались ее решать. В 2018 году Baymard Institute, который проводит различные исследования на тему UX, подсчитал, что пользователи не могут решать текстовые CAPTCHA примерно в 8% случаев. Эта цифра увеличивается до 29%, если CAPTCHA чувствительна к регистру.
Прежде всего, это все-таки проблема юзабилити, поскольку эта функциональность заставляет пользователя выполнять лишнее действие (а плюс к этому капча не всегда уместно и красиво выглядит в дизайне страницы). Особенно четко это проблема проявляется, если при неправильном вводе решения перезагружается вся страница целиком: например, если пользователь долго набирал длинный комментарий, а потом он пропал при неверном решении. Процент вероятности того, что человек начнет все заново, не очень велик.
Помимо этого, на рынке уже существует несколько решений для создания капчи, которые размещают в ней рекламу (например, предлагают собрать паззл из логотипа компании). Это не может не сказаться на градусе настроения пользователя.
Наконец, это очень неудобно для людей с нарушениями координации или проблемами со зрением, и даже для тех, кто не различает цвета, ведь далеко не все внедряющие визуальную капчу владельцы ресурсов добавляют к ней звуковую. Плюс к этому капча особенно раздражает “возрастную” аудиторию и ту, где есть большой процент людей с низким уровнем компьютерной грамотности или незнанием английского языка.
Плохо влияет на конверсию
Как известно, вообще любое лишнее поле для заполнения на сайте ухудшает конверсию. Вот интересное исследование, которое показало, что отказ от капчи приводит к росту конверсии на 3,2%. Точные данные по изменению конверсии в зависимости от капчи каждый ресурс может протестировать самостоятельно, ведь результаты зависят от специфики и аудитории. Но если подходить к проблеме с точки зрения упущенной выгоды, то необходимо посчитать затраты и эффективность в обоих случаях — намного ли выгоднее включать капчу, чем избавляться от спама другими средствами? Тем более, что они есть.
Капчи стали сложнее
За эти годы CAPTCHA стал умнее, но и боты стали развиваться стремительнее и становиться более изощренными. В начале 2000-х простых изображений с текстом было достаточно, чтобы остановить большинство спам-ботов, но с каждым годом тексты приходится всё сильнее искажать, чтобы обгонять программы по распознаванию символов. Вы сами можете заметить, что в капчах, где нужно выбрать несколько нужных изображений, после нескольких неудачных попыток объекты для поиска прячутся или искажаются, добавляются новые классы объектов и увеличивается количество страниц, которые нужно пройти. Соответственно, при усложнении увеличивается и количество отказов у реальных пользователей. Конечно, Google решает свои дополнительные задачи, используя эти алгоритмы для обучения своих роботов распознаванию объектов на изображениях и вряд ли от них откажется, но пока что все выглядит так, как будто все, что делает капча, это отсеивает не очень умных ботов и невнимательных людей.
Еще в далеком 2014-м Google стравила между собой свой лучший алгоритм по разгадыванию самых искажённых текстов и людей: компьютер правильно распознал текст в 99,8% случаев, а люди всего в 33%.
Технические
Капчу легко обойти
Капча не выполняет свою основную функцию — не избавляет владельцев ресурсов от ботов. Вариантов “борьбы” спамеров с капчей даже больше, чем один.
Системы распознавания и нейросети
Системы OCR (оптическое распознавание символов) сейчас работают довольно точно и легко распознают как печатный текст, так и изображения. Решение добавлять “шумовой” фон, лишний цвет и линии, искривлять или сдваивать текст не особенно помогает это предотвратить, зато усложняет прохождение для реального человека.
С развитием технологий машинного обучения и нейронных сетей глубокого обучения дальнейший процесс визуального усложнения капч выглядит бесперспективным. Полносверточная нейронная сеть, в которой на входе подается изображение, а на выходе выдается нужное изображение или несколько изображений (карты центров) распознает текстовые капчи в большинстве случаев. Однако для нее же решаема и капча с выбором нужных картинок ибо обнаружение и классификация объектов — ведь это именно то, чем и занимается нейросеть (в том числе та самая нейросеть reCAPCHA от Google). Да и некоторые библиотеки, позволяющие работать с нейронными сетями, тоже разработаны в Google (например, Tensorflow).
Существуют сервисы взлома, при которых берется и транскрибируется аудио-версия капчи. При успешном развитии систем распознавания голоса это тоже перестает быть проблемой для опытных спамеров. Есть алгоритмы и скрипты, такие, например, как алгоритм Кока-Янгера-Касами для распознавания двухмерной грамматики, который может распознать более 50% капч. Есть и другие способы обхода проверки:
Существует целый рынок услуг, предлагающих обойти капчу, и это очень дешево. В этой индустрии заняты тысячи реальных людей — жителей Индии или Китая, которые за небольшую плату проходят тесты. Специальные биржи типа Amazon Mechanical Turk предлагают купить десятки разгаданных капч за несколько центов, а многочисленные сервисы еще и постоянно сбивают эту цену. Они же постоянно тысячами создают новые “чистые” аккаунты, которые проходят проверку спам-систем на сайтах легче и быстрее всего.
Наконец, существуют онлайн-ресурсы с “интересным” содержанием типа игр или контентом для взрослых. Прежде чем пользователи смогут увидеть следующую порцию контента, система сделает бэкэнд запрос к Yahoo или Google, захватит оттуда капчу и подсунет её пользователю. И как только пользователь ответит на вопрос, хакер отправит разгаданную капчу на целевой сайт. Популярный сайт с востребованным контентом сделать несложно, если парсить (или попросту красть) интересный контент с целого ряда “легальных” порталов (мы в своей работе часто сталкиваемся с такими “копипастерами”). А хакер в итоге получает большую аудиторию, которая разгадывает чужие капчи, не подозревая об этом.
Не различает плохих и хороших ботов
Помимо плохих ботов, существуют и хорошие — это роботы поисковых систем и браузеров, полезные корпоративные боты разных сервисов, которые ищут или размещают информацию или предлагают пользователю помощь, автоматизируя работу техсаппорта компании или продажи ее услуг. Например, по данным GlobalDots, на текущий момент человеческий трафик составляет 62.1%, плохие боты 20.4%, а хорошие 17.5% (то есть отставание от плохих не такое уж и критичное). К сожалению, метод капчи не различает плохих и хороших ботов, не пропуская равно всех, хотя “хорошие” боты могли бы быть полезны.
Большинство капч сторонние — предоставленные тем же Google или разработчиками капч-решений. Но во многих случаях их генерированием занимается тот же сервер, на котором расположен сайт, и тогда это становится уязвимым местом для атак.
Генерация некоторых видов капч — это достаточно ресурсоемкая операция и идет она не быстро, так как требует запросов к сторонним библиотекам и в целом работает с изображениями. В случае, если кэширование по дефолту не предусмотрено или по каким-то причинам выключено, это еще больше мороки. Если атакующий ставит задачу создать избыточное количество запросов на генерацию капчи, то сервер может не успевать это делать.
Впрочем, эта проблема решаема:
Замедляет работу сайта
Небольшое замедление может показаться не настолько важной проблемой, но вы будете не правы, если не будете обращать на это внимание. Посмотрите вот на это исследование: в то время как пятая часть маркетологов не считает, что время загрузки влияет на коэффициент конверсии, почти 70% людей признают, что скорость страницы влияет на вероятность покупки.
Как капча может влиять на скорость?
Увы, нет. Есть еще несколько моментов.
Во-первых, капчи могут ломать логику работы сайта — особенно в случаях, когда заполнение формы заканчивается капчей, причем не всегда пользователь об этом предупрежден. Однако и вариант “показывать капчу только на входе” не решает задачу защиты от спамеров, ведь получается, что после одноразового прохождения они могут делать дальше все, что захотят.
Во-вторых, давайте подумаем о поисковых системах. Если поисковые системы “обеляются” по user-agent, то капча неэффективна. Если капча показывается всем — то может показаться и поисковикам, и сайт будет иметь проблемы с индексацией.
Существует множество других форм защиты, порой даже более эффективной для борьбы с ботами. Например, на фронтенде это могут быть минимальное время заполнения формы, меньше которого может заполнить только бот, или скрытое поле (display:none), которое не увидит человек, но заполнит бот.
На сетевом уровне это могут быть обфускация или шифрование HTML, блокирование определённых user-agent и различные ловушки со стороны веб-сервера: например, создание невидимых разделов сайта, куда попадают только роботы и позже банятся по IP, или фильтрация анонимных прокси.
И, наконец, есть метод, который мы применяем в Variti — это полная фильтрация трафика, который мы считаем единственным полноценным подходом в защите от ботов и DDoS-атак. Мы пропускаем через свои кластеры весь трафик, который идет на сайт или приложение клиентов, а специально настроенные и самообучающиеся алгоритмы определяют и пропускают дальше легитимный трафик от живых пользователей и “хороших” ботов, причем блокировки IP в этом процессе также не требуется. Впрочем, о том, почему мы считаем еще и метод блокировки IP вредоносным, мы поговорим в следующих статьях.