chlid进程的执行是否到达从父进程继承的帧?

时间:2017-04-10 08:38:28

标签: c++ stack fork brute-force leakcanary

每当一个进程被分叉时,它会继承其父进程的地址空间,即所有内存中的代码和数据,包括放置在堆栈帧和TLS中的金丝雀。如果堆栈canary不同于新分叉的进程,逐字逐句强制执行canary值的攻击是不可行的。但是,如果执行到达从父进程继承的帧,则此部分更新将导致中止,因为这些帧中的canary cookie仍然存在他们的旧值。考虑Fig. 1: Renewing the canary in the TLS alone will result in an abort as soon as execution reaches a stack frame inheritted from the parent process.中显示的例子 我的问题是,chlid进程的执行可能会到达从父进程继承的帧。

参考:Hawkins,William H.,Jason D. Hiser和Jack W. Davidson。 "动态Canary随机化,以提高软件安全性。"第11届年度网络与信息安全研究会议论文集。 ACM,2016。

0 个答案:

没有答案