APP下载

网络协议漏洞分析测试平台建设

2019-12-06张月红

软件工程 2019年11期
关键词:网络协议分析测试漏洞

摘  要:伴随着日益复杂多样化的网络攻击工具和手法的出现,传统的网络攻击检测方法已经无法满足当前网络攻击检测的要求,网络协议漏洞分析测试平台应运而生,但是就目前的情况来说,现有的网络协议漏洞分析平台出现速度缓慢滞后,难以快速发现零日漏洞攻击以及难以进行防御和修复等缺点。基于上述原因,本文提出的网络协议漏洞分析测试平台主要由虚拟化测试云子平台、数據分析子平台、自动化漏洞测试子平台和Fuzzing测试子平台组成,经测试该平台可以支撑用户实现一系列标准化安全检测与分析服务。

关键词:网络协议;漏洞分析;测试平台;Fuzzing测试子平台

中图分类号:TP311.1     文献标识码:A

The Construction of an Analysis and Testing Platform for

Network Protocol Vulnerability

ZHANG Yuehong

(Shanghai Technical Institute of Electronics& Information,Shanghai 201411,China)

Abstract:With the emergence of increasingly complex and diverse network attack tools and techniques,the traditional network attack detection methods have been unable to meet the requirements of the current network attack detection.Therefore,the analysis and testing platforms for network protocol vulnerability arise at this historic moment.However,as far as the current situation is concerned,the speed of the existing network protocol vulnerability analysis platform is slow,and it is difficult to quickly find zero-day vulnerability attacks,and is also hard to defense and fix them.Based on the above reasons,the analysis and testing platform for network protocol vulnerability proposed in this paper is mainly composed of virtualization testing cloud sub-platform,data analysis sub-platform,automated vulnerability testing sub-platform and Fuzzing testing sub-platform.After testing,the platform can support users to implement a series of standardized security detection and analysis services.

Keywords:network protocol;vulnerability analysis;testing platform;Fuzzing testing sub-platform

1   引言(Introduction)

网络空间以信息为特征,以物理空间为基础,与传统的陆、海、空、天物理空间相互交织,辐射人类生产、生活、社会活动乃至意识形态的各个方面,对国家安全产生越来越重要的影响。

近年来,网络攻击在政治、经济、军事领域造成严重后果的事件层出不穷。如超过150万份VISA用户信息被黑客窃取;“棱镜门”事件曝光后让我们更清醒地认识到政府部门信息系统的网络信息安全现状不容乐观。斯诺登曝光的秘密文件显示:“棱镜”项目授权美国国家安全局通过微软、思科、IBM、谷歌等公司从国内互联网企业获取信息,这其中包括不少政府用户。我国政府机构所使用的电子政务信息系统很大程度上也都是由参与“棱镜”项目的公司所提供。

上述一系列事件表明,国际网络空间安全态势十分严峻,网络空间安全能力已经成为国家综合竞争力的体现之一。我国信息安全漏洞的挖掘与研究尚属起步阶段,相关技术人员各自为战,缺乏有效的技术沟通与方法沉淀手段。信息安全漏洞的挖掘研究,目前绝大部分是基于专业技术人员的知识和经验积累,没有形成标准化,可工程化执行的手段。网络漏洞挖掘方法与脆弱性分析是信息安全国家重点实验室的一个重要研究方向,也是目前国际上的前沿研究领域和技术竞争的焦点,我们有必要就信息安全的漏洞挖掘研究建立一套平台,达到挖掘步骤标准化、挖掘技能知识体系化、分析结果可视化、研究流程自动化的效果。

2   目标(Objective)

通过网络协议漏洞分析测试平台的建设,涵盖政府、国防、金融、电信和工业等多个领域,满足其网络空间基础设施安全协议漏洞挖掘与研究试验应用需求,为各类用户提供一系列标准化安全检测与分析服务。网络协议漏洞分析测试平台主要是要达到以下目标。

