Текст книги "Защита операционных систем. Учебное пособие"
Автор книги: Виталий Грызунов
сообщить о нарушении
Текущая страница: 1 (всего у книги 2 страниц)
Виталий Грызунов, Вячеслав Бурлов
Защита операционных систем. Учебное пособие
Список
сокращений
ACL – Access Control List
ARP – Address Resolution Protocol
CIDR – Classless Inter Domain Routing
CSMA/CD – Carrier sense multiple access/collision detection
DNS – Domain Name System
FDDI – Fiber Distributed Data Interface
FTP – File Transfer Protocol
ICMP – Internet Control Message Protocol
IEEE – Institute of Electrical and Electronics Engineers
IP – Internet Protocol
ISO – Internet Standard Organization
LLC – Logical Link Control
MAC – Media Access Control
MITM – Man-in-the-Middle
MTU – Maximum Transmission Unit
OSI – Open System Interface
RARP – Reverse Address Resolution Protocol
RDP – Remote Desktop Protocol
RFC – Request For Comments
RPC – Remote Procedure Call
TCP – Transmission Control Protocol
TTL – Time-To-Life
UDP – User Datagram Protocol
VLSM – Variable Length Subnet Mask
ВС – Вычислительная Сеть
ЛВС – Локальная Вычислительная Сеть
МСЭ – Межсетевой Экран
ОС – Операционная Система
ПО – Программное Обеспечение
СЗИ – Средство Защиты Информации
СКЗИ – Средство Криптографической Защиты Информации
Введение
Информационные технологии проникают во все сферы человеческой деятельности, и как следствие, к практически любому элементу автоматической или автоматизированной системы можно получить доступ из произвольной точки планеты. Это приводит к тому, что теперь недостаточно просто обеспечить работоспособность основных элементов систем, теперь необходимо защищать имеющие ресурсы в виртуальном пространстве. По всем аспектам информационной безопасности: целостности, конфиденциальности и доступности.
Особенность виртуального пространства в том, что оно сильно распределено в физическом пространстве, и нарушитель информационной безопасности может атаковать систему как изнутри, так и снаружи с использованием сетевого взаимодействия. Именно поэтому в учебном пособии особое внимание уделяется сетевому взаимодействию и защите распределённых и сетевых операционных систем.
Задача учебного пособия – дать краткий теоретический материал по изучаемым темам и сосредоточиться на упражнениях для освоения обучающимися деталей и тонкостей, которые сложно уловить в лекционном формате или формате простого чтения.
Первый раздел описывает подход, позволяющий рассчитать время жизни средства защиты информации, то есть время, по истечении которого, необходимо средство заменить или обновить.
Второй и третий разделы посвящены исследованию защищённости ОС Windows и ОС *nix с помощью сканеров уязвимостей. Предлагается способ снять парольную защиту независимо от сложности пароля.
Разделы четыре и пять представляют встроенные возможности ОС Windows и ОС *nix по разграничению доступа, запрету или разрешению на запуск отдельных приложений и делегированию прав.
В шестом разделе предлагается решить вопрос мандатного разграничения доступа к файлам встроенными средствами ОС Windows.
Седьмой раздел исследует составную часть любого современного средства защиты информации – средство криптографической защиты информации. Созданные в результате работы ключи электронной подписи применяются для аутентификации и идентификации пользователя, для защиты электронной почты, для создания виртуальных частных сетей, защиты удалённого доступа к операционной системе, который изучается в восьмом разделе, и много другого.
Девятый раздел посвящён знакомству с протоколами Interne/Intranet, на базе которых строятся распределённые и сетевые операционные системы, и перехвату конфиденциальной информации в трафике. Для изучения работы протоколов предполагается использование программ-анализаторов сетевого трафика (sniffer) и утилит проверки наличия сетевого взаимодействия. Предлагается инструмент (scapy), позволяющий генерировать («крафтить», to craft) произвольные пакеты или подделывать их.
В десятом разделе изучаются вопросы подготовки атаки «человек в середине» (Man-in-the-Middle, MITM) путём создания нужных маршрутов и перенаправления трафика жертвы. Дополнительно рассматриваются вопросы формирования адресного пространства, используемого в работе протокола IP, изучается маршрутизация IP-пакетов в ОС *nix и ОС семейства Windows и работа необходимых для этого утилит.
В одиннадцатом разделе акцентировано внимание на размещении и настройке межсетевого экрана, то есть хоста, производящего фильтрацию пакетов.
Двенадцатый раздел демонстрирует возможности проведения атаки MITM через DNS–протокол преобразования доменных имён в IP адреса.
При подготовке пособия учитывался двадцатилетний опыт авторов по сетевому администрированию и управлению информационной безопасностью. В конце каждого раздела приведены индивидуальные задания для работы студентов, а также перечень литературы, материалы которой использовались при подготовке раздела.
1 Исследование времени жизни средства защиты информации
1.1 Цель занятия
Закрепление навыков расчёта случайных величин, обоснование актуальности обновления средств защиты информации (СЗИ).
Методические указания студенту
Лабораторному занятию предшествует целевая самоподготовка, на которой необходимо изучить:
– основные приёмы работы в программе MS Excel или Matlab;
– способы расчёта случайных величин.
В результате выполнения лабораторной работы каждый студент должен уметь:
– преобразовывать данные о выходе новых вирусов в пригодную для дальнейшей обработки форму;
– строить статистические закономерности появления новых вирусов и уязвимостей;
– рассчитывать время жизни СЗИ.
1.2 Теоретические основы занятия
Рассмотрим работу СЗИ на примере антивируса.
Для упрощения расчётов предположим, что появление неизвестного вируса (ПНИВ) однозначно приводит к отказу антивируса (СЗИ), т.е. вероятность появления ПНИВ и вероятность отказа СЗИ (Рм) в данном случае можно приравнять, тогда воспользовавшись частотным свойством вероятности [1], определим Рм как:
где N(t) – общее количество ИВ (в данном случае вирусов),
– количество принципиально новых информационных вторжений (в данном случае новых вирусов), появившихся на интервале ,
– количество известных вирусов на начало первого интервала,
К – количество интервалов.
Итак, для расчёта Рм(t) необходимо знать количество ПНИВ в каждый момент времени t. Для прошедших моментов времени это тривиальная задача. В базе данных антивируса содержится информация о количестве известных программе вирусов. Если из количества вирусов в момент времени tn вычесть количество вирусов в момент tn-1, то получим количество неизвестных вирусов в момент tn, если не проводилось обновление базы данных.
В момент t0 возьмём количество вирусов, находящихся в базе данных к моменту t1.
1.3 Порядок выполнения работы
1. Получить задание у преподавателя.
2. Скачать информацию о количестве доступных вирусов по адресу https://updates.drweb.com.
3. Построить график частоты появления новых вирусов за сутки. Интервалов должно быть не меньше 12, и они должны быть РАВНЫМИ. Поскольку новые вирусы появляются в разные промежутки времени, необходимо посчитать, сколько вирусов появилось на каждом интервале (пример см. на рис. 1.1, 1.2).
4. Экстраполировать частоту появления новых вирусов на следующие 3 интервала времени.
5. Построить зависимость вероятности отказа антивируса и вероятность его безотказной работы от времени работы (рис. 1.3, 1.4).
6. Определить частоту обновления антивируса в соответствии со своим индивидуальным заданием.
7. Оформить отчет, защитить работу преподавателю.
Рисунок 1.1. Пример расчёта частоты появления новых вирусов
Рисунок 1.2. Пример графика частоты появления новых вирусов
Рисунок 1.3. Пример графика вероятности отказа антивируса
Рисунок 1.4. Пример графика вероятности безотказной работы антивируса
1.4 Варианты индивидуальных заданий
1) Интервал, когда вероятность отказа СЗИ (Рм) не превышает 0.1;
2) Интервал, когда вероятность отказа СЗИ (Рм) меньше 0.12;
3) Интервал, когда вероятность отказа СЗИ (Рм) не превышает 0.15;
4) Интервал, когда вероятность отказа СЗИ (Рм) не превышает 10%;
5) Интервал, когда вероятность отказа СЗИ (Рм) не превышает 12%;
6) Интервал, когда вероятность отказа СЗИ (Рм) меньше 15%;
7) Интервал, когда вероятность безотказной работы СЗИ превышает 0.95;
8) Интервал, когда вероятность безотказной работы СЗИ превышает 0.92;
9) Интервал, когда вероятность безотказной работы СЗИ превышает 0.9;
10) Интервал, когда вероятность безотказной работы СЗИ превышает 95%;
11) Интервал, когда вероятность безотказной работы СЗИ превышает 92%;
12) Интервал, когда вероятность безотказной работы СЗИ превышает 90%;
13) Вероятность безотказной работы СЗИ через месяц;
14) Коэффициент готовности СЗИ.
1.5 Содержание отчета
По результатам выполнения работы каждый студент должен представить отчет. Отчет должен содержать:
1) тему лабораторной работы;
2) цель занятия;
3) индивидуальное задание к лабораторному занятию;
4) график частоты появления новых вирусов;
5) график вероятности отказа СЗИ;
6) все производимые расчёты;
7) результаты выполнения индивидуального задания;
8) выводы по работе.
Отчетный материал представляется преподавателю, а полученные результаты защищаются.
1.6 Перечень контрольных вопросов
1. Что такое вероятность безотказной работы?
2. Что такое вероятность отказа?
3. Что такое частота появления новых вирусов?
4. В чём измеряется вероятность отказа?
5. В чём измеряется вероятность безотказной работы?
6. В чём измеряется частота появления новых вирусов?
7. Чем интерполяция отличается от экстраполяции?
8. Чем экстраполяция отличается от аппроксимации?
1.7 Список литературы
1. Вентцель, Е. С. Теория вероятностей / Е. С. Вентцель. – Москва : Наука, 1969. – 576 с.
2. База данных новых вирусов // Dr.Web Antivirus Bases Update Lookup [сайт]. – URL: https://updates.drweb.com (дата обращения: 20.12.2021).
3. ГОСТ Р ИСО/МЭК ТО 19791-2008. Методы и средства обеспечения безопасности. Оценка безопасности автоматизированных систем : национальный стандарт Российской Федерации : издание официальное : утвержден и введен в действие Приказом Федерального агентства по техническому регулированию и метрологии от 18 декабря 2008 г. № 525-ст : введен впервые : дата введения 2009-10-01 / разработан . – Москва : Стандартинформ, 2010. – 121 с. – 251 экз. – Текст электронный. – URL: http://gostrf.com/normadata/1/4293822/4293822466.pdf (дата обращения: 20.12.2021).
2 Первичное исследование защищённости операционной системы MS WINDOWS
2.1 Цель занятия
Формирование первичных навыков исследования защищённости операционной системы (ОС) с использованием сетевых сканеров.
Методические указания студенту
Лабораторному занятию предшествует целевая самоподготовка, на которой необходимо изучить:
– модель OSI;
– служебные порты ОС и программы их использующие;
– основные типы уязвимостей ОС;
– руководство по эксплуатации сетевого сканера xpider или nessus.
В результате выполнения лабораторной работы каждый студент должен уметь:
– сбрасывать пароль администратора ОС Windows;
– получать перечень открытых портов ОС;
– формировать аналитический отчёт о найденных уязвимостях;
– прогнозировать возможный ущерб от использования обнаруженных уязвимостей ОС.
2.2 Теоретические основы занятия
2.2.1 Понятие сканера уязвимостей
В компьютерной безопасности термин уязвимость (англ. vulnerability) используется для обозначения недостатка в системе, используя который можно нарушить её целостность и вызвать неправильную работу [1, 2]. Уязвимость может быть результатом ошибок программирования, недостатков, допущенных при проектировании системы, ненадежных паролей, вирусов и других вредоносных программ, скриптовых, а также SQL-инъекций. Некоторые уязвимости известны только теоретически, другие же активно используются и имеют известные эксплойты.
Ска́неры уязви́мостей – это программные или аппаратные средства, служащие для осуществления диагностики и мониторинга сетевых компьютеров, позволяющие сканировать сети, компьютеры и приложения на предмет обнаружения возможных проблем в системе безопасности, оценивать и устранять уязвимости.
Сканеры уязвимостей позволяют проверить различные приложения в системе на предмет наличия «дыр», которыми могут воспользоваться злоумышленники. Также могут быть использованы низкоуровневые средства, такие как сканер портов, для выявления и анализа возможных приложений и протоколов, выполняющихся в системе.
Возможности и ограничения сканеров и средств получения несанкционированного доступа в ОС определяются согласно модели информационно-вычислительной системы (ИВС), приведённой на рис. 2.1 [3].
Рисунок 2.1. Модель ИВС
В работе предлагается использовать сканер xPider или 4MOSAn Vulnerability Managemen [4]. Пример работы сканера приведён на рис. 2.2.
Рисунок 2.2. Пример отчёта сканера уязвимостей
2.2.2 Работа с ERD Commander
Изучаемый метод сброса пароля одинаково хорошо справляется с паролем любой сложности, потому что атакует средствами вышестоящего уровня: пароль защищается на уровне программного обеспечения, а атака производится с уровня аппаратного обеспечения [3]. Перед сбросом пароля необходимо выключить виртуальную машину. Затем подключить к ней образ с ERD Commander как оптический диск (рис. 2.3).
Рисунок 2.3. Подключение образа с ERD Commander
В процессе загрузки ERD Commander необходимо выбрать требуемый тип ОС. После загрузки выбрать средства MsDart/ мастер изменения паролей (для Windows 7).
В случае выхода новой версии операционной системы алгоритм действий по взлому пароля не изменяется. Возможно, придётся загрузить новую версию утилиты, например, ERD Commander, взламывающей пароль. Если такая утилита ещё не вышла, помните, что утилита всего лишь автоматизирует действия человека. И вы всегда можете взломать пароль вручную, загрузившись с внешнего носителя, если нет шифрования хранимых данных.
2.3 Порядок выполнения работы
1. Получить задание у преподавателя.
2. Подключить виртуальную машину.
3. Добавить к виртуальной машине образ с программой взлома паролей.
4. Загрузиться с образа программы для взлома паролей.
5. Взломать пароль на вход в виртуальную машину, установить свой пароль.
6. Настроить общий доступ к папке со сканером.
7. Войти в виртуальную машину. Добавить своего пользователя с правами администратора. Все дальнейшие действия выполнять в аккаунте своего пользователя.
8. Установить сканер в виртуальной машине.
9. Просканировать 127.0.0.1.
10. Составить перечень найденных уязвимостей. Проанализировать его.
11. Спрогнозировать возможный ущерб от использования найденных уязвимостей.
12. Оформить отчет, защитить работу преподавателю.
2.4 Варианты индивидуальных заданий
1) Порт 25. Назначение службы. Возможные последствия её взлома.
2) Порт 110. Назначение службы. Возможные последствия её взлома.
3) Порт 137-139. Назначение службы. Возможные последствия её взлома.
4) Порт 23. Назначение службы. Возможные последствия её взлома.
5) Порт 53. Назначение службы. Возможные последствия её взлома.
6) Порт 80. Назначение службы. Возможные последствия её взлома.
7) Порт 143. Назначение службы. Возможные последствия её взлома.
8) Порт 1433. Назначение службы. Возможные последствия её взлома.
9) Порт 21. Назначение службы. Возможные последствия её взлома.
10) Порт 22. Назначение службы. Возможные последствия её взлома.
11) Порт 123. Назначение службы. Возможные последствия её взлома.
12) Порт 161-162. Назначение службы. Возможные последствия её взлома.
13) Порт 389. Назначение службы. Возможные последствия её взлома.
14) Порт 38. Назначение службы. Возможные последствия её взлома.
2.5 Содержание отчета
По результатам выполнения работы каждый студент должен представить отчет. Отчет должен содержать:
1) тему лабораторной работы;
2) цель занятия;
3) индивидуальное задание к лабораторному занятию;
4) список сканированных хостов и открытых портов;
5) перечень найденных уязвимостей;
6) прогноз возможного ущерба от использования найденных уязвимостей;
7) результаты выполнения индивидуального задания;
8) выводы по работе.
Отчетный материал представляется преподавателю, а полученные результаты защищаются.
2.6 Перечень контрольных вопросов
1. Возможности и ограничения сетевого сканера согласно иерархической модели?
2. Возможности и ограничения средства по взлому паролей согласно иерархической модели?
3. На каких уровнях модели OSI действуют сетевые сканеры?
4. Какие типы уязвимостей вы знаете?
5. В чём опасность большого количества открытых портов?
6. Что такое порт?
7. Какой диапазон портов предусмотрен для служебных целей?
8. Каковы особенности выделение IP-адресов для сети с использованием CIDR-блоков?
2.7 Список литературы
1. Безопасность SCADA в цифрах. – Текст : электронный // Хабр [сайт]. – URL: https://habrahabr.ru/company/pt/blog/157589 (дата обращения: 22.12.2021).
2. Уязвимости. – Текст : электронный // SecurityLab.ru [сайт]. – URL: https://www.securitylab.ru/vulnerability (дата обращения: 22.12.2021).
3. Грызунов, В. В. Аналитическая модель целостной информационной системы / В. В. Грызунов // Доклады ТУСУР. – 2009. – № 1(19), ч.1.– С. 226–230.
4. 4MOSAn Vulnerability Management. – Файл : электронный // 4MOSAn [сайт]. – URL: thttp://www.4mosan.com/demo/FScan5_setup.exe (дата обращения: 23.12.2021).
3 Первичное исследование защищённости операционной системы *nix
3.1 Цель занятия
Формирование первичных навыков исследования защищённости операционной системы (ОС) с использованием сетевых сканеров.
Методические указания студенту
Лабораторному занятию предшествует целевая самоподготовка, на которой необходимо изучить:
– отличия супер-пользователя (root) от остальных;
– способы управления группами пользователей в *nix;
– работу команды mount и текстового редактора vi;
– назначение команды sudo.
В результате выполнения лабораторной работы каждый студент должен уметь:
– сбрасывать пароль администратора *nix;
– получать перечень открытых портов ОС;
– формировать аналитический отчёт о найденных хостах в сети;
– прогнозировать возможный ущерб от несанкционированного использования обнаруженных служб ОС.
3.2 Теоретические основы занятия
3.2.1 Краткие сведения о хранении паролей в *nix
Данные о паролях в *nix системах находятся в файле /etc/passwd или /etc/shadow. При этом хранятся не сами пароли, а их MD5-хеши [1]. Для атаки на пароль в этой работе воспользуемся тем же способом, что и в предыдущей работе: проведём атаку с уровня аппаратного обеспечения [2].
Возможны два варианта:
1) загрузиться с внешнего носителя, смонтировать атакуемую файловую систему (см. рис. 3.1, рис. 3.2), сформировать MD5-хеш нового пароля (команда openssl) (рис. 3.3), переписать хеш пароля атакуемого пользователя, например, root в файле shadow (в приведённом примере файл находится по адресу /media/mnt/etc/shadow).
2) загрузиться с внешнего носителя, смонтировать атакуемую файловую систему, сменить текущую рутовую файловую систему на атакуемую (команда chroot), задать новый пароль для атакуемого пользователя (команда passwd), например, для root.
Рисунок 3.1. Определение адреса физического носителя атакуемой системы
Рисунок 3.2. Монтирование атакуемой файловой системы
Рисунок 3.3. Генерация хеш для нового пароля
3.2.2 Краткие сведения об утилите nmapx
nmap – это утилита, которая предназначена для разнообразного настраиваемого сканирования IP-сетей с разным количеством объектов, определения состояния объектов сканируемой сети (портов и соответствующих им служб). Вначале была написана для систем UNIX, но в данный момент доступны версии для множества операционных систем.
Устанавливается в дистрибутив Ubunta командой:
# apt-get install nmap
Некоторые команды nmap описаны здесь (https://www.shellhacks.com/). Примеры использования утилиты:
Сканирование сети в поиске активных Хостов
# nmap -sn 192.168.1.0/24
Агрессивное сканирование
# nmap -A localhost
Проверить занятость локальных IP-адресов:
# nmap -sP 192.168.1.0/24
Узнать, какое программное обеспечение используется хостом a-tree.ru:
# nmap -sV a-tree.ru
3.2.3 Краткие сведения об утилите arp-scan
Утилита arp-scan позволяет получить информацию о существующих mac– и IP-адресах в сети.
Утилита устанавливается командой
# apt-get install arp-scan
Примеры использование утилиты arp-scan.
Сканирование через интерфейс eth0 локальной сети
# arp-scan –interface=eth0 –localnet
Сканирование через интерфейс eth0 диапазона IP-адресов
# arp-scan –interface=eth0 192.168.0.0/24
3.3 Порядок выполнения работы
1. Получить задание у преподавателя.
2. Подключить виртуальную машину, установить Ubuntu. Дистрибутив доступен здесь.
3. Добавить пользователя.
4. Выключить виртуальную машину.
5. Добавить к виртуальной машине Live-CD. Дистрибутив может быть любым. Обычно выбирается самым маленьким. Например, такой.
6. Загрузиться с Live-CD. Смонтировать root-файловую систему.
7. Взломать пароль на вход в виртуальную машину для созданного аккаунта, добавить аккаунту права супер-пользователя (root).
8. Активировать учётную запись root.
9. Загрузить виртуальную машину с Ubuntu. Установить сканер nmap [3], выполнив команду #apt-get install nmap.
10. Просканировать локальную сеть, используя разные режимы nmap.
11. Составить перечень найденных служб. Проанализировать его.
12. Спрогнозировать возможный ущерб от получения злоумышленником несанкционированного доступа к найденным службам.
13. Установить утилиту arp-scan, выполнив команду #apt-get install arp-scan.
14. Оформить отчет, защитить работу преподавателю.
3.4. Варианты индивидуальных заданий
1) Порт 110 назначение службы. Возможные последствия её взлома.
2) Порт 137-139. Назначение службы. Возможные последствия её взлома.
3) Порт 23. Назначение службы. Возможные последствия её взлома.
4) Порт 53. Назначение службы. Возможные последствия её взлома.
5) Порт 80. Назначение службы. Возможные последствия её взлома.
6) Порт 143. Назначение службы. Возможные последствия её взлома.
7) Порт 1433. Назначение службы. Возможные последствия её взлома.
8) Порт 21. Назначение службы. Возможные последствия её взлома.
9) Порт 22. Назначение службы. Возможные последствия её взлома.
10) Порт 123. Назначение службы. Возможные последствия её взлома.
11) Порт 161-162. Назначение службы. Возможные последствия её взлома.
12) Порт 389. Назначение службы. Возможные последствия её взлома.
13) Порт 38. Назначение службы. Возможные последствия её взлома.
14) Порт 25. Назначение службы. Возможные последствия её взлома.
3.5 Содержание отчета
По результатам выполнения работы каждый студент должен представить отчет. Отчет должен содержать:
1) тему лабораторной работы;
2) цель занятия;
3) индивидуальное задание к лабораторному занятию;
4) список сканированных хостов и открытых портов;
5) перечень открытых портов;
6) прогноз возможного ущерба от использования найденных уязвимостей;
7) результаты выполнения индивидуального задания;
8) выводы по работе.
Отчетный материал представляется преподавателю, а полученные результаты защищаются.
3.6 Перечень контрольных вопросов
1. Возможности и ограничения сетевого сканера согласно иерархической модели?
2. Возможности и ограничения средства по взлому паролей согласно иерархической модели?
3. На каких уровнях модели OSI действуют сетевые сканеры?
4. Каковы особенности выделение IP-адресов для сети с использованием CIDR-блоков?
5. Как nmap определяет, что порт открыт?
6. Особенности агрессивного режима сканирования?
7. В чём состоит stealth-режим сканирования?
8. Почему arp-scan позволяет получить только локальные mac-адреса?
9. Как злоумышленник может использовать информацию о существующих mac