Linux

檢查控制台應用程序是否真的退出

  • January 13, 2017

假設我已經啟動了一個控制台應用程序,它完成了,然後 shell 提示符再次出現。但是我怎麼能確定它是真正的命令提示符呢?例如,如果應用程序是“鍵盤記錄器”,當我嘗試退出時會啟動虛假提示,該怎麼辦?

那麼,我怎樣才能檢測到我實際上是在一個純 shell(例如 bash)提示符下?

從技術上講,我會回答你的問題,好的。你如何確保你回到了你的shell?如果您假設該程序不是惡意的,但您認為它可能會執行另一個 shell,您可以手動定義一個帶有秘密內容的秘密函式(當然您不會導出):

$ my_secret_func() { echo "Still alive"; }
$ ~/Downloaded/dubious_program
$ my_secret_func
Still alive

如果dubious_program是惡意的,它可以通過將您的輸入傳遞給原始 shell 並讓它做出反應來輕鬆欺騙您。更一般地說,不安全的執行檔有多種方法可以在您的身份下安裝鍵盤記錄器(並執行許多其他惡意操作),例如將其自身安裝到您~/.bashrc的設備中。即使沒有明顯的影響,它也可以這樣做——事實上,大多數惡意軟體都試圖不產生任何立即可見的影響,以最大限度地降低被檢測到的風險。

因此,如果您不確定您執行的操作是否安全,nobody請在沙箱中與使用者一起執行,或者根本不執行。

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