Технологии псевдокодирования повышают устойчивость ко взлому
Российский разработчик средств аутентификации и защиты ПО от пиратства компания “Актив” выпустит в I квартале 2006 г. семейство электронных ключей Guardant Stealth III (www.guardant.ru).


Новый электронный ключ Guardant Stealth III
Новый электронный ключ 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. Теперь можно вести базу данных обо всех ключах, передаваемых конечным пользователям, что позволяет уникально определять и помнить пароли на дистанционное обновление алгоритмов и ячеек; каждый пароль используется только один раз и, таким образом, не будет скомпрометирован.