Методы выявления вредоносного кода совершенствуются, как и сам вредоносный код. Если в прежние времена антивирусные системы использовали сигнатурный анализ для выявления вирусов, то сейчас такого подхода уже явно недостаточно. Сейчас для проверки, является ли опасным тот или иной файл необходимо запустить его на выполнение и посмотреть, к каким именно компонентам ОС он обращается, что делает, не пытается ли прописаться в автозагрузку и т. д.
Для этого существуют специальные решения — так называемые песочницы. Здесь все достаточно просто. Для проверки файла создается экземпляр виртуальной машины, например под Windows 7, в которой уже установлены основные офисные приложения, Acrobat Reader, почтовый клиент, браузеры и прочее. Далее, специальные хуки перехватывают различные обращения, выполняемые тестируемым файлом и анализируют их. В результате обращения проверяемого файла к реестру, действия с другими файлами, использование библиотек и многое другое будет выявлено песочницей. Казалось бы sandbox является эффективным средством выявления вредоносного кода, но не все так просто. Дело в том, что поток проверяемых файлов даже в организации средних размеров может быть достаточно большим и мы не можем слишком долго проверять один файл. Как правило, продолжительность проверки длится от двух до пяти минут.
Этим и пользуются разработчики вредоносов. Они могут искусственно замедлить начало выполнения полезной нагрузки, то есть вредоносного кода для того, чтобы анализатор попросту не дождался и завершил анализ раньше с вердиктом, что файл безопасен.