Технологии псевдокодирования повышают устойчивость ко взлому

20 декабря 2005 годаРоссийский разработчик средств аутентификации и защиты программного обеспечения от пиратства компания «Актив» семейство электронных ключей Guardant Stealth III. Его создатели раскрыли некоторые технологические подробности, определяющие функциональный потенциал новых ключей.

Российский разработчик средств аутентификации и защиты ПО от пиратства компания «Актив» выпустит в I квартале 2006 г. семейство электронных ключей Guardant Stealth III. Его создатели раскрыли некоторые технологические подробности, определяющие функциональный потенциал новых ключей.

У них по сравнению с предшественниками существенно увеличен объем энергонезависимой памяти (2048 байт против 256 байт); технология Stealth, лежащая в основе всех ключей Guardant, расширена и дополнена новыми функциями. В спецификацию Stealth III включены технология Protected Item («защищенные ячейки»), новая редакция аппаратного алгоритма GSII64, а также механизм дистанционного обновления памяти ключа Trusted Remote Update.

В основе Protected Item лежит новый принцип организации памяти электронного ключа. Так, наряду с аппаратными алгоритмами в памяти ключа Guardant Stealth III можно создавать особые контейнеры с данными — защищенные ячейки. Обращение к такой ячейке осуществляется по ее номеру, что облегчает работу с памятью ключа.

Упрощенная адресация позволит обращаться к данным почти как к файлам, а уникальные пароли на чтение и обновление защищенных ячеек, равно как и их активация-деактивация по паролям, обеспечивают дополнительный уровень безопасности. На защищенные ячейки может быть установлен запрет на чтение-запись.

Возможность кодирования-декодирования внешних данных внутри электронного ключа впервые была реализована в Guardant Stealth II, куда встроен устойчивый к криптоанализу симметричный аппаратный алгоритм GSII64. Новая редакция этого алгоритма, воплощенная в Guardant Stealth III, дополнена поддержкой активации-деактивации алгоритмов по уникальным паролям, лежащей в основе безопасного распространения ПО с ограниченной функциональностью (защищенных демоверсий, отдельных модулей и т. д.).

Trusted Remote Update — технология безопасного дистанционного обновления памяти электронного ключа, исключающая возможность компрометации и фальсификации данных. В работе механизма Trusted Remote Update используется алгоритм шифрования GSII64, и вся информация, предназначенная для дистанционного обновления, расшифровывается и обрабатывается только внутри электронного ключа.

Идеология Trusted Remote Update гарантирует, что однажды записанная в электронный ключ информация не может быть записана в него повторно, а данные, сгенерированные для одного ключа, не подойдут для другого.

Одновременно с Guardant Stealth III на рынке появится обновленный комплекс разработчика версии 5.0. Усовершенствованный программный инструментарий, входящий в состав новой версии ПО Guardant, поможет раскрыть функциональные возможности новых электронных ключей и создать более эффективную защиту на базе токенов предыдущего поколения.

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

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

Анализировать логику работы защищенного подобным образом кода намного сложнее, чем совершать это с инструкциями Intel-совместимых процессоров, поскольку для псевдокода не существует никакого стандартного инструментария (отладчиков, дизассемблеров).

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

Обновленный и усовершенствованный интерфейс прикладного программирования Guardant теперь handle-ориентированный, и большинство функций в нем работает с так называемым «защищенным контейнером», который служит для хранения контекста работы с данной копией API Guardant и позволяет сократить время исполнения функций, а также упростить обмен с API путем минимизации числа вызовов и параметров функций.

Из соображений противостояния взлому разработчики серьезно откорректировали концепцию взаимодействия защищенного приложения с электронным ключом. Так, был полностью изменен протокол обмена между драйверами и API Guardant, а все механизмы обмена снабжены псевдокодом, исключающим возможность взлома привычными инструментами и старыми хакерскими наработками (старые эмуляторы, логгеры и мониторы просто перестанут работать).

Реализован также постоянный контроль целостности драйвера (подписанного при помощи асимметричной криптографии) из защищенного приложения: при вызове функций Guardant API 5.0 автоматически проверяется подпись ключа. Да и сам драйвер Guardant 5.0 не только защищен псевдокодом и содержит встроенную виртуальную машину, но и осуществляет множественный контроль целостности собственного кода. Фактически это означает, что взломщику придется пытаться взламывать каждую копию защищенного приложения.

Технологии Trusted Remote Update и Protected Item потребовали расширения возможностей программирования ключей Guardant. Теперь можно вести базу данных обо всех ключах, передаваемых конечным пользователям, что позволяет уникально определять и помнить пароли на дистанционное обновление алгоритмов и ячеек; каждый пароль используется только один раз и, таким образом, не будет скомпрометирован.

Электронные ключи Guardant

  • Guardant Sign
  • Guardant Code
  • Guardant Sign Net
  • Guardant Sign
  • Guardant Code micro
  • Guardant Time Net
  • Guardant Sign micro
  • Guardant Code
  • Guardant Net II

Карта сайта