《V8漏洞挖掘与利用.pdf》由会员分享,可在线阅读,更多相关《V8漏洞挖掘与利用.pdf(39页珍藏版)》请在三个皮匠报告上搜索。
1、V8V8漏洞挖掘与利用漏洞挖掘与利用 About Us:About Us:TheDog京东安全实验室-漏洞研究:共发现Android、iOS、MacOS等CVE超过200个,获得Google、Apple、Samsung、Huawei等致谢并入选全球名人堂-国际演讲:研究成果在Black Hat USA/ASIA、DEFCON、CanSecWest、RECON、PoC、MOSEC、GeekCon等发表技术演讲,并入选多个顶级学术会议(CCF A类会议)如ACM ISSTA(Proceedings of the 33nd ACM SIGSOFT International Symposium on
2、 Software Testing and Analysis)。并将在即将到来的Black Hat USA 2024上现场发表关于Mac安全研究和静态代码分析的分享-行业认可:2022年度CNNVD 一级支撑单位,2023、2024年度GeekCon优秀合作伙伴、评审委员会成员,中国反网络病毒联盟成员单位,华为终端安全优秀合作伙伴,入选谷歌全球优质开源项目-行业荣誉:黑客奥斯卡Pwnie Award 2022最佳提权漏洞奖-公司内荣誉:2022、2023、2024信息安全部攻坚克难优秀项目奖,2023年度CCO体系杰出项目奖About Us:About Us:部门工作方向1.供应链安全:建设从
3、组件构建到发布再到运行的全链路安全能力,通过技术手段及时发现和消除内部软件供应链安全风险2.业务安全:广告黑灰产挖掘,主要工作是识别虚假流量,恶意推广,流量劫持等作弊行为。3.APP安全:IOS,安卓,鸿蒙4.安全研究:浏览器,Linux,MacOS,IOS,安卓等方向的漏洞挖掘与利用简历投递:,请标注:意向方向,实习or校招,List:List:对于Fuzzilli的改进1.扩展语料生成的覆盖面2.v8 Builtins覆盖率插桩漏洞利用3.v8某漏洞利用思路扩展语料生成的覆盖面扩展语料生成的覆盖面所有js引擎可能的输入所有Fuzz可能生成的语料空间Fuzz永远不可能发现这部分的漏洞扩展语料
4、生成的覆盖面扩展语料生成的覆盖面所有js引擎可能的输入所有Fuzz可能生成的语料空间Fuzz永远不可能发现这部分的漏洞Modulenew builtins扩展语料生成的覆盖面扩展语料生成的覆盖面所有js引擎可能的输入所有Fuzz可能生成的语料空间Modulenew builtinsv8 Builtinsv8 Builtins覆盖率覆盖率插桩插桩覆盖率引导:如果一个样本执行到了新的BasicBlock(触发的新边),那么该样本更优否则抛弃该样本LLVM Coverage Instrumentationv8 Builtinsv8 Builtins覆盖率覆盖率插桩插桩String.prototype
5、.at()方法通过Torque编写实现k是否超过字符串长度会进入两个不同的分支v8 Builtinsv8 Builtins覆盖率覆盖率插桩插桩abc.at(2)与abc.at(3)显然执行到了不同的分支但是LLVM插桩却并没有收集到CSA1.宏展开StubCPP语言CPP:Turbofan,GC,.Torque:BuiltinsCSA1.宏展开StubCPP:Turbofan,GC,.Torque:Builtinsmksnapshot2.编译cpp代码mksnapshot是一个可执行文件CSA1.宏展开StubCPP:Turbofan,GC,.Torque:Builtinsmksnapshot
6、2.编译cpp代码snapshot.bin3.执行Turbofan优化编译运行mksnapshot1.CSA调用turbofan接口生成IR2.turbofan优化IR生成汇编指令3.内存中的汇编指令打包进行snapshot.bin中CSA1.宏展开StubCPP:Turbofan,GC,.Torque:Builtinsmksnapshot2.编译cpp代码snapshot.bin3.执行Turbofan优化编译v84.编译cpp代码CSA1.宏展开StubCPP:Turbofan,GC,.Torque:Builtinsmksnapshot2.编译cpp代码snapshot.bin3.执行Tu