Электронная библиотека диссертаций и авторефератов России
dslib.net
Библиотека диссертаций
Навигация
Каталог диссертаций России
Англоязычные диссертации
Диссертации бесплатно
Предстоящие защиты
Рецензии на автореферат
Отчисления авторам
Мой кабинет
Заказы: забрать, оплатить
Мой личный счет
Мой профиль
Мой авторский профиль
Подписки на рассылки



расширенный поиск

Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Иванов Михаил Александрович

Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения
<
Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения
>

Диссертация - 480 руб., доставка 10 минут, круглосуточно, без выходных и праздников

Автореферат - бесплатно, доставка 10 минут, круглосуточно, без выходных и праздников

Иванов Михаил Александрович. Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения : диссертация ... доктора технических наук : 05.13.11, 05.13.19.- Москва, 2005.- 362 с.: ил. РГБ ОД, 71 06-5/287

Содержание к диссертации

Введение

Глава 1. Стохастические методы защиты программных систем 20

1.1. Классификация методов защиты программных систем 21

1.2. Стохастические методы обеспечения безопасности информации (ОБИ). Постановка задачи 26

1.3. Задачи ОБИ, для решения которых используются генераторы псевдослучайных последовательностей (ПСП) 29

1.4. Функции генераторов ПСП в программных системах ответственного назначения 31

1.5. Причины ненадежности программных систем защиты 32

1.6. Выводы 39

Глава 2. Анализ стохастических методов защиты программных систем от умышленных деструктивных воздействий 42

2.1. Стохастические алгоритмы в задачах обеспечения секретности информации 42

2.2. Генераторы ПСП в протоколах взаимодействия удаленных абонентов 49

2.3. Генераторы ПСП в задачах разграничения доступа 75

2.4. Стохастические алгоритмы в задачах контроля целостности информации 79

2.5. Защита информации в банковском деле и электронном бизнесе 87

2.6. Выводы 95

Глава 3. Разработка и исследование методов проектирования и оценки качества программных средств генерации ПСП 96

3.1. Разработка классификации генераторов ПСП 97

3.2. Требования к генераторам ПСП, ориентированным на решение задач защиты программных систем 102

3.3. Блочные генераторы ПСП 106

3.4. Поточные генераторы ПСП 113

3.5. Генераторы ПСП на основе односторонних функций 117

3.6. Хеш-функции 121

3.7. Разработка и исследование генераторов ПСП на регистрах сдвига с линейными и нелинейными обратными связями 122

3.7.1. Линейные двоичные параллельные генераторы ПСП 125

3.7.2. Линейные недвоичные генераторы ПСП 128

3.7.3. Нелинейные генераторы ПСП 130

3.8. Аддитивные генераторы ПСП 133

3.9. Разработка и исследование генераторов ПСП на регистрах сдвига со стохастическими сумматорами в цепи обратной связи 134

3.9Л. Стохастическое преобразование информации. R-блок 135

3.9.2. Регистры сдвига со стохастическими сумматорами в цепи обратной связи (RFSR) 138

3.9.3. Модификация существующих алгоритмов генерации ПСП 142

3.10. Разработка методов и программных средств оценки качества генераторов ПСП 143

3.10.1. Методы повышения эффективности стохастических генераторов ПСП 144

3.10.2. Анализ статистической безопасности

генераторов ПСП 151

3.10.3. Разработка программного комплекса

для исследования статистических свойств ПСП 162

3.11. Выводы 168

Глава 4. Разработка и исследование стохастических методов защиты от случайных деструктивных воздействий 171

4.1. Разработка и исследование методов контроля целостности информации с использованием CRC-кодов 172

4.1.1. Многоканальные двоичные CRC-генераторы 178

4.1.2. Многоканальные недвоичные CRC-генераторы 182

4.1.3. Достоверность контроля целостности с использованием CRC-кодов 185

4.1.4. Способы обмана CRC-кодов 191

4.2. Повышение эффективности стохастического помехоустойчивого кодирования 192

4.2.1. Теория кодирования и криптография 192

4.2.2. Идея стохастического кодирования 193

4.2.3. Разработка алгоритмов многоразрядного стохастического преобразования 197

4.3. Разработка и исследование методов контроля хода выполнения программ и микропрограмм 199

4.3.1. Методы функционального диагностирования 200

4.3.2. Контроль хода выполнения программ с использованием CRC-кодов 207

4.3.3. Контроль хода выполнения программ с использованием генераторов ПСП 210

4.3.4. Достоверность контроля хода выполнения программ с использованием CRC-кодов 212

4.4. Выводы 213

Глава 5. Разработка и исследование методов защиты от разрушающих программных воздействий (РПВ) 217

5.1. Анализ уязвимостей существующих методов защиты от РПВ 217

5.2. Стохастическая вирусология: использование стохастических методов в атаках на программные системы 222

5.3. Разработка комплекса программных средств антивирусной защиты компьютерных систем, функционирующих под управлением ОС семейства МСВС 231

5.4. Техническая эффективность разработанного комплекса 235

5.5. Выводы 244

Заключение 247

Список источников информации

Введение к работе

Актуальность проблемы. Жизнь современного общества немыслима без повсеместного использования компьютерных систем (КС), связанных с вводом, хранением, обработкой и выводом информации. При этом важнейшей характеристикой любой компьютерной системы независимо от ее сложности и назначения становится безопасность циркулирующей в ней информации. Информационная безопасность давно стала самостоятельным направлением научных исследований и разработок, по этой тематике написано значительное количество монографий. Однако нерешенных проблем не становится меньше, что объясняется созданием все более совершенных компьютерных технологий, появление которых не только ставит новые проблемы обеспечения безопасности, но и представляет, казалось бы уже решенные вопросы в совершенно новом ракурсе.

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

• расширение круга пользователей, имеющих доступ к информационным ресурсам и компонентам КС;

• увеличение количества и усложнение режимов функционирования программных и аппаратных компонентов КС;

• повсеместное использование зарубежной элементной базы и программного обеспечения (ПО);

• появление общедоступной, не находящейся ни в чьем владении сети Интернет, практически во всех сегментах которой отсутствуют какие-либо контролирующие или защитные механизмы;

• бурное развитие ПО, в большинстве своем не отвечающего даже минимальным требованиям безопасности;

• все большее отстранение пользователя от процессов обработки информации и передача его полномочий ПО, обладающему некоторой свободой в своих действиях и поэтому вовсе не обязательно работающему так, как предполагает пользователь; • появление новых технологий программирования, затрудняющих оценку качества используемых программных продуктов;

• невозможность в современных условиях при осуществлении кредитно-финансовой деятельности (сферы, чрезвычайно привлекательной для злоумышленников) обойтись без активного взаимного информационного обмена среди субъектов этой деятельности [3, 33, 34, 85, 88].

Цель создания систем защиты - предупреждение или оперативное устранение последствий умышленных (преднамеренных) и случайных деструктивных воздействий. К таким последствиям можно отнести:

• разрушение, модификацию, утечку и фальсификацию информации;

• отказ от факта получения или передачи сообщения (в том числе от факта получения или передачи сообщения в определенный момент времени);

• нарушение протокола информационного взаимодействия (в том числе путем создания помех) с целью его дискредитации или компрометации;

• создание каналов утечки информации, каналов скрытого влияния на объект;

• нарушение функционирования какого-то компонента системы.

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

Эффективная система защиты должна обеспечивать:

• секретность всей информации или наиболее важной ее части;

• достоверность (полноту, точность, адекватность, целостность, аутентичность) информации; работоспособность (в том числе отсутствие недеклари-рованных возможностей) компонентов программной системы в любой момент времени;

• своевременный доступ пользователей к необходимой им информации и ресурсам программной системы;

• защиту авторских прав, прав собственников информации, возможность разрешения конфликтов;

• разграничение ответственности за нарушение установленных правил информационных отношений;

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

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

Современная наука предоставляет все необходимые алгоритмы, методы и средства, которые позволяют построить систему защиты, затраты на взлом которой таковы, что у противника с ограниченными финансовыми и техническими возможностями для получения интересующей его информации остаются только два пути - использование, во-первых, человеческого фактора, а, во-вторых, особенностей конкретной программной реализации алгоритмов обеспечения безопасности информации (ОБИ) и протоколов удаленного взаимодействия. Именно такой вывод можно сделать, анализируя примеры реальных успешных атак на программные системы ответственного назначения. Известны лишь единичные случаи взлома с использованием исключительно математических методов. В то же время различных примеров взломов реальных программных систем так много, что их анализом вынуждены заниматься целые компании, одна из наиболее известных из которых - Counterpane Systems Б. Шнайера [З, 9, 33, 34, 85, 88].

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

Эти причины ненадежности систем обеспечения безопасности чрезвычайно многообразны. Рассмотрим основные проблемы, возникающие при программной реализации алгоритмов защиты.

