Подготовка курса Информационная безопасность

Подготовка курса Информационная безопасность.

Содержание

1 Структура

1.1 Разделы

  • Р1: Основы безопасности сетевых информационных технологий
  • Р2: Защита информации в современных операционных системах
  • Р3: Программная защита

1.2 Темы

  • Т1: Общая проблематика информационной безопасности
  • Т2: Хакерские атаки
  • Т3: Угрозы сетевой безопасности
  • Т4: Административная защита сетей
  • Т5: Критерии безопасности информационных систем
  • Т6: Формальные модели безопасности ОС
  • Т7: Основы криптографии
  • Т8: Программные уязвимости

2 Темы лекций

  1. Общая проблематика информационной безопасности
    • Социальная инженерия.
    • Вредоносные программы.
      • Вирусы.
      • Черви.
      • Троянские программы.
  2. Хакерские атаки
  3. Угрозы сетевой безопасности
  4. Административная защита сетей
    • Межсетевые экраны.
    • Виртуальные частные сети.
    • IDS.
    • DSP.
  5. Критерии безопасности информационных систем
  6. Формальные модели безопасности ОС
    • Дискреционные модели доступа. Списки управления доступом.
    • Мандатные модели доступа.
    • Ролевые модели доступа.
    • SELinux.
  7. Криптография
    • Общие вопросы шифрования.
    • Симметричное шифрование.
    • Ассиметричное шифрование.
    • Хеш-функции.
    • Цифровая подпись.
    • PKI.
    • Квантовое шифрование.
  8. Программные уязвимости
    • Переполнение буфера.

3 БРС

  • 8 лабораторных работ по 0–7 баллов за каждую, суммарно 0–56 баллов;
  • доклад по теме — 0–14 баллов;
  • индивидуальный проект — 0–20 баллов;
  • итоговый контроль знаний (тест) — 0–10 баллов;
  • внешний курс — 0–24 балла.

4 Активности

4.1 Лабораторные работы

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

4.1.1 Лабораторная работа № 1. Установка и конфигурация операционной системы на виртуальную машину

4.1.2 Лабораторная работа № 2. Дискреционное разграничение прав в Linux. Основные атрибуты

  1. Цель работы

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

4.1.3 Лабораторная работа № 3. Дискреционное разграничение прав в Linux. Два пользователя

  1. Цель работы

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

4.1.4 Лабораторная работа № 4. Дискреционное разграничение прав в Linux. Расширенные атрибуты

  1. Цель работы

    • Получение практических навыков работы в консоли с расширенными атрибутами файлов.

4.1.5 Лабораторная работа № 5. Дискреционное разграничение прав в Linux. Исследование влияния дополнительных атрибутов

  1. Цель работы

    • Изучение механизмов изменения идентификаторов, применения SetUID- и Sticky-битов.
    • Получение практических навыков работы в консоли с дополнительными атрибутами.
    • Рассмотрение работы механизма смены идентификатора процессов пользователей, а также влияние бита Sticky на запись и удаление файлов.

4.1.6 Лабораторная работа № 6. Мандатное разграничение прав в Linux

  1. Цели работы

    • Развить навыки администрирования ОС Linux.
    • Получить первое практическое знакомство с технологией SELinux.
    • Проверить работу SELinx на практике совместно с веб-сервером Apache.

4.1.7 Лабораторная работа № 7. Элементы криптографии. Однократное гаммирование

  1. Цель работы

    • Освоить на практике применение режима однократного гаммирования.

4.1.8 Лабораторная работа № 8. Элементы криптографии. Шифрование (кодирование) различных исходных текстов одним ключом

  1. Цель работы

    • Освоить на практике применение режима однократного гаммирования на примере кодирования различных исходных текстов одним ключом.

