渗透测试在实际运用中要考虑到系统所处的网络环境,具体的要分为内网测试、外网测试和不同网段之间的测试。渗透测试系统在这三种使用方法下所要完成的功能不尽相同。在系统实现过程中,针对这三种应用,提供三种不同的使用用例。如内网测试,考虑到内网处于防火墙的内部,其内部的防护相对较低,内网中的渗透测试以漏洞测试和口令猜测为主,集中在重要的应用系统的安全漏洞测试,安全配置的测试(防火墙和访问控制测试、入侵检测系统测试)可以从简。
3.3 模型关键技术
渗透测试模型从信息收集到结果报告的生成过程是全自动的,无人干预,在此过程中,信息收集的结果筛选和各模块之间的参数传递是一个实现上的难题;另外,漏洞及漏洞利用程序的及时更新也是渗透测试软件的一个关键技术。
● 信息收集的结果筛选和各模块之间的参数传递
渗透测试首先要对被测网络系统进行全面扫描和漏洞的探查,即进行网络勘查、端口扫描、系统识别、无线网漏洞测试、服务探测(网站信息、Mail信息、名字服务、防病毒木马)、溢出搜寻,得到的结果很多,需要整理出对漏洞测试有用的信息。这些信息的筛选是一个较为复杂的过程。信息的不一致性,信息体现的漏洞严重程度判定及与软件漏洞库中漏洞的相关性判定都会给信息的整理带来一定难度。
模块之间的参数传递主要是指信息收集模块的信息向漏洞测试模块与结果报告模块的参数传递,漏洞测试模块的结果信息向结果报告模块的参数传递,漏洞测试模块将在被测网络系统中可能产生的记录信息向日志清除模块的参数传递。软件实现中,信息收集以对各测试对象的扫描为主,将扫描出的主要漏洞及其与漏洞库中漏洞的对应关系传递给漏洞攻击模块,漏洞攻击模块调用相应的漏洞利用程序进行漏洞的渗透测试。
● 漏洞及漏洞利用程序更新
网络系统中的各项应用纷繁复杂,仅仅操作系统,每天都会有新的漏洞出现,各种应用软件系统的漏洞更是层出不穷。渗透测试软件系统的优劣很大程度上取决于漏洞数量及质量,质量的好坏是指软件是否能够紧跟当前各类软件系统的最新漏洞,能否及时更新漏洞测试工具。
4、结束语
渗透测试的对象较为复杂,渗透测试的技术方法较多,将这些技术和方法有机的组织起来,才能完成一次有效而全面的渗透测试。目前,很多安全服务商都提供渗透测试服务,提供服务的形式多种多样,在进行渗透测试时使用的工具多为网络上流行的常用免费安全软件,如NMAP、XSCAN等,有些使用商业软件,如ISS公司的Scanner系列扫描器、CORE Security Technologies的IMPACT和Immunity的CANVAS等。如果一个渗透测试系统可以提供渗透测试的各个步骤的相应功能,使各步骤的实施和各功能的运行有机结合,并大大优化信息的收集提取和结果的评估,使用这样的软件进行渗透测试,将会较大程度地提高渗透测试的准确程度和专业水平。