Re: Создание поведенческого блокиратора
От: 11molniev  
Дата: 31.07.11 13:06
Оценка: 3 (1)
Здравствуйте, qweas, Вы писали:

Q>Привет) В данный момент у меня стоит задача написания антивирусного блокиратора. Целевая система — Windows XP. Мне не нужно создавать эмуляторы, песочницы, прибегать к сигнатурному анализу.

Q>В основе лежит поведенческий блокиратор всех фунциклирующих процессов. От этого момента задача делится на 2:
Q>1) регистрация действия процесса
Q>2) анализ поведения
Q>Поиск по п.1 привел к необходимости перехвата вызовов API путем загрузки dll в удаленный поток целевого процесса. В общем, частично задача решена, только что в SYSTEM не могу пока подгружать…и жесткие тормоза и т.п.))) Т.е. в общем случае это – что-то наподобе filemon,regmon, API Monitor.
Q>Поиск по п.2 привел к фэйлу. Сама идея как бы и понятна и непонятна. Я не нашел ни 1 методического описания построения цепочек подозрительных действий и т.д. . Только что на некоторых сайтах есть обобщенные описания действий. Кроме того, существует 1000 и 1 способ сделать 1 и тоже.
Q>Вопросы:
Q>1) Насчет п2. Имеет ли смысл разрабатывать эту тему? Че и как делать – не очень понятно. Хотелось бы развернутого ответа)
Q>2) Если п1==true, правильно ли выбран метод слежения? Я не использую хуки, так как они не позволяют перехватить взаимодействия с файлами.
Q>Скорее всего, я что-то упустил, но все же жду от вас понимания, сочувствия, комментариев по пунктам, вопросам. Заранее СПС.

1. А чё не понятно? Тысяча и один способ как зделать. Обобщите статистику вызываемых процессоом API, Вычлените потенциально опасные действия (типа установка службы, запись в сситемный каталог, установка атрибута скрытый файл), транслируйте первое во второе. Каждый раз как процесс совершил очередное потенциально опасное действие, проверейте, чего ещё опасного делал — ну и принимайте решения. Некоторые выставляют потенциально опасным действиям балы — если их число превысило определенный порог (и число балов и порог — величины имперические), то принимаеться решение — вредоносное по. Другие орентируються на цепочки действий (допустим если процесс пишет файл autorun.inf и ставит ему скрытые атрибуты; или пытаеться переписать системный файл; или устанавливает себя как службу).
2. А вам для чего? Если как серьёзный продукт, то — fail. "п1==" false. Единственно коректный способ написать серьёзный поведенческий блокиратор — это написать драйвер и инфраструктуру к нему. Но есть сильные подозрения, что такая задача Вам будет непосильна. Если в качестве там диплома/курсовика/развлечения — то нормально и так сойдёт. Я в том смысле, что если обратиться к теории — то ваш перехватьчик можно обойти и не одним способом.

Вы упустили теоритическую базу. Стоило сначала познакомиться с теорией как готовяться поведенческие анализаторы (как они устроены). Поставить в виртуалке пару штук и посмотреть за их работой, может написать пару приложений и оценить их реакцию на различные действия.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.