高级安全工程师 senior-security

高级安全工程师技能涉及威胁建模、漏洞分析、安全架构设计和渗透测试,专注于提升系统安全性和防御能力。关键词:威胁建模、漏洞分析、安全架构、渗透测试。

安全审计 0 次安装 0 次浏览 更新于 3/5/2026

高级安全工程师

安全工程工具包,用于威胁建模、漏洞分析、安全架构设计和渗透测试。


目录


威胁建模工作流程

使用STRIDE方法论识别和分析安全威胁。

工作流程:进行威胁模型

  1. 定义系统范围和边界:
    • 确定要保护的资产
    • 映射信任边界
    • 文档数据流
  2. 创建数据流图:
    • 外部实体(用户、服务)
    • 进程(应用组件)
    • 数据存储(数据库、缓存)
    • 数据流(APIs、网络连接)
  3. 对每个DFD元素应用STRIDE:
    • 欺骗:身份可以伪造吗?
    • 篡改:数据可以修改吗?
    • 否认:行动可以否认吗?
    • 信息披露:数据会泄露吗?
    • 拒绝服务:可用性会受到影响吗?
    • 提升权限:访问可以升级吗?
  4. 使用DREAD评分风险:
    • 损害潜力(1-10)
    • 可重现性(1-10)
    • 可利用性(1-10)
    • 受影响用户(1-10)
    • 可发现性(1-10)
  5. 按风险评分优先威胁
  6. 为每个威胁定义缓解措施
  7. 在威胁模型报告中记录
  8. 验证: 所有DFD元素分析;STRIDE应用;威胁评分;缓解措施映射

STRIDE威胁类别

类别 描述 安全属性 缓解重点
欺骗 冒充用户或系统 认证 MFA、证书、强认证
篡改 修改数据或代码 完整性 签名、校验和、验证
否认 否认行动 非抵赖 审计日志、数字签名
信息披露 暴露数据 机密性 加密、访问控制
拒绝服务 破坏可用性 可用性 速率限制、冗余
提升权限 获取未经授权的访问 授权 RBAC、最小权限

STRIDE每个元素矩阵

DFD元素 S T R I D E
外部实体 X X
进程 X X X X X X
数据存储 X X X X
数据流 X X X

见:参考资料/威胁建模指南.md


安全架构工作流程

使用深度防御原则设计安全系统。

工作流程:设计安全架构

  1. 定义安全需求:
    • 合规性需求(GDPR、HIPAA、PCI-DSS)
    • 数据分类(公共、内部、机密、受限)
    • 威胁模型输入
  2. 应用深度防御层:
    • 边界:WAF、DDoS保护、速率限制
    • 网络:分割、IDS/IPS、mTLS
    • 主机:补丁、EDR、加固
    • 应用:输入验证、认证、安全编码
    • 数据:静态和传输中的加密
  3. 实施零信任原则:
    • 明确验证(每个请求)
    • 最小权限访问(JIT/JEA)
    • 假设违规(分段、监控)
  4. 配置认证和授权:
    • 身份提供者选择
    • MFA要求
    • RBAC/ABAC模型
  5. 设计加密策略:
    • 密钥管理方法
    • 算法选择
    • 证书生命周期
  6. 计划安全监控:
    • 日志聚合
    • SIEM集成
    • 告警规则
  7. 记录架构决策
  8. 验证: 定义了深度防御层;应用了零信任;记录了加密策略;计划了监控

深度防御层

第一层:边界
  WAF、DDoS缓解、DNS过滤、速率限制

第二层:网络
  分割、IDS/IPS、网络监控、VPN、mTLS

第三层:主机
  终端保护、操作系统加固、补丁、日志记录

第四层:应用
  输入验证、认证、安全编码、SAST

第五层:数据
  静态/传输加密、访问控制、DLP、备份

认证模式选择

用例 推荐模式
Web应用 OAuth 2.0 + PKCE with OIDC
API认证 JWT with short expiration + refresh tokens
服务到服务 mTLS with certificate rotation
CLI/Automation API keys with IP allowlisting
高安全性 FIDO2/WebAuthn硬件密钥

