为了为软件开发过程建立安全保证,企业进行了长期的努力,就在2011年黑帽大会上,一个专家小组也表示,解决复杂的应用程序开发安全问题不容易。
该应用程序安全专家小组成员包括Verizon的Alex Hutton(Verizon数据泄漏报告的共同作者),Deere &Co.的John Deere部门的John D. Johnson,Adobe系统公司的Brad Arkin以及白帽安全(WhiteHat Security)的Jeremiah Grossman。他们认为企业在为软件开发人员进行安全意识培训,为高层管理人员强调软件安全的重要性,以及为早点儿发现开发过程中的错误而进行彻底的代码审查过程方面,需要更多创新的方式。
“像我们这样的制造公司,我们已经有了较长的软件开发周期,愤怒的客户也少了,而且我们有点儿慢;也许就像泰坦尼克开始转弯的时候,”John Deere的高级安全经理Johnson这样说道,“我希望我们在软件开发周期方面可以真正有一个大的预算,但我采取的方法都依赖于我们现在已有的东西。”
同样的编码错误——SQL注入和跨站点脚本(XSS)错误——还在制造问题,并成为许多网络攻击进入的中心点。Arkin,在Adobe观察安全改进已经好几年了,他表示,Adobe公司的软件是攻击者喜欢攻击的一个目标,这迫使Adobe加强过程并迅速采取行动,在各级业务中注入安全。
但是Arkin承认,改善软件开发过程是一项艰巨的任务。一个需要吸取的教训是,应停止在手动代码审查上花更多的时间和金钱,取而代之的应该是在改善其他过程方面进行投资。
“我们的产品中有上亿行代码,”Arkin说道,“我们根本不可能通过手动把这些代码都看一遍。”
所有的小组成员都提倡通过静态和动态代码分析工具对软件中存在的严重编码错误进行扫描和分析。Arkin认为,可重复的和可靠的代码测试在保持软件开发人员的士气上是很重要的。这使得开发人员和他们的公司可衡量改进的过程,他解释道。必须有优先编码错误修复进程,这样错误将被解决,且在开发过程结束前被快速解决,Arkin补充道。在开发团队间,Adobe有一个认证计划,可以实现软件安全教育。开发人员可以以他们自己的方式利用几十个24分钟的教程,并最终达到“黑带”认证。Arkin表示,该公司有一个80点安全计划,在很大程度上基于公司的培训计划情况下促进安全文化。
该小组还表示,获得高层管理人员的支持对软件代码的改进也很重要。白帽的CTO Grossman说道,信息安全方面的预算失准,导致一些企业忽视某些领域,比如软件安全。
虽然在整个IT预算中,网络的花费是最低的,而为开发人员提供的资金很多,但事实上,信息安全预算在网络层的花费最多,而用于创建安全的软件开发过程的最少。
“我们可以坐在这里并尝试得出最好的答案,但如果没有可以跟进的资源,我们还是得面对这些问题。”Grossman说道。