"Ждун" - антивирус *

Идеи программ\игр, которые ждут воплщения.

Модераторы: test, Vh180477, 1961uvg

Аватара пользователя
test
Сообщения: 280
Зарегистрирован: 16 ноя 2015, 19:03
Контактная информация:

"Ждун" - антивирус *

Сообщение test » 25 апр 2017, 17:32

Здесь я буду собирать подборку материалов по ловле вредоносов, а именно, документы по внутреннему строению файлов, наработки по эмуляции ** скриптов/кода и прочее. Если у вас есть что добавить, замечательно.

* пилотное название.
** именно эмуляция, а не сигнатурный анализ.

Вы можете написать мне/зафрендить Вконтакте, vk.com/ewoke

Аватара пользователя
test
Сообщения: 280
Зарегистрирован: 16 ноя 2015, 19:03
Контактная информация:

Re: "Ждун" - антивирус *

Сообщение test » 27 апр 2017, 13:55

Со времен Dos с ее COM/EXE/BAT файлами, в которых мог оказаться зловред, многое изменилось.

С появлением Win98 в обиход вошли скриптовые WSH файлы, такие как VBS/JS.

Кроме того, появились достаточно сложные платформы для создания обычных PE EXE (формат EXE для 32разрядного защищенного режима) - VB6 (1998), который затем выродился в NET Framework. Появление 64-разрядных ОС добавило разновидность 64-разрядных EXE, PE64.

Помимо сред разработки, ставших для Win32 привычными, такими как Visual C или Delphi, существует множество "компиляторов скриптов", таких как AutoIt. Зловреды могут находиться в самораспаковывающихся (SFX) архивах, запускаясь после своего извлечения на диск.

В каких еще файлах может сидеть зловред? Рассмотрим типовую схему доставки зловреда-шифровальщика на компьютер:

Пользователю приходит письмо с вложением в архиве RAR или ZIP, в архиве находится DOC/DOCX файл, в котором - макрос на VB, для активации которого используют соц.инженерию в виде картинки, побуждающей включить выполнение макросов. Будучи запущенным, макрос извлекает (дропает) PE EXE, в котором находится непосредственно зловред.

Иногда поступают проще - пользователю дается JS файл, который распаковывает EXE и запускает. Есть схемы BAT -> VBS -> EXE.

Существующие АВ (антивирусы) не эмулируют скриптовые файлы. Видимо, идет расчет на скорое пополнение баз, облачные/проактивные техники.

Появление новейших версий Windows, включающих интерпретатор PowerShell, дало возможность использовать зловредов на этом скриптовом ЯП.


Аватара пользователя
test
Сообщения: 280
Зарегистрирован: 16 ноя 2015, 19:03
Контактная информация:

Re: "Ждун" - антивирус *

Сообщение test » 12 окт 2017, 10:33

В этом посте я буду собирать мои исходники

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





1403.zip
проба дизассемблера 1-байтовых команд (asm source)
(2.67 КБ) 44 скачивания

2109.zip
проба эмулятора (asm source)
(15.58 КБ) 44 скачивания

Новая папка.zip
вывод информации о заголовке PE (c source)
(32.05 КБ) 45 скачиваний
Вложения
HEURO.C
проба эмулятора СОМ файлов (си, апрель 1999)
(911 байт) 206 скачиваний


Аватара пользователя
test
Сообщения: 280
Зарегистрирован: 16 ноя 2015, 19:03
Контактная информация:

Re: "Ждун" - антивирус *

Сообщение test » 15 окт 2017, 18:38

Алгоритм (на который потом будет нарастать "плоть" в виде кода). По мере развития прожекта буду вносить правки в алго.
------------

Программа начинается с Лончера. Лончер делает следующее - проверяет разрядность ОС (досовские СОМ не будут работать на х64 вин -- х64 вин ЕХЕ не будут работать на х32 ОС), чтобы не проверять то, что не может запуститься. Затем для файла считается хэш и сверяется с whitelist'ом, чтобы, также не проверять то что проверять не нужно. Дальше Лончер определяет, бинарный это или текстовый файл, и определяет тип бинарного (pe,com,..) или текстового (vbs,js,bat,..) и вызывает соответствующий файлу Проверятель.

Проверятель использует 2 вида проверки - статический и динамический.

Статическая проверка это проверка энтропии бинарного файла на предмет сжатия, проверка на наличие опасных импортов для PE, ? наличие опасных команд для Batch, ?? наличие опасных паттернов вроде CD,13 для com. Смысл даже не в том, чтобы искать опасные сигнатуры, сколько в том, чтобы проверить, имеет ли смысл передавать файл эмулятору.

Динамическая проверка пытается симулировать исполнение файла, при этом виртуализируя обращение к файловой системе. То есть если имеется дроппер на JS, который создает PE, мы сможем съэмулировать создание нового файла, чтобы затем его проверить.


Программа(-ы) консольные, по завершению возвращают errorlevel'ы (задел на будущее для GUI-оболочки), но есть и интерактивный режим + логирование происходящего (напр. дизассемблированный листинг). Файл проверяется one-per-run, пока так.

Из архивов таки следует сделать поддержку ZIP. Это несложно, и включает форматы DOCX и APK (совсем уж на будущее).


Проверка файлов осуществляется на целевой системе. То есть считается, что система является "чистой", и антивирус осуществляет входной контроль.

Виртуализация реестра и файловой системы. Запросы на чтение обрабатываются так, как если бы они происходили при настоящем запуске исследуемой программы. Запросы на запись виртуализируются, для этого создается подпапка с именем исследуемого файла и расширением VFS.


ряд своих записей

https://ewoke.livejournal.com/455577.html
https://ewoke.livejournal.com/456375.html
https://ewoke.livejournal.com/458209.html
https://ewoke.livejournal.com/458553.html
https://ewoke.livejournal.com/461979.html
https://ewoke.livejournal.com/466595.html


Вернуться в «Ваши идеи»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость