- •Обнаружение вторжений на основе анализа фрагментов унитарного кода
- •1. Методы обнаружения вредоносных фрагментов унитарного кода в телекоммуникационных системах
- •1.1.1. Логическое моделирование цифровых схем с помощью эвм
- •1.1.2. Моделирование неисправностей цифровых схем
- •1.1.3. Моделирование процесса тестовой диагностики цифровых схем
- •1.1.5. Одноканальный сигнатурный анализатор
- •1.1.6. Методы, использующие сигнатуры вторжений
- •1.2. Методы и средства структурного обнаружения потенциально опасных фрагментов унитарного кода
- •1.2.1. Метод неинтеллектуального дизассемблирования
- •1.2.2. Метод интеллектуального дизассемблирования от точки входа
- •1.2.3. Метод потокового анализа
- •1.2.4. Метод разметки (предиката)
- •1.2.5. Дизассемблер автоматизированного анализа
- •1.3. Методы и средства системного обнаружения потенциально опасных фрагментов унитарного кода
- •1.3.1. Метод статистического анализа
- •1.3.2. Метод эвристического анализа
- •1.4. Этапы проведения анализа потоков унитарного кода
- •2. Программно-аппаратный комплекс обнаружения вредоносных фрагментов унитарного кода в телекоммуникационных системах
- •2.1. Методика оценки потенциальной опасности фрагментов унитарного кода
- •2.2. Алгоритм оценки потенциальной опасности фрагментов унитарного кода
- •2.3. Структурно-функциональная схема программно-аппаратного комплекса анализа фрагментов унитарного кода
- •2.4. Риск-анализ использования технологий обнаружения информационных воздействий
- •394026 Воронеж, Московский просп., 14
1. Методы обнаружения вредоносных фрагментов унитарного кода в телекоммуникационных системах
Наиболее динамично развивающимся (хотя далеко не самым крупным) сегментом рынка безопасности информационно-телекоммуникационных систем в настоящее время стали системы обнаружения и предотвращения атак. В последнее время быстро растет спрос именно на проактивные приложения, которые не просто обнаруживают угрозы направленные на информационно-телекоммуникационные системы, а работают на опережение - обращая внимание на подозрительное поведение программ в системе и предпринимая необходимые меры еще до возникновения серьезных проблем.
Объективные причины появления уязвимостей в программных продуктах заключаются в чрезвычайно высокой структурной сложности программного кода, динамичности развития версий и легкости модификации кода. К этому можно добавить проблему достоверной идентификации преднамеренно созданных программных закладок, несовершенство нормативно-методической базы и отставание инструментальной базы сертификационных испытаний.
В отличие от средств антивирусного контроля, до сих пор отсутствуют средства гарантированного выявления программных закладок в структурно сложном программном обеспечении информационно-телекоммуникационной системы. Полувековые теоретические изыскания так и не обеспечили разработки регулярного математического аппарата для оценки степени защищенности и риска для программного обеспечения, основанного на сертификационных испытаниях с целью подтвердить отсутствие программных закладок [52]. Поэтому возникают вопросы с качеством разработки отечественных программных средств для информационно-телекоммуни-кационных систем снижается уровень доверия к их зарубежным аналогам [19,20].
Основой теории информационной безопасности являются понятия уязвимости. Под уязвимостью программного кода понимается реализационный дефект программного обеспечения, потенциально снижающий степень его безопасности. Значимые классификационные признаки уязвимостей кода: преднамеренность внесения уязвимости кода (логическая ошибка кодирования, программная закладка), уровень уязвимостей и функционирования (в исходном и выполнимом коде, в среде), подсистема безопасности, компрометируемая уязвимостью (парольная, криптографическая и т.д.).
В настоящее время применяются три основных подхода к выявлению уязвимостей кода.
Во-первых, это структурный статический и динамический анализ исходного кода, предусматривающий выявление запрещенных комбинаций унитарного кода, известных сигнатур и обращений к областям, обращение к которым запрещено регламентом взаимодействия.
Во-вторых, сигнатурно-эвристический анализ потенциально опасных операций, заключающийся в сканировании кода программы на наличие таких операций и последующем ручном или автоматическом анализе фрагмента кода для выявления реальной угрозы для программного обеспечения.
В-третьих, системный анализ потенциально опасных фрагментов унитарного кода, предусматривающий оценку влияния на состояние системы получаемой последовательности кодов путем ее трассировки и имитации выполнения на принимающей ее операционной платформе.
1.1. Методы и средства сигнатурного обнаружения потенциально опасных фрагментов унитарного кода
Одной из разновидностей анализа цифровых узлов и блоков является тестовое диагностирование, применение которого на этапе проектирования и изготовления цифровых узлов позволяет определить правильность их функционирования и осуществить процедуру поиска неисправностей.
При разработке методики тестовой диагностики возникает сложность в определении эталонных реакций информационно-телекоммуникационной системы, в определении оптимального числа контрольных точек для снятия выходной реакции диагностируемой цифровой схемы. Это можно сделать либо создавая прототип разрабатываемого цифрового устройства и проводя его диагностику аппаратурными методами, либо осуществляя моделирование на ЭВМ, как цифрового устройства, так и процесса диагностики.
Второй подход является наиболее рациональным. Он предполагает создание автоматизированных систем диагностики, позволяющих производить диагностику цифровых схем на стадии проектирования и способных решать ряд задач. Рассмотрим задачи подробнее.