解答例
解説
-
この問題に関しては上記のように要求を全て満たし,
脅威を全て回避することが可能である.
-
イカサマが起きてしまう理由は,
- 審判役のコードが "hand"に一時手を記録してしまう.
- 選手役のコードがその"hand"の中身を読む権限をもってしまう.
が同時に起こるためである.
-
問題文の要求
[HTML]
に「2. 審判は選手の出した手(グー,チョキ,パー)の値を,プロパティ hand に保存し,それを読み出せること. 」
とあるので,イカサマを回避する方法は一つに限られてしまう.
-
すなわち上記後者の理由「選手役のコードがその"hand"の中身を読む権限をもってしまう.」
をツブす(ポリシーによりパーミッションをNGにする)しかない.
-
ポリシーツール
[JPG]
で,ツブしたい脅威が必要としているパーミッションのうちで,
二行目は他(特に要求側)では使われていないので,
このパーミッションをNGにするようにポリシーファイルを編集した.
Small Discussion
以下のような興味深い考察(意見)をいただいたので,
ちょいとレスポンスします.
ポリシーの目的としてはイカサマを防止することを念頭に置いたが,パーミッションを設
定する上では内部の構造(どういったプロパティをどのように使うか)ということを把握す
る必要があるようなので,
そもそも最初にロードされるモバイルコードが信頼できるかどうかにかかっているような
気がした.どこかからダウンロードしたようなものに正確なセキュリティポリシーを記述
することは不可能だと思う.
自分で構造を把握しているコードが想定外の動作をすることを抑えるような状況を想定
しているのでしょうか.セキュリティポリシーを記述することがどのような意味があるの
か,誰のために誰が書くのかについてもう少し教えて欲しいです.
この演習の背景や目的はいくつかあるのですが,
上記にかかわる点を列挙します.
-
ある処理がある資源へアクセスするのを制限する記述を通して
「ユーザーにとって重要な情報な情報を保護する」
というセキュリティの基本概念を体感すること.
-
モバイルコードに限らず,
自分が書いたわけではない多数のコード(APIやライブラリ等も含め)を
張り合わせてソフトウェアを開発するという現状に対して,
少しばかりは安全性が高まる技術を具体的に学ぶ.
-
そもそもそのアプリケーションを通して何がやりたくて(要求),
何が起こったら困るか(脅威)を利用者自身が探求しなければならない
という意識を高めるためのトレーニング.
-
アプリケーションを実行するユーザーが自分のために
アプリケーションへのポリシィ(実行制限と読み替えてもよい)を決める
のが理想である.
しかし,どんなユーザーもそのような作業を行えるわけではないので,
ユーザーの希望を聞いてポリシィ決定を代行する業者が存在しても
よいと思う(用心棒のようなもの).
実際,ユーザーを企業に読み替えれば,
企業おかかえのセキュリティアナリストは,このような代行業者ともいえる.
目次にもどる
|
kaiya
|
|
$Id: index.html,v 1.4 2006-01-17 23:13:30+09 kaiya Exp kaiya $
|