Skip to content

本模块聚焦安全架构体系与红蓝对抗方法论,涵盖 SDL/DevSecOps、威胁建模、零信任架构、渗透测试流程、应急响应、蜜罐技术、企业风控体系等高级主题。是安全架构师和安全管理岗的核心考察内容。


Q1: 什么是安全开发生命周期(SDL/DevSecOps)? 「🔴 高级」

考察点:考察安全体系建设的全局视角。筛掉只关注漏洞修复、不了解安全左移理念的安全人员。

参考答案

SDL(Security Development Lifecycle,安全开发生命周期)是一套将安全活动融入到软件开发全流程的方法论,确保在软件的需求、设计、开发、测试、部署、运维等各个阶段都考虑安全因素,从源头减少安全漏洞。

核心理念:安全左移(Shift Left)

越往左(越早)发现和修复安全问题,成本越低。

SDL 各阶段的安全活动

1. 需求阶段

  • 安全需求分析:明确产品的安全要求
  • 合规需求梳理:确定适用的法规和标准
  • 安全风险初评:评估业务的安全优先级

2. 设计阶段

  • 威胁建模(Threat Modeling):识别系统面临的威胁和风险
  • 安全设计评审:评审架构设计的安全性
  • 安全设计原则应用:最小权限、纵深防御、故障安全等

3. 开发阶段

  • 安全编码规范:制定并执行安全编码标准
  • 代码审计(SAST):静态代码安全扫描
  • 依赖安全检查(SCA):扫描第三方组件漏洞
  • 安全代码评审:高危模块人工安全评审

4. 测试阶段

  • 安全测试计划:制定安全测试方案
  • 动态扫描(DAST):运行时漏洞扫描
  • 渗透测试:人工深度安全测试
  • 模糊测试(Fuzzing):发现输入处理类漏洞

5. 部署阶段

  • 安全配置基线:服务器、容器、中间件的安全配置
  • 权限最小化:运行账号、网络权限的收紧
  • 密钥和凭证管理:敏感信息安全存放
  • 发布前安全检查(Go/No-Go)

6. 运维阶段

  • 安全监控和告警:WAF、IDS、SIEM 等监控
  • 漏洞管理:定期扫描、补丁管理
  • 应急响应:安全事件的发现、响应、处置
  • 安全运营:持续的安全改进和优化

DevSecOps

DevSecOps 是 DevOps 和安全的结合,强调在 DevOps 流程中自动集成安全能力,实现安全的自动化和"安全即代码"。

  • 自动化:将安全工具集成到 CI/CD 流水线
  • 持续安全:每次代码提交都自动进行安全检查
  • 安全左移:安全问题在开发早期就被发现和修复
  • 全员安全:开发也承担安全责任,安全团队赋能

常见的 DevSecOps 工具链

阶段工具类型代表工具
代码提交代码静态扫描(SAST)SonarQube、Semgrep、CodeQL
依赖管理组件漏洞扫描(SCA)Snyk、Dependabot、Trivy
容器镜像镜像安全扫描Trivy、Aqua、Clair
基础设施IaC 安全扫描Checkov、tfsec
部署前动态扫描(DAST)OWASP ZAP、Burp
运行时运行时防护(RASP)OpenRASP、AppSensor

追问延伸

  • 安全左移具体怎么做?有哪些落地的手段?
  • SDL 和 DevSecOps 有什么区别和联系?
  • 如何推动开发团队重视安全?安全和研发效率如何平衡?
  • 什么是安全成熟度模型?如何评估团队的安全水平?
  • 你如何在一个从零开始的团队中落地 SDL?

Q2: 什么是威胁建模?怎么做? 「🔴 高级」

考察点:考察安全设计的方法论。筛掉只靠经验做安全、缺乏系统化分析方法的架构和安全人员。

参考答案

