NEWS

新闻动态

成分不清 哪来安全

作者:topsek   发布时间:2023-09-08 16:38:53

本篇我们就来谈谈应用安全如何来做“背景调查”,如何对你的应用进行“成份分析”,如何保证你的应用的组成成份各个“根红苗正”。

 

成分不清 哪来安全

01  安全需要"根红苗正"

          本篇我们就来谈谈应用安全如何来做“背景调查”,如何对你的应用进行“成份分析”,如何保证你的应用的组成成份各个“根红苗正”。

          我们先来看一组数据。2018年一年内,在开源社区内就已经发现出16,555个新的漏洞,而总漏洞数也突破了10万的关口。此外,世界上的科技巨头,象Google,Facebook,Amazon等都发生由开源组件引发的网络安全意外。在近5年内,一些通过利用开源漏洞而在应用程序中制造灾难性威胁的安全漏洞有:Heardbleed (5 亿美元),Panama Papers 和 Equifax(4.39亿美元)等事件。我们应用系统中开源组件的安全性降成为我们应用安全的另外一个主战场。

          据不完全统计,平均一个项目会依赖267个开源项目,而该数字将会有增无减。随着Leans Startup、LeanStartup、Micro Service Micro Service 等技术和流程的普及与流行,估计有超过60%的企业都以开源组件作为自身的代码架构基础。因此需要确保我们所使用的开源组件的安全性,并持续监控这些组件的安全漏洞。

          除此之外,开源组件的许可证风险也不容忽视,一个疏忽就可能导致企业深陷法律诉讼的泥沼。著名的Oracle和Google的88亿美金的诉讼案件大家一定记忆犹新。

          所以,如何能够对应用系统所涉及到的开源组件的成分及其安全漏洞,以及许可证的风险等问题进行详细彻底的分析和持续的监控就需要有好的解决方案、海量的数据、精确智能的算法、彻底的依赖分析、和持续的监控。

02  上九天揽月 下五洋捉鳖

          SCA – 软件成分分析作为TopSek BS代码审计平台的一个独特功能,利用智能漏洞分析引擎来扫描应用中所包含的开源组件所包含的漏洞和许可证风险;该引擎利用了海量的数据与开源组件独有的特性和漏洞特性来提升扫描结果的准确率。下面我给大家简单介绍一下该功能的主要特点:   

 1.  二进制、源代码分析

          SCA运用了二进制逆向工程技术与源代码特征读取技术相互结合的技术,在平台里可以同时对应用的源代码或者编译好的二进制程序进行分析,提高整体扫描的深度和精度。

          你的应用可能依赖于某个有源码的开源组件,但是这个开源组件可能隐含地引入了编译好的二进制的文件,这是非常常见和普遍的现象,如果没有二进制的扫描技术, 那么开源组件的成分分析就不够深入,这可以说是“独门绝技”。

2. 强大的漏洞数据库

          目前整个系统采集了多达16TB的数据,拥有超过2000万的开源组件信息,能够最大程度的从用户代码中扫描出正确的组件版本和对应的漏洞信息;有超过10万个开源与闭源漏洞数据,这些漏洞数据也已经被分类标签为“受漏洞影响代码片段”,“潜在安全漏洞”,“修复漏洞代码片段”和“可能被进攻代码片段”等数据,协助用户更好的理解其代码中所存在的风险。漏洞分为三种类型:CVE漏洞,安全隐患(Bug)、安全警告。

          CVE-“Common Vulnerabilities & Exposures”是在NVD网站上发布的已知漏洞,绝大部分的CVE都是已认证会对系统或是软件带来安全风险的漏洞问题。

          安全隐患(Bug)-在某些情况下,开源组件的维护者自行发现了自身代码中的漏洞问题,并将漏洞修复。然而,这些漏洞的发现和修复并没有被公开认证或是上报至如NVD等安全权威机构,通过长期对知名开源组件的追踪与机器学习等方法,获得了这些未曾被公开的漏洞信息。

          安全警告 - 得利于独有的双引擎扫描技术,对用户的代码进行哈希匹配(Hash Matching)和特征值匹配(Signature Matching)。双引擎可以在发现用户代码中和某个组件达到某种程度的相似值的情况下,判定用户使用该组件,而在这种情况下发现的组件漏洞信息,我们称之为“安全警告”。漏洞数据的清单如下:

