扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
攻击者在成功利用了漏洞后,因跨站脚本攻击和SQL注入攻击而造成的安全事件已经不再是什么新鲜事儿了。为了防止此类攻击的发生,安全团队是否还抱着准备“亡羊补牢”的心态?
高效的安全项目和团队不仅应当提供反应性的措施,而且还要积极地与内部的信息团队协作,构建“先发制人”的软件安全。信息系统和软件代码的有效安全项目往往依靠两种自动的安全测试:静态安全扫描测试和动态安全扫描测试。
静态扫描一般在代码的开发期间进行。此过程借助威胁建模和分析,对静态代码进行扫描,从而发现安全漏洞。动态扫描是对工作环境中的实际代码进行的扫描,它 在代码运行期间查找漏洞。还有第三类测试,即人工渗透测试,它主要通过白帽分析进行人为干预。真正有效的应用程序安全项目利用所有的安全扫描测试,其中静 态安全和动态安全扫描要深入到应用程序的开发过程中,并在必要时使用人工渗透测试。
有效的自动代码扫描策略必须与IT的开发团队无缝对接。真正有效的自动安全项目的关键成功因素是,要求IT开发团队付出的额外工作达到最少。在应用程序的开发周期之外的代码扫描会占用开发时间,会被认为是额外的不受欢迎的任务。
企业在成功利用安全代码扫描项目时,面临的主要障碍是:
人工扫描
要求通过API或通过Web入口人工上传代码的代码扫描,都要求额外的开发时间和工作。有时,还要求专门的编译指令,而且为使扫描运行,还需要特定的软件版本。
人工过程
开发周期之外的代码扫描需要建立一个扫描的时间表和再次扫描的持续时间。企业需要专用资源来管理项目,设置提醒,并按照规定日期完成扫描。
代码范围
谁都无法测试不知道的东西。开发周期之外的测试要求开发者上传代码,而且它依赖开发者上传正确的代码进行静态的代码扫描。要验证所有的库和代码都能够正确上传对于维持程序安全性的团队来说是几乎不可能的任务。
真正有效的应用程序静态代码扫描和动态代码扫描项目有四大要素:
1、本地扫描
链接到源控制系统的本地扫描项目现在已经不需要开发者花费时间找到代码、进行专门编译、上传代码了。正相反,代码的正确位置是在源控制树中选择的,而且可 以为所有的子文件执行常规扫描。本地的动态扫描解决方案还可以使动态扫描更容易,因为安全专家不需要为扫描测试供应商的外部工具变更防火墙规则就可以访问 测试网站。
2、连续扫描
可以设置本地系统进行连续扫描,这种扫描不要求人工干预和上传代码。还可以配置本地系统进行更频繁的扫描。
3、与开发周期紧密集成
与源控制和建设系统高度集成的扫描项目可以使代码扫描充分利用许多源控制和建设系统的特性。例如,在开发者的程序版本与主代码库进行集成之前,高级开发团 队可以配置建设系统,用以传递某些测试入口。我们可以设置代码的安全扫描测试,使其成为类似于性能测试或单元测试的测试入口。
4、与缺陷跟踪系统紧密集成
现代的源控制和建设系统还应与缺陷跟踪系统紧密集成,只有这样,软件缺陷就可以与特定的代码版本联系起来。如果一个代码扫描项目能够自动创建当前缺陷管理系统的缺陷,就可以节约并无缝地集成到团队的缺陷库中。
有效的主动安全要求代码扫描尽可能平稳地影响应用程序的开发过程。安全扫描在运行时越类似目前的开发过程,开发团队就越容易成功地连续地采用安全扫描。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者