Files
Alexander Abakumov 15e744da49 Initial commit: Complete Software Architecture course with 11 modules
- Added comprehensive course structure with 11 modules
- Included theoretical content, practical examples, and tasks
- Multi-language code examples (Java, Rust, Node.js, Python)
- Detailed analysis of architectural approaches and trade-offs
- Complete caching strategies documentation
- Architecture examples from real-world systems (Twitter, Netflix, Uber)
- Structured navigation and learning path
- Ready for educational use
2025-09-09 22:08:07 +03:00

135 lines
6.0 KiB
Markdown

# Модуль 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%) — соблюдение требований безопасности