见:参考资料/安全架构模式.md


漏洞评估工作流程

识别和修复应用程序中的安全漏洞。

工作流程:进行漏洞评估

  1. 定义评估范围:
    • 范围内的系统和应用程序
    • 测试方法(黑盒、灰盒、白盒)
    • 规则的参与
  2. 收集信息:
    • 技术栈清单
    • 架构文档
    • 以前的漏洞报告
  3. 执行自动扫描:
    • SAST(静态分析)
    • DAST(动态分析)
    • 依赖扫描
    • 秘密检测
  4. 进行手动测试:
    • 业务逻辑缺陷
    • 认证绕过
    • 授权问题
    • 注入漏洞
  5. 按严重程度分类结果:
    • 严重:立即利用风险
    • 高:重大影响,更容易利用
    • 中等:中等影响或难度
    • 低:次要影响
  6. 制定修复计划:
    • 按风险优先
    • 分配所有者
    • 设置截止日期
  7. 验证修复并记录
  8. 验证: 范围定义;自动和手动测试完成;结果分类;修复跟踪

OWASP Top 10映射

排名 漏洞 测试方法
A01 破坏访问控制 手动IDOR测试,授权检查
A02 加密失败 算法审查,密钥管理审计
A03 注入 SAST +手动有效负载测试
A04 不安全设计 威胁建模,架构审查
A05 安全配置错误 配置审计,CIS基准
A06 易受攻击的组件 依赖扫描,CVE监控
A07 认证失败 密码策略,会话管理审查
A08 软件/数据完整性 CI/CD安全,代码签名验证
A09 日志失败 日志审查,SIEM配置检查
A10 SSRF 手动URL操作测试

漏洞严重性矩阵

影响/可利用性 容易 中等 困难
严重 严重 严重
严重 中等
中等 中等
中等

安全代码审查工作流程

在部署前审查代码以查找安全漏洞。

工作流程:进行安全代码审查

  1. 确定审查范围:
    • 更改的文件和函数
    • 安全敏感区域(认证、加密、输入处理)
    • 第三方集成
  2. 运行自动分析:
    • SAST工具(Semgrep、CodeQL、Bandit)
    • 秘密扫描
    • 依赖漏洞检查
  3. 审查认证代码:
    • 密码处理(哈希、存储)
    • 会话管理
    • 令牌验证
  4. 审查授权代码:
    • 访问控制检查
    • RBAC实现
    • 权限边界
  5. 审查数据处理:
    • 输入验证
    • 输出编码
    • SQL查询构建
    • 文件路径处理
  6. 审查加密代码:
    • 算法选择
    • 密钥管理
    • 随机数生成
  7. 记录发现的严重程度
  8. 验证: 自动扫描通过;认证/授权审查;数据处理检查;加密验证;发现记录

安全代码审查清单

类别 检查 风险
输入验证 验证并清理所有用户输入 注入
输出编码 应用上下文适当的编码 XSS
认证 使用Argon2/bcrypt哈希密码 凭证盗窃
会话 设置安全的cookie标志(HttpOnly、Secure、SameSite) 会话劫持
授权 在所有端点进行服务器端权限检查 权限提升
SQL 仅使用参数化查询 SQL注入
文件访问 拒绝路径遍历序列 路径遍历
秘密 没有硬编码的凭证或密钥 信息披露
依赖 更新已知漏洞包 供应链
日志 不记录敏感数据 信息披露

安全与不安全模式

模式 问题 安全替代品
SQL字符串格式化 SQL注入 使用带有占位符的参数化查询
构建Shell命令 命令注入 使用子进程与参数列表,无shell
路径连接 路径遍历 验证和规范化路径
MD5/SHA1用于密码 弱哈希 使用Argon2id或bcrypt
Math.random用于令牌 可预测值 使用crypto.getRandomValues

事件响应工作流程

响应并包含安全事件。

