用systemtap研究核心以及相關漏洞

2021-05-21 20:02:28 字數 1461 閱讀 6542

作者****:李先靜

前幾天寫了一篇關於kprobes的blog,kprobes是個好東西,不過要編寫c**,要編譯核心模組,稍嫌有些麻煩。今天我們介紹乙個基於kprobes實現的工具systemtap,systemtap是乙個核心trace工具,用它來研究核心,跟蹤核心執行非常方便。我玩了一下,感覺不錯,這裡做個筆記。

systemtap提供了一種簡單的指令碼語言,使用者使用指令碼語言就可以跟蹤核心執行。systemtap把指令碼語言轉換成c語言,編譯成核心模組,核心模組通過kprobes實現對核心的反射,動態修改函式的行為,增加trace功能,這樣使用者就不必寫c**,也不必編譯核心模組了,用起來方便多了。

其實網上已經有一些文章介紹systemtap,不過一般都針對特定系統而言的,這裡我們盡量不依賴特定系統,而從源**構建核心和工具。

1.       編譯核心,讓核心支援設計kprobes和debuginfo。

做如下配置:

kernel hacking

[*] kernel debugging  

[*]   compile the kernel with debug info

instrumentation support

[*] kprobes (experimental)

編譯/安裝:

make;make modules_install;make install

安裝除錯資訊:

cp vmlinux /lib/modules/2.6.18-prep

用新核心起動。

4.       試試

#stap -ve 'probe begin '

#stap -c df -e 'probe syscall.open '

好,可以工作了,下一步開始研究核心吧。

漏洞:stap-client /; ...

stap-client -; ...

stap-client -d 'asdf ; ls /etc' ...

stap-client -e 'script' -d 'asdf ; /; '

用systemtap研究核心

用systemtap研究核心 作者 李先靜 前幾天寫了一篇關於kprobes的blog,kprobes是個好東西,不過要編寫c 要編譯核心模組,稍嫌有些麻煩。今天我們介紹乙個基於kprobes實現的工具systemtap,systemtap是乙個核心trace工具,用它來研究核心,跟蹤核心執行非常方...

用systemtap研究核心以及相關漏洞

作者 李先靜 前幾天寫了一篇關於kprobes的blog,kprobes是個好東西,不過要編寫c 要編譯核心模組,稍嫌有些麻煩。今天我們介紹乙個基於kprobes實現的工具systemtap,systemtap是乙個核心trace工具,用它來研究核心,跟蹤核心執行非常方便。我玩了一下,感覺不錯,這裡...

systemtap除錯核心

systemtap是核心開發者必須要掌握的乙個工具,本文我將簡單介紹一下此工具,後續將會有系列文章介紹systemtap的用法。假如現在有這麼乙個需求 需要獲取正在執行的 linux 系統的資訊,如我想知道系統什麼時候發生系統呼叫,發生的是什麼系統呼叫等這些資訊,有什麼解決方案呢?下面將會介紹sys...