威胁建模(Threat Modeling)是一种系统化的安全分析方法,在设计阶段识别系统可能面临的安全威胁,评估风险等级,并制定相应的防护措施。

核心价值

  • 在编码之前发现安全设计缺陷,修复成本最低
  • 系统化地思考安全问题,避免遗漏
  • 帮助团队建立安全共识

威胁建模流程

1. 识别资产和系统架构

2. 识别威胁(什么可能出错)

3. 评估风险(威胁的严重程度)

4. 制定缓解措施(怎么办)

5. 验证和持续迭代

常见的威胁建模方法

1. STRIDE 模型(最经典)

由微软提出,将威胁分为 6 大类:

威胁说明对应安全属性例子
S - Spoofing(仿冒)冒充他人身份身份认证伪造用户名登录
T - Tampering(篡改)修改数据或代码完整性修改订单金额
R - Repudiation(抵赖)否认做过的操作不可否认性否认转账操作
I - Information Disclosure(信息泄露)泄露敏感信息机密性数据库泄露用户信息
D - Denial of Service(拒绝服务)使服务不可用可用性DDoS 攻击
E - Elevation of Privilege(提权)获得未授权的权限授权普通用户变管理员

2. DREAD 模型(风险评估)

用于评估每个威胁的风险等级,从 5 个维度评分(1-10 分):

维度说明
D - Damage(破坏程度)攻击成功后造成多大危害
R - Reproducibility(复现难度)攻击是否容易复现
E - Exploitability(利用难度)利用漏洞的难度
A - Affected Users(影响用户数)多少用户会受影响
D - Discoverability(发现难度)漏洞是否容易被发现

总分 = (D + R + E + A + D) / 5,分数越高风险越大。

3. 其他方法

  • PASTA:攻击模拟和威胁分析过程
  • Attack Tree(攻击树):以树形结构描述攻击路径
  • Persona non Grata:从恶意用户角色出发分析

威胁建模实践步骤

  1. 画数据流图(DFD)

    • 画出系统的各个组件、数据存储、外部实体
    • 画出数据流动方向
    • 标记信任边界
  2. 识别每个元素的威胁

    • 对每个数据流、每个组件、每个数据存储,用 STRIDE 逐一分析
    • "这个数据流会被篡改吗?会被窃听吗?"
  3. 风险排序

    • 用 DREAD 或其他方法给每个威胁打分
    • 优先处理高风险威胁
  4. 设计缓解措施

    • 针对每个威胁设计防护方案
    • 记录决策过程和理由
  5. 持续更新

    • 系统架构变更时重新评估
    • 定期回顾和更新威胁模型

追问延伸

  • STRIDE 中每个威胁类型对应的防护手段是什么?
  • 威胁建模应该在什么阶段做?多久做一次?
  • 如何让开发团队接受和参与威胁建模?
  • 什么是攻击树(Attack Tree)?和 STRIDE 有什么不同?
  • 微服务架构下如何做威胁建模?

Q3: 什么是零信任架构? 「🔴 高级」

考察点:考察现代安全架构理念。筛掉还停留在传统边界安全思维、不了解零信任的架构和安全人员。

参考答案

零信任(Zero Trust)是一种安全架构理念,核心原则是"永不信任,始终验证"(Never Trust, Always Verify)。它假设网络内外都有威胁,不因为请求来自内网就自动信任,而是对每一次访问都进行身份验证和授权。

传统安全 vs 零信任

传统边界安全零信任架构
内网可信,外网不可信所有位置都不可信
一次认证,长期信任每次访问都验证
边界防护为主身份为中心
粗粒度访问控制细粒度动态授权

零信任的核心原则

  1. 永不信任,始终验证

    • 不基于网络位置给予信任
    • 每次访问都需要验证身份和权限
  2. 最小权限原则

    • 只授予完成任务所需的最小权限
    • 按需授权,而不是一揽子授权
  3. 假设被攻破(Assume Breach)

    • 假设系统已经被入侵,从最坏情况出发设计
    • 微隔离,限制攻击者的横向移动
  4. 持续验证和监控

    • 不是一次认证就完事,持续评估风险
    • 行为异常时自动降级或要求重新认证

