ユーザーはカーネルモードで自分のプログラムを実行できますか?ユーザーはどのようにこれを行うことができますか?システム保護メカニズムのどんな弱点を迂回すべきですか?
私の意見では、ユーザープログラムは割り込みベクトルのモードビットをユーザーモードからカーネルモードに切り替えることができ、それからあなたが望む割り込みハンドラを実行できると思います。私は正しい道を行っていますか?
ベストアンサー1
ユーザーはカーネルモードで自分のコードを実行できません。カーネルモードを使用すると、プログラムはマシン(この場合は仮想マシン)のさまざまな側面を制御できます。カーネルモードでコードを実行すると、すべてのセキュリティ対策がバイパスされます。
モジュールをロードしてカーネルモードでコードを実行できます。もちろん、ルートのみモジュールをロードできます(一部の静的セキュリティ構成では、この機能を無効にできます)。
「ユーザープログラムが割り込みベクトルのモードビットをユーザーモードからカーネルモードに切り替えることができる」ということが何を意味するのかわかりません。ユーザープログラムは割り込みベクトルを制御できず、カーネルはそれを自分で予約します。