4.2 Темы докладов

  1. Общая проблематика информационной безопасности.
    • Основные информационные угрозы современности.
    • Ключевые принципы информационной безопасности: конфиденциальность, целостность, доступность, невозможность отказа.
    • Нормативные документы в области информационной безопасности.
    • Органы, обеспечивающие информационную безопасность.
    • Программно-аппаратные средства системы обеспечения информационной безопасности.
    • Организационная защита объектов информатизации.
    • Информационная безопасность предприятия.
    • Доктрина информационной безопасности Российской Федерации.
  2. Хакерские атаки.
    • Социальная инженерия.
    • Вредоносные программы. Вирусы и антивирусы.
    • Вредоносные программы. Черви.
    • Вредоносные программы. Троянские программы.
    • Вредоносные программы. Руткиты.
    • Фишинг.
  3. Угрозы сетевой безопасности.
    • Безопасность физического и канального уровней модели OSI. Сетевые анализаторы и «снифферы».
    • DoS: методы обнаружения DoS-атак и средства защиты от них.
    • Безопасность ARP. ARP-spoofing.
    • Безопасность сетевого уровня модели OSI и меры его защиты.
    • Безопасность транспортного уровня модели OSI и меры его защиты.
    • Безопасность прикладного уровня модели OSI и меры его защиты.
    • Характеристика и механизмы удалённых атак на распределенные вычислительные системы.
    • Характеристика и механизмы удаленных атак на хосты Internet.
    • Способы атак на DNS-сервер.
    • Классы угроз информационной безопасности.
  4. Административная защита сетей.
    • Межсетевые экраны.
    • Виртуальные частные сети.
    • IDS системы. Обзор, сравнение, отечественные лидеры, мировые лидеры.
    • Система обнаружения атак Snort.
    • Применение межсетевых экранов для защиты корпоративных сетей.
    • Пакетный фильтр на базе ОС Linux.
    • Шлюзы прикладного уровня. Противодействие сетевым атакам при помощи межсетевых экранов.
    • Фильтрация пакетов: параметры и правила фильтрации.
    • DLP системы. Обзор, сравнение, отечественные лидеры, мировые лидеры.
    • Системы резервного копирования.
  5. Критерии безопасности информационных систем.
    • Обеспечение высокой доступности (нейтрализация отказов и обслуживаемости).
    • Законодательный уровень информационной безопасности.
    • Информация как ценность. Понятие об информационных угрозах.
    • Информационное право и информационная безопасность.
    • Защита компьютерной информации и компьютерных систем от вредоносных программ.
    • Концепция (политика) безопасности.
    • Государственная система защиты информации.
    • Защита персональных данных в социальных сетях.
    • Защита государственной и коммерческой тайны.
    • Государственная система лицензирования. Система лицензирования деятельности в области защиты государственной тайны.
    • Цели и задачи защиты информации. Организация защиты конфиденциальной информации.
    • Политика безопасности предприятия и ее содержание.
    • Создание и функции службы безопасности на предприятии.
  6. Формальные модели безопасности ОС.
    • Модели безопасности ОС.
    • Дискреционные модели доступа. Списки управления доступом.
    • Мандатные модели доступа.
    • Ролевые модели доступа.
    • SELinux.
    • Методы разграничения доступа. Общий обзор.
    • Режим секретности и конфиденциального делопроизводства.
    • Защита электронного документооборота на предприятии.
  7. Криптография.
    • Общие вопросы шифрования.
    • Хеш-функции.
    • Цифровая подпись.
    • Квантовое шифрование. Квантовая передача информации.
    • Система PGP.
    • Электронные цифровые подписи. Механизмы цифровой подписи.
    • Протокол Kerberos.
    • Инфраструктура открытых ключей.
    • Техники управления ключами. Основные концепции. Жизненный цикл управления ключами.
    • Идентификация и аутентификация, управление доступом.
    • Протоколирование и аудит, шифрование, контроль целостности.
    • Биометрия.
    • Технология единого входа (OpenID и т.п.).
    • Контрольные суммы.
    • Ассиметричные криптосистемы. Обзор, виды, применение.
    • Симметричные криптосистемы. Обзор, виды, применение.
  8. Программные уязвимости.
    • Переполнение буфера.
    • Нарушения безопасности доступа к памяти: переполнения буфера, висячие указатели.
    • Ошибки проверки вводимых данных: ошибки форматирующей строки, неверная поддержка интерпретации метасимволов командной оболочки.
    • Ошибки проверки вводимых данных: SQL-инъекция.
    • Ошибки проверки вводимых данных: инъекция кода.
    • Ошибки проверки вводимых данных: инъекция E-mail.
    • Ошибки проверки вводимых данных: межсайтовый скриптинг в веб-приложениях, межсайтовый скриптинг при наличии SQL-инъекции.
    • Состояния гонки: ошибки времени-проверки-ко-времени-использования, гонки символьных ссылок.
    • Ошибки путаницы привилегий: подделка межсайтовых запросов в веб-приложениях.
    • Эскалация привилегий. Shatter attack.
    • Уязвимость нулевого дня.

