Веб-сервіси для перевірки сайтів на віруси

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



В цей момент виникає задача пошуку джерела проблеми, тобто діагностики сайту на проблеми безпеки. При грамотному підході діагностика складається з двох етапів:
  1. перевірки файлів і бази даних на хостингу на наявність серверних шкідливих скриптів і інжектов,
  2. перевірки сторінок сайту на вірусний код, приховані редиректи та інші проблеми, які, часом, неможливо виявити статичним сканером файлів.
Припустимо, ви вже перевірили файли на хостингу спеціалізованими сканерами і почистили акаунт хостингу від «шкідників» (або нічого підозрілого на ньому не знайшлося), але пошуковик все одно лається на вірусний код або на сайті, як і раніше активний мобільний редирект. Що робити в цьому випадку? На допомогу приходять веб-сканери, які виконують динамічний та статичний аналіз сторінок сайту на шкідливий код.

Трохи теорії
Статичний аналіз сторінок – це пошук шкідливих вставок (переважно javascript), спам-посилань та спам-контенту, фішингових сторінок та інших статичних елементів перевіряється на сторінці і у файлах, що підключаються. Виявлення подібних фрагментів виконується на основі бази сигнатур або деякого набору регулярних виразів. Якщо шкідливий код постійно присутній на сторінці або в завантажуються файли, а також відомий веб-сканера (тобто він додано в базу сигнатур), то веб-сканер його виявить. Але так буває не завжди. Наприклад, шкідливий код може завантажуватися з іншого ресурсу або виконувати якісь несанкціоновані дії за певних умов:
  • після завершення завантаження сторінки в неї додається javascript, який виконує drive-by download атаку
  • користувач йде зі сторінки, в цей момент підвантажується код і відкриває popunder з контентом «для дорослих»
  • відвідувач сайту знаходиться на сторінці кілька секунд і тільки після цього його перенаправляють на передплату за смс
  • і т. п.
Кілька таких прикладів:







Якщо заздалегідь невідомо, який код провокує дані несанкціоновані дії, то виявити його статичним аналізом надзвичайно складно. На щастя, є аналіз динамічний або іноді його ще називають «поведінковим». Якщо веб-сканер розумний, він буде не просто аналізувати вихідний код сторінки або файлів, але ще й намагатися здійснювати якісь операції, емулюючи дії реального відвідувача. Після кожної дії чи при певних умовах робот сканера аналізує зміни і накопичує дані для підсумкового звіту: завантажує сторінку в декількох браузерах (причому, не просто з різних User-Agent ів, а з різними значеннями об'єкта navigator в javascript, різними document.referer тощо), прискорює внутрішній таймер, відловлює редиректи на зовнішні ресурси, відстежує те, що передається в eval(), document.write() і т. п. Просунутий веб-сканер завжди буде перевіряти код сторінки і об'єкти на неї як до початку виконання всіх скриптів (відразу після завантаження сторінки), так і через деякий час, оскільки сучасні «шкідливий» динамічно додають або приховують об'єкти javascript, а також виконують фонові завантаження всередині динамічних кадрів. Наприклад, код зараженого віджета може через 3 секунди або руху миші завантажити скрипт, який вставить на сторінку javascript з перенаправленням на завантаження небезпечного .apk файлу. Природно, ніякої статичний аналіз (крім як заздалегідь знати, що віджет небезпечний) або пошук файлів таке не виявить.

А тепер, з розумінням вимог до діагностики сайту та веб-сканерів, спробуємо знайти ті, які дійсно ефективні. На жаль, те що представлено на першій сторінці пошуковика по запиту «перевірити сайт на віруси онлайн» відразу нікуди не годиться. Це або «вироби», які в кращому випадку можуть виконати статичний аналіз сторінки (наприклад, знайти IFRAME, який може бути і не небезпечний), або агрегатори сторонніх API, перевіряючі URL сайту по базі Google Safe Browsing API, Yandex Safe Browing API або VirusTotal API.

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

У підсумку, після перевірки двох десятків відомих сервісів, я б хотів зупинитися на представлених нижче.

Веб-сканер QUTTERA



Виконує пошук шкідливого коду на сторінках, використовуючи бессигнатурный аналіз. Тобто має якоїсь евристикою і виконує динамічний аналіз сторінок, що дозволяє виявляти 0-day загрози. Із приємних особливостей варто відзначити можливість перевірки відразу декількох сторінок сайту, оскільки перевіряти по одній не завжди ефективно.
Добре виявляє загрози, пов'язані з завантаженням або размерещением троянів, завирусованных виконуваних файлів. Орієнтований на західні сайти з їх характерними зараженнями, але часто виручає і при перевірці заражених сайтів рунета. Оскільки сервіс безкоштовний, є черга на обробку завдань, тому доведеться трохи почекати.

Веб-сканер ReScan.pro



Виконує динамічний та статичний аналіз сайту. Поведінковим аналізом детектятся приховані редиректи, статичний аналіз шукає вірусні фрагменти на сторінках і в завантажуються файли, а базою чорного списку визначаються ресурси, завантажувані з заражених доменів. Ходить за внутрішніми посиланнями, тому крім основного URL перевіряє ще кілька суміжних сторінок сайту. Приємним доповненням є перевірка сайту на блек-листами Яндекс, Google і VirusTotal. Орієнтований в основному на шкідливий, які мешкають в рунеті. Оскільки сервіс безкоштовний, ліміт на перевірку – 3 запиту з одного IP на добу.

Веб-сканер Sucuri



Шукає вірусний код по сигнатурах і з допомогою евристики. Надсилає запити до декількох URL на сайті з різними User Agent / Referer. Виявляє спам-посилання, дорвей-сторінки, небезпечні скрипти. Крім того, уміє перевіряти актуальні версії CMS і веб-сервера. Обмежень на кількість перевірок не помічено. З невеликого мінуса виявилося, що список перевірених сайтів з результатами індексується пошуковими системами, тобто можна подивитися, який сайт і чим був заражений (зараз у пошуковому індексі близько 90 000 сторінок), тим не менш ефективності сканера це не применшує.

Redleg's File Viewer



Ще один західний веб-сканер сайтів. Може трохи відлякувати своїм аскетичним інтерфейсом з 90-х, але, тим не менш, він дозволяє виконати повноцінний статичний аналіз сайту і підключених на сторінці файлів. При скануванні користувач може задати параметри User Agent, referer, параметри перевірки сторінки. У налаштуваннях є перевірка сторінки в кеші Google. Лімітів на перевірку сайтів не виявлено.

VirusTotal



Ну і, нарешті, знайомий багатьом VirusTotal. Він не є в повній мірі веб-сканером, але його також рекомендується використовувати для діагностики, так як він є агрегатором декількох десятків антивірусів і антивірусних сервісів.

***

Згадані веб-сканери можна додати в закладки, щоб при необхідності провести діагностику відразу ефективними інструментами, і не витрачати час на платні або неефективні сервіси.
Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.