Тема: ВЫЯВЛЕНИЕ ВРЕДОНОСНОГО ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ВНЕДРЕННОГО В ЯДРО LINUX
Закажите новую по вашим требованиям
Представленный материал является образцом учебного исследования, примером структуры и содержания учебного исследования по заявленной теме. Размещён исключительно в информационных и ознакомительных целях.
Workspay.ru оказывает информационные услуги по сбору, обработке и структурированию материалов в соответствии с требованиями заказчика.
Размещение материала не означает публикацию произведения впервые и не предполагает передачу исключительных авторских прав третьим лицам.
Материал не предназначен для дословной сдачи в образовательные организации и требует самостоятельной переработки с соблюдением законодательства Российской Федерации об авторском праве и принципов академической добросовестности.
Авторские права на исходные материалы принадлежат их законным правообладателям. В случае возникновения вопросов, связанных с размещённым материалом, просим направить обращение через форму обратной связи.
📋 Содержание
1 Руткиты 9
1.1 Общие сведения о руткитах, работающих в среде GNU/Linux ... 9
1.2 Подсистемы ядра Linux 10
1.2.1 Интерфейс системных вызовов 10
1.2.2 Управление процессами 13
1.2.3 Управление памятью 14
1.2.4 Подсистема виртуальных файловых систем 15
1.2.5 Сетевой стек 21
1.2.6 Драйвера устройств 21
1.2.7 Архитектурно-зависимый код 22
1.3 Ключевые механизмы работы ядерных руткитов 22
1.3.1 Уровня приложения 22
1.3.2 Уровня библиотек 23
1.3.3 Уровня ядра 23
1.4 Техники сокрытия 24
1.4.1 Перехват 24
1.4.2 Модификация структур ядра 25
2 Существующие методы обнаружения руткитов 26
2.1 Базовые методы 26
2.1.1 lsmod 26
2.1.2 Проверка наличия нелигитимных модулей ядра в директории /sys/module/ 26
2.1.3 Проверка корректности таблицы системных вызовов ... 27
2.1.4 Проверка корректности структуры файловых операций . . 27
2.1.5 Проверка наличия нелигитимных модулей ядра в файле /proc/modules 27
2.1.6 Сравнение содержимого виртуальной файловой системы procfs с выводом команды ps aux 27
2.1.7 Перебор всех возможных идентификаторов процесса. ... 28
2.2 Существующее программное обеспечение для выявления руткитов 28
2.2.1 zeppoo 28
2.2.2 chkrootkit 28
2.2.3 rkhunter 28
2.2.4 unhide 29
3 Разработка методов выявления руткитов 30
3.1 Методы выявления вредоносного программного обеспечения, производящего скрытие процессов операционной системы 30
3.2 Методы выявления вредоносного программного обеспечения, производящего скрытие сетевых соединений 32
3.3 Методы выявления вредоносного программного обеспечения, производящего скрытие объектов файловой системы 35
4 Методы защиты от противодействия своей работе со стороны вредоносного программного обеспечения на уровне ядра операционной системы . . 37
4.1 Основные способы защиты исполняемых файлов 39
4.2 Обфускация сегмента исполняемого кода 40
4.3 Защита модуля ядра от модификации 41
4.4 Случайная перестановка полей структур 42
4.5 Защита межпроцессного взаимодействия между модулем ядра и приложением пользовательского пространства 44
5 Разработка средства обнаружения компрометации ядра 45
5.1 Общее описание 45
5.2 Разработка средства протоколирования 45
5.2.1 Интерфейс для сервисной утилиты 51
5.3 Разработка сервисной утилиты 52
6 Методика настройки и эксплуатации 54
6.1 Общие cведения о программном средстве 54
6.2 Установка и настройка программного средства 55
7 Экспериментальные исследования разработанных алгоритмов 58
7.1 Описание метода проведения исследования 58
7.2 Diamorphine 58
7.3 ivyl rootkit 59
7.4 nurupo rootkit 60
7.5 NoviceLive research-rootkit 61
7.6 Общий результат исследования 62
Заключение 63
Список использованных источников 64
Приложение А Алгоритм функционирования метода выявления скрытых процессов 66
Приложение Б Алгоритм функционирования метода выявления скрытых сетевых соединений 68
Приложение В Алгоритм функционирования метода выявления скрытых объектов файловой системы 70
Приложение Г Схема планировщика задач ядра Linux 72
Приложение Д Схема слоя виртуальных файловых систем ядра Linux .... 74
Приложение Е Схема сетевого стека ядра Linux 76
Приложение Ж Акт о внедрении 76
📖 Введение
Объемы вредоносного ПО постоянно увеличиваются, и в течении нескольких десятков лет, прошедших с момента появления первых вирусов, количество инцидентов безопасности (и связанных с ними финансовых потерь) продолжает расти в геометрической прогрессии [1].
Закономерным завершением атаки является процесс закрепления на системе. Для этих целей используются руткиты - ПО, обеспечивающее злоумышленнику возможность скрывать свое воздействие на систему, также скрывая и наличие самого вредоносного ПО [2].
Актуальность данного дипломного проекта состоит в том, что несмотря на рост количества инцидентов, связанных с вредоносным программным обеспечением, на данный момент отсутствуют эффективные средства обнаружения вредоносного программного обеспечения на уровне ядра Linux.
Целью данной выпускной квалификационной работы является разработка методов выявления вредоносного программного обеспечения, внедренного в ядро Linux.
Для достижения цели выпускной квалификационной работы были постав-лены следующие задачи:
- описание существующих методов обнаружения руткитов, внедренных в ядро Linux;
- описание разработанных методов;
- разработка алгоритмов выявления вредоносного программного обеспечения;
- разработка и описание средства по обнаружению компрометации ядра;
- разработка и описание методики настройки и эксплуатации средства обнаружения компрометации ядра.
✅ Заключение
Основной задачей, которую необходимо было решить проведенным исследованием, было исследование существующих методов обнаружения руткитов, а также формирование новых - как путем улучшения существующих, так и путем поиска других подходов к обнаружению.
В итоге был сформирован определенный подход к поиску вредоносного программного обеспечения, которое производит скрытие какой-либо активности злоумышленника. Подход состоит в использовании активного протоколирования потоков информации на разных уровнях ядра, давая возможность сравнить реальные процессы, происходящие с вычислительными ресурсами операционной системы, с теми процессами, информацию о которых предоставляют утилиты пользовательского пространства.
Был обнаружен существенный недостаток существующего программного обеспечения по выявлению руткитов для Linux - почти полное отсутствие механизмов, позволяющих предотвратить атаки со стороны непосредственно вредоносного программного обеспечения, тем самым становясь бесполезным перед множеством потенциальных и реальных примеров вредоносного программного обеспечения.
Кроме сформированных методов результатом работы также является средство, которое содержит реализованные методы, которые ранее были описаны в дипломном проекте, позволяет обнаружить скрытые от пользователя файлы, процессы и сетевые соединения, при этом значительно уменьшая потециальные возможности для атак на непосредственно средство обнаружения.
Таким образом, все пункты технического задания выполнены полностью.