Наиболее опасный источник «люков» в ПО, т.е. не описанных в документации возможностей работы с ним, - неправильная обработка (или ее отсутствие) каких-либо нестандартных ситуаций, которые могут иметь место при работе программы: неопределенный ввод, ошибки пользователей, сбои и т.п. В этом случае противник может искусственно вызвать в системе появление такой нестандартной ситуации, чтобы выполнить нужные ему действия. Например, он может вызвать аварийное завершение программы, работающей в привилегированном режиме, чтобы, перехватив управление, остаться в этом привилегированном режиме [90].

Существуют программы, изначально предназначенные для разрушительных действий: это компьютерные вирусы, дропперы (droppers), сетевые черви, троянские программы, эксплойты (exploits) и пр. С полным на то основанием, они получили обобщенное название разрушающих программных воздействий (РПВ).

Получают распространение по сути «биологические» методы взлома, рассматривающие системы защиты программных систем как сложные объекты, определенным образом реагирующие на внешние раздражители. Атаки подобного рода основаны на анализе поведения программной системы после случайных или преднамеренных сбоев в работе.

Аппаратуру в отличии от ПО легче физически защитить от проникновения извне. Криптомодули, например, могут помещаться в особые контейнеры, которые делают невозможным изменение алгоритма функционирования. Интегральные схемы могут покрываться специальным химическим составом, при этом любая попытка преодоления защитного слоя приводит к самоуничтожению их внутренней логической структуры [74, 128].

Итак, несмотря на успехи современной науки, задача построения защищенной программной системы комплексная, она значительно сложнее, чем кажется на первый взгляд. Надежная система защиты может быть построена только с учетом всех перечисленных факторов [107,144].

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

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

Итак, роль генераторов ПСП является решающей. Именно от качества формируемых последовательностей зависит эффективность механизмов защиты программных систем.

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

1) создание теоретических основ построения программных средств генерации ПСП, ориентированных на использование в программных системах ответственного назначения;

2) разработка и исследование стохастических алгоритмов, методов и программных средств защиты программных систем;

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

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

Научная новизна. В диссертации проведен анализ задач, связанных с защитой программных систем от случайных и умышленных деструктивных воздействий и для решения которых используются генераторы ПСП; проведен анализ функций генераторов ПСП в КС ответственного назначения; разработана классификация генераторов ПСП, ориентированных на решение ответственных задач, связанных с обеспечением безопасности; разработаны теоретические основы построения генераторов ПСП на регистрах сдвига с линейными и нелинейными обратными связями, наиболее эффективных с точки зрения программной реализации; разработаны теоретические основы построения генераторов ПСП, использующих при реализации функции обратной связи или функции выхода стохастические сумматоры (R-блоки); разработаны теоретические основы построения многоканальных CRC-генераторов; разработаны и исследованы стохастические методы защиты программных систем от случайных и умышленных деструктивных воздействий, в частности разработаны метод полиморфного стохастического преобразования, методы контроля целостности параллельного потока данных с использованием CRC-кодов, методы контроля хода выполнения программ с использованием генераторов ПСП и CRC-генераторов; проведен анализа механизмов функционирования РПВ, использующих стохастические методы для затруднения своего обнаружения или выполнения деструктивных функций; разработаны методы внесения неопределенности в работу программных систем для повышения их устойчивости к РПВ.

Практическая ценность. Прикладными результатами работы являются: разработка алгоритмов генерации ПСП, сочетающих в себе эффективную программную реализацию и качество формируемых последовательностей, приемлемое для большинства приложений; разработка и реализация инструментальных средств оценки качества ПСП, позволяющих проводить анализ статистической безопасности генераторов ПСП; проведение исчерпывающего статистического тестирования генераторов ПСП всех существующих типов; разработка комплекса программных средств антивирусной защиты (КПС АВЗ) КС специального назначения, функционирующих под управлением ОС семейства МСВС. Комплекс обеспечивает защиту от РПВ различных типов, в том числе использующих стохастические методы для затруднения своего обнаружения. Реализовано взаимодействие с другими программными средствами (ПС) обеспечения безопасности, в том числе межсетевыми экранами, системами обнаружения атак, средствами резервного копирования и восстановления информации.

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

