Лабораторная работа №3. Простой вопрос или математическая задача
Скачать 436.56 Kb.
|
1. Классифицировать «кэпчи» различных ресурсов по всем возможным критериям и предоставить примеры. Классифицировать кэпчи можно, например, по интерактивности. В статье по адресу https://sales-generator.ru/blog/kapcha/ автор выделяет следующие виды кэпчи. Рассмотрим каждый и видом и попробуем их классифицировать по разным основаниям. Защитный код Кэпча в виде защитного кода – это нечетко видимые, перечеркнутые буквы или цифры. По степени сложности выделяют: очень простые (понятные однотонные буквы или цифры); простые (цветные символы без шума); средние (цветные символы с наложением линий и шума); высокие (символы с наклоном, явными линиями и шумами); очень высокие (символы с наклоном, сильным шумом и блоками). Простой вопрос или математическая задача Кэпчи в виде вопроса или задачи. Практически также различаются по степени сложности, как и кэпча в виде защитного кода. простые (цветные символы без шума); средние (цветные символы с наложением линий и шума); высокие (символы с наклоном, явными линиями и шумами); очень высокие (символы с наклоном, сильным шумом и блоками). Чекбокс Самый простой вид кэпчи – пользователю необходимо просто поставить галочку в специальном окошке. Графическая кэпча Пользователю необходимо найти и галочкой отметить нужные предметы на картинках. Кэпча в виде логической задачи Пользователю необходимо решить несложную логическую задачу. Распознавание личности Данная технология используется социальной сетью Facebook. Пользователю необходимо правильно выбрать фотографии своих друзей. Интерактивная кэпча Пользователю необходимо передвигать ползунок по линии влево или вправо. Таким образом, можно выделить различные типы классификации кэпчи. По степени интерактивности: высокая степень интерактивности; средняя степень интерактивности; низкая степень интерактивности. По использованию графического материала (картинки): с использованием графического материала; без использования графического материала. По необходимости решения задачи: необходимо решить задачу или пример; необходимо просто повторить представленное изображение. 2. Рассмотреть, как можно больше методов теста Тьюринга. Сравнение с эталоном Если изображения всех возможных символов (иными словами, шрифты) известны, то просто берем все символы всех шрифтов и ищем их на картинке. Если текст на картинку выведен стандартным способом, то его таким методом можно распознать. Чтобы противостоять такому распознаванию достаточно случайным образом сместить и растянуть каждый символ, однако я встречал сайты, где даже этого нет, а только наложен шум. Шум - это абсолютно бесполезная вещь в плане защиты. Для распознавания зашумленной картинки всего лишь нужно искать не точное совпадение, а наиболее точное, т. е. применять метод максимума правдоподобия. Существующие методы борьбы с шумами дают такой результат, что шумы мешают компьютерному распознаванию изображений не больше, чем человеческому. Шумы Если это просто точки в случайных местах или изменение цвета каждой точки на случайную величину, то для сравнения картинок нужно вычислить сумму квадратов разностей яркостей точек и найти символ, для которого она минимальна. На E-gold, например, используется более сложный «шум». Это концентрические окружности с толщиной линий, сравнимой с толщиной шрифта. Однако и такой шум можно исключить. Для этого нужно найти центр окружностей, определить все их точки и исключить их из сравнения при подборе символов описанным выше методом. Сдвиги, повороты и масштабирование Случайные сдвиги символов должны вынудить разработчика метода распознавания использовать двумерный поиск, а случайные повороты и масштабирования добавят еще по одной степени свободы, и того получается четырехмерный поиск для каждого символа, что должно продолжаться столько времени, что выгоднее нанять человека, который будет проходить тесты Тьюринга столько раз, сколько нужно. Размеры и углы поворота придется перебирать. При большом шуме можно и меньше, пропуская варианты, отличия которых от уже проверенных сравнимо с шумом. А вот количество перебираемых положений и размеров можно сократить, если найти или оценить границы каждого символа. Игра с цветами Иногда используются цветные символы, цветной фон и цветной шум. Это нисколько не увеличивает защищенность, поскольку для прохождения теста нужно всего лишь оперировать не числами, а трехмерными векторами, и сложность алгоритма распознавания увеличивается всего в трое. Цвета нужны только для красоты, для того чтобы картинка вписалась в дизайн сайта. Нейронные сети Можно абсолютно не париться над методами искажения изображений, подбирая против каждого из них метод противодействия, а создать нейронную сеть и обучить ее на основе имеющегося набора картинок. Процессу обучения придется уделить некоторое время, зато результат того стоит. Если изображения формируются из одного и того же конечного набора фрагментов по каким-либо правилам, то этот метод работать будет. Распознавание звуков Технологии распознавания речи тоже не стоят на месте. Причем, если голосовое сообщение генерируется из заранее записанных сэмплов, то задача его разбора решается теми же методами, что и задача разбора изображений. Даже проще: изображения двумерные, а звук одномерный. Построение тестов Ввиду того, что существуют описанные выше методы, использовать такие примитивные вещи, как шумы, сдвиги и масштабирования по отдельности не имеет смысла, так как задача будет слишком проста. Необходима хотя бы комбинация этих методов или методы, против которых специальных средств нет. Деформации На некоторых сайтах изображения деформированы, как если бы они отражались от волн на воде, или наложены в качестве текстуры на трехмерные объекты. Эти преобразования не попадает ни в один из рассмотренных классов и потребует от хакера дополнительной работы. Преобразование должно иметь большое число параметров, чтобы перебор всех их значений был невозможен. Однако нейронные сети все равно справятся с этой задачей. 3. Изучите технологию установки CAPTCHA на сайт На данный момент является самым распространённым видом капчи, через которую ежедневно проходят 700 миллионов юзеров. Это продукт Google, который включает в себя ещё и дополнительные функции помимо базовой борьбы с ботами: оцифровывает тексты книг, распознаёт локации, предметы и названия улиц для Google.Maps через «руки» пользователей. Благодаря такому негласному «мировому сотрудничеству» гостей интернета, в день гугл умудряется оцифровывать порядка 100 млн слов, что эквивалентно 2,5 млн книг в год. Для того, стобы добавить капчу от гугла на сайт необходимо: 1. Понадобятся две ссылки: reCAPTCHA в гугле и, непосредственно, сам проект. 2. Для начала нужен серийный ключ от Google, ради которого переходим по первой ссылке и регистрируемся, после чего привязываем сайт. 3. Далее заходим в HTML код, где ищем , перед которым размещаем небольшой java-скрипт: 4. Находим интересующую форму и вписываем код следующего содержания: Очевидно, что на месте нулей должен располагаться серийный ключ, полученный после прохождения регистрации и привязки. В конечном итоге, в форме «комментария» должно получиться нечто подобное: |