安全领域一直在强调安全需要成为产品的内置属性,而不是在产品完成之后再加上安全的能力。因此,安全需要贯穿整个产品的开发周期。然而,即使完全遵守了安全的开发流程,人在编写代码的时候因各种问题难免会产生一些漏洞;尽管可以在开发的每个进度点进行安全测试,但是一旦检测出问题,再重新审阅代码进行修改无疑会减缓开发的速度。那能不能在代码编写的过程中就直接对代码进行安全检测呢? 在本月的RSAC上,美国新思科技公司( Synopsys, Nasdaq: SNPS )发布了Polaris软件完整性平台,使得安全能进一步贴近软件开发流程。 Polaris 软件完整性平台将新思科技软件质量与安全的产品和服务的强大功能整合到一个集成解决方案中,帮助安全和开发团队更快地构建安全、优质的软件。
新思科技软件质量与安全部门总经理 Andreas Kuehlmann 表示:" 为了有效保护应用程序免受日益增长的复杂攻击,企业需要在 SDLC 多个点中采用安全测试技术的组合。但是为了确保开发速度以保持竞争力,他们也需要能够与不断增速的软件开发流程相匹配的应用程序安全解决方案,并且可以扩展、可以与现有的开发基础架构无缝集成。在过去的几年中,我们开发了一系列差异化产品和服务,以满足市场上的安全测试需求。我们致力于推动这些解决方案的协同增效作用并且提升使用效率,Polaris 软件完整性平台有助于实现这个愿景。"
权威调研机构 Gartner 表明:“随着 DevOps 在快速交付和新 IT 支持功能的创新方面越来越受欢迎,对安全性和合规性的担忧也随之增加。安全和风险管理领导需要在不影响开发进程的情况下,使安全工具、流程和策略适应 DevOps 工具链。”
对开发者而言,Polaris有以下的优势值得一看:
1. 快速灵活部署
Polaris现在提供SaaS方案(今后将提供私有云和本地化部署),开发者只需要通过结合新思科技Code Sight® IDE插件,就能将应用程序安全性分析无缝集成到IntelliJ、Eclipse或Visual Studio IDE当中,从而以最快速度部署Polaris的安全能力。
2. 开发即时检测
Code Sight® IDE插件可以将新思科技的解决方案扩展到开发人员的本地工作环境,帮助开发人员在编写代码时直接查找并解决代码中的安全漏洞,不再需要切换工具,极大程度地避免了因为安全性而影响开发效率的问题。另一方面,Code Sight还提供eLearning课程,帮助开发者解决现有的问题并培训他们能在日后编写更安全的代码。
3. 检测预防左移
Code Sight® IDE插件在开发端为开发者提供代码安全的能力,而在中央服务器上则有分析引擎作为CI/CD管道的一部分,保障了安全性的同时依然确保安全不会影响开发效率。考虑到在开发过程中,即使单个函数、功能不存在代码安全问题,但多个函数、功能的交互却可能产生调用的安全问题,Polaris能将在服务器端对已编写完成的功能进行交互测试,发现交互之中的安全问题,从而将安全能力进一步左移,涵盖整个开发周期。
4. 安全工具集成
在服务器端,Polaris还有多种不同的安全工具供开发者使用。平台现有Coverity和Black Duck等分析引擎,提供部署管理、启动安全扫描、分析结果和协调修复活动的灵活性。另外,平台还有Jenkins, Jira, Red Hat OpenShift和Kubernetes等工具,提供自动自动化的安全测试以及合规能力。
5. 风险报告展示
之前困扰新思科技的客户的一个问题就在于新思科技拥有太多的分析引擎以及工具,却缺乏一个更统一化的平台去管理和使用这些工具。如今,随着Polaris的出现,这个问题可以得到极大的改善。Polaris提供综合报告和交互式仪表板,将来自多个安全分析引擎的信息直观呈现给开发者。开发者可以通过这些信息追踪开发过程中的隐患,并且随着时间的推移逐步完善解决方案。另一方面,开发团队可以通过丰富的API将这些风险数据集成到现有的报告解决方案中。
尽管我们不断强调安全需要融入开发周期,安全性需要嵌入软件本身,但是安全与开发效率始终是会存在一定的两难处境:在开发的同时进行安全检测会影响开发效率,而开发完成再通过测试的方式发现安全问题又会有难以修复的困难。Polaris平台显然是在努力平衡两者的取舍,同时将安全性进一步左移,更早地将安全性注入软件。通过在开发者在编写代码的同时,就对代码的安全性以及功能的交互性进行检测,开发团队能在尽量不受影响的情况下提前发现和修改代码中的问题,减少在之后的安全测试中需要解决的问题。