收藏 分销(赏)

JR∕T 0232—2021 银行互联网渗透测试指南(金融).pdf

上传人:曲**** 文档编号:98113 上传时间:2022-07-19 格式:PDF 页数:31 大小:591.13KB
下载 相关 举报
JR∕T 0232—2021 银行互联网渗透测试指南(金融).pdf_第1页
第1页 / 共31页
JR∕T 0232—2021 银行互联网渗透测试指南(金融).pdf_第2页
第2页 / 共31页
JR∕T 0232—2021 银行互联网渗透测试指南(金融).pdf_第3页
第3页 / 共31页
JR∕T 0232—2021 银行互联网渗透测试指南(金融).pdf_第4页
第4页 / 共31页
JR∕T 0232—2021 银行互联网渗透测试指南(金融).pdf_第5页
第5页 / 共31页
点击查看更多>>
资源描述

1、附件 9ICS 35.240.40CCS A 11JR中 华 人 民 共 和 国 金 融 行 业 标 准JR/T 02322021银行互联网渗透测试指南Guidelines for internet penetration test in bank2021 - 07 - 22 发布2021 - 07 - 22 实施中国人民银行发 布JR/T 02322021I目次前言.III引言. IV1 范围.12 规范性引用文件.13 术语和定义.14 概述.35 渗透测试策划.35.1 概述.35.2 确定测试范围.35.3 确定测试引用文档.35.4 确定测试项.45.5 确定被测试特性和不被测试特性

2、.45.6 确定测试方法与测试通过准则.45.7 确定暂停准则和恢复条件.45.8 测试交付项.45.9 确定测试活动、任务与进度.45.10 明确环境需求.55.11 分配职责、权限和各部门间的工作衔接.55.12 明确人员配备和培训目标.55.13 明确风险和应急措施.55.14 确定质量保证过程.55.15 测试策划阶段文档.56 渗透测试设计.66.1 概述.66.2 确定测试范围.66.3 被测试特征、测试方法与通过准则.66.4 测试用例.66.5 测试环境.76.6 测试过程描述.96.7 测试就绪评审.96.8 测试设计阶段文档.107 渗透测试执行.107.1 概述.107.

3、2 信息收集.107.3 威胁建模.11JR/T 02322021II7.4 漏洞发现.127.5 渗透攻击.147.6 测试执行阶段文档.158 渗透测试总结.158.1 概述.158.2 测试数据分析.158.3 差异分析.158.4 风险决策根据分析.158.5 报告编写.168.6 测试评审.178.7 测试总结阶段文档.17附录 A (资料性) 银行互联网渗透测试过程要点清单. 18附录 B (资料性) 银行互联网渗透测试漏洞风险定级参考. 21参考文献.26JR/T 02322021III前言本文件按照GB/T 1.12020标准化工作导则第1部分:标准化文件的结构和起草规则的规定

4、起草。请注意本文件的某些内容可能涉及专利。本文件的发布机构不承担识别专利的责任。本文件由中国银行业协会提出。本文件由全国金融标准化技术委员会(SAC/TC 180)归口。本文件起草单位:中国银行业协会、中国工商银行股份有限公司、中国农业银行股份有限公司、中信银行股份有限公司、兴业银行股份有限公司、北京银联金卡科技有限公司、中金金融认证中心有限公司、北京梆梆安全科技有限公司、北京长亭未来科技有限公司。本文件主要起草人:潘光伟、张芳、高峰、李宽、王阳、敦宏程、苏建明、刘涌、王贵智、蒋家堂、叶红、戴心齐、孟宪哲、李亚敏、王金希、李沁蕾、赵成刚、陈嘉、江超、李乐天、高强裔、刘淑敏、刘一鸣、马男。JR/

5、T 02322021IV引言渗透测试(Penetration Test)也叫穿透测试,是一种通过模拟真实世界中的攻击动作,发现并利用安全漏洞,进而检验、评估信息系统实际安全水平的测试方法。渗透测试具有深入、直接、客观的特点,是主动提升信息系统(尤其是互联网信息系统)安全性的有力手段,已得到了广泛使用。互联网渗透测试主要模拟的是来自互联网的攻击行为, 是当前最主要的一种渗透测试形式。 银行信息系统是国家的重要基础设施,对互联网的依赖与日俱增,面临的互联网攻击也日趋严峻。因此通过互联网渗透测试这一技术手段主动发现安全漏洞也是当前银行普遍的现实需求。渗透测试虽然是一项基础的安全技术, 但在不同的行业

