我们最常听到源于跨站脚本和SQL注入攻击的安全泄露事故,这些事故通常发生在相关漏洞被成功利用后。那么我们应该怎样做来防止这种攻击呢?
一个全面的安全团队不仅能够对事件和漏洞利用提供响应措施,还能够积极配合内部信息系统团队来打造一个积极主动的软件安全态势。用于为信息系统和软件构建安全代码的有效的应用安全程序通常依赖于两种类型的自动安全测试:静态安全扫描测试和动态安全扫描测试。
静态扫描通常发生在代码开发周期中,其中,静态代码通过威胁建模和分析进行扫描,从中发现漏洞。而动态扫描是对生产环境的实际代码进行扫描,在代码处于工作状态时查找漏洞。还有第三种类型的测试—手动渗透测试,其中涉及白帽分析,需要人类参与。通常,有效的应用安全程序会利用这三种安全扫描测试,静态安全和动态安全扫描是作为应用开发生命周期的一部分,而渗透测试则在需要时使用。
有效的自动代码扫描策略必须尽可能地无缝连接IT开发团队。有效的自动安全程序的关键成功因素是,需要IT开发团队最少量的工作。在周期内工作和主动安全程序之间有着反比关系。所需的周期外工作越多,安全代码扫描程序部署和成功率就越低。在IT应用开发周期外的代码扫描通常需要开发进度以外的时间,并被视为额外的不受欢迎的任务。另外,调度和追踪过程以及保持状态还需要额外的努力。
成功部署安全代码扫描程序的主要障碍是:
手动扫描工作:代码扫描需要手动工作来上传代码(通过API或者通过门户网站),而这需要额外的开发时间和精力。在某些情况下,还需要特殊的编译指令,以及特殊的构建来支持这种扫描工作。
手动过程:开发过程周期外的代码扫描需要为扫描时间表和重新扫描之前的持续时间建立一个程序。这将需要专门的资源来管理这个程序,以确保提醒设置和扫描在规定日期完成。
(责任编辑:)