企业视频展播,请点击播放视频作者:多面魔方(北京)技术服务有限公司
什么是代码审计?常见的自动化代码审计工具有哪些?
自从人类发明了工具开始,人类就在不断为探索如何更方便快捷的做任何事情,在科技发展的过程中,人类不断地试错,不断地思考,于是才有了现代伟大的科技时代。在安全领域里,每个安全研究人员在研究的过程中,也同样的不断地探索着如何能够自动化的解决各个领域的安全问
c语言源代码安全案例
企业视频展播,请点击播放
视频作者:多面魔方(北京)技术服务有限公司
什么是代码审计?常见的自动化代码审计工具有哪些?
自从人类发明了工具开始,人类就在不断为探索如何更方便快捷的做任何事情,在科技发展的过程中,人类不断地试错,不断地思考,于是才有了现代伟大的科技时代。在安全领域里,每个安全研究人员在研究的过程中,也同样的不断地探索着如何能够自动化的解决各个领域的安全问题。其中自动化代码审计就是安全自动化绕不过去的坎。
这一次我们就一起聊聊自动化代码审计的发展史,也顺便聊聊如何完成一个自动化静态代码审计的关键。自动化代码审计在聊自动化代码审计工具之前,首先我们必须要清楚两个概念,漏报率和误报率。
- 漏报率是指没有发现的漏洞/Bug
- 误报率是指发现了错误的漏洞/Bug
在评价下面的所有自动化代码审计工具/思路/概念时,所有的评价标准都离不开这两个词,如何消除这两点或是其中之一也正是自动化代码审计发展的关键点。
我们可以简单的把自动化代码审计(这里我们讨论的是白盒)分为两类,一类是动态代码审计工具,另一类是静态代码审计工具。
请问有哪些代码审计的工具产品?
国外商业工具:klocwork, fortify,Coverity, parasoft, TestBad, C++Test, Checkmarx CxEnterprise,PolySpace,PClint(有些不是产品名称,不过在都这么叫)。
国外开源工具:findbugs, checkstyle,sonar,PMD...国内商业工具:360代码卫士,这个大多数人还没有听过,不过它已经是一款非常成熟的产品,实际的项目分析中完全不输给国外的源代码静态分析工具。
代码安全审计的内容和价值
通过采用工具审计和人工审计相结合的方式,充分挖掘系统源代码中存在的安全缺陷以及规范性缺陷,对应用系统的源代码进行安全检测。市面主流研发语言我们都支持。
通过开展应用系统源代码审计工作,减少客户应用系统的安全漏洞和缺陷隐患,有效降低客户应用系统安全风险,保障应用系统安全稳定运行。
软件开发所面临的安全问题
1、代码与架构复杂
几十万、几百万行代码、一个业务分几十个模块几十个代码仓库家常便饭;开发语言多种多样,各种自研框架、流行框架应接不暇、架构还非常复杂。
以上两个问题对审计人员、SAST工具来说无疑都是很大的挑战。
2、工具准召率
没有工具是所谓银弹,规则、插件准召率很低,需要根据开发语言、编码风格自定义;工具对逻辑漏洞的无力,与业务逻辑漏洞大量曝光的漏洞态势之间的矛盾,工具、系统的运营也需要专门人力投入,从而不断提高工具的准召率。
3、心态
审计人员出于KPI的考虑,想着既然花了很长时间做了代码审计,为了体现工作量就必须说点什么,如果系统本来没有问题却在那挑刺,会更加不信任你。对于甲方代码审计人员,审计任务多、代码庞大是常态,如果不考虑后果的只提高速度,这种方式会遗漏掉细节,导致不能的审查。
(作者: 来源:)