欢迎来到学术参考网

渗透测试技术与模型研究

发布时间:2015-07-11 10:02
摘 要 本文从计算机网络渗透测试中模拟攻击的步骤和渗透测试的实施过程入手,分析研究了渗透测试的相关技术和操作方法,并以此分析为基础,提出了一种渗透测试的宏观模型。
关键词 渗透测试技术;渗透测试模型

0 引言

渗透测试(Penetration Test)是一个在评估目标主机和网络的安全性时模仿黑客特定攻击行为的过程[1]。详细地说,是指安全工程师尽可能完整地模拟黑客使用的漏洞发现技术和攻击手段,对目标的安全性作深入的探测,发现系统最脆弱环节的过程。
安全评估或者渗透测试是一个组织掌握其信息安全风险的第一步。确定网络中存在的漏洞,才可以设计一套信息安全解决方案。渗透测试可以协助用户发现组织中安全的最薄弱环节,协助了解目前降低风险的首要任务;使管理者明确目前的安全状况,增强对信息安全的认知程度;使所有成员意识到自己的岗位在整个组织的安全中不可或缺的地位,有助于整体安全意识的提升。
渗透测试软件系统是用来进行渗透测试的平台,可以提供渗透测试的相关功能和对应于不同操作方法的使用用例。渗透测试软件系统建立在渗透测试模型的基础之上。

1 渗透测试技术

1.1 渗透测试过程

渗透测试一般地可分为两个不同类型的模拟攻击过程:
·被动攻击
被动攻击多采用信息收集的手段,不直接影响和侵入目标系统或网络,以搜寻目标系统或网络的有用信息。
·主动攻击
主动攻击直接侵入目标系统或网络内部,攻击的行为可能被记录,目标系统或网络可能报警。被动攻击与主动攻击依据的信息资源多少和重要程度是不一样的,获取的信息多少和重要程度也是不一样的。

1.2 渗透测试对象

渗透测试的对象可以按照重要程度的不同分为以下四类:
·可见信息(Visibility)
可见信息是指从英特网接入处能看到的关于组织的任何信息。包括开放的或者被过滤的端口信息、系统类型、网络体系架构、应用程序、Email地址、雇员名单、雇用系统管理员的能力要求、软件产品流通模式和雇员访问网站习惯及下载习惯等等。
·接入(Access)
接入是指互联网上的使用者访问组织的网络可以获得的信息。包括网页、电子商务、点对点(P2P)服务、DNS服务、视频流服务或者任何服务端在网内而使用者在网外的服务。
·信任(Trust)
信任是一种或数种的证明、认可、数据完整性、接入控制、可说明性和数据机密性。包括VPN、PKI、HTTPS、SSH、Email和其他形式的两台电脑的互联(Server/Server, Server/Client, 或者 P2P)等等。
·警报(Alarm)
警报是指对侵犯或者尝试侵犯可见信息、接入和信任行为的及时而准确的报警。包括日志文件分析、端口监视、流量监控、入侵检测系统和防火墙系统等等。报警是一种完备安全策略里的微妙联接关系,有了报警,才会去采取相应的应对措施。

1.3 渗透测试要素

对上面提到的每种测试对象,均有一些不同的测试手段,如果较为有序而有效的完成所有测试,应将一次完整的渗透测试拆分成以下这些要素:网络勘查、端口扫描、系统识别、无线网漏洞测试、服务探测(网站信息、Mail信息、名字服务、防病毒木马)、漏洞精确扫描、溢出搜寻、漏洞测试和确认、应用程序测试、防火墙和访问控制测试、入侵检测系统测试、文件服务测试、社会工程学测试、口令破解、拒绝服务测试、Cookie和网页Bug分析。
这些要素在一次渗透测试中的组织关系如图1所示:

图1 渗透测试元素关系图

2 渗透测试实施方法

2.1 根据测试者掌握信息多少分类

根据不同的测试需求,测试者在测试前掌握被测对象的信息多少是不同的。渗透测试在实际进行中具体划分为以下二种不同的方法:黑盒测试和白盒测试。
·黑盒测试
黑盒测试又被称为“Zero-knowledge testing”,渗透测试操作人员完全处于对系统一无所知的状态,通常这类测试的最初信息来自于DNS、Web、Email及各种公开对外的服务器。
·白盒测试
白盒测试与黑盒测试不同,测试者可以通过正常渠道向被测者要求,取得各种资料,包括网络拓扑、员工资料甚至网站或其他程序的代码片断,也能够与被测组织内的其他员工(销售、程序员、管理者……)进行面对面的沟通。这类测试的目的是模拟组织内部雇员的越权操作,和预防万一组织重要信息泄露,网络黑客能利用这些信息对组织构成的危害。

2.2 根据测试者位置分类

测试目标不同,采用的技术也会有一定差异。测试者在系统网络的不同位置、不同攻击路径下进行渗透测试,结果反应的问题迥然不同。
·内网测试
内网测试指的是渗透测试人员由内部网络发起测试,这类测试能够模拟组织内部违规操作者的行为。最主要的“优势”是绕过了防火墙的保护。
·外网测试
外网测试指的是渗透测试人员完全处于外部网络(例如拨号、ADSL或外部光纤),模拟从组织外部发起的攻击行为,可能来自于对组织内部信息一无所知的攻击者也可能来自于对组织内部信息一清二楚的攻击者。
·不同网段之间的测试
这种渗透方式是从某内/外部网段,尝试对另一网段/Vlan进行渗透。

