一种面向gap隔离交换设备的渗透测试方法

文档序号:7795719阅读:261来源:国知局
一种面向gap隔离交换设备的渗透测试方法
【专利摘要】本发明公开了一种面向GAP隔离交换设备的渗透测试方法,具体如下:(a)测试策略配置,根据受测设备的工作原理、功能和实现方式,从预先设置的渗透测试规则库中选择适用的测试用例,并配置好测试环境参数;(b)网络攻击会话生成,构建独立的客户端和服务端程序,分别模拟受测设备两端网络中的主机,然后各自调用测试用例所对应的测试插件,并把步骤a配置的测试环境参数传递给测试插件;测试插件实时产生相应的数据包,并经由客户端或服务端发送,从而生成网络攻击会话;(c)测试结果评判,根据网络攻击会话的完成情况和受测设备的告警信息,评判测试用例的测试结果。应用本发明,可实现对GAP隔离交换设备的自动化安全性测试。
【专利说明】—种面向GAP隔离交换设备的渗透测试方法
【技术领域】
[0001]本发明属于信息安全【技术领域】,涉及针对GAP隔离交换设备的安全性测试,特别是涉及GAP隔离交换设备的应用层协议控制、内容安全、入侵防御和防木马等主要安全特征的渗透测试方法。
【背景技术】
[0002]网络安全隔离交换系统(GAP隔离交换设备)采用GAP隔离交换技术。所谓GAP隔离交换,也称为Air GAP (空气隔离)技术,它的基本技术特征是“物理阻断、逻辑连接”,即通过该技术,能够保证两个网络在物理不连接的基础上,实现逻辑连接以进行数据交换。网络安全隔离交换设备在结构上包括内网处理单元、外网处理单元、安全隔离交换处理单元三个模块。其中,内网处理单元连接内部网络,外网处理单元连接外部网络,安全隔离交换单元分时连通内、外网处理单元,是内、外网处理单元之间唯一的数据传输通道。它的基本安全技术要求如下:
I网络协议终止。该系统所连接的两个网络,在网络连接抵达系统的内、外网处理单元后,都要进行网络协议终止,即剥离网络数据的协议头部,经由安全隔离交换单元进行纯粹的数据交换。
[0003]I数据安全检查。安全隔离交换单元对要交换的数据进行安全检测,确保数据是安全的,例如,要检查数据是否含有恶意代码,是否符合相应应用的格式要求。
[0004]GAP隔离交换设备具备安全隔离、信息交换和访问控制等功能,并具有较强的抗攻击能力,由于其具有对网络协议的终止特性,且支持很少或不支持通用的应用层协议(非常有限的内外网数据传输通道),例如FTP、DNS和电子邮件协议。因此,它通常被认为比防火墙、安全网关和UTM (统一威胁管理)产品更加安全。
[0005]GAP隔离交换设备的高强度安全性给安全测试带来了重重困难,很多测试网关型安全产品的测试用例已无法对GAP隔离交换设备形成有效的测试。要形成有效的测试,必须依靠仅有的数据通道,精确定义网络/攻击流量。因此,本发明创建了一种面向GAP隔离交换设备的渗透测试技术,通过应用层协议伪装和数据内容包含等方式,产生针对特定应用的网络会话,以及Web攻击与基于木马行为的多种类型的网络攻击会话,实现网络攻击流量对GAP隔离交换设备的穿越,达到了有效开展安全性测试的目标。
[0006]目前,针对GAP隔离交换设备的安全性测试,还没有形成系统规范的方法,各安全测评机构普遍采用的方法还是以手工测试为主,配合一些辅助工具例如发包工具或黑客工具进行。测试人员需要人工产生各种网络访问或网络攻击数据来流经GAP隔离交换设备,然后根据网络访问情况,来验证GAP隔离交换设备的安全性。这种手工配合辅助工具的方法虽然能够对GAP隔离交换设备进行一定程度的测试,但却存在效率低下、环境配置复杂等诸多问题,难以进行大批量的、安全可控的测试。

【发明内容】
[0007]本发明的目的是提供一种面向GAP隔离交换设备的渗透测试方法,实现对GAP隔离交换设备的安全性测试。应用本发明,可实现利用GAP隔离交换设备的合法网络通道(例如HTTP或专用数据传输端口)对其进行渗透测试的目标。该方法包括以下步骤:
①测试策略配置,根据GAP隔离交换设备的工作原理、功能和实现方式,从预先设置的渗透测试规则库中选择适用的测试用例,并配置好测试环境参数;
②生成网络攻击会话,构建独立的客户端和服务端程序,分别模拟GAP隔离两端的两个网络(子网)中的主机,客户端和服务端程序分别调用测试用例对应的测试插件,并把步骤a配置的测试环境参数传递给测试插件;测试插件实时生成相应的数据包,并经由客户端或服务端发送,生成网络攻击会话;
③测试结果评判,根据网络攻击会话的完成情况,以及GAP隔离交换设备的告警与日志信息,共同评判测试用例的测试结果。
【专利附图】

