Найден способ создать ПО, устойчивое к реверс-инжинирингу

Команда исследователей Калифорнийского университета в Лос-Анджелесе под руководством профессора компьютерных наук Амита Сахая (Amit Sahai) разработали метод шифрования кода программного обеспечения, устойчивого к реверс-инжинирингу.

Ранее любые техники обфускации кода лишь отодвигали процесс дизассемблирования приложения, и восстановление алгоритмов работы приложения было лишь делом времени. Новая система создает «железную стену», которая делает невозможным дизассемблирование кода без решения математических проблем. Этот процесс по словам исследователей может занять сотни лет с использованием современных компьютеров.

«Настоящий вызов и большая тайна этой области – возможность создать и зашифровать приложение таким образом, чтобы оно при этом запускалось и выполняло все свои функции», — сообщил Сахай.

Метод, используемый учеными получил название «полилинейный пазл» и положил начало еще одному прорыву в области криптографии — функциональному шифрованию. Исследователи полагают, что их метод не позволит более искать уязвимости путем дизассемблирования патчей и защитит интеллектуальную собственность разработчика.

Этим методом могут также воспользоваться вирусописатели. Подобное решение сильно усложнит исследования антивирусных лабораторий и сделает вредоносный код устойчивым к обнаружению. С другой стороны, успешное использование обфускации кода вирусописателями заставит антивирусные компании отказаться от давно устаревшего подхода к обнаружению вирусов по сигнатурам кода и более активно развивать и внедрять эвристику.