报告编写
执行技术方面的评价只是整体评价进程的一半;最终产品是一份内容详实的报告。报告应该简单易懂、突出所有评估期间找到的风险,并将之呈现给管理员工和技术员工。
报告需要有三个主要部分,并且在一定程度上允许每个部分被单独分离出来,打印并交与相关的团队,比如开发人员或者系统管理员。
通常推荐有如下几个部分:.
1. 内容提要
内容提要集合了所有评价,并给予管理层或系统管理员一个对全局风险的认识。使用的语言应该更适合没有技术背景的人看,还应该使用图表来显示风险等级。请牢记,内容提要的读者是那些仅仅有时间阅读摘要的人,他需要描述清楚下面两个问题:
- 哪里发生问题了?
- 我该如何修复问题?
你只能用一页纸来回答这些问题。
内容提要应该明确地陈述清楚漏洞和它的严重程度是组织风险管理的一个输入,而不是结果或者整治措施。最安全的,可以向组织解释,测试者并不清楚漏洞被利用后会给组织或者商业行为带来何种威胁。这些是风险控制专家在结合漏洞和计算风险等级后的工作。风险管理通常是组织IT安全管控(GRC)的一部分。这份报告只是简单地向这个过程提供一个输入。
2. 测试详情
这里介绍安全测试、问题发现、整改措施大纲,推荐章节标题如下:
2.1 测试项目目标:
这部分大略描述评估项目整体目标和期望结果。
2.2 测试项目范围:
这部分描述项目范围。
2.3 测试项目进度:
这部分描述测试正式开始和结束时间
2.4 测试目标:
这部分应列清楚测试应用数量和测试系统数量。
2.5 测试限制条件:
这部分应表达出在整个评估过程中存在的限制条件。比如项目关注度限制,测试方法、性能、技术水平限制以及测试中测试者所遇到的问题等等。
2.6 测试结果小结
这部分介绍在测试中发现的漏洞和问题。
2.7 整改方案小结
这部分规划修复发现的漏洞的方案和计划。
3. 测试结果
报告的最后部分需要包含详细的漏洞技术细节以及解决技术方案。这部分以一个技术层为目标,它应该包括关于所有必要的信息,使得技术团队理解问题并解决问题。每个发现的问题应该明确简练,并让报告阅读者能立即理解问题所在。
测试结果部分应当包括:
- 一定数量的截图和命令参考,用以做简单的参考
- 被影响的事物
- 对问题的技术描述
- 如何解决问题的章节
- 问题严重等级,可以使用CVSS描述的向量标记[1]
下面是在评估中测试的清单列表:
测试编号 | 测试内容 | 发现问题 | 严重等级 | 解决方案 |
---|---|---|---|---|
信息收集 | ||||
OTG-INFO-001 | 搜索引擎信息发现和侦察 | |||
OTG-INFO-002 | 识别web服务器 | |||
OTG-INFO-003 | web服务器元文件信息发现 | |||
OTG-INFO-004 | 服务器应用应用枚举 | |||
OTG-INFO-005 | 评论信息发现 | |||
OTG-INFO-006 | 应用入口识别 | |||
OTG-INFO-007 | 识别应用工作流程 | |||
OTG-INFO-008 | 识别web应用框架 | |||
OTG-INFO-009 | 识别web应用程序 | |||
OTG-INFO-010 | 绘制应用架构图 | |||
配置以及部署管理测试 | ||||
OTG-CONFIG-001 | 网络基础设施配置测试 | |||
OTG-CONFIG-002 | 应用平台配置管理测试 | |||
OTG-CONFIG-003 | 文件扩展名处理测试 | |||
OTG-CONFIG-004 | 备份、未链接文件测试 | |||
OTG-CONFIG-005 | 枚举管理接口测试 | |||
OTG-CONFIG-006 | HTTP方法测试 | |||
OTG-CONFIG-007 | HTTP严格传输安全测试 | |||
OTG-CONFIG-008 | 应用跨域策略测试 | |||
身份鉴别管理测试 | ||||
OTG-IDENT-001 | 角色定义测试 | |||
OTG-IDENT-002 | 用户注册过程测试 | |||
OTG-IDENT-003 | 帐户权限变化测试 | |||
OTG-IDENT-004 | 帐户枚举测试 | |||
OTG-IDENT-005 | 弱用户名策略测试 | |||
认证测试 | ||||
OTG-AUTHN-001 | 口令信息加密传输测试 | |||
OTG-AUTHN-002 | 默认口令测试 | |||
OTG-AUTHN-003 | 帐户锁定机制测试 | |||
OTG-AUTHN-004 | 认证绕过测试 | |||
OTG-AUTHN-005 | 记住密码功能测试 functionality | |||
OTG-AUTHN-006 | 浏览器缓存弱点测试 | |||
OTG-AUTHN-007 | 密码策略测试 | |||
OTG-AUTHN-008 | 安全问答测试 | |||
OTG-AUTHN-009 | 密码重置测试 | |||
OTG-AUTHN-010 | 其他相关认证渠道测试 | |||
授权测试 | ||||
OTG-AUTHZ-001 | 目录遍历/文件包含测试 | |||
OTG-AUTHZ-002 | 授权绕过测试 | |||
OTG-AUTHZ-003 | 权限提升测试 | |||
OTG-AUTHZ-004 | 不安全对象直接引用测试 | |||
会话管理测试 | ||||
OTG-SESS-001 | 会话管理绕过测试 | |||
OTG-SESS-002 | Cookies属性测试 | |||
OTG-SESS-003 | 会话固定测试 | |||
OTG-SESS-004 | 会话令牌泄露测试 | |||
OTG-SESS-005 | 跨站点请求伪造(CSRF)测试 | |||
OTG-SESS-006 | 登出功能测试 | |||
OTG-SESS-007 | 会话超时测试 | |||
OTG-SESS-008 | 会话令牌重载测试 | |||
输入验证测试 | ||||
OTG-INPVAL-001 | 反射型跨站脚本测试 | |||
OTG-INPVAL-002 | 存储型跨站脚本测试 | |||
OTG-INPVAL-003 | HTTP谓词伪造测试 | |||
OTG-INPVAL-004 | HTTP参数污染测试 | |||
OTG-INPVAL-005 | SQL注入测试 | |||
Oracle注入测试 | ||||
MySQL注入测试 | ||||
SQL Server注入测试 | ||||
PostgreSQL注入测试 | ||||
MS Access注入测试 | ||||
NoSQL注入测试 | ||||
OTG-INPVAL-006 | LDAP注入测试 | |||
OTG-INPVAL-007 | ORM注入测试 | |||
OTG-INPVAL-008 | XML注入测试 | |||
OTG-INPVAL-009 | SSI注入测试 | |||
OTG-INPVAL-010 | XPath注入测试 | |||
OTG-INPVAL-011 | IMAP/SMTP注入测试 | |||
OTG-INPVAL-012 | 代码注入测试 | |||
本地文件包含测试 | ||||
远程文件包含测试 | ||||
OTG-INPVAL-013 | 命令执行注入测试 | |||
OTG-INPVAL-014 | 缓冲区溢出测试 | |||
堆溢出测试 | ||||
栈溢出测试 | ||||
格式化字符串测试 | ||||
OTG-INPVAL-015 | 潜伏式漏洞测试 | |||
OTG-INPVAL-016 | HTTP分割/伪造测试 | |||
错误处理测试 | ||||
OTG-ERR-001 | 错误码分析 | |||
OTG-ERR-002 | 栈追踪分析 | |||
密码学测试 | ||||
OTG-CRYPST-001 | 弱SSL/TLS加密,不安全的传输层防护测试 | |||
OTG-CRYPST-002 | Padding Oracle测试 | |||
OTG-CRYPST-003 | 非加密信道传输敏感数据测试 | |||
业务逻辑测试 | ||||
OTG-BUSLOGIC-001 | 业务逻辑数据验证测试 | |||
OTG-BUSLOGIC-002 | 请求伪造能力测试 | |||
OTG-BUSLOGIC-003 | 完整性测试 | |||
OTG-BUSLOGIC-004 | 过程时长测试 | |||
OTG-BUSLOGIC-005 | 功能使用次数限制测试 | |||
OTG-BUSLOGIC-006 | 工作流程绕过测试 | |||
OTG-BUSLOGIC-007 | 应用误用防护测试 | |||
OTG-BUSLOGIC-008 | 非预期文件类型上传测试 | |||
OTG-BUSLOGIC-009 | 恶意文件上传测试 | |||
客户端测试 | ||||
OTG-CLIENT-001 | 基于DOM跨站脚本测试 | |||
OTG-CLIENT-002 | JavaScript脚本执行测试 | |||
OTG-CLIENT-003 | HTML注入测试 | |||
OTG-CLIENT-004 | 客户端URL重定向测试 | |||
OTG-CLIENT-005 | CSS注入测试 | |||
OTG-CLIENT-006 | 客户端资源操纵测试 | |||
OTG-CLIENT-007 | 跨源资源分享测试 | |||
OTG-CLIENT-008 | Flash跨站测试 | |||
OTG-CLIENT-009 | 点击劫持测试 | |||
OTG-CLIENT-010 | WebSockets测试 | |||
OTG-CLIENT-011 | Web消息测试 | |||
OTG-CLIENT-012 | 本地存储测试 |
附录部分
这部分常用于描述评估中使用的商业以及开源工具。当在评价过程中使用用户脚本/代码时,应该在这部分中说明或以附件形式标记。通常用户很喜欢该测试包含了顾问的使用方法。他们可以知道该评估的全面性已经包含了哪些方面。
参考资料
Industry standard vulnerability severity and risk rankings (CVSS) [1] – http://www.first.org/cvss