6、应用场景下又有各自的特殊性。 银行信息系统直接涉及资金安全, 且需要非常高的稳定性, 不规范的渗透测试不仅无法全面覆盖与资金安全密切相关的核心安全风险,还可能给系统的安全稳定带来负面影响。因此,在国家层面尚未建立成熟的渗透测试实施相关标准的情况下,很有必要从行业安全的角度,结合银行业务的特点,针对性地制定一套规范的银行互联网渗透测试方法,以保障测试质量、控制实施风险,确保银行机构能更加规范、系统、有效、方便地开展互联网渗透测试工作。基于以上行业需求,制定本文件。依照本文件开展渗透测试时,首先遵循国家的法律法规、监管制度及强制性标准的最新条款,如本文件与前述各项条款矛盾,遵循前述各项条款。JR/

7、T 023220211银行互联网渗透测试指南1范围本文件提供了在银行信息系统中开展互联网渗透测试的整体流程以及流程各个环节中保障测试质量、控制测试风险的指南。本文件适用于银行互联网渗透测试的策划、设计、执行、总结,也供保险、证券等其他金融行业参考。2规范性引用文件下列文件中的内容通过文中的规范性引用而构成本文件必不可少的条款。其中,注日期的引用文件,仅该日期对应的版本适用于本文件;不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。GB/T 155322008计算机软件测试规范GB/T 250692010信息安全技术术语GB/T 292462017信息技术安全技术信息安全管理体系概

8、述和词汇JR/T 01012013银行业软件测试文档规范3术语和定义GB/T 250692010和GB/T 292462017界定的以及下列术语和定义适用于本文件。3.1渗透测试penetration test渗透性测试穿透性测试以模拟真实攻击的动作,检测发现信息系统存在的技术漏洞,并利用漏洞突破信息系统的安全控制机制,进而评估信息系统面临的实际安全风险的一种测试手段。来源:GB/T 250692010, 2.3.87,有修改3.2授权authorization通过技术手段界定渗透测试实施范围的过程。示例:通过防火墙策略仅允许渗透测试实施人员访问测试范围内的信息系统。来源:GB/T 25069

9、2010, 2.1.33,有修改3.3威胁代理threat agent有动机和能力破坏信息系统安全性的人或程序。示例:企图通过攻击信息系统非法获取资金的黑客团伙。3.4JR/T 023220212威胁建模threat modeling对信息系统的资产、流程、攻击信息系统的主要动机、潜在威胁代理及其能力等进行分析,对相关的主体和关系进行有效组织。注:威胁建模的目的是构建信息系统面临的最可能攻击场景。3.5敏感信息sensitive information由权威机构确定的必须受保护的信息,该信息的泄露、修改、破坏或丢失会对人或事产生可预知的损害。注:敏感信息的具体分级标准宜参考JR/T 01972

10、020。来源:GB/T 250692010, 2.2.4.73.6漏洞vulnerability脆弱性弱点信息系统中可能被攻击者利用的薄弱环节。来源:GB/T 250692010, 2.3.30,有修改3.7实施风险implement risk渗透测试实施过程中可能对目标信息系统的保密性、完整性、可用性带来的影响。3.8访问控制access control一种保证数据处理系统的资源只能由被授权主体按授权方式进行访问的手段。来源:GB/T 250692010, 2.2.1.423.9仿真环境simulation environment为避免直接在目标信息系统中实施测试所引入的实施风险,仿照目标信

11、息系统搭建且具备测试所需的各项条件的渗透测试实施环境。示例:业务系统及配置与生产一致的测试环境;生产环境中与生产服务器配置一致但不承载实际业务的模拟服务器;与生产高度一致的网络靶场环境。3.10权限提升privilege escalation在低权限用户状态下,利用信息系统中存在的漏洞突破权限控制,获得该用户原本不具备的操作权限的过程。示例:利用操作系统漏洞从普通用户权限提升为超级管理员用户权限。3.11现场清理site clearing渗透测试实施完毕后,将目标信息系统恢复到测试前状态的过程。示例:删除上传到目标信息系统中的测试脚本。JR/T 0232202133.12应急预案conting

12、ency plan一种关于备份、应急响应和灾后恢复的计划。来源:GB/T 250692010, 2.2.3.43.13保密性confidentiality信息对未授权的个人、实体或过程不可用或不泄露的特性。来源:GB/T 292462017, 2.123.14完整性integrity准确和完备的特性。来源:GB/T 292462017, 2.403.15可用性availability根据授权实体的要求可访问和可使用的特性。来源:GB/T 292462017, 2.93.16遵从性compliance遵守指导活动的相关条款的程度。4概述银行互联网渗透测试是指从互联网渠道发起的针对银行信息系统的渗

13、透测试,宜按照GB/T155322008中4.3规定的要求,将测试流程划分为策划、设计、执行、总结四个阶段,并根据整体测试情况编制总结文档。渗透测试过程中的相关文档,宜按照JR/T 01012013中4.4.3规定的要求,给出的单项测试三级规范编制。5渗透测试策划5.1概述渗透测试策划(以下简称测试策划)主要进行渗透测试需求分析,包括确定测试范围,确定测试引用文档,确定测试项以及被测试特性和不被测试特性,确定测试方法与测试通过准则,确定暂停准则和恢复条件,规定测试活动、任务与进度,明确环境需求,分配职责、权限和各部门间的工作衔接,明确人员配备和培训目标,明确风险和应急措施,确定质量保证过程。在

