Сартсна - це
Спотворена рядок «smwm»
CAPTCHA найчастіше використовується при необхідності запобігти використанню інтернет-сервісів ботами. зокрема, для запобігання автоматичних відправок повідомлень, реєстрації, скачування файлів, масових розсилок (див. спам) і т. п.
варіанти реалізації
- У найбільш поширеному варіанті CAPTCHA від користувача потрібно ввести символи, як правило, зображені на пропонованому йому малюнку в спотвореному вигляді, іноді з додаванням шуму або напівпрозорої.
- Рідше застосовуються CAPTCHA, засновані на розпізнаванні мови (в основному - як альтернатива для людей з порушеннями зору).
- Можуть також застосовуватися інші погано алгоритмізуються, наприклад: дізнатися, що знаходиться на картинці, відзначити всі картинки з кішками або відповісти на питання, пов'язане зі знаннями або менталітетом людей (наприклад, «висить груша, не можна з'їсти»).
- Зустрічаються CAPTCHA, де пропонується ввести відповідь на просте арифметичне дію.
методи протидії
уразливості захисту
Приклад CAPTCHA з вразливою захистом
Припустимо, картинка з цифрами «1234» викликається кодом
Замість того, щоб проходити CAPTCHA, бот зчитує URL і вводить відповідь 1234.
При недостатній кваліфікації веб-програміста бот може пройти CAPTCHA, що не розпізнаючи зображених символів. Є три способи це зробити.
- Повторне використання ідентифікаторів сесії. У цьому випадку людина вручну проходить CAPTCHA. Ідентифікатор сесії і відповідь на CAPTCHA передаються боту, і той фабрикує велику кількість запитів з цим ідентифікатором (а значить, і з тим же відповіддю на CAPTCHA). В ідеалі ідентифікатор сесії повинен бути одноразовим і обмеженим по терміну дії.
- За будь-якої інформації, що міститься на сторінці, відновити зображені на картинці символи.
- Через особливості генератора псевдовипадкових чисел може видаватися невелике обмежене число картинок, для яких можна створити базу даних. Якщо користувач має впізнати картинку або відповісти на питання, картинки / питання, природно, готуються адміністратором - а значить, для них теж можна зібрати базу.
вгадування
Якщо кількість варіантів відповідей невелике, комп'ютер або ботнет може спробувати вгадати відповідь. Наприклад, якщо завдання - серед 10 картинок відзначити тварин, виходить всього 2 10 = 1024 варіанти відповіді. Значить, в середньому один з 1024 запитів пройде CAPTCHA. Тобто, навіть при продуктивності 1 запит в секунду (реальна цифра, наприклад, для
Автоматизоване розпізнавання
Дуже слабка CAPTCHA (на прикладі
До верхнього зображенню застосовується відсічення за кольором (все, що темніше деякого порога, стає чорним, інше біле). Визначаються межі символів, і кожен з них порівнюється з базою символів. Для розбору такої CAPTCHA не потрібен навіть OCR. оскільки в ній є відразу декілька вразливостей:- Легке відділення символів від фону за допомогою колірного ключа.
- Легке відділення символів один від одного.
- Фіксований і неспотворений шрифт.
Після відсічення на буквах утворюється випадковий шаблон, тому немає стовідсоткової гарантії, що всі символи будуть впізнані (в PWNtcha рейтинг цієї CAPTCH'і - 99%). Але залишився один відсоток абсолютно не важливий. У новій лінійці форуму phpBB (3.x.x) за замовчуванням використовується вдосконалена CAPTCHA з використанням бібліотеки PWNtcha. Крім того, існує можливість підключати модулі з програм розпізнавання тексту загального призначення (наприклад, FineReader. OmniPage) в програми сторонніх розробників для розпізнавання картинок CAPTCHA.
По відношенню до автоматизованого розпізнавання існують поняття «слабка CAPTCHA» і «міцна CAPTCHA». У числі «слабостей» - фіксований шрифт, фіксоване положення символів, відсутність спотворень, відділення символів від фону з використанням колірного ключа або розмиття по Гауса, легке відділення символів один від одного і т. Д. Втім, іноді буває, що міцна CAPTCHA виявляється труднораспознаваемой і для людини. Зрідка зустрічається CAPTCHA, легко прочитується комп'ютером і з великими труднощами - людиною (наприклад, з неконтрастною картинкою).
Навіть якщо бот проходить CAPTCHA один раз з 100, цього вистачає, щоб посилати 430 повідомлень на добу (передбачається, що продуктивність бота - 1 запит в 2 секунди, що приблизно відповідає неоптимізованими алгоритму, запущеного у фоновому режимі на ПК середньої потужності. Але частіше такі боти встановлюються на серверах. у яких продуктивність в сотні разів вище, ніж у ПК рядових користувачів).
ручне розпізнавання
Незважаючи на уразливості, це не означає, що будь-яка CAPTCHA-захист апріорі безглузда. Тут спостерігається відомих принцип змагання зброї і захисту (снаряда і броні). Набагато гірше, якщо дана захист не використовується.
OCR слово, яке є одним з безлічі перекручених фрагментів сканованих книг на додаток до слова, згенеровані комп'ютером. Цей сервіс враховує прийоми використання і можливості програм оцифровки тексту книг. Для надійності одне і те ж слово пропонується кільком користувачам різних сайтів. Коли різні користувачі однаково відповіли на CAPTCHA-запит, передбачається, що вони ввели правильне слово.