CodeQL Java Optimisation:Make CodeQL Data Flow Analysis support java features such as java reflection, threading, etc (1).pdf

编号:174268 PDF 41页 8.64MB 下载积分:VIP专享
下载报告请您先登录!

CodeQL Java Optimisation:Make CodeQL Data Flow Analysis support java features such as java reflection, threading, etc (1).pdf

1、演讲人:m0d9时间:2024.08.24关于我ID:m0d9From:腾讯云云鼎实验室CodeQL 概述与Java 分析难点解决CodeQL Java 代码分析难点CodeQL 数据流分析解析历史漏洞回溯PART ONE01CodeQL 概述CodeQL 历史2019201820?2006Semmle 成立微软收购GithubGithub 收购Semmle默认SAST 工具LGTM2022LGTM下线程序分析PTA(soot/Tai-e)Datalog(Souffl/Doop)CodeQL 概述Demoimport java.lang.Runnable;public class Runnab

2、leDemo implements Runnable private String threadName;RunnableDemo(String name)threadName=name;public void run()System.out.println(threadName);public static void main(String args)throws Exception String tt=args0;RunnableDemo T1=new RunnableDemo(tt);Thread t=new Thread(T1);t.start();class MyTaintTrack

3、ingConfig extends TaintTracking:Configuration MyTaintTrackingConfig()this=MyTaintTrackingConfig override predicate isSource(DataFlow:Node source)exists(Method m|m.hasName(main)and m.getAParameter()=source.asParameter()override predicate isSink(DataFlow:Node sink)exists(MethodAccess ma|ma.getCallee()

4、.getDeclaringType().hasQualifiedName(java.io,PrintStream)and sink.asExpr()=ma.getAnArgument()from MyTaintTrackingConfig cfg,DataFlow:PathNode source,DataFlow:PathNode sinkwhere cfg.hasFlowPath(source,sink)select sink.getNode(),source,sink,Partial flow from unsanitized user data+Source CodeQL=ResultC

5、odeQL 概述架构-DB 类似DataLog 的facts,有自己的格式-QL 编译形成dil,dil 类似DataLog的DLCodeQL 概述Databasesource code.trap.reldbschemaCodeQL 概述QL.dilDatalog intermediate representation.ql.raRelational algebra intermediate representationJava 程序分析难点Java 程序分析难点Runnableimport java.lang.Runnable;public class RunnableDemo implem

6、ents Runnable private String threadName;RunnableDemo(String name)threadName=name;public void run()System.out.println(threadName);public static void main(String args)throws Exception String tt=args0;RunnableDemo T1=new RunnableDemo(tt);Thread t=new Thread(T1);t.start();-java.lang.Runnable-java.lang.T

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(CodeQL Java Optimisation:Make CodeQL Data Flow Analysis support java features such as java reflection, threading, etc (1).pdf)为本站 (张5G) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
客服
商务合作
小程序
服务号
折叠