SCA面面观 | 金融科技实践:深掘开源安全需求,破解开源治理难题

2024-02-04 14:07

当下,中国金融科技行业在数字支付、数字信贷、金融风控等领域取得了很多创新成果,大幅提升了金融数字化和智能化水平,已经在金融科技的全球竞争中走在前列。

在此进程中,开源技术发挥了不可或缺的重要作用,根据我国金融行业开源技术应用社区调研结果显示,金融机构中超过90%的企业引入了开源软件,近四成金融机构使用超过1000个开源软件。开源技术的广泛应用,不仅加速了数字产品的研发周期,降低了创新成本,还以社区协作的方式,汇聚了全球开发者的智慧,赋能业务发展。

然而,开源技术在带来巨大便利的同时,也伴随着一定的风险。首要的是安全性问题,开源技术公开透明,本意在于促进共同学习和改进,然而不法分子利用代码的公开性,来寻找漏洞并利用其发起攻击,近年已给金融机构带来重大损失。其次,合规风险也不可轻视,因开源许可证复杂多样且各有要求,容易引起知识产权纠纷。再者,由于开源软件的更新和迭代速度较快,企业需要不断跟进并适应新的变化,这对企业的运维能力和管理水平提出了更高要求。

如今,以软件成分分析SCA)工具为基础,作为金融科技企业开展开源治理关键一环,能够深入剖析项目中的开源组件,帮助企业精确掌握所使用的开源软件的版本信息、许可证类型以及潜在的安全风险。

深挖开源治理需求,用好SCA工具

开源网安为众多金融行业客户提供了基于SCA工具的开源软件治理解决方案,深入洞察企业应用场景的细微之处,充分理解客户在开源软件治理过程中的痛点,总结出如下重要治理需求:

定时扫描与软件台账构建

企业需要通过SCA工具与代码仓库进行深度集成,并具备定时自动扫描功能,对企业所有代码仓库进行全量、高效检测,以构造完整准确的项目级台账信息,形成软件资产图谱,以便清晰地掌握所有项目中开源组件使用情况。

安全漏洞与风险管理

为确保软件的安全性,需要SCA工具可以对软件中所使用的开源组件和第三方库进行全面分析,识别已知漏洞,并针对性的提供修复建议与组件安全版本。

许可证合规性保障

为避免因许可证问题引发的法律风险,需要SCA工具可以对软件中使用的所有开源组件与第三方库的许可证类型进行合规性检查,确保软件的开发和分发符合相关许可证要求,并提供许可证管理建议,帮助我们更好地管理和使用开源组件

风险预警与溯源分析

企业需要SCA工具能够及时收录各大官方漏洞库和开源社区的漏洞消息,一旦发布最新漏洞,可迅速对企业正在运行的应用进行开源组件扫描,并对有风险的应用及时阻断、发出告警、提供溯源分析。

技术引入评估与指导

随着技术的不断发展,新技术引入对于企业至关重要,需要通过SCA工具对企业引入的新技术或外部软件进行评估,帮助企业全面了解新技术的组件构成、相关风险等信息,方便企业根据评估结果,更稳健地采用新技术,降低潜在风险的引入。

SourceCheck构建开源软件治理利器

开源组件安全及合规管理平台(SourceCheck),是开源网安SCA团队自主研发的国内早期SCA产品,针对上述金融科技行业客户在开源软件治理方面的核心需求,SourceCheck提供了一系列全面的功能。

01

软件开源资产成分识别

SourceCheck支持对应用程序依赖的第三方软件信息的检测,为开发团队准确识别和记录所依赖第三方软件的完整信息,帮助开发团队有效管理第三方软件的使用。检测的第三方软件信息包括第三方软件的版本信息、发布时间、最新版本信息、最新版本的发布时间、当前版本包含的CVE公开漏洞信息等。

02

开源组件漏洞安全检测