零信任的关键技术

  1. 身份认证(Identity)

    • 统一身份管理(IAM)
    • 多因素认证(MFA)
    • 单点登录(SSO)
    • 身份是新的安全边界
  2. 微隔离(Micro-segmentation)

    • 将网络细分为小的安全区域
    • 每个区域之间都有访问控制
    • 防止攻击者攻破一点后横向移动
  3. 软件定义边界(SDP)

    • 先认证后连接,未认证用户看不到也访问不到资源
    • "黑暗网络"理念,默认隐藏服务
  4. 持续信任评估

    • 基于上下文(用户行为、设备状态、地理位置等)动态评估风险
    • 风险变化时动态调整权限
    • UEBA(用户实体行为分析)
  5. 权限动态管理

    • 基于属性的访问控制(ABAC)
    • 即时授权(Just-in-Time),用完即收回
    • 足够权限(Just-Enough),不多给

零信任落地路径

  1. 身份先行:先统一身份认证,接入 MFA
  2. 梳理资源和访问关系:搞清楚有什么资源、谁需要访问
  3. 逐步替换 VPN:用零信任网关替代传统 VPN
  4. 微隔离建设:从业务维度逐步做网络细粒度隔离
  5. 持续运营优化:数据分析、策略调优

追问延伸

  • 零信任和 VPN 有什么区别?零信任能取代 VPN 吗?
  • 零信任和 SASE、SDP 是什么关系?
  • 零信任"永不信任",那用户体验会不会很差?
  • 零信任架构对性能有什么影响?
  • 传统企业如何从零开始落地零信任?有哪些坑?

Q4: 渗透测试的流程是什么? 「🟡 中级」

考察点:考察红队方法论。筛掉对渗透测试没有系统化认知、只会用工具瞎扫的安全人员。

参考答案

渗透测试(Penetration Testing)是模拟真实攻击者的方法,对目标系统进行全面的安全测试,发现漏洞并验证其可利用性和实际危害。

标准渗透测试流程

1. 明确目标与范围(Pre-engagement)

  • 确定测试范围:哪些系统、哪些域名、哪些 IP
  • 确定测试深度:黑盒/白盒/灰盒
  • 确定限制条件:禁止的操作、时间窗口、数据保护要求
  • 签订授权书:必须获得书面授权,否则是违法行为
  • 明确交付物和验收标准

2. 信息收集(Reconnaissance)

也叫踩点,尽可能多地收集目标信息:

  • 被动信息收集(不直接接触目标)

    • 搜索引擎(Google Hacking)
    • Whois 信息、DNS 记录
    • 社交网络、招聘网站、代码托管平台
    • 历史漏洞信息、泄露的密码
  • 主动信息收集(直接访问目标)

    • 端口扫描:Nmap、Masscan
    • 目录扫描:Dirb、Gobuster
    • 指纹识别:CMS、中间件、操作系统
    • 子域名发现:OneForAll、Sublist3r

3. 漏洞扫描与发现(Vulnerability Assessment)

  • 使用自动化扫描工具初步发现漏洞
  • Web 扫描:AWVS、Xray、Burp Scanner
  • 主机扫描:Nessus、OpenVAS
  • 人工分析扫描结果,验证误报,发现工具没扫到的问题

4. 漏洞利用(Exploitation)

  • 验证漏洞的真实可利用性
  • 获取权限:Webshell、系统权限
  • 常用工具:
    • Web:Burp Suite、sqlmap、蚁剑/冰蝎
    • 系统:Metasploit、Cobalt Strike
    • 提权:各类提权 EXP
  • 注意控制影响范围,避免造成业务中断

