ボタンを介してルートへのアクセスを制限するLinuxカーネル?

ボタンを介してルートへのアクセスを制限するLinuxカーネル?

カーネル内のルートアカウントへのアクセスを制限できますか?

つまり、ボタンを押すと、システムは押したボタンを検出し、起動時にルートアカウントへのアクセスを許可します。私にとって、これは私のプログラムの1つのバグがオープンポートを持ち、脆弱なハッカー攻撃につながるのを防ぐのに役立ちます!

攻撃者の動きを制限できる場合は、機密データを損なうことなく攻撃者がアクセスできる情報も制限できます。これを行う特別な方法はありますか? Androidは、アクセス、ブートパラメータ、または他のカーネルなどの権限をどのように管理しますか?

可能ですか?

答え1

Linux/Unix では一般的に何でも可能ですが、ほとんどの場合、侵入は root アカウントにログインし、正面玄関を通して行われません。より一般的な攻撃ベクトルは、高い特権で実行されるプロセスをターゲットにして、アプリケーション機能の弱点を特定して悪用することです。

より一般的なアプローチは、このように高い権限でアプリケーションを実行しないことです。通常、rootとしてアプリケーションを起動し、代替ユーザーとしてプロセスの他のコピーをフォークします。

またありますchroot環境また、基本ファイルシステムの露出を制限するためにも使用されます。

通り過ぎるとRed Hat サーバーのセキュリティリファレンス興味があれば、私が言及した内容の多くをより詳しく扱っています。

答え2

既存の実装についてはよくわかりませんが、1つ作成できます。ポリアクリルアミドボタンを押す必要があるモジュール。

ただし、これはrootとしてログインするために使用する資格情報を取得するマルウェアからシステムを保護するだけです。たとえば、sudorootでコマンドを実行するためにパスワードを使用して入力した場合、一部のマルウェアがユーザーのパスワードを見つけた場合、ユーザーがそれを検出しなくてもマルウェアが実行される可能性がありsudoます。ボタンを押す必要がある場合、これは不可能になります。

これはほとんど役に立たない。これを行う可能性のあるマルウェアは、sudoユーザーが最初に実行されていることを発見したときにroot権限で実行されているものをピギーバックすることによって植えられる可能性があります。これは最も一般的な攻撃ベクトルではありません。マルウェアは、カーネルや root で実行されるプログラムのバグを悪用して root 権限を取得することがよくあります。これはボタンを押す必要はありません。誰にでもこれは完全に正常な動作だからです。すでに実行されているプログラムはプログラムされたタスクを実行しています。プログラムが元々実行する必要があるのではなく、攻撃者が提供したコードを実行するという事実は役に立ちません。コンピュータは、ユーザが所望のタスクを実行するのではなく、指示されたタスクを実行する。

関連情報