書く内容の方針とかはフラフラしているのです。あまり考えていないかも知れません。面白いなぁと思うこと、大事なことだなぁと思うことを書いています。あんまり悲しいことは書かない主義。

MozillaおよびFirefoxはXULでユーザインタフェースを表示しています。悪意ある攻撃者は巧妙に作成されたjavascriptを通じてXULを偽造してニセモノのブラザ表示画面を作成することが出来ます。最初に空のウインドウを作成しXULでニセのアドレスバーやステータスバー等を作成する他、ステータスバーから呼び出すはずのSSL認証確認ダイアログまでも偽造することが出来ます。致命的です。
詳しくはSecuniaによるAdvisory、Mozilla / Mozilla Firefox User Interface Spoofing Vulnerabilityをご覧下さい。Firefox専用ですが、https(SSL)のPayPal のウェブサイトのフリをするデモページもあります。英語版のFirefoxを私は使っていますがこのデモページには驚きました。完璧な偽装です。危険なことこの上ありません。
ごく簡単な自衛策があります。Firefoxでのみ確認しましたが、Mozillaでも恐らく有効でしょう。
自衛策の眼目としては、以下となります。偽装側のポイントは開かれたウィンドウにおいてアドレスバーとステータスバーを不可視にしXULで代替の悪意あるアドレスバーとステータスバーを作成表示するところにあります。これに対抗する為、javascriptから開かれるウィンドウでは、アドレスバーとステータスバーの不可視化を禁止することになります。この対策は今回のようなデモでなくとも原理的に全てのウィンドウに対して有効です。悪意があろうがなかろうが開かれたウィンドウにおいてアドレスバーとステータスバーはブラウザが正当に用意したものを強制表示することになります。私見ですがこの設定は本来の姿でして、Mozilla/Mozilla Firefoxならずとも、OperaやIEでも既定値として設定できればフィッシング詐欺はずいぶんとやりづらくなることでしょう。
では、やりかたを。Firefoxでの例です。
以上でアドレスバーとステータスバーの不可視化をjavascriptからは出来なくなりました。https(SSL)のPayPal のウェブサイトのフリをするデモページで効果を確認してください。アドレスバーもステータスバーも本物とニセモノとが共に表示されるようになります。これではフィッシングは難しいことでしょう。
この対策は以下の意味において有効です。javascriptでwindow.open()関数を用いる時に、3番目のパラメータがwindow_open_featureなのです。上の対策のうちdom.disable_window_open_feature.locationをtrueにするとは、window.open()関数において以下を無効化することとなります。
newwin = window.open("URL","","location=0");
statusについても同様です。
厳密に言えば、上にあげたabout:configによる設定は、prefs.jsの設定をダイレクトに行うものです。主設定プロファイルとしてuser.jsを自作している方々はそちらで調整願います。user.jsがprefs.jsを上書きしてしまうからです。もっとも、user.jsを自作しているほどの人ならばすぐにわかると思いますけれども。釈迦に説法でしたか。申し訳ありません。
また、defaultなゾーンについての設定を上では考えております。user.jsによって複数のゾーンを作成し、それぞれのゾーンについてセキュリティー上のポリシーを作成している方々にお尋ねしたいのですが、dom.disable_window_open_feature.locationないしstatusはゾーンごとに作成するべきなのでしょうか?
以上、id:mitamu様からのご指摘により追記させて頂きます。mitamu様、ありがとうございました。なおmitamu様のご調査により以下のこともわかりました。dom.disableほにゃららは、各ゾーン共通で良いようです。
アドレスバー偽装が可能であったOpera7.53(Build3850)でしたが、(Build3864)が日本版で登場、同偽装による脆弱性はFIXされている模様です。Opera.comを見に行きましたがまだ英語版では(Build3850)のままでした。日本語版世界にさきがけて先行ロードショーみたいな。
kak
2004/08/03 08:48
素晴らしい。fakeが表示されました。確かにこれだとフィッシングは難しくなるでしょうね。
hoshikuzu
2004/08/04 00:38
FireFoxについては、今回のXULの無制限記述BUGが対処された後でも、このTIPSは推奨です。XULでなくともそれらしい画面(特に初心者にとっては)をDHTMLで作成可能だろうと私は推測しています。でもDHTML、もとい、そもそもCSSについてはわからないですし、ましてやjavascriptからCSSの各諸元を操作することなど私には不明ですけれど。ところで今このコメントを書いていてわかりましたがコメント欄がinputのtype=textではなくなりましたね。MacIE5の場合ちぃとやばかったような遠い記憶が。きっとエライ人がなんとかするでしょう。