Научная литература
booksshare.net -> Добавить материал -> Электротехника -> Мельников В.П. -> "Информационная безопасность и защита информации" -> 92

Информационная безопасность и защита информации - Мельников В.П.

Мельников В.П. Информационная безопасность и защита информации: Учебное пособие для вузов — М.: Академия, 2008. — 336 c.
ISBN 978-5-7695-4884-0
Скачать (прямая ссылка): infbezopas2008.djvu
Предыдущая << 1 .. 86 87 88 89 90 91 < 92 > 93 94 95 96 97 98 .. 143 >> Следующая

Средства противодействия дизассемблированию не могут защитить программу от трассировки, и наоборот: программы, защищенные только от трассировки, могут быть дизассемблирова-ны. Поэтому для защиты программ от изучения необходимо иметь средства противодействия как дизассемблированию, так и трассировке.
Существует несколько методов противодействия дизассемблированию:
• шифрование;
• архивация;
• использование самогенерируемых кодов;
• «обман» дизассемблера.
Шифрование предусматривает преобразование исходного текста программы в зашифрованный. Зашифрованную программу
218
невозможно дизассемблировать без расшифрования. Зашифрование (расшифрование) программ может осуществляться аппаратными средствами или отдельными программами. Такое шифрование используется перед передачей программы по каналам связи или при хранении ее на ВЗУ. Дизассемблирование программ в этом случае возможно только при получении доступа к расшифрованной программе, находящейся в ОП перед ее выполнением (если считается, что преодолеть криптографическую защиту невозможно).
Другой подход к защите от дизассемблирования связан с совмещением процесса расшифрования с процессом выполнения программ. Если расшифрование всей программы осуществляется блоком, получающим управление первым, то такую программу расшифровать довольно просто. Гораздо сложнее расшифровать и дизассемблировать программу, которая поэтапно расшифровывает информацию, а этапы разнесены по ходу выполнения программы. Задача становится еще более сложной, если процесс расшифрования разнесен по тексту программы.
Архивация — это процесс сжатия информации. Она может быть объединена с шифрованием. Комбинация таких методов позволяет получать надежно закрытые компактные программы.
Сущность метода, основанного на использовании самогенерируемых кодов, заключается в том, что исполняемые коды программы получаются самой программой в процессе ее выполнения. Самогенерируемые коды получаются в результате определенных действий над специально выбранным массивом данных. В качестве исходных данных могут использоваться исполняемые коды самой программы или специально подготовленный массив данных. Данный метод показал свою высокую эффективность, но он сложен в реализации.
Под обманом дизассемблера понимают такой стиль программирования, который вызывает нарушение правильной работы стандартного дизассемблера за счет нестандартных приемов использования отдельных команд, нарушения общепринятых соглашений. «Обман» дизассемблера осуществляется следующими способами:
• нестандартная структура программы;
• скрытые переходы, вызовы процедур, возвраты из них и из прерываний;
• переходы и вызовы подпрограмм по динамически изменяемым адресам;
• модификация исполняемых кодов.
Для дезориентации дизассемблера часто используются скрытые переходы, вызовы и возвраты за счет применения нестандартных возможностей команд.
Маскировка скрытых действий часто осуществляется с применением стеков.
219
Трассировка программ обычно осуществляется с помощью программных продуктов, называемых отладчиками. Основное их назначение — выявление ошибок в программах. При анализе алгоритмов программ используются такие возможности отладчиков, как пошаговое (покомандное) выполнение программ, возможность останова в контрольной точке.
При наличии современных средств отладки программ полностью исключить возможность изучения алгоритма программы невозможно, но существенно затруднить трассировку можно. Основной задачей противодействия трассировке является увеличение числа и сложности ручных операций, которые необходимо выполнить программисту-аналитику.
Для противодействия трассировке программы при ее построении используются следующие приемы и способы:
• изменение среды функционирования;
• модификация кодов программы;
• случайные переходы.
Под изменением среды функционирования понимается запрет или переопределение прерываний (если это возможно), изменение режимов работы, состояния управляющих регистров, триггеров и т.д. Такие изменения вынуждают аналитика отслеживать изменения и вручную восстанавливать среду функционирования.
Модификация кодов программ, например в процедурах, приводит к тому, что каждое выполнение процедуры выполняется по различным ветвям алгоритма.
Случайные переходы выполняются за счет вычисления адресов переходов. Исходными данными для этого служат характеристики среды функционирования, контрольные суммы процедур (модифицируемых) и т.д. Включение таких механизмов в текст программ существенно усложняет изучение алгоритмов программ путем их трассировки.
5.2. Методы и средства организации обеспечения хранения и переработки информации в КС
Обеспечение хранения и переработки ключевой и другой информации в КС осуществляются с помощью КСЗИ, которые создаются для выполнения организационных мер защиты, эксплуатации технических, программных и криптографических средств защиты, а также для контроля за выполнением установленных правил эксплуатации КС обслуживающим персоналом и пользователями. Такие структуры входят в состав службы безопасности ведомств, корпораций, фирм, организаций.
Предыдущая << 1 .. 86 87 88 89 90 91 < 92 > 93 94 95 96 97 98 .. 143 >> Следующая

Реклама

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed

Есть, чем поделиться? Отправьте
материал
нам
Авторские права © 2009 BooksShare.
Все права защищены.
Rambler's Top100

c1c0fc952cf0704ad12d6af2ad3bf47e03017fed