基于有限条件攻击的安全测试方法
2011-05-22肖毅
肖 毅
(中国电子科技集团公司第三十研究所,四川 成都 610041)
0 引言
通信网络作为一个复杂系统,其安全性严重影响了通信网络以及信息系统的应用,为了提高通信网络的安全性,大量学者对通信网络的安全性测试技术进行了研究。在软件安全测试方面,蒋廷耀[1]提出了一种基于 EAI 模型( Environment Application Interaction Model)的软件错误注入测试方法;张德平[2]基于马尔可夫链使用模型提出了一种针对安全关键软件测试资源受约束的启发式加速测试方法;杜经农[3]提出环境与状态错误模型( EAS模型),并设计了基于EAS模型的Web应用软件安全性测试方法;陈锦富[4]提出了一种构件安全测试错误注入模型 FIM (Fault Injection Model of Component Security Testing),并基于 FIM 模型给出了一种错误注入测试用例生成算法TGSM(Test2case Generating based on Solution Matrix);贺红[5]提出将安全性测试增加到软件功能性测试之中,并给出对应用软件进行安全测试的对手模式。在网络安全测试方面,落红卫[6]给出了网络安全测试的原则、内容以及进行协议测试、功能测试、性能测试和物理测试的方法;念其锋[7]提出 BGP 攻击树(Attack2Tree)模型,并应用该模型构造域间路由系统的安全性测试套件。在攻击测试方面,龚雷[8]针对计算机网络系统中存在的漏洞和脆弱点研究了安全测试攻击工具库与攻击工具箱, 提出了多属性攻击工具分类法。在协议安全性测试方面,李谢华[9]提出一种基于改进认证测试理论的高效安全协议验证算法— —AAAP (Automatic Analyzer for Authentication Protocols)算法,利用认证测试理论中消息间的偏序关系避免状态空间爆炸的问题;陈伟琳[10]针对协议安全测试中数据流的描述问题,在构造类别代数的基础上引入变异分析,提出了一种协议安全测试方法;李弋强[11]给出了安全因子的定义,并通过建立带安全因子的安全EFSM模型,设计了一种新的基于最小安全因子的协议安全性测试序列生成算法。在安全产品测评方面,张敏[12]提出在信息安全产品测评中基于安全策略模型的安全功能测试用例自动生成方法,包括基于语法、规则、类型的划分等步骤,依据形式化安全模型生成正确描述系统行为的操作测试用例集;黄亮[13]采用了基于安全产品安全策略模型的测试用例自动生成方法,设计并实现了一个测试用例自动化生成工具— —CaseBuilder;刘莹[14]基于 ServerScope 测试仪的软硬件结构,提出了一种新的测试网络信息安全产品的方法,在系统中同时模拟客户端和服务端,生成网络信息安全系统所特有的交互式负载。
这些研究成果,从软件、网络、协议以及安全产品测评方面均对安全测试进行了研究,并在某些方面推动了安全测试技术的发展,能够从测试方面提高通信网络的安全性,但是在信息对抗时代,通信网络需要进行全面的安全测试,根据漏桶原理弥补安全的短板。为此,提出了基于有限条件的攻击测试方法,建立了攻击测试模型,并基于该模型给出了攻击测试算法,最后设计了利用该算法的攻击测试系统。通过实现该攻击测试系统,对GSM等无线通信网络进行了安全性测试,表明该方法能够发现这些网络存在的安全漏洞。
1 安全性分析
目前,大部分通信协议在安全机制方面均存在先天不足,易于遭受攻击。通信网络的大部分应用协议也都缺乏认证、保密等措施,也使攻击者比较容易得手。通信网络常遭受的攻击有如下几类:
(1)假冒。假冒是一个实体假装成另一个不同的实体。假冒常与其它一些主动攻击一起使用,如消息的重放与篡改,有限权限的实体假冒有额外特权的实体。
(2)重放。一个过去的消息或部分消息被重新在网络中重复传输被称为重放。例如,一个含有鉴别信息的有效消息可能被另一个实体所重放,目的是鉴别它自己(把它当作其他实体)。
(3)篡改。在网络中传输的数据被非授权改变后继续传输过程。例如,消息“允许甲读机密文卷‘账目’”被篡改为“允许乙读机密文卷‘账目’”。
(4)拒绝服务。当一个实体不能执行它的正常功能,或它的动作妨碍了别的实体执行它们的正常功能的时候便发生拒绝服务。这种攻击可能是一般性的,比如一个实体抑制所有的消息,也可能是有具体目的性。例如,一个实体抑制所有流向某一特定目的端的消息,如安全审计服务信息。这种攻击可以是对通信业务流的抑制,也可能制造出试图破坏网络操作的消息,特别是如果网络具有中继实体,这些中继实体根据从别的中继实体那里接收到的状态报告来做出路由选择的决定。
Forecast of heavy rain caused by the northeast cold vortex using “ingredients method”
(5)内部攻击。当系统的合法用户以非故意或非授权方式进行动作时便出现内部攻击。多数已知的计算机犯罪都和使系统安全遭受泄露的内部攻击有密切的关系。
(6)外部攻击。外部攻击可以使用的方法有:搭线(主动的与被动的)、截获辐射、假冒授权用户系统组成部分、旁路鉴别或访问控制机制。
(7)陷井门。当系统的实体受到改变致使一个攻击者能对命令,或者对预定的事件或事件序列产生非授权的影响时,其结果就称为陷井门。例如,口令的有效性可能被修改,使得除了其正常效力之外也使攻击者的口令生效(基于有限条件的攻击测试方法)。
为了测试通信网络的安全性,可利用这些攻击原理对通信网络进行测试,因此研究并提出了有限条件攻击测试模型(Attack Test Model based on Limited Condition-ATMLC)和算法(Attack Test Algorithm based on Limited Condition-ATALC)。
2 有限条件攻击测试模型
通信网络的安全性主要体现在机密性、完整性、可用性、真实性和抗否认性,可分别用集合j、w、k、z和r表示,那么通信网络的安全性可用函数F(j,w,k,z,r)表示。为了测得通信网络的安全性,需要确定其中的变量j、w、k、z和 r。为了确定这些变量,通过攻击的测试方法进行获取,为此设计如图1所示的有限条件攻击测试模型。
图1 有限条件攻击测试模型
该攻击测试模型由攻击、目标、响应和条件构成,相互之间形成一定的输入和输出关系。
(1)攻击
攻击是基于有限条件的攻击方法的集合,用Gg表示:
(2)目标
目标就是测试对象,即通信网络,其安全性为F(j,w,k,z,r)。
(3)响应
响应攻击方法作用到目标通信网络后得到的反应或结果,用集合Rr表示:
其中,jr、wr、kr、zr、rr分别是攻击方法 j’、w’、k’、z’、r’产生的响应,可用函数Rr=f(Gg)表示。目标的安全性F(j,w,k,z,r)是攻击预期结果Rr’和响应Rr函数,可用F(j,w,k,z,r)=f’(Rr’,Rr)表示。
(4)条件
条件是通信网络某些安全属性的集合可用CF表示:
其中,J={Ja},W={Wb},K={Kc},Z={Zd},R={Re},而 a、b、c、d、e=1,2,…,是相对独立的安全防护属性,是在攻击测试方法无法进行时作为攻击方法的输入条件,并认为该项安全属性可靠。如果输入条件 JA、WB、KC、ZD、RE,表明测试目标的安全性:
这样重复进行攻击测试,通过不断的递代,直到所有攻击测试项目完全成功为止,从而可最终获取目标通信网络的安全性。
3 有限条件攻击测试算法
有限条件攻击测试算法(ATALC)就是从无任何条件到获取一定条件,甚至到所有条件进行攻击测试,直到所有攻击测试项目完全成功为止,从而得到目标通信网络的安全性,具体测试算法流程如下:
4 攻击测试系统设计
根据通信网络的有限条件攻击测试模型及算法设计有限攻击测试系统如图2所示。
图2 有限条件攻击测试系统
有限条件攻击测试系统由五部分构成,攻击测试控制台、攻击测试激励模块、攻击测试响应模块、攻击序列测试库、攻击测试输入点和攻击测试输出点构成。
攻击测试控制台属于系统总控设施,负责根据通信网络的特性,配置攻击测试输入点和输出点的参数。
攻击序列测试库由各种攻击序列构成,这些序列包括身份假冒序列、越权访问序列、消息篡改序列、重放攻击序列、拒绝服务攻击虚拟、木马病毒序列等,负责对通信网络的五大安全属性进行攻击测试。
攻击测试输入点接受攻击测试控制台的控制,并将攻击序列通过该点输入到被测试的网络,同时需要解决攻击序列与被测网络之间的接口(包括物理接口和信息接口)。
攻击测试响应根据攻击序列测试库的测试方法,调动攻击测试输出点,获取攻击序列作用后的通信网络响应。
攻击测试输出点通过采集攻击测试序列输入前后以及输入时的相关信息,并解决输出点与被测试网络之间的接口适配问题,同时将获取的信息传输给攻击测试响应。
5 测试方法应用
基于设计的攻击测试系统,研制了原型系统,并搭建了小型GSM网络等,对该方法进行了应用,如图3所示。
图3 攻击测试试验环境
为了完成GSM的测试,部署了一台攻击测试控制台、一个输入点和两个输出点。测试项目情况如表1所示,采用加密攻击对GSM网络进行了测试。
表1 GSM网络安全性测试表
通过这些攻击测试过程,说明GSM网络在知道认证算法和密钥的情况下,能够被假冒攻击,其安全性存在一定的问题,而在任何信息均不知道的情况下,无法被身份假冒攻击。
6 结语
针对目前通信网络面临的安全威胁,研究并设计了有限条件攻击测试方法,包括有限条件攻击测试模型(ATMLC)和算法(ATALC),将各种攻击方法按照无条件输入和逐渐输入条件的方式进行组织,并对目标通信网络进行安全性测试,从而获取目标通信网络的安全性。基于该方法设计攻击测试系统,对GSM等无线网络进行了安全性测试,表明该测试方法有效、可行。
[1]蒋廷耀,王训宇,马凯,等. 基于EAI 和AOP 的软件安全测试及应用研究[J]. 计算机科学,2009,36(04):169-171.
[2]张德平,聂长海,徐宝文. 测试资源受约束的安全关键软件加速测试方法[J]. 计算机科学,2009,36(05):138-141.
[3]杜经农,卢炎生. 一种Web应用软件安全脆弱性测试模型[J]. 小型微型计算机系统,2009,30(20):2398-2403.
[4]陈锦富,卢炎生,谢晓东. 一种构件安全测试错误注入模型[J]. 计算机研究与发展,2009,46(07):1127-1135.
[5]贺红,徐宝文,袁胜忠.对应用软件进行安全测试的对手模式及其应用[J].计算机科学,2006,33(09):266-269.
[6]落红卫. IP 网络安全测试研究[J].电信网技术,2009(03):18-21.
[7]念其锋,蔡开裕,杜秀春. 基于攻击树的边界网关协议安全测试[J].计算机工程与科学,2006,28(08):14-16,29.
[8]龚雷,陈性元,唐慧林,等. 面向安全测试攻击工具库设计[J].微计算机信息,2008,24(03):75-77.
[9]李谢华,高春鸣. 基于改进认证测试理论的高效安全协议验证算法[J]. 计算机科学,2009,36(04):73-76,128.
[10]陈伟琳,周颢,赵保华. 利用构造类别代数的协议安全测试方法[J].西安交通大学学报,2008,42(12):1481-1485.
[11]李弋强,徐中伟,喻钢,等. 面向安全需求的安全通信协议测试序列生成算法[J]. 计算机应用,2009,29(07):1828-1831,1848.
[12]张敏,冯登国,陈驰. 基于安全策略模型的安全功能测试用例生成方法[J]. 计算机研究与发展,2009,46 (10): 1686-1692.
[13]黄亮,冯登国,张敏. 一个基于安全模型的测试用例生成工具[J].中国科学院研究生院学报,2007,24(03):300-306.
[14]刘莹,田野. 一种针对网络信息安全系统的测试方法[J]. 计算机工程,2006,32(20):140-142.