Апробация работы. Основные результаты работы докладывались и обсуждались на I Всесоюзной конференции «Автоматизированные системы обработки изображений» (Москва, 1981 г.), научно-техническом семинаре «Проблемы обеспечения эксплуатационной надежности сложных технических систем» (Москва, 1983 г.), республиканской конференции «Опыт разработки и применения радиоизмерительных приборов и систем» (Киев, 1984 г.), Всесоюзном семинаре «Проектирование систем технической диагностики» (Ростов-на-Дону, 1984 г.), зональной научно-практической школе-семинаре «Повышение эффективности автоматизированных систем восприятия и обработки информации» (Пенза, 1985 г.), 29, 30 и 31 научных конференциях МИФИ (1981-1985 гг.), Всесоюзной конференции «Методы и микроэлектронные средства цифрового преобразования и обработки сигналов» (Рига, 1986 г.), I Всесоюзной школе-семинаре «Разработка и внедрение в народное хозяйство персональных ЭВМ» (Минск, 1988), Всесоюзной научно-технической конференции «Совершенствование устройств памяти информационных, компьютерных и робото-технических систем» (Одесса, 1988 г.), Всесоюзной научно-технической школе «Устройства хранения информации в информационных и вычислительных системах» (Таллин, 1989 г.), Международной конференции «Информационные продукты, процессы и технологии» (Москва, 1996 г.), Международном форуме по проблемам науки, техники и образования (Москва, 1997 г.) V, VI, VII конференциях «Проблемы защиты информации в системе высшей школы» (Москва, 1998-2000 гг.), научных сессиях МИФИ 2000-2005, 60 Научной сессии, посвященной Дню радио (Москва, 2005 г.).

Реализация результатов работы.

Результаты работы внедрены в НИОКР по созданию программных средств антивирусной защиты, выполняемой по заказу Министерства обороны РФ (постановление Правительства Российской Федерации от 30.12.2003 г. № 790-48). В рамках НИОКР разработана структура, состав и механизмы функционирования компонентов КПС АВЗ для всех ОС семейства МСВС.

Разработанный программный комплекс оценки качества генераторов ПСП внедрен в НИОКР по созданию системы контроля сертификационных меток промышленных товаров, выполняемую компанией Random Art Labs Limited по заказу Департамента науки и промышленной политики г. Москвы (договор № 18-Рп/04 от 28.05.2004 г.), а также ОКР, проводимые ВНИИНС и связанные с созданием программно-аппаратных средств генерации ПСП, предназначенных для решения задачи построения защищенных программных систем ответственного назначения.

Разработанные в рамках работы генераторы ПСП и CRC-генераторы внедрены в разработки ВНИИНС (электронный замок, программное средство генерации паролей), и МИФИ (комплекс контрольно-испытательной аппаратуры бортового гамма-телескопа, созданный в рамках Советско-Индийского сотрудничества по программе «Интеркосмос»).

Результаты работы внедрены в учебный процесс кафедры № 12 МИФИ (курсы лекций «Методы и средства защиты компьютерной информации», «Защита информации в банковском деле и электронном бизнесе», «Электронные платежные системы»; лабораторный практикум «Безопасность информационных систем»).

Разработанные в рамках работы генераторы ПСП и CRC-генераторы внедрены в учебный стенд кафедры № 12 МИФИ, который используется для проведения занятий по курсам «Схемотехника ЭВМ», «Процессоры ЭВМ», «Контроль и диагностика ЭВМ» и «Микропроцессорные системы и устройства». Стенд защищен 5 авторскими свидетельствами СССР на изобретения и был признан лучшим изобретением МИФИ 1989 года.

Публикации. По теме работы опубликовано более 70 печатных работ, в том числе 7 монографий, статьи в журналах «Автоматика и вычислительная техника», «Микропроцессорные средства и системы», «Зарубежная радиоэлектроника», «Безопасность информационных технологий», «Проблемы информационной безопасности. Компьютерные системы», более 10 учебных пособий, получено более 30 авторских свидетельств СССР и патентов на изобретения.

Структура и объем работы. Диссертация состоит из 5 глав, введения, заключения, списка использованных источников информации и 15 приложений. Объем работы: 267 стр. основного текста, 90 рисунков, 9 таблиц и 95 стр. приложений.

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

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

Приводятся примеры использования стохастических методов при создании электронных платежных систем. Приводятся результаты анализа жизненного цикла цифровых денег — наиболее амбициозного решения в области электронных платежных систем Обосновывается тезис о том, что широко распространенные криптографические методы ОБИ являются всего лишь частным случаем стохастических методов.

