53
обнаружения полиморфных вредоносных программ, в связи с чем рекомендуется
использование HIPS (Host-based Intrusion Prevention System) — проактивных
технологий защиты, построенных на анализе поведения.
2.2.3. Обфускация
Обфускацией называют процесс применения ряда преобразований над
исходным текстом или кодом к виду, сохраняющему всю его функциональность, но
затрудняющему его анализ, понимание переменных, механизмов работы, обратную
разработку и модификацию при декомпиляции. Обфускация может производиться
на уровне алгоритма, исходного текста или ассемблерного кода (с помощью
специализированных компиляторов, использующих неочевидные или
недокументированные возможности среди выполнения).
Среди предпосылок к появлению обфускации можно отметить существование
декомпиляторов на разных платформах (например, Java, Android или .NET), которые
могут производить обратную разработку исполняемого кода или библиотеки [20].
Главным преимуществом обфускации в этой ситуации является запутанность
декомпилированного кода, что позволяет защищать коммерческие тайны, усложняя
дальнейшую обратную разработку и делая ее экономически невыгодной. Иногда
обфускация помогает уменьшить размер финального исполняемого кода.
Среди основных недостатков обфускации стоит отметить тот факт, что она не
обязательно делает невозможными возможности прочтения, изменения или
обратной разработки кода. К другим недостаткам можно отнести:
• потерю гибкости кода – после обфускации он может стать более
зависимым от платформы или компилятора
• трудности отладки. Обфускаторы не только не дают постороннему
выяснить, что делает код, но и не дает самому разработчику его