(1)支撑实验室研究人员进行安全漏洞挖掘研究技术学习,并能形成有效知识分享体系,达到人才教育培养、专业知识沉淀的目标。

(2)支撑安全漏洞检测、验证与发布服务,对最新的信息安全事件涉及的攻击原理进行重现验证,并对其中存在的协议漏洞形成多方面多维度的原理性报告,通过原理性报告的开放共享发布,为防护工程师进行漏洞防御与系统加固提供技术参考。

(3)支撑产品安全性测试、漏洞挖掘,通过流程化的测试和漏洞挖掘,对各种信息产品的安全性测评提供协议分析数据和系统库漏洞数据。

(4)支撑基于流量的产品分析和测试,对于云计算、工控等较为前沿的研究领域,在端不可控的情况下,进行基于网络流量的分析与测试,从而达到对该类产品的基础分析测试效果。

(5)支撑Fuzzing测试[1],在无法获取测试对象源代码的分析情况下,可以通过Fuzzing模糊性测试手段对产品或应用进行自动生成测试和快速大面积测试进行漏洞挖掘。

3   平台设计(Platform design)

3.1   总体设计

网络协议漏洞分析测试平台由四个子平台和前台界面构成,四个子平台分别是虚拟化测试云子平台、数据分析子平台、自动化漏洞测试子平台和Fuzzing测试子平台。平台总架构如图1所示。

图1 网络协议漏洞分析测试平台总架构

Fig.1 The architecture of the analysis testing platform for network protocol vulnerability

虚拟化测试云子平台用于提供漏洞研究学习支撑,并且为漏洞攻击原理重现提供快速环境搭建功能,还可以为研究的漏洞防御或加固技术手段提供验证。

自动化漏洞测试子平台支撑产品安全性测试和已知漏洞的挖掘,并形成准化、流程化的测试挖掘过程,对外输出测试结果数据和报告。

Fuzzing模糊测试子平台在无法获取测试对象源代码的分析情况下,支撑进行Fuzzing模糊测试,实现自动生成测试用例和大面积快速测试,达到挖掘未知漏洞的效果,对外输出测试结果数据和报告。

数据分析子平台主要对自动化漏洞测试子平台和Fuzzing模糊测试子平台测试过程中的数据进行捕获和分析,为研究人员进行技术判断时提供各种需要的技术数据。数据分析子平台还通过对第三方流量的导入分析,支撑对端不可控情况下进行基于网络流量的分析与测试。

3.2   子平台详细设计

(1)虚拟化测试云子平台

虚拟化测试云子平台负责对外提供接入与输出接口,接入接口供物理设备或第三方网络接入云虚拟化网络;输出接口对外输出虚拟化设备的基础信息与虚拟环境的网络流量。通过虚拟化的方式将被测应用或产品的服务器、网络架构、客户端等基础设备进行模拟仿真,从而让网络协议漏洞分析测试可以在来自实际环境的复现场景中进行。虚拟化测试云子平台通过虚拟化技术实现各种测试场景的保存和重复利用,节省了测试流程中环境布置的时间与人力投入,简化并加快了协议漏洞分析与发现的过程。虚拟化测试云子平台架构如图2所示。

图2 虚拟化测试云子平台架构示意图

Fig.2 The architecture diagram of virtualization testingcloud sub-platform

它主要用于满足复杂的场景设计和实现,通过虚拟化技术构建网络协议漏洞分析场景的私有云,并结合虚拟网络技术,实现自由灵活的各类场景配置,以此实现高仿真的场景复原与重复利用,并通过预留接口供第三方设备或网络接入,将云虚拟化子平台中的虚拟设备信息与网络流量输出。

该子平台主要包含以下功能。

①实现对硬件设备的管理,能够对硬件服务器进行虚拟化,生成虚拟主机;

②支持对生成的虚拟主机参数进行定制,包括CPU、内存、硬盘等;

