Senior Security技能使用说明
2026-03-30
新闻来源:网淘吧
围观:4
电脑广告
手机广告
高级安全工程师
用于威胁建模、漏洞分析、安全架构设计和渗透测试的安全工程工具。
目录
威胁建模工作流
使用STRIDE方法识别和分析安全威胁。

工作流:执行威胁建模
- 定义系统范围与边界:
- 识别需保护的资产
- 划定信任边界
- 记录数据流
- 创建数据流图:
- 外部实体(用户、服务)
- 处理过程(应用组件)
- 数据存储(数据库、缓存)
- 数据流(API、网络连接)
- 对每个DFD元素应用STRIDE(参见按元素划分的STRIDE矩阵下方)
- 使用DREAD评估风险:
- 潜在损害(1-10分)
- 可复现性(1-10分)
- 可利用性(1-10分)
- 受影响用户数(1-10分)
- 可发现性(1-10分)
- 按风险评分确定威胁优先级
- 为每个威胁制定缓解措施
- 记录于威胁建模报告
- 验证:所有DFD元素已分析;已应用STRIDE;已评估威胁;已映射缓解措施
STRIDE威胁类别
| 类别 | 安全属性 | 缓解重点 |
|---|---|---|
| 伪装 | 身份验证 | 多因素认证、证书、强身份验证 |
| 篡改 | 完整性 | 签名、校验和、验证 |
| 抵赖 | 不可抵赖 | 审计日志、数字签名 |
| 信息泄露 | 保密性 | 加密、访问控制 |
| 拒绝服务 | 可用性 | 速率限制、冗余 |
| 权限提升 | 授权 | 基于角色的访问控制、最小权限原则 |
STRIDE逐元素矩阵
| DFD元素 | S(假冒) | T(篡改) | R(抵赖) | I(信息泄露) | D(拒绝服务) | E(权限提升) |
|---|---|---|---|---|---|---|
| 外部实体 | X | X | ||||
| 流程 | X | X | X | X | X | X |
| X | 数据存储 | X | X | X | ||
| X | 数据流 | X | X |
X参见:
references/threat-modeling-guide.md
安全架构工作流
运用纵深防御原则设计安全系统。
- 工作流:设计安全架构
- 定义安全需求:
- 合规性要求(GDPR、HIPAA、PCI-DSS)
- 威胁模型输入
- 应用纵深防御层:
- 边界:WAF、DDoS防护、速率限制
- 网络:分段、IDS/IPS、mTLS
- 主机:补丁管理、EDR、安全加固
- 应用:输入验证、身份验证、安全编码
- 数据:静态和传输中加密
- 实施零信任原则:
- 显式验证(每个请求)
- 最小权限访问(JIT/JEA)
- 假设已失陷(分段、监控)
- 配置身份验证与授权:
- 身份提供程序选择
- MFA要求
- RBAC/ABAC模型
- 设计加密策略:
- 密钥管理方法
- 算法选择
- 证书生命周期
- 规划安全监控:
- 日志聚合
- SIEM 集成
- 告警规则
- 记录架构决策
- 验证:已定义纵深防御层级;已应用零信任;已记录加密策略;已规划监控
纵深防御层级
Layer 1: PERIMETER
WAF, DDoS mitigation, DNS filtering, rate limiting
Layer 2: NETWORK
Segmentation, IDS/IPS, network monitoring, VPN, mTLS
Layer 3: HOST
Endpoint protection, OS hardening, patching, logging
Layer 4: APPLICATION
Input validation, authentication, secure coding, SAST
Layer 5: DATA
Encryption at rest/transit, access controls, DLP, backup
身份验证模式选择
| 用例 | 推荐模式 |
|---|---|
| Web 应用程序 | OAuth 2.0 + PKCE 与 OIDC |
| API 身份验证 | 短期有效的 JWT + 刷新令牌 |
| 服务间通信 | 带证书轮换的 mTLS |
| CLI/自动化 | 带 IP 白名单的 API 密钥 |
| 高安全性 | FIDO2/WebAuthn 硬件密钥 |
参见:references/security-architecture-patterns.md
漏洞评估工作流
识别并修复应用程序中的安全漏洞。
工作流程:执行漏洞评估
- 定义评估范围:
- 范围内的系统和应用程序
- 测试方法(黑盒、灰盒、白盒)
- 参与规则
- 收集信息:
- 技术栈清单
- 架构文档
- 以往漏洞报告
- 执行自动化扫描:
- SAST(静态分析)
- DAST(动态分析)
- 依赖项扫描
- 密钥检测
- 进行手动测试:
- 业务逻辑漏洞
- 身份验证绕过
- 授权问题
- 注入漏洞
- 按严重性对发现进行分类:
- 关键:存在被立即利用的风险
- 高:影响严重,且易于被利用
- 中:影响或利用难度中等
- 低:影响轻微
- 制定修复计划:
- 按风险优先级排序
- 分配负责人
- 设定截止日期
- 验证修复并记录
- 验证:范围已定义;自动和手动测试已完成;发现项已分类;修复过程已追踪
关于OWASP十大漏洞描述和测试指南,请参考owasp.org/Top10。
漏洞严重性矩阵
| 影响 \ 可利用性 | 容易 | 中等 | 困难 |
|---|---|---|---|
| 关键 | 关键 | 关键 | 高 |
| 高 | 严重 | 高 | 中 |
| 中 | 高 | 中 | 低 |
| 低 | 中 | 低 | 低 |
安全代码审查工作流程
部署前审查代码中的安全漏洞。
工作流程:进行安全代码审查
- 确定审查范围:
- 已更改的文件和函数
- 安全敏感区域(认证、加密、输入处理)
- 第三方集成
- 运行自动化分析:
- SAST工具(Semgrep、CodeQL、Bandit)
- 密钥扫描
- 依赖项漏洞检查
- 审查认证代码:
- 密码处理(哈希、存储)
- 会话管理
- 令牌验证
- 审查授权代码:
- 访问控制检查
- RBAC实施
- 权限边界
- 审查数据处理:
- 输入验证
- 输出编码
- SQL查询构造
- 文件路径处理
- 审查加密代码:
- 算法选择
- 密钥管理
- 随机数生成
- 记录发现项并标注严重性
- 验证:自动化扫描通过;身份验证/授权已审查;数据处理已检查;加密已核实;发现项已记录
安全代码审查清单
| 类别 | 检查项 | 风险 |
|---|---|---|
| 输入验证 | 所有用户输入均经过验证和净化处理 | 注入攻击 |
| 输出编码 | 应用了符合上下文的编码 | 跨站脚本攻击 |
| 身份验证 | 密码使用Argon2/bcrypt算法进行哈希处理 | 凭据窃取 |
| 会话管理 | 已设置安全Cookie标志(HttpOnly、Secure、SameSite) | 会话劫持 |
| 授权管理 | 对所有端点执行服务端权限检查 | 权限提升 |
| SQL操作 | 完全使用参数化查询 | SQL注入攻击 |
| 文件访问 | 拒绝路径遍历序列 | 路径遍历攻击 |
| 密钥管理 | 无硬编码凭据或密钥 | 信息泄露 |
| 依赖项 | 已知易受攻击的软件包已更新 | 供应链 |
| 日志记录 | 敏感数据未记录 | 信息泄露 |
安全与不安全模式
| 模式 | 问题 | 安全替代方案 |
|---|---|---|
| SQL字符串格式化 | SQL注入 | 使用带占位符的参数化查询 |
| Shell命令构建 | 命令注入 | 使用带参数列表的子进程,不使用shell |
| 路径拼接 | 路径遍历 | 验证并规范化路径 |
| 使用MD5/SHA1处理密码 | 弱哈希 | 使用Argon2id或bcrypt |
| 用于令牌的Math.random | 可预测的值 | 使用crypto.getRandomValues |
内联代码示例
SQL注入——不安全与安全示例(Python):
# ❌ Insecure: string formatting allows SQL injection
query = f"SELECT * FROM users WHERE username = '{username}'"
cursor.execute(query)
# ✅ Secure: parameterized query — user input never interpreted as SQL
query = "SELECT * FROM users WHERE username = %s"
cursor.execute(query, (username,))
使用Argon2id进行密码哈希(Python):
from argon2 import PasswordHasher
ph = PasswordHasher() # uses secure defaults (time_cost, memory_cost)
# On registration
hashed = ph.hash(plain_password)
# On login — raises argon2.exceptions.VerifyMismatchError on failure
ph.verify(hashed, plain_password)
密钥扫描——核心模式匹配(Python):
import re, pathlib
SECRET_PATTERNS = {
"aws_access_key": re.compile(r"AKIA[0-9A-Z]{16}"),
"github_token": re.compile(r"ghp_[A-Za-z0-9]{36}"),
"private_key": re.compile(r"-----BEGIN (RSA |EC )?PRIVATE KEY-----"),
"generic_secret": re.compile(r'(?i)(password|secret|api_key)\s*=\s*["\']?\S{8,}'),
}
def scan_file(path: pathlib.Path) -> list[dict]:
findings = []
for lineno, line in enumerate(path.read_text(errors="replace").splitlines(), 1):
for name, pattern in SECRET_PATTERNS.items():
if pattern.search(line):
findings.append({"file": str(path), "line": lineno, "type": name})
return findings
事件响应工作流
响应并遏制安全事件。
工作流:处理安全事件
- 识别与分类:
- 验证事件真实性
- 评估初始范围与严重性
- 启动事件响应团队
- 遏制威胁:
- 隔离受影响系统
- 封禁恶意IP/账户
- 禁用已泄露凭证
- 根除根本原因:
- 清除恶意软件/后门
- 修补漏洞
- 更新配置
- 恢复操作:
- 从干净备份中恢复
- 验证系统完整性
- 监控复发情况
- 进行事后分析:
- 时间线重建
- 根本原因分析
- 经验教训
- 实施改进:
- 更新检测规则
- 加强控制措施
- 更新操作手册
- 记录并报告
- 验证:威胁已遏制;根本原因已消除;系统已恢复;事后分析完成;改进已实施
事件严重程度等级
| 等级 | 响应时间 | 上报流程 |
|---|---|---|
| P1 - 严重(活动性入侵/数据外泄) | 立即 | 首席信息安全官、法务部门、高管层 |
| P2 - 高(已确认,已控制) | 1小时 | 安全负责人,IT总监 |
| P3 - 中(潜在,调查中) | 4小时 | 安全团队 |
| P4 - 低(可疑,影响小) | 24小时 | 值班工程师 |
事件响应清单
| 阶段 | 行动 |
|---|---|
| 识别 | 验证警报,评估范围,确定严重性 |
| 遏制 | 隔离系统,保存证据,阻止访问 |
| 根除 | 移除威胁,修补漏洞,重置凭证 |
| 恢复 | 恢复服务,验证完整性,加强监控 |
| 经验总结 | 记录时间线,识别不足,更新流程 |
安全工具参考
推荐安全工具
| 类别 | 工具 |
|---|---|
| SAST(静态应用安全测试) | Semgrep、CodeQL、Bandit(Python)、ESLint安全插件 |
| DAST(动态应用安全测试) | OWASP ZAP、Burp Suite、Nikto |
| 依赖项扫描 | Snyk、Dependabot、npm audit、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 | 不适用(使用默认值) |
| 消息认证 | HMAC-SHA256 | 256位 |
| 数字签名 | Ed25519 | 256位 |
| 密钥交换 | X25519 | 256位 |
| TLS | TLS 1.3 | 不适用 |
参见:references/cryptography-implementation.md
工具与参考
脚本
| 脚本 | 用途 |
|---|---|
| threat_modeler.py | 具有DREAD风险评分的STRIDE威胁分析;JSON和文本输出;交互式引导模式 |
| secret_scanner.py | 检测超过20种模式的硬编码密钥和凭证;支持CI/CD集成 |
使用方法,请参见安全代码审查工作流中的内联代码示例,并直接查看脚本源文件。
参考文献
| 文档 | 内容 |
|---|---|
| security-architecture-patterns.md | 零信任、纵深防御、认证模式、API安全 |
| threat-modeling-guide.md | STRIDE方法论、攻击树、DREAD评分、DFD创建 |
| cryptography-implementation.md | AES-GCM、RSA、Ed25519、密码哈希、密钥管理 |
安全标准参考
安全头清单
| 头信息 | 推荐值 |
|---|---|
| 内容安全策略 | 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=() |
关于合规框架要求(OWASP ASVS、CIS基准、NIST CSF、PCI-DSS、HIPAA、SOC 2),请参考各自的官方文档。
相关技能
| 技能 | 集成点 |
|---|---|
| 高级开发运维 | CI/CD安全,基础设施加固 |
| 高级安全运维 | 安全监控,事件响应 |
| 高级后端开发 | 安全API开发 |
| 高级架构师 | 安全架构决策 |
文章底部电脑广告
手机广告位-内容正文底部


微信扫一扫,打赏作者吧~