The Old New Thing : When people ask for security holes as features: Privileged execution
セキュリティホールを機能として欲しがる人々:特権実行
ある顧客が、ドライバを書かずに、特権命令を実行する方法があるかどうかを、訊ねてきた。
「命令をいくつか実行するだけなんだよ。いちいちドライバなんて書くのは面倒でしょ。だって、たったの三つの命令なんだもん。ドライバなしで特権命令を実行する方法ない?」
ドライバというモジュールのクラスがある、そもそもの目的は、そういったことを防ぐためにある。ドライバだけが、特権命令を実行できる。だからこそ、特権命令なのだ。
「だよねぇ。でもたったの三つだけなんだよ。わざわざドライバ書かないといけないのかな?」
たったひとつの命令ですらシステムをブッ壊せる。そういう強力なことをするには、ドライバからでなければ、ならない。
「ひょっとしたらさ、ぼくの実行したい命令を与えると、代わりに実行してくれるドライバを、誰かが書いてるかも知れないよね。そういうの使えば、実行できるかな?」
もし、誰かが、ユーザーモードから渡される任意の命令を実行するドライバを書いているとすれば、そいつはオモテに引きずり出してフクロにする必要がある。任意のコードを実行させるのですらバグなのに、ドライバ自ら、わざとやるというのか?
ドライバを書くということを、原子力発電所の重要な場所に入ると考えて見給え。コントロールルームに入る前に、セキュリティチェックを通過して、許可をもらわなければならない。君が原子力発電所のコントロールルームに入るのにだって、セキュリティチェックが必要だ。
「でもさ、それって面倒なんだよね。ぼくはただ、制御装置の設定をいくつか変えたいだけなんだ」
キミィ、だからこそ許可が下りず、設定も変えられないというわけだ。
君がすべきことは、自分でセキュリティを通過するか、セキュリティを通過できるものに頼むしかないんだよ。
「じゃあさ、セキュリティを通過できて、ぼくの頼んだ変更を何でも引き受けてくれる人知ってる?」
やれやれ、彼がまともな良識を持っていることを願う
最後のリンク先は、ホーマー・シンプソン。夫にして、父親にして、スプリングフィールド原子力発電所の安全監査員にして、ボーリング選手にして、ビール飲酒者にして、宇宙飛行士にして、中小企業の社長にして、夢見人にして、これらすべてを、いとも簡単そうにこなす者。
No comments:
Post a Comment