На главную страницу
О журнале План выхода Подписка Интернет-Магазин Реклама Контакты и реквизиты English На главную страницу Карта сайта Поиск по сайту Обратная связь

перейти к Содержанию номера

№ 6 ноябрь–декабрь 2009 г.
Тема номера:
РАЗВИТИЕ ПОЛИЦЕЙСКИХ СИСТЕМ БЕЗОПАСНОСТИ


МЕТОДЫ ЗАЩИТЫ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ НА ОСНОВЕ
ПРИНЦИПА УДАЛЕННОГО ДОВЕРИЯ

В. А. Десницкий, аспирант И. В. Котенко, д. т. н., профессор, руководитель научно-исследовательской группы компьютерной безопасности
СПИИРАН


Предыдущая статьяСледующая статья

Введение. Сущность механизма защиты программ на основе принципа удаленного доверия

В соответствии с принципом удаленного доверия, контроль за выполнением программы клиента делегируется специализированной удаленной сущности – доверенному серверу. Сервер располагается на удаленном защищенном хосте и считается доверенным (trusted). Иначе говоря, злоумышленник, целью которого является осуществление вредоносного воздействия на программу, не имеет прямого доступа к ней.

Главным элементом модели защиты является клиентская программа, выполняемая на недоверенном (untrusted) незащищенном хосте в потенциально враждебном окружении и подлежащая защите. Программа подвержена атакам со стороны пользователей (злоумышленников), которые хотели бы нарушить ее корректное выполнение. Основная цель механизма защиты – гарантировать неизменность и правильность работы программы в ненадежном окружении.

Одним из базовых принципов рассматриваемого механизма защиты является встраивание в программу специализированного программного компонента – переносимого (мобильного) модуля.

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

Важным требованием, предъявляемым к генератору подписей, является сложность анализа подписей злоумышленником. Необходимо отметить требование уникальности подписей как для каждого клиента, так и для каждого запуска программы в рамках одного клиента.

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

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

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

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

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

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

< ... >
 


 

Полную версию статьи смотрите на страницах журнала «Защита информации. Инсайд»


Обращайтесь!!!
e-mail:    magazine@inside-zi.ru
тел.:        (812) 347-74-12, (921) 958-25-50


Предыдущая статья    СОДЕРЖАНИЕ НОМЕРА    Следующая статья

 

| Начало | О журнале | План выхода | Подписка | Интернет-магазин | Реклама | Координаты |

Copyright © 2004-2013 «Защита информации. Инсайд». Все права защищены
webmaster@inside-zi.ru

Rambler's Top100