5. 后渗透(Post-Exploitation)

  • 权限维持:留后门、种植木马
  • 横向移动:利用当前主机攻击内网其他主机
  • 信息收集:收集域信息、密码哈希、敏感文件
  • 权限提升:从普通用户提升到管理员/System
  • 目标达成:获取核心数据、控制关键系统

6. 清理痕迹(Cleanup)

  • 删除测试留下的文件、账号、后门
  • 清除日志痕迹
  • 恢复被修改的配置
  • 确保测试后系统状态和测试前一致

7. 报告撰写(Reporting)

  • 漏洞详情:描述、位置、复现步骤
  • 风险评级:严重程度、影响范围
  • 修复建议:具体的修复方案
  • 整体评估:整体安全状况、改进建议

常见工具链

  • 信息收集:Nmap、Masscan、Fofa、Shodan
  • Web 测试:Burp Suite、sqlmap、Xray、Dirsearch
  • 系统攻击:Metasploit、Cobalt Strike、Impacket
  • 内网渗透:Mimikatz、Procdump、BloodHound
  • 提权工具:Windows-Exploit-Suggester、LinPEAS

追问延伸

  • 渗透测试和红队有什么区别?
  • 黑盒测试和白盒测试各有什么优劣?
  • 拿到一个站,你一般的测试思路是什么?
  • 渗透测试的报告怎么写才能让客户认可?
  • 什么是 CTF?和真实渗透测试有什么区别?

Q5: 什么是应急响应?流程是什么? 「🔴 高级」

考察点:考察安全事件处理能力。筛掉对安全事件响应没有经验、遇事慌乱的安全运营人员。

参考答案

应急响应(Incident Response)是指安全事件发生后,有组织、有计划地进行处理和应对,以降低事件造成的损失,恢复正常业务,并防止事件再次发生。

PDCERF 方法论(最经典的应急响应模型)

1. 准备阶段(Preparation)

  • 事件发生之前的准备工作
  • 建立应急响应团队和流程
  • 准备工具和资源(取证工具、分析平台、知识库)
  • 制定应急预案和演练
  • 部署监控和告警系统
  • 做好备份策略

2. 检测阶段(Detection)

  • 发现和确认安全事件
  • 来源:IDS/WAF 告警、用户举报、日志分析、外部通报
  • 验证告警真实性,排除误报
  • 判断事件类型和严重程度
  • 启动应急响应流程

3. 遏制阶段(Containment)

  • 阻止事件进一步扩大,减少损失
  • 短期遏制:快速隔离受影响系统
    • 断网、关机、封禁 IP、停用账号
  • 长期遏制:临时加固,防止攻击继续
    • 打临时补丁、增加过滤规则、加强监控
  • 注意:保留现场,不要盲目操作破坏证据

4. 根除阶段(Eradication)

  • 找到攻击根源,彻底清除威胁
  • 分析攻击入口和攻击路径
  • 修复漏洞和安全隐患
  • 清除后门、木马、恶意代码
  • 重置被泄露的密码和密钥
  • 确保攻击者无法再次进入

5. 恢复阶段(Recovery)

  • 恢复业务系统正常运行
  • 分阶段恢复,验证系统完整性
  • 加强监控,观察是否有异常
  • 数据恢复(从干净的备份恢复)
  • 确认业务正常后逐步上线

6. 跟踪总结阶段(Lessons Learned / Follow-up)

  • 事件复盘和总结
  • 编写事件报告
  • 评估损失和影响
  • 分析根本原因
  • 改进安全措施和流程
  • 更新应急预案
  • 对相关人员进行培训

溯源取证

应急响应中的关键工作,目的是还原攻击过程:

  • 攻击时间线:攻击者什么时候进来、做了什么
  • 攻击入口:通过什么漏洞进来的
  • 影响范围:哪些系统和数据受到影响
  • 攻击手段:用了什么工具和技术
  • 攻击者画像(可选):攻击来源、动机、手法

