Вторник, 20 марта 2012 00:00

Keycaptcha как она есть

Оцените материал
(6 голосов)

Кажется, это было совсем недавно.

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

Stalker

 

 

Но время летит стремительно, по-прежнему неподвластное людям, равнодушное к алгоритмам... Вчерашние школьники, взахлеб читавшие о приключениях земных астронавтов, вступавших в схватку с носителями искусственного интеллекта - сегодня практически ежедневно, оставляя сообщение на форуме или комментарий в блоге, вынуждены проходить тест Тьюринга - Completely Automated Public Turing test to tell Computers and Humans Apart (полностью автоматизированный публичный тест Тьюринга для различия компьютеров и людей).

Очень длинное название, не правда ли? В обиходе используется его сокращенный вариант - captcha.

-----

Сегодня на Masterpro.ws - интервью с одним из создателей проекта KeyCAPTCHA - Максимом Владыкиным.

А.С. Короткая аннотация. Проект KeyCAPTCHA ставит своей целью создание надежного эффективного заслона автоматическому спаму в Сети: непроходимого для роботов и совершенно прозрачного для людей. Сервис использует уникальные технологии (так сказано на сайте проекта); предлагает пользователю элегантно оформленную интерактивную задачку (это я вижу и сам) взамен всем опостылевших буковок-цыфирек, распознать которые порой не так легко, будь ты хоть трижды не робот. Но, Максим; о Вас и о Вашей команде я не знаю ничего, у Вас на сайте этой информации пока что нет. Мне повезло задать этот вопрос первым... Вы не могли бы - пару слов на тему? или даже не пару, время у нас есть. Расскажите, кто Вы? и - кто ваши коллеги?

Максим Владыкин

М.В. Алексей, спасибо, что представили меня достопочтенным читателям Вашего блога.
Сразу же оговорюсь: это первое интервью в моей жизни, но надеюсь, что не последнее :)  Поэтому прошу отнестись снисходительно.

История возникновения нашей команды, как бы это банально не звучало, уходит в далекие студенческие годы середины 90-х. Именно тогда на вступительных экзаменах я познакомился с Николаем - человеком, которому принадлежит идея создания сервиса KeyCAPTCHA. В студенчестве мы много общались, но позже наши дороги разошлись, чтобы снова пересечься спустя 10 лет. Помню, был солнечный весенний день, когда Николай приехал в офис, где я на тот момент работал. Вечером того же дня мы долго разговаривали о его задумке - сервисе по защите от спама с помощью интерактивной капчи. Я всячески пытался найти изъяны в идее Николая, т. к. в отличие от него для участия в проекте мне предстояло уйти с хорошей работы. На тот момент я был менеджером проектов по разработке ПО в одной из новосибирских компаний, клиенты которой находились в США. Николаю было существенно проще, т.к. у него уже были стабильные источники дохода, которые не требовали его постоянного внимания. Решение было непростое. На одной чаше весов была стабильность, на другой теоретическая свобода творчества и в то же время гигантские риски. Но идея настолько мне понравилась, что у размеренной стабильности через неделю раздумий не осталось никаких шансов. Дальше последовала кропотливая работа команды, которая состояла на тот момент из 2-х человек. Потом запуск сервиса, первый посетитель сайта, первый клиент, первый запрос в поддержку, первый плагин для CMS, первый независимый обзор о нашем сервисе, первые переговоры с инвестором, первый офис, первая публикация вакансии в нашу команду, первый рекламодатель, первая попытка обойти нашу капчу, первое участие в IT конференции, первые рекламные буклеты, первое интервью :)
Что будет дальше? Дальше будет много интересного, как для наших пользователей, так и для членов нашей команды.

 Николай Прайс

А.С. Хм, охотно верю; и, пользуясь случаем - рад поздравить Вас и участников Вашей команды с получением гранта от фонда Мильнера и Дурова, прекрасное начало! Семь футов под килем и доброго попутного ветра вашему проекту... ну, а с вас - бутылка шампанского соответственно. :)

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

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

Кликабельность по рекламным ссылкам в KeyCAPTCHA на качественных сайтах составляет примерно 10%.
Примерный доход в сутки = количество заполняемых форм, защищенных KeyCAPTCHA, в сутки * 0,1 * 3 рубля.

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

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

