网络安全等级保护制度是落实国家网络安全法要求的重要措施之一。伴随着信息技术的飞速发展,新的安全漏洞层出不穷,导致信息系统存在的安全隐患越来越多。因此,在等级保护测评过程中如何及时、准确地发现系统存在的安全风险,成为非常迫切的需求。渗透测试模拟攻击者的思维,采用手动或技术成熟的工具对被测系统的安全性进行全面评估,从而最大程度地发现系统存在的安全隐患,成为等级保护测评中一个必不可少的重要环节。
2017年6月1日,《中华人民共和国网络安全法》正式实施,明确要求国内运营的信息系统须实施等级保护制度,使等级保护制度成为国家基本制度并上升到法律层面。在等级保护的基本要求中,虽没有相应的技术标准对信息系统“抗渗透”能力做明确规定,但针对定级为第三级及以上的信息系统,在基本要求的安全技术层面,对系统抵御大规模恶意攻击能力、非法入侵检测与防御能力、抗恶意代码攻击能力、安全事件应急响应及监控等能力做了详细要求。同时在安全管理层面,要求信息系统须经过公正的第三方安全测试才能上线运行。鉴于上述条件约束,被测信息系统若未进行渗透测试,则无法满足等级保护相关要求。渗透测试在等保测评中的实施,一方面检查并验证被测信息系统存在的安全漏洞,提供切实可行的修复建议;另一方面,有助于等级保护测评质量的提升。渗透测试主要依据业界公布的或测试人员掌握的安全漏洞信息,采用攻击者的思维方式,通过工具或手工方式对目标的应用、主机、网络、数据库等安全性进行深入探测,发现系统最脆弱的环节的过程。渗透测试一个重要的原则,即所有的测试行为必须在用户的书面明确授权和监督下进行,经授权的渗透测试,目的是真实、全面地发现信息系统存在的脆弱性并验证其可用,不再进行后续渗透操作(如植入后门等) 。因此,一般不会对信息系统造成危害和损失。通渗透测试一般包括测试准备、信息探测、测试实施、报告编制四个阶段。 (1) 测试准备阶段 :在获取到单位的书面授权许可后,开始渗透测试的实施。将实施范围、方法、工具、时间、人员等具体方案与单位进行交流,沟通可能存在 的测试风险,并得到单位的认可。整个测试过程都在 单位的监督和控制下进行。(2) 信息探测阶段:渗透测试过程中,根据规定的测试范围收集信息系统相关信息,可采用一些商业或开源的安全评估工具进行收集,并对探测到的端口、服务、IP、DNS、OS等信息进行整理,为下一步测试实施阶段提供支撑。(3) 测试实施阶段:渗透测试人员对探测到的信息进行分析,通过制定渗透策略“准备攻击代码”研究绕过机制等步骤进行测试。实施路径主要包括内网和外网两种:
(4) 报告编制阶段:实施人员分析测试结果,编写系统渗透测试报告,主要包括具体测试结果、漏洞结果评估及整改建议等内容。渗透测试是动态变化的,测试过程仍可能对应用,主机、网络等正常运行带来一定的影响。为了最大程度上避免测试过程对业务运行造成影响,需要实施风险规避的策略,具体如下:(1) 方案评审:双方签署渗透测试委托书,制定并评审渗透测试方案,得到双方的认可。(2) 时间策略:选择合适的测试时间,如选择夜间或业务量不高的时间段进行测试,,最大程度上避免测试过程对业务造成影响,同时预留风险排除时间。 (3)攻击策略:选择对于实时性要求高的核心业务系统,不建议做深入测试,测试人员可对结果做分析推测,而不验证危险的操作。(4) 系统备份和恢复:在测试实施前,需对被测系统做完整备份,当出现问题时可及时恢复,针对核心业务系统建议对备份系统进行渗透测试。(5) 应急策略:当被测系统出现中断、响应缓慢等问题时,需及时停止测试工作,配合被测单位进行故障处置,在故障处理完毕后,经单位授权才能继续进行剩余的测试。(6) 沟通策略:双方建立关系人联络表,确定接口人,对测试过程中出现的问题及时沟通,并确保沟通有效。在渗透测试过程中,测试人员使用操作系统自带网络应用、诊断工具或开源及商业软件,以及自行开发的安全扫描工具。这些工具在技术上已经非常成熟,具有高度安全和可控性,并能根据测试者的实际要求进行有针对性的测试,但安全工具本身也是一把双刃剑,需针对系统可能出现的问题提出相应对策,以确保在渗透测试的过程中保持在可控状态。 本文通过一个实例来说明渗透测试是如何在等保测评中实施的。在某单位等保三级系统测评中,需对用户的WEB系统进行渗透测试,以验证信息系统的整体安全防护水平。渗透测试小组根据信息系统的规模和实际业务情况制定详细的渗透测试方案,包括制定合理的渗透测试计划、选择适当的测试方法、充分准备测试工具,分析测试过程中可能带来的风险和相应的风险规避方法等。渗透测试人员使用多种系统或工具收集工作,包括信息信息收系统烧苗等,经扫描发现系统开放的端口。针对这些服务从系统层面和WEB层面进行分析,发现系统存在文件共享、远程接入、SQL注入、XML注入等漏洞,为下一步的漏洞利用提供基础。另外,针对信息收集阶段的测试方法、测试内容及可能存在的风险,做了应急处置策略。 根据获取的漏洞信息,结合信息系统的特点、异构性等方面对漏洞进行确认,并制定渗透测试策略。获取的信息发现高危漏洞,尝试直接利用高危漏洞,验证是否可用。渗透测试完成后,测试人员整理工作内容和成果。根据发现的安全漏洞和安全风险提出系统存在的问题,并有针对性的提出问题整改建议,形成《渗透测试报告》。