ПОСТРОЕНИЕ И ПРОГРАММНАЯ РЕАЛИЗАЦИЯ МОДЕЛИ ВИРТУАЛЬНОЙ ИНФРАСТРУКТУРЫ КОМПЬЮТЕРНОЙ СЕТИ ДЛЯ ПРОВЕРКИ УМЕНИЯ ПОИСКА И ЭКСПЛУАТАЦИИ УЯЗВИМОСТИ
|
СПИСОК СОКРАЩЕНИЙ И УСЛОВНЫХ ОБОЗНАЧЕНИЙ 4
СПИСОК ТЕРМИНОВ 5
ВВЕДЕНИЕ 7
ГЛАВА 1 9
1.1. ИНФРАСТРУКТУРА КОМПЬЮТЕРНОЙ СЕТИ ПРЕДПРИЯТИЯ 10
1.2. ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ КОМПЬЮТЕРНОЙ
ИНФРАСТРУКТУРЫ 12
1.3. СПОСОБЫ ПРОВЕРКИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В
КОМПЬЮТЕРНЫХ СЕТЯХ 14
1.4. ОСОБЕННОСТИ ПРОВЕДЕНИЯ ТЕСТИРОВАНИЯ НА
ПРОНИКНОВЕНИЕ 16
1.5. МЕТОДЫ ОБУЧЕНИЯ И ПРОВЕРКИ НАВЫКОВ ТЕСТИРОВАНИЯ
НА ПРОНИКНОВЕНИЕ 20
1.6. СУЩЕСТВУЮЩИЕ РАЗРАБОТКИ 24
1.7. АНАЛИЗ И СРАВНЕНИЕ СПИСКОВ УЯЗВИМОСТЕЙ 27
1.8 ВЫВОДЫ ПО ГЛАВЕ 1 29
ГЛАВА 2 31
2.1. ТРЕБОВАНИЯ К РАЗРАБАТЫВАЕМОМУ ПРОДУКТУ 31
2.2. МОДЕЛЬ УЯЗВИМОЙ ВИРТУАЛЬНОЙ ИНФРАСТРУКТУРЫ 33
2.3. АРХИТЕКТУРА ПРОГРАММНОГО ПРОДУКТА
АВТОМАТИЗИРОВАННОГО СОЗДАНИЯ УЯЗВИМОЙ ВИРТУАЛЬНОЙ ИНФРАСТРУКТУРЫ 34
2.4. ВЫБОР ТЕХНОЛОГИИ ВИРТУАЛИЗАЦИИ 36
2.5. РАЗРАБОТКА БАЗОВЫХ ОБРАЗОВ КОНЕЧНЫХ УСТРОЙСТВ 42
2.6. РАЗРАБОТКА УЯЗВИМЫХ МОДУЛЕЙ 45
2.7. РАЗРАБОТКА АДМИНИСТРАТИВНОЙ ПАНЕЛИ 50
ЗАКЛЮЧЕНИЕ 54
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 56
ПРИЛОЖЕНИЕ 1. ПРОГРАММНЫЙ КОД ОБЪЕКТОВ МОДЕЛИ 63
ПРИЛОЖЕНИЕ 2. СОДЕРЖИОЕ ШАБЛНА ФАЙЛА КОНФИГУРАЦИИ 67
ПРИЛОЖЕНИЕ 4. ПРОГРАММНЫЙ КОД, СОДЕРЖАЩИЙ УЯЗВИМОСТЬ "ВНЕДРЕНИЕ КОДА" 69
ПРИЛОЖЕНИЕ 5. ПРОГРАММНЫЙ КОД, СОДЕРЖАЩИЙ УЯЗВИМОСТЬ
НЕКОРРЕКТНОЙ АУТЕНТИФИКАЦИИ 70
СПИСОК ТЕРМИНОВ 5
ВВЕДЕНИЕ 7
ГЛАВА 1 9
1.1. ИНФРАСТРУКТУРА КОМПЬЮТЕРНОЙ СЕТИ ПРЕДПРИЯТИЯ 10
1.2. ИНФОРМАЦИОННАЯ БЕЗОПАСНОСТЬ КОМПЬЮТЕРНОЙ
ИНФРАСТРУКТУРЫ 12
1.3. СПОСОБЫ ПРОВЕРКИ ИНФОРМАЦИОННОЙ БЕЗОПАСНОСТИ В
КОМПЬЮТЕРНЫХ СЕТЯХ 14
1.4. ОСОБЕННОСТИ ПРОВЕДЕНИЯ ТЕСТИРОВАНИЯ НА
ПРОНИКНОВЕНИЕ 16
1.5. МЕТОДЫ ОБУЧЕНИЯ И ПРОВЕРКИ НАВЫКОВ ТЕСТИРОВАНИЯ
НА ПРОНИКНОВЕНИЕ 20
1.6. СУЩЕСТВУЮЩИЕ РАЗРАБОТКИ 24
1.7. АНАЛИЗ И СРАВНЕНИЕ СПИСКОВ УЯЗВИМОСТЕЙ 27
1.8 ВЫВОДЫ ПО ГЛАВЕ 1 29
ГЛАВА 2 31
2.1. ТРЕБОВАНИЯ К РАЗРАБАТЫВАЕМОМУ ПРОДУКТУ 31
2.2. МОДЕЛЬ УЯЗВИМОЙ ВИРТУАЛЬНОЙ ИНФРАСТРУКТУРЫ 33
2.3. АРХИТЕКТУРА ПРОГРАММНОГО ПРОДУКТА
АВТОМАТИЗИРОВАННОГО СОЗДАНИЯ УЯЗВИМОЙ ВИРТУАЛЬНОЙ ИНФРАСТРУКТУРЫ 34
2.4. ВЫБОР ТЕХНОЛОГИИ ВИРТУАЛИЗАЦИИ 36
2.5. РАЗРАБОТКА БАЗОВЫХ ОБРАЗОВ КОНЕЧНЫХ УСТРОЙСТВ 42
2.6. РАЗРАБОТКА УЯЗВИМЫХ МОДУЛЕЙ 45
2.7. РАЗРАБОТКА АДМИНИСТРАТИВНОЙ ПАНЕЛИ 50
ЗАКЛЮЧЕНИЕ 54
БИБЛИОГРАФИЧЕСКИЙ СПИСОК 56
ПРИЛОЖЕНИЕ 1. ПРОГРАММНЫЙ КОД ОБЪЕКТОВ МОДЕЛИ 63
ПРИЛОЖЕНИЕ 2. СОДЕРЖИОЕ ШАБЛНА ФАЙЛА КОНФИГУРАЦИИ 67
ПРИЛОЖЕНИЕ 4. ПРОГРАММНЫЙ КОД, СОДЕРЖАЩИЙ УЯЗВИМОСТЬ "ВНЕДРЕНИЕ КОДА" 69
ПРИЛОЖЕНИЕ 5. ПРОГРАММНЫЙ КОД, СОДЕРЖАЩИЙ УЯЗВИМОСТЬ
НЕКОРРЕКТНОЙ АУТЕНТИФИКАЦИИ 70
Согласно данным Генеральной прокуратуры РФ, за первую половину 2019 года правоохранительными органами было зарегистрировано увеличение количества преступлений, совершаемых с использованием информационных технологий или в сфере компьютерной информации [Статистический сборник “Состояние преступности в России за июль 2019 г.”]. В связи с этим существует дефицит квалифицированных кадров, занимающихся аудитом информационной безопасности предприятий. Наиболее актуальным навыком таких специалистов является умение поиска и эксплуатации уязвимостей.
Кроме того, с 2017 по настоящее время наблюдается ежегодный рост количества выпускников, обучавшихся по образовательным программам специальностей и направлений подготовки 10.00.00 «Информационная безопасность» (рис. 1). [Первый рейтинг «Подготовка кадров для ИТ-отрасли в регионах»] [Анализ состояния системы подготовки специалистов в области информационной безопасности, с. 5-6]
Рис 1. Динамика количества выпускников образовательных организаций по
группе специальностей и направлений подготовки 10.00.00 «Информационная
безопасность»
Выпускники ВУЗов при этом испытывают недостаток практических навыков, которыми они должны обладать после обучения. Связано это с акцентом на преподавание преимущественно теоретического материала [Пантюхин И.С., Дранник А.Л., Птицын, с. 190-191]. Для решения данной проблемы необходимо разрабатывать занятия на современном оборудовании и ПО, ориентированные именно на практические аспекты ИБ. Однако создание таких заданий для проведения занятий связано с большими затратами труда, времени и ресурсов.
Последующая проверка практических навыков связана с теми же затратами ресурсов. Кроме того, она требует разработки дополнительных заданий, так как проверка знаний на обучающем материале не позволяет достоверно оценить навыки.
Кроме того, как показывают исследования [A virtual environment for the enactment of realistic cyber security scenarios, c. 1-2], компаниям, занимающимся практическими аспектами информационной безопасностями, такими как тестирование на проникновение и аудитом ИБ, приходится затрачивать большое количество времени и ресурсов для создания собственных тестовых лабораторных для оценки навыков поиска и эксплуатации уязвимостей компьютерных инфраструктур.
Сэкономить время в данном случае помогло бы средство, благодаря которому автоматизировано создавались и настраивались виртуальные лабораторные стенды для проверки навыков.
В связи со всем вышеперечисленным, целью данной работы является: разработать программный продукт для автоматизированного создания уязвимых виртуальных инфраструктур с заданными конфигурациями, использование которых позволит сэкономить время и ресурсы компании, а также объективно оценить практические навыки и умения испытуемого при приеме на работу на должность, связанную с информационной безопасностью.
Для достижения поставленной цели были выделены следующие задачи:
• Исследование особенностей проведения тестирования на проникновение и выделение навыков, которые требуются от специалиста;
• Построение модели уязвимой виртуальной инфраструктуры;
• Исследование существующих разработок в сфере создания виртуальных стендовых лабораторных;
• Исследование особенностей автоматизированного создания виртуальной инфраструктуры и внедрения уязвимостей в них;
• Разработка базового образа операционной системы;
• Разработка базы модулей, содержащих уязвимости, готовых для внедрения в базовый образ;
• Разработка метода внедрения уязвимых модулей в базовый образ;
• Разработка метода создания сети виртуальных машин - виртуальной инфраструктуры;
• Разработка административной панели, которая позволяет производить настройку, запуск и администрирование виртуальной инфраструктуры;
• Тестирование и апробация программного продукта на примере создания наборов инфраструктур с заданными уязвимостями
Кроме того, с 2017 по настоящее время наблюдается ежегодный рост количества выпускников, обучавшихся по образовательным программам специальностей и направлений подготовки 10.00.00 «Информационная безопасность» (рис. 1). [Первый рейтинг «Подготовка кадров для ИТ-отрасли в регионах»] [Анализ состояния системы подготовки специалистов в области информационной безопасности, с. 5-6]
Рис 1. Динамика количества выпускников образовательных организаций по
группе специальностей и направлений подготовки 10.00.00 «Информационная
безопасность»
Выпускники ВУЗов при этом испытывают недостаток практических навыков, которыми они должны обладать после обучения. Связано это с акцентом на преподавание преимущественно теоретического материала [Пантюхин И.С., Дранник А.Л., Птицын, с. 190-191]. Для решения данной проблемы необходимо разрабатывать занятия на современном оборудовании и ПО, ориентированные именно на практические аспекты ИБ. Однако создание таких заданий для проведения занятий связано с большими затратами труда, времени и ресурсов.
Последующая проверка практических навыков связана с теми же затратами ресурсов. Кроме того, она требует разработки дополнительных заданий, так как проверка знаний на обучающем материале не позволяет достоверно оценить навыки.
Кроме того, как показывают исследования [A virtual environment for the enactment of realistic cyber security scenarios, c. 1-2], компаниям, занимающимся практическими аспектами информационной безопасностями, такими как тестирование на проникновение и аудитом ИБ, приходится затрачивать большое количество времени и ресурсов для создания собственных тестовых лабораторных для оценки навыков поиска и эксплуатации уязвимостей компьютерных инфраструктур.
Сэкономить время в данном случае помогло бы средство, благодаря которому автоматизировано создавались и настраивались виртуальные лабораторные стенды для проверки навыков.
В связи со всем вышеперечисленным, целью данной работы является: разработать программный продукт для автоматизированного создания уязвимых виртуальных инфраструктур с заданными конфигурациями, использование которых позволит сэкономить время и ресурсы компании, а также объективно оценить практические навыки и умения испытуемого при приеме на работу на должность, связанную с информационной безопасностью.
Для достижения поставленной цели были выделены следующие задачи:
• Исследование особенностей проведения тестирования на проникновение и выделение навыков, которые требуются от специалиста;
• Построение модели уязвимой виртуальной инфраструктуры;
• Исследование существующих разработок в сфере создания виртуальных стендовых лабораторных;
• Исследование особенностей автоматизированного создания виртуальной инфраструктуры и внедрения уязвимостей в них;
• Разработка базового образа операционной системы;
• Разработка базы модулей, содержащих уязвимости, готовых для внедрения в базовый образ;
• Разработка метода внедрения уязвимых модулей в базовый образ;
• Разработка метода создания сети виртуальных машин - виртуальной инфраструктуры;
• Разработка административной панели, которая позволяет производить настройку, запуск и администрирование виртуальной инфраструктуры;
• Тестирование и апробация программного продукта на примере создания наборов инфраструктур с заданными уязвимостями
В рамках данной работы были проанализированы методы проверки практических навыков и умений специалиста по тестированию на проникновение в информационную инфраструктуру, обоснована их необходимость, а также показана актуальность исследований в данной области.
В ходе работы было показано, что существующие методы проверки навыков имеют как положительные, так и отрицательные стороны. Основной выделенной проблемой указанных методов является большая трата времени и ресурсов, которые затрачивают сотрудники при подготовке к проведению оценки испытуемого.
Для решения данной проблемы была поставлена цель: разработать программный продукт для автоматизированного создания уязвимых виртуальных инфраструктур с заданными конфигурациями, использование которых позволит сэкономить время и ресурсы компании, а также объективно оценить практические навыки и умения испытуемого при приеме на работу на должность, связанную с информационной безопасностью.
Для достижения поставленной цели были выделены следующие задачи:
• Исследование особенностей проведения тестирования на проникновение и выделение навыков, которые требуются от специалиста;
• Построение модели уязвимой виртуальной инфраструктуры;
• Исследование существующих разработок в сфере создания виртуальных стендовых лабораторных;
• Исследование особенностей автоматизированного создания виртуальной инфраструктуры и внедрения уязвимостей в них;
• Разработка базового образа операционной системы;
• Разработка базы модулей, содержащих уязвимости, готовых для внедрения в базовый образ;
• Разработка метода внедрения уязвимых модулей в базовый образ;
• Разработка метода создания сети виртуальных машин - виртуальной инфраструктуры;
• Разработка административной панели, которая позволяет производить настройку, запуск и администрирование виртуальной инфраструктуры;
• Тестирование и апробация программного продукта на примере создания наборов инфраструктур с заданными уязвимостями
В ходе решения поставленных задач были разработаны ролевая модель и требования, предъявляемые к ПО на основании ролей, а также уже существующих разработок. На базе данных требований была разработана и реализована архитектура программного продукта для быстрого создания виртуальных машин, внедрения в них разработанных программных модулей и объединение их в виртуальную инфраструктуру, имитирующую реальную, на основе заданных оператором параметров.
Разработанные модули позволяют проверить у испытуемого знания основных популярных уязвимостей, согласно рейтингу “OWASP TOP-10”, а также навыки владения основными инструментами, применяющимися специалистами по тестированию на проникновение на различных этапах модели “Cyber Kill-chain”. Следовательно, виртуальная инфраструктура, получаемая в результате работы программы, может быть использована для объективной оценки навыков специалиста.
Таким образом задачи решены в полном объеме, а цель - достигнута.
В ходе работы было показано, что существующие методы проверки навыков имеют как положительные, так и отрицательные стороны. Основной выделенной проблемой указанных методов является большая трата времени и ресурсов, которые затрачивают сотрудники при подготовке к проведению оценки испытуемого.
Для решения данной проблемы была поставлена цель: разработать программный продукт для автоматизированного создания уязвимых виртуальных инфраструктур с заданными конфигурациями, использование которых позволит сэкономить время и ресурсы компании, а также объективно оценить практические навыки и умения испытуемого при приеме на работу на должность, связанную с информационной безопасностью.
Для достижения поставленной цели были выделены следующие задачи:
• Исследование особенностей проведения тестирования на проникновение и выделение навыков, которые требуются от специалиста;
• Построение модели уязвимой виртуальной инфраструктуры;
• Исследование существующих разработок в сфере создания виртуальных стендовых лабораторных;
• Исследование особенностей автоматизированного создания виртуальной инфраструктуры и внедрения уязвимостей в них;
• Разработка базового образа операционной системы;
• Разработка базы модулей, содержащих уязвимости, готовых для внедрения в базовый образ;
• Разработка метода внедрения уязвимых модулей в базовый образ;
• Разработка метода создания сети виртуальных машин - виртуальной инфраструктуры;
• Разработка административной панели, которая позволяет производить настройку, запуск и администрирование виртуальной инфраструктуры;
• Тестирование и апробация программного продукта на примере создания наборов инфраструктур с заданными уязвимостями
В ходе решения поставленных задач были разработаны ролевая модель и требования, предъявляемые к ПО на основании ролей, а также уже существующих разработок. На базе данных требований была разработана и реализована архитектура программного продукта для быстрого создания виртуальных машин, внедрения в них разработанных программных модулей и объединение их в виртуальную инфраструктуру, имитирующую реальную, на основе заданных оператором параметров.
Разработанные модули позволяют проверить у испытуемого знания основных популярных уязвимостей, согласно рейтингу “OWASP TOP-10”, а также навыки владения основными инструментами, применяющимися специалистами по тестированию на проникновение на различных этапах модели “Cyber Kill-chain”. Следовательно, виртуальная инфраструктура, получаемая в результате работы программы, может быть использована для объективной оценки навыков специалиста.
Таким образом задачи решены в полном объеме, а цель - достигнута.



