DAST、IAST 与模糊测试

共 19 题
#

1. DAST(OWASP ZAP、Burp Suite)的黑盒检测边界中只能发现运行时可观测漏洞(XSS、SQLi 响应、配置错误),看不到源码逻辑缺陷

A DAST 能发现所有类型漏洞,包括源码逻辑缺陷
B DAST 只能发现运行时可观测的漏洞形态,无法看到源码逻辑缺陷 ✓ 正确答案
C DAST 直接读取源码进行分析
D DAST 比 SAST 更能发现源码逻辑缺陷
#

2. IAST 插桩式检测(运行时 agent)的覆盖率优势中结合执行路径精确定位漏洞代码行,误报通常低于纯 DAST

A IAST 与纯 DAST 一样只能通过响应猜测漏洞
B IAST 无法定位漏洞代码行
C IAST 结合执行路径能精确定位漏洞代码行,误报通常低于纯 DAST ✓ 正确答案
D IAST 误报率高于纯 DAST
#

3. IAST 的性能开销与生产适用性中通常限于测试/预发布环境而非全量生产

A IAST 适合全量生产环境长期运行
B IAST 只需在编译期运行,无需真实执行
C IAST 没有任何性能开销
D IAST 有运行时开销且需真实执行,通常限于测试/预发布环境 ✓ 正确答案
#

4. Coverage-guided Fuzzing(AFL、libFuzzer)的覆盖率反馈机制与种子语料(seed corpus)的重要性

A fuzzer 完全随机生成输入,无任何反馈
B 覆盖率反馈只适用于不使用网络的应用
C 种子语料对 fuzzing 结果无影响
D 覆盖率反馈驱动变异探索新路径,高质量种子语料能显著提升起步效率 ✓ 正确答案
#

5. 模糊测试的覆盖率目标中如何用覆盖率(gcov / llvm-cov)评估 fuzz 是否真正到达目标代码,并为 CI 设定可执行的覆盖率门槛?

A 用 gcov / llvm-cov 统计覆盖率,可判断 fuzz 是否真正到达目标代码,并设定 CI 可执行门槛 ✓ 正确答案
B 覆盖率与 fuzz 是否到达目标代码无关
C fuzz 只要运行就有覆盖率
D 覆盖率门槛应由 fuzzer 自动决定,无需人工设定
#

6. Fuzz 目标的选择与优先级中解析器、协议与输入边界代码的取舍,如何评估 fuzz 的投资回报?

A 解析器、协议与输入边界代码是高价值目标,应按风险密度与影响评估投资回报 ✓ 正确答案
B 所有代码都应无差别地 fuzz
C 简单无外部输入的代码最值得 fuzz
D 无需评估 fuzz 的投资回报
#

7. OSS-Fuzz 对开源项目的持续模糊测试集成与漏洞披露流程

A OSS-Fuzz 只做一次性 fuzz,不持续运行
B OSS-Fuzz 不提供回归测试
C OSS-Fuzz 发现漏洞后立即公开
D OSS-Fuzz 为开源项目持续运行 fuzz,崩溃经最小化后按协调披露流程通知维护者 ✓ 正确答案
#

8. DAST 与 SAST 的误报/漏报互补中 SAST 高误报但全覆盖、DAST 低误报但漏掉不可达路径

A SAST 全覆盖但可能误报,DAST 低误报但漏掉不可达路径,二者互补 ✓ 正确答案
B DAST 能覆盖所有代码路径,包括不可达路径
C SAST 误报率低于 DAST
D 两者检测机制完全相同
#

9. Fuzzing 的语料蒸馏(corpus distillation)与崩溃去重(crash deduplication)

A 蒸馏去除冗余输入只留新增覆盖的输入,去重按根因归并重复崩溃 ✓ 正确答案
B 蒸馏是保留所有输入,去重是合并所有崩溃
C 两者都会扩大语料库
D 崩溃去重是把不同函数的崩溃合并
#

