应用软件更要注意安全问题
pygain 2007-05-31
在信息系统安全所涉及的方方面面中,有太多东西需要CIO、CSO们特别关注,面对来自各方面的提醒,很多人已经有些麻木了。但是,安全专家还是要再次提醒一下这些负责人,毫无疑问,有充足的理由证明,下面将要探讨的问题应该被列为他们的关注重点,这就是软件安全(也有一些人称为应用安全)。
CIO要介入软件开发流程
也许有人会问,这些年作为信息安全主要负责人的CIO、CSO们不是一直在测试应用系统的安全吗?为什么还要说他们根本没有考虑应用软件的安全呢?这里先进行一下解释。
这些年来,为了信息安全,CIO们的确已经慢慢接近这一层次,比如通过操作系统进入了网络层,最近也开始考虑应用层。但是,这里要说的是,这种“接近”太肤浅了。是的,我们曾经购买了各种各样的安全产品,我们安装了防火墙,安装了入侵检测系统或者入侵防护系统,还有个人防火墙、反垃圾邮件和防间谍软件系统、防病毒等等,我们一直在不停地购买和安装系统,我们希望某个产品或者某个软件组合能够保证我们业务的正常运营。
但是下面这个事实不可否认,今天我们的经营活动很大程度上是在应用软件的基础上开展的。尽管这些系统本身也在安全方面进行了充分的考虑,笔者也不提倡完全抛弃这些安全措施,但是我们不能希望他们能够提供我们需要的应用软件安全。
解决这个问题的唯一办法就是尽早动手,亲自参与到软件开发的流程中去,也就是进入软件安全领域,包括软件的设计、开发和软件安全性的测试等。
根据笔者的经验,由于采用了软件外包,在大型企业中软件开发工作不管是涉及的范围还是开发量都在减少,对企业而言,只要软件满足了这些企业的需求就可以了。因此,在大多数情况下,企业的CIO和软件的真正开发工作联系并不紧密,甚至可以说很少有CIO会真正介入到软件的实际开发过程中,除了在软件已经开发完成即将交付,需要对软件进行所谓的安全测试以外。这时的测试通常是攻击测试(Penetration Test),这正是目前我们在软件安全上做得不好的地方。
要保证软件的安全,就必须介入到从软件产品开发的早期直到软件的最终结束整个过程。现阶段,我们很难看到有人这么做,而事实上,的确需要这样的工具(或者服务)。
这听起来很简单但真正做起来却并不容易。这一点比较容易理解,因为在达到这个目标之前所需要跨越的障碍实在太多了。CIO手下的人,即使最合格的信息安全工程师,也很少能说在软件开发上非常精通,他们并不了解究竟有哪些技术能对此提供帮助,而另一方面,对于开发者而言,他们缺乏对现代的软件面对的攻击工具和技术的了解,不具备独立地开发出能够应对这些攻击的软件的能力。