Третья глава посвящена генераторам ПСП, ориентированным на использование в программных средствах защиты информации от случайных и умышленных деструктивных воздействий, иначе говоря, генераторам, к которым предъявляются наиболее жесткие требования. Дается классификация генераторов ПСП, рассматриваются общие принципы проектирования непредсказуемых генераторов ПСП, требования к таким устройствам, описываются основные строительные блоки, используемые при их создании. Уделяется внимание наиболее перспективным типам генераторов, а именно: блочным генераторам ПСП; поточным генераторам ПСП; генераторам ПСП на основе односторонних функций; генераторам на регистрах сдвига с линейными и нелинейными обратными связями; генераторам ПСП на основе стохастических сумматоров или R-блоков.

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

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

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

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

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

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

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

На защиту выносятся:

Теоретические основы построения программных средств генерации ПСП на основе регистров сдвига с линейными и нелинейными обратными связями;

Теоретические основы построения программных средств генерации ПСП на основе стохастических сумматоров;

Стохастические методы зашиты от умышленных и случайных деструктивных воздействий, в том числе метод полиморфного стохастического преобразования, методы контроля целостности параллельного потока данных с использованием CRC-кодов, методы контроля хода выполнения программ с использованием CRC-кодов и генераторов ПСП; Теоретические основы построения многоканальных CRC-генераторов;

Результаты теоретических исследований достоверности контроля при использовании разработанных методов;

Структура, состав и алгоритмы функционирования компонентов комплекса программных средств антивирусной защиты;

Структура и состав программного комплекса для исследования статистических свойств генераторов ПСП;

Результаты исследований генераторов ПСП всех типов;

Метод реверсинга генераторов ПСП на основе стохастических сумматоров;

Результаты исследования функций генераторов ПСП в системах обеспечения безопасности программных систем;

Алгоритмы многоразрядного стохастического преобразования.  

Задачи ОБИ, для решения которых используются генераторы псевдослучайных последовательностей (ПСП)

Функции генераторов ПСП в программных системах ответственного назначения (рис. 1.6, а): формирование тестовых воздействий на входы проверяемых компонентов системы при автономном или встроенном диагностировании; реализация счетчиков команд и/шш адреса (в том числе самопроверяемых) КС; определение соответствия между адресом порта ввода-вывода и запрашиваемой функцией при реализации плавающих протоколов взаимодействия ПО и устройств ввода-вывода (УВВ), механизма скрытых функций УВВ; формирование элементов вероятностного пространства при внесении неопределенности в результат работы (рандомизации) алгоритмов защиты информации (вероятностное шифрования, технология ОАЕР); задание последовательности выполнения при внесении неопределенности в последовательность выполнения отдельных шагов алгоритма (пермутация); задание длительности выполнения при внесении неопределенности в длительность выполнения отдельных шагов алгоритма для защиты от временных атак; формирование элементов вероятностного пространства при внесения неопределенности в механизм работы программных средств (полиморфизм, метаморфизм, запутывание программ (obfuscating)); формирование гаммы при шифровании информации в режимах гаммиро-вания и гаммирования с обратной связью; формиррвание ключей и паролей пользователей; формирование случайных запросов при аутентификации удаленных абонентов по принццпу «запрос-ответ»; формирование долей секрета в протоколах разделения секрета; формирование затемняющих множителей при слепом шифровании (например, для скрытия содержимого электронного документа при формировании слепой подписи); формирование прекурсоров для защиты прав собственников информации (протокол слепой подписи).

Функции хеш-генераторов в системах защиты информации (рис. 1.6, б): формирование контрольных кодов целостности информации или правильности выполнения шагов алгоритма; необратимое преобразование паролей для защиты парольных систем разграничения доступа; необратимое сжатие информации перед формированием электронной подписи для повышения производительности; необратимое преобразование случайных запросов при аутентификации по принципу запрос-ответ; необратимое преобразование информации для защиты от утечки (например, в схеме двойной электронной подписи); необратимое преобразование информации (прекурсора) с целью защиты прав ее владельца (например, при создании цифровой купюры); необратимое преобразование информации при реализации метода внесения неопределенности в результат работы криптоалгоритмов (например, при создании несепарабельных режимов шифрования, предназначенных для повышения стойкости симметричных криптоалгоритмов с небольшой разрядностью ключа или реализации технологии ОАЕР для асимметричных криптоалгоритмов). Материалы данного раздела базируются на результатах работ [9, 74, 90, 107,144].

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

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

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