10. DAST 在 CI 的集成中针对临时预览环境(preview environment)扫描后即销毁

A 预览环境应长期保留以便反复扫描
B 为 PR 创建临时预览环境,扫描后即销毁,兼顾安全验证与资源回收 ✓ 正确答案
C DAST 无法在 CI 中自动化
D 预览环境扫描后应保留并对外公开
#

11. 结构感知模糊(structure-aware fuzzing)与协议模糊(protocol fuzzing,如 boofuzz)的差异

A 两者完全相同,无差异
B 结构感知模糊只适用于 C 语言
C 协议模糊完全不理解协议结构
D 结构感知模糊针对结构化输入格式,协议模糊针对网络协议交互,二者各有侧重 ✓ 正确答案
#

12. DAST 的原理中黑盒扫描与漏洞验证?

A DAST 直接读取源码判断漏洞
B DAST 黑盒发起请求并注入载荷,通过多种验证技术确认漏洞以降低误报 ✓ 正确答案
C DAST 无需分析响应即可确认漏洞
D DAST 只会报告已触发的漏洞,不会误报
#

13. DAST 的认证态扫描中登录态扫描如何管理会话、用户权限与作用域,避免漏掉需登录才能触达的漏洞,同时控制扫描对业务数据的影响?

A 无需认证也能覆盖所有漏洞,无需登录态扫描
B 认证态扫描无需控制作用域
C 认证态扫描应使用生产账号直接扫描生产库
D 认证态扫描管理会话、权限与作用域,并用隔离环境与限速控制业务数据影响 ✓ 正确答案
#

14. DAST 扫描的安全运行中作用域、速率控制与风控如何避免扫描破坏系统或误伤真实流量?

A 为充分覆盖,应不限速、不限作用域地扫描
B 速率控制会降低扫描效果,应取消
C 扫描应直接在生产环境全量运行
D 通过作用域、速率控制与风控,并在非生产环境运行,避免破坏系统与误伤真实流量 ✓ 正确答案
#

15. Fuzz 崩溃的回归转化中最小复现用例入库与回归门禁如何设计,防止同类问题复发?

A 崩溃修复后无需保留测试用例
B 回归门禁无法自动运行崩溃用例
C 最小复现用例只能用于演示,不能用于回归
D 将崩溃最小化为最小复现用例入库,并作为回归门禁与语料,防止同类问题复发 ✓ 正确答案
#

16. 渗透测试与漏洞赏金(bug bounty)在 DAST 自动化之外的定位中发现业务逻辑漏洞

A 自动化工具能完全替代人工测试
B 漏洞赏金无需任何范围界定
C 渗透测试与漏洞赏金补充 DAST 盲区,擅长发现业务逻辑与组合型漏洞 ✓ 正确答案
D 业务逻辑漏洞可由 DAST 自动发现
#

17. Fuzzing 发现的崩溃到最小可复现测试用例的转化(minimization)

A 最小化会扩大崩溃输入
B 最小化是删除输入中可删除的冗余,保留能复现崩溃的最小输入 ✓ 正确答案
C 最小化后的用例无法复现崩溃
D 崩溃输入无需最小化即可直接分析
#

18. 模糊测试中覆盖率引导与崩溃分析?

A 覆盖率引导用于探索新代码路径,崩溃分析用于定位并转化崩溃为可复现用例 ✓ 正确答案
B 覆盖率引导与崩溃分析完全无关
C 崩溃分析只统计崩溃数量,不定位根因
D 覆盖率引导会在崩溃后停止探索
#

19. 三类测试的选型与组合?

A 只用一种工具即可完全覆盖安全
B 三者互补,理想组合是 SAST 全覆盖 + IAST 精定位 + DAST 终验,并配人工测试补盲 ✓ 正确答案
C IAST 是最便宜的,应只用 IAST
D 三者是同一种工具的三种叫法