информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
За кого нас держат?Страшный баг в WindowsСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
 Умер Никлаус Вирт 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / programming
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
[Win32] Написание антивирусного монитора под WinXP/2000 24.11.06 17:15  
Автор: santa Статус: Незарегистрированный пользователь
<"чистая" ссылка>
Доброго времени суток!

Получил задачу на курсовой проект разработать антивирусный монитор под Windows 2000/XP. Кое-какую информацию удалось нарыть в И-нете, кое до чего сам додумался, но чувствую, что не хватает совета опытного человека.
Сам антивирусный монитор планирую реализовать в виде драйвера уровня ядра, который перехватывал бы WinAPI’шную функцию ntCreateFile (в названии могу ошибаться, но теоретически эта функция вызывается при каждой попытке открыть/запустить файл), и для открываемых *.ехе-файлов осуществлял поиск вирусов по сигнатурам (база на несколько вирусов – ведь не на продажу же пишем))). Если найдены признаки вируса, то доступ к этому ехе-шнику блокируется.

Теперь собственно вопросы, по которым я хотел бы услышать мнение знающих людей:
1. По какому еще алгоритму можно попробовать реализовать антивирусный монитор?
2. На самом ли деле функция ntCreateFile вызывается каждый раз при открытии файла?
3. Что есть сигнатуры и как с ними работать? Желательно на примере (конкретная сигнатура, ее структура в БД для антивиря, зависимость алгоритма поиска от структуры сигнатуры и т.д.), т.к. общее определение мне понятно.
4. Где можно достать БД по сигнатурам для моих экспериментов.

Буду очень признателен за любую информацию, ссылки, советы, куски кода или алгоритмы по смежным темам.
[Win32] Согласен с NKritsky 27.11.06 15:04  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> Сам антивирусный монитор планирую реализовать в виде
> драйвера уровня ядра, который перехватывал бы WinAPI’шную
> функцию ntCreateFile (в названии могу ошибаться, но

> 1. По какому еще алгоритму можно попробовать
> реализовать антивирусный монитор?

В IFSDK/src/filesys есть два проекта filespy и sfilter, которые можно использовать в качестве скелета для разработки своих фильтров.

> 2. На самом ли деле функция ntCreateFile вызывается
> каждый раз при открытии файла?

Нет. Есть еще NtOpenFile

> 3. Что есть сигнатуры и как с ними работать?
> Желательно на примере (конкретная сигнатура, ее структура в
> БД для антивиря, зависимость алгоритма поиска от структуры
> сигнатуры и т.д.), т.к. общее определение мне понятно.
> 4. Где можно достать БД по сигнатурам для моих
> экспериментов.

Да хоть бы из ClamAV/ClamWin, но надо почитать лицензии
Ряд мыслей: 24.11.06 17:41  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
Ряд мыслей:

1. проверять надо не только .exe если ты плаируешь отлов макровирусов.
2. Вместо перехвата ntCreateFile более кошерно наверное писать драйвер фильтра который встраивается в цепочку IFS драйверов и отлавливает IRP_MJ_CREATE вызовы.
3. http://www.google.com/search?q=opensource+antivirus&hl=en&sourceid=gd&rls=GGLD,GGLD:2006-37,GGLD:en
а) поспрашивать там на форумах
б) взять (обговорив лицензионные вопросы с разработчиками!!!) базу сигнатур и библиотеку работы с ней.
4. посмотреть также на Vx сайты. Там частенько обсуждаются антивирусы. Из тех что я знаю - Земский Фершал очень интересно пишет. Может тебе ещё насоветуюут.

в общем так

