PDA

Просмотр полной версии : Сканер файлов (аудит файлов в системе)



VIKT0R
26.10.2008, 02:33
Обратный антивирусам алгоритм работы. Самостоятельно добавляются сигнатуры известных доверенных файлов, а впоследствии пересканируются на предмет изменений. Вычисление сигнатуры сделано без использования стандартных криптопровайдеров, что снижает вероятность подмены результатов. Работает из любой учетной записи.
Статус БЕТА. Программа бесплатная.

http://scan.rootkits.su/screen.gif

Справочное руководство, скриншоты (http://scan.rootkits.su/Help_FSv1.0.zip) (111 кБайт)
Программа FileScan v1.0 (http://scan.rootkits.su/FSv1.0.zip) (188 кБайт)
Пример обновления локальной БД (http://scan.rootkits.su/Update.zip) (207 кБайт)
Файл локальной БД с 207927 записями (4.5 МБайт, заменить файл в директории программы) (http://scan.rootkits.su/hashes.zip)

senyak
26.10.2008, 10:46
Это что-то типо как в АВЗ? Там тоже можно проверить фаил, только по базе безопасных. Может и хорошая идея, незнаю даже

pig
27.10.2008, 03:01
Скорее - типа как ADinf или AVP Inspector. Ревизор.

VIKT0R
14.06.2009, 15:27
Да, это база безопасных файлов.
Слегка обновил программу, сформировал базу файлов.
Прикрутил расширенную онлайн базу-справочник. В локальную встраивать не имеет смысла, т.к. размер базы из 200 тыс записей - 100 МБ + 20 МБ индекса. Но если надо, информация подгружается в программе.
Ссылки из первого поста обновил.

Зайцев Олег
14.06.2009, 16:44
В локальную встраивать не имеет смысла, т.к. размер базы из 200 тыс записей - 100 МБ + 20 МБ индекса.
Размер базы на 200 тыс записей должна быть не 100+20 мб, а 1 мб вмесе с индексом ... что-то не то с порядком цифр

Kuzz
14.06.2009, 16:46
Размер базы на 200 тыс записей должна быть не 100+20 мб, а 1 мб вмесе с индексом ... что-то не то с порядком цифр

Это если только чек-суммы.
Там же:

Вариант № 9
Общие свойства файла
MD5: 7637F34CBB1FD9076BDFB13F4EB72A1C
Номер 170656
Доверие к файлу Неизвестно
Дата проверки 2009-06-12 22:34:46
Имя файла explorer.exe
Расширение .exe
Полное имя файла F:\WindowsXPSP3_IMG\WINDOWS\explorer.exe
Размер, байт 1032704
Каталог хранения F:\WindowsXPSP3_IMG\WINDOWS
Имя каталога хранения F:\WindowsXPSP3_IMG\WINDOWS
Дата создания 2006-03-02 15:00:00
Дата создания в UTC 2006-03-02 12:00:00
Только для чтения Нет
Последнее время доступа 2009-06-12 22:25:13
Последнее время доступа UTC 2009-06-12 18:25:13
Последнее время записи 2006-03-02 15:00:00
Последнее время записи UTC 2006-03-02 12:00:00
Атрибуты Archive
Свойства исполняемого файла
Оригинальное имя EXPLORER.EXE
Внутреннее имя (InternalName) explorer
Язык Русский (Россия)
Версия (FileBuildPart) 2900
Компания-разработчик Корпорация Майкрософт
LegalCopyright © Корпорация Майкрософт. Все права защищены.
LegalTrademarks
FileMajorPart 6
FileMinorPart 0
FilePrivatePart 2180
FileVersion 6.00.2900.2180 (xpsp_sp2_rtm.040803-2158)
PrivateBuild
ProductBuildPart 2900
ProductMajorPart 6
ProductMinorPart 0
ProductName Операционная система Microsoft® Windows®
ProductPrivatePart 2180
ProductVersion 6.00.2900.2180
SpecialBuild
Отладочная (IsDebug) Нет
IsPatched Нет
IsPreRelease Нет
IsPrivateBuild Нет
IsSpecialBuild Нет
Описание (FileDescription) Проводник
Комментарий

Зайцев Олег
14.06.2009, 16:58
Это если только чек-суммы.
Там же:
А смысл в этой информации, если файл опознался по контрольной сумме как чистый ? Тогда его копирайтам и дате можно доверять ... в остальном если проверить по данной БД папку Windows XP SP3 - то почти ничего не опознается ... хотя при этом в БД есть даже контрольные суммы баз от KIS 2009 :) (http://scan.rootkits.ru/h.php?id=1&text=7A297A839DFAA05BD688FE4DB1C31E04&find=%D0%9D%D0%B0%D0%B9%D1%82%D0%B8)
В остальном идея хорошая, только поход к построению базы неверный - я это проходил все в 2004-м году, когда строил свои базы - нетрудно набить базу файлами, трудно набить ее распространенными исполняемыми файлами, причем проверить и перепроверить то, что они безопасны.

Geser
14.06.2009, 18:36
Запустил... Оставил работать. вернулся, программы уж и след простыл. Куда делась?
Обработка файлов ну очень медленная. Системный диск будет, наверное, неделю сканироваться.
Почему-то ругается на все файлы которые используется системой, мол не может получить доступ.
Зачем-то есть опция удалять все файлы для которых найдена сигнатура. Это, типа, в режиме антивируса?:)
Короче странная программа

VIKT0R
14.06.2009, 18:45
Размер базы на 200 тыс записей должна быть не 100+20 мб, а 1 мб вмесе с индексом ... что-то не то с порядком цифр

Для хранения локальной БД использован стандартный дотнетовский класс Hashtable
32 байта = 1 чексумма MD5
6400000 байт = 200 000 чексумм.
+ индексы. Всего 8.7 МБ.

Для хранения подробной информации о файле - таблица MySQL с полями.

IdFile, isChecked, CheckedDate, ShortName, CreationTime, CreationTimeUtc, Directory, DirectoryName, Extension, FullName, IsReadOnly
LastAccessTime, LastAccessTimeUtc, LastWriteTime, LastWriteTimeUtc, Length, Attributes, Hash, Comments, CompanyName, FileBuildPart, FileDescription, FileMajorPart, FileMinorPart, FileName, FilePrivatePart, FileVersion, InternalName, IsDebug, IsPatched, IsPreRelease, IsPrivateBuild, IsSpecialBuild, Language, LegalCopyright, LegalTrademarks, OriginalFilename, PrivateBuild, ProductBuildPart, ProductMajorPart, ProductMinorPart, ProductName, ProductPrivatePart, ProductVersion, SpecialBuild
Она-то и занимает 100 метров на диске.

Почему в SP3 файлы не опознаны, не знаю.
Добавлял в базы Win2000, WinXP SP2, WinXP SP3, WinXP SP2 x64 ENG, Win2003 Srv Std SP1, Vista Home SP2 RUS, Win7. Несколько болванок с дровами для всего подряд.

Добавлено через 3 минуты


Запустил... Оставил работать. вернулся, программы уж и след простыл. Куда делась?
Обработка файлов ну очень медленная. Системный диск будет, наверное, неделю сканироваться.
Почему-то ругается на все файлы которые используется системой, мол не может получить доступ.
Зачем-то есть опция удалять все файлы для которых найдена сигнатура. Это, типа, в режиме антивируса?:)
Короче странная программа

Попдробнее пожалуйста. Версия Windows, мощность процессора.
У меня не крашилась. К некоторым файлам действительно доступ получить не может пока. SystemVolumeInformation, файлы реестра и проч.
БЕТА она и есть БЕТА.

Зайцев Олег
14.06.2009, 18:47
Почему в SP3 файлы не опознаны, не знаю.
Добавлял в базы Win2000, WinXP SP2, WinXP SP3, WinXP SP2 x64 ENG, Win2003 Srv Std SP1, Vista Home SP2 RUS, Win7. Несколько болванок с дровами для всего подряд.
Вот вот том то и беда - набить такую базу труда нет, и толку как от нее собственно тоже нет :) Причина банальна - если система лицензионная, то постоянно работает автоапдейт ... и система будет радикально отличаться от чистого SP3. Аналогично со всеми остальными перечисленными системами. А если еще прибавить примерно 1500 распространенных программ, по 10 версий каждой, то ...

VIKT0R
14.06.2009, 18:51
По поводу скорости - если используется один жесткий диск (физический), то скорость снижается в несколько раз при одновременном использовании торрентов. Т.к. это большая нагрузка на диск - random access почти.

Добавлено через 2 минуты


Вот вот том то и беда - набить такую базу труда нет, и толку как от нее собственно тоже нет :) Причина банальна - если система лицензионная, то постоянно работает автоапдейт ... и система будет радикально отличаться от чистого SP3. Аналогично со всеми остальными перечисленными системами. А если еще прибавить примерно 1500 распространенных программ, по 10 версий каждой, то ...

