从企业安全文化看应用安全的七宗罪
作者: 日期:2014年02月28日 阅:3,172

webappman

为什么安全开发程序完全相同的两个企业,最后开发出来的软件产品的安全性天差地别?根源在于企业文化。应用安全专家Jeff Williams近日撰文指出人们经常陷入技术和流程的怪圈,而忘记了文化才是应用安全的真正“杀手”。安全牛编译整理如下:

对应用安全最常见的“膝跳反应”是查找和修补漏洞,但这种被动的做法除了成本高昂外,并不能从根本上改进代码开发环节的安全性。这时候我们应当跳出思维惯性,将软件漏洞看做是软件开发企业深层次问题的一个症状。

过去15年间,我为大量不同规模的软件企业提供过服务,帮他们提升应用安全水平。我注意到这样一个现象,应用安全措施完全相同的两家软件企业,最终产品的安全性却有云泥之别,一家企业能够不断提升,进而完全避免某些类型的漏洞,而另外一家企业则年复一年地重复同样的错误。

造成这种差异的关键是企业文化,在一些企业中,安全受到高度重视,成为所有决策的一部分;而在另外一些企业,安全被看做是生产力杀手,只会浪费时间。这两种截然不同的企业安全文化中的后者,将会损害甚至摧毁应用安全流程和措施,以下就是这种企业文化下应用安全的七宗罪:

一、冷漠。2002年比尔盖茨起草了著名的“可信计算”备忘录,明确指出“可信计算是最高优先级的安全工作,我们必须领导IT行业进入可信计算的全新时代。”微软的例子表明,只有企业高管真正重视安全,才能真正推动应用安全的进步。

二、隐秘。开放web应用安全项目OWASP的使命是:“让软件安全可视化,这样才能让全球的个人和组织能够根据现实的软件安全风险作出准确的决策。”只有在企业内部让安全问题可视化,才能确保开发团队和业务部门达成共识。而在安全问题上的任何不透明、不直观甚至隐秘性,都会导致困惑和决策的盲目,甚至给安全开发造成负面影响。当发现漏洞时,你是选择悄悄掩埋还是借机提升应用安全?

三、健忘。应用安全是一个迭代过程,开发者建设安全系统,攻击者挑战这个系统,最终系统的安全性在战斗循环中迭代改进。但是,很多机构都没能从错误中获得经验和提升,他们的开发者年复一年地犯着同样的错误。而那些能持续改进的公司则能通过标准、培训等手段从错误中不断吸取经验教训。

四、轻浮。一些企业让开发团队采用那些没有经过任何安全分析验证的新技术,例如开源代码库、新框架或者新产品。最终,当新技术中的漏洞曝光时,修补工作从技术上和合同上来讲都太迟了。在跟新技术“上床”之前,您最好进行完善的安全背景调查。

五、创意。安全是枯燥和呆板的。每次我们遇到所谓定制化的客户安全控制,都会发现一大堆严重的安全问题。正如密码学不能“个性化”一样,认证、访问控制、输入验证、编码、登录、入侵检测等技术也最好别“私人定制”。

六、抱怨。当发现安全漏洞时,一些人喜欢抱怨开发人员。从经济学理论来看,这似乎行得通,毕竟程序员是预防安全问题的一线人员。但事实上,将应用安全问题怪罪到程序员头上只会适得其反。责怪只会让程序员对安全问题心生反感。(关于如何避免应用安全与应用开发之间的脱节,请参考安全牛文章:程序员是应用安全的第一道闸

七、盲信。很多机构都相信通过一次快速扫描或者统计分析就能判断他们的应用是否OK,从来夜没有了解过他们真正面对的问题。例如访问控制是安全防护的关键环节,但大多数工具根本无法测试这个环节。因此你需要不同的策略来确认必要的安全措施是否到位和有效。

最后,建议读者重新审视您的软件开发文化,问问你自己,您是否让安全开发变得简单而有趣。记住:任何一种工具和流程都无法确保代码安全,除非你建立了正确的安全开发企业文化。

申明:本文系厂商投稿收录,所涉观点不代表安全牛立场!


相关文章