SourceCheck支持对应用程序依赖第三方软件的安全检测,能识别第三方软件当前版本中包含的CVE公开漏洞,并能够提供当前漏洞问题的修复方案,包括通过升级推荐版本、补丁策略等方式,能够快速准确的定位到风险。

03

开源组件依赖关系检测

在引入第三方组件的过程中,组件与组件之间存在依赖关系,在实际安全开发过程中会发现项目中往往会出现大量的间接引入的风险组件,针对这种问题,SourceCheck提供基于构建执行、配置分析、头文件分析等技术对组件间的依赖关系进行精准识别,正确呈现组件间的关系图谱信息。

04

组件及漏洞可达性检测

SourceCheck帮助研发和安全人员在对结果进行分析时,能够更加精确定位其触发位置,同时可以清晰的了解其整个组件及漏洞的方法调用链,通过这种完整链路视图的呈现,可以提高开发及安全人员的问题处理效率。

05

开源组件篡改识别检测

在开源组件的使用过程中,存在部分组件被人为篡改的行为,这些被篡改组件往往在使用中依旧采用原开源组件名称,给使用人员及其他安全人员造成较大的安全困扰。针对当前篡改风险的产生,SourceCheck提供篡改识别安全检测,可快速自动识别被篡改的组件,帮助使用者发现其潜在的风险问题。

06

开源投毒组件识别检测

组件投毒是使用者非常头疼的问题,因为其具有极高的隐秘性,对于使用者来说很难从组件的外表以及使用过程中去发现风险,导致业务开发过程中引入该投毒组件,从而带来极高的业务使用风险,SourceCheck通过从社区、监管单位获取组件投毒信息,构建投毒组件库,结合自研的投毒检测引擎,从投毒组件特征进行精准识别,提高了业务使用方对供应链投毒的保障能力。

07

源代码敏感信息检测

敏感信息泄露是当下开发者最常见的一种安全问题,在编码过程中,为了更好的进行代码测试,往往会对某些参数值静态赋值,让代码中存在大量的静态敏感信息,比如常见的有URL、邮箱、IP、用户名、身份证等,该信息往往给攻击者提供了大量的攻击信息,给企业组织带来重大损失。SourceCheck支持对源码包中敏感信息分析,可以快速帮助客户发现敏感信息泄露风险,避免产生重大影响和损失。

08

开源代码溯源检测

在面对开源的引入过程中,除了常规的组件级的开源引入外,开发者也会采用直接使用开源项目中的开源代码,在引入过程中,往往会不经意间引入到存在漏洞风险或许可合规风险的不安全内容,针对这种更加隐蔽的风险引入,SourceCheck提供通过代码级、文件级、组件级代码溯源分析功能,实现源码包的组件来源溯源,实现知识产品的自我审查。

09

开源组件许可合规检测

SourceCheck支持对项目和应用所关联的License信息进行合规分析,并提供许可的风险等级识别定义,包括主流的GPL、Apache、MIT以及国内木兰许可。通过识别可快速了解该许可的权利与义务要求,以及该许可的注意事项,为许可合规的判断提供有效依据。

10

漏洞预警与风险溯源

SourceCheck通过主动式收集各来源下的开源风险情报,通过智能清洗、关联、人工核查等手段,构建漏洞情报库,包括主流权威机构如CNNVD、CVE、CNVD等,可实现对当前阶段中组件的开源风险舆情一站掌握。通过与企业内资产知识图谱相关联,实现智能化风险溯源,让使用者可快速进行影响分析,助力安全快速决策。

在金融行业对开源技术的依赖日益加深的今天,如何有效管理开源资产、降低风险并提升安全效率成为了企业面临的重要挑战。

开源网安SourceCheck作为一款理想的开源软件治理工具,从帮助构建软件资产台账到降低开源风险,再到风险管理和漏洞预警,以及提升安全部门工作效率,SourceCheck展现出了其全面、高效和灵活的特性。正因如此,越来越多的金融科技企业选择SourceCheck,将其作为确保开源技术安全性和合规性的关键工具,共同迎接金融行业未来的挑战与机遇。