По идее файлы отката обновлений должны в винде сохраняться. Завтра проверю на необновленной сп3

Я понимаю, что идея все сосчитать утопична :) У китайцев есть сайт, где 5 с лишним млн. файлов таким образом исследованы.
Но для отдельно взятой машины считаю, что вполне можно использовать.

Зайцев Олег
14.06.2009, 18:55
Попдробнее пожалуйста. Версия Windows, мощность процессора.
Я попробовал в варианте на тестовом ПК на полигоне (типовая персоналка - 4х ядерник Intel, 4 Гб ОЗУ, RAID массив на 1 ТБ вместо диска), тормозит страшно. Я не копал глубоко, но причина собственно ясна - даже индексный поиск в MySQL будет идти медленно. Плюс просчет MD5 довольно ресурсоемкий. Плюс рефреш списка файлов на экране. Вот три причины очень медленной работы

VIKT0R
14.06.2009, 18:59
Плюс просчет MD5 довольно ресурсоемкий.

Не то слово. Надо файл считать полностью с диска, а потом еще мат. вычисления делать.
Антивирусы, естественно, быстрее работают по сигнатурам частей файла.

Я сейчас запустил полное сканирование диска С:. E6550 4GB ОЗУ, 750GB WD 7200. Vista Home, 23 ГБ занято. О результатах напишу ниже. Расчетная скорость на XP была 10 мегабайт/секунда.

