Linux-Kernel

我可以追踪一個“越獄”的程序嗎?

  • July 15, 2019

如果一個程序實際上可以乾擾其他程序,是否有可能追查到它?通過打破監獄,我的意思是它克服了阻止一個程序直接與其他程序互動的虛擬化。

這取決於突破是如何完成的。

如果你說的是chroot()越獄,程序的 PID 不會改變,類似的東西strace應該​​沒有問題產生它的痕跡。

如果突破是通過利用核心或硬體弱點而發生的,則嘗試在漏洞利用過程中跟踪被監禁的程序可能會產生非常奇怪的結果,甚至會使跟踪工具和/或 VM 徹底崩潰,因為跟踪所需的額外操作可能不會適合漏洞利用打開的“洞”。

或者,如果漏洞發生在彙程式序級別,它可能根本不會註冊strace. 請記住,strace主要跟踪系統呼叫和信號:漏洞利用可能基於首先以特定方式在記憶體中準備一些程式碼,然後執行一系列非常特定的彙程式序級操作,這些操作可能根本不需要進行任何系統呼叫. 甚至要看到這一點,您需要使用gdb可以單步執行單個 CPU 指令的調試器(或類似的)……即使這樣,跟踪漏洞利用的行為可能會阻止漏洞利用按預期工作。

引用自:https://unix.stackexchange.com/questions/530180