Уроки защиты Guardant: использование профайлера в автоматической защите
Автоматическая защита Guardant объединяет множество технологий. Одной из наиболее интересных является извлечение (по выбору разработчика) инструкций из кода приложения и трансляция их в код некой виртуальной машины (опция автозащиты /RIP_CODE).
Благодаря этому функции приложения получают защиту от анализа, а создание автоматических инструментов взлома автозащиты значительно затрудняется.
При всех положительных качествах, использование технологий, подобных /RIP_CODE, может негативно сказываться на производительности приложения, так как в процессе защиты инструкции подвергаются виртуализации. Кроме того, необходимо учитывать, что не все участки кода могут (и должны) быть защищены с использованием технологий, обладающих такими свойствами.
Поэтому для повышения эффективности защиты необходимо вручную определять набор функций, подлежащих виртуализации. Для этого служит профилирование приложений: с помощью специальных инструментов приложение анализируется и, по результатам анализа, создается конфигурационный файл, содержащий информацию о функциях для защиты.
Профилирование призвано разрешить сразу несколько проблем, возникающих при защите программного обеспечения автоматизированными средствами:
- Снижение производительности приложения в результате установки автозащиты;
- Неопределенность покрытия кода автозащитой — позволяет гарантированно защитить участки кода, представляющие интеллектуальную собственность разработчика.
Загрузить этот и другие уроки можно в разделе Обучающие материалы.
