近年来,云计算、人工智能(AI)、机器学习(ML)、物联网(IoT)和大数据在很大程度上推动了企业运营方式的演变。值得关注的是,所有这些技术都是由软件驱动的。有鉴于此,防止和减少软件漏洞以维持企业健康发展至关重要。
为了更好地推动软件安全的发展,让我们来参考一下新思科技软件质量与安全部门(Synopsys Software Integrity Group)的预测。这些预测将有助于企业保持警惕,最大限度地减少软件安全风险。
设计和标准的安全性
大部分软件仍然主要是在没有正式标准和流程的情况下编写的。与构建桥梁不同,软件开发并不是标准化、可重复的工作。开源持续了很长时间,现在已经司空见惯。可以想象,更多的信任将放在基于开源软件的通用构建模块中。此外,垂直领域软件开发标准将更快出现。
当生命依赖于正确的软件执行时,我们会将更多的努力放在标准、可审计性和问责制上,这一点在汽车和飞机内的安全关键系统上已经得到充分证实。这些标准可能是自下而上的,也可能是由政府监管的。金融服务、区块链以及移动解决方案安全性等领域也有机会执行这样的标准。
2019年,我们可能看到垂直市场组成联盟,以建立更多面向特定领域的安全标准,并改善信任和互换性。其中大部分可以基于开源组件构建。
继续向云迁移
随着经济的增长,各大企业也面临着新的竞争压力。这迫使企业需要重新武装自己。数字化如火如荼,新的云环境也正在改变企业部署APP的方式。因此,企业需要在APP应用和软件安全方面保持警惕。
我们预计将会有更多投资会放在云端安全上。此外,给员工普及应用安全和软件安全的概念以及这方面的培训需求也会越来越多。
AI和ML渗入到我们生活
很多人会意识到AI和ML已经在他们周围出现,对生活、家庭、健康及工作的决策等都有影响。那AI/ML能为软件安全和网络安全做什么呢?这让人期待。网络安全很重要的一部分是数据关联和分析。这就需要具备基于多个不同的数据源(犹如海底捞针)来查找单个威胁和威胁活动以及执行威胁行动者归因的能力。
AI/ML可以通过数据建模和模式识别来提高以上过程的速度、规模和准确性。然而,很多刊出的文章都对此表示怀疑和担忧。有的时候,企业可能会有一种安全的假象,但是事实并非如此。我们还需要更多时间和投入完善数据模型和模式识别,以确保AI/ML技术能够有效提升软件安全。
我们应该期待看到大公司继续投资AI/ML技术。与此同时,宣传AI/ML能力的初创企业也将在2019年继续崛起。但是,可能还需要几年时间才能完全实现AI/ML的真正愿景。
IoT攻击仍然是一个困扰
在亚太地区,许多国家正在推进智慧城市和智能国家计划。这也为新一轮的IoT网络攻击提供了机会。不法分子可以利用数据中毒进行攻击,其中的错误信息将通过部署在目标城市或全国范围内的传感器影响决策。
我们还将看到一些旧问题仍然存在:硬编码凭证和未修补的组件,没有良好设计的空中下载技术(OTA)更新以及持续更新策略。
针对医疗和零售业的攻击将增多
原因是这些行业正在收集的数据的价值正在增加。我们必须进行投资以保护医疗、零售及其他行业的数据。需要再次强调的是:安全培训必不可少。
对开发人员使用第三方应用程序编程接口(API)的敏感性提高
它是绝大多数IT企业的盲点,类似于十年前的开源使用。大多数公司都了解确保他们发布的API免受外部攻击的重要性,但很少有公司会通过从内到外调用第三方API来跟踪他们自己的代码在Web服务的使用。
依赖第三方服务的方式还存在其它法律和业务风险。公司还必须考虑到他们可能无意中传递到防火墙外的未知和不受信任来源的机密数据。
从数据到决策
现在有许多质量和安全解决方案,每个都有自己的目的、优势和产生的数据。可能是渗透测试、日志监控和入侵检测,或自动化软件安全测试解决方案。虽然功能和技术不断发展,但它们也会创造出更多的信息和数据点。
我们很容易淹没在信息海洋中,而忽视了一些必需品。其实,关键是将这些数据融合在一起,以制定基于风险和业务的决策。一方面,我们面临的挑战在于“海底捞针”;另一方面,我们需要组合来自不同方法和域的数据,以了解整体状态。
2019年,我们需要的并不是更多数据,而是更好的决策支持。
最新版Coverity 静态应用安全测试解决方案
与七大趋势预测同时发布的,还有新思科技最新版Coverity 静态应用安全测试(SAST)解决方案。新思科技软件质量与安全部门高级安全架构师杨国梁表示,2019年,我们需要工具和支持将安全性贯穿到整个软件开发周期、公司文化和业务流程的各个方面,从而确保公司更快地构建安全、高质量的软件。在此基础上,新思将整合公司所并购的各类质量与安全类产品,整合出一套包括Coverity、Black Duck等产品在内的,基于公有云的安全测试平台,汽车、金融、物联网、嵌入式等行业将成为关注的重中之重。
新思科技软件质量与安全部门高级安全架构师杨国梁
目前,应用程序漏洞仍然是网络攻击最常见的攻击载体。这意味着企业应用程序安全团队必需能够评估其不断增长、且日益多样化的应用程序中的漏洞,同时最大限度地降低对其开发速度和业务运营的影响。因此,最新版的Coverity解决了企业应用安全开发团队日益增长的三大需求:可扩展性、多种编程语言和框架支持,以及全面的漏洞分析。
- 为企业安全团队提供可扩展的SAST
Coverity使得企业能够将SAST工作扩展到大型应用程序组合。最新版的Coverity包含一项名为‘无需构建即获得分析结果’的功能,使安全团队能够快速、容易地分析成千上万的应用程序。安全团队现在可以简单地将Coverity指向源代码项目,并在几秒内开始分析,而无需先为每一个应用程序执行完整的构建操作。与其他SAST解决方案不同,Coverity会自动检测项目类型,并获取通常在构建过程中包含的从属关系。使用这项新功能可确保分析工作的全面性,并且无需手动指明各种从属关系。
- 广泛的编程语言和框架支持
用于构建应用程序的编程语言和框架的生态系统正在扩展,因此SAST工具需要了解每一种语言和框架的操作方式才能有效。为了满足具有不同应用程序组合的企业需求,新思科技大大扩展了Coverity的编程语言和框架覆盖范围。最新版的Coverity增加了对TypeScript、 .NET Core、Swift 4.1和Ruby on Rails的支持,以及针对Java、 JavaScript、C# 等50多种不同框架的支持,其中包括Angular、React和 Vue。
- 全面的漏洞分析
Coverity分析引擎利用各种技术以不同方式来查看代码,从而找到最具可操作性和关键性的安全漏洞。为了应对日益普及的框架,最新版的Coverity含大幅度改进的框架分析功能,使得用户能够更加准确地检测客户端和后端web服务的漏洞。Coverity现在还可以分析JavaScript框架模板,这是一种流行的客户端数据绑定方式。Coverity现在可以扫描从这些模板中动态生成的HTML,以查找其他跨站点脚本漏洞。