③能够对生成的虚拟主机进行统一管理,包括开机、关机、暂停、快照等;

④能够通过WEB方式对生成的虚拟主机进行操作,无须安装客户端,大大降低对用户端电脑的要求,并且简化操作流程;

⑤支持云网络功能,能够将生成的虚拟主机按照需求构建成指定的网络结构,支持vlan、路由等方式組建网络;

⑥支持接入存储网络或第三方云存储进行平台扩展;

⑦支持将虚拟主机与虚拟网络组成场景的方式存入数据库;

⑧支持对场景进行统一调度管理,包括保存、启动、关闭、快照等;

⑨支持对虚拟主机、虚拟网络、场景等进行可视化展示,包括虚拟设备状态、性能等;

⑩支持第三方设备(物理设备)、第三方网络接入虚拟网络,与虚拟主机能够进行正常通信;

?支持将虚拟化设备的流量导出平台,引入其他子平台。

(2)数据分析子平台

数据分析子平台负责对各基础设备间进行数据的采集监测,再通过数据分析模块的处理,形成协议分析、流量分析流程,最终通过可视化进行协议、流量的标准化展示。数据分析子平台通过内置的测试流程设定文档和PCAP流量记录,辅助测试结果的技术分析,并将所有重要信息自动收集打包到一个原理性报告中,必要时可将该包发送给第三方进行自动重现与测试结果验证[2]。

数据分析子平台由三个模块构成,分别为采集模块、分析模块、输出模块。

采集模块对各个场景中的相关数据进行采集,包括终端数据、流量数据等。再将采集结果通过分析模块进行分析,将原始数据进行标准化,如协议分析还原、流量标准化处理等。最终数据分析结果,通过输出模块将海量数据进行重点数据关注和有效数据展示。展示结果应尽量实现技术透明化,即关注主要数据点,将底层技术相关数据进行隐藏。专业技术人员可以查看未处理数据,从而对原始数据中技术相关部分进行分析。并将所有重要信息自动收集打包到一个原理性报告中,必要时可将该包发送给第三方进行自动重现与测试结果验证如图3所示。

图3 数据分析子平台的三个模块

Fig.3 Three modules of the data analysis sub-platform

采集模块的功能如下:

①支持通过网口或光口进行采集流入该接口的流量数据;

②支持通过SNMP、SYSLOG等协议采集设备状态信息;

③支持通过Agent客户端采集计算机信息;

④支持对数据采集行为进行管控。

分析模块的功能如下:

①支持对已知和未知协议进行协议解析,并且形成标准化结构数据;

②支持分析结果数据结构自定义。

输出模塊的功能如下:

①支持可视化输出分析后的结果;

②支持输出PCAP流量记录。

(3)自动化漏洞测试子平台

自动化漏洞测试子平台,负责实现应用和产品的自动化漏洞测试,挖掘发现已知漏洞,并通过数据分析模块进行漏洞的原理研究[3]。自动化漏洞测试子平台通过采用多个分析测试模块(并联)联用的多路分流设计方案,可以实现对网络级、报文级、应用级的网络漏洞综合分析,确保测试过程全面、可靠。自动化漏洞测试平台可以进行第三方漏洞扫描产品接入,并可以将第三方漏洞扫描产品测试结果融入自动化漏洞测试平台,形成已有技术手段的充分利用。

子平台以实现对目标进行自动化漏洞测试为建设目标,通过自动化攻击的方式模拟恶意攻击者的攻击行为,在攻击基础上验证信息系统及产品的安全性。子平台根据漏洞测试的流程进行建设,通过将自主研发工具、已有相关工具进行组合的方式,形成一条具有多分支结构的自动化漏洞测试链,并最终输出一份漏洞测试报告,从而实现自动化漏洞测试的攻击效果。

自动化漏洞测试子平台由第三方漏扫设备、软件渗透测试套件以及自动化漏洞测试系统组成。架构如图4所示。

