Курсовая работа

Курсовая по кибербезопасности: как исследовать защищённость системы через угрозы, конфигурацию и безопасные тесты

Как написать курсовую по кибербезопасности: определить поверхность атаки и угрозы, проверить конфигурацию и доступ, провести безопасные тесты и оценить защиту.

К содержанию
Содержание +

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

Главное правило: все активные тесты проводятся только в разрешённой среде, которой вы владеете или для которой получили явное разрешение.

Определите стенд

Опишите:

  • сервис;
  • ОС;
  • сеть;
  • роли;
  • тестовые учётные записи;
  • границы.

Не проводите эксперимент на случайном публичном ресурсе.

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

Поверхность атаки

Составьте список точек взаимодействия:

  • web;
  • API;
  • SSH;
  • БД;
  • административный интерфейс;
  • загрузка файлов;
  • внешние интеграции.

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

Активы

Определите, что защищается:

  • учётные записи;
  • данные;
  • конфигурация;
  • секреты;
  • доступность;
  • журналы.

Для каждого актива укажите наиболее важное свойство:

  • конфиденциальность;
  • целостность;
  • доступность.

Модель угроз

Сценарий должен быть конкретным.

Например:

«Обычный пользователь пытается получить данные другой учётной записи через изменение идентификатора объекта».

Это лучше, чем просто «несанкционированный доступ».

Конкретный сценарий можно проверить.

Инвентаризация

До поиска проблем зафиксируйте:

  • версии;
  • открытые порты;
  • службы;
  • зависимости;
  • настройки.

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

Сервис может быть необходим.

Вопрос в том, нужен ли доступ именно из этой зоны и настроен ли он безопасно.

Минимизация поверхности

Если служба не используется, её лучше отключить.

Если административный интерфейс нужен только из внутренней сети, ограничьте доступ.

Такая мера часто надёжнее дополнительного пароля на ненужном сервисе.

Конфигурация

Многие инциденты связаны не с экзотической уязвимостью, а с настройкой.

Проверяйте:

  • default credentials;
  • лишние права;
  • открытый каталог;
  • debug mode;
  • секреты в конфиге;
  • небезопасные разрешения.

Не публикуйте реальные секреты в курсовой.

Обновления

Зафиксируйте версии компонентов.

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

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

Уязвимость и эксплуатируемость

Наличие CVE не означает, что ваша система обязательно уязвима в конкретной конфигурации.

Проверьте:

  • компонент;
  • версию;
  • включённую функцию;
  • доступность;
  • условия.

Не пытайтесь доказать риск опасной эксплуатацией, если достаточно безопасной проверки версии и конфигурации.

Аутентификация

Проверьте:

  • политику пароля;
  • хранение;
  • rate limit;
  • восстановление;
  • сессии.

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

Не проводите массовый подбор паролей.

Сессия

Исследуйте:

  • cookie;
  • срок;
  • logout;
  • инвалидирование;
  • флаги безопасности.

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

Проверяйте это в своём стенде.

Авторизация

Это отдельный слой.

Создайте две роли.

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

Скрытая кнопка не является контролем доступа.

Ввод

Проверяйте, что система корректно обрабатывает:

  • слишком длинные значения;
  • неверный тип;
  • специальные символы;
  • неожиданный JSON.

Цель теста - проверить валидацию и устойчивость, а не разрушить сервис.

Файлы

Если приложение принимает загрузку, проверьте:

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

Для безопасного учебного теста используйте безвредные файлы.

Не загружайте реальные вредоносные образцы.

TLS

Если сервис работает по HTTPS, проверьте:

  • корректный сертификат;
  • имя;
  • срок;
  • редирект с HTTP;
  • отсутствие смешанного контента.

Не ограничивайтесь значком замка в браузере.

Понимайте, что TLS защищает канал, а не само приложение.

Заголовки безопасности

Для web-приложения можно анализировать защитные HTTP-заголовки.

Но не превращайте работу в чеклист.

Для каждого покажите:

  • какую угрозу снижает;
  • применим ли он;
  • что изменилось после настройки.

Секреты

Проверьте репозиторий и конфигурацию.

Секрет не должен находиться:

  • в коде;
  • в публичном `.env`;
  • в логе;
  • в образе контейнера без необходимости.

В отчёте показывайте маскированные значения.

Контейнер

Если используется Docker, проверьте:

  • пользователя внутри контейнера;
  • лишние capabilities;
  • секреты;
  • открытые порты;
  • базовый образ.

Не запускайте всё с максимальными привилегиями для удобства.

Сегментация

Разделите пользовательскую, серверную и административную зоны, если это соответствует проекту.

Проверьте разрешённые соединения.

Не пишите «сеть сегментирована», если между всеми сегментами разрешён любой трафик.

Логи

Настройте события:

  • вход;
  • ошибка входа;
  • изменение роли;
  • административное действие;
  • критическая ошибка.

Проверьте, что лог не содержит пароль или токен.

Лог должен помогать расследованию.

Мониторинг

Создайте несколько безопасных правил.

Например:

  • серия неудачных входов;
  • неожиданный административный запрос;
  • остановка сервиса.

Не пытайтесь обнаруживать всё сразу.

Лучше несколько сценариев с понятной проверкой.

Резервное копирование

Киберустойчивость включает восстановление.

Проведите тест:

1. создать тестовые данные;
2. сделать backup;
3. изменить или удалить их;
4. восстановить;
5. сравнить.

Так мера проверяется практически.

Оценка риска

До исправления оцените вероятность и последствия.

После меры оцените остаточный риск.

Не ставьте «критический» уровень каждой находке.

Иначе приоритеты исчезают.

Отчёт о тесте

Для каждой проверки укажите:

  • цель;
  • стенд;
  • действие;
  • ожидаемый результат;
  • фактический результат;
  • вывод.

Не публикуйте опасные payload или рабочие секреты.

Курсовой отчёт должен быть безопасно воспроизводимым.

Этика

Укажите границы разрешения.

Это важно не только юридически, но и методически.

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

Защита

Покажите одну проблему целиком:

1. актив;
2. угроза;
3. слабость;
4. безопасная проверка;
5. мера;
6. повторный тест;
7. остаточный риск.

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

Ещё по теме