arrow
返回

Exploiting CPython’s just-in-time optimization: StencilLeak attack

delete2026-10-26
delete0
PRE
AI
S
Seehwan Yoo
Y
Youngpil Kim *
C
Chuck Yoo
DOI:10.1016/j.cose.2026.105203delete
delete原文链接
delete分享
delete收藏
摘要

摘要

En 中文
CPython的实验性复制-修补即时编译器(JIT)将运行时生成的可执行缓冲区添加到解释器、扩展模块和共享库中已有的本地代码中。我们首次系统地分析了CPython的复制-修补JIT作为代码重用表面的安全性,并在x86_64架构的CPython 3.14上进行了评估。固定模板字节和修补位置元数据可以在执行前进行编目,而模板选择、修补字节、布局、 gadget可用性和地址则需要运行时观察。我们引入了StencilLeak,一种结构化、生成级别的代码重用技术,其中源结构影响所生成的模板,而gadget字节保持由引擎和分配器控制。可用的gadget集合结合了确定性模板生成的gadget与在ASLR随机化的修补指针立即数中形成的概率性gadget,并通过非对齐解码暴露出来。我们的威胁模型假设一个独立的内存安全缺陷或利用链提供可重复的JIT缓冲区泄露、可写链存储以及受控的传输和受控的栈。为隔离劫持后阶段,一个仪器化框架直接提供相应的内存和控制状态,定位所需gadget,从JIT驻留字节构建完整的本地返回导向编程(ROP)链,并从其第一个gadget执行。此外,在评估的确定性工作负载下(禁用垃圾回收,每个进程的搜索预算为两小时),一次干运行基准测试测量了gadget集合的可用性:500个新进程中251个暴露了所有五个必需模式(50.2%)。综合这些结果将固定模板字节和运行时修补值确立为CPython复制-修补JIT代码重用表面的互补组件。
Keyword:
CPython
Just-in-time compilation
Return-oriented programming
Software security
StencilLeak

期刊

C
COMPUTERS & SECURITY
IF:
5.4
论文数:
325
被引数:
0

机构

I
incheon national university
学者数:
245
论文数: 106
被引数: 0
D
Dankook University
学者数:
237
论文数: 106
被引数: 0
K
Korea University
学者数:
1.9K
论文数: 760
被引数: 0
学者 查看更多机构
引用论文

引用论文

暂无论文信息