该子平台包含以下功能。

①支持第三方漏扫设备的统一管理和第三方漏扫设备报告的整理分析;

②包含开源渗透测试框架,如:Nessus[4]、OWASP Zed Attack Proxy[5]等;

③支持开源渗透测试框架统一管理及结构分析;

图4 自动化漏洞测试子平台架构图

Fig.4 The architecture diagram of automated vulnerability testing sub-platform

④支持自动化调用平台中的资源,进行标准化步骤自动测试;

⑤及时的自动更新渗透测试插件资源库;

⑥可对测试流程进行开始、暂停、停止等管理;

⑦支持测试流程可视化展示。

(4)Fuzzing模糊测试子平台

Fuzzing模糊测试子平台运行于虚拟化测试云平台之上,在无法通过已知手段对漏洞进行挖掘研究的情况下,对应用或产品进行Fuzzing模糊测试,进一步挖掘未知漏洞或安全隐患。Fuzzing模糊测试子平台通过制订模糊测试方法对SMTP、FTP、RTP等常见应用层协议进行Fuzzing测试;同时也可以基于网络协议数据分块特性,具备对未知协议的一定Fuzzing测试能力。Fuzzing模糊测试子平台应支持基于应用的、基于协议的测试。

本子平台根据Fuzzing测试流程进行建设,通过将Fuzzing测试用例生成、自动发送变异数据包(测试用例)、被测软件调试态监控等进行组合的方式,形成一条完整的Fuzzing测试流程,如图5所示;当被测软件崩溃或异常时,调试态监控程序会自动保存软件崩溃信息,从而实现自动化网络协议测试的目标。

图5 Fuzzing测试平台的测试流程

Fig.5 The test process of fuzzing test platform

模糊测试子平台包含以下功能。

(1)包含已经部署和配置完整的Fuzzing模糊测试工具;

(2)支持FTP、SMTP模糊测试;

(3)支持流媒体协议模糊测试场景等;

(4)自动识别应用协议;

(5)支持自动生成测试用例;

(6)支持测试用例下发,进行分布式测试,加快测试速度。

4   结论(Conclusion)

网络协议漏洞分析与挖掘一直是信息安全从业者研究的热点领域,采用模糊测试在漏洞分析与挖掘方面有着重要地位。通过对网络协议漏洞分析测试平台的研究,本文提出由虚拟化测试云子平台、数据分析子平台、自动化漏洞测试子平台和Fuzzing测试子平台组成的启发式模糊测试平台框架,可以支撑各类用户实现一系列标准化安全检测与分析服务。

参考文献(References)

[1] 美超,曾凡平,黄奕.基于漏洞库的fuzzing测试技术[J].小型微型计算机系统,2011,32(4):651-655.

[2] 佩拉,MassimilianoOldani.内核漏洞的利用与防范[M].北京:机械工业出版社,2012.

[3] 高峻,徐志大,李健.漏洞自动挖掘技术研究进展[J].计算机与数字工程,2009,37(1):100-104.

[4] Beale J,Meer H.Nessus Network Auditing[M].Boston:Syngress,2004:324-326.

[5] Bennetts S.OWASP Zed Attack Proxy[J].Appsec Usa,2013 (11):18-21.

作者简介:

张月红(1975-),女,硕士,副教授.研究领域:渗透测试,漏洞挖掘,WEB安全.

猜你喜欢

网络协议分析测试漏洞
漏洞
《分析测试技术与仪器》简介
铁路通信网络安全的分析测试与可信防御研究
一种蓝牙多跳网络协议的设计与研究
关于分析测试中心在高校实验教学中的思考
基于载波技术的多点温度测量系统设计
基于DPI技术的语音视频流量监控系统设计与实现
三明:“两票制”堵住加价漏洞
高铁急救应补齐三漏洞
发动机仿真试验及燃烧分析测试技术