> Доброго времени суток!
>
> Получил задачу на курсовой проект разработать антивирусный
> монитор под Windows 2000/XP. Кое-какую информацию удалось
> нарыть в И-нете, кое до чего сам додумался, но чувствую,
> что не хватает совета опытного человека.
> Сам антивирусный монитор планирую реализовать в виде
> драйвера уровня ядра, который перехватывал бы WinAPI’шную
> функцию ntCreateFile (в названии могу ошибаться, но
> теоретически эта функция вызывается при каждой попытке
> открыть/запустить файл), и для открываемых *.ехе-файлов
> осуществлял поиск вирусов по сигнатурам (база на несколько
> вирусов – ведь не на продажу же пишем))). Если найдены
> признаки вируса, то доступ к этому ехе-шнику блокируется.
>
> Теперь собственно вопросы, по которым я хотел бы услышать
> мнение знающих людей:
> 1. По какому еще алгоритму можно попробовать
> реализовать антивирусный монитор?
> 2. На самом ли деле функция ntCreateFile вызывается
> каждый раз при открытии файла?
> 3. Что есть сигнатуры и как с ними работать?
> Желательно на примере (конкретная сигнатура, ее структура в
> БД для антивиря, зависимость алгоритма поиска от структуры
> сигнатуры и т.д.), т.к. общее определение мне понятно.
> 4. Где можно достать БД по сигнатурам для моих
> экспериментов.
>
> Буду очень признателен за любую информацию, ссылки, советы,
> куски кода или алгоритмы по смежным темам.
Немножко уточню задачу: я собираюсь написать лишь каркас,... 24.11.06 18:24  
Автор: santa Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Ряд мыслей:
>
> 1. проверять надо не только .exe если ты плаируешь отлов
> макровирусов.
> 2. Вместо перехвата ntCreateFile более кошерно наверное
> писать драйвер фильтра который встраивается в цепочку IFS
> драйверов и отлавливает IRP_MJ_CREATE вызовы.
> 3.
> http://www.google.com/search?q=opensource+antivirus&hl=
> en&sourceid=gd&rls=GGLD,GGLD:2006-37,GGLD:en
> а) поспрашивать там на форумах
> б) взять (обговорив лицензионные вопросы с
> разработчиками!!!) базу сигнатур и библиотеку работы с ней.
> 4. посмотреть также на Vx сайты. Там частенько обсуждаются
> антивирусы. Из тех что я знаю - Земский Фершал очень
> интересно пишет. Может тебе ещё насоветуюут.
>

Немножко уточню задачу: я собираюсь написать лишь каркас, такой антивирус-минимус))), от которого можно потом будет отталкиваться, а с каким расширением файлы проверять - это не критично. Конечно же для тех же док-файлов алгоритм поиска будет немножко другой и т.д. и т.п.... Важен сам принцип функционирования монитора.
Пока буду экспериментировать с ntCeateFile (с этим хоть что-то понятно). И я не вижу явных "+" для твоего способа. Чем "покошерней" будет IFS и иже с ними? Объясни нубу плз.

Спасибо за ссылочки и за наводку, в какую сторону рыть. Будем грызть гранит науки по-немножку))
Вкратце: Patching fundamentally violates the... 24.11.06 21:14  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка>
> Важен сам
> принцип функционирования монитора.
> Пока буду экспериментировать с ntCeateFile (с этим хоть
> что-то понятно). И я не вижу явных "+" для твоего способа.
> Чем "покошерней" будет IFS и иже с ними? Объясни нубу плз.
>

Вкратце: <kernel> Patching fundamentally violates the integrity of the Windows kernel and is undocumented, unsupported and has always been discouraged by Microsoft.

далее:
Alternatives to Kernel Patching
Clearly, customers demand effective security solutions, and they can be developed without relying on kernel patching techniques. Some of the alternatives to kernel patching are:

<...skipped>
The file system mini filter model allows software to participate in file system activities, which can be used by Anti-Virus software.
<skipped...>

Особенно если ты пишешь не для real-life, а в качестве курсовой работы, "правильность" очень важна. Немножко коряво сказал, но надеюсь понятно :)
Скажу за себя. Я не очень много смотрел на эту тему, но IMHO механизм хуканья ntCreateFile только кажется проще чем fs filter driver. На самом деле он требует более тонкого понимания работы системы и более продуманного подхода, для того чтобы не столкнуться с другими аппликухами которые ковыряют ядро.
Все это конечно правильно... 24.11.06 23:47  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
но что еще делать если малвары патчат все вплоть до IRP обработчиков в драйверах NTFS И FAT32 ?
А если какую то малварь пустили в ядро то можно уже и не трепыхаться 27.11.06 14:59  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка>
> но что еще делать если малвары патчат все вплоть до IRP
> обработчиков в драйверах NTFS И FAT32 ?

Находясь в одном кольце защиты одна программа завсегда может нейтрализовать другую, если ей известно как эта другая работает. Причем второй может быть как антивирус так и вирус.
Советую почитать Криса Касперски. Не путать с Жекой... 25.11.06 13:38  
Автор: Vedrus <Serokhvostov Anton> Статус: Member
<"чистая" ссылка>
Советую почитать Криса Касперски. Не путать с Жекой Касперским (автором AVP)! Чего стоят только названия книг и статей...:
Техника отладки программ без исходных текстов
Записки исследователя компьютерных вирусов
SEH на службе контрреволюции
Ментальная отладка и дизассемблирование
Жестяные и кровельные работы :)

Вот его FTP, где можно найти большенство его книг и статей:
IP: 83.239.33.46:21, логин cracklab или wasm, пароль не требуется,
примерное расписание работы сервера:
с 15:00 до 05:00 по Москве.
Речь не о технической возможности как все патчить 25.11.06 16:06  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка>
Да знаю я прекрасно как ето патчить ) Речь не об этом а о том насколько это правильно и оправданно.
1




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach