聚力安全 护航发展丨强化审计,推动政府行业开发安全“左移”

发布者:绿盟科技
发布于:2022-07-09 19:28

随着大数据、云计算、人工智能的不断发展,从移动应用到基于云的系统再到内部部署的遗留系统,大多数政府行业用户在管理着成百上千的软件元素。此类软件通常是由现成的商业软件包和定制构建的代码库共同组成。随着软件系统复杂程度的增加,软件开发过程及软件供应链链条也越来越长。


软件的快速上线,能帮助政府行业用户提高效率、促进发展。但软件代码安全问题也在法律遵从、信息安全、IT投资等方面为政府行业用户带来了严峻的问题与风险。根据绿盟科技近年来的研究,政府行业用户在代码安全方面常面临以下几方面的困扰:

  • 需满足上级部门代码安全监管要求;

  • 软件漏洞修复成本太高;

  • 不清楚自主研发或外包研发的软件系统使用了哪些开源组件;

  • 不清楚开源组件当前的安全状况;

  • 自动化对接软件开发流程;

  • 安全部门和业务部门对代码安全有不同的认知,安全团队认识到安全开发的重要性,而业务团队不愿因此放弃系统快速上线,从而产生矛盾。


绿盟科技根据政府行业用户业务场景打造的绿盟代码安全审计系统(SDA),可在软件发布前,对源代码及组件进行安全检测,满足合规需求;在软件发布后,进行二进制检测并生成BOM清单,帮助政府行业用户掌握软件资产和风险状况。绿盟代码安全审计系统(SDA)是应用安全测试范畴中的子集,主要以软件成分分析的形式,在编程和测试阶段,发现应用程序中的安全缺陷,并将此过程集成到软件生命周期中。在业务数据平面,主要是对源代码进行缺陷审计,并将审计结果传给管理平面。业务数据平面可对自有代码、开源组件进行审计,其中开源组件审计包含合规性。

图片


1、源代码审计

绿盟代码安全审计系统(SDA)支持常用源代码静态审计功能,包括C、C++、Java、PHP、Go、Python、JSP等。除了分析源代码外,本系统还拥有对部分编译后的代码进行静态分析功能。例如java语言的.class文件、jar包等。针对源代码中常见的缺陷漏洞,本系统能检查的缺陷类型包括:SQL注入、XSS、密码硬编码存储、不安全配置、堆栈信息泄露等40种安全分类。


2、开源组件审计

绿盟代码安全审计系统(SDA)还支持对项目中应用的第三方组件、代码库进行依赖检测。检测到后,根据内置的漏洞库进行匹配,查看当前被引用的组件是否有已知的漏洞。本系统当前支持Java、Python、C/C++语言的组件依赖检测。内置的漏洞库包括OWASP TOP 10已知漏洞组件。


开源组件审计的工作流程一般分为两个阶段,信息收集阶段和开源组件漏洞分析阶段:

  • 信息收集阶段:通过扫描和遍历给定目录中的文件,尽可能多的找到软件组成信息,为后面分析阶段提供数据;

  • 组件漏洞分析阶段:也称为知识库匹配阶段,通过信息收集阶段获得到的数据,与知识库(组件库和漏洞库)的匹配,来进行软件组成分析和漏洞分析。

图片


3、开源组件识别功能

通过对源代码进行遍历和提取,收集各个文件的属性特征,统计文件的基本信息;通过对比组件库规则,找出源代码中使用的开源组件;基于千万级开源软件版本库,精确匹配识别特征文件中的开源软件。


4、开源组件风险分析

  • 开源漏洞识别功能:通过多模匹配、词法分析等技术,主动识别源代码中的证书信息,给出使用开源证书信息列表,以及证书冲突性检测。

  • 许可证证书识别功能:通过扫描出来的开源组件的列表,在组件漏洞库中进行漏洞匹配,分析出存在漏洞的开源组件,发现潜在威胁,给出修复建议。

  • 漏洞跟踪功能:通过依赖关系分析识别技术,对漏洞组件在代码中传播的途径进行跟踪,找到漏洞传播的途径。

绿盟代码安全审计系统(SDA)技术完全自主研发,目前已积累数千万开源组件版本数据。支持与安全设备联动,形成安全闭环。同时可提供丰富的API接口,供第三方平台调用。还可为政府行业用户解决安全部门和业务部门的分歧,保障业务快速上线,并掌握开源资产情况。在开发阶段发现漏洞,降低修复成本,并极大缩短开发周期等待时间。



声明:该文观点仅代表作者本人,转载请注明来自看雪