Найти все светофоры на картинках, распознать «поплывший» текст и просто нажать курсором на поле для галочки – зачем мы выполняем все эти действия при входе на некоторые сайты, рассказывает математик Южного федерального университета.
Роботу ничего нельзя?
На многих сайтах в интернете есть своеобразный «фейс-контроль» посетителей – всплывающее окно, в котором нужно подтвердить, что вы не робот.
Что же собственно плохого в том, что робот посетит, например, онлайн картинную галерею или послушает музыку в интернете, рассказала доцент кафедры алгебры и дискретной математики Института математики, механики и компьютерных наук им. И.И. Воровича ЮФУ Надежда Могилевская.
– Бот-системы могут перегружать сайты, делая их недоступными для живых людей. Так, в начале нулевых, когда в интернете были популярны сайты-форумы, боты могли автоматически зарегистрировать десятки тысяч фейков и заспамить весь форум рекламой. На сайтах государственных организаций боты и нейросети нередко пытаются собирать личные данные пользователей, на маркетплейсах – скупают товары в первые секунды распродаж, на видео- и аудиохостингах – накручивают прослушивания и просмотры. Так что роботы в интернете отнюдь не безвредны, и с ними нужно бороться, – объяснила Надежда Могилевская.
Первое средство борьбы с ботами придумали в 2000 году в американском Университете Карнеги-Меллона. Скрипт, который требовал при доступе к сайту ввести символы с трудноразличимой картинки, получил название «капча».
Слово CAPTCHA – это аббревиатура от Completely Automated Public Turing Test To Tell Computers And Humans Apart, что в дословном переводе значит «Полностью автоматизированный публичный тест Тьюринга для различения компьютеров и людей».
– При современном уровне развития машинного обучения программисту ничего не стоит написать код для обхода практически любой капчи. Тем не менее это ведь не единственная задача, с которой должен справиться бот. Представьте, вы разработали программу, которая ищет самые дешёвые товары на разных маркетплейсах, кладёт их в корзину в момент минимальной цены, чтобы вы могли, например, перепродать их. Значит, основной алгоритм вашего кода занимается именно этим, а, чтобы эта же бот-система ещё и обходила капчи, то ей нужны дополнительные надстройки. А если на разных маркетплейсах ещё и разные виды капчи: где-то текст, где-то картинка – то роботу становится совсем сложно, – рассказала Надежда Могилевская.
Гонка вооружений
Доцент ЮФУ добавила, что разработкой и анализом эффективности капчей в разных странах занимаются целые институты, IT-компании вкладывают в это огромные денежные средства, а учёные пишут о капчах научные статьи.
– Интереснее всего в этой сфере наблюдать, сколько времени проходит между появлением новой капчи и появлением первых ботов, способных её обходить. Когда появились первые капчи, требующие распознания текста, написанного от руки, или первые капчи на идентификацию изображения, это обеспечивало спокойствие их создателям на годы, сейчас же речь о неделях и даже днях, – поделилась Надежда Могилевская.
Разработчики много экспериментировали с тем, какой может быть капча. Текстовые задания требовали от пользователя распознать слово в искаженном виде, буквы, расположенные слишком близко или соединенные случайными пересекающимися линиями, выписать единственное английское слово среди двенадцати на разных языках, использующих латинский алфавит и так далее.
Капчи с картинками просили пользователя кликнуть на вершину горы, колесо автомобиля, поворачивать картинку, пока она не будет правильной вертикальной ориентации, перемещать ползунок до тех пор, пока две части пазла не совпадут.
Одним из этапов эволюции защитных систем было создание капчи, ориентированной на культурный опыт пользователя. Например, классифицировать изображения людей по выражению лица, полу и этнической принадлежности, искать совпадения фотографии и рисунка животного.
Некоторое время роботам были сложны математические капчи, но они быстро выучили знаки сложения, вычитания, умножения и деления и теперь преодолевают без труда. Остановить компьютер может длинное сложное уравнение, но оно остановит и большинство пользователей-людей, поэтому такие капчи есть только на сайтах для математиков.
– Отдельными направлениями являются видео- и аудиокапчи. Но они непопулярны. Видео слишком много весят, а аудио людям обычно неудобно слушать, особенно в общественном месте, – подытожила Надежда Могилевская.
Неочевидная польза
В 2007 году в компании Google задумались, что миллионы людей по всему миру расшифровывают для прохождения капчей тарабарщину, которую нужно генерировать, а между тем, есть терабайты не распознанных компьютером слов – в ещё неоцифрованных бумажных книгах. Так появилась reCAPTCHA.
– ReCAPTCHA показывала пользователю два слова. Одно реальное, из книги, но сама система не знала, какое, а правильного ответа она ждала от нас. Второе сгенерированное, для проверки. Если робот ошибся со вторым, то и к его ответу по первому слову веры нет. Каждый день пользователи reCAPTCHA помогали распознать сотню миллионов слов, — подчеркнула Надежда Могилевская.
Креатив Google на этом не остановился, они поняли, что помимо книжных страниц у них есть огромный объём фотографий местности из Google Maps. Новая версия reCAPTCHA предлагала пользователям среди девяти картинок найти те, где есть дорожные знаки, светофоры, велосипеды, мотоциклы и так далее. ReCAPTCHA стала технологией обучения искусственного интеллекта на ответах реальных людей. Мы столько раз отвечали на вопрос нейросети, где на фото светофор, что она начала «понимать», что такое светофор.
– Если вам попадалась новая картинка, на которой капча пока сама понятия не имеет, где пожарный гидрант, то вы могли проскочить на сайт, выбрав любые фрагменты, но если эта картинка уже давно тестируется на людях и тысячи человек уже ответили, что пожарный гидрант в верхнем правом углу, то и вам нужно ответить, как большинство, иначе капча решит, что вы робот. Таким образом, на первом месте у reCAPTCHA обучение ИИ, на втором – борьба с ботами, – объяснила Надежда Могилевская.
Капчи будущего
Самое современное поколение капчей, которое будет развиваться и в будущем – это игровые капчи, в которых нужно завершить игру в крестики-нолики, разделить объекты на съедобное-несъедобное или пройти лабиринт. Причем инструкции даются не в тексте, а в символах или становятся понятными по контексту самой игры. Люди могут понять логику головоломки интуитивно, а робот, лишённый чётких инструкций, окажется в тупике.
– Представьте капчу, на которой кролику нужно дать морковку, а собаке косточку. Мало того, что для обхода такой головоломки, боту нужно распознать по силуэту, что это морковь, а не ракета, косточка, а не гантель, так ещё и иметь базу данных, какое животное чем питается. А у живых людей с таким заданием справится годовалый ребенок, – добавила Надежда Могилевская.
На смартфоне настроить игровой процесс ещё проще – капча может считывать поворот и движение экрана и попросить вас покрутить устройством или сделать с ним несколько шагов.
Пока же игровые капчи и капчи, чувствительные к движению мобильных устройств, только внедряются, самыми распространенными и по-прежнему надёжными остаются капчи, основанные на поведении человека. Они, как и 15 лет назад, просят пользователя ввести текст или кликнуть на картинку, но следят не только за правильностью ответа, но и за движением курсора.
– Робот либо вовсе не сможет отметить все картинки с собаками, либо сможет мгновенно, он точно не будет думать, водить мышью туда-сюда. Если нейросеть обучена собирать пазлы, она делает это по кратчайшей траектории, и это её выдаёт. Этим пользуются и невидимые капчи: например, вы покупаете билеты и вводите свои ФИО – вы делаете это медленно, и капча, которая следит за вами всё это время, даже не будет давать вам дополнительное задание, вы уже повели себя как человек. А вот робот введет ваше ФИО мгновенно, и когда он нажмёт «купить билет», капча его выкинет с сайта, – рассказала Надежда Могилевская.
Порой, чтобы проверка засчитала наше поведение человеческим, нужно и вовсе ничего не делать. В чём, например, сложность, просто поставить галочку в графе «Я не робот»? Нам это легко, а роботу и подавно. На самом деле в этот момент человек не видит на станице браузера ничего, кроме графы для галочки, а для робота капча приготовила некие задания такого же цвета, как остальной сайт. Программа программу видит издалека, и бот предпринимает ненужные действия, например, ставит галочку в более крупную графу «Я не робот», которую человек никогда бы не увидел.