Продовжуємо боротися з роботами. Візьмемо спам-бот на мушку і стрельнемо пару раз.
Заглиблюємося в проблему
Все б добре, але спамери не дурні, хоча і поважати їх за це ми не будемо. Але і вони можуть робити помилки і просто не встигати щось зробити. Одне радує - противник гідний. Винахідливий і кмітливий. Дуже ціную це в людях.
Отже, є прості і елегантні способи обійти капчу:
уразливості захисту
При недостатній кваліфікації веб-програміста бот може пройти CAPTCHA, що не розпізнаючи зображених символів. В цьому випадку бот або підміняє ідентифікатор сесії, або з якої-небудь інформації, що міститься на сторінці, визначає, які символи зображені на картинці.
вгадування
Якщо кількість варіантів відповідей невелике, комп'ютер або ботнет може спробувати вгадати відповідь. Наприклад, якщо завдання - серед 10 картинок відзначити тварин, виходить всього 210 = 1024 варіанти відповіді. Значить, в середньому один з 1024 запитів пройде CAPTCHA. Тобто, навіть при продуктивності 1 запит в секунду (реальна цифра, наприклад, для ADSL) можна виробляти 3,5 успішних запиту на годину. Боти використовують кілька паралельно виконуються потоків, завдяки чому продуктивність бота залежить тільки від смуги пропускання, відданої йому в розпорядження.
Автоматизоване розпізнавання
Існують програми, що розпізнають конкретні реалізації CAPTCHA, наприклад, PWNtcha. Крім того, існує можливість підключати модулі з програм розпізнавання тексту загального призначення (наприклад, Fine Reader) в програми сторонніх розробників для розпізнавання картинок CAPTCHA.
По відношенню до автоматизованого розпізнавання існують поняття «слабка CAPTCHA» і «міцна CAPTCHA». У числі «слабостей» - фіксований шрифт, фіксоване положення символів, відсутність спотворень, відділення символів від фону з використанням колірного ключа або розмиття по Гауса, легке відділення символів один від одного і т. Д. Втім, іноді буває, що міцна CAPTCHA виявляється труднораспознаваемой і для людини. Зрідка зустрічається CAPTCHA, легко прочитується комп'ютером і з великими труднощами - людиною (наприклад, з неконтрастною картинкою).
Якщо користувач має впізнати картинку або відповісти на питання, можна зібрати базу даних всіх наявних картинок / питань.
ручне розпізнавання
Незважаючи на уразливості, це не означає, що будь-яка CAPTCHA-захист апріорі безглузда. Тут спостерігається одвічний принцип змагання зброї і захисту (снаряда і броні).
Ну що? Впечаплілісь. Це загальновідома інформація, а значить навряд чи стане для нас серйозною зброєю.
варіанти реалізації
Зв'язка Captcha + CAPTCHA Pack дасть нам такі види капчи:
- ASCII art CAPTCHA
- CSS CAPTCHA
- Foo CAPTCHA
- Image CAPTCHA
- Lost character CAPTCHA
- Math CAPTCHA
- Phrase CAPTCHA
- Random CAPTCHA type
- Captcha Riddler
- Text CAPTCHA
- Word list CAPTCHA
Скріншоти прикладені до статті - див. Нижче.
Навіщо це потрібно. Чим більш рідкісний алгоритм - тим менша ймовірність, що його зламають. Якщо все сайти на друпал використовуватимуть один варіант захисту, то має сенс вкласти і гроші, і час для його злому, тому що в підсумку спамер отримає доступ до всіх сайтів на друпал! Хороша нагорода.
Варіанти обходу захисту
Крім тих, які перераховані вище знайшов ще кілька корисних для вивчення статей:
Рекомендації з безпеки
Як легко переконатися, що способів обійти перевірку, хоч відбавляй. Тому цим ми і займемося. Ось деякі рекомендації:
Бій не закінчено. Очікувати, що буде рішення на всі випадки життя не потрібно. Інтернет змінюється, нові технології з'являються, потужність серверів росте і тому потрібно весь час тримати руку на пульсі. Який захист вибрати - залежить від конкретних умов і завдань. А мета цієї статті - огляд і легке поглиблення в тему (ми ж ще в коді НЕ копирсалися.).
Цитата:
Якщо все сайти на друпал використовуватимуть один варіант захисту, то має сенс вкласти і гроші, і час для його злому, тому що в підсумку спамер отримає доступ до всіх сайтів на друпал! Хороша нагорода.
Добустім більшість буде використовувати капчу на основі зображень, але кожен же може вибрати для неї свій набір символів і свій шрифт (а шрифти можуть дуже сильно відрізнятися по зображенню) - в результаті до сайтів всерівно потрібен індивідуальний підхід, хоча це один варіант захисту
Нове на форумі
Вміст сайту публікується на умовах CreativeCommons Attribution-ShareAlike 3.0 або більш пізньої версії
Програмні коди в тексті статей - на умовах GNU GPL v2 або більш пізньої версії.
Drupal - торгівельна марка Дріса Байтаерта