常用工具

  • 日志分析:ELK、Splunk
  • 进程分析:Process Explorer、Process Hacker
  • 网络分析:Wireshark、Tcpdump
  • 取证工具:FTK、EnCase、Volatility(内存取证)

追问延伸

  • 发现服务器被入侵了,第一时间应该做什么?
  • 如何判断攻击者有没有留下后门?
  • 应急响应中如何保护证据不被破坏?
  • 什么是内存取证?什么时候需要做内存取证?
  • 如何衡量应急响应的效果?MTTD 和 MTTR 是什么?
  • 发生大规模数据泄露事件,你会怎么处理?

Q6: 什么是蜜罐技术?有什么作用? 「🟡 中级」

考察点:考察防御欺骗技术的了解。筛掉只知道被动防御、不了解主动防御手段的安全人员。

参考答案

蜜罐(Honeypot)是一种故意设置的"诱饵"系统或服务,看起来像是有价值的攻击目标,实际上是用来吸引和诱捕攻击者的陷阱。

核心思想

正常用户不会访问蜜罐,所以任何访问蜜罐的行为都可以被视为可疑的。

蜜罐的分类

按交互程度分类

  1. 低交互蜜罐(Low-interaction Honeypot)

    • 只模拟部分服务和功能
    • 攻击者只能进行有限的操作
    • 优点:部署简单、风险低、资源消耗小
    • 缺点:容易被识别,无法观察复杂攻击行为
    • 代表:Kippo(SSH 蜜罐)、Glastopf(Web 蜜罐)
  2. 中交互蜜罐(Medium-interaction Honeypot)

    • 模拟更多的功能和服务
    • 有一定的真实系统功能,但不是完整系统
    • 平衡了安全性和交互性
  3. 高交互蜜罐(High-interaction Honeypot)

    • 就是真实的系统和服务
    • 攻击者可以进行完整的攻击操作
    • 优点:最真实,能观察到完整的攻击过程
    • 缺点:部署复杂、风险高(可能被利用来攻击其他系统)
    • 需要严格的隔离和监控

按用途分类

  • 生产蜜罐:部署在生产网络中,用于检测攻击
  • 研究蜜罐:用于研究攻击手段、收集威胁情报

常见蜜罐类型

  • Web 蜜罐:模拟有漏洞的 Web 应用
  • SSH 蜜罐:模拟 SSH 服务,收集暴力破解密码
  • 数据库蜜罐:模拟 MySQL、Redis 等数据库服务
  • 邮件蜜罐:收集垃圾邮件和钓鱼邮件
  • 工控蜜罐:模拟工业控制系统
  • 蜜网(Honeynet):一整个网络的蜜罐系统

蜜罐的作用

  1. 攻击检测

    • 零误报(正常用户不会访问)
    • 能检测未知攻击(0day)
    • 早期发现入侵行为
  2. 威胁情报收集

    • 收集攻击者的工具、手法、IP
    • 分析攻击趋势和最新攻击手段
    • 获取恶意样本
  3. 拖延攻击者

    • 吸引攻击者在蜜罐中浪费时间
    • 消耗攻击者精力,保护真实系统
    • 为应急响应争取时间
  4. 取证分析

    • 在隔离环境中观察完整攻击过程
    • 记录攻击者的每一步操作
    • 用于溯源和分析
  5. 攻防演练

    • 作为红队/蓝队演练的靶场
    • 培训安全人员

局限性

  • 只能检测到碰到蜜罐的攻击,攻击者绕过蜜罐就检测不到
  • 高交互蜜罐有被攻击者利用来攻击第三方的风险
  • 维护成本较高

追问延伸

  • 蜜罐和 IDS 有什么区别?各自的优劣?
  • 什么是蜜标(Honeytoken)?和蜜罐有什么不同?
  • 如何防止蜜罐被攻击者识别出来?
  • 蜜罐可以用来防御 DDoS 吗?
  • 什么是蜜网?和单蜜罐有什么区别?

