活动

直播回顾 | 为什么在开发流程中应用静态代码分析工具?

2021年7月29日 网络研讨会

在7月29日结束的网络研讨会上,鉴释首席科学家李隆博士详细解读了静态代码分析的原理以及它如何应用在SDLC中。此外,他还讨论了静态代码分析在实际应用中面临的挑战。

静态代码分析也称为静态应用程序安全测试 (SAST),它是一组旨在分析应用程序源代码、字节码和二进制文件以识别缺陷和漏洞的技术。 简而言之就是在未运行程序的情况下通过对程序的分析,发现程序中潜在的漏洞和安全隐患。当静态代码分析应用在软件开发周期时,主要有两种不同的应用场景,一种是以Standalone的方式应用在日常开发中,另一种更加主流的方式是将静态代码分析的工具集成到CI/CD的流程中。

虽然Standalone的流程和CI/CD不相同,但二者并不冲突。一些简单的检查比如语法、编码规范等可以在开发者本地进行处理。如果是一些需要和其他模块交互的代码检查则需要提交到CI/CD的流程中,使得过程更加方便和高效。

尽管静态代码分析的使用可以带来很多好处和效率,但是现实应用中仍存在一些局限。最大的一个挑战就是目前市面上很多静态代码分析工具所消耗的时间和内存较大,并且误报较多,导致检测结果与开发者的期待相去甚远。

鉴释综合考虑了所存在问题,自主研发出的静态代码分析工具爱科识具有以下优势:

– 基于先进的编译器技术(Open64编译器),可省去很多前端复杂处理

– 在中间表示层(IR)上进行分析,避免重复开发的问题

– 以零漏报为目标设计分析模型,更少的漏报和误报

– 采用按需分析的方式,节省时间和资源

– 开发了符号执行的框架,方便用户定义自己想要检查的规则

 

以下节选自问答环节部分听众提问:

Q1.请问SAST和其他动态扫描DAST、IAST等有什么不同?

SAST是在不执行的情况下进行分析。DAST是通过动态执行代码去记录真正执行时的一些信息,然后给出反馈数据,通过数据来分析程序执行中存在哪些问题。IAST是在工具和使用者之间会有一个交互,使用者会提供一些信息帮助分析工具进一步运行。

Q2. 请问静态代码分析工具爱科识可以扫描哪些代码规范和漏洞库?

除了一些第三方的规范和漏洞库,爱科识还可以支持客户自定义规则来进行扫描。

 

观看直播回放

下载研讨会PPT (英文)


点击此处,了解爱科识是如何帮助开发人员识别难以找出的漏洞,或联系我们获取产品演示

通过使用我们的网站,表明您已经阅读并理解我们的Cookie政策及隐私政策