14、测试过程中,如发现在测试规划阶段确定的内容有变化,宜及时变更测试策划,并妥善管理测试策划的版本。应用程序编程接口(API,Application Programming Interface)方式接入前,需要进行接入方系统改造和接口开发,并与接口平台开展联调测试,其中功能测试和业务场景测试是必做项。5.2确定测试范围概述本渗透测试涉及到的范围及其特征。示例:本渗透测试在因特网中国境内网段,针对实际生产环境进行。5.3确定测试引用文档JR/T 023220214确定开展渗透测试所考虑的需求因素,每个文档宜明确具体的标识(包括版本)和条款,典型的引用文档包括:a)国家监管制度。b)金融行业监管制度。

15、c)组织自身安全管理策略规范。d)团体组织准入规范。示例:支付卡行业安全标准委员会(PCI SSC,Payment Card Industry Security Standards Council)、环球银行金融电信协会(SWIFT,Society Worldwide Interbank Financial Telecommunication)等团体组织均有定期对特定信息系统进行渗透测试的相关规范。e)业务需求以及非功能需求。示例:某些重要业务系统需要很高的安全性,上线前和(或)上线后可能会提出专项的渗透测试需求。5.4确定测试项根据界定的测试范围,确定具体的渗透测试对象。测试项宜能够进行明确

16、的标识和界定。示例:测试项通过具有唯一性的属性予以标识的例子包括互联网协议(IP,Internet Protocol)地址、域名、域名+统一资源定位符(URL,Uniform Resource Locators)、客户端程序版本、客户端程序文件哈希值。当测试范围为因特网中国境内网段实际生产环境时,测试项为银行的整个信息与通信(ICT,Information andCommunications Technology)系统。5.5确定被测试特性和不被测试特性确定具体的渗透测试特性,即渗透测试针对测试项的哪些方面和不针对哪些方面。示例:当测试范围为因特网中国境内网段,测试项为银行的整个 ICT 系统

17、时,被测试特性为针对通用信息技术产品的通过互联网的攻击和利用应用系统业务需求逻辑漏洞进行的攻击。不被测试特性包括高级可持续威胁(APT,Advanced Persistent Threat)攻击和分布式拒绝服务(DDOS,Distributed Deny Of Service)攻击。5.6确定测试方法与测试通过准则根据渗透测试的目的、内容以及实施特性,选定渗透测试方法,明确成功实施该测试的准则。示例:渗透测试全流程中典型的测试方法包括:a)搜索,如基于搜索引擎收集信息。b)扫描,如通过自动化扫描工具收集信息或检测漏洞。c)监听,如通过网络监听窃取未加密敏感信息。d)篡改,如篡改上传服务端的交易

18、数据。e)绕过,如绕过登录控制直接访问敏感信息。f)滥用,如恶意、频繁地使用正常的业务功能。g)破解,如破解相关密码算法还原加密的敏感信息。h)逆向,如通过动态调试、反编译等方式掌握程序的运行逻辑。i)注入,如输入包含恶意代码的数据。5.7确定暂停准则和恢复条件包括计划内暂停和计划外暂停两种情况。在暂停后恢复时,宜关注是否需要进行回归测试。5.8测试交付项确定可交付的文档。 测试输入数据、 测试输出数据以及测试辅助软件 (如渗透测试工具的脚本) ,宜确定为可交付项。5.9确定测试活动、任务与进度JR/T 023220215明确准备和执行渗透测试的主要活动、任务和所需的时间周期,粒度宜符合实际需

19、要,对不同的活动、任务可按照不同的粒度进行规划。明确各项任务间的所有依赖关系和所需要的任何特殊技能。示例:在典型情况下,具体的实施计划宜包括测试的起始时间点、测试的结束时间点或结束标志,以及测试周期内的具体实施时间段。5.10明确环境需求典型的测试环境需求包括但不限于:a)所需的硬件。b)所需的软件,包括基础软件和测试工具软件。c)所需的特殊硬件设备。d)所需的网络环境,包括网络种类、带宽、账号。e)测试所需的基础数据。f)测试设计和执行的物理场地与办公设施。g)测试所需的银行产品凭据。5.11分配职责、权限和各部门间的工作衔接确定负责管理、设计、准备、执行、监督和解决问题的各个小组,实现所有

