软件安全十诫(二)

日期: 2012-10-29 作者:Gary McGraw翻译:邹铮 来源:TechTarget中国 英文

关于软件安全十诫的一些解释和理由,按照先后顺序。   通过软件安全组(SSG)来建立软件安全计划(SSI)。BSIMM的51家企业都有一个活跃的软件安全组。如果没有软件安全组,是不太可能建立可行的软件安全计划(迄今为止,在该领域没有出现过例外),所以,在你开始软件安全活动前,创建一个软件安全组。

软件安全组有各种规模和形态,所有好的软件安全组都应该包含具有深度编码经验的人和具有架构经验的人。代码审查是非常重要的最佳实践,而执行代码审查,你必须完全理解代码(更不用说大量的安全漏洞)。然而,最佳代码审查人员有时候是非常糟糕的软件架构师,要求他们执行架构风险分析只会让他们一片茫然。请确保你的软件安全组……

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

关于软件安全十诫的一些解释和理由,按照先后顺序。

  通过软件安全组(SSG)来建立软件安全计划(SSI)。BSIMM的51家企业都有一个活跃的软件安全组。如果没有软件安全组,是不太可能建立可行的软件安全计划(迄今为止,在该领域没有出现过例外),所以,在你开始软件安全活动前,创建一个软件安全组。软件安全组有各种规模和形态,所有好的软件安全组都应该包含具有深度编码经验的人和具有架构经验的人。代码审查是非常重要的最佳实践,而执行代码审查,你必须完全理解代码(更不用说大量的安全漏洞)。然而,最佳代码审查人员有时候是非常糟糕的软件架构师,要求他们执行架构风险分析只会让他们一片茫然。请确保你的软件安全组中有架构人员以及代码人员。渗透测试同样如此,渗透测试需要以聪明的方式入侵事物(但通常不具有深度编码技能)。最后,软件安全组将需要对数百名开发人员进行培训和指导,并直接与他们合作。沟通能力、教学能力以及良好的咨询都是必备技能,至少对于部分软件安全组工作人员而言。

  依赖采用BSIMM的风险管理和客观测量来定义SSI的成功,而不是“前十名名单”和漏洞数量。太多软件安全专业人士将软件安全视为“打地鼠”式的漏洞查找。企业应该意识到,发现漏洞并不没有创建安全的软件,也不能以此与管理层沟通。事实上,面对不断扩大的安全问题清单,只会让高层管理人员感到更加沮丧。如果你将所有时间花费在查找漏洞上,而不花时间来修复这些漏洞,这根本是徒劳无功。同样地,如果你花时间来修复安全漏洞,但又反复发现同样的漏洞,这仍然是徒劳。幸运的是,BSIMM为软件安全计划提供了一个极好的测量标杆。你可以将你的软件安全计划中的活动与同行进行对比,以确定你是遥遥领先、排在中间,还是最后(不要让自己沦为倒数)。BSIMM测量提供了对软件安全计划的详细快照,这让高层管理人员很容易理解。一些领先的企业使用BSIMM测量来追踪进展情况,并为设置软件安全计划战略提供真实的数据。对于你的企业而言,需要何种程度的软件安全性?这个问题问得好。所幸的是,一些你的同行可能知道。

  与企业高管沟通时,直接将SSI的成功与业务价值相联系,并与公司的竞争对手作比较。正如上诉所说,如果你正面对着不断扩大的安全问题清单,而你没有想办法来解决这些问题,你可能会被视为是问题的一部分。企业高管希望看到你的软件安全计划所有方面的一些“关键绩效指标”。培训进展如何?你的开发人员学会了如何在最开始避免漏洞吗?你的漏洞密度比是?也就是说,与六个月前相比,在相同单位内,漏洞数量有所下降吗?每当你的开发团队整合新技术堆栈时,是否会出现大量安全漏洞?当你发现和解决架构问题或者修改了的要求时,你展示了这将会为你省下多少苦恼和金钱吗?与去年相比,通过最近的生命周期渗透测试,你是否发现问题变少了?(应该是这样)。最后,因为软件安全计划具有多个活动部件,BSIMM测量是测量你自己的最可靠的方法。高层管理人员喜欢BSIMM,并能够即时掌握其效用。

  创建和采用SSDL方法,如微软SDL或者Cigital Touchpoints,这些方法整合了安全控制(包括架构风险分析、代码审查和渗透测试)以及比他们自己运行的工具更了解软件安全的人员。因为很多公司都在做软件安全,所以存在很多不同的SSDL。并不是所有公司都有正式化的SSDL,但他们应该有。你应该从我的书《软件安全》以及微软的SDL借鉴一些想法,再加上一些OWASP和SAFEcode的想法。阅读BSIMM,看看其他公司正在做什么。主要是要认识到,我们知道现在应该如何做软件安全,这个领域已经很成熟。首先,你需要用代码审查(最好使用工具)来查找漏洞,用架构风险分析来找出问题,用渗透测试来找出容易忽略的漏洞。请确保当你使用这些工具时,不要盲目地使用它们(或者将这些工具扔给不知所措的开发人员)。请记住这一点:如果所有的开发人员在没有帮助的情况下,能够直接利用安全工具的结果并且修复安全漏洞,他们将不会在最开始制造漏洞。你至少需要一名比这些工具更聪明的安全专业人士。真的是这样,如果你需要确定和建立SSDL,就去寻求帮助,有很多安全顾问靠这个吃饭。

翻译

邹铮
邹铮

相关推荐