Зайцев Олег
14.06.2009, 19:04
Не то слово. Надо файл считать полностью с диска, а потом еще мат. вычисления делать.
Антивирусы, естественно, быстрее работают по сигнатурам частей файла.

Я сейчас запустил полное сканирование диска С:. E6550 4GB ОЗУ, 750GB WD 7200. Vista Home, 23 ГБ занято. О результатах напишу ниже. Расчетная скорость на XP была 10 мегабайт/секунда.
Результаты собственно и без опыта я могу сказать, я это делал лет 5 назад ... MD5 + стандартная БД = каюк быстродействию. Для устранения тормозов придется отказаться от готовой БД, и сделать свою. Придется кластерировать БД, чтобы оптимизировать скорость. Придется быть может отказаться от MD5 и использовать более быстрый хеш (применяя его хотя бы как первую ступень, для быстрой проверки).

VIKT0R
14.06.2009, 20:29
86800 файлов за 28 минут. Общий размер 12.7 ГБ. 200 тыс записей в базе. 7 мб/с
86800 файлов за 27 минут. Общий размер 12.7 ГБ. 20 тыс записей в базе. 7.4 мб/с
86800 файлов за 24 минут. Общий размер 12.7 ГБ. 20 записей в базе. 8.8 мб/с

Hashtable хранится в оперативной памяти. Собственно, по этому и была выбрана мною в качестве БД.

К реализации MD5 вопросов тоже нет. Скорость такая, что если заменить вычисление одним хешем и всегда его подсовывать, то время выполнения не сокращается.
Скорее всего тормоза из-за считывания с диска.

Kuzz
14.06.2009, 20:51
С другой стороны, при реализации всего этого как LiveCD+flash (базы на флешке)
Раз в месяц/неделю мониторить систему, при нек-рой доле паранои - вполне самое то