Що таке «капча»?
Так само, як усі, «капча», «капча»,
Я по Мережі ходжу, ходжу,
І в неї, «капча», «капча»,
Файлів собі прошу ...
(Пісенька про CAPTCHA)
Користувачі Інтернету часто стикаються з «капчу».
Наприклад, ви реєструєте свій сайт в Google. Крім URL і короткого опису вашого сайту, вам потрібно - перед завершенням реєстрації - в спеціальне текстове поле ввести цифри, зображені на малюнку.
Або, наприклад, ви намагаєтеся завантажити потрібний вам файл з файлообмінного сервера. Для отримання посилання на файл, як правило, потрібно ввести код, зображений на картинці, і натиснути кнопку «Далі».
Що таке CAPTCHA?
CAPTCHA (Від англ. Completely Automated Public Turing test to tell Computers and Humans Apart - повністю автоматизований публічний тест Тьюринга для розрізнення комп'ютерів і людей) - комп'ютерний тест, використовуваний для того, щоб визначити, ким є користувач системи: людиною або комп'ютером. Термін з'явився в 2000 р
Основна ідея тесту: запропонувати користувачу таку задачу, яку легко вирішує людина, але яку неможливо (або вкрай важко) вирішити комп'ютеру. Як правило, це завдання на розпізнавання зорових образів.
CAPTCHA найчастіше використовується для запобігання використання інтернет-сервісів ботами, наприклад, для запобігання автоматичної відправки повідомлень, автоматичної реєстрації, автоматичного викачування файлів, автоматичних масових розсилок (спаму) ...
Що цікаво: хоча CAPTCHA призначена для «відсіювання» комп'ютерів, тест проводить комп'ютер (точніше, програма, яка порівнює відповідь з правильним).
Варіанти CAPTCHA
У найбільш поширеному варіанті CAPTCHA від користувача потрібно ввести символи, зображені на пропонованому малюнку в спотвореному вигляді (з додаванням «шуму» або напівпрозорості).
Рідше застосовуються CAPTCHA, засновані на розпізнаванні мови (як альтернатива для людей з порушеннями зору).
Можуть також застосовуватися інші погано алгоритмізуються, наприклад: дізнатися, що знаходиться на картинці, відзначити всі картинки з тваринами або відповісти на питання, пов'язане зі знаннями або менталітетом людей (наприклад, «Скільки ніг у курки?» Або «Як звуть російського президента? »).
Уразливості захисту CAPTCHA
При недостатньої кваліфікації веб-програміста ботнет може пройти тест CAPTCHA, без розпізнавання зображених символів і картинок. У цьому випадку бот або підміняє ідентифікатор сесії, або з якої-небудь інформації, що міститься на веб-сторінці, визначає, що зображено на картинці.
Якщо кількість варіантів відповідей невелика, ботнет може спробувати вгадати відповідь. Боти використовують кілька паралельно виконуються потоків, завдяки чому продуктивність бота залежить тільки від смуги пропускання, відданої йому в розпорядження.
Якщо користувач має впізнати картинку або відповісти на питання, ботнет може спробувати якимось чином зібрати базу даних всіх наявних картинок (питань).
Існують програми, що розпізнають конкретні реалізації CAPTCHA, наприклад, PWNtcha. Крім того, існує можливість підключати модулі програм розпізнавання тексту (наприклад, FineReader) в програми для розпізнавання «картинок» CAPTCHA.
CAPTCHA розрізняють по ступеню захисту: «сильна» CAPTCHA і «слабка» CAPTCHA. У числі «слабостей» - чіткий фіксований шрифт, фіксоване положення символів, відсутність спотворень, відділення символів від фону з використанням колірного ключа або розмиття по Гауса, легке відділення символів один від одного і т.д.
Іноді буває, що «сильна» CAPTCHA виявляється труднораспознаваемой і для людини. Іноді зустрічається CAPTCHA, легко прочитується комп'ютером і нечитабельним людиною (наприклад, CAPTCHA з сильно розмитою або неконтрастною картинкою).
Одним з методів обходу CAPTCHA є сервіс Captcha Exchange Server (запущений в березні 2007 р). Цей сервіс спрямований на «обхід» картинок CAPTCHA, що використовуються файлообмінними серверами. Принцип роботи сервісу заснований на системі балів, які користувач може заробити, розпізнаючи - у вільний час - картинки для інших користувачів. Набрані бали користувач може витратити пізніше, запустивши програму автоматичного викачування файлів з файлообмінного сервера (при цьому поточні «картинки» будуть розпізнані іншими користувачами сервісу). Таким чином, користувач може оптимізувати витрати свого часу (і грошей), витрачаючи набрані бали у зручний час.
Незважаючи на уразливості, CAPTCHA-захист дуже популярна в Інтернеті.
Ну, а якщо ми проходимо CAPTCHA, значить, ми не роботи! ..]