Computer Science and Application 计算机科学与应用, 2012, 2, 121-125 http://dx.doi.org/10.12677/csa.2012.23022 Published Online August 2012 (http://www.hanspub.org/journal/csa.html) A Metric Model Research Based on Attributes for Trustworthiness of Software* Yanzhao Liu1, Xun Luo2, Kai Xue3, Ping Luo3 1China Information Technology Security Evaluation Center, Beijing 2The Department of Electronic and Computer Engineering, The Hong Kong University of Science and Technology, Hong Kong 3Key Laboratory for Information System Security, Ministry of Education, Tsinghua National Laboratory for Information Science and Technology, School of Software, Tsinghua University, Beijing Email: luop@mail.tsinghua.edu.cn Received: Apr. 22nd, 2012; revised: May 11th, 2012; accepted: May 17th, 2012 Abstract: In recent years, trustworthiness of the software has become a frontier research in the field of software engi- neering. In this paper, the impact factor which is used to control th e influence of the critical attribute with the minimal value in the metric mode l based on attributes is improved, and a new metric model, the impact factor being the function of the minimal value an d its weight in the metric model, is proposed. This new model is more consistent with the prac- tice and has its advantages. Keywords: Trustworthiness of Software; Metric Model 一种基于属性划分的软件可信性度量模型研究* 刘彦钊 1,罗 峋2,薛 凯3,罗 平3 1中国信息安全测评中心,北京 2香港科技大学,电子与计算机工程系,香港 3清华大学软件学院,信息系统安全教育部重点实验室,清华信息科学与技术国家实验室,北京 Email: luop@mail.tsinghua.edu.cn 收稿日期:2012 年4月22 日;修回日期:2012 年5月11 日;录用日期:2012 年5月17 日 摘 要:近年来软件的可信性已经成为软件工程领域的一个前沿研究方向,本文对基于属性划分的软件可信性 度量模型中控制具有最小度量值的关键子属性的影响因子进行了改进,提出了一种新的度量模型,使其影响因 子是最小度量值和其权重的函数。该模型更加符合实际情况且具有其优越性。 关键词:软件可信性;度量模型 1. 引言 随着计算机技术和互联网技术的发展,计算机软 件已经广泛应用于各个行业领域,各类应用软件系统 已经渗透到人类社会的政治、经济、文化以及人们生 活的各个层面,使得人们对软件的依赖程度越来越 高。由于现代的软件系统充分考虑了软件最终用户的 各种需求,交互性很强,这往往导致它是一个复杂巨 系统,从而与之产生的问题就是软件缺陷和软件漏洞 呈爆炸式增长,并由此带来的重大事故和严重损失屡 见不鲜:1962 年7月22 日,带有飞越金星任务的水 手1号火箭在发射升空 5分钟左右的时候偏离轨道, 为了不造成更大的损失,美国空军将其摧毁,之后的 调查小组发现,事故的起因仅仅是因为某程序员将草 稿上的公式抄写成了错误的程序代码。还有 2003 年 造成直接损失 60 亿美元的北美大停电事件,也是由 于美国电力控制系统的软件失效造成的。 *资助信息:本文得到国家自然科学基金重点项目资助,项目号: 90818021。 Copyright © 2012 Hanspub 121 一种基于属性划分的软件可信性度量模型研究 另外,随着网络的广泛使用,互联网软件的用户 数量急剧增长,黑客软件日益强大,而网络的开放性 使得黑客工具和教程更加容易获取,这对网络软件的 可靠性和安全性等属性提出了更高的要求,而这些问 题本质上是软件的可信性问题,即什么样的软件才会 被人们所信任,可以称之为可信软件,信任的程度又 如何进行度量等等,本文认为这两个问题正是软件可 信性理论的核心问题。它迫使许多国内外学者们研究 软件应用中出现的可信性问题,纷纷要求对软件系统 的可信性提出度量。 本文第 2节将介绍软件可信性度量的研究背景以 及软件可信性度量函数的四条性质和基于属性划分的 一种度量模型[1]。第 3节将深入分析该模型,并基于 此提出了一种改进的度量模型。第 4节针对本文提出 的改进模型给出了一个简单算例,说明改进模型的正 确性和优越性。第5节总结全文并展望下一步的工作。 2. 软件可信性的度量 上世纪 70 年代,Anderson 首次提出了可信系统 的概念[2],自此学术界与工业界都从不同的角度对信 息系统的可信性做出了各自的表述。ISO/IEC 15408 将系统可信性[3]定义为:一个可信的组件、操作或过 程的行为,在任意操作条件下是可以预测的,并能很 好地抵抗应用软件、病毒以及一定的物理干扰造成的 破坏。可信计算组织则认为,一个实体如果总是按照 其设定的目标所期望的方式运行,则这个实体是可信 的。Algirdas[4]则把传统软件的可信性分为可靠性与安 全性两个方面。王怀民[5]等人则将软件系统可信性总 结为身份可信与能力可信。 由上可知,虽然目前学术界对软件可信性问题众 说纷纭,并没有一个统一确定的标准定义,其核心意 义含糊、笼统,不够深刻。但一般认为软件可信性是 建立在一些子属性(可靠性、安全性、可用性等)的基 础上的一个新概念,可信子属性的划分涉及了软件工 程需求分析,并不是本文的讨论重点,本文的目的在 于分析基于子属性划分的软件可信性应该如何度量, 即假设软件可信性是建立在一个可信属性集合上的, 我们研究其度量问题。事实上如果搞清楚了这个问 题,那么对于已经有成熟的、有明确需求要求的行业 软件来说,我们就可以度量其软件系统是否可信,并 通过定量计算,比较不同软件之间的可信度差异,这 也正是本文的应用意义所在。 文[1]中将软件的可信度量值定义为各个可信子 属性度量值的函数: 12 ,,, n TTyy y (1) 其中表示软件可信子属性的第 i个度量值变元,T 表示软件的可信度,并且有 i y 1,10 i y, 1,10T。 对于一个软件系统,可将其可信子属性分为两类:关 键属性与非关键属性。关键属性指的是一个可信软件 所必须具有的基本属性,比如可靠性、安全性、正确 性等。如果软件系统的任意一个关键属性的度量值低 于阈值,那么认为该软件不可信。由于各个软件的应 用场合与用户的不同,很多软件具有另外的一些属 性,例如可维护性,可移植性等,这类属性则称之为 非关键属性。关键属性与非关键属性是相对的,例如 对于一个数值计算软件来说,正确性是关键属性,而 界面友好性是非关键属性;但对于一个面向大众网民 的网络软件系统,界面友好性则是关键属性,正确性 反而下降为非关键属性。 为了讨论方便起见,设表示为关键属 性, 12 ,,, m yy y 12 ,,, mm m yy y s 为非关键属性(m + s = n)。文献 [1]提出了可信度量函数应该满足单调性,增长性,敏 感性和替代性四条性质,并基于此提出了一个度量模 型如下:设 12 12 11 min 10 m m i im y uyy y 和 12 212 mm m mm ms uy yy s , 12 10 11 Tuu (2) 其中 α与β分别表示关键属性与非关键属性的权重, 有1 且0.5 ;i 表示第 i个关键属性在 整个关键属性集中所占权重,有 ,对应的 1 1 m i i i 表示第 i个非关键属性在整个非关键属性集中所占权 重,有 1 1 ms i im 。 满足 01 且min 1 , 其中 min 表示关键属性中具有最小度量值的权值。 3. 一种改进的可信性度量模型 上节简单介绍了一种基于属性划分的软件可信 Copyright © 2012 Hanspub 122 一种基于属性划分的软件可信性度量模型研究 性度量模型,本节在深入分析该模型的基础上,将提 出一种改进的模型。 文献[1]证明了式(2)度量模型基本满足上节所介 绍的四条性质:单调性,增长性,敏感性和替代性, 比较符合实际情况。另外,由式(2)可以看出,该模型 由于加入了 1 min 10 i im y 一项,突出了具有最小度量 值的可信关键属性对整个软件可信度的影响,而这个 影响程度是由 ε这一参数控制的,即对同一组子属性 度量值不变的情况下,ε越大,软件可信度越小,反 之,软件的可信度越大。直观上来看,可以用“短板 效应”来解释,如果把软件可信子属性比作 n块木板, 软件可信度当作是这 n块木板围成的“木桶”的盛水 量,那么该“木桶”的盛水量显然会被最短板所限制, 而这个限制程度正由 ε来控制。 原模型(2)中的 ε是区间[0, 1]上的一个给定值,而 这往往与实际情况不符。本文认为在现实应用中,对 于不同的子属性度量值的取值,ε应该是不同的,而 不是固定不变且相等的。最小度量值越小,造成的“短 板效应”越明显,对整个软件可信度的影响应该越大。 另一方面,具有最小度量值的子属性的权重大小也应 该直接影响可信度量值,也就是说,该权重越大,ε 应该越大,对可信度的影响越大,反之,该权重越小, ε越小。由此可知原模型中的参数 ε应该是一个关于 ymin 与αmin 的函数值,本文正是基于此提出了一种改 进模型。 设 12 12 31 1 min 10 ii m kky i m im y uyy 2 y ,基于 软件可信性度量模型(2),我们给出如下度量模型函 数: 32 10 11 Tuu (3) 其中, 1minm 10 10k in ,21min 10kk 且 1min 210 1ln10 k k 。用来控制具有最小度量值的可 1 k 信属性的权重对可信度的影响, 用来控制最小度量 值对可信度的影响。函数中其它参数意义同原模型保 持一致。 2 k 定理:度量函数(3)满足单调性,增长性,敏感性 和可替换性。 由于度量函数(3)加入了 12 10 ii kky i y 项,因此可替 换性的证明相对比较复杂。由于改进模型的重点在于 强调“短板效应”,因此我们下面将给出可信度量函 数(3)满足单调性,增长性,敏感性三条性质的证明, 其第四条性质可替换性的证明可类似得到。 证明:a) T是单调递增函数 记 1 min im i y 的下标 i为min ,则 min y im i1 min y 。又记 1min 2min 12 112 minm kky m yy yy , 1min 2min min 1ln ln10 kykk y 22 , 1min 2min 310kky , 1min 2min 12 1 412min im kky im yy yyy s , 12 1 512 mm im mm ims yyyy , 对函数 T关于 yi求偏导,得: 12 3 4 3 5 ,min 1.1 ,min,1 1.1 ,1 1.1 i i i i Tii y mim m s 由于 1min 2101ln10 k k ,有 1min min 2 min 1ln 0 kyk y ,所以 0 i T y ,因此 T是单调递增函数。 b) 函数 T的值域是[1, 10] 由上面的证明可知:因为 T是单调递增函数,又 有 1101 i y ims ,因此可得: 1min 2min min 10101010 10 10 11 10111111 kky yT 由 1minmi 10 10k n ,21min 10kk ,可知 1 min2min 01ky k ,则: 1min 2min 10 1101 11 1011 kyk T 令 1 10 10 10 10 11 11 f (0.5 1 ),易知 Copyright © 2012 Hanspub 123 一种基于属性划分的软件可信性度量模型研究 f 是关于 的单调增函数,因此有 10f 。故 推得11。 0T c) 函数 T满足增长性 设: 1min 2 62 min min k k yy , 1min 2min 12 2 712 min im kky i yy yyy m s , 12 2 812 mm im mm ims yyyy , 对T求关于 yi的二阶偏导数,则有 2 126 3 27 23 8 , min 1.1 1,min,1 1.1 1,1 1.1 ii i ii i Tii y mim m s ims 当1时, 2 2 i T y 是一个分段函数,且其符 号取决于参数 与的取值,由于 1 k2 k 1min 10 min 10k,21min 10kk 且 1min 1 ln10 k 210 k,因此有 2 20 i T y 。 d) 函数 T满足敏感性 通过计算,可得可信度T对每个可信子属性的敏 感性为: 12 3 4 3 5 ,min 1.1 ,min,1 1.1 ,1 1.1 i iii i ii yi T yy Tii yT T ymims T m 从上式可以看出,由于实际中可信关键属性的权 重 远大于非关键属性的权重 ,因此 T对关键属性 的敏感度要高于非关键属性。此外,该式反应了可以 通过调节参数 与的大小来控制最小关键属性的 度量值与权重对 T的影响程度, 越大,最小关键属 性的权重对 T影响越大, 越小,最小关键属性的度 量值对 T的影响越大。 1 k2 k 1 k 2 k 4. 简单的应用实例 为了验证我们上面提出的改进模型的正确性和 优越 七组数据对比中,可以得出如下结论: 组数据对 据与第 5组数据,当具有最小度 量值 k1与k2的作用, k1越 表2对原模型(2) 和改 用原模型与改进后的 模型 y1/α1 y223 3411k2 T 性,本节对软件可信性度量模型(3)给出了一个简 单实例,设m = 3,s = 1。取 α = 0.9,β = 0.1,根据不 同的子属性度量值及其权重的取值,给出计算结果如 表1所示。 从表 1的 1) T对任意的 yi都是单调递增的,但显然从前四 比中可以看到,T对关键属性的敏感程度要 大于非关键属性,而对具有最小度量值的关键属性(y3) 的敏感度则最高。 2) 对比第 1组数 的y3的权重从 0.3 调整为0.2 时,按照模型的原 意,在参数 k2的控制下,可信度量值应该是低于 4.78 的,但由于在权重调整时,同时将关键属性y2的权重 调整为了 0.5,因此得到5.55的结果,高于 5.95,这 是符合软件运行实际情况的。 3) 最后两组数据分别反应了参数 大,最小关键属性的权重对 T的影响度越高,k2 越小,最小关键属性的度量值对 T的影响越大,因此 对照第 1组数据,当 k1,k2分别调整为 3.4 与0.01 时, T度量值都有了不同程度的下降。 取ε = 0.78,k1 = 3.2,k2 = 0.03, 进后的模型(3)做了比较。 表2中T1与T2表示分别应 计算得到的软件可信度量值,对于第 1组数据, Table 1. Experimental results between T and the parameters 表1. T与各参数关系实验结果 /α y/α y/β k 18/0.3 8/0.4 6/0.3 8/1 3.2 0.03 4. 78 28/0.3 9/0.4 6/0.3 8/1 3.2 0.03 4.94 38/0.3 8/0.4 6/0.3 9/1 3.2 0.03 4.80 48/0.3 8/0.4 7/0.3 8/1 3.2 0.03 5.00 58/0.3 8/0.5 6/0.2 8/1 3.2 0.03 5.55 68/0.3 8/0.4 6/0.3 8/1 3.4 0.03 4.67 78/0.3 8/0.4 6/0.3 8/1 3.2 0.01 4.57 Table 2.Results of the comparison of the original model T1 and y1/y2/αy3/α3 y4/β1 T1/T2 improved model T2 表2. 原模型T1与改进模型 T2比较结果 α1 2 1 8/0.3 8/0.4 6/0.3 8/1 4.78/4.78 2 8/0.3 8/0.4 5/0.3 8/1 4.61/4.56 3 8/0.3 8/0.4 6/0.35 8/1 5.56/5.2 Copyright © 2012 Hanspub 124 一种基于属性划分的软件可信性度量模型研究 Copyright © 2012 Hanspub 125 易得 1 min2min80.7kky ,此时1 = 8。 2组,y3的度量值变为 5. 结束语 本文通过对文献[1 ]中提出的软件可信性度量 型的 有TT2 = 4.7 观察第 5,第3组数据,y3权 重变为 0.35时,原模型中控制因子 ε仍然是 0.78,而 改进后的模型中控制因子由于是ymin 与αmin的函数, 分别变为0.81与0.94,这样的度量结果相比较原模型, 更加强调了最小关键属性的度量值与权重对整个软 件可信性的影响,由表 2第2、3行可以看出,T2对 于T1有了不同程度的下降,即从 4.61 和5.56分别降 到4.56和5.2,这是符合软件实际情况的,因此,我 们的度量模型更具有优越性。 模[ 深入分析,针对原模型中与软件实际情况不相符 的事实,提出了一种改进的基于属性划分的数学模 型,该模型强调了最小度量值的关键属性及其权重对 整个软件可信性的影响,对比原模型,更加符合实际 情况,具有一定的优越性。下一步的工作主要侧重于 如何确定区分关键属性与非关键属性以及各个属性 权重的确定。 参考文献 (References) [1] H. W. Tao, Y. X. Chen. A metric model for trustworthiness of softwares. 2009 IEEE/WIC/ACM International Conference on Web Intelligence and Intelligent Agent Technology, 15-18 Sep- tember 2009: 69-72. [2] J. P. Anderson. Computer security technology planning study. ESD-TR-73-51. Vol. 1, AD-758 206, ESD/AFSC, Hanscom AFB , Bedford, 1972. [3] ISO/IEC. Information technology-security techniques-evaluation criteria for IT security. Part 1: Introduction and General Model, 2005. 4] A. Algirdas, J. C. Laprie, R. Brian, et al. Basic concepts and taxonomy of dependable and secure computing. IEEE Transac- tions on Dependable Secure, 2004, 1(1): 11-33. [5] 王怀民, 唐扬斌, 尹刚等. 互联网软件的可信机理[J]. 中国 科学: E辑, 2006, 36(10): 1156-1169. |