软件安全设计风险管理论文

时间:2022-04-08 10:54:05

导语:软件安全设计风险管理论文一文来源于网友上传,不代表本站观点,若需要原创文章可咨询客服老师,欢迎参考。

软件安全设计风险管理论文

1软件安全问题日益突出

随着互联网的触角深入到生产生活中的各个层面,软件已经不像以前那样只是支持办公和家庭娱乐这两大主题了,而是成为现代商业的灵魂。软件安全问题主要围绕着软件漏洞和易被攻击脆弱点,它们都来自于软件的设计和实现。Internet催生了电子商务,移动互联网使得APP变得如火如荼,未来物联网也许可以将生活中的一切元素都纳入到通信网络中去。因此软件安全问题将成为计算机安全的核心,而非防火墙等网络硬件,或是诸如加密等手段。软件安全是一切计算机安全性问题的根源,如果软件行为出现异常,与之相关的可靠性、可用性等方面问题就会随之暴露。软件安全问题并不是互联网出现后才有的,只不过互联网是目前最容易攻击软件的途径罢了。

2软件安全的现状

2.1人们的认知

随着黑客攻击的新闻时常见诸媒体,人们对计算机安全问题有了一定认识。但不幸很多计算机安全人员和计算机教育培训人员都忽视了软件安全的问题。一味地推崇某种软件平台是安全的,单纯大力增加对网络安全硬件和软件的投入,这些做法是盲目甚至荒谬的。一切安全性都不是静态特性,也没有任何软件是绝对安全的。软件安全问题的关键节点是软件的设计。

2.2软件安全设计的先天不足

世界上知名的软件厂商并不是不了解软件安全设计安全性的重要性,而是商业模式让软件安全方面存在着先天不足。稍纵即逝的商业机会、敏捷的软件开发过程和短暂的软件开发周期使得安全性方面的设计在很多时候都是被舍弃的。随之而来的处理方式则是常见的penetrate-and-pach方法,即不停地补丁。这种做法从长远来看,其成本与作用远不及一开始就做好安全性的设计和审计。

3软件安全设计应引入风险管理

从项目管理的角度看,风险指损失或损害的可能性。软件项目涉及到的是:项目中可能发生的潜在问题和它们如何妨碍项目成功。风险管理则是对应软件项目生命周期内的风险的科学和艺术。软件安全性的设计与软件设计的其他一些质量性能是互相抵触的,例如冗余性、高效性。而软件开发过程中的风险管理与软件开发的诸如时间、范围、成本等因素也是相互抵触的。但是绝不能因为这些可能发生的抵触行为而放弃对安全性和风险管理的考虑,反而应该将软件安全性设计纳入到风险管理的范畴中去。事实表明,93%的失控项目都忽视了风险管理。

4软件安全设计风险管理的实施

目前国际上对软件安全方面的风险管理存在着一个共同的认知,那就是采用高质量的软件工程的方法论可以在一定程度上解决这方面的问题,欧美一些国家也在试图制定或修订相关的一些“通用准则”来指导软件安全性设计的实践。但是这只是从科学技术方面做出努力,我们可以学习借鉴。而在管理技术和艺术方面需要做出的努力则应该尝试本地化做法。完整的风险管理的过程应该包括以下几个环节:风险管理计划的编制、风险识别、风险定性分析、风险定量分析、风险应对计划编制和风险监督控制。将整个流程都走完的项目和企业都不多,一般来自于所谓的学院派。而时下大多数国内外企业的做法是将这个7个流程简化为谁来识别风险、谁来对风险负责这两个环节。原因则是上文所提到的先天不足所致。从技术上讲,风险管理的效益来自于潜在风险最小化和潜在回报的最大化。而这个技术的应用则一定需要经历风险定量分析的过程。在这个过程中,可以使用的主要技术是决策树分析、蒙特卡罗分析、PERT分析等等。这些技术都是建立在一定的数学和会计基础之上。而令人遗憾的是,很多决策者本身对这些技术的认知或理解欠缺,以至于会抵触这种方法。大多数做法是采用小团队开发小软件的做法,即采用访谈和敏感性分析来帮助风险定量分析。然而我们并不是要反对这种简化做法,只是一定不能在简化的做法之上再次简化或敷衍了事。首先要做的工作是做好需求管理,在建立一组需求输入的时候,一定要将安全性作为一个重要需求考虑进去。有一个比较好的方法是,在软件设计时采用螺旋模型,需求的输入可以在螺旋模型的各个生命周期中进行,而有关安全性的需求输入则最好是在最初的一个螺旋中进行。之后要做的工作是确定最大风险。不可避免的要使用风险定性和风险定量分析的各种技术和方法。这个工作一定要有软件设计师、项目决策者和用户的参与,采用头脑风暴和专家访谈是不错的选择。而这个工作恰恰是现实生活中中小企业乃至客户最容易忽略的。企业要考虑成本问题,而客户的参与往往难以落实,认为软件的设计和开发应该由软件公司负责,客户付款只关心最后软件是否可以使用。而一旦由于软件安全性问题造成了一定后果后将演变成各种纠缠不清的官司,这是企业和客户都不想看到的结果。

5结语

软件安全问题并非无可救药,软件安全设计的灵丹妙药是将风险管理深入到软件生命周期的各个时期中去,而且越早越好,利用科学的软件工程和项目管理的技术,构建安全的软件基础框架。软件企业和客户都应该提高对软件安全设计中的风险管理的重视。

作者:李建辉单位:湘西民族职业技术学院