Научная статья на тему 'ИССЛЕДОВАНИЕ НОВЫХ ПОДХОДОВ К РАЗРАБОТКЕ МЕТОДОВ ОБНАРУЖЕНИЯ УЯЗВИМОСТЕЙ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ ВОЕННОГО НАЗНАЧЕНИЯ'

ИССЛЕДОВАНИЕ НОВЫХ ПОДХОДОВ К РАЗРАБОТКЕ МЕТОДОВ ОБНАРУЖЕНИЯ УЯЗВИМОСТЕЙ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ ВОЕННОГО НАЗНАЧЕНИЯ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
205
48
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
УЯЗВИМОСТЬ В ПРОГРАММНОМ ОБЕСПЕЧЕНИИ / СИСТЕМА АУДИТА ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ / ФАЗЗИНГ-ТЕСТИРОВАНИЕ / ЗАЩИЩЕННЫЙ РЕЖИМ ИСПОЛНЕНИЯ / МЕТОДЫ ОБНАРУЖЕНИЯ УЯЗВИМОСТИ / АВТОМАТИЗИРОВАННАЯ СИСТЕМА ВОЕННОГО НАЗНАЧЕНИЯ

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Панамарев Геннадий Евгеньевич

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

i Надоели баннеры? Вы всегда можете отключить рекламу.

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Панамарев Геннадий Евгеньевич

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

STUDY OF NEW APPROACHES TO THE DEVELOPMENT OF VULNERABILITY DETECTION METHODS IN AUTOMATED MILITARY SYSTEMS

The paper discusses the results of the study of new approaches to the development of vulnerability detection methods in military automated systems. A test bench for testing information security audit system in a virtual environment as close to real one as possible is presented.

Текст научной работы на тему «ИССЛЕДОВАНИЕ НОВЫХ ПОДХОДОВ К РАЗРАБОТКЕ МЕТОДОВ ОБНАРУЖЕНИЯ УЯЗВИМОСТЕЙ В АВТОМАТИЗИРОВАННЫХ СИСТЕМАХ ВОЕННОГО НАЗНАЧЕНИЯ»

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

Г.Е. ПАНАМАРЕВ, доктор технических наук

АННОТАЦИЯ

ABSTRACT

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

The paper discusses the results of the study of new approaches to the development of vulnerability detection methods in military automated systems. A test bench for testing information security audit system in a virtual environment as close to real one as possible is presented.

КЛЮЧЕВЫЕ СЛОВА

KEYWORDS

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

Software vulnerability, information security audit system, fuzzing, secure execution mode, vulnerability detection methods, automated military systems.

В СОВРЕМЕННЫХ войнах объектами направленного воздействия и поражения стали не только войска и оружие, но и информационно-

телекоммуникационные сети автоматизированных систем военного назначения. Использование в автоматизированных системах военного

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

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

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

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

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

Рис. 1. Структурная схема типовой 5/£М-системы

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

Для исследований общих характеристик системы аудита информационной безопасности, определения проблемных вопросов их разработки согласно требованиям Министерства обороны Российской Федерации с учетом специфики эксплуатации систем передачи данных,

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

Рис. 2. Стенд тестирования систем аудита информационной безопасности

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

Рис. 3. Элемент стенда, имитирующий действия противника

Пользователь № 1

Пользователь № 2

Рис. 4. Элементы стенда, имитирующие действия пользователей

Сеть смоделирована при помощи гипервизора VMWare ESXi полностью на виртуальных машинах. Для коммутации трафика в виртуальной сети используются виртуальные коммутаторы гипервизора VMWare ESXi. Для маршрутизации трафика в виртуальной сети используется VyOS — специальный дистрибутив Linux, созданный на базе Debian.

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

Схема составлена таким образом, что последний октет в №-адресе определенного сервиса всегда будет одинаковым в рамках одного сегмента независимо от того, где именно размещен данный сервис.

В моделируемой сети передачи данных связь между подсетями осуществляется через подсеть с «белыми» ^-адресами, которая, в свою очередь, моделирует сеть Интернет. На каждом граничном маршрутизаторе настроены статические маршруты, указывающие путь к другой подсети разрабатываемого стенда7.

Динамический анализ программного обеспечения продолжает харак-

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

Фаззинг-тестирование как технология не совершенна и имеет свои

преимущества и недостатки (рис. 5). Преимущества фаззинг-тестирова-ния таковы:

• улучшает тестирования безопасности программного обеспечения;

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

• если какая-либо из ошибок не может быть замечена тестировщи-ками из-за ограниченности времени и ресурсов, то эти ошибки могут быть обнаружены во время фаз-зинг-тестирования8.

Рис. 5. Типы фаззеров

Также в ходе исследований были выделены следующие недостатки технологии фаззинг-тестирования:

• не может дать полной картины общей угрозы или ошибок безопасности;

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

• требуются значительные временные затраты и высокопроизводительное оборудование.

Чтобы выявить ошибки, фаззер должен уметь отличать ожидаемое

(нормальное) поведения программы от неожиданного (ошибочного). Исследования показали, что машина не всегда может отличить ошибку от особенности программы (функции). В автоматизированном тестировании программного обеспечения такая ситуация называется «тестовая задача оракула»9'10'11. Определение оракула представлено в работе12.

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

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

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

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

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

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

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

четвертое — исправлять найденные критические уязвимости в первую очередь, в установленный срок (одна-две недели). Критическими уязвимостями являются: уязвимость непроверенного использования ввода пользователя; уязвимость работы с памятью (использование некорректного указателя, выход за пределы выделенной памяти); уязвимость использования неинициализированной

памяти; уязвимость целочисленного переполнения.

С помощью фаззинг-тестирова-ния были успешно решены следующие задачи:

• оценка эффективности отечественных средств защиты информации, операционных систем, средств виртуализации, офисных приложений на базе операционной системы Astra Linux;

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

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

Особый интерес представляет еще один подход к разработке методов обнаружения уязвимостей, основанный на исследованиях процессоров линейки «Эльбрус», реализованных на архитектуре Е2К. Данная архитектура базируется на принципах использования явного параллелизма, а ее основной отличительной особенностью является возможность исполнения программ как в обычном, так и в защищенном аппаратном режиме.

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

Защищенный режим исполнения архитектуры Е2К является дополнительным (рис. 6). Его можно объявить при сборке программы. В таком случае будет использоваться расширенный набор инструкций процессоров «Эльбрус». Кроме того, в защищенном режиме исполнения на аппаратном уровне контролируются типы данных переменных, находящихся в памяти, операции с ссылками, индексы массивов, а также выполняются дополнительные проверки при обращении программы к памяти, тем самым гарантируя запрет чтения и модификации участка памяти. Из-за такого поведения накладываются ограничения на исходный код программ, а именно — многие конструкции языка Си, доступные в архитектуре х86_64 и приводящие к неопределенному неустойчивому поведению программы, не могут быть использованы в защищенном режиме исполнения архитектуры Е2К. К таким конструкциям относятся:

• конструирование дескрипторов из указателей;

КЕМфигуодн .шччо кадэ бкбпнетм

napaweipoa сбогм

• модификация указателей;

• использование неинициализированных переменных;

• частично-инициализированные буферы;

• отсутствие операции возврата (return) в функции, выдающей результат;

• выравнивание дескрипторов в памяти;

• процедуры с переменным числом параметров;

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

• выполнение системных вызовов операционной системы.

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

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

7,

Сборка библиоте*

Ошибка отсутствие необходимых библиотек ft ЗР14

4.

'L 3.

Загрузка исходного ода программы Конфигурация Промда

-«кодного кода программы * параметров сборки грсиршиы

Портирсеанная

- Сборка граграимь -

ь. О,

—»

Устранима wrafc* исодиота еда

(при

Рис. 6. Методика портирования в защищенный режим исполнения Е2К

Для портирования программного обеспечения под защищенный режим исполнения архитектуры Е2К необходимо:

• провести отладку программного кода;

• верификацию кода;

• скомпилировать программы под защищенный режим исполнения;

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

Для проведения исследований был создан и настроен испытательный стенд на базе ПЭВМ общего назначения «Эльбрус 801-РС». Он позволяет проводить верификацию и отладку программного обеспечения для нахождения скрытых ошибок в программном обеспечении, написанном на языках Си/Си++, с помощью защищенного режима исполнения процессора «Эльбрус-8С».

В ходе проведения экспериментальных исследований с помощью

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

ПРИМЕЧАНИЯ

1 Климов С.М. Методы и модели противодействия компьютерным атакам. Люберцы: Каталист, 2008. 316 с.

2 Методика оценки угроз безопасности информации, утвержденная ФСТЭК России 5 февраля 2021 г.

3 Колесников Д.В., Петров А.Ю., Храмов В.Ю. Методика оценки защищенности специального программного обеспечения при проведении испытаний автоматизированных систем // Вестник Воронежского государственного университета. Серия: Системный анализ и информационные технологии, 2010. № 1. С. 74—79.

4 Уманский А.Б., Яцук Г.Е., Ананьин А.С. Оценка качества отработки программного обеспечения для систем автоматического управления на моделирующих и комплексных стендах / Труды Крыловского государственного научного центра. 2018. № 1. С. 198—204.

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

5 Викторов Д.С., Жидков Е.Н., Жидков Р.Е. Методический подход к оценке количества необнаруженных дефектов естественной семантики программы с требуемой степенью доверия при верификации программного обеспечения бортовых цифровых вычислительных комплексов космических аппаратов // Космические аппараты и технологии. 2018. Т. 2. № 1 (23). С. 47—52.

6 Давыдов А.Е., Максимов Р.В., Савицкий О.К. Безопасность ведомственных интегрированных инфокоммуникационных

систем. СПб.: ФГУП «НИИ «МАСШТАБ», 2011. 192 с.

7 Ягьяева Л.Т., Молчанов Е.А., Мубарак-шин Л.Ф. Сети передачи данных // Вестник Казанского технологического университета. 2014. Т. 17. В. 19. С. 369—371.

8 Саттон М., Грин А., Амини П. Fuzzing: исследование уязвимостей методом грубой силы / пер. с англ. СПб.: Символ-Плюс, 2009. 560 с.

9 Дифференциальное тестирование. URL: https://ru.abcdef.wiki/wiki/Differential_ testing (дата обращения: 10.01.2023).

10 Эталонная реализация. URL: https:// wikipedia.com/Эталонная_реализация (дата обращения: 10.01.2023).

11 Регрессионное тестирование. URL: https://ru.bmstu.wiki/Регрессионное тестирование (дата обращения: 10.01.2023).

12 Машина Oracle. URL: https://ru.abcdef. wiki/wiki/Oracle_machine (дата обращения: 10.01.2023).

13 Морозов А.В., Панамарев Г.Е. Исследование технологий повышения доверия к специальному программному обеспечению с применением инструментальных средств, реализующих фаззинг-тестирование // Известия РАРАН. 2022. № 3 (123). С. 129—136.

14 Панамарев Г.Е. и др. Перенос в защищенный режим исполнения «Эльбрус» утилиты для шифрования ccrypt / В сборнике: Состояние и перспективы развития современной науки по направлению «ИТ-технологии». Сборник статей I научно-технической конференции. Анапа, 2022. С. 109—118.

i Надоели баннеры? Вы всегда можете отключить рекламу.