20、的工作任务均有任务属主,且明确承担相关属主角色之间的不兼容职责。所有参与者从承担责任上分为任务属主或参与者。从时间投入上分为全职人员或共享人员。宜确定这些个人和小组之间交流的内容和方法,包括阐明信息流和数据流的图表。按最小权限原则对渗透测试全体人员进行合理授权。对涉及到内部网络的,宜仅开通测试所需的网络访问范围和相关支撑系统、应用系统所必要的用户权限。对所有渗透测试涉及的文档(包括本计划)、工具、数据的归属、共享做出规定。5.12明确人员配备和培训目标根据任务和设置的小组与职责提出对人员的配备和技能的需求,对不具备相关技能的情况,说明如何进行培训。示例:指导组、工具组、环境组人员来自专业团队且

21、已经具备了所需的知识与技能。设计组需外部专家指导且已经在相关采购合同中包括了所需的人员,需要由工具组和外部专家进行工具脚本设计和工具使用的专业培训。5.13明确风险和应急措施标识测试策划的风险假设,提出应对各种风险的应急措施。示例:本渗透测试可预料到的风险和应急措施包括:a)对生产环境可能导致的破坏风险,应急措施为提前编制应急预案,提前备份敏感数据及重要系统。b)对生产环境的功能产生影响的风险,应急措施为提前编制应急预案,实施过程中暂停测试,并马上启动对该功能涉及到应用系统的修复。c)对生产环境的性能产生影响的风险,应急措施为加强对应用系统的监控,实施阶段的渗透攻击环节错开生产业务高峰期,限制

22、自动化工具的并发数。d)测试过程中误操作可能导致的风险,应急措施为测试均应采用脚本化方式,操作时双人实施。e)渗透测试不充分导致的残留风险,应急措施为对测试结果进行分析,保留测试现场数据和测试用例、规程数据,以便后期通过回归测试复现测试过程。5.14确定质量保证过程明确为保证测试过程和产品质量所用的方法,包含或引用异常的跟踪和解决过程。示例:所有的渗透测试均经过设计,编制了测试规格说明并经过评审。所有的测试过程均编制了测试日志,经质量控制人员审核,记录内容与测试过程一致。编制了测试总结报告并通过评审。5.15测试策划阶段文档JR/T 023220216在测试策划阶段,宜按照JR/T 01012

23、013中第5章规定的要求,制定测试策划。在本测试复用概率较低、且对后继工作影响较小情况下,可按照JR/T 01012013中第10章规定的要求,编制测试预案中与测试策划相关的部分。在应急测试时,宜按照JR/T 01012013中第15章规定的要求,编制测试综合报告中涉及到测试策划的相关内容。在确定质量保证过程中,参考相关文档进行审核时,测试规格说明宜按照JR/T 01012013中第9章规定的要求编制;测试日志宜按照JR/T 01012013中第11章规定的要求编制,测试总结报告宜按照JR/T 01012013中第14章规定的要求编制。6渗透测试设计6.1概述渗透测试设计(以下简称测试设计)是

24、按照测试策划,进一步细化针对被测试特征的测试方法和通过准则,选用已有的测试用例或设计新的测试用例;获取并验证测试数据;确定测试用例执行顺序的测试规程;准备测试工具并在必要时开发测试软件;建立并验证测试环境;进行测试就绪评审。在测试设计过程中,发现测试策划需要变更的,宜在经过评审后及时变更测试策划,使测试策划与测试规格保持一致与协调。6.2确定测试范围说明本渗透测试涉及到的范围及其特征。若测试策划的范围描述已经能够满足对不同测试方法的设计,则可直接参考该测试策划。在必要时,可针对测试策划中描述的测试范围有选择地进行细化,以说明应用相关测试方法的必要性。6.3被测试特征、测试方法与通过准则在测试策

25、划描述的测试项、测试方法与测试通过准则的基础上,针对每一测试特征,在必要时细化测试方法。描述的粒度宜能按照给定的方法进行测试用例和测试规程的设计。示例:测试项、测试方法与测试通过准则见测试策划。6.4测试用例6.4.1测试用例标识规则明确测试用例描述的方式。不论采用哪种方式,均可唯一定位和检索,并说明使用的规则与注意事项。6.4.2测试用例概述测试用例可根据测试的特征分组, 其粒度可根据测试用例是新设计还是选用库中现有测试用例、测试设计,本测试使用是否需要执行回归测试,测试用例是否计划复用,以及实施人员的知识与技能综合确定。宜集中描述测试用例的公共属性,包括但不限于:a)对相关测试用例集合中每

26、个输入都有效的约束条件。b)任何共享环境的需求。c)对共享的特殊规程的规定。d)共享的测试用例之间的依赖关系。6.4.3测试用例详述6.4.3.1概述每个或每组测试用例均宜遵循的规范,具体如下:a)测试用例宜具有可操作性,完整包含测试用例执行所必不可少的各项内容,包括但不限于:1)对应的测试要点。JR/T 0232202172)适用测试规程(场景)描述。3)测试用例的输入和预期的结果。4)测试结果判定方法。5)案例实施所需数据,如用户。b)测试用例对应的测试要点覆盖整体测试规程,见附录 A。c)测试用例宜满足的特殊需求。d)宜对测试用例潜在的实施风险及应急措施进行说明。e)生产环境下的渗透测试

