# Модуль 6: Безопасность ## Навигация - [🏠 Главная страница курса](../../README.md) --- ## Описание модуля Модуль посвящен комплексному изучению безопасности в современной разработке программного обеспечения. Студенты изучат принципы безопасности, методы защиты от уязвимостей, шифрование данных, управление ключами, обфускацию кода и соответствие требованиям безопасности. ## Содержание модуля ### 1. [Основы безопасности](sections/01-security-basics.md) - Принципы безопасности (CIA Triad) - Defense in Depth - Least Privilege - Угрозы безопасности (OWASP Top 10) - Методы устранения уязвимостей ### 2. [Уязвимости и межсервисное взаимодействие](sections/02-vulnerabilities-inter-service.md) - Типы уязвимостей в микросервисной архитектуре - TVM (Token Validation Middleware) - Mutual TLS (mTLS) - Service Mesh Security - API Gateway Security - Security Headers - Rate Limiting - Audit Logging ### 3. [Шифрование и управление ключами](sections/03-encryption-key-management.md) - Симметричное шифрование (AES) - Асимметричное шифрование (RSA) - Хеширование (BCrypt, PBKDF2) - Управление ключами - Key Rotation - Hardware Security Module (HSM) - Key Vault Integration ### 4. [Обфускация и защита кода](sections/04-code-obfuscation-protection.md) - Обфускация кода - Минификация - Защита от реверс-инжиниринга - Source Maps и их безопасность - Защита конфигурационных файлов - Защита от анализа трафика ### 5. [Security by Design](sections/05-security-by-design.md) - Принципы Security by Design - Моделирование угроз (STRIDE) - Zero Trust Architecture - Microsegmentation - Аутентификация и авторизация - Безопасность API - Безопасность данных - Соответствие требованиям (GDPR, PCI DSS, SOX) ## Ключевые компетенции По завершении модуля студенты будут уметь: 1. **Анализировать угрозы безопасности** - Выявлять уязвимости в коде - Применять STRIDE модель для анализа угроз - Оценивать риски безопасности 2. **Реализовывать защитные механизмы** - Настраивать аутентификацию и авторизацию - Внедрять шифрование данных - Конфигурировать безопасность API 3. **Управлять ключами шифрования** - Реализовывать ротацию ключей - Интегрироваться с HSM и Key Vault - Обеспечивать безопасное хранение ключей 4. **Защищать исходный код** - Применять обфускацию и минификацию - Настраивать защиту от реверс-инжиниринга - Управлять Source Maps 5. **Обеспечивать соответствие требованиям** - Реализовывать GDPR compliance - Настраивать PCI DSS для платежей - Внедрять SOX controls ## Практические задания ### Задание 1: Security Implementation 1. Реализуйте аутентификацию с JWT 2. Настройте авторизацию с RBAC 3. Добавьте валидацию входных данных ### Задание 2: Data Protection 1. Реализуйте шифрование данных 2. Настройте маскирование данных 3. Добавьте аудит доступа к данным ### Задание 3: Compliance 1. Реализуйте GDPR compliance 2. Настройте PCI DSS для платежей 3. Добавьте SOX controls ## Дополнительные ресурсы ### Стандарты и фреймворки - **OWASP** — Open Web Application Security Project - **NIST** — National Institute of Standards and Technology - **ISO 27001** — Information Security Management - **SOC 2** — Service Organization Control ### Инструменты - **Security Scanning**: OWASP ZAP, Burp Suite, Nessus - **Code Analysis**: SonarQube, Checkmarx, Veracode - **Secrets Management**: HashiCorp Vault, AWS Secrets Manager - **Identity Management**: Keycloak, Auth0, Okta ## Контрольные вопросы 1. Что такое CIA Triad и как он применяется? 2. Какие принципы Security by Design вы знаете? 3. Как работает OAuth 2.0 и OpenID Connect? 4. Какие типы шифрования существуют? 5. Как обеспечить безопасность API? 6. Что такое GDPR и как его соблюдать? 7. Какие требования PCI DSS вы знаете? 8. Как реализовать Zero Trust Architecture? ## Критерии оценки - **Теоретические знания** (30%) — понимание принципов безопасности - **Практические навыки** (40%) — реализация защитных механизмов - **Анализ безопасности** (20%) — выявление и устранение уязвимостей - **Соответствие стандартам** (10%) — соблюдение требований безопасности