前面我介紹過很多隱藏程序的把戲,隨後我對每一種把戲有針對性的給出了反制措施,可以翻看我2020/03~2020/08的文章,太多了,不再一一枚舉。
如今,我要介紹一種超級簡單的手段,手藝人必備。
無論你是隱藏了程序,還是隱藏了程序的cpu利用率,只要它在cpu上執行,在下面的指令碼面前,任何隱藏手段終歸徒勞:
#!
/usr/local/bin/stap
global tbase
global tdelta
probe scheduler.cpu_on
probe scheduler.cpu_off
}probe timer.
ms($1
)// 結束時將這段時間內所有執行程序的cpu累加時間按照降序列印。
probe end
}
是的,只要你的程序執行,總逃不過核心的排程,只要程序獲得cpu就會打點取樣,程序被切換下來時再次打點取樣,二者做差就是該程序本次執行的時間,將這些時間累加起來就能獲得任意程序占有cpu的時間。
除非你的程序不在cpu上執行,不過不執行的程序又有啥用呢…
來來來,看效果:
[root@localhost test]
# /root/loop &
[1] 5814
[root@localhost test]
# /root/loop &
[2] 5815
[root@localhost test]
#[root@localhost test]
# ./times.stp 5000 # 取樣5秒
loop[5814]
= 2492109
loop[5815]
= 2490044
top[5919]
= 1417
kworker/0:1[31879]
= 1218
stapio[7125]
= 1191
xfsaild/dm-0[397]
= 1028
tuned[1003]
= 744
systemd-udevd[7126]
= 397
sshd[1384]
= 174
systemd-udevd[496]
= 157
rcuos/0[11]
= 105
systemd[1]
= 105
kworker/0:2[6831]
= 82
systemd-logind[645]
= 62
rcu_sched[10]
= 43
kworker/u2:2[285]
= 7watchdog/0[12]
= 7ksoftirqd/0[3]
= 3[root@localhost test]
#
一抓乙個準。
來,現在基於上述原理幹點正事兒。
這回我們不再為了緝拿誰而編寫指令碼,這回我們假裝為了優化排程器演算法。
我們要統計一下所有程序從排入就緒佇列到實際執行的等待時間,用以排查是否有程序飢餓。
#!
/usr/local/bin/stap
global tbase
global tdelta
probe kernel.
function
("activate_task"
)probe scheduler.cpu_on
}probe timer.
ms($1
)probe end
}
來來,看效果:
[root@localhost test]
# ./wtime.stp 5000
stapio[7727]
= 1034
rcuos/0[11]
= 747
systemd-udevd[7728]
= 244
kworker/0:1[31879]
= 236
tuned[1003]
= 159
khungtaskd[24]
= 80
rcu_sched[10]
= 64
systemd-udevd[496]
= 58
khugepaged[27]
= 20
kworker/u2:2[285]
= 20
watchdog/0[12]
= 18
auditd[609]
= 18
kworker/0:0[7139]
= 12
[root@localhost test]
#
最後,值得注意的是,stap的操作開銷巨大,二元健陣列內部實現很複雜,且cpu_on/cpu_off是系統中絕對絕對絕對的熱點熱點熱點路徑!以上手段僅僅用於發現系統異常,並非常規操作,應該嚴禁在生產環境長時間執行。
當然,經理除外。
浙江溫州皮鞋溼,下雨進水不會胖。
Linux程序隱藏問題 顯示隱藏程序
阿里云云監控到有兩台redis伺服器cpu被某程序消耗400 cpu資源 系統檢視top 情況並未找到高消耗程序x7但cpu100 ni netstat 查詢到了一些異常請求,初步判斷出元件被提權入侵了 嘗試查詢異常程序x7關聯的檔案,排查還在 etc hosts發現增加了如下異常對映,檢視相關異常...
WinNT下 真正隱藏程序
面對眾多的計算機高手,考慮許久,終於還是決定出來獻醜一下,文章內盡量使用最簡潔易懂的詞彙及例子來介紹,希望能夠對一些初學與高階者有所幫助。關於程序的隱藏,98下的例子數不勝數。winnt win2k下的隱藏方法,西祠的高手shotgun在去年的6月就已經在網上發布出例項 揭開木馬的神秘面紗 四 我也...
linux 隱藏程序 crux實現
本文在不修改ps或top命令的任何 與採用將程序號置0的方法的前提下,實現隱藏程序,本程式在crux 2.2上實現 1 原理 linux中,可以通過 proc檔案系統訪問到許多核心的內部資訊。proc檔案系統最初的設計也是用於方便地訪問程序相關的資訊,因此命名為proc。現在這個檔案系統已用於反映系...