セキュリティ管理における「信頼」

no extension

JPCERT/CC より Web ブラウザに関するテキストが公開されている。

よくできた内容だと思うので一読することをお薦めする。

このテキストで「各 Web ブラウザに共通する設定上の注意事項」として 「スクリプト等の実行を制限する」 とある。 これブラウザ対策として必ず言われるよね。

「これらの機能は原則無効とした上で、信頼できる Web サイトでのみ限定的に有効とする等、一定の制限を加えた上で実行できるようにすべきです。」

毎度のことながら, ここではたと考えてしまうのよ。 「信頼できる Web サイト」ってなんだろうって。 何を以って「信頼できる」と言えるのか。 それに, たとえ「信頼できる Web サイト」と断言できるとしても, 乗っ取られて悪意のコードを埋め込まれる可能性もあるのだ。 とするなら「信頼できる」ことにどれだけの意味があるというのだろう。

たしかに環境によってはセキュリティ管理上厳格な運用をしなければならない場合がある。 そういうときは万一を考えて ActiveX や JavaScript を無効にするというのはあると思う。 plug-in や add-on も使うべきではないかもしれない。 しかし, Web の初期の頃ならともかく, 2.0 とまでいわれる今は多くのサイトが JavaScript を前提に構築されている。 私のこのチンケな個人サイトですらそうだ。 そういう状況で「既定で JavaScript はオフ」というルールは無茶すぎないか? (もちろん普段決まったサイトしか見に行かないような人なら無茶ではないかもしれないが)

ルールが守られないとしたら, それはルール自体に問題がある。 未然防止の鉄則のひとつだ。 「既定で JavaScript はオフ」を強制するよりは, 他の「OS や Web ブラウザは最新の状態に保つ」とか「セキュリティソフトを導入、実行する」とかを徹底する(できれば自動化する)ほうがはるかに現実的だし, より広範な安全性を確保できる。

セキュリティ管理における「信頼」は奥の深い問題である。 たとえば暗号の分野でも, PKI を構築する際には必ず「信頼」の問題にぶち当たるが, 「信頼」を確実に担保するものはなにもないのである。 しかしこれは考えてみれば当たり前の話だ。 「信頼」は常に未来に対して行われるが, その評価は過去に対してのみ可能なのである。 未来を確実に予測することはできないのだから, 確実な「信頼」などありえない。

セキュリティ管理は, 信頼性の予測ができない状況でどれだけ安全性が確保できるか, ということなのかもしれない。 だからむやみに「信頼」に頼るやり方や, 逆に「信頼」を完全に排除してしまうようなやり方は, セキュリティ管理としては筋が悪い。 一方で「既定で JavaScript はオフ」と言っておきながら, もう一方で「信頼できる Web サイトのみ有効」と言ってしまうのはバランスを欠いている。 繰り返しになるが, その「信頼」ってのはなんなの? 何によって担保されるの? ということである。

まぁ最初に挙げたテキスト自体はよくできてると思うので, あとは自分の利用状況の中でどのように対策を組み立てていくか考えていけばいいと思う。 (そして常に自分がやってることに対するチェックを怠らないこと)