информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Spanning Tree Protocol: недокументированное применениеГде водятся OGRыСетевые кракеры и правда о деле Левина
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Бэкдор в xz/liblzma, предназначенный... 
 Три миллиона электронных замков... 
 Doom на газонокосилках 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / site updates
Имя Пароль
ФОРУМ
все доски
FAQ
IRC
новые сообщения
site updates
guestbook
beginners
sysadmin
programming
operating systems
theory
web building
software
hardware
networking
law
hacking
gadgets
job
dnet
humor
miscellaneous
scrap
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Re: Я тоже когда-то пытался реализовать эту идею 07.02.03 13:41  Число просмотров: 1756
Автор: sassa Статус: Незарегистрированный пользователь
<"чистая" ссылка>
> Делал компилятор ANSI C, который на первом этапе просто
> делает разбор и сохраняет полученное дерево разбора
> (которое включается в инсталляционный пакет), а на этапе
> инсталляции это дерево мутирует (причем для каждого типа
> ноды задано несколько эквивалентных мутаций)

VCG.Belka тоже такими вещами занимается в меру возможностей. ЛовИмо.

> в несколько
> итераций, и некоторые участки оптимизируются, вводится
> несколько ветвей, в которые никогда не приходит исполнение,
> вводятся условные переходы, о которых точно известно куда
> уйдет поток.

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

> И только после этого выполняется backend. Чтоб
> усложнить реверсинг (не предоставлять потенциальным
> реверсерам полное дерево всей программы) и для повышения
> эффективности, этим способом собирается не вся программа, а
> только ее расшифровщик (или несколько
> расшифровщиков/зашифровщиков для разных кусков программы).

функционально это только упрощает задачу, поскольку по расшифровщику уже можно сказать многое.

> Ну в общем этот проект загнулся (вернее я его
> законсервировал до лучших времен)
>
> ЗЫ: А с полиморфизмом АВ-ы так и не справились по
> человечески имхо.

...ввиду простоты языка описания баз вирусов.


> ...но вот например, описанный выше
> алгоритм я с трудом представляю как обнаружить как в
> вирусе, так и в антивирусе (разве что в песочнице, но флаг
> в руки сканеру, если он будет пытаться сэмулировать поток
> исполнения команд так на 50000 для каждого исполняемого
> файла в системе, кроме того после этого он начнет
> материться даже на анекдоты про вовочку).

ерунда. неоптимизированный полиморфик (замена операций эквивалентными из известного набора) разбирается как регулярное или стековое выражение. кю.

нынешние сканеры обламываются из-за несовершенства языка описания вирусов и недостаточной длины сигнатуры (регулярного выражения).

> ...А изменчивость как фактор выживания как для вирусов, так и
> для честных прог - это действительно очень неплохой фактор.

CodeRed обращался к внешней DLL, а не к коду IIS. полиморфизм IIS ни к чему не привел бы.
<site updates> Поиск 






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


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