Стойкость загружаемого кода
31 октября 2011 годаКомпания «Актив» продолжает публикацию обучающих материалов из серии «Эффективная защита приложений». Новый урок посвящен защите от анализа самого загружаемого кода, а также общим принципам защиты программ при помощи электронных ключей Guardant Code.
В данном уроке рассматривается технология загружаемого кода. Она заключается в том, что в электронный ключ можно поместить собственный специально подготовленный код и, далее, в процессе работы приложения исполнять его. Технология позволяет реализовать автомат Мили с памятью, в отличие от всех предыдущих поколений ключей, в которых мог быть реализован лишь конечный автомат без памяти (комбинационная схема) или автомат с постоянной памятью.
Если грамотно воспользоваться этим преимуществом, то сложность построения табличного эмулятора злоумышленником существенно возрастет. Число возможных «ответов» на одно и то же обращение к ключу будет не одним, а близким к числу возможных внутренних состояний загружаемого кода (точнее, состояний памяти, которую он использует для расчета очередного «ответа»). Напомним, что в предыдущем уроке были проанализированы основы работы с ключами Guardant Code, перечислены базовые требования к коду, а также рассмотрен процесс его подготовки и загрузки в ключ.
Урок «Стойкость загружаемого кода»
В данном уроке рассматривается процесс выбора загружаемого кода с учетом всех требований, делается акцент на преимущества того или иного подхода. Более детально рассматривается ситуация с загрузкой относительно простого кода, содержащего полезный функционал защищаемого приложения, и приводятся методы обеспечения защиты от анализа помещаемого в ключ кода. Урок входит в курс «Эффективная защита приложений», скачать который можно в разделе «Обучающие материалы».