у меня есть идея - зделать умный анализатор - если файл - вирус / троян / дроппер то лезть внуть на предмет поиска названия вайлов вроде Component searcher
Всего один дурной бит - и гигабайты лежат в маразме.
Скажи мне свою OS и я скажу тебе КТО ты.
Будь в курсе!Будь в курсе!
Надоело быть жертвой? Стань профи по информационной безопасности, получай самую свежую информацию об угрозах и средствах защиты от ведущего российского аналитического центра Anti-Malware.ru:
у меня есть идея - зделать умный анализатор - если файл - вирус / троян / дроппер то лезть внуть на предмет поиска названия вайлов вроде Component searcher
идея конечно хорошая, если бы не несколько НО...
1. на днях читал на одном антивирусном сайте, что сейчас 30% вредоносных программ распространяются в упакованном виде. мои практические наблюдения диаметрально противоположные - только 30% программ НЕ упакованы. а без знания всех упаковщиков лезть некуда.
2. если программа по сигнатуре и так определила, что этот файл вирус-троян-дроппер, то значит автору этот файл уже и так извстен и он прекрасно знает, какие именно пути в трояне прописаны, так что и искать нечего.
3. как понять, что это имя файла? они очень часто не похожи на имена файлов. например, файл "o", который иногда используется для закачки с ftp. как отличить обычную текстовую константу от имени файла? нужно определить, в какую функцию передается эта константа. иными словами, нужно на лету дизасемблировать код программы. есть желающий написать такое? ;-)
4. имена файлов и папок хранятся иногда в разных константах и для получения полной картины их нужно конкатенировать. а иногда и вовсе путь к файлу получается комбинацией нескольких переменных.
Описание скриптововго языка - в хелпе или в документации на моем сайте http://z-oleg.com/secur/avz_doc/index.html, раздел "8. Скрипты управления". По воводу скриптового языка - его можно расширять до бесконечности, жду пожелания по командам ...
По поводу справки на сайте. вот вместо этих страниц открывается окно "О программе":
z-oleg.com/secur/avz_doc/index.html?script_intro.htm
z-oleg.com/secur/avz_doc/t_cmdline.htm
z-oleg.com/secur/avz_doc/script_runscan.htm
а также нижеидущие пункты описания скриптовых процедур...
В справке по скриптам затеряно самое важное - ИМЯ, РАСШИРЕНИЕ и РАСПОЛОЖЕНИЕ файла со скриптом,
описание способа подключения скрипта. Это обнаружилось где-то в примерах на задворках хэлпа. На мой взгляд это надо выпячивать в самое начало.
Другая проблема - описаны процедуры и функции, но отсутствует перечень доступных программисту скрипта стандартных переменных.
Нигдe явно не указано, что доступны конструкции if .. then .. else.
В примерах QuarantineFile выступает как процедура, хотя позиционируется как функция.
По этой же функции есть предложение - добавить возможность использования масок, содержащих "*" и "?".
Также желательно завести макроподстановку для системного диска (например %sys%).
Например:
QuarantineFile('%sys%\Program Files\Internet Optimizer\*.*','Файлы троянца IstSvc')
QuarantineFile('%sys%\Documents and Settings\*\Local Settings\Temp\optimize.exe','Файл троянца IstSvc')
И еще я бы посоветовал
Еще вопрос по hlp-справке. в разделе "Параметры командной строки" описаны ключи
DelVir и ModeVirus. Судя по описанию, они занимаются одним и тем же, только ModeVirus более гибок в настройке.
Может тогда упразднить DelVir (или хотя бы убрать из описания, но не из обработки для совместимости со старыми версиями и давними пользователями).
И в конце этой страницы есть слово "Пример", которое относится непонятно к чему.
Еще пожелание по скриптам - сделать возможность отправки репорта на заданный e-mail.
Замечание по создаваемым логам: зачем писать
Внимание !!! База поледний раз обновлялась 05.09.2005 - рекомендуется обновить базы с http://z-oleg.com/secur/avz-dwn.htm
если с тех пор все равно никаких апдейтов на сайт не выкладывалось? Или обеспечьте определенную частоту выкладывания обновлений, или подумайте над убиранием этой дезинформирующей строки. А вообще дейли апдейты лучше помещать на отдельной странице, а то та страница из-за гигантских списков вирусов долго грузится.
Если в скрипте написать строчку
SaveLog('avz_'+GetComputerName+'.txt');
(т.е. не указать полный путь на диске C:\...), то файл с отчетом не сохраняется. Считаю это ошибкой.
Команду AddToLog('Протокол с компьютера '+GetComputerName);
заставить работать мне не удалось - в окне программы такой текст появляется, а вот в файле на диске - нет.
Вышла версия 3.81:
[+] Скриптовой язык - новые команды GetCurrentDirectory, GetAVZDirectory ...
[+] Древовидный список файлов - выделение элементов клавитурой (при нажатии пробела производится инверсия выделения текущего элемента)
[+] Вывод информации о том, что система загружена в SafeMode в протокол
[+] Восстановление файла из карантина и Infected
[-] Исправлена ошибка в функции SaveLog
[+] Доработки антируткита - модифилирован анализатор для устранения проблем с DEP на Windows 2003 SP1
------
Основная задача, решенная вновой версии - это чистка баз. После размещения на kpnemo версии 3.80 мне прислали более 700 файлов для анализа, они пополнили базы безопасных (и вирусов). сделан ряд шагов по унификации имен в базе, кое что подправлено по мелочам в самой программе.
1. С хелпом на сайте (script_intro.htm) - устраняю, это глюк
2. Имя, расширение и местоположение скрипта - любые, для AVZ они не принципиальны и никак не проверяются. Если файл не в текущей папке - то нужно задать полный путь
3. Подключение скрипта - опишу подробнее в хелпе
4. Стандартные конструкции - согласен, их необходимо описать - сделаю на выходных
5. Поддержка масок - логично, добавлю
6. В новом AVZ поддерживается макрос в пути %SysDisk% - это системный диск в виде C: (т.е. без слеша)
7. DelVir и ModeVirus - это разные вещи. DelVir - глобальный переключатель, разрешающий или запрещающий удаление всех злоовредных программ (аналог переключателя "Выполнять лечение"), а ModeVirus - это уже тонкая настройка. Просто DelVir надо бы назвать как EnableCure или аналогично, имя DelVir пришло исторически ...
Сообщение от MOCT
... пост 103 ...
В стационарном анализаторе у меня нечто подобное есть - т.е. изучаемый файл автоматом изучается в исходном виде и в распакованном, но это тянет за собой его декомпиляцию и эмуляцию, базу данных с исключениями, базу для сравнения ... Ложных срабатываний будет тьма, часто бывают разные конкантенации имени и прочее... Короче говоря, я совершенно согласен с тем, что проделывать нечто подобное на ПК пользователя нереально. А вот знать, что прибить/заподозрить можно и нужно - для этого у меня микропрограммы лечения предусмотрены - но они пишутся вручную, на основании анализа "зверей".
2. Имя, расширение и местоположение скрипта - любые, для AVZ они не принципиальны и никак не проверяются. Если файл не в текущей папке - то нужно задать полный путь
3. Подключение скрипта - опишу подробнее в хелпе
я это уже установил, но в справке такая информация важна в яном виде.
Сообщение от Зайцев Олег
4. Стандартные конструкции - согласен, их необходимо описать - сделаю на выходных
5. Поддержка масок - логично, добавлю
означает ли это, что скоро будет новая версия? :-)
Сообщение от Зайцев Олег
6. В новом AVZ поддерживается макрос в пути %SysDisk% - это системный диск в виде C: (т.е. без слеша)
спасибо! полезная вещь
Сообщение от Зайцев Олег
7. DelVir и ModeVirus - это разные вещи. DelVir - глобальный переключатель, разрешающий или запрещающий удаление всех злоовредных программ (аналог переключателя "Выполнять лечение"), а ModeVirus - это уже тонкая настройка. Просто DelVir надо бы назвать как EnableCure или аналогично, имя DelVir пришло исторически ...
просто использование термина "Vir" сразу смущает
Сообщение от Зайцев Олег
В стационарном анализаторе у меня нечто подобное есть - т.е. изучаемый файл автоматом изучается в исходном виде и в распакованном, но это тянет за собой его декомпиляцию и эмуляцию, базу данных с исключениями, базу для сравнения ... Ложных срабатываний будет тьма, часто бывают разные конкантенации имени и прочее... Короче говоря, я совершенно согласен с тем, что проделывать нечто подобное на ПК пользователя нереально. А вот знать, что прибить/заподозрить можно и нужно - для этого у меня микропрограммы лечения предусмотрены - но они пишутся вручную, на основании анализа "зверей".
интересно, а как Вы решили для себя снятие некоторых крипторов, типа MEW или Yoda Crypt?
p.s. программу скачал, буду тестировать. надеюсь, что другие замеченные проблемы и пожелания будут учтены в ближайших версиях.
p.p.s. к сожалению, в связи с гибелью HDD отправленные мной через FTP файлы у меня теперь отсутствуют, так что проверить детектирование этих файлов не на чем ... (
Жаль, что в версии 3.81 по-прежнему не исправлены следующие баги в разборе имен и путей файлов:
1. В "Драйверах" не опознаются файлы без пути и расширений (см. лог здесь), хотя они есть в базе безопасных AVZ. Имена этих файлов совпадают с названиями драйверов (значениями в поле "Служба"), имеют расширения *.SYS, лежат в стандартных местах и благополучно запускаются системой.
2. В "Автозапуске" AVZ не понимает строки: C:\WINDOWS\system32\dumprep 0 -k RunDll DeskTop16.dll,COLOR_INIT (т.е. запуск 16-битных DLL) hpfsched (прописан в C:\WINDOWS\win.ini, windows, run; имеет расширение EXE, лежит в стандартном месте)
Соответственно, не работает автодобавление этих файлов в карантин.
Следовательно, скрипт автопроверки не сможет их отловить без вмешательства квалифицированного специалиста. Простой юзер не сможет самостоятельно прислать файлы на проверку...
Олег, планируете ли Вы исправления в алгоритме разбора имен и путей файлов?
P.S. Черные дыры в "Модуле расширения проводника" остались...
Олег
Во всех диспетчерах и менеджерах где строки отмечаются зеленым, так вот при выборе этих строк - они не читабельны. При их выборе стоит менять цвет шрифта на другой.
Может это фича, но мне не понравилось. AVZ не проверяет перед запуском, что одна копия уже запущена.
Это специально было сделано - чато бывает необходимость запустить две копии AVZ ... но когда появится отдельное окно настроек и их сохранение, то будет опция "блокировать повторный запуск"
Олег
Во всех диспетчерах и менеджерах где строки отмечаются зеленым, так вот при выборе этих строк - они не читабельны. При их выборе стоит менять цвет шрифта на другой.
Знаю, борюсь ... если есть идеи (RGB коды цветов для обоих случаев) - то буду весьма признателен
Жаль, что в версии 3.81 по-прежнему не исправлены следующие баги в разборе имен и путей файлов:
....
Олег, планируете ли Вы исправления в алгоритме разбора имен и путей файлов?
P.S. Черные дыры в "Модуле расширения проводника" остались...
Да, это планируется - просто в 3.81 тот-же анализатор, что в 3.80 ... но работы идут. Кстати, еще одно "исключение" - Rundll32 <что-то там>