4.3 Индивидуальный проект

4.3.1 Общая информация

  • Проба работы с уязвимостями.
  • В дальнейшем возможно перенести в лабораторные работы.

4.3.2 Тестирование веб-приложений

  1. Общая информация

    • Цель работы

      • Научиться основным способам тестирования веб приложений
    • Введение

      • Ищутся уязвимости в специально предназначенном для этого веб приложении под названием Damn Vulnerable Web Application (DVWA).
      • Назначение DVWA — попрактиковаться в некоторых самых распространённых веб уязвимостях.
      • Предлагается попробовать и обнаружить так много уязвимостей, как сможете.
    • Задачи

      • Найти максимальное количество уязвимостей различных типов.
      • Реализовать успешную эксплуатацию каждой уязвимости.
    • Рекомендуемая литература [1].

    • Инструменты

      • Для тестирования должен использоваться дистрибутив Kali Linux.
      • Можно пользоваться любыми инструментами дистрибутива.
    • Вопросы

      • Перечислите основные уязвимости, касающиеся веб приложений.
      • Можно ли ставить DVWA на свой публичный веб сервер?
      • Чем отличается тестирование DVWA от тестирования публичного сервера?
      • Что представляет собой дистрибутив Kali Linux?
      • Перечислите и опишите вкратце несколько компонентов, входящих в состав Kali Linux.
  1. Этап 1. Установка Kali Linux

    • Установите дистрибутив Kali Linux в виртуальную машину.
    • В качестве среды виртуализации предлагается использовать VirtualBox.
    • Сайт Kali Linux: https://www.kali.org/
    • Учётные данные по умолчанию:
      • логин: root;
      • пароль: toor.
  1. Этап 2. Установка DVWA

    • Установите DVWA в гостевую систему к Kali Linux.
    • Репозиторий: https://github.com/digininja/DVWA.
    • Некоторые из уязвимостей веб приложений, который содержит DVWA:
      • Брутфорс: Брутфорс HTTP формы страницы входа - используется для тестирования инструментов по атаке на пароль методом грубой силы и показывает небезопасность слабых паролей.
      • Исполнение (внедрение) команд: Выполнение команд уровня операционной системы.
      • Межсайтовая подделка запроса (CSRF): Позволяет «атакующему» изменить пароль администратора приложений.
      • Внедрение (инклуд) файлов: Позволяет «атакующему» присоединить удалённые/локальные файлы в веб приложение.
      • SQL внедрение: Позволяет «атакующему» внедрить SQL выражения в HTTP из поля ввода, DVWA включает слепое и основанное на ошибке SQL внедрение.
      • Небезопасная выгрузка файлов: Позволяет «атакующему» выгрузить вредоносные файлы на веб сервер.
      • Межсайтовый скриптинг (XSS): «Атакующий» может внедрить свои скрипты в веб приложение/базу данных. DVWA включает отражённую и хранимую XSS.
      • Пасхальные яйца: раскрытие полных путей, обход аутентификации и некоторые другие.
    • DVWA имеет три уровня безопасности, они меняют уровень безопасности каждого веб приложения в DVWA:
      • Невозможный — этот уровень должен быть безопасным от всех уязвимостей. Он используется для сравнения уязвимого исходного кода с безопасным исходным кодом.
      • Высокий — это расширение среднего уровня сложности, со смесью более сложных или альтернативных плохих практик в попытке обезопасить код. Уязвимости не позволяют такой простор эксплуатации как на других уровнях.
      • Средний — этот уровень безопасности предназначен главным образом для того, чтобы дать пользователю пример плохих практик безопасности, где разработчик попытался сделать приложение безопасным, но потерпел неудачу.
      • Низкий — этот уровень безопасности совершенно уязвим и совсем не имеет защиты. Его предназначение быть примером среди уязвимых веб приложений, примером плохих практик программирования и служить платформой обучения базовым техникам эксплуатации.
  1. Этап 3. Использование Hydra

    • Hydra используется для подбора или взлома имени пользователя и пароля.
    • Поддерживает подбор для большого набора приложений.
    1. Пример работы:

      • Исходные данные:
        • IP сервера 178.72.90.181;
        • Сервис http на стандартном 80 порту;
        • Для авторизации используется html форма, которая отправляет по адресу http://178.72.90.181/cgi-bin/luci методом POST запрос вида username=root&password=test_password;
        • В случае не удачной аутентификации пользователь наблюдает сообщение Invalid username and/or password! Please try again.
      • Запрос к Hydra будет выглядеть примерно так:
        hydra -l root -P ~/pass_lists/dedik_passes.txt -o ./hydra_result.log -f -V -s 80 178.72.90.181 http-post-form "/cgi-bin/luci:username=^USER^&password=^PASS^:Invalid username"
        
      • Используется http-post-form потому, что авторизация происходит по http методом post.
      • После указания этого модуля идёт строка /cgi-bin/luci:username=^USER^&password=^PASS^:Invalid username, у которой через двоеточие (:) указывается:
        • путь до скрипта, который обрабатывает процесс аутентификации (/cgi-bin/luci);
        • строка, которая передаётся методом POST, в которой логин и пароль заменены на ^USER^ и ^PASS^ соответственно (username=^USER^&password=^PASS^);
        • строка, которая присутствует на странице при неудачной аутентификации; при её отсутствии Hydra поймёт, что мы успешно вошли (Invalid username).
  1. Этап 4. Использование nikto

    • nikto — базовый сканер безопасности веб-сервера. Он сканирует и обнаруживает уязвимости в веб-приложениях, обычно вызванные неправильной конфигурацией на самом сервере, файлами, установленными по умолчанию, и небезопасными файлами, а также устаревшими серверными приложениями.
  1. Этап 5. Использование Burp Suite

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

    Литература

    1. Парасрам, Ш. Kali Linux: Тестирование на проникновение и безопасность : Для профессионалов. Kali Linux / Ш. Парасрам, А. Замм, Т. Хериянто, и др. – Санкт-Петербург : Питер, 2022. – 448 сс.

