22.2. Идентификация криптографической библиотеки | Телекоммуникации вчера, сегодня, завтра

Последовательность действий при создании объекта радиосвязи

Бланк формы №1 ТАКТИКО-ТЕХНИЧЕСКИЕ ДАННЫЕ РЭС

Поставка оборудования обеспеченного радиочастотами

Витрина



22.2. Идентификация криптографической библиотеки

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

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

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

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

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

Во-вторых, лицензия может ограничивать область применения библиотеки, например только для некоммерческих приложений или только на территории США. Пользуясь этим, можно исключить из рассмотрения все библиотеки, которые не должны были применяться для создания конкретной программы из-за лицензионных ограничений. Хотя бывают и исключительные случаи, когда разработчики кому-то предоставляют специальную лицензию, отличающуюся от опубликованной в открытых источниках.

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

И, в-четвертых, почти в любой библиотеке есть присущие только ей текстовые или двоичные строки, по которым эта библиотека может быть идентифицирована. Так, например, при использовании библиотеки BSAEE в теле программы может присутствовать строка bsafe" или "bcert". Библиотека SSLeay содержит строку "part of SSLeay", а библиотека RSAEU RO — "Copyright (с) J.SA.Kapp".



Поиск по сайту


Смотрите также