owasp安全测试指南V4-测试大纲(中文)
- 格式:xlsx
- 大小:17.63 KB
- 文档页数:6
1应用安全测评指导书应用系统安全测评序号测评指标测评项检查方法预期结果1身份鉴别a)检查应用系统的身份标识与鉴别功能设置和使用配置情况;检查应用系统对用户登录各种情况的处理,如登录失败处理、登录连接超时等。
访谈: 1)访谈应用系统管理员,询问应用系统的身份标识和鉴别机制采用何种措施实现; 2)登录应用系统,查看是否提示输入用户口令,然后以正确口令登录系统,再以错误口令或空口令重新登录,观察是否成功。
1)应用系统使用口令鉴别机制对用户进行身份标识和鉴别; 2)登录时提示输入用户名和口令;以错误口令或空口令登录时提示登录失败,验证了登录控制功能的有效性;3)应用系统不存在密码为空的用户。
b)检查应用系统的身份标识与鉴别功能设置和使用配置情况;检查应用系统对用户登录各种情况的处理,如登录失败处理、登录连接超时等。
访谈: 1)访谈应用系统管理员,询问应用系统是否采用了两种及两种以上身份鉴别技术的组合来进行身份鉴别(如采用用户名/口令、挑战应答、动态口令、物理设备、生物识别技术中的任意两种组合);手工检查:1)通过注册用户,并以一种身份鉴别技术登录,验证是否可以登录。
用户的认证方式选择两种或两种以上组合的鉴别技术,只用一种技术无法认证成功。
c)检查应用系统的身份标识与鉴别功能设置和使用配置情况;检查应用系统对用户登录各种情况的处访谈: 1)访谈应用系统管理员,询问应用系统采取何种措施防止身份鉴别信息被冒用(如复杂性混有大、小写字母、数字和特殊字符,口令周期等);手工检查: 1)以弱口令用户注册,验证其用1)应用系统配备身份标识(如建立帐号)和鉴别(如口令等)功能;其身份鉴别信息具有不易被冒用的特点,规定字符混有大、小写字母、数字和特殊字符);2)以不符合复杂度要求和不符合长度要求理,如登录失败处理、登录连接超时等。
户是否注册成功。
的口令创建用户时均提示失败。
d)检查应用系统的身份标识与鉴别功能设置和使用配置情况;检查应用系统对用户登录各种情况的处理,如登录失败处理、登录连接超时等。
系统测试手册1. 引言- 1.1. 目的- 1.2. 范围- 1.3. 参考文献- 1.4. 定义和缩略语2. 测试策略- 2.1. 测试目标(验证功能完整性、性能基准、安全要求)- 2.2. 测试原则(尽早测试、频繁反馈、持续集成)- 2.3. 测试类型(功能测试、集成测试、系统测试、验收测试)- 2.4. 测试交付物(测试计划、测试用例、测试报告)3. 测试环境- 3.1. 硬件配置(服务器规格、客户端设备)- 3.2. 软件配置(操作系统版本、数据库版本、中间件)- 3.3. 网络环境(带宽、防火墙设置、IP白名单)- 3.4. 数据准备(测试数据生成、备份与恢复机制)4. 测试计划- 4.1. 测试任务(列出所有测试任务和活动)- 4.2. 资源分配(人员、设备、时间)- 4.3. 时间表(测试阶段的起止日期)- 4.4. 风险与依赖性分析(潜在风险、外部依赖)5. 测试设计- 5.1. 测试用例设计方法(等价类划分、边界值分析)- 5.2. 测试用例规范(用例格式、编号规则)- 5.3. 测试场景(正常流程、异常流程)- 5.4. 测试数据(数据来源、数据管理)6. 测试执行- 6.1. 测试过程(测试周期、测试迭代)- 6.2. 问题报告与处理(问题登记、跟踪、验证)- 6.3. 测试工具与自动化(工具选择、自动化测试框架)7. 缺陷管理- 7.1. 缺陷报告流程(提交、评审、修复、再测试)- 7.2. 缺陷跟踪与度量(缺陷跟踪系统、缺陷统计分析)- 7.3. 缺陷分析报告(缺陷趋势、质量指标)8. 测试结束准则- 8.1. 测试用例通过率(用例通过标准)- 8.2. 缺陷密度(每千行代码的缺陷数)- 8.3. 遗漏缺陷率(遗漏缺陷与总缺陷的比例)9. 回归测试- 9.1. 回归测试策略(全面回归、选择性回归)- 9.2. 回归测试范围(受影响的功能模块)- 9.3. 回归测试计划(回归测试时间表、资源分配)10. 性能测试- 10.1. 性能测试指标(响应时间、吞吐量、并发用户数)- 10.2. 性能测试工具(LoadRunner、JMeter)- 10.3. 性能测试结果(基准测试、负载测试、压力测试)11. 安全性测试- 11.1. 安全性测试指标(认证、授权、数据加密)- 11.2. 安全性测试工具(OWASPZAP、Nessus)- 11.3. 安全性测试结果(漏洞扫描、攻击模拟)12. 测试报告- 12.1. 测试总结报告(测试概览、关键发现)- 12.2. 详细测试报告(测试用例执行、缺陷分布)- 12.3. 测试资料归档(测试文档、测试数据、测试工具)13. 批准- 13.1. 文档审查(评审记录、改进建议)- 13.2. 批准签署(项目负责人、测试经理)14. 附录- 14.1. 测试用例模板(详细描述、预期结果、实际结果)- 14.2. 缺陷报告模板(缺陷描述、重现步骤、严重级别)- 14.3. 测试工具列表(工具名称、版本、供应商)。
OWASP安全测试指南-OTGv4OWASP有多个项⽬,其中有安全开发指南,有代码审计指南和安全测试指南在web渗透测试中,我们可以测试web应⽤和测试系统安全在测试系统安全中,我们安装kali linux并已它为引⼦来体验⼯具带来的效率感那么,在web渗透测试这⼀块在阅读了⼀些⼊门书籍和⼀些视频以后,有必要再看⼀份重量级的安全指南已核对⾃⼰对于web应⽤安全的知识性理解同时观察⾃⼰学到的东西与这⾥的异同,让⾃⼰在实战中⼜更多的参考资料可以查询这个指南能慢慢描述⼀些其他书和视频中没有的东西。
⼀般在书和视频中有原理有⼯具有案例,这是普及知识的⼀种常识性操作,掌握这些是有必要的,它们都是⼀个引⼦,指引你更进⼀步的迈⼊安全⾏业的⼤门。
然⽽,我们还得思考⼀下成长性问题:我学完了原理,⼯具后,那么下⼀步如何进步呢?这份安全测试指南,以及安全开发指南与代码审计指南将⾮常适合进阶。
因为,它帮助我们慢慢的去思考,开发时不知道⽤什么代码编写⽽引⼊的安全漏洞问题;在得到源代码以后看什么地⽅就能确认有漏洞的存在;以及发现问题,测试问题的安全测试指南。
可以发现,这是web应⽤安全的进阶知识,有必要读⼀次最严重的安全问题不是⼀般的问题,⽽是与业务逻辑和⾃定义应⽤程序设计密切相关的问题。
⾃动化软件发⽣的是⼀般性的问题。
我们可以做⼀个选择,将时间花在⾃动化⼯具上解决掉很多⼀般性问题的缺陷;也可以选择花在本指南中描述的技术上,已发现更严重的⾮⼀般性的问题缺陷⼀些优秀的⼯具,可以⽀撑你测试与发现问题的全过程,⽽前提是好马配好鞍,你⾃⾝也得具备发现和辨识得出这些⼯具的优缺点的知识⾯。
这⾥建议:⾮安全专家⼈员,还得已成长为重,多阅读指南描述的技术⽅⾯。
⼯具对于我们来说太过于遥远,我们只是使⽤者,不是鉴定专家。
最多可以⼲的事情就是更新⼀下⼯具的字典,更新⼀下版本和插件。
要想真正意义上成长和突破,还是得多积累。
它让你接触更全⾯的安全性问题,提升更⾼级别的思维意识。
第一章安全与风险管理安全与风险管理的概念机密性、完整性与可用性机密性完整性可用性安全治理组织的目标Goals、使命Mission与任务Objectives组织流程安全角色与职责信息安全策略完整与有效的安全体系监管委员会控制框架应有的关注duecare应尽的职责duediligence合规性(原法律法规章节)治理、风险与合规(GRC)法律与法规合规隐私需求合规全球性法律与法规问题(原法律法规章节)计算机犯罪版权与知识产权进出口跨国界数据传输隐私数据泄露相关法律法规理解专业道德(原法律法规章节)道德体系的法规需求计算机道德的主题一般计算机道德的谬论黑客行为与黑客主义道德规范的指引与资源ISC2的专业道德规范支持组织的道德规范开发与实施安全策略业务连续性与灾难恢复需求(原BCP与DRP章节)项目启动与管理设计并定义项目范围与计划实施业务影响分析(BIA)识别与分级评估灾害的影响恢复点目标(RPO)管理人员安全背景调查雇佣协议与策略雇员离职程序供应商、顾问与合同工控制隐私风险管理的概念组织风险管理概念风险评估方法论识别威胁与脆弱性风险评估与分析控制措施选择实施风险控制措施控制的类型访问控制的类型控制评估、监控与测量实物与非实物资产评价持续改进风险管理框架威胁建模决定可能的攻击与降低分析减小威胁的技术与流程采购策略与实践硬件、软件与服务管理第三方供应商最小的安全与服务级别需求安全教育、培训与意识正式的安全意识培训意识活动与防范-创建组织的安全文化第二章资产安全(新增章节)资产安全概念数据管理:决定与维护所有者数据策略角色与责任数据所有者数据保管者数据质量数据文件化与组织化数据标准数据生命周期控制数据定义与建模数据库维护数据审计数据存储与归档数据寿命与使用数据安全数据访问、共享与传播数据发布信息分级与支持资产资产管理软件版权设备生命周期保护隐私确保合适的保存介质、硬件和人员公司“X”数据保留策略数据安全控制静态的数据传输的数据基线范围与裁剪标准选择美国的资源全球的资源国家网络安全框架手册提升关键基础实施网络安全的框架第三章安全工程(新增章节、融合了安全架构、物理安全、密码学等)在工程生命周期中应用安全设计原则安全模型的基本概念通用系统组件他们如何一起工作企业安全架构通用架构框架Zachman框架获取和分析需求创建和设计安全架构信息系统安全评价模型通用正式安全模型产品评价模型业界和国际安全实施指南安全架构的漏洞系统技术与流程集成单点故障客户端的漏洞服务端的漏洞数据库安全大型可扩展并行数据系统分布式系统加密系统软件和系统的漏洞与威胁Web安全移动系统的漏洞远程计算的风险移动办公的风险嵌入式设备和网络物理系统的漏洞密码学应用密码学历史新出现的而技术核心信息安全原则密码系统的附加特性密码生命周期公钥基础设施(PKI)密钥管理流程密钥的创建与分发数字签名数字版权管理抗抵赖哈希单向哈希函数加密攻击的方法站点和设施的设计考虑安全调查站点规划路径设计通过环境设计来防止犯罪(CPTED)窗户设施安全的设计与实施设施安全的实施与运营通信与服务器机房区域划分与区域安全限制数据中心安全第四章通信与网络安全通信与网络安全概念安全网络架构与设计OSI与TCP/IPIP组网目录服务多层协议的含义各类协议实施VOIP网络无线网络无线安全问题加密来保证通信安全网络组件安全硬件传输介质网络访问控制设备中断安全内容分发网络(CDN)通信通道安全语音多媒体开放协议、应用与服务远程访问数据通信虚拟化网络网络攻击网络作为攻击通道网络作为防护堡垒网络安全目标与攻击模式扫描技术安全事件管理(SEM)IP碎片攻击与伪造包拒绝服务与分布式拒绝服务攻击欺骗会话劫持第五章身份与访问管理(原访问控制章节)身份与访问管理概念资产的物理与逻辑访问人员和设备的身份识别与认证身份识别、认证与授权身份管理实施密码管理账户管理用户配置管理目录管理目录技术单/多因素认证可审计性会话管理身份的注册与验证证书管理系统身份即服务(IDaaS)集成第三方身份服务授权机制的实施与管理基于角色的访问控制基于规则的访问控制强制访问控制自主访问控制防护或缓解对访问控制攻击WindowsPowerShell相关命令识别与访问规定的生命周期规定回顾撤销第六章安全评估与测试(新增章节)安全评估与测试概念评估与测试策略软件开发作为系统设计的一部分日志审核虚假交易代码审核与测试负向测试/滥用用力测试接口测试收集安全流程数据内部与第三方审计SOC汇报选项第七章安全运营(融合了原DRP相关内容)安全运营概念调查犯罪场景策略、角色与责任事件处理与响应恢复阶段证据收集与处理汇报与记录证据收集与处理持续监控数据防泄漏(DLP)为资源提供配置管理安全运营的基本概念控制特权账户使用组和角色管理账户职责分离监控特殊权限工作轮换管理信息生命周期服务级别管理资源保护实物资产与非实物资产硬件介质管理事件响应事件管理安全度量与汇报管理安全技术检测响应汇报恢复修补与回顾(经验学习)针对攻击的防御性措施非授权泄密网络入侵检测系统架构白名单、黑名单、灰名单第三方安全服务、沙箱、恶意代码防范、蜜罐和蜜网补丁和漏洞管理安全与补丁信息资源变更与配置管理配置管理恢复站点策略多处理中心系统弹性与容错需求灾难恢复流程创建计划响应人员通信评估还原计划的演练、评估与维护演练计划回顾桌面演练仿真演练并行演练中断演练计划的更新与演练业务连续性与其他风险领域边界安全的实施与运维访问控制智能卡类型闭路电视内部安全建筑物内部安全人员安全隐私出差胁迫第八章软件开发生命周期安全软件开发生命周期安全概念软件开发安全概要开发生命周期成熟度模型操作与维护变更管理DevOps(与产品运维集成)环境与安全控制软件开发方法数据库与数据仓库环境数据库漏洞与威胁数据库控制知识库管理Web应用环境软件环境安全应用开发与编码概念软件环境库与工具集源代码安全问题恶意代码防范软件保护机制安全内核、RM引用监控与TCB可信计算基配置管理代码保存安全API安全评估软件安全的有效性认证与认可变更记录与审计风险分析与缓解评估软件采购安全。
安全性测试:OWASPZAP使⽤⼊门指南免责声明:本⽂意在讨论使⽤⼯具来应对软件研发领域中,⽇益增长的安全性质量测试需求。
本⽂涉及到的⼯具不可被⽤于攻击⽬的。
1. 安全性测试前些天,⼀则12306⽤户账号泄露的新闻迅速发酵,引起了购票⽤户的⼀⽚恐慌。
且不论这次账号泄露的漏洞究竟是发⽣在哪⾥,⽹络安全性这个话题再次引起了我们的关注。
做为IT从业⼈员,我们的研发产品是否具有⾜够的安全性,是不是能够在亿万⽤户的?我们是不是应该更多的关注产品安全性,投⼊更多的安全性测试资源?从⾏业发展的趋势来看,答案是肯定的。
2. OWASPOWASP是⼀个开源的、⾮盈利的全球性安全组织,致⼒于应⽤软件的安全研究。
其使命是使应⽤软件更加安全,使企业和组织能够对应⽤安全风险作出更清晰的决策。
⽬前OWASP全球拥有220个分部近六万名会员,共同推动了安全标准、安全测试⼯具、安全指导⼿册等应⽤安全技术的发展。
近⼏年,OWASP峰会以及各国OWASP年会均取得了巨⼤的成功,推动了数以百万的IT从业⼈员对应⽤安全的关注以及理解,并为各类企业的应⽤安全提供了明确的指引。
OWASP被视为web应⽤安全领域的权威参考。
2009年发布的美国国家和国际⽴法、标准、准则、委员会和⾏业实务守则参考引⽤了OWASP。
美国联邦贸易委员会(FTC)强烈建议所有企业需遵循OWASP⼗⼤WEB弱点防护守则。
OWASP 颁布并且定期维护更新的web安全漏洞TOP 10,也成为了web安全性领域的权威指导标准,同时也是IBM APPSCAN、HP WEBINSPECT等扫描器漏洞参考的主要标准。
3. ZAPOWASP ZAP,全称:OWASP Zed Attack Proxy攻击代理服务器是世界上最受欢迎的免费安全⼯具之⼀。
ZAP可以帮助我们在开发和测试应⽤程序过程中,⾃动发现 Web应⽤程序中的安全漏洞。
另外,它也是⼀款提供给具备丰富经验的渗透测试⼈员进⾏⼈⼯安全测试的优秀⼯具。
Who Needs OWASP? Create Your Own Top 10 ListIntroductionWhy is your vulnerability list so important?Follow these 4 steps to achieve your custom, comprehensive Top N list Step 1: Gather vulnerability dataStep 2: Normalize the vulnerability dataStep 3: Create a vulnerability frequency tableStep 4: Consider additional risk factorsMoving forward Page 3 Page 3 Page 3 Page 3 Page 4 Page 4 Page 4 Page 5IntroductionA list of critical web application security vulnerabilities is a necessary risk management tool.1 Equally true is that each organization has a different set of vulnerabilities plaguing their applications. To complete a trifectaof fundamental truths, crowdsourced lists such as the OWASP Top 10 rarely reflect an individual organization’s priorities. Given all that, many organizations continue to download the OWASP Top 10 and try to use it to guide their software security efforts. Since this likely won’t achieve the desired result, why not use it as inspiration to create your own evidence-based, customized list?This document guides you through the process of cataloging your firm’s most common web application security vulnerabilities. But, before identifying those vulnerabilities, we must answer one very important question. Why is your vulnerability list so important?Identifying the vulnerabilities most prevalent in your organization’s applications provides real data. Data that encourages your development and security teams to actively improve their skills and processes. However, creating a satisfactory Top N list requires more than simply sorting one day’s or one application’s bug data. Building a list from the results of code review, various security testing methods, and actual incidents experienced by your firm and/or industry allow you to craft a holistic vulnerability list. You’ll then be better prepared to drive change that reduces risk in your organization.Customize your own comprehensive Top N list in 4 stepsStep 1: Gather vulnerability dataTo understand what you’re up against, you’ll first need to gather web application vulnerability data for a given period. Go back as far as you can with the technologies you have. Six months of data should be a minimum benchmark. Obtaining such data is easier to gather if your firm tracks security bugs in a central repository.If no repository currently exists, identify sources that contain vulnerability data. Collect reports associated with these sources. Next, extract the vulnerabilities into a spreadsheet or another data store.1 By “critical” we mean “most undesirable.” By “vulnerabilities” we mean “vulnerability types,” not individual security defects.Step 2: Normalize the vulnerability dataNormalizing vulnerability data ensures that each vulnerability instance is only counted once per application. You don’t want one bug-filled application to skew your results. A step-by-step approach to achieve this involves the following steps:1. Remove all re-test data from the data set. If the first test identifies a vulnerability that is not fixed bythe time a re-test takes place, list the vulnerability only once.2. Correlate penetration testing, incident response, and code review findings to remove multiplevulnerability instances. The instances may have been identified using different methodologies even though the same bug caused them. For instance, a cross-site scripting (XSS) vulnerability could be discovered during source code review, exploited during penetration testing, and abused by a realattacker. You should still list this vulnerability only once.3. Normalize finding names. For instance, the findings identified as “Stored XSS on admin page”and “Stored XSS on help page” could be renamed to read “Stored XSS.” The granularity of nameidentification determines the results of your Top N list. Use your judgement to determine what works best for your organization.Combining and harmonizing results from many kinds of defect discovery methods results in a richer assessment data set. Thus, more accurately reflecting what might be present in production environments.Step 3: Create a vulnerability frequency tableUsing the normalized vulnerability data, create a frequency table to list the number of times a given vulnerability was identified. For example, unsafe use of user-supplied data was identified 100 times throughout 150 applications over the past six months. This frequency table can help predict the likelihood that similar applications have the same vulnerability.Again, simply sorting a day’s bug data by number of occurrences doesn’t produce a satisfactory Top N list. Data changes often due to different testers, tools, processes, and applications. A historical view is important. Even when you have good frequency data, the point is to enable good risk management decisions. That requires additional knowledge.Step 4: Consider additional risk factorsOnce you have vulnerability frequency data, add analysis for three important risk factors:1. Detectability. The likelihood an attacker can discover the vulnerability.2. Exploitability. The likelihood an attacker can exploit that vulnerability.3. Impact. The combined technical and business impact if the vulnerability is successfully exploited.For each vulnerability in your list, add a score for each risk factor on a scale from 1-3 (with 3 being the higher end of the scale).Determining values for these factors are often based on the discovery method of the vulnerabilities. For instance, a vulnerability exploited in the wild (e.g., originating from the incident response report) might merit a higher exploitability than a vulnerability discovered during code review. Likewise, a vulnerability detected during a penetration test likely merits a higher detectability than a vulnerability detected during code review. Don’t hesitate to make adjustments based on professional opinion. Network location (e.g., Internet-facing versus internal), architecture (e.g., mobile versus thick-client), and other such criteria may be useful when assigning risk factor values.Based on the scores from this exercise, you can prepare your Top N list. This list is now customized to fit your organization and its software portfolio. This is one of the most valuable tools your firm can have for software security risk management.Moving forwardYour organization’s software security group (SSG) should periodically update the list and publish a Most Wanted Report. This calls attention to the most vulnerable areas of your firm’s software and applications. Incorporate this list into internal training material.When shown organization-specific vulnerability data, developers are more likely to understand how the material is relevant to their work. They are also better prepared to know when and how to apply what they’ve learned from training.Your Top N list may also open the door to executive attention regarding your firm’s vulnerabilities. These questions will help your teams obtain the resources they need to close gaps and mature the existing software security strategy.Be sure to adapt your approach at regular intervals to keep your Top N list up-to-date. Don’t simply base your security program on a static list. Sample your own data and turn the results into a powerful risk management tool.Synopsys helps development teams build secure, high-quality software, minimizing risks while maximizing speed and productivity. Synopsys, a recognized leader in application security, provides static analysis, software composition analysis, and dynamic analysis solutions that enable teams to quickly find and fix vulnerabilities and defects in proprietary code, open source components, and application behavior. With a combination of industry-leading tools, services, and expertise, only Synopsys helps organizations optimize security and quality in DevSecOps and throughout the software development life cycle.For more information, go to /software.Synopsys, Inc.185 Berry Street, Suite 6500San Francisco, CA 94107 USAContact us:U.S. Sales: 800.873.8193International Sales: +1 415.321.5237Email: *********************。