Генераторы ПСП в задачах разграничения доступа

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

Пусть М - защищаемая информационная последовательность (битовая строка) длиной т. Простейшая схема разделения секрета между тремя абонентами А, В и С имеет следующий вид. 1) Дилер D вырабатывает две случайные битовые строки RA и RB длиной m и вычисляет Re = М Ф RA RB 2) D передает абоненту А информационную последовательность RA, абоненту В - информационную последовательность RB и абоненту С - информационную последовательность Re. 3) Чтобы прочитать информацию М абонентам А, В и С необходимо предъявить свои доли секрета RA, RB И RC длиной m и вычислить М = RA Ф RB Ф RO

Шаги 1 и 2 - это стадия распределения долей секрета. Шаг 3 - стадия восстановления секрета. Каждая доля секрета сама по себе не имеет никакого смысла, но если их сложить смысл исходной информационной последовательности полностью восстанавливается. При правильной реализации приведенный протокол полностью безопасен, так как для закрытия информации применяется абсолютно стойкий шифр, описанный ранее, и поэтому никакие вычисления не смогут помочь при попытке определить секрет по одной или двум его частям. Аналогичную схему можно легко реализовать для любого числа участников [9].

Рассмотрим схему разделения доступа Шамира. Пусть п - число участников протокола, GF(p) - конечное поле из р элементов, р - простое, р п. Поставим в соответствие каждому І-му участнику ненулевой элемент поля as, і = 1, n, и положим a0 — 0. Схема разделения доступа Шамира. Стадия распределения долей секрета S0. Дилер СРС вырабатывает t - 1 независимых равномерно распределенных на GF(p) случайных чисел Ко Kj ... К;... К(_ і и посылает каждому і-му участнику соответствующее ему значение Si = F(X) многочлена F(X) = Rt. і X -1 + Rt.2Xl-2+...-Ь R! X + Ro, где R« - S0.

Стадия восстановления секрета. Учитывая, что любой многочлен степени t - 1 однозначно восстанавливаются по его значениям в произвольных t точках, то любые t участников могут восстановить многочлен F(X), а значит найти значение секрета по формуле So = F(0). По этой же причине для любых t - 1 участников, любых значений S; и любого секрета So существует только один соответствующий им многочлен, для которого справедливо Sj = F(ctj) и S0 = F(0).

Схемы подобного типа находят применение при построении пороговых структур доступа и носят название (п, і)-пороговьгх СРС. Такие схемы, например, позволяет владельцу некоей секретной информации распределить эту информацию при хранении на п своеобразных ее дубликатов таким образом, что ему для восстановления секрета достаточно получить доступ к любым t из них. При этом никакие t - 1 дубликатов не предоставляют никакой информации об этом секрете [9].

Гибридные системы. Несмотря на все преимущества криптосистем с открытым ключом, ни одна из известных на сегодняшний день их реализаций не может конкурировать по быстродействию с криптосистемами с секретным ключом. Так, например, быстродействие системы RSA в тысячи раз ниже быстродействия DES. В результате при шифровании длинных информационных последовательностей может случиться так, что применение асимметричного алгоритма недопустимо снижает скорость информационного обмена, а применение симметричного невозможно из-за отсутствия общего секретного ключа у участников этого обмена или по каким-то другим причинам. Выходом из этой ситуации является использование гибридной криптосистемы (рис. 2.13, 2.14).

В схеме, показанной на рис. 2.13, на начальном этапе участники информационного обмена (абоненты А и В), используя протокол выработки общего секретного ключа, формируют общую секретную информацию (сеансовый ключ Кдв)- На следующем этапе для обмена зашифрованными сообщения используется криптосистема с секретным ключом.

Схема, показанная на рис. 2.14, предполагает наличие у каждого участника информационного обмена двух ключей: открытого РК и закрытого SK. Рассмотрим процесс пересылки некоего документа М. Отправитель (абонент А) вырабатывает секретный ключ - случайное число, используемое только один раз, и поэтому называемое одноразовым или сеансовым ключом. Этот ключ используется для зашифрования документа М при помощи симметричного криптоалгоритма. Сеансовый ключ зашифровывается на открытом ключе получателя (абонент В) и присоединяется к ранее зашифрованному документу. Сформированное таким образом сообщение отсылается получателю. Последний, получив сообщение, повторяет те же процедуры, но в обратном порядке. С помощью своего секретного ключа получатель восстанавливает сеансовый ключ, а затем с его помощью расшифровывает и сам документ.

Требования к генераторам ПСП, ориентированным на решение задач защиты программных систем

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

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

Идея, лежащая в основе итерационных блочных преобразований, состоит в построении криптостойкой функции путем многократного применения относительно простых криптографических преобразований, в качестве которых К.Шеннон предложил использовать преобразования замены (подстановки) (substitution) и перестановки (permutation), схемы, реализующие эти преобразования, называются SP-сетями. Действие таких преобразований аналогично «алгоритму», к которому прибегают, когда месят тесто: РАСКАТАТЬ СЛОЖИТЬ РАСКАТАТЬ СЛОЖИТЬ РАСКАТАТЬ СЛОЖИТЬ

Многократное использование этих операций (рис. 3.4) позволяет обеспечить два свойства, которые должны быть присущи непредсказуемым преобразованиям: рассеивание (diffusion) и перемешивание (confusion) информации. Рассеивание и перемешивание предполагают [7]: распространение влияния одного знака входного (исходного) блока М; данных, а также одного знака ключа к на значительное количество знаков выходного (преобразованного) блока Сі данных; сложную зависимость между входным и результирующим выходным блоками, а также между ключом и выходным блоком.

Наличие у преобразования этих свойств [7]: позволяет скрыть возможную статистическую зависимость между знаками входного блока, иначе говоря, перераспределить избыточность используемого языка посредством распространения ее на весь блок; не позволяет восстанавливать неизвестный ключ по частям; не позволяет на основе статистического анализа выходного блока получать информацию об использованном ключе.

Самые известные блочные алгоритмы — DES (Data Encryption Standard), старый американский стандарт, созданный в 1974 году, де-факто многолетний неофициальный мировой стандарт; российский ГОСТ 28147-89 и новый американский стандарт AES (Advanced Encryption Standard), принятый в 2002 году в результате многолетнего открытого международного конкурса.

Структура наиболее распространенного раундового преобразования носит название петли Фейстеля (рис. 3.5), а структура всего многораундового преобразования - сети Фейстеля. Достоинством сети Фейстеля являются абсолютно идентичные схемы прямого и обратного преобразования, в последнем случае меняется на обратную лишь последовательность использования раундовых ключей, недостатком — преобразование за один раунд лишь части входного блока (половины в случае использования сбалансированной петли Фейстеля). Структура AES носит название «Квадрат».

ГОСТ 28147-89. Классическим примером сбалансированной сети Фейстеля является преобразование, определенное в ГОСТ 28147-89 (далее просто ГОСТ). Ключевая информация ГОСТ представляет собой 2 массива данных: собственно ключ К и таблицу замен Н. Ключ - это массив К. — К 1С] .. „ К7 из

