Confused deputy problem

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』

Confused Deputy Problem混乱こんらんした使節しせつ問題もんだい)は、Capability-based security重要じゅうようせいしめれいとして 情報じょうほうセキュリティ分野ぶんやげられる問題もんだいである。 ユーザおよびクライアントプログラムが、より権限けんげんたか代理だいりプログラムを使用しようすることにより、想定そうていがいのセキュリティホールを可能かのうせいがある。

Deputy[編集へんしゅう]

Deputy (使節しせつ代理人だいりにん)は、クライアントによってされ、クライアントによって一時いちじてき権限けんげんあたえられ、クライアントのわりに(使節しせつとなって)はたらくアプリケーションである。クライアントは deputy にどのリソースに作用さようすべきか、その名前なまえ提供ていきょうする。deputy には作業さぎょう必要ひつようとなるほか作用さようおこなうための権限けんげんまれている。

たとえばパスワード変更へんこうするためのUNIXの passwd コマンドが好例こうれいである。一般いっぱんのユーザはパスワードファイルへのアクセスが禁止きんしされているが、このコマンドをもちいるとパスワードファイルを操作そうさすることができる。

混乱こんらんした Deputy[編集へんしゅう]

ここで、クライアントが自分じぶんには操作そうさする権限けんげんのないリソースを指名しめいしたとしよう。deputy はそのリソースにたい通常つうじょうどおり動作どうさしようとする。deputy には十分じゅうぶん権限けんげんまれているから、セキュリティ機構きこうはその動作どうさ許可きょかする。この権限けんげん濫用らんようのせいで、deputy ははんして、セキュリティルールが排除はいじょしようとするクライアントの操作そうさたいする間接かんせつてき共犯きょうはんしゃになるのである。もしシステムの意味いみろんが、「この動作どうさわたしのクライアントの権限けんげんふくすべきであります」などと deputy に主張しゅちょうさせなければ、deputy を犯罪はんざいしゃにすることもないはずなのだ。

passwdコマンドのれいつづけよう。このコマンドには、のユーザのパスワードを変更へんこうするオプションがある。そのコマンドを起動きどうしたユーザの使節しせつとなって、のユーザのパスワードを変更へんこうする権限けんげんがコマンド自体じたい実際じっさいまれているのである。セキュリティホールをふせぐには、passwdコマンド自体じたいきびしく(たとえばルート権限けんげん動作どうさしていることを)チェックするよりない。

Capability をもちいた解決かいけつ[編集へんしゅう]

Capability を導入どうにゅうすると、この問題もんだい解決かいけつする。クライアントから Deputy にわたされる名前なまえを capability とし、必要ひつよう権限けんげん自然しぜんふくむようにする。Deputy はその capability をつうじて動作どうさする。クライアントは自分じぶん所有しょゆうしない capability を提供ていきょうすることはできないはずである。

passwdコマンドのれいでいえば、この手法しゅほうによってユーザは事実じじつじょうパスワードファイルのなか自分じぶん自身じしんのエントリーだけを変更へんこうできるようになる。passwdのようなコマンドを起動きどうするプログラムも同様どうよう制限せいげんける。

関連かんれん項目こうもく[編集へんしゅう]

外部がいぶリンク[編集へんしゅう]

  • The Confused Deputy, the original article describing the problem
    ここでは、home file licenseをあたえられたコンパイラの出力しゅつりょくオプションを悪用あくようしてコンパイラとおなじディレクトリにある課金かきん情報じょうほうファイルを上書うわが破壊はかいするれいしめされている。課金かきん情報じょうほうファイルのファイルめいわかりさえすれば、コンパイラのデバグ情報じょうほうファイルの名前なまえ意図いとてき課金かきん情報じょうほうファイルと同一どういつにしてコンパイラを起動きどうすればいい。ここでファイルめいわりに、ファイルめい上書うわが権限けんげん一体いったいにした capability をコンパイラが要求ようきゅうすれば、コンパイラを起動きどうしたもの十分じゅうぶん権限けんげんたない場合ばあいファイル出力しゅつりょく段階だんかい悪事あくじふせぐことができるとしている。