【附图说明】
[0008]图1为本发明的技术原理框架图。
[0009]图2为本发明测试时的连接示意图。
[0010]图3为本发明的工作流程图。
【具体实施方式】
[0011]下面结合附图和【具体实施方式】对本发明作进一步详细的说明。
[0012]图1为本发明的技术原理框架图,面向GAP隔离交换设备的渗透测试方法由策略配置、会话生成和结果评判三个部分构成。策略配置模块用于根据安全测试需求,定制网络攻击会话的策略,主要包括访问控制、Web攻击和木马攻击;会话生成模块模拟内外网网络连接的主机(客户端和服务端),根据定制的策略,产生精确定义的特定的网络攻击会话,穿越受测GAP隔离交换设备;结果评判模块则检查该网络攻击流量穿越的状态(通行、被拦截、修改等),并结合GAP隔离交换设备的告警和审计信息,来确定测试结果,评估设备具备的安全功能或抗攻击能力。
[0013]目前,面向GAP隔离交换设备的渗透测试方法根据GAP隔离交换设备的安全技术特征,其策略配置模块对网络会话和网络攻击会话的定制策略,主要包括如下四个方面:
I各种典型的网络会话。通常,GAP安全隔离交换设备支持的应用越少,它越安全,特别是只支持专门的应用;但为了扩大用户面,安全隔离交换设备通常支持通用应用层协议或应用,例如HTTP协议、电子邮件传输协议和数据库访问;这里针对各种典型的网络应用,定制网络会话,来对受测产品的访问控制功能进行测试。
[0014]IWeb攻击会话。针对典型的网络应用特别是Web应用,精确定制各种跨站脚本、SQL注入等Web攻击会话,测试GAP隔离交换设备抵御Web攻击的能力。
[0015]I常规木马攻击会话。包括常规的木马通联或攻击行为,以及经由网页或电子邮件携带的木马等恶意代码行为。
[0016]I基于协议伪装的木马攻击会话。木马的攻击与通信行为隐藏在合法网络协议中,例如UDP、SMTP、HTTP、MSN、Dropbox等,来对隔离交换设备的抗攻击能力进行深入的测试。[0017]图2是应用本发明的渗透测试系统在测试时的连接示意图。渗透测试系统需为双宿主机平台,可以是具有两个网络接口的笔记本电脑、PC主机或服务器;客户端C和服务端S是渗透测试系统的实时产生网络攻击流量的两个通信实体,分别绑定在不同的网络接口上;接口 I和接口 2是GAP隔离交换设备上的内网和外网接口。
[0018]测试时,渗透测试系统的客户端C和服务端S分别与GAP隔离交换设备的接口 I和接口 2相连接,模拟GAP隔离交换设备所隔离的两个网络中的主机。这样,渗透测试系统所产生的网络攻击流量将穿越GAP隔离交换设备,并在渗透测试系统上形成闭环。作为测试仪器,渗透测试系统的客户端C和服务端S应该没有主机内的数据转发,以确保测试时不存在芳路。
[0019]图3是本发明的工作流程图,分为以下三个步骤:
①测试策略配置,根据GAP隔离交换设备的工作原理、安全功能和实现方式,从预先设置的渗透测试规则库中选择适用的测试用例,并配置好测试环境参数;
②生成网络攻击会话,构建独立的客户端和服务端程序,分别模拟GAP隔离交换设备两端的两个网络(子网)中的主机,客户端和服务端程序分别调用测试用例对应的测试插件,并把步骤a配置的测试环境参数传递给测试插件;测试插件实时生成相应的数据包,并经由客户端或服务端发送,生成网络攻击会话;
③测试结果评判,根据网络攻击会话的完成情况,以及GAP隔离交换设备的告警与日志信息,共同评判测试用例的测试结果。
[0020]这里,我们通过一个应用层协议伪装的木马测试策略的测试过程来进行详细说明。
[0021]首先假设现在要对某单位的一台GAP隔离交换设备进行测试,此设备用于连接该单位两个不同类型的网络,它承担的功能是内外网络的数据传输,具备HTTP访问和数据库同步功能。设备内网段为172.16.1.1/24,外网段为100.100.1.1/24。这台设备开启所有安全功能和数据传输功能,其安全特性无需配置策略。
[0022](I)测试策略配置
策略体现在规则上,配置规则就是填充下面这个两个数据结构,从而生成具体的测试用例。对于利用木马的渗透测试策略,这里以定制一个基于HTTP协议伪装的木马为例,来尝试通过GAP隔离交换设备的HTTP通道进行穿越。该木马测试用例规则的数据结构中的参数需进行如下配置:
typedef struct tagCaselnfo
{
CHAR szID[100] ;//测试用例编号:GS_005
CHAR szName[100] ;//测试用例名称:灰鸽子木马
CHAR szDescription[255] ; //测试用例描述:灰鸽子木马模拟HTTP通信从内网访问外网穿透隔离设备
CHAR szVulnName [50] ; //脆弱性名称:灰鸽子木马
CHAR szVulnDisc[255] ; //脆弱性描述:测试网络隔离系统是否能够防御灰鸽子木马的穿透内网行为CHAR szVulnType[255] ; //脆弱性类型:数据交换服务脆弱性int nRiskLevel; //风险等级:1=低风险2=中风险3=高风险int nPolicyType; //策略类型:1 = 〃基本策略〃;2 = 〃推荐策略〃;3 =〃最大策略〃
Icaseinfo
typedef struct tagCaseVar
{
CString strClientIP; //真实内网客户端 IP:172.16.1.11 CString strServerIP; // 真实外网客户端 IP: 100.100.1.11 CString ClientIP; //虚拟内网客户端IP:空 CString ServerIP; //虚拟外网客户端IP:空 CString proxyCltIP; // 内网代理地址 IP:172.16.1.1 CString proxyServIP; // 外网代理地址 IP:空
DWORD dwPort[20] ; // dwPort[0-9]为不同服务代理端口 ;dwPort[10-19]为不同服务真实端口:dwPort[l]=80
CString strKey[20] ; //分别为不同协议过滤内容
B00L bAction[20] ; //隔离设备不同协议配置情况;True为允许,False为不允许 INT Flag;//代理模式,I:指定代理,2:透明代理
char szErrorMsg[255] ; //报错信息,用于发现问题 }CASEVAR
每个测试用例为一个单独的DLL文件,每种恶意代码关键字段都在DLL文件中单独定义。
[0023]根据这个测试用例生成具体的数据包时,这些参数会传递给对应的测试插件,测试插件生成数据包时需要改变的内容在这些参数中体现,不需要改变的内容直接存储在测试插件本身中,测试插件根据这个结构中的参数和测试插件中存储的内容生成一个个具体的测试数据包。
[0024](2)网络会话生成
生成测试用例之后即可进行测试,客户端和服务端会根据测试用例对应的规则结构中的参数来生成具体的数据包。数据包会试图穿越GAP隔离交换设备到达对方,每发送一个数据包都会等待对方的应答包,只有收到期望的应答包后才会发送下一个数据包(若GAP隔离交换设备不拦截数据包,每发送一个数据包是肯定会收到期望的应答包的),否则,在等待一段时间后中断数据包的发送。 [0025](3)测试结果评定
根据网络攻击会话是否成功,以及GAP隔离交换设备的告警和审计情况,来共同确定该灰鸽子木马是否已成功地对GAP隔离交换设备进行了渗透。如果网络攻击会话成功完成,则说明该GAP隔离交换设备不能对此利用HTTP协议进行伪装的灰鸽子木马进行防御。如果网络攻击会话被拦截(没有完成),且GAP隔离交换设备有正确的告警和日志,则说明该GAP隔离交换设备具备抵御此木马攻击的能力。
【权利要求】
1.一种面向GAP隔离交换设备的渗透测试方法,包括以下步骤: Ca)测试策略配置,根据GAP隔离交换设备的工作原理、功能和实现方式,从预先设置的渗透测试规则库中选择适用的测试用例,并配置好测试环境参数;(b)生成网络攻击会话,构建独立的客户端和服务端程序,分别模拟GAP隔离交换设备两端的两个网络(子网)中的主机,客户端和服务端程序分别调用测试用例对应的测试插件,并把步骤a配置的测试环境参数传递给测试插件;测试插件实时生成相应的数据包,并经由客户端或服务端发送,生成网络攻击会话;(c)测试结果评判,根据网络攻击会话的完成情况,以及GAP隔离交换设备的告警与日志信息,共同评判测试用例的测试结果。
2.应用本发明,可实现利用GAP隔离交换设备的合法网络通道(例如HTTP或专用数据传输端口)对其进行安全性测试的目标。
【文档编号】H04L29/06GK103916384SQ201410026981
【公开日】2014年7月9日 申请日期:2014年1月21日 优先权日:2014年1月21日
【发明者】钟力, 姚兰, 阮强, 何金勇 申请人:中国人民解放军信息安全测评认证中心, 钟力
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1