Шкідливі боти становлять значну загрозу в Інтернеті, щодня виявляючи мільярди шкідливих активностей, що призводить до перебоїв у бізнесі, порушень безпеки, шахрайства з рекламою та багато іншого. Ця стаття розглядає цілі, яких намагаються досягти ці боти, і підкреслює різні методи моніторингу, виявлення та запобігання їх шкідливій діяльності.
Як зловмисники використовують ботів
Боти можуть бути використані для різних шкідливих цілей. Ось деякі з поширених способів використання ботів:
- Атаки типу Distributed Denial-of-Service (DDoS):
Боти об'єднуються в ботмережі, мережі заражених пристроїв, щоб перевантажити сервери цілі масивним обсягом трафіку з кількох джерел, що робить сервер повільним або повністю недоступним для законних користувачів. - Шахрайство з рекламою:
Автоматизовані сценарії або програми, що імітують людські взаємодії з онлайн-рекламою для генерації фальшивих показів, кліків або конверсій. Це вводить в оману рекламодавців і збільшує витрати на рекламу, підриваючи ефективність цифрових маркетингових кампаній. - Заповнення облікових даних (Credential Stuffing):
Зловмисники використовують ботів для автоматизації спроб входу на онлайн-платформи, експлуатуючи викрадені пари ім'я користувача та пароля. Ця техніка ефективна проти користувачів, які використовують однакові паролі на різних сайтах. - Веб-скрапінг:
Боти витягують чутливі або власницькі дані з вебсайтів, такі як ціни на продукти, авторське право або інтелектуальну власність, без дозволу, що може призвести до їх продажу або зловживання. - Маніпулювання соціальними мережами:
Боти заповнюють платформи фальшивими акаунтами, щоб поширювати дезінформацію, збільшувати кількість розділених контентів або підвищувати лайки і репости на конкретних публікаціях. - Купівля та перепродаж за вищими цінами:
Боти купують великі кількості обмежених товарів або квитків на заходи, а потім перепродають їх за завищеними цінами. - Фішинг і розповсюдження шкідливих програм:
Боти використовуються для масового розповсюдження фішингових електронних листів і шкідливих програм, обманюючи користувачів, щоб вони розкривали чутливу інформацію або компрометували свої пристрої. - Отруєння SEO (оптимізація пошукових систем):
Боти маніпулюють рейтингами пошукових систем, заповнюючи сайти нерелевантними зворотними посиланнями, що відводить трафік на шкідливі або шахрайські сайти.
Виявлення та захист від шкідливих ботів
Для ефективної боротьби з шкідливою діяльністю ботів організації повинні впроваджувати різноманітні методи захисту. Комплексний підхід, що включає кілька аспектів тестування, підвищує загальну безпеку, що дозволяє краще виявляти, моніторити і запобігати діяльності ботів на вебсайтах і API. Ось деякі методи тестування та техніки запобігання, які можна використовувати для виявлення і захисту від ботів:
- Аналіз поведінки:
Ця техніка спостерігає за поведінкою користувачів, що взаємодіють з додатком, щоб виявити ненормальні шаблони і аномалії, такі як швидкі спроби входу, високочастотні кліки, рухи миші, затримки під час введення тексту або незвичні патерни навігації. - Аналіз запитів:
Виявлення патернів в HTTP-запитах для виявлення аномалій, які можуть вказувати на поведінку бота. Боти можуть надсилати HTTP-заголовки, що відрізняються від тих, що надсилаються браузерами (наприклад, відсутність заголовківReferrer
,User-Agent
,Accept-Language
). - Фільтрація репутації IP та обмеження швидкості:
Підтримка та оновлення чорних списків IP-адрес, блокуючи запити з відомих шкідливих IP-адрес або регіонів. Додатково, обмеження кількості запитів, які можна зробити з однієї IP-адреси або сеансу користувача протягом певного проміжку часу, а також впровадження багатофакторної аутентифікації (MFA) як частини входу для запобігання атакам грубою силою і скрапінгу. - CAPTCHAs:
Використання CAPTCHA, які легко вирішуються людьми, але складні для ботів. Сучасні рішення включають невидимі CAPTCHA, які мінімізують незручності для користувачів. - Пальмування пристроїв (Device Fingerprinting):
Створення унікального "пальця" пристрою, що отримує доступ до додатку, допомагає виявити повторювану активність ботів. Щоб створити такий "палець", можна виконати кілька дій.
Наприклад:
a. Збирати специфічні дані браузера, такі як роздільна здатність екрану, тип браузера та налаштування, наявність властивостей навігатора та плагінів, дозволи на різні функції браузера (наприклад, геолокація, камера, мікрофон) і User-Agent.
b. Використовувати HTML5 елемент
для генерування унікального графічного виведення на основі того, як браузер обробляє рендеринг. 6. Виявлення безголових браузерів: Безголові браузери або інструменти автоматизації (наприклад, Sequentum), що часто використовуються ботами, можна виявити за допомогою специфічних атрибутів або відсутніх функцій:
a. Перевірити властивості, як-отnavigator.plugins
абоnavigator.webdriver
, оскільки безголові браузери часто залишають їх порожніми або з підозрілими значеннями.
b. Перевірити здатність встановлювати та видаляти елементи в localStorage і sessionStorage шляхом динамічного додавання та видалення елементів.
c. Перевірити на невідповідності в поведінці веб-API, такі як відсутність рендерингу WebGL або неправильний аудіоконтекст. 7. JavaScript виклики: Боти часто мають проблеми з виконанням складних JavaScript викликів, оскільки багато з них працюють без JavaScript двигуна. Примушує клієнтів виконувати обфускований JavaScript, який боти можуть не змогти обробити. Також можна вимагати, щоб клієнти вирішили JavaScript задачу для отримання токена для подальших запитів. Крім того, можна оцінити здатність клієнта обробляти динамічну ін'єкцію JavaScript, програмно додаючи та видаляючи.
Перекладено з: Malicious Bots Over the Internet: What They Want and How to Fight Back