产品交付前还有一个重要的步骤要做
上周我们完成了产品验收,总算对之前的所有工作告了一个段落。我想下周应该会轻松一些,没想到周五下班之前,少帅召开了一次重要会议,会议时间不长,主题也特别鲜明:下周一做渗透性测试,最后让我配合其他团队一起来完成收尾工作。
周末我们的项目沟通群里就开始忙碌起来了,该准备资料的准备资料,该提交审核的提交审核。
今天,我来简单复盘一下渗透性测试,也希望在项目的尾声阶段不落下任何一个需要注意的地方。
从项目管理五大过程组的角度来看,在一个完整的项目流程中,有一个重要的环节是监控过程,在此过程中的知识领域中包含项目风险管理。那么渗透性测试就是控制风险的一个重要环节。
由此可见,渗透性测试是重要的,那么什么是渗透性测试呢?
01 什么是渗透性测试?
渗透性测试是为了证明网络防御按照预期计划正常运行而提供的一种机制。不妨假设,你的公司定期更新安全策略和程序,时时给系统打补丁,并采用了漏洞扫描器等工具,以确保所有补丁都已打上。
如果你早已做到了这些,为什么还要请外方进行审查或渗透测试呢?因为,渗透测试能够独立地检查你的网络策略,换句话说,就是给你的系统安了一双眼睛。而且,进行这类测试的,都是寻找网络系统安全漏洞的专业人士。
可以概括的说渗透性测试就是模拟真实黑客发起的网络攻击,目的在检测目标网络的安全性。
02 渗透性测试包含哪些内容?
渗透性测试包含白盒测试、黑盒测试和灰盒测试。
白盒测试是指测试人员能够获得底层技术和网络结构,使用特定的方法和工具,能够在代价的前提下获得和验证系统的安全漏洞。
黑盒测试也称“zero-Knowledge Testing”, 渗透者处于对系统一无所知的环境中,第一手信息的获得从DNS、Web、Email以及对外公开的服务器中获得。
灰盒测试是指综合了黑盒和白盒测试方法的优势,并有效的避开了两者各自的缺陷。灰盒方法通过涵盖被测试软件的所有层面,以增加技术的覆盖范围。灰盒测试非常适合于集成测试,包括:缺乏源代码和二进制文件的Web应用,以及某些业务领域的需求规范性测试。
03 渗透性测试的分类?
主机操作系统渗透:对Windows、Linux等操作系统本身进行渗透测试。
数据库系统渗透:对Mysql、Oracle等数据库应用系统进行渗透性测试。
应用系统渗透:对渗透目标提供的各种应用,如ASP、JSP、PHP等组成的WWW应用进行渗透测试。
网络设备渗透:对各种防火墙、网络设备进行渗透测试。
04 渗透性测试包括哪几个阶段?
渗透性执行标准(Penetration Testing Execution Standard,PTES)先驱都是渗透性测试行业的精英,这个标准由7个阶段组成,可以在任意环境中进行富有成果的渗透测试。
交互阶段。主要包括确定范围、确定规则和确定需求。
信息收集。主要是基础信息、系统信息、应用信息、人员信息和防护信息的收集。
建模阶段。通过头脑风暴,从大量的信息情报中清理头绪,确定出最可行的攻击通道。
漏洞探测。主要包括系统漏洞、Web应用漏洞、其他端口和通信安全。
漏洞验证。主要靠手工验证、工具验证和实验验证。
漏洞利用。主要包括定制EXP、防御绕过、进一步渗透和清理痕迹。
报告阶段。在测试的最后撰写测试报告,主要包括整理结果、补充介绍和修复建议。
05 写在最后
渗透性测试工作结束时,我看到少帅在渗透性测试授权及风险告知书上签好了字之后,轻轻地舒了一口气,脸上洋溢着淡淡的温馨,眉宇间也泛起光芒,腮上两个陷得很深的酒窝似乎也随着浅浅的笑意荡漾开来。我相信,这次的项目验收结果客户一定会非常满意。