当前位置:首页 > 报告详情

闭源系统下的漏洞自动化发现之旅.pdf

上传人: 2*** 编号:140485 2023-08-31 37页 9.38MB

1、闭源系统下的漏洞自动化发现之旅演讲人:秦策(Hearmen)关于我望潮实验室(南京)负责人专注移动安全、应用安全、二进制BlackHat、Defcon、HITB 等演讲者KCON2015 演讲者EvilParcel系统的银翼杀手01CodeQL打破源码限制02LLM模型助力漏洞挖掘03总结与展望04目录EvilParcelEvilparcel 漏洞是一类存在于 Android 系统中的漏洞,它们利用了 Parcelable 子类在序列化和反序列化过程中实现不匹配的问题Michalbednarski 首次发现此类漏洞并交给谷歌官方修复首次发现Michalbednarski 公开漏洞利用方法,研究

2、者开始陆续跟进,各大厂商的类此类漏洞也开始出现漏洞利用公开推出 LazyValue 机制,Bundle 中的每个 item 都会有单独的 lengthAndroid13 修复各个手机厂商自己的 ROM 并不能及时更新安卓官方依然接收此类漏洞安卓系统的碎片化EvilParcelEvilparcel 漏洞可以导致 Bundle 在多次序列化和反序列化过程中内容发生改变。结合 LAW 跳板,可以实现权限提升,严重影响系统安全将evilparcel放置在Bundle 中传给系统应用(settings)Bundle系统权限应用编写APK,实现添加账号回调bundle.getParcelable(“int

3、ent”)重新序列化sendResponse(bundle)攻击目的1:第一次序列化读让system_server找不到intent攻击目的2:第二次序列化读让settings可找到intent序列化读序列化读序列化写校验checkKeyIntent(intent)没有intentEvilParcelParcelable 类 writeToParcel 函数写入的数据在被 CREATOR.createFromParcel 读取时无法一一对应Parcel_key_namestringstringParcel_key_namestringstringstring序列化反序列化other_keyva

4、lueother_keyvalueparcel keyparcel keyparcel valueparcel valueother keyother valueanother keyanother valueParcel_key_namestringstringstring反序列化parcel keyparcel valueParcel_key_namestringstringstringother_keyvalue序列化parcel keyparcel valueother keyother valuestringother_keyvaluestringanother keyanother

5、 valueEvilParcel 分类writeToParcel 函数写入的数据被 createFromParcel 读取时不匹配漏洞原语01读和写均是顺序的,但是读和写的顺序或者类型不一致04读或写中存在分支语句,分支语言中包含 read 和 write,分支控制时考虑不当02写操作中存在 try-catch 且不抛出异常的情况03读操作中有读泛型的操作,且存在 try-catch 不抛出异常的情况05子类构造时调了父类的构造,用且父类构造函数调用了重载函数06对象序列化或者反序列化时对整个 parcel 进行了绝对位置操作EvilParcel Type#1!#$%&$()*+,-$./-%

6、0!$-0-/1)2(3&-$(#$-4!3%5(1-%/106(1(7/18 9.5-33%,-!#$%&5+%,:3%1-;+2(3&-$4!(3&-$?:3%1-+/A8B!#$%&5+%,3-(,C3+02(3&-$406(1(7/1D%/?3-(,7/18BB&$()*+,-$./-%0!$-0-/1)2(3&-$(#$-47/1-A-30E+1(1%+/8F+$-(/07)GH(3-,8!3+1-&1-,*+,-$./-40E+1(1%+/D%/?3-(,7/18B!#$%&)1(1%&I%/($J3-(1+3K*+,-$./-LJEMN;.ED/-:J3-(1+3K*+,-$./

word格式文档无特别注明外均可编辑修改,预览文件经过压缩,下载原文更清晰!
三个皮匠报告文库所有资源均是客户上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作商用。
本文主要介绍了安卓系统中的EvilParcel漏洞的自动化发现方法。EvilParcel漏洞存在于实现Parcelable接口的类中,其writeToParcel方法写入的数据与createFromParcel方法读取的数据不匹配。文章详细介绍了EvilParcel的七种类型,并给出了具体的代码示例。此外,文章还介绍了CodeQL和LLM模型在漏洞挖掘中的应用,通过定制化的规则,可以提升审计效率。最后,文章总结了当前技术的局限性,并展望了未来的发展方向。
"如何利用LLM模型助力漏洞挖掘?" "闭源系统下的漏洞自动化发现之旅" "安卓系统中的EvilParcel漏洞详解"
客服
商务合作
小程序
服务号
折叠