восьми 32-х разрядных элементов IQ, і - 0,7. Таким образом, размер ключа составляет 256 битов или 32 байта. Таблица замен - это набор из 8 одномерных массивов, так называемых узлов замены, каждый из которых определяет логику работы четырехразрядного блока подстановок (S-блока) и по этой причине содержит шестнадцать 4-х разрядных двоичных наборов (от 0 до 15), расположенных в произвольном порядке. Таким образом, объем таблицы замен равен 8x16x4 = 512 битов или 64 байта. Таблица замен Н в отличие от ключа К может являться долговременным ключевым элементом. Она, например, может быть общей для всех процедур криптографического преобразования в рамках одной системы защиты.

В качестве исходных данных раундовая функция ГОСТа получает 64-х разрядный блок данных D = (L, R) и 32-х разрядный раундовый ключ, в качестве которого используется один из элементов ключа К;. В ходе выполнения преобразования левая L и правая R половины блока данных рассматриваются как отдельные 32-х разрядные элементы данных, в качестве которых они подвергаются следующим преобразованиям: 1) сложение по модулю 2 полублока R и элементом ключа; 2) разбиение результата S на восемь четырехбитовых блоков, поблочная замена по таблице замен, формирование из получившихся блоков нового значения S; 3) циклический сдвиг результата S на 11 разрядов влево; 4) поразрядное сложение по модулю два (XOR) результата S и полублока L; 5) элемент R становится новым значением элемента L, значение результата предыдущей операции становится новым значением элемента R.

Полученные значения элементов L и R выдаются в качестве результата шага раундового преобразования. ГОСТ 28147-89 определяет несколько режимов работы, два из которых (гаммирование и гаммирование с обратной связью) определяют по сути схемы генерации ПСП, рассмотренные ранее на рис. 3.2. На рис. 3.7 показана ориги нальная схема генератора ПСП ГОСТ, ориентированная на использование в режиме гаммирования.

