【TechTarget中国原创】软件开发安全应该从开发人员编写每一行代码的时候开始。
Intuit Inc.的副总兼CISO Jerry Archer说:“源代码分析是从概念阶段开始的。在我们到了架构阶段,我们就有了一个安全模式了。”
Archer在周二的2009年RSA大会专家讨论 “软件安全:源代码vs二进制代码分析”中说他们公司在软件开发生命周期中这两种技术都使用:Fortify Software Inc.的源代码分析和编译代码时使用的Veracode Inc.的应用漏洞分析服务。
参与讨论的专家包括Fortify的联合创始人兼首席科学家Brian Chess、Veracode的联合创始人兼CTO Chris Wysopal以及Oracle的CSO Mary Ann Davidson。
Wysopal说二进制代码分析可以测试将要运行的实际项目。他注意到公司不是总是拥有源代码,因为程序经常包括对DLL和现有函数库的调用。
另一方面,Wysopal说:“源代码分析的优势是你可以知道代码的那一行造成了问题。”
Chess说目的是经常发现你拥有的程序中的漏洞,这是典型的可执行请求二进制代码分析。
他说:“但是如果你想要构建安全产品,你需要和程序员用他们的语言讨论一下。这就是源代码。”
安全代码开发要求自动工具的结合。Archer说他们呢发现他们公司程序中存在40%到70%的漏洞。但是这个平衡要求不断地人工分析,因为结果总是受到“复杂商业逻辑”——也就是,自动工具不能标记的劣质的设计决定——的影响。
专家们说,学校是安全代码缺乏的最初原因。他们说大学培养的程序员不了解安全。
Davidson 说:“我们的供应链旧事大学。我们需要他们编写可防御的代码,它们应该遵从海军的精神——没一个海军都是一个步枪手。”
一位听众说:“问题是Johnny不会写代码。这些书没有价值。我们应该向学校和教授提出挑战问题。”
Davidson说产品经理和发布经理应该也接受安全代码的培训。
专家团建议企业应该让编写安全代码变得简单,而让不安全代码的编写更难。目前的状况是相反的。他们还建议进行SDLC的内部培训、工具和检查。
Archer 说:“每位开发人员都在Fortify和安全代码方面接受培训。他们知道如何编写安全代码。没有借口不这么做。”