Tumgik
blog9sblog · 3 years
Text
Альтернативные способы защиты
Альтернативные способы защиты от ботов можно разделить на две части: те, которые требуют от посетителя каких-то действий, и те, которые этого не требуют. Эффективность этих способов зависит как от сложности создания алгоритма распознавания, так и от распространенности того или иного решения, ведь связываться со взломом даже примитивно, но необычно защищенного сайта средней популярности, скорее всего, не станут.
Способы, требующие действий от пользователя
Существует множество идей CAPTCHA-защиты, отличающихся от классического варианта "введите код, изображенный на картинке". Их можно также разделить на две основные части: задачи, обращающиеся к "рефлексам" пользователя (на узнавание-распознавание), и задачи, обращающиеся к его логике (вопросы, задачи). Первые приятнее для пользователя, т. к. не заставляют его думать.
Аудио-CAPTCHA
Аудио-CAPTCHA предлагает пользователю прослушать некую фразу и затем ввести ее. Обычно фраза состоит из проговариваемых цифр, как правило, с варьируемой тональностью, паузами и фоновыми шумами. Преимущество у аудио-CAPTCHA в том, что на такой вопрос сможет ответить пользователь с нарушениями зрения. Недостатки – посетитель должен иметь на компьютере оборудование для воспроизведения звука; распознавание речи – не настолько сложная задача, поэтому степень защищенности такого решения, как правило, невысока. К тому же реализация звуковых искажений довольно требовательна к квалификации программиста и ресурсам сервера. Это ведет к тому, что аудио-CAPTCHA применяется довольно редко и только как альтернатива для слепых пользователей.
Математические примеры
Некоторым может показаться, что вопрос "сколько будет 23+75" может быть хорошим решением, т. к. "боту надо будет еще догадаться, что числа следует не только распознать, но и сложить". При здравом же рассуждении видно, что какую-то защиту это решение может обеспечить только в силу своей новизны и малой распространенности. В самом деле, что-что, а складывать и вычитать числа компьютер умеет гораздо лучше человека. А вот для самого человека проведение в уме математических действий (особенно если цифр в числах не 1−2, а больше) будет утомительным и сложным. Сумму же одно-двузначных чисел можно угадать и перебором со сравнительно небольшим количеством попыток. Таким образом, в математических примерах как способе защиты от ботов смысла нет никакого, наличествует даже ухудшение защищенности.
Текстовые задачи
Человеку задается вопрос или загадка, на который он должен дать ответ. Ответ нужно либо выбрать из списка, либо ввести в поле. Посколько при выборе из списка вероятность дать правильный ответ наугад довольно велика (1/n, где n – количество вариантов), обычно пользователя заставляют ответить на ряд вопросов, ибо вероятность угадать правильные ответы на несколько вопросов будет произведением вероятностей ответить на каждый из них. Т. е., к примеру, 1/5 * 1/6 * 1/4 = 1/120.
Преимущества: проверка доступна для людей с нарушениями зрения, а также для тех, кто пользуются клиентами, не отображающими изображения.
Недостатки:
Пользователь должен быть хорошо знаком с языком, на котором задаются вопросы (а зачастую и с реалиями и менталитетом коренных носителей языка).
Если используются готовые вопросы, то их количество, очевидно, конечно, так что злоумышленник может составить базу вопросов с ответами.
Можно пытаться комбинировать текстовую задачу с задачей на распознавание, к примеру "введите первую, третью и четвертую буквы из предложенной надписи", но это экстенсивный путь, ведущий к, скорее всего, кажущемуся увеличению сложности прохождения теста ботом.
Распознавание предметов
Здесь пользователя просят узнать изображенные на картинке предметы (людей, животных). Ему либо показывают предмет и просят ввести его название (или выбрать его из списка), либо, наоборот, пишут название, а из нескольких предложенных предметов просят выбрать запрошенный (запрошенные).
Детали реализации могут варьироваться для уменьшения вероятности угадать наобум, указывать требуемые предметы могут попросить в определенном порядке и т.д.
Реализация, где именно картинки являются ответами на вопрос ("укажите всех кошек") в противоположность "что изображено на картинке" представляется более перспективной, т. к. меньше напрягает пользователя, не требует раздумывать над синонимами при вводе ответа вручную и не требует проводить утомительный поиск среди текстовых вариантов ответа.
Преимущества: пользователю может быть легче отличить кошку от собаки, чем различить, к примеру, сильно искаженные и зашумленные буквы "N" и "H". Боту же, напротив, буквы, как более простые образы, различить будет проще.
Недостатки:
Пользователю должны быть знакомы объекты и их названия.
База картинок должна быть довольно значительной, чтобы было невозможно распознавание через сравнение с эталонами. Либо нужно будет озаботиться хорошими алгоритмами искажения или даже генерации картинок.
На чувство прекрасного
Человек отличается не только от компьютера, но даже от животных тем, что обладает "чувством прекрасного" и родственным ему "чувством справедливости". На этой основе можно попытаться строить тест подтверждения "человечности". К примеру, это может быть список изображений людей, среди которых надо выбрать самых красивых. Либо это будут вопросы, подразумевающие нравственный выбор. Либо музыкальные фразы, гармонические или нет (если, конечно, "поверка алгеброй гармонии" невозможна).
Преимуществом может быть то, что эти решения будут базироваться на "одушевленности", более высоком начале в человеке, которое, возможно, компьютер вообще никогда не будет способен достичь.
Недостатками может быть субъективность оценки "прекрасности", сложность генерации заданий (к примеру, если мы генерируем изображения красивых лиц в соответствии с некоторыми соотношениями размеров и расположения глаз-носа-ушей и пр., то почему эти соотношения не использовать боту-распознавателю?)
1 note · View note