CodeQL:“查询”你的下一个漏洞

阅读量228285

|评论1

发布时间 : 2020-07-30 16:00:16

 

CodeQL

CodeQL是一个免费部分开源的代码语义分析引擎,其利用QL语言对代码、执行流程等进行“查询”,以此实现对代码的安全性白盒审计,进行漏洞挖掘。

 

CodeQL的前世今生

在去年年底,Github在开发者大会宣布成立“安全实验室”,并开源了代码分析引擎CodeQL。虽然刚刚推出,但其实很多人对其期待已久,这就要从Semmle说起。

Semmle最早起源于牛津大学的CodeQuest系统,从学术到工业落地后,逐渐开始深入代码安全性分析。

耕耘了近十年后,Semmle已经有了花旗、NASA、戴尔等多家知名企业客户,并于14年获得了800万美元的A轮融资,并在接下来的几年开发了Google、微软、Uber等企业客户及3100万美元的新融资。

而在广大安全人员中慢慢打出知名度,大概是在两三年前其利用自家能力挖出多个0day漏洞并公开才开始的。比如Struts的S2-057漏洞就由Semmle团队通过Semmle QL挖到。

此漏洞Semmle也进行了简单的分析和挖掘说明,后续云影实验室也进行了深入分析。

S2-057漏洞原作者自述:如何利用自动化工具发现5个RCE

Struts2-057/CVE-2018-11776两个版本RCE漏洞分析(含EXP)

不过就在这篇漏洞自述的前一周,MSRC也发布了两篇使用Semmle QL挖洞的心得分享。也许这也成为了后续微软(Github)收购Semmle的一个小小的契机之一,毕竟两个月前微软以高价收购了Github,不管是对于自身研究还是企业客户,一定有着迫切的代码审计需求。

使用 Semmle QL 进行漏洞搜索

使用 Semmle QL 进行漏洞搜索P2

自此,一年之后微软便收购了Semmle,并将其并入Github团队,同时Github也因此成为正式CVE编号授权机构。

微软收购Semmle GitHub成CVE编号授权机构

短短两月,就像开头所述,Github开源CodeQL,同时还启动了最高奖金3000美元的漏洞赏金计划。

GitHub开源代码分析引擎CodeQL 同步启动3000美元漏洞奖励计划

 

CodeQL操作与实战

CodeQL从开源至今,又经历疫情,满打满算也就半年有余,不过最近几月,得益于其自身的强大,也愈来愈多人选择CodeQL作为漏洞挖掘的得力工具。

在去年刚“问世”的时候,就有人发布了一系列CodeQL简介学习系列,可以快速了解CodeQL的操作并做一些简单的实践。

代码分析平台CodeQL学习手记

而在今年,各家安全公司也开始尝试CodeQL。

知道创宇:代码分析引擎 CodeQL 初体验

绿盟:CodeQL漏洞挖掘实战

安全人员也进行了快速跟进:

使用codeql挖掘fastjson利用链

使用 CodeQL 挖掘 CVE-2020-9297

codeql学习——污点分析

如何利用CodeQL挖掘CVE-2020-10199

使用codeql 挖掘 ofcms

CodeQL 若干问题思考及 CVE-2019-3560 审计详解

在自动化扫描、AI、机器学习等技术均入选过Gartner趋势的当下,凭借着微软、Github及原Semmle的技术积累,目前来看CodeQL还是可以很好承担白盒审计的职责。作为开源白盒分析的新锐,也适合安全公司研究、吸纳,甲方公司分析、应用,安全人员体验、挖掘。

愿CodeQL,能助你挖到下一个漏洞~

马上体验一下吧

本文由安全客原创发布

转载,请参考转载声明,注明出处: https://www.anquanke.com/post/id/212305

安全客 - 有思想的安全新媒体

分享到:微信
+14赞
收藏
安全客
分享到:微信

发表评论

内容需知
合作单位
  • 安全客
  • 安全客
Copyright © 北京奇虎科技有限公司 三六零数字安全科技集团有限公司 安全客 All Rights Reserved 京ICP备08010314号-66