网络协议安全性测试
网络协议安全性测试包括安全协议测试和协议安全性测试。网络协议安全性测试的主要功能是对Internet 体系中的安全协议和TCP/IP协议族进行安全性测试,这种测试是针对包含协议实现的产品或独立模块进行的。安全协议测试的功能是对包含了SSL、IPSec和Kerberos安全协议实现的产品(如IPSec产品)或独立模块进行各种标称安全功能的测试;协议安全性测试要求对TCP/IP协议族的具体实现模块进行抗攻击测试;另外,安全机制对协议实现性能的影响也是测试的内容。
一、主要技术指标
网络协议安全性测试系统按照测试集管理、测试过程管理和测试结果管理为主线进行开发,提供友好的用户界面,有效支持测试准备、测试执行、测试结果采集、测试结果分析和测试报告生成,同时具有良好的开放性和可扩展性,便于系统的功能扩充和动态升级。
1.能对包含IPSec、SSL和Kerberos协议的产品或模块进行功能测试。
2.采用Benchmark测试在上述协议典型应用中(如 VPN )各种使用方式的吞吐量、时延等数据。
3.能对TCP/IP协议族的具体实现模块进行抗攻击性测试,如抗IP地址欺骗能力、抗物理地址欺骗能力、抗TCP序列号攻击能力等。
二、总体方案
1.集成环境
网络协议安全性测试系统以测试集管理、测试过程管理、测试结果管理为主线分别集成为用户界面友好的一体化环境,有效支持测试准备、测试执行、测试结果采集、测试结果分析、测试报告生成。
2.系统架构
如下图所示。
(1) 测试集管理
建立、维护测试集数据库,访问、浏览、入库、出库、修改、更新、扩充、管理测试集数据库内容。
(2) 测试过程管理
有效测试准备、测试执行、测试结果采集、测试结果分析、测试结果输出等功能,基本实现测试过程的自动化。
网络协议安全性的测试环境
在安全协议测试部分,测试管理、测试执行和结果收集等模块一般分布在网络中,测试集一般由某种分布式应用构成。其一般结构如下:
(3) 测试结果管理
建立、维护测试结果数据库,访问、浏览、入库、出库、修改、更新、扩充、显示、管理测试结果数据库内容。
(4) 测试集数据库
测试集数据库用来存网络协议安全性测试集。测试集主要包括:
安全功能测试集:各种安全功能的测试集。包括针对多数产品普遍的功能测试用例以及产品一些特定功能的测试用例,新的模块可通过系统维护接口添加升级。
安全性能测试集:进行性能测试的程序集合,其中主要是对基本的网络性能,如吞吐率和延迟的标准测试程序。
脆弱性测试集:针对各种系统脆弱性、安全漏洞进行攻击的测试集。包括针对普遍的安全漏洞的攻击测试用例及系统特定的脆弱性测试用例,需要及时的更新、升级。
(5) 测试结果数据库
测试结果数据库用来存储各种测试结果。测试结果数据库的主要内容包括中间测试结果、最终测试结果、历史测试结果、测试分析报告等。
在测试之前,系统首先要进行测试准备,建立测试过程;然后,通过测试过程管理提交测试程序,激活测试程序,控制测试程序执行,收集、采集测试结果;最后,进行测试结果分析,生成测试分析报告,打印、显示测试结果,产生评测报告。
三、系统配套设备和软件方案
1. 配套设备方案
(1) 测试集成管理环境配套设备方案
测试集成管理环境的主要作用是对网络产品安全性的各种测试集进行集中的管理和控制,它本身对硬件环境的要求比较单一。其配套设备为Windows 或Unix硬件平台、数据库管理系统以及相应的编程工具。
(2) 协议安全性测试系统配套设备方案
本系统的运行环境要求:高性能PC及被测系统硬件平台;运行平台为WINDOWS 及被测系统软件平台;还有配套设备,如数据发生器等。
本测试软件安装在WINDOWS 及与被测系统发生交互的主机上,它通过对安全协议软件的通信数据进行分析或通过运行在被测协议上的有关测试程序来判断软件的功能、性能和符合性。本测试软件还可发送特定的数据包来测试TCP/IP协议的性能和健壮性。网络拓扑结构示意图如下所示:
图三
主机H1到Hn上安装安全协议软件所要求的运行环境及可能的测试程序,测试控制系统和它们在同一个网段,通过对安全协议软件的传输数据进行分析,及与各个主机上的测试程序的通信来判断安全协议的功能、性能以及和标准的符合程度。系统通过发送特定数据包来完成对TCP/IP协议软件性能和健壮性测试。
2.软件方案
(1) 测试集成管理环境软件方案
测试集成管理环境的设计主要考虑支持主流平台Windows或Unix,在这些平台上的GUI界面风格一致,操作一致,使各测试步骤具有统一的操作风格,测试步骤更清晰,测试过程更方便且自动化程度更高。
集成环境主要包括以下几个部分:测试集管理工具、测试配置工具、测试准备工具、测试执行工具、测试结果采集工具、测试结果分析工具、测试报告生成工具、测试结果管理工具以及测试集数据库和测试结果数据库。
(2) 协议安全性测试系统软件方案
协议安全性测试系统对基于TCP/IP协议的安全协议软件进行测试,同时为了保证安全协议的运行基础的可靠性,需要测试TCP/IP的性能和健壮性。测试系统采用自顶而下的方式设计,整个系统按测试对象分成若干个测试集,由各个测试集完成对各安全协议的测试。系统软件结构图如下所示:
图四
SSL协议测试集:完成对SSL协议软件的测试。对包含SSL实现产品或模块的主要功能和性能进行测试,测试集应能覆盖SSL协议的鉴别、完整、保密等功能,对SSL上的各种典型应用如 SHTTP等也应有所覆盖。在功能测试方面,主要测试SSL软件的身份鉴别功能、数据加密功能、数据完整性功能等;在性能测试方面,主要测试SSL连接协商时间、数据吞吐量等;在符合性测试方面,主要测试SSL软件是否符合Internet Draft Secure Socket Layer Protocol Version 3.0之要求。
IPSec协议测试集:完成对IPSec协议软件的测试。对包含IPSec实现产品或模块的主要功能和性能进行测试,测试集应能覆盖IPSec协议的鉴别、完整、保密等功能,对 VPN 等典型应用也应有所覆盖。在功能测试方面,主要测试IPSec协议软件的身份鉴别功能、数据加密功能和数据完整性功能;在性能测试方面,主要测试IPSec协议软件的数据吞吐量、连接协商时间等;在符合性测试方面,主要测试IPSec软件是否满足相关协议之要求。
Kerberos协议测试集:完成对Kerberos协议软件的测试。对包含Kerberos实现产品或模块的主要功能和性能进行测试,测试集应能覆盖Kerberos协议的鉴别等功能,对Kerberos的各种典型应用也应有所覆盖。在功能测试方面,主要测试Kerberos协议软件的票据发放功能、票据验证功能和数据加密功能;在性能测试方面,主要测试Kerberos协议软件数据吞吐量、连接协商时间等;在符合性测试方面,主要测试Kerberos协议软件与MIT Kerberos V5协议的符合程度。TCP/IP协议测试集:完成对TCP/IP协议的性能和健壮性测试。对TCP/IP协议簇的具体实现模块的安全脆弱性进行测试,测试集应覆盖协议族中各协议的安全脆弱问题。在性能测试方面,主要测试TCP/IP协议软件的连接时间、处理连接的速度;在健壮性测试方面,主要测试抗IP地址欺骗能力、抗物理地址欺骗能力、抗TCP序列号攻击能力、抗极小数据