张 松,刘德海,王维国
(1.东北财经大学经济计量分析与预测研究中心,辽宁 大连 116025;2.东北财经大学经济学院,辽宁 大连 116025)
经过多年精心培育,我国涌现出一批诸如东软集团、文思创新、海辉软件、中软国际等综合实力较强的龙头骨干软件企业,已有521家企业收入超过亿元,其中收入超过10亿元的企业有40家。但是,我国软件产业在全球软件产业链中任然处于中下游环节,不仅仅是因为我国软件企业自主创新能力不足、缺乏核心技术和高端技术,在如何有效管理软件生产、控制软件生产过程和软件产品的质量过程中,我国的软件企业还都处于摸索阶段,这就成为我国的软件行业发展一大瓶颈。
软件作为一种纯数字化商品,在没有权威的第三方进行监督认证的情况下,软件生产商和用户在软件产品是否达到目标需求的问题上,往往各执一词。关于软件质量标准和认证,国内虽然制定了有限的软件技术标准,但无法从根本上对软件这种特殊商品实施有效的质量监督和认证。在国际上通行的做法是,软件的质量标准和认证工作,由独立的软件测试机构来完成。这些测试机构的行为是市场化的,但因为测试能力和权威性将直接关系到它们的市场影响力,所以他们的测试行为极其严格,力求将垃圾软件扼杀在摇篮中。目前国内做软件测试的机构,完全商业化操作的机构比较少,大部分是有某些政府部门下属的机构做一些软件产品验收工作。实施软件评测项目时,客户很多时候也没有接受管理软件开发流程的意识。比如,客户交给开发商一个项目,通过测试等质量掌控流程,可以将产品的质量保证在一个相对较高的水准,减少后续工作的成本。但是现在很多开发商和客户很短视,觉得只要现在没有出问题就可以了,不愿意在软件开发过程中,让测试介入的程度不深,这导致测试不完全,埋下了隐患。
而独立的软件第三方测试的出现,好处就是严格地掌控软件质量,减少维护成本。这不光对客户有好处,对开发商也有好处。在我国一些重要计算机软件应用领域,如金融、军方等,都在逐步将软件评测和质量监督,通过合同关系委托第三方承担。在已经进行的一些工程项目当中,都取得了确保软件产品质量的预期效果,逐步被软件用户和软件企业所认可。第三方测试有别于开发人员或用户进行的测试,其目的是为了保证测试工作的客观性。从国外的经验来看,测试逐渐由专业的第三方承担。同时第三方测试还可适当兼顾初级监理的功能其自身具有明显的工程特性,为发展我国软件工程监理制奠定坚实的基础。
当前国外大部分软件生产商和用户之间关于漏洞问题的研究主要集中于对软件漏洞的建模、漏洞市场的运行机制、出现网络安全事故中软件商的责任分担、网络攻击的成本和软件生产商给用户的最优补偿政策等。其中,Kannan和Telang等[4]构造了公开并且合法的漏洞市场模型,在该模型中漏洞信息是一种可以进行交易的商品,软件安全测试者和黑客通过投入才能发现漏洞信息,软件安全测试者发现后向信息中介商报告获得报酬,黑客发现漏洞信息后对软件使用者进行攻击而获得利益。August和Tunca[5-7]研究比较了软件生产商不同的责任政策(包赔、包修和制定安全水平)对社会福利的影响,分析了在短期和长期哪种责任政策能有效提高社会福利。Schneier[8-9]指出在软件漏洞攻击中,软件生产商应该就软件出现的问题承担相应的责任。Mckean[10]指出尽管产品的财产权转移了,但由于产品某些缺陷带来的损失,产品的生产商还是要承担一部分的。Png等[11]研究了在信息安全中产品使用注意事项、攻击者的攻击行动和具体执行力的作用。Beres等[12]探讨了网络安全事故中成本问题和软件生产商最优的补偿政策。在国内,王彤彤等[14]认为根据信息安全问题的经济分析结果进行管理策略的设计和选择,是实现信息安全的重要前提。张璇和廖鸿志等[15]提出结合信息熵和攻击面的软件安全度量方法,可以有效地利用信息熵的计算方法对软件攻击面的各项资源进行威胁评估,从而提供具有针对性的威胁指标量化权值。刘崯杰[16]、王颖等[17]对软件漏洞的分类进行了研究,提出了一个新的软件漏洞分类方法,再以复杂巨系统理论结合系统工程中定性定量的方法对软件漏洞进行了具体的分类。晁永胜和郑秋梅[19]通过分析软件组成成分之间的关联度获得相关的安全距离,在此基础之上生成安全依赖图,最后根据安全依赖图进行安全预测和分析。高星等[21-22]研究了公司的监测软件对软件使用者行为判断和软件使用者行为决策都存在失真的情况下监测软件的构建,用户在访问公司或上传信息等需要录入的信息在结构格式等存在错误时公司的监测软件给出判断,给出判断后再决定是否再由人工检测一遍,之后用户和公司分别得到支付。本文中主要考虑第三方软件监测机构对软件生产商提供的软件进行是否有漏洞的检测,检测结果反映给用户,用户以一定的概率相信软件测评机构给出的检测结果,用户处于接收信息的一方,而生产商处于输入信息的一方。综上所述,传统的研究主要考虑软件生产商和软件用户在软件存在漏洞时的博弈情况,研究了生产商的成本、收益、生产商的赔付政策,软件用户的购买决策。而缺少对于中国软件市场充斥大量具有安全漏洞软件的特殊国情考虑,以及独立的第三方软件测评机构参与时软件生产商和用户的互动行为研究。
在中国这样一个信息不对称的软件市场上,又没有规范的法律法规来规定软件的安全水平,尤其是知识产权保护水平有待提高市场上存在着大量的非法盗版软件,用户处于信息劣势的一方很容易因为软件安全漏洞而遭受损失。第三方软件测评机构能够给用户提供关于软件质量的信息,同时也可将软件检测出来的问题反馈给软件生产商,以便生产商能及时修补漏洞。软件测评机构的这一行为必将影响生产商和用户的策略选择,本文以三者之间的动态博弈为基础,研究均衡情况时的策略选择以及检测机构的判别结果对博弈双方的影响。
第一,商业侵占现象。简单来说,商业侵占现象主要表现为,消费者通常对能增加特性的生产商,首先出现在市场上的生产商,以及现有市场中占有支配地位的生产商给予回报,具有网络外部性的软件市场尤其是这样,因此一个软件平台生产商为了建立市场上的支配地位,同时不仅需要吸引直接用户,而且需要吸引那些辅助产品的生产商。使软件更安全后再发布不仅会消耗更多的资源,花费更多的时间和精力,而且还可能给那些辅助产品的生产商带来困难,所以软件生产商在建立他们在市场中的支配地位时,通常会忽略软件的安全性。这就是所谓的“周二就交付,到版本三再使其正确”。一旦他们抓住了赚钱的市场,为了进一步紧紧锁定他们的用户,他们才可能回去进一步增加软件的安全性。
第二,柠檬市场。软件市场的生产商缺乏动力使得产品更加安全再提供给用户的另一个原因是“柠檬市场”即心思的不对称。“柠檬市场”是讲:假设一个城镇有50台优质二手车(价值2000美元)和50台劣等二手车(价值1000美元)要卖,只有卖者知道车是好是坏,买者无法得到这个信息,那么这个市场的最后定价是多少呢?有人可能认为是1500美元,但是要知道在这种价格下,好的车的主任不会卖,这样最终市场的定价是将近1000美元,因为买家不愿为不能测量的品质买单,所以只有那些低质量的二手车才会出现在市场上。因此,软件市场上的信息不对称性,也会导致软件生产商更多的提供给用户的是那些低质量存在安全漏洞软件。
我们假设软件生产商对用户提供的软件分为有漏洞软件和无漏洞软件。生产商提供有漏洞软件的概率是ψ,无漏洞软件的概率是1-ψ。对于软件使用的用户来说由于信息是不充分的,用户并不能准确的判别自己买到的软件是哪种类型的软件。这里我们假设软件测评机构只提供给用户一种信息,即软件是有漏洞的还是无漏洞的。尽管软件测评机构是专业的测评组织,但由于各种不确定性软件测评机构可能会出现判别错误。这里考虑软件测评机构是独立的。令PD表示软件测评机构将软件生产商提供的有漏洞软件判为有漏洞的概率,PF表示将软件生产商提供的无漏洞软件判为有漏洞的概率。一般情况下,对于软件测评机构来说,PD的值比较大,PF的值比较小。
通常对于软件测评机构(Software Testing A-gency)来说,统计分析是其使用的重要方法来判别软件生产商的软件到底是有漏洞的还是无漏洞的。一般来说软件的检测使用的是统计的方法,该软件的某些值超过了临界值就认为它是有漏洞的软件。这个临界值可能是软件接入检测系统的时间,操作失败的时间等。
假定PD与PF服从参数分别为λF和λN的指数分布,λN>λF,这样PD和PF就具有下面的形式。
假设软件测评机构对测评的软件给出的判断为(有漏洞,无漏洞)(Have Bug,No Bug)。在测评机构给出的判断是有漏洞时,用户以ρ1的概率认为该软件时有漏洞的;当给出的判断是无漏的时候,用户以ρ2的概率认为该软件时有漏洞的。对于软件生产商来说提供的软件类型为(有漏洞软件,无漏洞软件)。
表1 软件生产商和用户的博弈收益矩阵
假设用户购买生产商提供的软件的价格是c,如果用户认为是有漏洞的需要生产商返工,此时要求生产商返工需要付出b的成本(如与软件生产商协调产生的间接成本);若用户认为是无漏洞的,当软件真实情况是有漏洞时,用户会因为该漏洞付出d的成本。软件生产商卖软件给用户获得的收益是u,有漏洞的软件的成本是β,无漏洞软件的成本是w,(w>β)。有漏洞的软件当用户认为也有漏洞时生产商返工的成本是σ。
软件测评机构将软件生产商提供的软件判别为有漏洞的概率:
其将软件生产商的软件判别为无漏洞的概率:
由贝叶斯法则可以算出,这个软件实际上是有漏洞当检测机构判为有漏洞和无漏洞时的概率是:
用户在检测机构判为有漏洞和判为无漏洞时的期望成本为:
用户总的期望成本:
相似的,在判为有漏洞和判为无漏洞时软件生产商期望收益有:
软件生产商总的期望收益:
综上所述,用户通过选择最佳的ρ1和ρ2实现成本最小化,而软件生产商则通过选择最佳ψ来使自己的收益最大化。动态模型博弈树见图1所示。
图1 软件生产商安全漏洞监测的动态博弈模型
根据纳什均衡的定义,对用户总期望成本方程(1)求ρ1和ρ2的偏导数:
对软件生产商期望收益方程(2)求ψ偏导数:
上式联立求解,即可得到该问题的纳什均衡解。其中,当出现下面14种情况时,无法求得纳什均衡。
表2 不存在纳什均衡解的14种情况
存在纳什均衡解时有如下4种情况:
在此均衡中,可求出最优的。因为在b<d,
均衡(Ⅲ):当b>d,β<w时,为纯策略纳什均衡:ρ1=0,ρ2=0,ψ=1。此时,双方的效用函数为:M*=c+d,H*=u-β
均衡(Ⅳ):当b<d,β<w-σ时,为纯策略纳什均衡:ρ1=1,ρ2=1,ψ=1。此时,双方的效用函数为:M*=c+b,H*=u-β-σ。
综上所述,四个均衡解的取值范围如图2所示。
结论1:有检测机构参与的软件生产商和软件用户的动态博弈中,存在四个纳什均衡解,分别为均衡解(Ⅰ)、(Ⅱ)、(Ⅲ)和(Ⅳ)。其中,在均衡解(Ⅱ)中,存在检测机构最优的PD,此时PD的值能使用户的期望成本达到最低。
结论2:在用户因软件生产商返工的时间成本b小于因软件漏洞带来损失的成本d时,其它参数固
图2 四种均衡取值范围的示意图
结论3:软件测评机构判断正确的概率可能不直接的影响软件生产商和软件用户的最终得到的支付,但在混合策略均衡时,该值的大小直接影响两者最优策略的选择,进而最终影响两者得到的支付。
比较均衡解(Ⅰ)和均衡解(Ⅱ)的M*大小:>0。由以上判断结果可得出,当其它参数固定检测机构给出的判断越准确的时候(即PD的值越大),博弈均衡相对来说更多的出现均衡解(Ⅱ),这时用户的成本也达到了最低。
在均衡解(Ⅲ)中,用户因软件供应商返工的时间成本b大于因软件漏洞带来损失的成本d,这时软件供应商以概率1来提供盗版软件。这可能该软件存在的漏洞无关紧要,即使遭到攻击用户的损失相对要求软件生产商返工协调的成本要小。
软件测评机构在软件市场中的作用不容忽视,它对软件检测水平的高低,直接影响着均衡时各个均衡状态所占的比例。软件市场中关于软件安全信息不对称的时,检测机构给出的判断越准确,用户所付出的成本越低。当博弈结果达到的是混合策略均衡时,生产商的最优决策是随着检测机构的判别水平的高低而变化的;在纯策略均衡时,生产商提供给用户软件都是有漏洞的,二者的策略选择与检测机构检测水平的高低无任何关系。
本文未考虑多次博弈的情况,当存在多次博弈时,软件生产商和软件测评机构就会考虑自身的声誉问题而调整自己现有的策略,另外还可以考虑软件用户因漏洞遭受损失而要求生产商赔偿的情况,第三方软件测评机构收益问题的确定。以上问题都有待进一步研究。
[1]第三方检测机构在产业服务中壮大——记北京软件产品质量检测检验中心[J].中国新技术新产品精选,2007,(03):78-80.
[2]Schechter S.How to buy better testing using competition to get the most security and robustness for your dollar[M]//Davida G,Frankel Y,Ress O.Infrastructure security.Berlin Heidelberg:Springer,2002:73-87.
[3]Ozment A.Bug auctions:Vulnerability markets reconsidered[C]//Proceedings of Third Workshop on the Economics of Information Security,Minneapolis,USA,May 13-14,2004.
[4]Kannan K,Telang R.Economic analysis of market for software vulnerabilities[C]//Proceedings of Third Workshop on the Economics of Information Security,Minneapolis VSA,May 13-14,2004.
[5]August T,Tunca T I.Who should be responsible for software security?A comparative analysis of liability policies in network environments[J].Management Science,2011,57(5):934-959.
[6]August T,Tunca T I.Network software security and user incentives.Management Science,2006,52(11):1703-1720.
[7]August T,Tunca T I.Let the pirates patch?An economic analysis of software security patch restrictions.Information.Systems Research,2008,19(1):48-70
[8]Schneier B.Information security:How liable should vendors be[J].Computerworld,2004.
[9]Schneier B.Software makers should take responsibility[N].The Guardian,2008-7-17.
[10]McKean R N.Products liability:Implications of some changing property rights.The Quarterly Journal of Economics,1970,84(4):611-626.
[11]Png I P L,Wang Qiuhong.Information security:User precautions,attacker efforts,and enforcement[J].Journal of Management Enformation Systems,2009,26(2):97-121.
[12]Beres Y,Griffin J.Optimizing network patching policy decisions.[M]//Gritzalis D,Furnell S,Theoharidou M.Information Security and Priuacy research.Berlin:Springer,2012:424-442.
[13]D’Amico A D.What does a computer security breach really cost?[R].Working Paper,Applied Visions Inc,2000.
[14]王彤彤,韩文报,王航 .基于安全需求的软件漏洞分析模型[J].计算机科学,2007,34(9):287-289.
[15]张璇,廖鸿志,李彤,等 .基于信息熵和攻击面的软件安全度量[J].计算机应用,2013,33(1):19-22+48.
[16]刘崯杰 .试谈软件漏洞的分类[J].电脑编程技巧与维护,2011,12:112-113.
[17]王颖,李祥和 .软件漏洞的分类研究[J].计算机系统应用,2008,(11):40-44.
[18]彭越,胡影,芦天亮 .基于攻击生命周期的WEB漏洞分类方法[C].中国通信学会学术工作委员会.虚拟运营与云计算—第十八届全国青年通信学术年会论文集(下册).北京:国防工业出版社,2013.
[19]晁永胜,郑秋梅 .基于模型的软件安全预测与分析[J].计算机工程与设计,2008,29(14):3669-3672.
[20]Nguyen K C,Alpcan T,Basar T.Security games with decision and observation errors[C]//Proceedings of 2010American control conference.Maryland,Baltimore,June 30-July 2,2010.
[21]Gao Xing,Zhong Weijun,Mei S.A game-theory approach to configuration of detection software with decision errors[J].Reliability Engineering &System Safety,2013,119:35-43.
[22]Gao Xing,Zhong Weijun,Mei S.Security investment and information sharing under an alternative security breach probability function[J].Information Systems Frontiers,2013,17(2):1-16.
[23]Cavusoglu H,Raghunathan S.Configuration of and interaction between information security technologies:the case of firewalls and intrusion detection systems.Information Systems Research 2009,20(2):198-217.
[24]韦韬,王贵驷,邹维 .软件漏洞产业:现状与发展[J].清华大学学报:自然科学版,2009,49(S2):2087-2096.