27、所使用的用户宜提前备案并全程监控。6.4.3.2测试用例编号为本测试用例赋予一个唯一标识符,以便将其与其他测试用例区分开,宜通过自动工具生成标识符。6.4.3.3输入与输出说明规定执行测试用例所需的各种输入(或测试方法)与预期的输出(或预期可能接收到的反馈)。宜参考 “10项最严重的互联网应用程序安全风险列表”(OWASP Top10, Open Web Application SecurityProject Top10)等各项行业最佳实践,对本文件漏洞发现(见7.4)和攻击验证内容(见7.5.1)的每一项的用例制定明确的输入和输出说明,规定所有合适的数据库、文件、配置参数、接口报文、输入终端

28、、内存驻留区域及操作系统传送的各个值。对于新技术、新业务场景等原因无法明确测试输入输出的,可采用莽撞测试的方法,宜描述具体数据记录的方法,但相关测试宜由具有三年以上渗透测试工作经验的测试人员完成,并提前获得测试需求方授权。规定输入之间的所有必要的关系。示例:输入存在时序,前导交易和后继交易均为输入之间的关系。6.4.3.4采用的测试设计方法描述本测试用例所采用的测试设计方法。 对于在6.3中已经详细描述的方法, 本节不必重新描述,仅需引用。注:本节的目的是使得所有测试用例都采用了已经确定的测试设计方法。6.4.3.5对其他用例依赖关系列出本测试用例与其他用例的依赖关系,宜区分以下情况:a)其他

29、用例是执行本测试用例的必要条件。b)本测试用例是执行其他用例的必要条件。6.4.3.6特殊需求说明描述执行本测试用例时特殊的需求,包括但不限于管理需求、对人员的需求。对环境的需求宜在6.5中描述,本测试用例属于特殊情况的,宜在本节提及。6.5测试环境6.5.1概述描述启动渗透测试、执行渗透测试和记录结果所需的测试环境,通常按每个(或每组)场景进行描述,可使用一个(或多个)图形来展示所有的环境组成成分及其间信息交互。渗透测试环境描述策略,具体如下:a)当渗透测试环境为生产环境时,可仅描述测试现场所需的环境。b)当在测试策划中对环境的描述足够清晰和细致的情况下,以及在单独制定了测试环境需求规格说明

30、和(或)测试数据需求规格说明时,本节可直接引用这些文档。JR/T 023220218c)当测试策划、测试环境需求规格说明、测试数据需求规格说明发生变更时,本节宜对变更情况进行详细描述。d)仅为部分特殊的测试用例需求的测试环境,可不在本节描述。6.5.2测试执行环境渗透测试实施前宜完成各项环境准备工作,具体如下:a)基础环境准备工作,当在为渗透测试专门搭建的仿真环境进行测试时,需说明与生产环境的差异并评价可比性,主要包括:1)测试所需的系统资源,包括硬件、基础软件和支撑软件等。2)测试所需的网络资源,包括硬件、地址、端口、账号等。3)应用系统。4)测试基础数据。b)监控审计环境准备工作,确保测试

31、过程得到有效的监控和记录,该环境宜满足:1)所有网络流量均得以记录,并在所需的时间周期(例如半年)内可用。2)所有终端操作均得以记录,并在所需的时间周期(例如半年)内可用。终端操作记录方式可通过录屏、命令行日志记录等方式实现。3)已采取信息防泄漏措施。c)对基础环境及监控审计环境的有效性设立了检查确认准则。6.5.3测试工具准备渗透测试实施前宜完成各项工具准备工作,具体如下:a)准备以下常用渗透测试工具:1)信息收集工具,如端口扫描工具、目录枚举工具、网络监听工具等。2)漏洞扫描工具,如网站漏洞扫描工具、系统层漏洞扫描工具等。3)漏洞利用工具,如暴力破解工具、数据包拦截和篡改工具、典型高危漏洞

32、的专用工具等。4)测试文档管理工具。5)缺陷管理工具。b)非实施方自主开发测试工具宜具备可跟踪的、合规的获取路径。c)实施方自主开发测试工具宜由实施方进行工具安全性审查,重点审核不包含与银行互联网渗透测试实施无关的功能。d)对拟采用的工具进行详细记录,包括但不限于:1)工具名称。2)工具用途。3)工具提供方。4)工具获取途径。5)工具版本号。6)工具的散列值。6.5.4测试验证授权对授权策略的执行情况进行验证,具体如下:a)测试实施人员宜具有达成测试目标所需的必要权限,包括以下内容:1)测试对象网络可达。2)具有特定权限的测试用户。b)根据测试目标配置合理的安全策略,包括以下内容:JR/T 0