3 渗透测试模型

渗透测试模型是一个整合渗透测试技术和方法的原型系统。该系统可以提供渗透测试各个步骤的各种功能,检验被测对象网络和计算环境的安全性和抗攻击能力,发掘被测对象网络系统中从物理层到应用层各个层面的脆弱性。

3.1 系统架构设计

系统分为六大模块:管理控制模块、信息收集模块、漏洞测试模块、结果报告模块、痕迹清除模块、数据通信模块。系统架构图如图2所示。

图2 系统架构
管理控制模块负责对整个系统进行管理,对各个模块进行调用,对各模块功能进行集中控制;信息收集模块负责收集被测网络系统的相关信息,并对收集到的信息进行整理提炼;漏洞测试模块负责对网络系统的漏洞进行测试;结果报告模块负责最终的结果生成;痕迹清除模块负责将在被测网络系统中渗透测试留下的痕迹进行清除;数据通信模块负责各个模块之间的通信。

3.2 流程设计

渗透测试的流程在不同的应用模式下是有所区别的。黑盒测试包含了渗透测试的所有步骤和功能,白盒测试根据可见信息获悉的多少可能省去部分信息收集的操作。
一次黑盒测试必须从信息收集开始,对收集到的信息进行整理,提炼出对网络渗透有用的信息;根据收集到的有用信息,制定一定的渗透策略,进行漏洞测试;为了模拟整个攻击的过程和检验网络防护系统的日志报警强度,在渗透工作结束后进行痕迹清除;对信息收集的结果和漏洞测试的结果进行整理,生成网络渗透测试报告。流程如图3所示。
图3 渗透测试流程
渗透测试在实际运用中要考虑到系统所处的网络环境,具体的要分为内网测试、外网测试和不同网段之间的测试。渗透测试系统在这三种使用方法下所要完成的功能不尽相同。在系统实现过程中,针对这三种应用,提供三种不同的使用用例。如内网测试,考虑到内网处于防火墙的内部,其内部的防护相对较低,内网中的渗透测试以漏洞测试和口令猜测为主,集中在重要的应用系统的安全漏洞测试,安全配置的测试(防火墙和访问控制测试、入侵检测系统测试)可以从简。

3.3 模型关键技术

渗透测试模型从信息收集到结果报告的生成过程是全自动的,无人干预,在此过程中,信息收集的结果筛选和各模块之间的参数传递是一个实现上的难题;另外,漏洞及漏洞利用程序的及时更新也是渗透测试软件的一个关键技术。
·信息收集的结果筛选和各模块之间的参数传递
渗透测试首先要对被测网络系统进行全面扫描和漏洞的探查,即进行网络勘查、端口扫描、系统识别、无线网漏洞测试、服务探测(网站信息、Mail信息、名字服务、防病毒木马)、溢出搜寻,得到的结果很多,需要整理出对漏洞测试有用的信息。这些信息的筛选是一个较为复杂的过程。信息的不一致性,信息体现的漏洞严重程度判定及与软件漏洞库中漏洞的相关性判定都会给信息的整理带来一定难度。
模块之间的参数传递主要是指信息收集模块的信息向漏洞测试模块与结果报告模块的参数传递,漏洞测试模块的结果信息向结果报告模块的参数传递,漏洞测试模块将在被测网络系统中可能产生的记录信息向日志清除模块的参数传递。软件实现中,信息收集以对各测试对象的扫描为主,将扫描出的主要漏洞及其与漏洞库中漏洞的对应关系传递给漏洞攻击模块,漏洞攻击模块调用相应的漏洞利用程序进行漏洞的渗透测试。
·漏洞及漏洞利用程序更新
网络系统中的各项应用纷繁复杂,仅仅操作系统,每天都会有新的漏洞出现,各种应用软件系统的漏洞更是层出不穷。渗透测试软件系统的优劣很大程度上取决于漏洞数量及质量,质量的好坏是指软件是否能够紧跟当前各类软件系统的最新漏洞,能否及时更新漏洞测试工具。

4 结束语

渗透测试的对象较为复杂,渗透测试的技术方法较多,将这些技术和方法有机的组织起来,才能完成一次有效而全面的渗透测试。目前,很多安全服务商都提供渗透测试服务,提供服务的形式多种多样,在进行渗透测试时使用的工具多为网络上流行的常用免费安全软件,如NMAP、XSCAN等,有些使用商业软件,如ISS公司的Scanner系列扫描器、CORE Security Technologies的IMPACT和Immunity的CANVAS等。如果一个渗透测试系统可以提供渗透测试的各个步骤的相应功能,使各步骤的实施和各功能的运行有机结合,并大大优化信息的收集提取和结果的评估,使用这样的软件进行渗透测试,将会较大程度地提高渗透测试的准确程度和专业水平。

参考文献

[1] An Overview of Penetration Testing [R]. The MIS Corporate Defence, 2001
Internet Penetration[EB/OL]. . 2002
VPN Penetration Test[R]. Network Intelligence, Penetration Test Team. 2004
渗透测试操作实务[EB/OL] . 2005

上一篇:Windows 2000 中DHCP用户定义类别选项配置及其应用

下一篇:基于隐马尔可夫模型的系统脆弱性检测