Драбина challenge: proof-of-work, CAPTCHA і Web Bot Auth

Чому бан — це тупий інструмент

Бінарне рішення «пропустити або заблокувати» має вбудовану ваду: воно змушує вас бути впевненими на 100%, а на межі впевненості не буває. Заблокуєте занадто рано — відсічете живих користувачів за несправжнім збігом. Пропустите занадто пізно — впустите автоматизовану атаку. Будь-який фіксований поріг бану одночасно і надто суворий для одних, і надто м’який для інших.

Драбина challenge вирішує це інакше. Замість одного рішення вона ставить клієнту послідовність перевірок, кожна з яких дешева для людини й дорога для автомата. Ви більше не мусите бути впевненими наперед — ви даєте сумнівному клієнту довести, хто він, і сама поведінка розкриває, бот це чи людина.

Три сходинки, від найлегшої до найсильнішої

1. Proof-of-work — невидимий податок на автоматизацію

Перша сходинка нічого не питає у користувача. Клієнтський браузер тихо виконує невелику обчислювальну задачу, перш ніж запит буде прийнято. Для однієї людини це частка секунди й жодного дискомфорту. Але атака живе з масштабу — тисячі чи мільйони запитів. Помножте крихітну обчислювальну ціну на цей масштаб, і економіка атаки ламається: те, що було майже безкоштовним, стає дорогим. Proof-of-work непомітно відсіює масову дешеву автоматизацію, ще не турбуючи людину видимою перевіркою.

2. CAPTCHA — коли треба явно спитати «ти людина?»

Якщо клієнт лишається підозрілим після першої сходинки, надходить видима перевірка — CAPTCHA. Так, вона трохи заважає, тому й стоїть не першою, а другою: більшість трафіку відсіюється раніше, і до CAPTCHA доходять лише ті, хто реально викликає сумнів. Людина розв’язує її за секунди; автоматизованому клієнту вона обходиться дорого й ненадійно.

3. Web Bot Auth — для ботів, яких ви хочете пропустити

Верхня сходинка розв’язує протилежну задачу: не «зупинити бота», а впевнено впустити правильного. Через Web Bot Auth легітимний автоматизований клієнт — перевірений пошуковий краулер, партнерська інтеграція — доводить свою особистість криптографічним підписом запиту, який неможливо підробити без приватного ключа. Це надійніше за будь-який User-Agent чи перевірку IP і дозволяє пропускати корисних ботів, не відчиняючи двері всім підряд. Саме на цю сходинку спирається контроль AI-краулерів.

Як драбина вбудована в загальний потік

Драбина — не окремий продукт, а реакція на сигнали з решти конвеєра. На неї виводить перевищення обмеження частоти, підозрілий рахунок за правилами OWASP чи поведінка, схожа на скрапінг. Замість того щоб такий трафік одразу банити, система піднімає його на потрібну сходинку. Кожен крок і його результат фіксуються в незмінному аудит-логу з прив’язкою до тенанта — ви бачите не лише «заблоковано», а й чому і на якій сходинці клієнт спіткнувся.

Політика драбини змінюється без передеплою застосунку й розлітається на всі вузли за менш ніж секунду — ви можете підняти чи знизити суворість під конкретну загрозу в реальному часі.

Чого ми не обіцяємо

Драбина не є непробивною — досить рішучий і добре фінансований нападник здатен пройти окремі сходинки. Її сенс не в абсолютній стіні, а в економіці: зробити автоматизоване зловживання дорожчим і повільнішим, майже не заважаючи живим людям і впевнено пропускаючи перевірених ботів. Додаткові витрати на ці перевірки тримаються в межах проєктного бюджету затримки — як ми його вимірюємо, розписано в методології.

Хочете зупиняти зловживання, не караючи справжніх відвідувачів баном? Напишіть нам.

Побачте це на власному домені

Ми підключаємо перших партнерів вручну. Назвіть свій домен — решту зробимо ми.

Подати заявку на ранній доступ