33、232202191)单纯以发现应用软件漏洞为目标的测试,宜通过白名单策略,放开对测试源的限制。2)以验证目标系统整体安全防护状况为目标的测试,不宜单独为测试源开通特殊安全策略。c)采取有效措施来控制测试实施人员行为超越授权范围的风险,包括以下内容:1)防火墙隔离。2)边界监控。3)日志审计。6.6测试过程描述6.6.1日志列出记录日志的工具和方法,记录的内容包括测试执行的结果,任何观测到的异常,以及任何其他有关测试的事件。6.6.2建立提供准备执行规程所需的动作序列。典型地,信息收集、威胁建模、漏洞发现都是建立的重要动作。6.6.3启动提供开始执行规程所需的动作。典型地,渗透攻击是启动的重要动

34、作。6.6.4处理提供在规程执行过程中所需的动作。若测试用例按照场景或系列场景设计,即由多组输入、输出的有序排列构成,则不必在此重复描述测试用例的执行序列。本文件描述的攻击过程(见7.5.2)是典型的处理过程。6.6.5度量描述如何进行测试度量。度量可以是多维度的,例如对进度的度量和对测试结果的度量。6.6.6暂停因计划外事件导致的临时暂停,描述测试所需的动作。对已经在测试策划中描述了暂停的,此处引用即可。6.6.7再启动规定所有再启动点,描述在各再启动点上重新启动规程所必需的动作。对已经在测试策划中描述了再启动的,此处引用即可。6.6.8停止描述正常停止执行时所必需的动作。6.6.9结束描述

35、在运行的规程全部执行完成后(包括终止记录日志),恢复环境所必需的动作。典型地,包括回收用于测试的权限。6.6.10应急描述处理执行过程中可能发生的异常事件所必需的动作。6.7测试就绪评审在测试执行前,宜对测试策划和测试设计进行评审,评审测试策划的合理性、测试环境和测试工具的有效性,以及测试用例的可操作性和覆盖充分性等。评审的主要内容有:JR/T 0232202110a)评审测试策划的合理性,包括测试目标、测试项、测试内容、测试方法、时间计划及授权策略等的合理性。b)评审测试环境和测试工具的有效性。c)评审测试用例的可操作性和充分性。6.8测试设计阶段文档在测试设计过程中,宜按照JR/T 010

36、12013中第9章规定的要求,编制测试规格说明。对认为本渗透测试文档具有高度复用价值的,宜按照JR/T 01012013中第6、7、8章规定的要求,分别编制测试设计说明、测试用例说明和测试规程说明。在本测试复用概率较低且对后继工作影响较小情况下,可按照JR/T 01012013中第10章规定的要求,编制测试预案中与测试设计相关的部分;在应急测试时,宜按照JR/T 01012013中第15章规定的要求,编制测试综合报告中涉及到测试设计的相关内容。如有必要,测试环境需求规格说明宜参照JR/T 01012013中附录D.4规定的要求,测试数据需求规格说明宜参照JR/T 01012013中附录D.5规

37、定的要求。7渗透测试执行7.1概述渗透测试执行(以下简称测试执行)是按照设计的过程执行测试用例,获得渗透测试结果,编制测试日志;分析并判定渗透测试是否达到预期以及是否进行多轮测试;测试结束前,审核测试记录文档是否完整、有效、一致;在测试过程中,如出现异常情况,按照测试设计进行处理并编制测试事件报告;完成全部预定的测试任务后,清理测试现场。本章描述的是测试过程的典型活动,宜事先在测试设计的建立、启动、处理等活动中有所反映,鉴于渗透测试可能需要根据某个测试的结果动态进行调整,故本文件将有关活动的细节放在本章描述。在应急测试时,编制测试综合报告中涉及到测试执行的相关内容。在测试执行过程中,发现测试策

38、划、测试设计需要变更的,宜在评审后及时变更,使测试策划、测试设计与实际执行的渗透测试保持一致与协调。7.2信息收集渗透测试的信息收集宜根据具体的测试范围、测试引用文档和测试项,结合测试需求方提供的信息,在测试需求方认同并知晓的情况下,通过渗透收集或刺探性收集。7.2.1基础信息收集渗透测试宜尝试进行基础信息收集,具体如下:a)网络信息,包括但不限于:1)域名解析记录。2)IP 地址段。3)开放端口。b)系统信息,包括但不限于:1)设备类型。2)操作系统版本,既包括通用操作系统也包括网络设备、专用硬件设备的专用操作系统。3)已安装的软件,如中间件、数据库、虚拟化软件等。4)操作系统和已安装软件的

