Основные алгоритмы криптовки

Предыдущие сообщения
19 апреля 2012
#1 MyP3uk uid#1395 Нулевой уровень или пермутация(перестановка блоков кода с сохранением работоспособности):
Блоки кода делятся на различные по размеру куски и комбинируются между собой по заданному алгоритму,
причём в зависимости от его сложности в каждом новом файле они могут быть расположены в случайном
порядке!
НО эпогеем полиморфизма пермутацию не назовёшь, т.к при перестановке блоков сигнатура файла остаётся
на месте и не изменяется. Конечно если автор алгоритма не дурак, то при перемешке кода будут
добавлены циклы, препятствующие сигнатурному анализу, мусор, бесконечные вызовы и тому подобные
техники.
Первая ступень полиморфизма(использование случайных переменных, данных, ключей и расшифровщиков):
Блоки кода шифруются определённым методом, затем для них создаются несколько дешифраторов, которые
в последующем используются для расшифровки тела вируса в случайном порядке, тоже самое с переменными
и данными.
Бесспорно такое дело тоже будет быстро детектироваться, т.к полноценным полиморфом тут не пахнет.
Всё же противодействовать анализу тоже можно: перемешка кода, заполнение мусором.
Второй уровень или полная "рандомизация":
Как реализовать ? Проще простого, я вам отвечу: составляется(можно на препроцессорном уровне)
макрос, который при последующем вызове будет изменять команду на её похожую-синоним.
Сигнатурный поиск это обламывает, а в сочетании с первыми двумя методами даёт неплохой результат!
Но всё же ав. эмулятор проходит как нож сквозь масло через такой код, расшифроввывая его и доходя
до цели, бесспорно такой алгоритм требует антиотладки, SSE, FPU, MMX(экзотических я бы назвал) команд.
Третий уровень("король мусора):
Блоки разделяются на части и между ними вставляются мусорные команды, которые не влияют на код, но
заставляют эмулятор "попотеть".
Хочу вас огорчить: современные ав(не все) обладают противодействующими техниками, которые запустив
код в песочнице, отделяют без какого-либо труда ненужные команды, особенно если частота
их вызова в коде является аномальной.
Теперь усовершенствование этого метода: можно без особого труда составить алго., который будет анализировать
код и заменять обычные инструкции на их синонимы, причём делать это
минимум в 5-20 команд(всё же здесь придётся учитывать энотропию и размеры
получаемого файла, но это преодолимо).
Задача это тяжелая и требует написания дизассемблера длин(можно и взять
готовый) для определения границ команд, чтобы можно было в автоматизированном
действии вставить одну команду между тремя другими.
Четвёртая ступень("Африканская вонючка):
Идея состоит в том, что в блоках кода используются не только мусорные инструкции, а с ними выполняются полезные действия
(как описывалось в третьем уровне), которые всячески усложняют работу антивирусного анализатора.
С появлением идеи, усложняется и задача написания такого алгоритма, т.к требуется не только добавление мусора между командами,
а последующий просмотр обращений к регистрам, выявление неиспользуемых, мусорных.
Для решения требуется написать полноценный дизассемблер команд, который будет максимально точно
определять внутренности регистров в коде, чтобы в последующем при добавлении мусора не влиять
на них побочным образом :)
Однако же сделав такое "чудовище" мы обеспечим чуть больший срок недетектированности кода.
Антивирусам для анализа сего требуется составить довольно трудную систему графов(я бы назвал
это чёрным ящиком), которая выявляет зависимость данных и анализирует их по цепочке, найдя
замыкающий элемент она отбрасывает ненужные инструкции, тем самым уничтожая мусорный код.

Пятый уровень("космос):
Комбинация всех вышеприведённых методов воедино, добавляя при этом динамическую генерацию
алгоритмов при последующей шифровке определённого блока, учитывая случайные обстоятельства.
Также ничего не препятствует нам "забраться на Эверест", модифицируя код прямо в памяти.
Анализ такого монстра представляет антивирусным компаниям большие трудности, однако для
написания требуются огромные познания в математике, работе процессора!
------------------------------------------------------------------------------------------------------------------------------------------------------------
Скорее всего на форуме больше не буду размешать статьи тематики "С самого начала" так как на форуме достаточно много флудерастов жаждущих чтоб их хоть чему нибудь научили.
Такие школьники приходят из гугла по детским запросам "Помогите взломать", "Научите хакеры" и т.д. Надеюсь со мной согласятся, что за форумом нужно следить и вылаживать хорошие и полезные статьи на те темы, которые для некоторых новые.
Если хотите учится - пишите в асю, зачем на форуме то флудить? На основах самых популярных вопросов создам тему "Новичкам" и размещу там все ответы по самым популярным вопросам или задавайте вопросы в теме "Вопрос-Ответ"
16:32:30 5
#2сообщение удалено
#3сообщение удалено
Следующие сообщения
*Ник: Проверка уникальности... Если вы уже зарегистрированы, авторизуйтесь.
*Сообщение:
  Загрузка...