工作流程:处理安全事件

  1. 识别和分类:
    • 验证事件是真实的
    • 评估初始范围和严重性
    • 激活事件响应团队
  2. 包含威胁:
    • 隔离受影响的系统
    • 阻止恶意IP/账户
    • 禁用被泄露的凭证
  3. 根除根本原因:
    • 移除恶意软件/后门
    • 修补漏洞
    • 更新配置
  4. 恢复操作:
    • 从干净的备份中恢复
    • 验证系统完整性
    • 监控复发
  5. 进行事后分析:
    • 时间线重建
    • 根本原因分析
    • 经验教训
  6. 实施改进:
    • 更新检测规则
    • 加强控制
    • 更新运行手册
  7. 记录和报告
  8. 验证: 威胁被包含;根除根本原因;系统恢复;事后分析完成;实施改进

事件严重性级别

级别 描述 响应时间 升级
P1 - 严重 活跃违规,数据泄露 立即 CISO、法律、高管
P2 - 高 确认违规,已包含 1小时 安全领导、IT主管
P3 - 中等 潜在违规,正在调查 4小时 安全团队
P4 - 低 可疑活动,低影响 24小时 值班工程师

事件响应清单

阶段 行动
识别 验证警报,评估范围,确定严重性
包含 隔离系统,保留证据,阻止访问
根除 移除威胁,修补漏洞,重置凭证
恢复 恢复服务,验证完整性,增加监控
经验教训 文档时间线,识别差距,更新程序

安全工具参考

推荐安全工具

类别 工具
SAST Semgrep、CodeQL、Bandit(Python)、ESLint安全插件
DAST OWASP ZAP、Burp Suite、Nikto
依赖扫描 Snyk、Dependabot、npm审计、pip-audit
秘密检测 GitLeaks、TruffleHog、detect-secrets
容器安全 Trivy、Clair、Anchore
基础设施 Checkov、tfsec、ScoutSuite
网络 Wireshark、Nmap、Masscan
渗透 Metasploit、sqlmap、Burp Suite Pro

加密算法选择

用例 算法 密钥大小
对称加密 AES-256-GCM 256位
密码哈希 Argon2id N/A(使用默认值)
消息认证 HMAC-SHA256 256位
数字签名 Ed25519 256位
密钥交换 X25519 256位
TLS TLS 1.3 N/A

见:参考资料/加密实现.md


工具和参考资料

脚本

脚本 目的 使用
threat_modeler.py STRIDE威胁分析与风险评分 python threat_modeler.py --component "Authentication"
secret_scanner.py 检测硬编码的秘密和凭证 python secret_scanner.py /path/to/project

威胁模型器功能:

  • 对任何系统组件进行STRIDE分析
  • DREAD风险评分
  • 缓解建议
  • JSON和文本输出格式
  • 交互模式进行引导分析

秘密扫描器功能:

  • 检测AWS、GCP、Azure凭证
  • 查找API密钥和令牌(GitHub、Slack、Stripe)
  • 识别私钥和密码
  • 支持20+秘密模式
  • CI/CD集成就绪

参考资料

文档 内容
security-architecture-patterns.md 零信任、深度防御、认证模式、API安全
threat-modeling-guide.md STRIDE方法论、攻击树、DREAD评分、DFD创建
cryptography-implementation.md AES-GCM、RSA、Ed25519、密码哈希、密钥管理

安全标准参考

合规框架

框架 焦点 适用
OWASP ASVS 应用安全 Web应用
CIS基准 系统加固 服务器、容器、云
NIST CSF 风险管理 企业安全项目
PCI-DSS 支付卡数据 支付处理
HIPAA 医疗保健数据 医疗保健应用
SOC 2 服务组织控制 SaaS提供商

安全头文件清单

头文件 推荐值
Content-Security-Policy default-src self; script-src self
X-Frame-Options DENY
X-Content-Type-Options nosniff
Strict-Transport-Security max-age=31536000; includeSubDomains
Referrer-Policy strict-origin-when-cross-origin
Permissions-Policy geolocation=(), microphone=(), camera=()

相关技能

技能 集成点
senior-devops CI/CD安全,基础设施加固
senior-secops 安全监控,事件响应
senior-backend 安全API开发
senior-architect 安全架构决策