Многоканальные двоичные CRC-генераторы

Наиболее эффективная программная реализация процедуры формирования CRC-кода имеет место при выполнении трех условий: 1) использование в качестве базовой схемы Фибоначчи; 2) использование в качестве Ф(х) трехчлена вида xN + х1 + 1; 3) выбора при обработке байтов значения I, кратного 8, при обработке слов значения I, кратного 16 и т. д.

Например, программная реализация схемы ускоренного в 8 раз деления многочленов при ф(х) = х65 +х32 +1 требует помимо программной реализации параллельного LFSR всего лишь одной команды XOR для ввода в цепь обратной связи CRC-генератора очередного байта данных.

Данной ситуации соответствует схема, показанная на рис. 4.5.

Еще эффективнее реализация на 32-разрядных процессорах схемы 32-входового CRC-генератора, соответствующего тому же Ф(х) (рис. 4.6, а). Программная реализация одного такта работы этого генератора на языке Ассембле pa IBM PC в предположении, что 32-разрядное слово данных находится в регистре EDX, а [q32(t)-q2(t)q,(t)] = EAX, [q64(t)...q34(t)q33(t)] = EBX, q65W = CF, потребует всего лишь четырех инструкций (рис. 4.6, б). Первая инструкция формирует в CF значение q65(t + l)=q33(t) и «готовит» второй операнд для последующей команды XOR. Вторая инструкция формирует в ЕВХ значения [q64(t + l -.q33(t +1)]=[q32(t)--qi(t)] -Третья инструкция формирует в ЕАХ значения [q32(t + l)...qi(t + l)] = [q65(t)q32(t ..q34(t)qi(t)]. И, наконец, четвертая инструкция обеспечивает ввод в цепь обратной связи генератора 32-разрядного входного слова.

При числе анализируемых входов, превышающих разрядность CRC-генератора, т.е. при n N, существует два возможных варианта действий. Первый предполагает использование вышерассмотренной методики. На рис. 4.7 показана схема CRC-генератора при п N. Первая ступень генератора в этом случае выполняет функцию блока пространственного сжатия (БПС), вторая ступень генератора - функцию блока временного сжатия (ВВС) информации.

Второй вариант - выбор CRC-генератора разрядностью не меньше п и использование в качестве контрольного кода содержимого только части разрядов генератора. Этот вариант после обработки m n-разрядных двоичных наборов требует дополнительных тактов работы генератора в автономном режиме, чтобы искажение содержимого тех разрядов генератора, которые не используются в качестве контрольных, «добрались» бы до тех из них, которые являются выходными (контрольными). При соответствующем выборе многочлена обратной связи, например использования схемы Фибоначчи и Ф(х) = xn+1 + хп + 1, можно получить наиболее эффективные с точки зрения программной реализации технические решения.

Принцип действия п-входового CRC-генератора можно описать как наложение с помощью операции сложения в GF(p) последовательности с выхода генератора М-последовательности, функционирующего в GF(p), на входную п разрядную последовательность (2П р).

Более продуктивным с точки зрения дальнейших рассуждений, как и в двоичном случае, будет описание процесса получения CRC-кода как деления многочлена входной п-разрядной последовательности на характеристический многочлен CRC-генератора. Пусть на его входы поступают двоичные последовательности а{ =а!0а„ ... ц ... ai(m_1}; i = 0,(n-l), j = 0,(m-l) ац є {О, і}, где m - длина анализируемых последовательностей. Входным последовательностям можно поставить в соответствие многочлен А(х) = A0xm- +... + Ajxm-j-1 +... + Ат_! степени m - 1, коэффициенты А- єGF(p) которого определяются видом соответствующего двоичного набора a(n_])j...aij...aljaoj,j = 0,(m-l).

Процесс получения CRC-кода будет заключаться в делении многочлена А(х) на характеристический многочлен генератора ф(х), которым является определитель матрицы Т + хЕ, где Е - единичная матрица. Характеристический многочлен связан с образующим следующим образом ф(х) = ф(х"1)хы. Системы линейных уравнений, описывающих работу недвоичных CRC-генераторов на основе схем Фибоначчи (рис. 4.8) и Галуа, имеют соответственно вид (4.1) и (4.2)

Похожие диссертации на Разработка и исследование стохастических методов и средств защиты программных систем ответственного назначения