3. 深度许可证分析

          对于开源组件许可证的不慎使用将会把企业引入灾难性的法律泥潭,我们的许可证分析基于对应用开源成分的深入和精准的分析以及基于海量的数据之上,因此许可证分析的结果更为可靠。

4. 依赖关系图

          大型项目中可轻松出现成百上千的依赖(组件引用组件)或是组件,在这种情况下,要将风险可视化并确定问题的根本原因将变得非常困难。组件“依赖关系图”协助用户更好地了解自己的软件组成情况。

5. 专有知识图谱

          某些开源组件可能是被一个企业的所有项目所共享的,帮助用户理清开源组件被企业项目利用的情况以及存在的问题可以让用户花费更低的成本来更快地修复问题。

6.代码修复补丁

          光知道漏洞但不知道如何修复往往成为“开发安全左移”的拦路虎,为此除了提供详尽的漏洞信息之外,还包含了代码补丁,可以对发现的漏洞进行及时修复。

7. 丰富的类型支持

      当前涵盖了在业界被大量使用的各种程序语言,以及对各种平台、架构的支持。以下是各种语言、平台和架构的支持列表

      源代码格式:

      二进制格式:

  架构支持:Intel x86/x64、ARM/ARM64、MIPS、PowerPC

  平台支持:Windows、Mac、Linux、Android

03  准确率、准确率、准确率

          扫描检测分析好坏最重要的指标就是准确率,换种说法就是低误报率。高误报率是自动化流程中断的罪魁祸首!高误报率是DevOps流程不能顺利向DevSecOps流程过渡的罪魁祸首!高误报率是不能实现充分“开发安全左移”的罪魁祸首!经过多方测试、比较,截止目前为止,我们产品的误报率在7%左右,而主要竞争对手的误报率高达15%-20%。

          对于如Java, JavaScript, Python等市场上的主流开发语言,误报率 甚至低到了惊人的2%以内。这样高的准确率才可以协助企业将整个检测很好地与流水线进行集成,很好地贯彻执行“开发安全左移”的实践,让开发人员自主自发地关注安全,更加高效、有效地实践开发安全。

04  双剑合璧 应用才安全

          通过SCA的检测分析,用户能够深入了解并处理在其应用中(源代码或二进制文件中)所发现的开源组件的漏洞与许可证风险;结合上期提到的源代码的SAST扫描检测,双剑合璧,对应用进行全身360度的CT扫描检测,使得安全漏洞无处藏身。总结一下我们的优势在于:

          (1)独门绝活 – 二进制和源代码双引擎的协同工作模式,发现安全隐患更加彻底、更加精准;(2)双剑合璧 – 软件成分分析;自研代码安全;开源组件安全;许可证风险;更加全面;(3)格式全面 – 目前市场上最多的开发语言支持;最多的二进制格式支持, 最多的平台支持;(4)海量数据 – 16TB的开源组件及其安全漏洞数据;每6小时的数据更新频率;提供安全检测的澎湃动力。(5)开放集成 – 通过RESTful API可以和企业的平台、CI/CD流水线、缺陷跟踪系统等进行无缝集成;(6)服务灵活 – 我们提供企业私有化的部署和云上的SaaS服务。

          包含与生俱来的“安全基因”的应用我们说才是真正的安全应用! 您的业务应用系统是您企业最珍贵的信息资产之一,只有对应用进行剥茧抽丝式地层层递进的分析、梳理所有的组成成分 - 无论是开源的还是自研的, 然后对之进行全面的扫描检测,一个不漏地找出所有的安全漏洞问题以及法律风险,您的业务应用系统自身才是安全的。 鼎赛应用安全与您同行!