4.4 Внешние курсы

4.4.1 Общая информация

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

4.4.2 Рекомендованные платформы для внешних курсов

4.4.3 Курс

4.4.4 Необходимо для прохождения

  • Пройти курс.
  • Получить сертификат.
  • Записать видео (с записью камерой лица) по прохождению контрольных мероприятий (тесты и задания) по каждому разделу.
  • Написать отчёт по прохождению контрольных мероприятий (тесты и задания) по каждому разделу.
  • Сертификат выкладывается на личный сайт научного работника.
  • На личном сайте научного работника создаётся проект по прохождению внешнего курса.
  • Отчёты по прохождению внешнего курса выкладываются на сайт научного работника, объединённые в проект.

4.4.5 Требования к оформлению отчёта по прохождению внешнего курса

  • Отчёт должен соответсвовать следующим требованиям:
    • должен быть оформлен в Markdown с использованием шаблона для оформления лабораторных работ (https://github.com/yamadharma/academic-laboratory-report-template);
    • должен содержать описание всех заданий, выполненных при прохождении внешнего курса.
  • Для каждого тестового вопроса в отчет должны быть включены:
    • скриншоты с формулировкой вопроса и подтверждающие прохождение теста;
    • пояснения по выбору ответа на вопрос теста.
  • Для каждого интерактивного задания в отчет должны быть включены:
    • скриншоты с формулировкой задания и подтверждающие его прохождение;
    • пояснения по выполнению интерактивного задания.
  • Отчёт считается неполным, если в нём отсутствуют какие-либо элементы:
    • скриншоты с формулировкой;
    • скриншоты, подтверждающие прохождение;
    • пояснения по выполнению активности.

4.4.6 Критерии оценки

  • Максимальная оценка за внешний курс — 24 балла.
Таблица 1: Критерии оценки прохождения внешнего курса
Разделы0248
Раздел 1. Безопасность сетиНет сертификата или нет (видео + отчёт)Сертификат + (видео или отчёт)Сертификат + видео + отчётСертификат + видео + отчёт + сайт
Раздел 2. Защита ПК (телефона)Нет сертификата или нет (видео + отчёт)Сертификат + (видео или отчёт)Сертификат + видео + отчётСертификат + видео + отчёт + сайт
Раздел 3. Криптография на практикеНет сертификата или нет (видео + отчёт)Сертификат + (видео или отчёт)Сертификат + видео + отчётСертификат + видео + отчёт + сайт

Дмитрий Сергеевич Кулябов
Дмитрий Сергеевич Кулябов
Профессор кафедры теории вероятностей и кибербезопасности

Мои научные интересы включают физику, администрирование Unix и сетей.

Похожие