基于TTCN-3的防火墙测试系统

2022-09-10

防火墙是设置在被保护网络和外部网络之间的一道屏障, 通过监测、限制、更改跨越防火墙的数据流, 防火墙尽可能地对外部屏蔽网络内部的信息、结构和运行状况, 以此来实现网络的安全保护。防火墙能否起到防护作用, 常用的证明方法是对其进行测试, 甚至采用各种手段对防火墙进行模拟攻击, 以保证测试的全面性与有效性。本文提出了一种基于TTCN3的防火墙测试系统, 该方法具有一定的规范性、普适性和可重复性。

1 TTCN-3简介

TTCN-3[1~3] (Testing and Test Control Notation Version 3) 是新一代的测试语言规范, 是一种标准化的测试描述语言。TTCN-3语言由ETSI (欧洲电信标准局) 制定, 现已被ISO接纳为国际标准 (Z.140系列) , 该语言力求适应测试需求的不断变化, 为像ODP、CORBA、TINA、DCE等新的软件架构, 以及下一代网络协议提供新的测试概念, 测试架构和功能强大的测试规范描述手段。基于TTCN-3的测试系统有以下优点: (1) 支持外部自定义函数, 使用户编写性能测试中各种压力模型变得更加简单。 (2) 支持定时器的启动、停止、读取当前时间等操作, 这使得性能测试中确定网络事件产生的时序变得更加方便。 (3) 提供了一种可编程, 动态可配置的性能测试结构, 并发测试组件可以产生大流量的数据流, 这为性能测试提供了充足的数据参考。 (4) 类似高级语言, 开发测试套方便、简洁, 开发出的测试套可读性强, 同时具有良好的可维护性。

2 选择TTCN-3测试防火墙的原因

(1) TTCN-3在协议测试方面取得了很大的成功, 对防火墙测试来说, 其测试结构在实现方面与协议测试的一般测试结构也有很大的相似之处, 这是可以使用TTCN-3来进行测试的直接原因。 (2) TTCN-3是测试领域所提倡的标准, 由TTCN-3测试系统及使用TTCN-3语言编写的测试例复用性高。 (3) TTCN-3平台可以并发的对防火墙进行自动化测试。 (4) TTCN-3的很多特性非常适合于防火墙测试。其模板的匹配功能非常适合于网络上数据的匹配, 模板的modifies功能可以很方便的产生大量的模板。其动态配置等功能也为防火墙测试提供了很大的方便。 (5) TTCN-3支持外部函数的概念, 可以方便的用于动态配置防火墙操作。

综上所述, 本文选用了TTCN-3语言来测试防火墙。

3 防火墙测试环境搭建

在测试防火墙过程中, 需要先将防火墙放置于预定义的测试环境中, 根据TTCN-3测试系统和防火墙测试系统的结构, 测试环境按图1搭建。

L T (Lower Tester) 是下测试器, U T (Upper Tester) 是上测试器。LT端的S A (System Adapter) 是被测系统适配器, 用于处理测试系统与被测系统之间的数据通信, 如数据如何收发, 数据收发采用什么通信协议;PA (Platform Adapter) 是平台适配器, 主要用于防火墙的动态配置。UT是一个报文接收/发送器, 用来捕捉以及发送特定格式的数据包, 并对数据包做一些简单的分析处理。

在网络1中TTCN-3执行机与报文接收器1在同一台主机上, 该主机与网络1交换机相连。在网络2中报文接收/发送器2与网络2交换机相连。TTCN-3执行机的SA通过测试旁路与报文接收/发送机相连, 绕过防火墙。此处的防火墙采用Linux iptables进行配置, 防火墙动态配置器加载在Linux主机之上, 并与TTCN-3执行机的PA进行连接。

4 防火墙测试流程

防火墙测试系统的具体测试流程如下所述: (1) LT向UT发送同步消息。定义同步消息报文格式为其中, ID表示该同步消息的序列号, 每个同步消息的序列号唯一;FLAG为标志位, 当FLAG=SEND时表示LT将主动向UT发送报文, 当FLAG=RECEIVE时表示需要UT向LT发送报文。具体报文为DATA语中所包含的数据。 (2) UT在收到同步消息后: (1) 当FLAG=SEND时, 返回一个同步消息, 表示准备好接收报文, 然后转到3。 (2) 当FLAG=RECEIVE时, UT向LT发送报文, 具体报文为DATA语中所包含的数据。确认消息格式为 (ID) 转到5。 (3) LT收到确认消息时向UT发送报文。 (4) UT捕捉到LT发送过来的消息时, 将收到的报文发送给LT, 当LT通过测试旁路收到相应报文后做出判断, 如果测试用例还有后续步骤, 返回1, 否则生成测试结果报告。 (5) LT端报文接收器接收到UT端发送过来的报文时, 将其传递给LT, LT进行判断, 如果测试用例还有后续步骤, 返回1, 否则生成测试结果报告。

5 结语

在一致性测试框架上, 使用TTCN-3测试语言, 设计并实现了防火墙测试系统给出了该系统在进行防火墙自动测试时的基本过程。实际测试验证了该系统在进行防火墙测试时, 具有人工干预少, 测试结构灵活, 开发测试套方便简洁, 测试套易维护等优点。

摘要:防火墙系统是否有效起到防护作用, 最根本的方法是对其进行测试。采用了与平台无关的抽象测试描述语言TTCN-3对防火墙测试部署进行描述, 提出了一种有效解决防火墙测试的方法。

关键词:防火墙测试,TTCN-3,下测试器,上测试器

参考文献

[1] European Telecommunications Standards Institute.Methods for Testing and Specification (MTS) ;The Testing and Test Control Notation version 3;Part 1:TTCN-3 Core Language.ETSI ES 201 873-1V3.1.1, Sophia Antipolis, 2005, 6.

[2] ETSI.ES 201 873-6.Methods for Test-ing and Specification (MTS) .The Test-ing and Test Control Notation Version 3 Part 6:TTCN-3 Control Interface (TCI) , 2003, 3.

[3] ETSI.ES 201 873-5.Methods for Test-ing and Specification (MTS) .The Test-ing and Test Control Notation Version 3, Part 5:TTCN-3 Runtime Interface (TRI) , 2003, 2.

上一篇:浅析企业网络舆情的特点及应对下一篇:图像符号在广告课程中的应用性研究