39、官方补丁列表。c)应用信息,包括但不限于:1)开发语言。2)开源框架或插件。JR/T 02322021113)功能接口。4)URL 路径。5)业务功能。6)业务面向的用户群体。7)应用的官方补丁列表。d)安全防护信息,包括但不限于:1)已部署的安全防护产品功能。2)已部署的安全防护产品的厂商。7.2.2其他信息收集渗透测试可尝试开展信息收集工作,具体如下:a)通过互联网等公开合法渠道进一步收集与本渗透测试相关的信息如下:1)相关文档资料。2)邮件列表。3)所处公共托管环境。4)已公开历史安全漏洞。5)通过公开渠道所收集的信息如为委托方已泄露的内部敏感信息,及时告知委托方。b)提升测试效率及质量

40、,经委托方同意,实施方可申请直接从委托方获取部分测试对象相关信息如下:1)已使用的各类软、硬件及其版本。2)部分源代码。3)网络拓扑。7.3威胁建模7.3.1概述威胁建模是指在分析业务功能特征基础上分析攻击者动机、判断最主要威胁场景的过程。不是所有渗透测试或黑客攻击都有该流程,在银行互联网渗透测试实施阶段引入该环节的目的是通过分析银行系统的不同业务特性,能更好地判断攻击动机,从而开展更加有针对性的测试。7.3.2攻击动机分析在分析渗透测试对象承载的业务及其流程的基础上,分析评估潜在攻击者的攻击动机,具体如下:a)窃取资金。b)窃取敏感信息。c)作为入侵更重要系统的跳板。d)造成不良社会影响。7

41、.3.3威胁主体分析根据攻击动机分析结果,分析评估潜在的威胁主体及其能力,具体如下:a)分析潜在外部威胁主体:1)逐利的黑产团伙。2)追求知名度的非授权安全技术人员。3)敌对政治势力。4)无政府主义组织。b)分析潜在内部威胁主体:JR/T 02322021121)心怀恶意的员工。2)外包技术支持人员。7.3.4主要攻击场景判断在攻击动机分析和威胁主体分析基础上,明确本次渗透所需要模拟的最主要攻击场景,并据此调整渗透测试案例及工具方法。7.4漏洞发现7.4.1基础漏洞发现渗透测试的基础漏洞发现宜满足如下一般性操作要点:a)在使用自动化漏洞扫描工具检测漏洞的同时,根据威胁建模结果,有重点地开展手工

42、漏洞检测工作。b)在生产环境中,不直接实施影响系统正常对外提供业务服务的漏洞检测技术。c)根据目标系统性能情况控制自动化漏洞扫描工具的并发数。d)在生产环境中,不直接对原有数据进行篡改。7.4.2应用层漏洞发现根据信息收集情况,尝试检测发现潜在的应用层漏洞,具体如下:a)检测应用在身份鉴别方面的漏洞,包括但不限于:1)弱口令。2)图片验证码绕过。3)认证绕过。4)会话未正常结束。5)登录请求重放。6)短信验证码泄露。b)检测应用在访问控制方面的漏洞,包括但不限于:1)越权访问。2)交易步骤绕过。3)内部接口暴露。4)后台安全防控模型绕过。c)检测应用在敏感数据保护方面的漏洞,包括但不限于:1)

43、重要业务参数篡改与伪造。2)数据访问频度控制不足。3)数据重放。4)返回非业务所需敏感数据。d)检测应用在网站实现层面的漏洞,包括但不限于:1)结构化查询语言(SQL,Structured Query Language)注入。2)操作系统命令注入。3)可扩展标记语言(XML,Extensible Markup Language)注入。4)代码注入。5)跨站脚本(XSS,Cross Site Scripting)。6)跨站请求伪造(CSRF,Cross Site Request Forgery)。7)可执行文件上传。8)任意文件下载。JR/T 02322021139)服务端请求伪造(SSRF,S

44、erver Side Request Forgery)。10) 不正确的目录及页面访问控制。11) 不正确的错误处理。12) 存在通用应用层框架已知漏洞。e)检测应用在客户端程序实现层面的漏洞,包括但不限于:1)缓冲区溢出。2)敏感信息截取。3)功能接口滥用。4)程序逻辑逆向破解。5)生物识别突破。6)密码密钥硬编码。7.4.3网络层漏洞发现根据信息收集情况,尝试检测发现潜在的网络层漏洞,具体如下:a)检测网络传输的敏感信息是否已采取有效的保密性和完整性保护措施,包括但不限于:1)机密数据是否加密传输。2)所使用密码算法是否安全。b)检测相关网络协议的安全性,包括但不限于:1)域名解析协议。2

