155 lines
8 KiB
Go
155 lines
8 KiB
Go
package infosecmodules
|
||
|
||
import (
|
||
"rubric/utils"
|
||
)
|
||
|
||
var BasicsModule = Module{
|
||
Key: "basics",
|
||
Aliases: []string{"b", "intro", "основы"},
|
||
Title: "Основы информационной безопасности",
|
||
Description: "Модели угроз, CIA, стандарты, термины, атаки, классификации",
|
||
Run: showBasics,
|
||
}
|
||
|
||
func showBasics() {
|
||
utils.Header("InfoSec — Основы")
|
||
|
||
utils.Section("Триада CIA")
|
||
utils.Code(`CIA Triad — основа информационной безопасности:
|
||
|
||
Confidentiality (Конфиденциальность)
|
||
Информация доступна только авторизованным лицам.
|
||
Нарушение: утечка данных, перехват трафика.
|
||
Меры: шифрование, контроль доступа, NDA.
|
||
|
||
Integrity (Целостность)
|
||
Информация не изменена несанкционированно.
|
||
Нарушение: подмена данных, SQL-инъекция.
|
||
Меры: хэши, подписи, контроль версий, аудит.
|
||
|
||
Availability (Доступность)
|
||
Система работает когда нужна.
|
||
Нарушение: DDoS, сбой оборудования.
|
||
Меры: резервирование, backups, CDN, мониторинг.
|
||
|
||
Расширения:
|
||
+ Non-repudiation (Неотказуемость) — действие нельзя отрицать
|
||
+ Authenticity — подлинность источника
|
||
+ Accountability — действия можно проследить до субъекта`)
|
||
|
||
utils.Section("Ключевые понятия")
|
||
utils.Code(`Угроза (Threat) — потенциальное событие, способное навредить
|
||
Уязвимость (Vulnerability) — слабое место в системе
|
||
Риск (Risk) — вероятность × последствия угрозы
|
||
Эксплойт (Exploit) — использование уязвимости
|
||
Атака (Attack) — реализация угрозы
|
||
Вектор атаки (Attack Vector) — путь реализации атаки
|
||
Поверхность атаки (Attack Surface) — совокупность точек входа
|
||
|
||
Субъекты:
|
||
Threat Actor — тот кто осуществляет атаку
|
||
APT (Advanced Persistent Threat) — государственные хакеры
|
||
Script Kiddie — использует чужие инструменты без понимания
|
||
Insider Threat — угроза изнутри (сотрудник)
|
||
Hacktivists — политически мотивированные хакеры`)
|
||
|
||
utils.Section("Классификация атак")
|
||
utils.Code(`По цели:
|
||
Пассивные — наблюдение, перехват (не изменяют систему)
|
||
Активные — изменение, разрушение, внедрение
|
||
|
||
По вектору:
|
||
Network — сетевые атаки (MITM, DDoS, сканирование)
|
||
Web — уязвимости веб-приложений (XSS, SQLi, CSRF)
|
||
Social Engineering — манипуляция людьми (фишинг, вишинг)
|
||
Physical — физический доступ, кража устройств
|
||
Supply Chain — атаки на цепочку поставок (SolarWinds)
|
||
|
||
Распространённые типы:
|
||
Phishing — поддельные письма/сайты для кражи данных
|
||
Spear Phishing — целевой фишинг (конкретная жертва)
|
||
Ransomware — шифрование данных с выкупом
|
||
Man-in-the-Middle — перехват и изменение трафика
|
||
SQL Injection — внедрение SQL в запросы
|
||
XSS — внедрение скриптов в веб-страницы
|
||
DDoS — перегрузка сервиса запросами
|
||
Brute Force — перебор паролей/ключей
|
||
Zero-day — уязвимость без патча от вендора
|
||
Privilege Escalation — повышение привилегий`)
|
||
|
||
utils.Section("Модели угроз (Threat Modeling)")
|
||
utils.Code(`STRIDE — классификация угроз Microsoft:
|
||
Spoofing — подделка идентичности
|
||
Tampering — изменение данных
|
||
Repudiation — отрицание действий
|
||
Information Disclosure — утечка данных
|
||
Denial of Service — отказ в обслуживании
|
||
Elevation of Privilege — повышение привилегий
|
||
|
||
PASTA (Process for Attack Simulation and Threat Analysis):
|
||
1. Определить бизнес-цели
|
||
2. Определить технические требования
|
||
3. Декомпозировать приложение
|
||
4. Анализ угроз
|
||
5. Анализ уязвимостей
|
||
6. Моделирование атак
|
||
7. Анализ рисков
|
||
|
||
DREAD — оценка риска (1-10 по каждому):
|
||
Damage — ущерб от атаки
|
||
Reproducibility — воспроизводимость
|
||
Exploitability — сложность эксплуатации
|
||
Affected users — количество пострадавших
|
||
Discoverability — обнаруживаемость`)
|
||
|
||
utils.Section("Стандарты и фреймворки")
|
||
utils.Code(`NIST Cybersecurity Framework:
|
||
Identify → Protect → Detect → Respond → Recover
|
||
|
||
ISO/IEC 27001 — стандарт ISMS (Information Security Management System)
|
||
ISO/IEC 27002 — практики управления ИБ
|
||
|
||
CIS Controls — 18 критических контролей безопасности:
|
||
1. Инвентаризация активов
|
||
2. Инвентаризация ПО
|
||
3. Защита данных
|
||
...
|
||
18. Тестирование безопасности
|
||
|
||
OWASP — Open Web Application Security Project:
|
||
OWASP Top 10 — топ уязвимостей веб-приложений
|
||
ASVS — Application Security Verification Standard
|
||
Testing Guide — руководство по тестированию
|
||
|
||
PCI DSS — Payment Card Industry Data Security Standard
|
||
Для организаций обрабатывающих платёжные карты
|
||
|
||
GDPR / 152-ФЗ — защита персональных данных
|
||
|
||
CVSS — Common Vulnerability Scoring System
|
||
Шкала серьёзности уязвимостей 0.0–10.0
|
||
Low (<4), Medium (4-6.9), High (7-8.9), Critical (9-10)`)
|
||
|
||
utils.Section("Defence in Depth — эшелонированная защита")
|
||
utils.Code(`Принцип многоуровневой защиты: компрометация одного уровня
|
||
не означает компрометацию всей системы.
|
||
|
||
Уровни защиты:
|
||
Физическая безопасность — замки, охрана, CCTV
|
||
Периметр сети — firewall, IPS/IDS, DMZ
|
||
Внутренняя сеть — сегментация, VLAN, NAC
|
||
Хост — hardening, EDR, патчи
|
||
Приложение — WAF, SAST, аутентификация
|
||
Данные — шифрование, DLP, backups
|
||
Люди — обучение, политики, MFA
|
||
|
||
Принципы:
|
||
Least Privilege — минимально необходимые права
|
||
Need to Know — доступ только к нужной информации
|
||
Zero Trust — не доверяй никому по умолчанию, верифицируй всё
|
||
Fail Secure — при сбое → закрытое состояние
|
||
Security by Design — безопасность с самого начала проектирования`)
|
||
|
||
utils.Footer()
|
||
}
|