Доказывать, что ты не робот, становится всё сложнее
В какой-то момент прошлого года постоянные требования от Google доказать, что я человек, начали казаться всё более агрессивными. Всё чаще за простой и немного чересчур милой кнопочкой «Я не робот» начали появляться требования доказать это – выбрав все светофоры, переходы или витрины в сетке изображений. Вскоре светофоры начали прятаться в листве, переходы искажаться и уходить за угол, а вывески магазинов стали размытыми и перешли на корейский язык. Есть что-то весьма разочаровывающее в неудачных попытках найти на изображении пожарный гидрант.
Эти тесты называются CAPTCHA – акроним от «полностью автоматического публичного теста Тьюринга, предназначенного для различения людей и компьютеров», и когда-то они уже доходили до подобной степени неразборчивости. В начале 2000-х простых изображений с текстом было достаточно, чтобы остановить большинство спам-ботов. Прошло десять лет, и после того, как компания Google купила программу у исследователей из Университета Карнеги-Меллона и использовала её для оцифровки в проекте Google Books, тексты приходилось всё сильнее искажать и скрывать, чтобы обгонять улучшающиеся программы оптического распознавания символов – те самые программы, которые помогали улучшать те самые люди, кому приходилось разгадывать все эти капчи.
Поскольку CAPTCHA – элегантный инструмент для тренировок ИИ, то любой придуманный тест может продержаться лишь некоторое время, что признают и его изобретатели. Со всеми этими исследователями, мошенниками, и простыми людьми, решающими миллиарды задачек на грани возможного для ИИ, в какой-то момент машины просто обязаны были нас обогнать. В 2014-м Google стравила между собой свой лучший алгоритм по разгадыванию самых искажённых текстов и людей: компьютер правильно распознал текст в 99,8% случаев, а люди всего в 33%.
После этого Google перешла на NoCaptcha ReCaptcha, наблюдающую за поведением людей и собирающую их данные, что позволяет некоторым из них пройти дальше просто по клику на кнопке «Я не робот», а другим выдаёт задачи на поиск изображений, которые мы сегодня и наблюдаем. Но машины снова настигают нас. Все эти навесы, которые могут быть или не быть витринами магазинов – это заключительная стадия гонки вооружений людей и машин.
Язон Полакис, профессор информатики в Университете Иллинойса в Чикаго лично отвечает за недавнее усложнение капчи. В 2016-м он опубликовал работу, в которой использовал готовые программы распознавания изображений, включая собственный поиск по изображением от Google, чтобы решать капчи с точностью в 70%. Другие исследователи справлялись с распознаванием аудио капчи от Google при помощи программ по распознаванию речи от самой же компании.
Машинное обучение уже не хуже людей справляется с распознаванием простых текстов, изображений и голоса, говорит Полакис. Алгоритмы, возможно, даже делают это уже лучше: «Мы дошли до момента, когда усложнение задач для софта приводит к тому, что задачи становятся чрезмерно сложными для людей. Нам нужна альтернатива, но чёткого плана пока нет».
Литература по капчам переполнена фальстартами и странными попытками найти что-то кроме текста и изображений, с чем хорошо справляются все люди и плохо справляются машины. Исследователи пробовали предлагать пользователям сортировать изображения людей по выражению лиц, полу и этнической принадлежности (можете представить, как это прошло). Были предложения организовать капчи с викторинами, капчи на основе колыбельных, распространённых в тех местах, где, как предполагается, вырос пользователь. Такие капчи с культурной привязкой нацелены не только на роботов, но и на людей из других стран, решающих капчи за копейки. Люди пытались загнать алгоритмы распознавания изображений в тупик, предлагая пользователю опознать, например, свинью, но при этом рисованную и в солнечных очках. Исследователи изучали такие варианты, как предложить пользователям распознать объекты в мешанине калейдоскопа. В одном из интересных вариантов в 2010-м исследователи предложили использовать капчу для сортировки древних петроглифов – компьютеры плохо справляются с распознаванием скетчей или изображений оленей на стенах пещер.
Недавно были попытки разработать игровые капчи, где пользователю нужно вращать объекты на определённые углы или передвигать кусочки головоломки, причём инструкции по решению капчи давались не в виде текста, а в виде символов, или же подразумевались по контексту игрового поля. Надежда на то, что люди поймут логику загадки, а компьютеры без чётких инструкций споткнутся. Другие исследователи пытались использовать факт наличия у людей тел, и применяли камеры устройств или дополненную реальность для интерактивного подтверждения наличия человека.
Со многими из этих тестов проблема не в том, что роботы слишком умные, а в том, что люди плохо с ними справляются. И дело не в том, что люди тупые; они просто очень сильно различаются по языку, культуре и опыту. Избавившись от всего этого, чтобы сделать тест, который может пройти любой человек без тренировки и долгих размышлений, мы остаёмся с такими грубыми задачами, как распознавание изображений – а это именно то, с чем хорошо справится специально заточенный под это ИИ.
«Тесты ограничены возможностями человека, — говорит Полакис. – Дело не только в физических возможностях – нужно найти что-то межкультурное, межъязыковое. Нужна задача, которая хорошо работает с человеком из Греции, с человеком из Чикаго, с человеком из Южной Африки, Ирана и Австралии одновременно. И она не должна зависеть от культурных нюансов и различий. Нужна задача, с которой хорошо справляется средний человек, она не должно быть ограничено определённой подгруппой людей, и она должна быть трудной для компьютера. Всё это сильно ограничивает выбор вариантов. А ещё это должно быть что-то, с чем люди справляются быстро, и что не сильно раздражает».
Попытки решения этих загадок с размытыми картинками быстро переводят человека на философские рельсы: есть ли какое-то универсальное человеческое качество, которое можно продемонстрировать машине, и которое машина не может имитировать? Что значит – быть человеком?
Может, наша человечность измеряется не тем, как мы выполняем задачи, а тем, как мы ведём себя, продвигаясь сквозь мир – или, в данном случае, сквозь интернет. Игровые капчи, видеокапчи, любые капчи, которые вы сможете придумать, в итоге будут взломаны, говорит Шуман Госмахумдер [Shuman Ghosemajumder], занимавшийся в Google борьбой с автоматизацией кликов, а потом ставший технологическим директором компании по распознаванию роботов Shape Security. Он склоняется в сторону «постоянной авторизации» вместо отдельных тестов – к наблюдению за поведением пользователя и поиску признаков автоматизации. «Реальный человек не очень хорошо контролирует моторику, и не может двигать мышь одинаковым образом много раз во время нескольких взаимодействий, даже если будет пытаться сделать это», — говорит Госмахумдер. Робот будет взаимодействовать со страницей, не двигая мышью, или двигая её очень точно, а в действиях человека будет наблюдаться «энтропия», которую сложно подделать, говорит Госмахумдер.
Собственная команда Google, занимающаяся капчей, работает в сходном направлении. Последняя версия reCaptcha v3, выход которой был объявлен в конце прошлого года, использует «адаптивный анализ рисков» для оценки трафика по подозрительности; владельцы сайтов могут предлагать подозрительным пользователям задачи вроде ввода пароля или двухфакторной авторизации. В Google не сообщают, какие факторы учитываются при оценках, кроме того, что компания оценивает, как выглядит на сайте «хороший трафик», и использует эту информацию для фильтрации «плохого трафика», согласно Сай Кормаи [Cy Khormaee], менеджеру продукта из команды CAPTCHA. Исследователи в области безопасности говорят, что это, вероятно, смесь куков, атрибутов браузера, закономерностей трафика и других факторов. Один недостаток новой модели распознавания роботов состоит в том, что навигация в вебе при попытках минимизации наблюдений за пользователем может стать немного раздражающей, поскольку такие вещи, как VPN и расширения, затрудняющие отслеживание пользователя, могут отметить вас, как подозрительного.
Аарон Маленфант [Aaron Malenfant], ведущий инженер команды CAPTCHA в Google, говорит, что сдвиг в сторону от тестов Тьюринга должен помочь обойти соревнование, которое люди всё время проигрывают. «Чем больше мы будем вкладываться в машинное обучение, тем сложнее эти задачи будут становиться для людей, и, в частности, поэтому мы запустили CAPTCHA V3 – чтобы опередить эту кривую». Маленфант говорит, что через 5-10 лет задачи в капче вообще не будут иметь смысла. Большая часть веба будет зависеть от постоянного скрытого теста Тьюринга, работающего на фоне.
В своей книге «Самый человечный человек» Брайан Кристиан [Brian Christian] принимает участие в тесте Тьюринга в качестве подсадной утки и понимает, что очень сложно доказать свою человечность в беседах. С другой стороны разработчики ботов обнаружили, что эти тесты легко пройти, не притворяясь красноречивым или интеллектуальным собеседником, а отвечая на вопросы при помощи нелогичных шуток, делая опечатки, или, как в случае бота, выигравшего соревнование Тьюринга в 2014-м, заявляя, что ты – 13-летний украинский мальчик, плохо говорящий по-английски. Ведь человеку свойственно ошибаться. Возможно, что такое будущее ждёт и капчу, самый распространённый тест Тьюринга в мире – новая гонка вооружений будет создавать не роботов, превосходящих людей в сортировке изображений и разборе текста, а роботов, делающих ошибки, промахивающихся по кнопкам, отвлекающимся и переключающим вкладки. «Думаю, народ начинает понимать, что есть области применения для симуляции среднего пользователя-человека… или тупых людей», — говорит Госмахумдер.
Капчи могут сохраниться и в этом мире. В 2017-м Amazon зарегистрировала патент на схему, в которой используются оптические иллюзии и логические задачки, с которыми тяжело справляться людям. Этот тест называется «тест Тьюринга через ошибку», и единственный способ пройти его – дать неверный ответ.
Комментарии (140)
AssMoFun
08.02.2019 12:34Предлагаю в качесте капчи использоват шутки (либо другие тексты, вызывающие человеческие эмоции). В ответах надо выбрать вариант, наиболее подходящий под заданую шутку (текст, вызывающий эмоцию).
Wolframium13
08.02.2019 13:02+17Юмор у всех разный. Столкнётесь с вопросом
«Заходит англичанин в бар:
а) а он ему как раз
б) а там армяне в нарды играют
в) а в бухгалтерии всё перепутали
и будете чесать затылок.AssMoFun
08.02.2019 14:04-3Для тех, кто пока плохо умеет в юмор, первая ссылка в Гугле www.google.com/search?client=firefox-b-d&q=%D0%97%D0%B0%D1%85%D0%BE%D0%B4%D0%B8%D1%82+%D0%B0%D0%BD%D0%B3%D0%BB%D0%B8%D1%87%D0%B0%D0%BD%D0%B8%D0%BD+%D0%B2+%D0%B1%D0%B0%D1%80
NineStars
10.02.2019 11:48Повезло же бедолагам с неразвитым эмоциональным интеллектом — не пройти им капчи
Ramisya4ka
10.02.2019 11:48+1К сожалению, существую люди без чувства юмора и даже объективно смешная штука кажется не смешной. И наоборот, существую люди, которые смеются над всякой дичью (над которой адекватный человек не будет смеяться), а над нормальными шутками — нет.
IgorKh
08.02.2019 12:48«Реальный человек не очень хорошо контролирует моторику, и не может двигать мыш одинаковым образом… в действиях человека будет наблюдаться «энтропия», которую сложно подделать
Уже сейчас львиная доля трафика идет через мобильные девайсы, а там тачскрин и все управление — тап в активной области с случайной погрешностью, интересно, как тут анализировать моторику?LazyTalent
08.02.2019 13:26Очень часто сталкиваюсь, что через сайт бывает «сложно» вытащить данные (капча, всевозможные динамические токены, необходимы паузы между запросами итд), а вот с API для мобильного приложения — твори что и как хочешь.
bfDeveloper
08.02.2019 12:57+1Почему-то представил себе антиутопию, в которой люди борются за право оставаться людьми, введя специальные курсы в школах для прохождения капчи. Что-то основанное на задачах, которые мозг решает лучше процессора, но уже настолько сложное, что нетренированный человек не в состоянии это сделать. И постоянная гонка со слабым ИИ за эффективность. Учись или сольёшься с безликой массой людей и роботов.
koluka
08.02.2019 13:12+1Поздравляю! Вы только что придумали бюрократию =)
Victor_koly
08.02.2019 15:07+1Знаете идею типа «Если у власти станут програмисты, то целые отделы министерств заменит короткий скрипт»?
koluka
08.02.2019 15:22видел, это будет очень жестокое правительство. При прорыве дамбы оно вполне может выписать в район бедствия взвод автоматических танков и экскаваторы. Добиваясь наибольшей эффективности по заданным параметрам. Но как система контроля и подсказки — пойдет, но возникает вопрос — кто будет выставлять веса в этом ИИ…
amarao
08.02.2019 15:49+4… А так же восемь отделов по CI/CD pipelines, QA, SRE & DevOps для этого скрипта.
Victor_koly
08.02.2019 16:05А секретарей министерства перевести в Support?
amarao
08.02.2019 16:12Секретарь — довольно высокая позиция.
Очевидно, что L1, L2 и L3 саппорт, QA, manual & automation, UI/UX, бэкэнд, фронт-энд, DBA, сетевой отдел, on-site, etc. А ещё они все пользуются компьютерами и нужна авторизация, VPN, принтеры, wifi'и, бэкапы и т.д.
Человек 200, и это в условиях острой нехватки сотрудников. А они «скрипт, крипт».Victor_koly
08.02.2019 16:39Вот у нас была техподдержка. По отзывам клиентов —
ничего не шарящиестуденты. Они уже отправляли задачи техн. специалистам.
В зависимости от задачи это было 4-5 человек на решение разных задач:
— телефония (2 специалиста);
— интернет (оптика/UTP) и КПД (это именно сетевики с логической стороны, не прокладка оптики по городу);
— частиный случай — инет через ADSL;
— сайты, почта и хостинг.
Victor_koly
08.02.2019 13:03+4Ну тогда нужно в капче решить квадратное уравнение. А лучше — уравнение
x2y" + axy' + by = f(x),
с комплексными собственными числами.dubakov
08.02.2019 13:12+2www.wolframalpha.com/input/?i=f(x)%3Dx2y%22+%2B+axy%27+%2B+by
А вот большинство людей не решитVictor_koly
08.02.2019 15:16Я вижу «ODE classification». Хорошо. Вы через онлайн-сервис определили тип ДУ (правда левой части). Я не спорю, что Matlab функцией dsolve решит даже ЛНДУ 2го порядка. Но не всякий сможет написать прогу, которая символы капчи загоняет в «математический процессор».
P.S. Частный случай моего уравнения (иногда дает решить «подбором») — функция f(x) есть полином степени не выше, чем наибольшее собственное число однородного уравнения. Только если собственные числа таки комплексные, а справа полином — нет простых методов решения.dubakov
08.02.2019 15:20+6А не надо чтобы «всякий» написал. Достаточно чтобы написал один.
И я так и не понял, как обычные люди будут решать, без образования.
rsashka
08.02.2019 13:12+1Думаю, что в скором времени это может решиться обязательной идентификацией интернет пользователя.
Кстати, совсем недавно встречал сайт, на котором капча стояла для просмотра материалов.kasthack_phoenix
08.02.2019 15:11Кстати, совсем недавно встречал сайт, на котором капча стояла для просмотра материалов.
За Cloudflare?
rsashka
08.02.2019 15:55Не знаю.
Я переходил с поисковика и даже сам сайт не запомнил.
Просто закрыл страницу и перешел по следующей ссылке в поисковой выдаче.
masai
08.02.2019 16:37Думаю, что в скором времени это может решиться обязательной идентификацией интернет пользователя.
А что помешает ботам работать с учётки какого-то постороннего человека?
rsashka
08.02.2019 16:48Тут вопрос в строгости.
Если будет доступ со строгой криптографической аутентификацией с помощью ключа, выданного товарищем майором, то вряд ли найдется много желающих предоставить свою учётку для бота (надеюсь понятно, что это сарказм?) ;-)boroda_el
08.02.2019 17:53+1Да ладно. Уже сейчас люди готовы на 5тыс на себя фирму зарегать для обналички, а тут какой-то ключ от инета.
Rikkitik
08.02.2019 23:10+1недавно встречал сайт, на котором капча стояла для просмотра материалов
Мне сегодня такая площадка в реале встретилась. У вас в городе в феврале обычно работает ярмарка «Мир самоцветов» с горами всяких каменных безделушек и всевозможной бижутерии, как китайской, так и авторской. Народ перед 8 марта там обычно кишит и массово затаривается побрякушками на подарки. И вот вижу я сегодня афишу, решаю зайти, а там… вход сделали платный, и аж два посетителя гуляет. Ну что ж, удачи, ребятушки, не очень-то и хотелось, магазин сувениров в 20 метрах скажет вам спасибо за рекламу… Думаю, с сайтами это так же работает.koluka
09.02.2019 11:24У них внутри флаеры раздают на следующий раз, поэтому те, кто занимается постоянно — ходят бесплатно на каждую выставку, а обычные люди — да, приходится платить… Ну или искать людей, которые туда ходят постоянно, флаеры можно выносить пачкой.
Rikkitik
09.02.2019 15:59Это вы так предполагаете? Потому что в нашем городе речи про каждый раз нет, до сих пор всё было бесплатно, это не выставка, а именно ярмарка со столами, заваленными товаром и с продавцами, нахваливающими свой товар. А теперь на входе стоит стол с вахтёршей с советским лицом и бумажкой с ценой. И люди, уверенно шедшие к входу, увидев её, пожиамают плечами, разворачиваются и уходят (прямо как я), даже не узнав, есть ли там какие-то супер-плюшки. Про занимается этим постоянно не очень понимаю. Хранить флаер, чтоб в следующем году бесплатно зайти и поискать подарок — это какой-то сюр. Есть сто других мест, где можно зайти и прицениться бесплатно круглый год, и товар там в принципе тот же, ремесленники свои творения же весь год через магазины сбывают.
koluka
09.02.2019 16:49Простите, я про Мир Камня. Похожее название, перепутал…
— У нас они примерно раз в месяц проводятся, и всегда платно было, там арендующий-организующий и места продает и билеты(жадность или мастера не тянут сумму достаточную для аренды помещения не знаю), но зайдя внутрь — можно флаеры взять, возможно они не на видном месте лежат(может только в Питере)… По ценнику там явно дешевле, чем в магазе, если закупаться — можно окупить билет вполне… Впрочем это про Питер, про другие города не скажу…
ЗЫ А вообще, если нужно к 8 марта купить что — есть Ярмарка Мастеров. Там кучи и кучи людей со всем подряд, от шерстяных трусов до свадебных бокалов из хрусталя. Хоть на заказ с опалами, хоть готовое.При разовых покупках — может быть удобнее и проще.Rikkitik
09.02.2019 22:07Хорошо у вас там, в культурной столице. Выставки камней каждый месяц. И другие всякие интересности каждый день где-нибудь да есть. Не то, что у нас в Спарте. У вас, небось, и воскресенье бывает каждую неделю, а у нас только по нечётным…
DrPass
08.02.2019 13:19+7Реальный человек не очень хорошо контролирует моторику, и не может двигать мыш одинаковым образом много раз во время нескольких взаимодействий, даже если будет пытаться сделать это», — говорит Госмахумдер. Робот будет взаимодействовать со страницей, не двигая мышью, или двигая её очень точно, а в действиях человека будет наблюдаться «энтропия», которую сложно подделать
А почему её сложно подделать? По-моему, эта задача на порядок проще, чем распознавание образов на картинках.xdtb
09.02.2019 06:32Так и есть. Сделать аналог взламываемого сайта, прокрутить там пару тысяч человек и собрать статистику как кто двигает мышью проще пареной репы. Гугл сядет в лужу с этой новой схемой. По крайней мере простому программисту без особых мат. знаний станет возможным симулировать поведение человека в браузере.
MOPOH
08.02.2019 14:37+2Из-за впн периодически просят ввести капчу при поисковых запросах. Если это Яндекс, то мне проще перейти в Гугл и там нажать на несколько квадратиков, чем раз за разом пытаться правильно набрать капчу Яндекса. Хотя должен признать, что поиск по картинке у последнего лучше.
Alexey2005
08.02.2019 15:19+1А ведь сражаются-то со следствием, а не с причиной. Капча является прямым следствием существования маркетологов, и если каким-то образом удастся сократить их поголовье в сети, то и никакие капчи не понадобятся.
Perlovich
08.02.2019 15:47+1Я всегда думал, что капча нужна, чтобы отсеять ботов, а не маркетологов :-)
amarao
08.02.2019 15:48-1Маркетолог — человек, занимающийся изучением рынков для товаров. Каким образом поголовное уничтожение маркетологов уберёт задачу каптчи на -цатую неудачную попытку ввести пароль?
Alexey2005
08.02.2019 17:34Если бы он занимался именно пассивным изучением, то и вреда от него было бы куда меньше.
К сожалению, маркетолог занимается активным влиянием на рынок, и вот это уже проблема. Именно эти люди заказывают спам-рассылки, заказывают написание кравлеров, различных ботов для всевозможных накруток и т.д.
И именно защита от всего этого — основная задача капчи. А «капча на неудачный пароль» — это какой-то экзотический случай, с которым пользователь будет сталкиваться максимум раз в полгода.amarao
08.02.2019 18:48Последний раз, когда я видел массовую рассылку, она предлагала сдать пароль от гугля. Это тоже маркетологи? Рассылка малвари? Брут-форс промо-кодов? Регистрация фейковых аккаунтов в социальных сетях с целью демонстрации любви к действующему перзиденту?
Это всё маркетологи? Я не понимаю вас.
amarao
08.02.2019 15:46Оптические иллюзии — это интересно, но их мало.
ClearAirTurbulence
08.02.2019 16:27+3Не так уж и мало, если порыться.
А вообще представил себе капчу «какого цвета это платье»… ну его.amarao
08.02.2019 17:07Для роботов мало. И я не про «какого цвета платье», я про однозначные. Например:
(выберите картинки, на которых что-то двигается)
force
08.02.2019 17:47+2Проблема с этими картинками, что таких картинок ограниченное количество, соответственно, боту просто надо их все выучить. А если мы научимся генерить подобные картинки массово, то у нас будут правила их генерации и какой-то паттерн результата. Боты опять же будут распознавать эти паттерны.
amarao
08.02.2019 18:53Именно с этого я и начал. Идея хорошая (потому что сейчас оптические иллюзии — это то что точно отличает человека от робота), но очень маленькая выборка.
… Кто-то пробовал тренировать нейронку по признаку оптической иллюзии?Victor_koly
08.02.2019 19:08Была подобная статья на Хабре:
habr.com/ru/post/427947
В последние годы машины научились распознавать объекты и лица на изображениях, а потом создавать похожие изображения. Легко представить, что система машинного зрения должна суметь распознавать иллюзии и создавать свои собственные.
Ну и написали 2 мужика короткую статью. Вышел некий «процесс создания иллюзии»:
Spaceoddity
08.02.2019 17:12Помню усложняли мы как-то капчу с нашим ведущим программистом. И он мне объяснял логику — нам не надо сделать капчу абсолютно нераспознаваемой для машины (и заодно увеличив трудность распознавания её человеком), нам надо лишь на несколько процентов повысить сложность распознавания капчи машиной — что в свою очередь на порядок повысит отсееваемость ботов.
ufm
08.02.2019 17:42+2По всей видимости я один не понимаю — зачем капча вобще нужна? Если вам нужна капча, что-бы отличить роботов от людей на своём ресурсе, значит вы что-то делаете кардинально неправильно.
rsashka
08.02.2019 18:00А капча нужна не для того, что бы отличать робота от пользователя.
Ведь под «роботами» понимаю скрипты для автоматизации определенных действий, например, рассылку спама в комментариях и формах обратной связи. В этом случае капча будет нужна для того, что бы приблизить стоимость выполнения действия скриптом к стоимости выполнения этого же действия человеком (превысить эту величину нельзя, т.к. будет проще нанять людей для распознавания капчи).
ufm
08.02.2019 18:12+1Повторюсь — если можно сделать «рассылку спама в комментариях и формах обратной связи» — значит что-то сделано кардинально неправильно. Ну хорошо, придумали неломаемую компьютером капчу, все начали ей пользоваться и что? Да, рассылка спама станет дороже, потому что это станут делать люди. Все кто пользовался рассылкой спама — просто станут платить больше. И?
ExplosiveZ
08.02.2019 18:25+3Ну и чего «кардинально неправильного» в обычном, скажем, phpBB форуме?
egigd
09.02.2019 04:52+1Почтовые сервисы крайне эффективно автоматически выявляют спам и удаляют его, а затем блокируют их рассыльщиков.
Добавляем тоже самое в форумы (для улучшения статистической выборки делаем какую-то общую для вех форумов базу спам-сообщений) — и нет проблем.
Конечно, какие-то отдельные спам-сообщения всё-таки пройдут, но их будет мизер.
rsashka
08.02.2019 18:33+2Можно сделать правильно, что бы формы отправлялись только авторизированными пользователя, с кармой больше 5, с предварительной модерацией и с электронной подписью заверенного сообщения.
Это будет кардинально правильный сайт, вот только там сообщений будет 0.
А значит не будет и обратной связи от настоящий пользователей.
Поэтому использование капчи, это всегда компромисс между удобством использования и назойливостью от внимания «роботов».
selivanov_pavel
08.02.2019 19:421. Защита от спама. Иногда нужно дать возможность написать комментарий или сделать заказ неавторизованному пользователю, потому что регистрация снизит конверсию на порядок. И при этом не хочется, чтобы конкуренты или хулиганы наплодили тысячи спам-коментов с неприличным контентом или тысячи фейковых заказов, в которых потонут настоящие.
2. Защита от DDOS. Всё, что выдаётся неавторизованному пользователю — кешируется. А всё, что кешировать нельзя и потребуется дёргать приложение(проверка пароля, например) — закрывается капчей. И боты долбят отдающие закешированные данные nginx/varnish/..., а не приложение и базу.Balek
08.02.2019 20:09Почему бы не направить усилия на распознавание зловреда вместо того, чтобы мучить людей решением ваших проблем? В статье много написано про выкрутасы с ИИ. Но распознавание спама выглядит куда более простой задачей для ИИ. И обойти защиту значительно сложнее, чем распознавать любую капчу, потому что текст должен быть рекламным. По-моему, это очередной пример, когда настоящую задачу подменяют какой-то технической мурой.
rsashka
08.02.2019 20:30Потому что «зловред» не придумывает тексты. Рекламные тексты создают такие же люди, просто автоматизируют их создание по определенному алгоритму. И решается задача не «распознать спамерский текст», а усложнить (читай сделать дороже), рассылку спама.
Ведь защита от ботов может потребоваться не в абсолютном смысле (иначе будут спамить не роботы, а реальные люди), а относительная, по сравнению с другими аналогичными ресурсами, например, конкурентов.
Если конкурентов заспамили, что реальных пользователей не видать, у а тебя хоть и бывает проскакивает зловред, но чуть-чуть, тогда твой ресурс выигрывает за счет притока реальных людей.
selivanov_pavel
08.02.2019 21:35+1Потому что прикрутить капчу чуть-чуть проще, чем создать сильный ИИ.
Balek
08.02.2019 21:42Я о том и говорю, что когда-то это было нормальным решением. Но если сейчас капча требует того же ИИ для её создания и доставляет настоящую боль пользователям, то нужно вернуться к изначальной задаче и подумать ещё раз. Для распознавания спама сильный ИИ не нужен. Задача явно не сложнее создания спама. Начнём с того, что у нас изначально есть очень хороший признак для классификации текстов — наличие URL'а. 80% результата уже достигнуто. Дальше уже тренируйте нейронные сети и прочее.
selivanov_pavel
08.02.2019 21:52+1Для владельцев сайтов капча — просто подключаемый сервис. Когда сделают ИИ, который можно будет так же подключать как сервис и который будет отсеивать спам-
ботов с той же эффективностью — все тут же на него перейдут.
Тренировать нейронные сети и так далее — явно не задача для владельца какого-нибудь форума или интернет-магазина.
> Задача явно не сложнее создания спама.
То-то в почтовых сервисах Гугла и Яндекса над этим работают целые отделы, и всё равно есть заметный процент промахов и ложных срабатываний. Если вы способны сделать ИИ для качественного отсеивания спама с той же лёгкостью, с какой любой минимально знакомый с программированием человек может сделать бота для его рассылки — вы сказочно обогатитесь.Balek
08.02.2019 22:04+1Для владельцев сайтов капча — просто подключаемый сервис.
Мы же обсуждаем разработку капчи, а не людей, которые подключают сторонний сервис.
То-то в почтовых сервисах Гугла и Яндекса над этим работают целые отделы
Всё-таки для почты эта задача мне кажется сложнее, чем для сайтов. Да и справляются фильтры сегодня весьма хорошо. И с капчой есть «заметный процент промахов и ложных срабатываний». Если точнее — капча справляется гораздо хуже.selivanov_pavel
08.02.2019 22:17В чём принципиальная разница между спамом в почту и на сайтах? Ну кроме того, что в почте спам мошеннический и коммерческий, а на сайтах ещё и хулиганский.
Balek
08.02.2019 22:33В отсутствии разрешённых роботов: почтовых рассылок, уведомлений и прочего. В меньшем разбросе контекста и вообще более узком диапазоне использования.
Mladolaborant
09.02.2019 04:49+1Исходя из моего скромного опыта, задачу защиты от всякой гадости в 80% случаев успешно решает банальный Spam Assassin, прикрученный ржавой колючей проволокой к вашей любимой форме. А оставшиеся 5% — любым скриптом для потрошения логов и бана по IP тех, кто эту форму абузит. И это я не говорю про такие классические решения как бан за попытку залезть в honeypot в форме, или тарпиттинг через тот же honeypot.
Учитывая отношение современной капчи к пользователю, особенно когда что-то надо вотпрямщас — её использование в явном виде воспринимается как личное оскорбление.
И боты долбят отдающие закешированные данные nginx/varnish/..., а не приложение и базу.
А пользователи уходят куда-нибудь в другое место…selivanov_pavel
09.02.2019 16:42Во-первых, сейчас за одним NAT IP кроме бота может сидеть куча добросовестных пользователей. И для некоторых видов сервисов важана доступность для всех пользователей.
Во-вторых, увидев timeout или 503/504, 100% пользователей уходят куда-нибудь в другое место. Разумеется, включать капчу надо только на время DDOS.
svboobnov
08.02.2019 20:07+1Капча нужна для повышения стоимости спама. В пределе нужна такая техника:
Роботам можно подложить «фальшивый сайт». То есть спамерский скрипт вывалит свой спам на площадку для роботов, скрипт, который контролирует работу роботов проверит наличие комментариев на «роботской» копии ресурса, заказик спама заплатит за размещение спама, а вот на «человеческой» копии ресурса спам не появится. То есть стоимость $1, эффекта — 0, и соотношение цена/качество = $1/0 = ?nafnaf21
10.02.2019 11:49Так, что бы роботам подложить «фальшивый сайт», нужно определить, что они роботы.Капча как бы для этого и применяется, что бы отделить людей от роботов.
svboobnov
08.02.2019 20:02Хм, у меня когда-то был QIP, и в приглашении «антиспама» был вопрос: «Докажите, что Вы не робот, и ответьте на вопрос: Чем едят суп?», при этом, в возможных ответах (с которыми сравнивает QIP) я указал «ложкой», «ложка», «ложкою», «ложечка», «ложечкой» и т.п… И вот: примерно 3/4 всех желающих со мной пообщаться этот простенький «антиспам» отсеивал. Многие из отсеянных «спамеров» были реальные люди, в том числе и мои коллеги, которые высказывали мне жалобы на «непроходимый» антиспам. И это обычный текстовый вопрос, предполагающий знакомство человека с супом, тарелкой и ложкой.
Кажется, боты стали умнее людей.Taciturn
08.02.2019 23:01У меня было
Чтобы я смог с вами поговорить ответьте, написав "nospam" (с кавычками).
, ни один робот не прошёл, из людей никто не жаловался.shm-vadim
09.02.2019 11:51Уже полгода наблюдаю по логам, как на моем сайте скрипт с разных ip-шников заполняет и отправляет регистрационную форму, а потом, без подтверждения адреса эл. почты, переходит на страницу авторизации безуспешно пытается по этим данным войти на сайт.
И лично меня не покидает устойчивое ощущение, что этот робот в свое время был настроен человеком, т.к. его действия, по сути, представляют собой мини-программу, адаптированную конкретно под мои авторизационные страницы/формы.
А в таком случае ваш метод вряд ли поможет.
vitaliy2
09.02.2019 17:21В Японии суп едят палочками, а жидкость супа пьют с посудины. Там даже говорят не «съесть суп», а «выпить суп» (??), сказать «съесть суп» нельзя. Во многих других странах также едят палочками (Вьетнам, думаю, Корея, Китай и т.?д.). Хотя ложкой тоже, вроде, иногда едят (по крайней мере в Японии).
BalinTomsk
08.02.2019 21:49эффект Манделы. Если нет, то это совпадение у нескольких людей воспоминаний, противоречащих реальной истории и нынешнему положению дел. Этакая массовая ложная память, ну или частичная подмена реальности. Примеров этого эффекта масса, в том числе и в старых советских фильмах
Уж на что я считал себя знатоком нашего кино, все фразы наизусть знаю, а прокололся в этом тесте. И не раз.
dubikvit.livejournal.com/735770.html
eugene_bb
08.02.2019 23:22Мне кажется решение проблемы — это создание специального, независимого сервиса по распознаванию роботов и людей. Заводишь аккаунт и он тебя сопровождает по ходу твоей работы в интернет, с течением времени строится «кредитный» рейтинг твоего аккаунта и сайты которым надо понять кто перед ним, запрашивают этот рейтинг (пользователь должен согласится с этим запросом).
Если аккаунт начал вести себя неадекватно, рейтинг существенно понижается. Сайт сам решает пользователей с каким рейтингом и временем жизни он согласен обслуживать и какие возможности предоставить. Например создание нового аккаунта может требовать большего рейтинга, чем логин в существующий и т.п.
При использовании рейтинга для «премиум» сайта, рейтинг сразу понижается на какую-то величину автоматически.
Есть две проблемы:
1. Как набрать первичный рейтинг.
2. Безопасность личных данных (сервис знает историю использования сайтов)
Первая проблема решается, например тем что за твой аккаунт должно поручится несколько других «verified»аккаунтов, двух-факторная верификация, большая залоговая сумма которая возвращается после достижения какого-то предела и т.п.
Для решения второй проблемы, можно создать независимую некоммерческую организацию, которая существует на средства участников программы. Гарантирует уничтожение данных старше N-месяцев и т.п. Плюс какой-нибудь монополист (например google analistics) уже знает гораздо больше.vitaliy2
09.02.2019 17:19Если у меня есть рейтинг, что мне мешает брутить чужие пароли? Рейтинг же не будет падать. А если будет, как понять, что сайт не обманывает? Ну сама система может конечно какие-то проверки делать, но она, к примеру, не может определить, является комментарий спамом или нет. Хотя логины определить можно. Но полностью универсальной её сделать тяжело.
Также проблема анонимности. Если я хочу зайти на сайт анонимно, я не буду пользоваться никакой системой, и рейтинга у меня никакого не будет, иначе моя личность сразу будет раскрыта. В итоге у меня нулевой рейтинг.
Kardy
09.02.2019 00:08Капча «следующего поколения» должна задействовать абстрактное или пространственное мышление. То чего пока не достает роботам. Например — пользователю показывается рисуночек случайной химеры (кентавр, грифон, утконосоавтомобиль) составленная из двух животных (или еще чего похлеще).
Пользователь должен выбрать из пяти рисунков реальных животных те из которых составлена его химера.
Пока вижу единственное слабое место — если исходных вариантов мало — компьютер может не решать загадку честно, а тупо запомнить все комбинации.redpax
09.02.2019 13:20-2Поздравляю вы придумали уже давно придуманый тест «Роршеха» и да его как раз не все люди способны пройти.
Jogger
09.02.2019 01:01+1такие капчи с культурной привязкой нацелены не только на роботов, но и на людей из других стран, решающих капчи за копейки.
Все почему-то не заметили эту фразу, а это имхо в статье самое главное. Капчи уже давно не пытаются различить ботов и людей. Они пытаются различить людей первого сорта и людей второго сорта. И это реально страшно.
Inpassor
09.02.2019 01:36Спасибо за статью, интересно!
Мне re-captcha ни разу не предлагала выбирать на каких-то картинках какие-то витрины, поэтому я никогда не понимал мемы на эту тему. Теперь хоть яснее стало :)
egigd
09.02.2019 05:01+1А зачем мы вообще пытаемся разделить людей и роботов?..
Давайте, может, будем разделять допустимые и недопустимые действия, независимо от того, человек их делает или робот?
Если робот зашёл на форум и в теме «Анекдоты у костра» раз в день постит случайный анекдот, а в теме «Котики» — случайное фото кота, то чего нам ему мешать?
А если человек пишет в этих же темах «курсовые для студентов, быстро и качественно, размещайте заказ на сайте» — он требует очереди из плюсомётаDGN
09.02.2019 09:20+1Цель работы форума «анекдоты» в том, чтоб показать людям рекламу. Если анекдоты пишут и читают боты, то сайт зазря жгет электричество и трафик.
Плюсомет оружие во первых дорогое (человеческий ресурс), а во вторых действует уже по факту поста, когда аудитория его уже прочитала. Использование же премодерации снижает конверсию.egigd
09.02.2019 21:22+1Если цель форума в показе рекламы — пусть боты его и читают, людям там делать нечего.
Реклама может быть на человеческом форуме, но лишь как средство обеспечения финансирования непосредственно цели работы форума, а не заменять собой эту цель.DGN
10.02.2019 14:01Это большой философский и этический вопрос. Каждая коммерческая компания выбирает свой оптимум на линейке, где с одной стороны «прибыль», а с другой «делать мир лучше».
redpax
09.02.2019 12:51Гифки нужно в капче проигрывать, где происходит какоето действие с очевидным эмоциональным окрасом, например «убийство» или «грусть» или «любовь», что-нибуть явное в плане эмоций для человека и совсем не ясное для машинного алгоритма.
Londoner
09.02.2019 13:17+4Кстати, а почему в каптче с кликанием на светофоры, пока они не перестануть появляться, новые картинки появляются не мгновенно, а с секундной задержкой? Ботам, я думаю, подождать не проблема, а вот людей это ожидание реально выбешивает, вряд ли я один такой. Гугл, прекрати нанимать идиотов в отдел каптчи!
mmmm1998
10.02.2019 11:49Наверное по той же причине, почему в большей части современных ОС при вводе неправильного пароля о его неправильности сообщается с задержкой, тоже секундной. И точно также, как можно автоматизировать подбор пароля (если этой задрежки не стоит) при помощи программируемого контроллера, имитирующего клавиатуру, можно, видимо, как-то упростить разгадывание капчи, вероятно, за счёт ускорение скорости разгадывания на порядок, или даже на два.
vitaliy2
09.02.2019 17:09+2Ненавижу каптчу гугл, поганые картинки приходится выбирать по 20 раз. Ввод одной каптчи может занять 10 минут. И каково будет Ваше удивление, когда она покажется снова. Чаще всего отказываюсь от сервисов, где есть эта каптча.
Также картинки появляются не сразу, а приходится ждать по 10 секунд, когда соизволит появиться картинка. А ведь за одно изображение таких появлений будет даже не одно, а несколько штук. А самих изображений тоже несколько.
Самое интересное, что поганая капчта иногда показывается просто при входе на какой-то сайт. Вас что, ддосят именно сейчас что ли? Никогда не поверю. Отдать страницу стоит 0.0000001 коп. Нафига автор тогда создавал сайт?ReFZitlBVEQjof59
10.02.2019 13:28Вам еще повезло. Год назад я удаленно пытался зарегистрироваться на рейс в одной украинской авиакомпании. Я не знаю какой интеллект у них придумал ставить каптчу на регистрацию на рейс, однако из всего процесса мне запомнилась именно каптча. По всей видимости у гугля иногда что-то с ней залипает пройти ее решительно невозможно. Я проходил каптчу в течении 6 часов. Чего я только не видел и не делал. И велосипеды, и машины, и перекрестки и магазины, гидранты, людей. На каком-то этапе я просто начал кликать рандомные картинки ибо просвета было не видно. После чего, каптча перестала вообще отображатся. Пришлось ехать в гости и проходить каптчу в гостях.
Darth_Biomech
10.02.2019 06:39Что особенно сильно бесит с гуглокапчей, это то что у меня статический айпишник. Казалось бы, пройди капчу пару раз и докажи свою лояльность. Но она появляется снова… И снова… И снова… А теперь с картинками… Сначала я думал что мне просто «повезло» и попался палёный ИП из подсети которую оптом «забанили в гугле» за ботоводство, но судя по комментариям к этой статье — капчу гугл заставляет вводить если не всех, то многих.
Victor_koly
10.02.2019 11:54Главное — чтобы не забанили всю подсеть. Совсем прикол. Работал сисадмином в офисе провайдера и в какой-то момент из существенной части офисной сети на поиск в Гугле стало выскакивать «Я не робот». Пробовал искать вирусы — ничего. Пробовали спрашивать у Гугла — ссылаются на «подзрительный трафик». Активность на сайт https://www.google.com снифить весьма сложно, а начальную идею:
1) разделением сети на 3 разных default gateway (себе легко 3 IP выделим под это) для отслеживания «кто останется в бане» — скажем в одну отвести 172.16, а в другую — 172.19;
2) разбан того IP, который был забанен.
Видимо так никто и не сделал.
ED-209
10.02.2019 11:49Капчу специально потихонечку усложняют, в надежде, что кто-нибудь и когда-нибудь воскликнет: -Господи, да сделайте уже идентификацию в браузере по лицу через веб-камеру! Сколько можно тыкать светофоры, задолбали…
На этом все и закончится.dfgwer
10.02.2019 12:04+1Будут показывать видео лица.
Капча будет мигать разными цветами и смотреть блики
Будут показывать рендер лица с реалтайме с учетом освещения
Капча будет просить смотреть прямо на камеру и продекламировать стих
Будут показывать рендер лица со всей мимикой и театральным синтезатором речи
…
RuCaptcha
10.02.2019 11:49Всем привет!
Я из компании, которая занимается распознаванием капчи.
В комментариях много вопросов и споров о том кто те люди, кому нужно распознавание капч.
Если публике интересно, то мы могли бы рассказать о своих клиентах, а то тут то маркетологов обвиняют, то самих владельцев сайтов. А на самом деле всё совсем не так.vassabi
10.02.2019 13:02а вы в духе местных традиций — напишите развернутый комментарий в виде отдельной заметки!
RuCaptcha
10.02.2019 21:42Постараюсь. Но тогда кратко, наверное, да?
Кто использует капча-сервисы?
1. Сервисы для автоматизации получения данных с гос.сайтов
Для России это сервисы по информации об авто и кредитные организации (почти все банки, к примеру, используют капча-сервисы для получения данных по ИНН), например. Для Украины — запись в польское посольство для оформления визы.
2. Перекупщики билетов
В основном американско-канадская тема. Там есть легальный рынок перепродажи билетов. Перекупщики билетов в момент открытия продажи скупают лучшие места за несколько минут. Смешно, что пару лет назад в США вышел закон, запрещающий использование автоматизированных программ для покупки билетов с целью последующей перепродажи и в день вступления в силу данного закона все перекупщики перестали пользоваться капча-сервисами.
3. Любители модной одежды\перекупщики одежды
Эти люди похожи на предыдущую группу.
supremenewyork, adidas и многие другие модные магазины одежды устраивают распродажи лимитированных коллекций и весь товар раскупается за считанные минуты, а потом продаётся по цене в 3-10 раз дороже на ebay.com
4. SEO-специалисты
Те, кто продвигают сайты в интернете, очень любят проверять успешность своей работы, парся выдачу поисковиков. Возможно эту группу можно частично отнести к маркетологам, но я бы не говорил так однозначно.
5. SMM менеджеры
Отложенный постинг, чиста групп от собачек, извещение своих подписчиков личным сообщением — всё это требует ввода капчи.
6. Сборщики криптовалюты
Есть множество сайтов, раздающих мизерные вознаграждения. Самый популярный, пожалуй, это freebitco.in. Общий принцип — за посещение страницы выдаётся маленькое вознаграждение. Владельцы сайтов откручивают рекламу на таких посетителях, платя посетителям 30-70% от того что платят рекламодатели.
7. Накрутчики рейтингов
В WoW ещё играют. Существуют сайты с рейтингами серверов WoW и других игр. Накрутка рейтинга на таких сайтов положительно влияет на онлайн игроков сервера.
7. Спамеры.
Да, они есть. Но после того, как поисковики перестали учитывать спамные ссылки (а иногда и банить сайты за такое), то спамеры почти перестали вести свою деятельность
8. Брутфорсеры.
К сожалению, есть и такие. Их реально очень мало. Не более 0,2%-0,5% от общего количества капч. Мы долго совещались между собой: а не запретить ли гадать через нас капчи от localbitcoins.com и других подобных сайтов. Не запретили, боимся что это породит возникновение конкурентов и отрицательно скажется на отношении пользователей к нам.
9. Слепые
Самая маленькая категория пользователей клиентов, но для нас весьма важная. В последнее время количество слепых, пользующихся интернетом, начало сильно расти. Это результат появления NVDA и разработок голосовых помощников на Iphone\Android. Слепые без проблем могут читать и комментировать Хабр, пользоваться сбербанком-онлайн и т.д. Но как только они встречают капчу, они не могут обойтись без посторонней помощи (если это только не рекапча с голосовой версией, но и там есть свои проблемы). На днях мы даже разработали телеграм-бота, которому можно прислать скриншот экрана, а он возвращает текст с капчи на этом экране t.me/BlindCaptchaBot
Написал без подготовки, возможно какие-то группы забыл.Victor_koly
11.02.2019 00:127. Спамеры.
Да, они есть.
Мне регулярно приходит на эту почту разного жанра спам.
Taciturn
10.02.2019 18:42Когда уже будут плагины для браузеров для автопрохождения капчи? Можно даже за деньги.
RuCaptcha
10.02.2019 21:53Есть для ReCaptcah V2:
addons.mozilla.org/ru/firefox/addon/recaptcha-solver
Для простых капч было расширение, но его сложно поддерживать, т.к. нужно каждый сайт добавлять руками и потом следить за изменениями, что требовало ежедневного участия разработчика.
Слепые используют вот это расширение для прохождения капчи в браузере nvda.ru/dopolnenie-captchasolver
Iwanowsky
10.02.2019 12:43Были времена, когда обходились без всяких капч (а еще раньше и все пароли передавались по сети в открытом виде, чем и пользовались первые хакеры). А когда начали появляться первые капчи, то они выводили из себя, т.к. мы тогда с наивностью думали, что зачем почем зря так усложнять регистрацию на сайтах, вход на сайты или скачивание файлов.
vassabi
turone
Гугл тоже эту фишку использует в своей капче при выборе картинок — я заметил, что если быстро все выбираешь то капчу можешь раз 10 проходить, а если делаешь паузы при выборе картинок, то с первого раза проходишь (но когда спешишь, то десятый круг вопринимаешь как издевательство).
xakep2011
О да, до боли знакомо. Самая большая боль, когда всё это происходит во встроенном браузере какого-нибудь приложения на телефоне с медленным интернетом.
Всегда интересна была начинка и реверс-инжиниринг современной рекапчи.
Myosotis
Спасибо за этот лайф-хак, теперь буду чуть медленнее отмечать сфетофоры.
dartraiden
Ещё помогает отмечать ровно три квадратика, когда капча вида "выберите все участки, где есть дорожные знаки". Если выбрать больше или меньше — выше вероятность не пройти.
Stepan555
Ошибки у всех разные. Кто-то 2+2 сложить не может. А как только выявится ошибка, которую делает каждый человек, так её сразу научатся делать и роботы.
VelikiyYaroslav
Есть ряд исследований показывающих, нейронные сети не склонны к распознаванию иллюзий (в частности перевод на хабре: habr.com/ru/post/427947). Не склонны в том плане — что у людей достаточно ограниченный спектр таких иллюзий их проявление в нашем восприятии сильно зависит от контекста при том, что у нас не снижаеться способность распознавать другие образы. А нейронные сити в основном подвержены иллюзиям только при сниженной эффективносит (и илююзии у них несколко другие).
Так что если давать в перемешку задания с иллюзиями и нормальные задания, то это может иметь смысл.
DrPass
Это сугубо инженерная задача. Просто надо кому-то потратить больше времени для подготовки тренировочной базы данных для нейросети, чем было в тех исследованиях.