2012-02-20 9 views
2

Мне очень любопытно узнать, как работают методы обнаружения вредоносных программ (например, методы безопасного Google). Гуглинг не помогает моему делу. Я нашел что-то вроде cuckoobox, которые делают такие вещи.Python скрипт для обнаружения вредоносного веб-сайта или процедуры обнаружения вредоносного ПО на веб-сайте?

Как именно работает обнаружение вредоносного ПО на веб-сайте? Какой может быть алгоритм для этого? Какой алгоритм использует Google для безопасного хранения и т. Д.?

Доступен любой скрипт python?

ответ

5

Это интересная проблема, которая лучше всего с помощью нескольких решений.

Google, вероятно, ведет список вредоносных доменов, посетив домен - попытался ли он служить вам .exe без взаимодействия с пользователем? Является ли содержание, похоже, тарабарщиной? И другие такие кванторы. - Отметить как злонамеренный. Посетите другой домен, перенаправил ли он вас в список, который злонамерен? Отметьте как ненадежный. Затем вы можете применить аналог машинного обучения/регрессии для повышения уверенности и уменьшения ложных срабатываний. Вы можете пойти дальше и иметь легкое сканирование для некоторых доменов и глубокое сканирование для других доменов (поскольку глубокое сканирование может использовать что-то вроде кукушки, которая требует больше ресурсов). Является ли доменное имя разумным словом и соответствует ли он информации whois? Или это бред?

Другой подход заключается в том, чтобы сохранить список известных эксплойтов (их имена и подписи кода) для уязвимостей в веб-браузерах и обычных плагинах, а затем посмотреть, пытается ли веб-сайт служить вам, о котором вы знаете. Чтобы сгенерировать список известных эксплойтов, просто сканируйте CVE или другую открытую базу данных и извлеките эксплойты, сделайте хэш из них и т. Д. ... так что это не поймает все дерьмо, но большую часть этого.

+0

Возможно, они также используют антивирусное программное обеспечение. –

+0

@NiklasB. Неа! Антивирусы превышают рейтинги. – Ufoguy

+0

@Ufoguy: Да, особенно для обнаружения вредоносных программ. –

2

По сути, браузеры просто запрашивают огромную базу данных Google известных сайтов вредоносных программ для рассматриваемого URL/домена.

Как Google создает эту базу данных по-другому. Они, вероятно, работают вместе с различными исследователями и антивирусными продуктами для обнаружения уже известных угроз. Кроме того, у них, вероятно, есть автоматическое обнаружение «подозрительных» URL-адресов или содержимого документа (триггеры Flash, PDF, Java или браузера, шелл-код, ROP-цепочки, скрипты с использованием кучи) .... В конце концов, они уже должны смотреть на все содержимое для индексации, поэтому они могут легко выполнять относительно сложный анализ. Они также знают URL-адреса, на которые указывают спам и фишинг-письма через их почтовую службу. То, что они, вероятно, не делают, - это анализ ручного вредоносного ПО с использованием песочницы и т. Д., Это работа охранных/антивирусных компаний.

Итак, в целом, это довольно сложная задача. И нет, нет единого скрипта Python, который выполняет эту работу (хотя, если вы действительно заинтересованы в этом, вы обнаружите, что на самом деле существует множество небольших вспомогательных скриптов, а также более сложные структуры, написанные на динамических языках, таких как Ruby или Python). Некоторые проекты, которые вы могли бы смотреть на то, чтобы начать (и это на самом деле являются достаточно общими, чтобы быть очень полезным для других задач, а):

  • Immunity Debugger/Visual Dux: Для обратной инженерии вредоносных программ.
  • VirtualBox: для запуска вредоносного ПО в изолированной среде.
  • Metasm: Для манипуляций с монтажом
  • Wireshark: Для просмотра сетевого трафика, вызванного вредоносным ПО.
  • ...
+0

Фактически я знаю, как использовать Google Safe Browsing Api. Я хотел знать, как они реализуют методы обнаружения вредоносных программ в целом. :) – Tauquir

+0

@Tauquir: Обновлено. –