应用软件更要注意安全问题(3)

  通力协作

  编码 很长时间以来,由于各种各样的原因,信息安全的有关人员一直没有介入到软件的开发过程。而事实上,与开发人员一起对这个过程进行评审是信息安全人员最困难的工作之一,因为这需要对开发时采用的技术、编程语言等有非常深入的了解才行。

  好消息是,现在已经有了几个实用的商业软件可以帮助开发人员分析他们的源代码的安全性。开发人员和信息安全人员可以一起共同对这些工具的分析结果进行分析,并对分析工具发现的各种问题和可能带来的后果进行评估,从而改善软件的安全性。

  测试 正如前面所述,今天很多的安全测试不过就是攻击测试而已。甚至所谓的“应用攻击测试”也不过就是一种“黑盒子”测试,使用一些我们已经非常了解的攻击工具和技术从远程对软件进行攻击。

  但这是不够的。在软件测试领域,覆盖(Coverage)是一种比较普遍用来对测试效果进行评估的方法。覆盖包括很多方面,比如测试时运行过的代码占全部代码的百分比。

  根据覆盖有关的理论,除非有特别的原因,攻击测试只是安全测试的一个组成部分,它需要与代码检查、错误条件检查、边界检查一起共同保证软件的安全性,这才是一个完成的过程。

  这里,CIO的人需要发挥自己的作用。因为软件测试通常属于软件质量保证队伍的工作,而质量保证测试员更关注软件是否满足功能需求、是否符合有关的规范,换句话说,他们测试软件如何工作,而不关心软件如何被破解或者被别有用心的人滥用。

  为了充分测试应用软件的安全,除了功能方面外,测试计划和场景必须考虑攻击者如何进行攻击,这也是需要负责信息安全的人参与的地方。

  毫无疑问,应用软件安全这个问题很复杂,这里只是触及了皮毛。不过,最根本的问题是大多数CIO还没有意识到要介入到软件开发过程,从中发现机会与软件开发人员共同协作保证软件的安全。另一方面,为了有效地利用这个机会,CIO们也需要对技术发展有充分了解。目前需要在企业中建立一种合作的环境和氛围,而在实践中,我们听到CIO的人和开发人员用太多的“我们”和“他们”来称呼对方。很显然,要保证应用软件的安全,单靠开发人员,或者靠各种测试工具和产品都是做不到的,需要大家的共同努力。

linux

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wzzdfs.html