Files
nexus/wiki/concepts/Security-Engineering-Concepts.md
2026-05-03 05:42:12 +08:00

140 lines
6.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
---
title: "Security Engineering Concepts"
type: concept
tags: [security, application-security]
sources: [[engineering-security-engineer]]
last_updated: 2026-05-01
---
## Aliases
- AppSec
- 安全工程概念集
## Threat Modeling
**定义**:系统化识别、量化并优先排序系统潜在安全威胁的结构化方法论。通过回答"系统可能被如何攻击"前置发现风险,而非事后补救。
**核心框架 — STRIDE**(微软提出,六维度威胁分析):
| 维度 | 威胁描述 | 典型缓解措施 |
|------|---------|------------|
| **S**poofing欺骗 | 冒充他人身份 | MFA、Token binding、账户锁定 |
| **T**ampering篡改 | 修改数据或代码 | HMAC 签名、输入验证、幂等键 |
| **R**epudiation抵赖 | 否认执行过某操作 | 不可变审计日志、防篡改存储 |
| **I**nfo Disclosure信息泄露 | 暴露敏感数据 | 加密、通用错误响应、访问控制 |
| **D**oS拒绝服务 | 使服务不可用 | 限流、WAF、熔断器、请求大小限制 |
| **E**levation of Privilege权限提升 | 越权执行操作 | RBAC服务端强制执行、会话隔离 |
**工作流**:架构映射 → 数据流识别 → 信任边界编目 → STRIDE 逐组件分析 → 风险优先级排序(可能性 × 影响)
---
## Defense in Depth防御深度
**定义**:不依赖单一保护层,假设任何一层均可能被绕过,通过多层独立控制叠加实现纵深防护的安全策略。
**标准叠加链**
```
Internet → WAF → Rate Limiting → Input Validation → Parameterized Queries → Output Encoding → CSP
```
**核心原则**
- 每层独立有效(单层失效不导致整体失效)
- 多层协同(纵深而非重复)
- 纵深优于广度10 层各有差异的防御 > 3 层同类重复)
**对比 Default Deny**Default Deny 是每层内部的策略选择默认阻止一切、仅放行白名单Defense in Depth 是整体架构策略(多层独立防御叠加)。
---
## Zero Trust Architecture零信任架构
**定义**:永不隐式信任、始终验证每次访问请求的架构范式,无论访问来源是内网还是外网。
**三大核心原则**
1. **最小权限访问**Least Privilege仅授予完成任务所需的最低权限
2. **微隔离**Microsegmentation网络级别细分隔离防止横向移动
3. **持续验证**Continuous Verification每次请求均验证身份和权限
**实现组件**
- 身份认证OAuth 2.0 + PKCE、OpenID Connect、Passkeys/WebAuthn、MFA
- 授权模型RBAC / ABAC / ReBAC按需选型
- 网络层mTLS、服务网格策略Istio/Linkerd
- 密钥管理HashiCorp Vault / AWS Secrets Manager / SOPS带轮换策略
---
## CVSS 3.1(通用漏洞评分系统)
**定义**标准化漏洞严重等级评估框架0.010.0 分制量化漏洞威胁程度。
| 等级 | 分数区间 | 典型场景 |
|------|---------|---------|
| **Critical** | 9.010.0 | RCE、认证绕过、SQL注入可访问数据 |
| **High** | 7.08.9 | 存储型XSS、IDOR敏感数据暴露、权限提升 |
| **Medium** | 4.06.9 | CSRF状态变更操作、缺少安全响应头 |
| **Low** | 0.13.9 | 非敏感页面点击劫持、轻度信息泄露 |
| **Informational** | 0.0 | 最佳实践偏差、防御深度改进建议 |
**Security Engineer 的严重等级判定**Critical > High > Medium > Low > Informational每级必须附可利用性证明和具体修复代码。
---
## OWASP Top 102021+
**定义**Open Web Application Security Project 发布的 Web 应用十大最关键安全风险清单,是代码审查和漏洞评估的基准清单。
| 排名 | 风险名称 | 核心问题 |
|------|---------|---------|
| A01 | Broken Access Control访问控制失效 | 授权检查缺失、IDOR、批量赋值 |
| A02 | Cryptographic Failures加密失败 | 敏感数据暴露、弱加密/哈希 |
| A03 | Injection注入 | SQLi、NoSQLi、CMDi、模板注入 |
| A04 | Insecure Design不安全设计 | 缺失安全架构、威胁建模不足 |
| A05 | Security Misconfiguration安全配置错误 | 错误配置、默认凭据、未修复组件 |
| A06 | Vulnerable Components易受攻击组件 | 使用已知漏洞组件、组件停止维护 |
| A07 | Auth Failures身份认证失效 | 会话管理缺陷、凭据填充 |
| A08 | Data Integrity Failures数据完整性失效 | CI/CD 供应链攻击、未验证更新 |
| A09 | Logging & Monitoring Failures日志监控缺失 | 未记录安全事件、无法检测入侵 |
| A10 | SSRF服务器端请求伪造 | URL 验证缺失导致内网探测 |
---
## Supply Chain Security供应链安全
**定义**针对软件供应链依赖项、CI/CD 管道、第三方组件)的系统性安全防护,覆盖从引入到部署的全链条。
**核心实践**
1. **SBOM软件物料清单**:生成并监控所有直接和传递依赖的清单
2. **CVE 审计**:持续扫描第三方包与已知漏洞数据库的匹配
3. **包完整性校验**校验和、签名、lock 文件验证,防止注入
4. **依赖混淆攻击检测**同名恶意包检测typosquatting / dependency confusion
5. **可复现构建**:确保构建结果可被独立验证,防供应链投毒
**推荐工具**Trivy容器/依赖扫描、SemgrepSAST、Gitleaks密钥检测
---
## Secrets Management密钥管理
**定义**敏感凭据API 密钥、数据库密码、TLS 证书、加密密钥)的全生命周期安全管理,覆盖创建、存储、轮换、审计和销毁。
**核心原则**
- 永不硬编码(禁止源码/配置文件中的明文凭据)
- 永不日志记录(日志中禁止出现密钥内容)
- 永不客户端暴露(禁止前端/移动端直接持有密钥)
- 必须轮换策略(定期自动轮换 + 紧急撤销能力)
**推荐方案**
- HashiCorp Vault企业级支持动态密钥、PKI、加密即服务
- AWS Secrets ManagerAWS 原生,支持自动轮换(与 RDS/Redshift 原生集成)
- SOPSSecrets OPerationSYAML/JSON 加密,支持 Age/GPG云厂商 KMS 集成
---
## Related Concepts
- [[engineering-security-engineer]]:以上所有概念的来源 Agent Personality
- [[engineering-threat-detection-engineer]]:威胁检测 Engineer检测层与预防层互补
- [[engineering-backend-architect]]:共享"安全优先"原则,侧重系统架构视角
- [[OWASP Top 10]]Web 应用安全的基准清单
- [[Zero Trust Architecture]]:零信任是安全架构设计的核心理念