拒绝“马后炮”:积极的应用程序安全需要四大要素

日期: 2014-01-28 作者:赵长林 来源:TechTarget中国

攻击者在成功利用了漏洞后,因跨站脚本攻击和SQL注入攻击而造成的安全事件已经不再是什么新鲜事儿了。为了防止此类攻击的发生,安全团队是否还抱着准备“亡羊补牢”的心态? 高效的安全项目和团队不仅应当提供反应性的措施,而且还要积极地与内部的信息团队协作,构建“先发制人”的软件安全。信息系统和软件代码的有效安全项目往往依靠两种自动的安全测试:静态安全扫描测试和动态安全扫描测试。 静态扫描一般在代码的开发期间进行。

此过程借助威胁建模和分析,对静态代码进行扫描,从而发现安全漏洞。动态扫描是对工作环境中的实际代码进行的扫描,它在代码运行期间查找漏洞。还有第三类测试,即人工渗透测试,它主要通过白帽分析进行人为……

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

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

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

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

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

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

攻击者在成功利用了漏洞后,因跨站脚本攻击和SQL注入攻击而造成的安全事件已经不再是什么新鲜事儿了。为了防止此类攻击的发生,安全团队是否还抱着准备“亡羊补牢”的心态?

高效的安全项目和团队不仅应当提供反应性的措施,而且还要积极地与内部的信息团队协作,构建“先发制人”的软件安全。信息系统和软件代码的有效安全项目往往依靠两种自动的安全测试:静态安全扫描测试和动态安全扫描测试。

静态扫描一般在代码的开发期间进行。此过程借助威胁建模和分析,对静态代码进行扫描,从而发现安全漏洞。动态扫描是对工作环境中的实际代码进行的扫描,它在代码运行期间查找漏洞。还有第三类测试,即人工渗透测试,它主要通过白帽分析进行人为干预。真正有效的应用程序安全项目利用所有的安全扫描测试,其中静态安全和动态安全扫描要深入到应用程序的开发过程中,并在必要时使用人工渗透测试。

有效的自动代码扫描策略必须与IT的开发团队无缝对接。真正有效的自动安全项目的关键成功因素是,要求IT开发团队付出的额外工作达到最少。在应用程序的开发周期之外的代码扫描会占用开发时间,会被认为是额外的不受欢迎的任务。

企业在成功利用安全代码扫描项目时,面临的主要障碍是:

人工扫描

要求通过API或通过Web入口人工上传代码的代码扫描,都要求额外的开发时间和工作。有时,还要求专门的编译指令,而且为使扫描运行,还需要特定的软件版本。

人工过程

开发周期之外的代码扫描需要建立一个扫描的时间表和再次扫描的持续时间。企业需要专用资源来管理项目,设置提醒,并按照规定日期完成扫描。

代码范围

谁都无法测试不知道的东西。开发周期之外的测试要求开发者上传代码,而且它依赖开发者上传正确的代码进行静态的代码扫描。要验证所有的库和代码都能够正确上传对于维持程序安全性的团队来说是几乎不可能的任务。

真正有效的应用程序静态代码扫描和动态代码扫描项目有四大要素:

1、本地扫描

链接到源控制系统的本地扫描项目现在已经不需要开发者花费时间找到代码、进行专门编译、上传代码了。正相反,代码的正确位置是在源控制树中选择的,而且可以为所有的子文件执行常规扫描。本地的动态扫描解决方案还可以使动态扫描更容易,因为安全专家不需要为扫描测试供应商的外部工具变更防火墙规则就可以访问测试网站。

2、连续扫描

可以设置本地系统进行连续扫描,这种扫描不要求人工干预和上传代码。还可以配置本地系统进行更频繁的扫描。

3、与开发周期紧密集成

与源控制和建设系统高度集成的扫描项目可以使代码扫描充分利用许多源控制和建设系统的特性。例如,在开发者的程序版本与主代码库进行集成之前,高级开发团队可以配置建设系统,用以传递某些测试入口。我们可以设置代码的安全扫描测试,使其成为类似于性能测试或单元测试的测试入口。

4、与缺陷跟踪系统紧密集成

现代的源控制和建设系统还应与缺陷跟踪系统紧密集成,只有这样,软件缺陷就可以与特定的代码版本联系起来。如果一个代码扫描项目能够自动创建当前缺陷管理系统的缺陷,就可以节约并无缝地集成到团队的缺陷库中。

有效的主动安全要求代码扫描尽可能平稳地影响应用程序的开发过程。安全扫描在运行时越类似目前的开发过程,开发团队就越容易成功地连续地采用安全扫描。

作者

赵长林
赵长林

TechTarget中国特邀作者

相关推荐

  • 敏捷开发时代:软件安全测试需更灵活

    持续的测试方法已经日益重要,其动态性就像新的开发过程一样。幸运的是,企业越来越明白这种不断增长的需要,并且重新思考整个过程……

  • 关于软件开发安全的CISSP秘籍(二)

    对于软件问题,最好的办法是在一开始构建软件开发安全流程。然而,软件程序通常将功能摆在首位,而不是安全性。事实上,从一开始将安全构建到每个软件中要比随后增加安全性更为有效。

  • 关于软件开发安全的CISSP秘籍(一)

    对于软件问题,最好的办法是在一开始构建软件开发安全流程。然而,软件程序通常将功能摆在首位,而不是安全性。而其实,从一开始将安全构建到每个软件中要比随后增加安全性更为有效。

  • 渗透测试人员必备技能:实施渗透测试的HTTP方法

    本文将讨论一些实施渗透测试时的重要HTTP方法,旨在帮助没有Web应用渗透测试知识的渗透测试人员能够充分利用已有工具,成功地实施端到端的Web渗透测试。