Метаморфический код
Метаморфический код — это код, который при запуске выводит логически эквивалентную версию своего собственного кода при некоторой интерпретации . Это похоже на quine quine , за исключением того, что исходный код в точности эквивалентен его собственному выводу. Метаморфический код также обычно выводит машинный код , а не собственный исходный код.
Обзор
[ редактировать ]Метаморфический код используется компьютерными вирусами , чтобы избежать распознавания образов антивирусного программного обеспечения . Метаморфические вирусы часто переводят свой собственный двоичный код во временное представление, редактируя временное представление себя, а затем снова переводят отредактированную форму обратно в машинный код. [1] Эта процедура выполняется с самим вирусом, и, таким образом, сам метаморфический движок также претерпевает изменения, а это означает, что ни одна часть вируса не остается прежней. Это отличается от полиморфного кода , где полиморфный движок не может переписать свой собственный код.
Метаморфический код используется некоторыми вирусами, когда они собираются заразить новые файлы, в результате чего следующее поколение никогда не будет похоже на нынешнее. Мутировавший код будет делать то же самое (в соответствии с используемой интерпретацией ), но двоичное представление дочернего элемента обычно будет полностью отличаться от родительского. Мутация может быть достигнута с помощью таких методов, как вставка инструкций NOP ( грубая сила ), изменение используемых регистров , изменение управления потоком данных с помощью переходов, замена машинных инструкций на эквивалентные или переупорядочение независимых инструкций.
Метаморфизм не защищает вирус от эвристического анализа . [ нужна ссылка ]
Метаморфический код также может означать, что вирус способен заражать исполняемые файлы двух или более разных операционных систем (таких как Windows и Linux ) или даже разных компьютерных архитектур . Зачастую вирус делает это, неся в себе несколько вирусов. Затем начало вируса кодируется таким образом, чтобы оно преобразулось в правильный машинный код для всех платформ, на которых он должен выполняться. [2] Это используется в основном в коде удаленного внедрения эксплойтов , где целевая платформа неизвестна.
Метаморфические вирусы
[ редактировать ]См. также
[ редактировать ]- Самомодифицирующийся код
- Странная петля
- Полиморфный код
- Хронология известных компьютерных вирусов и червей
Ссылки
[ редактировать ]- ^ «Метаморфизм на практике или «Как я сделал МетаФООР и чему научился» » . VX Небеса . Февраль 2002 г. Архивировано из оригинала 2 июня 2007 г.
- ^ «Шеллкод, охватывающий архитектуру» . Журнал Фрак . Том. 11, нет. 57. 11 августа 2001 г. Архивировано из оригинала 4 декабря 2023 г.
- ↑ Питер Ферри «Река Крым» , ВБ, 2008 г.