Также было бы нечестно по отношению к читателям и потенциальным пользователям нашего сервиса скрывать тот факт, что на текущий момент у нас нет огромного количества рекламодателей, которые мечтают разместить рекламу в KeyCAPTCHA. Рекламодатели есть, но их пока не очень много. Не так давно мы начали активно работать в этом направлении. Проводить мероприятия по целенаправленному привлечению рекламодателей ранее было практически бессмысленно, т. к. кому нужна реклама в сервисе, которому без году неделя и у которого к тому же трафика по меркам нормальных рекламодателей просто нет. Сейчас же нам есть, что показать рекламодателям. Как-никак из 20 000 сайтов, использующих наш сервис, более 15 000 разрешили отображение рекламы в KeyCAPTCHA. При этом ежедневное количество корректных прохождений нашей капчи перевалило за 150 000.

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

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

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

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

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

На мой взгляд, выгода от установки KeyCAPTCHA налицо.

Dev banner 2

А.С. Капча в виде пазла - это изначальная задумка? или сначала было что-то другое?

М.В. Идея пазла действительно появилась уже после запуска нашего сервиса. Изначально у нас были интерактивные задания, основанные на логике и цвете объектов, например, одна из первых наших капч предлагала посетителю расставить 5 мониторов на 5 системных блоков в соответствии с их цветом. Накопив на наших серверах реальную статистику прохождения таких капч, мы были крайне не удовлетворены процентом прохождения наших капч с первого раза. Детально изучив статистику, мы пришли к выводу, что большинство ошибок происходит из-за того, что пользователи ставили, например, темно синий монитор на светло синий системный блок, то есть проблема была в сложности отличия одного цвета от другого. Причиной этого могла быть спешка или невнимательность, а также физиологические особенности зрения. Погрузившись в проблему, обнаружили, что около 5% процентов населения Земли испытывает трудности с определением того или иного цвета. Добавив такой же процент людей, которые проходят капчу невнимательно, получили уже 10%. И вот тогда мне в голову пришла идея реализации пазла. Пазл всем знаком с детства, все интуитивно понятно. Огромным плюсом было и то, что на все пазлы-капчи можно было написать универсальный текст задания. Обсудили с коллегами и решили: пазлу быть. Разработанная нами платформа (об этом я расскажу чуть позже) позволила нам уже через 3 дня запустить новый вид капчи - «Пазл». Какое-то время владельцы сайтов могли выбирать тип капч, который будет предлагаться посетителям их сайтов. Прошел примерно месяц, и мы проанализировали накопившуюся статистику нового вида нашей капчи. Честно скажу, мы были потрясены результатом: более 98% успешных прохождений с первого раза. Чуть позже мы отключили старый тип капчи.

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

А.С. Ряд приложений уже сегодня умеют проходить капчу. Ярким примером служит, скажем, Allsubmitter, пользователем которого являюсь, в частности, и я... знаю, что даже старая версия вполне успешно распознает немалый ряд капч. Либо - упомянутый Вами хрумер. PWNtcha еще существует, равно как и возможность прикрутить тот же FineReader к тому или иноу капча-декодеру... скажите, как с этим у KeyCAPTCHA; данный продукт совершенно неуязвим? Известны ли вам приложения, умеющие пройти KeyCAPTCHA? Правильно ли я понимаю - создателями сделана ставка на то, что собрать пазл сумеет лишь человек, а решение хранится только на сервере? Или изюминка в другом?

