9.6.1 渗透测试的概念
渗透测试是指从一个攻击者的角度来检查和审核一个网络系统的安全性的过程。通常由安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标网络、系统、主机、应用的安全性作深入的探测,发现系统最脆弱的环节。渗透测试的主要作用包括以下方面。
(1)帮助商业银行发现安全短板 一次渗透测试过程也就是一次黑客入侵实例,其中所利用到的攻击渗透方法,也是其他具备相关技能的攻击者所最可能利用到的方法;由渗透测试结果所暴露出来的问题,往往也是商业银行的安全最短木板,结合这些暴露出来的弱点和问题,可以协助商业银行了解目前网络系统的脆弱性、可能造成的影响,明确目前降低风险的最迫切任务,以便采取必要的防范措施。
(2)说明商业银行的网络安全状况 渗透测试的结果可以作为向商业银行管理层、外部监管部门提供网络安全状况方面的具体证据。一份文档齐全有效的渗透测试报告可以以案例的形式直观展示商业银行的安全现状,从而增强管理层和外部监管部门对信息安全的认知程度。
渗透测试不能等同于风险评估。因为风险评估比渗透测试复杂得多,除渗透测试外还要加上资产识别、风险分析等内容。事实上,渗透测试属于风险评估的一部分。渗透测试也不能等同于黑盒测试。因为渗透测试不只是要模拟外部黑客的入侵,同时,防止内部人员的有意识(无意识)攻击也是很有必要的。
渗透测试一般由专业团队负责实施。商业银行可根据需要聘请具有资质的专业团队定期、不定期对自己的网络环境和信息系统进行渗透测试。在测试过程中,商业银行可以选择渗透测试的强度,例如不允许测试人员对某些服务器或者应用进行测试,以防影响其正常运行;渗透测试只在业务空闲时进行,或者在测试环境下进行等。此外,商业银行接受渗透的工具或攻击手段必须在可控制范围,并同时准备充分完善的应急预案。
渗透测试主要针对的对象包含主机操作系统、网络设备、数据库系统、应用系统、安全管理相关内容,目的是发现上述对象存在的安全性问题。
渗透测试涉及的具体测试检查内容主要有帐号口令、远程或本地溢出漏洞、安全策略及配置漏洞、应用脚本安全问题、数据通讯安全问题、网络隔离和访问控制问题、社会工程学欺骗等。