45、)路由交换协议。3)网络管理协议。4)文件传输协议。5)无线射频协议。c)检测网络安全策略中可能存在的漏洞,包括但不限于:1)防火墙策略不严格。2)入侵防御系统(IPS,Intrusion Prevention System)策略绕过。3)入侵检测系统(IDS,Intrusion Detection System)策略绕过。4)网站应用级防火墙(WAF,Web Application Firewall)策略绕过。d)检测网络设备中软件版本存在的已知漏洞。e)检测网络设备中存在的配置漏洞,包括但不限于:1)弱口令。2)权限过高。3)未限制远程管理地址。7.4.4系统层漏洞发现根据信息收集情况,尝

46、试检测发现潜在的系统层漏洞,具体如下:a)检测相关系统存在的已知版本漏洞。b)检测相关系统存在的配置漏洞,包括但不限于:1)弱口令。2)访问控制不严格。3)权限过高。c)检测相关系统在敏感数据存储方面的漏洞,包括但不限于:1)敏感信息明文存储。2)测试数据未变形。JR/T 02322021147.5渗透攻击7.5.1攻击验证内容在渗透攻击阶段通过模拟实际攻击,尝试对漏洞的保密性、完整性、可用性及可能造成的实质影响进行验证,具体内容包括但不限于:a)通过模拟实际攻击,验证可能对保密性造成的实质影响,包括但不限于:1)获取网络中敏感数据。2)获取服务器中敏感文件。3)获取数据库敏感信息。4)获取应

47、用系统中未授权访问的敏感信息。b)通过模拟实际攻击,验证可能对完整性造成的实质影响,包括但不限于:1)获取数据库操作权限。2)获取服务器控制权限。3)获取专用设备控制权限。4)获取应用系统管理权限。5)篡改网站页面、应用逻辑等应用系统的各个组成部分。6)篡改交易金额、账户、时间、重要提示信息等关键交易要素。7)破坏交易的不可否认性。c)通过模拟实际攻击,验证可能对可用性造成的实质影响,包括但不限于:1)导致网络不可用。2)导致服务器不可用。3)导致应用程序不可用。4)导致数据库服务不可用。7.5.2攻击过程在渗透攻击阶段宜尝试实施如下攻击过程:a)验证单个漏洞的可利用性及可能造成的实质影响。b

48、)尝试通过多个漏洞的关联利用验证漏洞的综合可利用性及可能造成的实质影响。c)攻击获取权限后,如非系统最高权限,尝试开展权限提升可行性验证。d)攻击获取权限后,尝试横向渗透。以已有成果为基础,重复信息收集、威胁建模、漏洞发现、渗透攻击等环节,确定进一步攻击渗透其他目标的可能性。如具有可能性,开展相关验证工作。e)攻击实施完成后保存相关证据,包括但不限于截图、录像等。f)攻击实施完成并保存相关证据后,开展现场清理工作,确保应用系统得到恢复,包括但不限于删除上传的文件、删除增加的用户、删除安装的工具等。7.5.3风险控制在渗透攻击阶段宜采取如下措施控制实施风险:a)攻击实施前在测试用例中说明含详尽步

49、骤的攻击实施方案。b)攻击实施过程每个步骤的指令及结果均在测试日志中进行详细记录。c)如渗透测试执行过程涉及非法定必要的第三方人员,宜从如下方面做好工作:1)评估第三方人员可执行的测试任务,使第三方人员仅接触必要且可控的信息。2)在相关工作实施前与第三方人员及其派出单位签署保密协议。JR/T 02322021153)在项目实施过程中,第三方人员不能使用未经授权的设备,必要时不能携带电子设备入场。4)项目完成后,在做好备份的前提下,监督第三方人员清除测试现场,删除测试相关数据,妥善处置纸质记录文档。d)如相关工作的实施风险在生产环境不可接受,则在仿真环境中开展。示例:对重要业务系统的 DDOS

50、攻击测试,在仿真环境中开展。7.6测试执行阶段文档在测试执行阶段,宜按照JR/T 01012013中第11章规定的要求,编制测试日志;在测试过程中,如出现异常情况,按照测试设计进行处理并按照JR/T 01012013中第12章规定的要求,编制测试事件报告。在应急测试时,宜按照JR/T 01012013中第15章规定的要求,编制测试综合报告中涉及到测试执行的相关内容。8渗透测试总结8.1概述渗透测试总结(以下简称测试总结)包括整理和分析测试数据,说明实际测试与测试策划和测试设计的差异,进行测试充分性分析并描述未能解决的测试事件,进行测试结果汇总,给出建议和结论并说明依据,编制测试总结报告,并通过

展开阅读全文
相似文档                                   自信AI助手自信AI助手
猜你喜欢                                   自信AI导航自信AI导航
搜索标签

当前位置:首页 > 管理财经 > 金融保险

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        获赠5币

©2010-2024 宁波自信网络信息技术有限公司  版权所有

客服电话:4008-655-100  投诉/维权电话:4009-655-100

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :gzh.png    weibo.png    LOFTER.png 

客服