М.В. Спасибо за хороший вопрос.
Как я уже говорил, попытки прохождения нашей капчи в автоматическом режиме были.
Один человек даже опубликовал исходники своего решения по прохождению KeyCAPTCHA в полуавтоматическом режиме.
Но Вы очень правильно задали последний вопрос: изюминка действительно в другом.
KeyCAPTCHA - не просто капча, это централизованная платформа для построения любого интерактива с пользователем. Централизация позволяет нам в один момент изменить или нарастить первичные уровни безопасности нашей капчи. Платформа позволяет нам создавать капчи, даже теоретически невозможные для универсального прохождения спам-ботами, например, кликните по трем яблокам, которые несут медлительные ежики. Я утрирую конечно, таких заданий не будет, но думаю, суть понятна.
Вернемся к опубликованным скриптам по полуавтоматическому прохождению.
Скрипты, которые создавались сутками, превратились в набор никому не нужного кода за несколько минут. При этом следующая попытка «поломать» становится ничуть не менее трудоемкой, если не более.
Я не буду говорить, что нас невозможно поломать. Утверждать такое просто глупо.
Весь вопрос в стоимости взлома, а также стоимости и скорости устранения уязвимости.
На текущий момент ломать нас нерентабельно, т. к. существует десятки миллионов сайтов, которые либо вообще не защищены от спама, либо защищены капчами, которые проходятся спам-ботами в автомате. С ростом популярности нашего сервиса количество попыток обойти нашу капчу будет увеличиваться, но в то же время рост популярности означает рост доходов нашего сервиса, часть которых в случае необходимости будет направляться на усиление защиты.

А.С. Вы не могли бы пояснить, каким образом работает KeyCAPTCHA, если веб-серверу запрещены исходящие соединения? Я прочел что-то на сей счет в админке, но признаться, не вполне уловил. Используется "модуль, возвращающий реальное время вашего веб-сервера"... но и только. Вы не могли бы поподробнее? Или это и есть одна из "уникальных технологий", о которой лучше не спрашивать?

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

Раз уж речь зашла о наших уникальных технологиях, то я не могу не рассказать об еще одной функциональности KeyCAPTCHA, которой, по моим данным, нет ни у одной из ныне существующих капч. Думаю, каждый читатель не раз сталкивался проблемой под названием: «Заполнил форму, решил капчу, нажал сабмит, а в ответ получил ту же форму, но только пустую с сообщение о том, что капча пройдена неверно». И хорошо, если это простая форма регистрации с небольшим количеством полей. А если это была форма добавления комментария, куда Вы написали пару-тройку абзацев и забыли скопировать в буфер написанный Вами текст? Я сам не раз попадал в такую ситуацию. Переписывать заново часто нет времени, а есть лишь желание посмотреть в глаза нерадивым разработчикам и администраторам таких ресурсов и высказать им все, что я о них думаю. Зная об этой проблеме, мы реализовали механизм проверки нашей капчи в два этапа. Второй этап классический, как и в остальных капчах он происходит на защищаемом веб-сервере после сабмита формы. Первый же этап проверки мы интегрировали в промежуток после нажатия «кнопки» (кнопка, изображение или ссылка) сабмита, но до отправки данных формы на защищаемый веб-сервер. Для этого в момент загрузки формы, защищенной KeyCAPTCHA, мы переопределяем события, которые отвечают за отправку формы. При этом конечно же мы сохраняем оригинальные обработчики событий, для того чтобы у нас была возможность передать им управление, когда это потребуется. Данный подход позволяет нам сразу же после нажатия пользователем на «кнопку» отправки формы произвести первичную проверку правильности решения капчи путем отправки соответствующих запросов на наши сервера. И вот только если наши сервера ответят, что капча пройдена верно, мы передаем управление оригинальному коду, который сабмитит форму на защищаемый веб-сервер. Если же капча не проходит первичную проверку, происходит ее обновление без перезагрузки страницы. Такой подход позволяет сберечь нервы посетителей веб-сайтов, где по каким-либо причинам об этом забыли подумать их создатели.


А.С. Вы правы, я всегда даже самые крохотные комменты на различных блогах тщательно копирую в буфер обмена перед прохождением капчи, привычка... но скажите мне вот что. Совсем недавно, насколько знаю, у пользователей сервиса появилась возможность включить отображение социальной рекламы на своем сайте. Сейчас это Всемирный фонд дикой природы (WWF), завтра, уверен, появятся и другие... я прошел по ссылке, где предлагалось "усыновить мишку", причем "усыновление" обошлось бы мне не так уж, на мой взгляд. и дешево. :) Скажите, уверены ли вы в добросовестности социальных ваших рекламодателей? А коммерческие рекламодатели - проверяете ли вы их каким-либо образом? Я мог бы назвать немало сервисов-лохотронов в рунете; не рискую ли я на своем сайте показывать их рекламу?

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

