コンソールアプリケーションを起動して完了すると、シェルプロンプトが再表示されます。しかし、実際のコマンドプロンプトであるかどうかを確認できますか?たとえば、アプリが「キーロガー」で終了しようとしたときに間違ったプロンプトが表示された場合はどうなりますか?
それでは、私が誰であるかどうかをどうやって知ることができますか?実際に純粋なシェル(例:bash)プロンプトで?
ベストアンサー1
技術的にはあなたの質問に答えます。シェルに戻ったことを確認するには?そのプログラムが悪意のないと判断された場合ただし、別のシェルを実行していると思われる場合は、シークレットコンテンツを含むシークレット関数を手動で定義できます(もちろんエクスポートしません)。
$ my_secret_func() { echo "Still alive"; }
$ ~/Downloaded/dubious_program
$ my_secret_func
Still alive
悪意のある場合は、dubious_program
入力内容を元のシェルに渡して応答することで簡単にだまされます。より一般的には、安全でない実行可能ファイルがユーザーに代わってキーロガーをインストールする(そして他の多くの悪意のある操作を実行する)方法(例えば、ユーザーのID内に自己インストール)がたくさんあります~/.bashrc
。明確な影響がなくてもこれを行うことができます。実際、ほとんどのマルウェアは、検出のリスクを最小限に抑えるためにすぐに目に見える影響を与えないようにします。
したがって、実行中のジョブが安全であるかどうかわからない場合は、nobody
ユーザーと一緒にサンドボックスで実行したり、まったく実行したりしないでください。