Linux
檢查控制台應用程序是否真的退出
假設我已經啟動了一個控制台應用程序,它完成了,然後 shell 提示符再次出現。但是我怎麼能確定它是真正的命令提示符呢?例如,如果應用程序是“鍵盤記錄器”,當我嘗試退出時會啟動虛假提示,該怎麼辦?
那麼,我怎樣才能檢測到我實際上是在一個純 shell(例如 bash)提示符下?
從技術上講,我會回答你的問題,好的。你如何確保你回到了你的shell?如果您假設該程序不是惡意的,但您認為它可能會執行另一個 shell,您可以手動定義一個帶有秘密內容的秘密函式(當然您不會導出):
$ my_secret_func() { echo "Still alive"; } $ ~/Downloaded/dubious_program $ my_secret_func Still alive
如果
dubious_program
是惡意的,它可以通過將您的輸入傳遞給原始 shell 並讓它做出反應來輕鬆欺騙您。更一般地說,不安全的執行檔有多種方法可以在您的身份下安裝鍵盤記錄器(並執行許多其他惡意操作),例如將其自身安裝到您~/.bashrc
的設備中。即使沒有明顯的影響,它也可以這樣做——事實上,大多數惡意軟體都試圖不產生任何立即可見的影響,以最大限度地降低被檢測到的風險。因此,如果您不確定您執行的操作是否安全,
nobody
請在沙箱中與使用者一起執行,或者根本不執行。