Q7: 如何构建企业级的风控体系? 「⭐ 专家」

考察点:考察安全战略和体系建设能力。筛掉只懂技术细节、缺乏全局视角和管理思维的安全人员。

参考答案

企业风控体系(风险控制体系)是一套完整的风险管理框架,通过技术、流程、人员三个维度的结合,系统性地识别、评估、治理和监控企业面临的各类安全风险,将风险控制在可接受的范围内。

风控体系建设的核心框架

风险识别 → 风险评估 → 风险治理 → 风险监控 → 持续优化

1. 风险识别(Risk Identification)

搞清楚企业面临哪些风险:

  • 资产盘点:有哪些数据资产、系统资产、物理资产
  • 威胁分析:面临哪些外部威胁(黑客攻击、竞争对手、黑产)和内部威胁(员工误操作、内鬼)
  • 漏洞发现:技术漏洞、管理漏洞、流程漏洞
  • 合规风险:法律法规要求(等保、个保法、GDPR、行业监管)
  • 业务风险:业务逻辑漏洞、欺诈风险

方法

  • 资产梳理和分类分级
  • 威胁建模
  • 渗透测试和漏洞扫描
  • 安全审计
  • 业务风险评审

2. 风险评估(Risk Assessment)

评估每个风险的严重程度,确定优先级:

风险 = 可能性 × 影响程度

  • 可能性(Likelihood):攻击发生的概率有多大
  • 影响(Impact):如果发生了,会造成多大损失(经济损失、声誉损失、合规处罚)

评估方法

  • 定性评估:高/中/低分级
  • 定量评估:用数值精确计算(如 FAIR 模型)
  • 风险矩阵:可能性 × 影响 = 风险等级

输出:风险清单和优先级排序

3. 风险治理(Risk Treatment)

针对风险采取相应的处理措施:

四种风险应对策略

策略说明适用场景
规避(Avoid)消除风险源,不做有风险的事风险极高且无法接受
缓解(Mitigate)采取措施降低风险常见方式,安全建设的主要内容
转移(Transfer)将风险转移给第三方购买网络安全保险、外包安全服务
接受(Accept)主动接受风险风险低、防护成本高于损失

治理措施

  • 技术措施:安全产品、防护系统
  • 管理措施:制度、流程、规范
  • 人员措施:培训、意识提升、考核

4. 风险监控(Risk Monitoring)

持续监控风险状态和变化:

  • 安全运营中心(SOC):7x24 监控告警
  • SIEM:日志集中分析
  • 威胁情报:及时了解最新威胁
  • 漏洞管理:持续发现和修复漏洞
  • KPI/KRI:关键风险指标监控

5. 持续优化(Continuous Improvement)

  • 定期风险复盘
  • 安全事件后改进
  • 安全成熟度评估
  • PDCA 循环(计划→执行→检查→处理)

三大支柱:技术 + 流程 + 人员

技术体系

  • 网络安全:防火墙、WAF、IDS/IPS
  • 终端安全:EDR、杀毒、终端管控
  • 数据安全:DLP、加密、脱敏
  • 身份安全:IAM、MFA、零信任
  • 安全运营:SIEM、SOC、态势感知

流程制度

  • 安全管理制度和规范
  • 安全事件响应流程
  • 变更管理、发布管理
  • 权限审批流程
  • 数据分类分级制度

人员能力

  • 安全团队建设
  • 全员安全意识培训
  • 安全技能培训
  • 安全考核与问责

追问延伸

  • 如何向老板汇报安全风险,争取安全预算?
  • 安全投入和业务发展如何平衡?
  • 什么是安全成熟度?如何衡量企业的安全水平?
  • 中小企业和大型企业的风控体系有什么不同?
  • 你如何衡量安全工作的价值?
  • 什么是 GRC(治理、风险与合规)?