Что касается коммерческих рекламодателей, то мы очень строго подходим к модерированию рекламных капч. Исходя из статистики на текущий момент, мы отказываем более 90% рекламодателей. Среди них были сайты, на которых народ завлекался в очередную МММ от Сергея Мовроди. Все это «добро» ушло напрямую в бан. Уже было несколько случаев возврата нами денежных средств таким «рекламодателям». Повторюсь, без прохождения модерации ни одна рекламная капча не начинает отображаться на сайтах наших клиентов, которые разрешили отображение рекламы в KeyCAPTCHA на своих сайтах.
Деньги не пахнут - это не про наш сервис, поэтому можете не опасаться — рекламы лохотронов и даже просто сомнительных сайтов в нашем сервисе не будет никогда.
Наша цель это Toyota, GM, Samsung, Apple, Microsoft, ... Google на худой конец :)

А.С. Google - это хорошо. А то меня даже Яндекс Директ время от времени выводит из себя, так как его блоки порой неслабо тормозят загрузку сайта... в бытность имела место длительная переписка с их саппортом в данном контексте. Скажите, отмечены ли случаи, когда KeyCAPTCHA тормозит загрузку сайта? Есть ли в проекте создание асинхронного кода KeyCAPTCHA? Или оно без нужды?

М.В. KeyCAPTCHA загружается асинхронно с момента создания.

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

М.В. Может быть уверен на 100%. Это легко проверяется любым встроенным в браузер отладчиком.

А.С. Максим, спасибо за подробный рассказ. Уверен, он был очень интересен не только для меня... я-то уже давно использую keyCAPTCHA на форуме, в полной мере оценив удобство и красоту данного решения. Последний на сегодня вопрос, традиционный. Ваши планы? Каковы перспективы у KeyCAPTCHA? каковы задумки? Про социальную рекламу - я понял; а еще?

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

Касательно перспектив, могу сказать, что мы продвигаемся согласно нашему 3-х летнему плану развития, который был сверстан около года назад. Пока что все по плану. А дальше жизнь покажет. Не люблю загадывать :)

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

Присоединяйтесь и наслаждайтесь отсутствием спама!

Последнее изменениеЧетверг, 21 мая 2015 00:38

6 комментарии

  • Комментировать Aleksej Вторник, 22 октября 2013 15:04 написал Aleksej

    на объективность? С чего вы это взяли, Михаил? - бог с вами, никоим образом не претендую. :)

    Но если на объективность претендуете вы - please, отладчик в руки и результаты в студию. Гарантирую, что приведу ваш отчет на страницах этого сайта полностью и до байта, каковы бы ни были его результаты; гарантирую непредвзятый и технически грамотный анализ за подписью даже нескольких экспертов, свободную интернет-трибуну и плюрализм мнений.

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

  • Комментировать Михаил Вторник, 22 октября 2013 03:24 написал Михаил

    Алексей,
    Если Вы претендуете на объективность, то поискали бы в интернете и нашли много интересного о KeyCaptcha.

  • Комментировать katalogclub Четверг, 28 июня 2012 18:51 написал katalogclub

    Два года использую эту капчу и огромное спасибо Максиму за проект. До этого боты так было задрали сайт katalogclub.ru, что куча времени уходила на очистку формы регистрации и др. Много нечисти клепало на нее по форумах, но я ее везде рекламировал и буду делать это постоянно. Один из таких оставил свой коментарий и у нас http://katalogclub.ru/details/keycaptcha-uverenno-pobezhdaet-spam-proverte-sami.html

  • Комментировать Administrator Среда, 13 июня 2012 18:48 написал Administrator

    Отчего же не использую? Welcome на форум, взгляните на страницу регистрации... только keycaptcha и спасает. :)

  • Комментировать Alex50 Среда, 13 июня 2012 17:19 написал Alex50

    Интересная статья. Спасибо!
    Но почему сами не используете эту капчу?

  • Комментировать Aleksej Суббота, 24 марта 2012 12:00 написал Aleksej

    Удалил ваше сообщение, Семо и Овамо. Взамен оставил свое - http://masterpro.ws/forum/26-extensions-joomla/369-novoe-dlya-joomla?limit=10&start=20#3875

Оставить комментарий

Добавьте ваш комментарий

SEO-оптимизация. SEO-услуги

Web Development Masterpro

Read more

Заказать сайт

Веб-разработка. Заказать сайт

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