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,并将其并入Github团队,同时Github也因此成为正式CVE编号授权机构。
短短两月,就像开头所述,Github开源CodeQL,同时还启动了最高奖金3000美元的漏洞赏金计划。
GitHub开源代码分析引擎CodeQL 同步启动3000美元漏洞奖励计划
CodeQL操作与实战
CodeQL从开源至今,又经历疫情,满打满算也就半年有余,不过最近几月,得益于其自身的强大,也愈来愈多人选择CodeQL作为漏洞挖掘的得力工具。
在去年刚“问世”的时候,就有人发布了一系列CodeQL简介学习系列,可以快速了解CodeQL的操作并做一些简单的实践。
而在今年,各家安全公司也开始尝试CodeQL。
安全人员也进行了快速跟进:
CodeQL 若干问题思考及 CVE-2019-3560 审计详解
愿CodeQL,能助你挖到下一个漏洞~
发表评论
您还未登录,请先登录。
登录