CoBOT Java安全漏洞检测类型与OWASP TOP 10对应关系

       OWASP(Open Web Application Security Project)开放式web应用程序安全项目,是一个非营利性组织,不依附于任何企业或财团的安全组织,几乎每隔3年发布的OWASP TOP 10安全漏洞以及成为安全行业事实上的标准。各安全检测工具以支持OWASP TOP 10中的更多安全漏洞类型作为目标。

       作者统计了OWASP 2004、2007、2010、2013和2017总共五次发布的TOP 10,由于TOP 10排序是根据调研结果整理出的安全漏洞发生的多少、或关注的多少进行排名的,所以发布的安全漏洞中大量是重复的,作者经过整理分析,其实5次发布的安全漏洞总共涉及到20种安全漏洞类型,如下表:

 

        其中A1—A10编号是2017发布的迄今最新的TOP 10。经过对TOP 10原文中每种安全类型的分析,其中大部分安全漏洞类型是可以借助SAST自动化检测工具实现或可以通过SAST类检测工具可以支持的。如下表:

        从上面的表中可以看到,A2-失效的身份认证和会话管理/失效的身份认证,该种安全漏洞类型一般是很难通过SAST工具静态分析检测出来,是需要通过DAST类工具进行动态检测或人工检测。A10-不足的日志记录和监控安全漏洞类型一般也是通过DAST工具检测,虽然说SAST类工具从对写日志文件相关的代码上可以静态分析出一些缺陷,例如,在日志中写入敏感信息等问题,但是无法动态检测或监控日志文件。通过作者分析,OWASP TOP 10 2017中列出的10种最多安全漏洞类型中的8种是可以通过SAST静态分析工具检测出来的。

       那么库博(CoBOT)作为一款自主、可控的国产工具,对于OWASP TOP 10支持到底如何呢?作者根据开发团队从工具对应的数据库中导出了检测器列出,由于开发语言比较多,作者只分析了Java开发语言对应的安全漏洞检测类型,经过较为细致分析和汇总,得出库博所支持的检测器列表:       通过上表可以看到,库博工具至少有115个检测器对应到了历届OWASP TOP 10中的安全漏洞类型,也就是说TOP 10中的每种安全漏洞类型都可能对应多种检测器,从不同角度检测安全漏洞。而A9-使用含有已知漏洞的构件是可以通过代码成分分析和同源漏洞检测工具可以检测出构件中的已知安全漏洞,需要CoBOT SCA工具的支持。CoBOT SCA支持A9安全漏洞检测数量的多少是由库博安全大数据库中的开源构件中的数量决定的,目前该库中已经累计了将近10T的构件代码,这些构件代码中的漏洞就是已知漏洞,如果开发的程序中引用了该构件,则存在相应的安全漏洞。由于CSRF攻击安全漏洞类型已经不在TOP 10中,是由于目前很多Java开发框架或浏览器一定程度上防止出现CSRF攻击,该类型漏洞部分情况也可以通过SAST工具检测出来。

库博源代码缺陷检测工具,虽然名称是缺陷检测工具,这里的缺陷是一个广义的概念,也把代码中的安全漏洞认为是代码的缺陷。实际上,库博对于安全漏洞检测能力已经非常强大,这些通过腾讯、阿里等互联网企业应用库博工具对其web应用进行代码安全检测得到证实。

 

关注安全  关注作者

发布了309 篇原创文章 · 获赞 31 · 访问量 6万+

猜你喜欢

转载自blog.csdn.net/manok/article/details/105150624