基于源代码的自动程序分析在内核安全中的应用.pdf

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

基于源代码的自动程序分析在内核安全中的应用.pdf

1、加州大学河滨分校助理教授基于源代码的自动程序分析在内核安全中的应用目录基于LLVM的静态分析应用案例展望及讨论基于LLVM的静态分析LLVM编译器框架模块化,高复用性的编译器框架前端:CLANG(C/C+/OBJECTIVE-C),CUDA,HASKELL,ETC.后端:X86,ARM,ARM64,NVPTX,RISCV,WEBASSEMBLY,ETC.其他:LINKER,COMPILER-RT,KLEE,LLDB,LIBC+,ETC.FrontendLLVMIRLLVMOptimizerBackendMachineCodeLLVM Pass基于LLVM IR的分析和转化程序层次:MODULE

2、,SCC,FUNCTION,LOOP,REGION,BB,ETC.模块化:PASSMANAGER,REQUIRED,PRESERVED基础教程:HTTPS:/LLVM.ORG/DOCS/WRITINGANLLVMPASS.HTMLFrontendLLVMIRLLVMOptimizerBackendMachineCode漏洞挖掘常用分析数据流分析:DEF-USE,TAINT ANALYSIS,ETC.控制流分析:CFG,CALL GRAPH,DOMINATOR,ETC.指针(POINT-TO)分析:BASICAA,ANDERSON,DSA,ETC.符号执行:CLANG STATIC ANALYZ

3、ER类型(TYPE)分析值域(RANGE)分析相比于其他分析平台(如CIL),LLVM入门门槛低,且有大量资源LINUX内核分析(1)难点一:如何将内核源代码编译为LLVM IRLINUX内核大量使用GCC独有的非标准C特性LINUX社区只考虑支持GCCLLVM社区不考虑支持非标准C特性LLVMLINUX项目(HTTP:/LLVM.LINUXFOUNDATION.ORG/)LINUX内核分析(2)难点二:如何进行全内核分析LLVM常见分析(PASS)的最大分析单元是MODULE,即单个源文件LLVM-LINK 重命名问题(不推荐)LTO 速度较慢,适合分析后需要插装的应用自主链接MODULE(

4、KINT,KERNEL-ANALYZER)应用案例(1)自动化识别并保护内核中的重要数据 NDSS 16动机内存错误型漏洞在内核中较为常见现有的ROOT,越狱工具都利用了内核中的内存错误漏洞内存错误型漏洞的利用十分灵活问题:如何找到所有可以被攻击的对象例子控制流劫持型攻击绕过检查数据型攻击误导检查代码注入修改型攻击取消检查现有工作的不足SECURE BOOT 不能解决后两种攻击KCFI 不能解决数据型攻击KASLR 容易通过信息泄漏型攻击(包括测信道攻击)绕过针对常用攻击对象(CRED)的保护可以被绕过观察提权攻击的本质是攻击内核的访问控制(ACCESS CONTROL)系统访问控制系统有三条

5、原则全面性 不能被绕过 必须保护所有的控制数据抗攻击 不能被误导 必须保护所有的数据依赖正确性 假设正确问题如何系统性的发现所有需要保护的数据?控制数据 CODE POINTER INTEGRITY 基于类型数据依赖 安全检查 如何发现安全检查?解决方案利用系统调用的返回值系统调用的返回值具有明确的语义LINUX:EACCESS,EPERM,EROFS,ETC.WINDOWS:ERROR_ACCESS_DENIED,ETC.优点:系统,全面,可自动化例子(1)第一步:收集函数返回值例子(2)第二步:找到控制节点例子(3)第二步:找到控制节点需考虑前序必经节点(DOMINATORS)if(con

6、dition1|condition2)return 0;elsereturn-EACCESS;例子(4)第二步:找到控制节点避免爆炸if(condition)return-EINVAL;if(uid_eq)mode 6;elsemode 3;例子(5)第三步:后向切片完整性为保证完整性,还需递归地进行数据和控制依赖的分析考虑指针分析结果NEXUS 9 ANDROID KERNEL3个返回值:EACCESS,EPERM,EROFS634个数据结构中的1240个域279个全局变量1631159350403740119604237303136020406080100120140160180netfs

友情提示

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

本文(基于源代码的自动程序分析在内核安全中的应用.pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

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