Home > Latest topics

Latest topics > FirefoxとActiveXとXPCOM

宣伝。日経LinuxにてLinuxの基礎?を紹介する漫画「シス管系女子」を連載させていただいています。 以下の特設サイトにて、単行本まんがでわかるLinux シス管系女子の試し読みが可能! シス管系女子って何!? - 「シス管系女子」特設サイト

FirefoxとActiveXとXPCOM - Aug 26, 2005

Firefoxの企業での導入に関する記事で、Mozilla Japanにも出資してるテンアートニの中の人がコメントしてるんだけど……Firefox陣営の人がこういうこと言ってると、なんかあった時にまた叩かれるんじゃなかろか。

今までにも何度かいうてきてるけど、FirefoxはActiveXに非対応だから安全だというのは、ある意味では正しい(ActiveXを狙った攻撃の影響を受けず、また、世の中にある攻撃の大半がIEのActiveXを狙ったものであるから、比較的影響を受けにくい)けど、だからといって全面的に信頼してよいとは言えない。なぜなら、Firefox(Mozilla)にはXPCOMとXPConnectという技術があるからだ。

XPCOMは、Firefoxの「ファイル操作」「通信」などといったOSに近い部分での処理を行うためのライブラリのようなものだ。それをJavaScriptから呼び出すための仕組みがXPConnect。XPConnectは基本的に、XPConnect特権を持った「信頼されたスクリプト」からしか利用できないため、原則として、Webページのスクリプトが勝手にこれらを利用することはない。

しかし、Firefox 1.0.6では既知の穴は既に修正されているけれども、XPConnect特権を不正に取得できてしまうようなセキュリティホールを突かれた場合、攻撃者はXPCOMを使ってなんでもやり放題になる。XPCOMにはファイル操作のAPIもあるしネイティブアプリケーションを起動するAPIもある、それらが全て開放されるのだから、どれほど危険な話なのかわかるだろう。この構図は、ActiveXのセキュリティの問題と全く同じものだ。

ただ、脆弱性が発見された後、修正されるまでのスピードがFirefoxの方が速いのは事実だ。ソースが一般向けに公開されている以上、セキュリティホールを放置していても誰にも気付かれないということはないから、嫌でも直さなくてはならないという強制力が働く。2005年中に報告されたIEのセキュリティホールのうち45%が対処されないまま放置されているのに対し、Firefoxの場合は未対処が6%にとどまっているのはその現れだ(数字はいずれも今日現在)。この点で「安全性が高い」と言うことはできるだろう。 graph-ie graph-fx また、報告された脆弱性の「重要度」も考える必要があって、この点でもIEの方がより深刻な脆弱性が多い。主張するならこれらの部分でだ。

ほんと、もう、機構的なセキュリティの事をメリットとして挙げるのはやめた方がいいと思うんだ……自分で自分の首を絞めるだけだから。

追記@2005.9.4。「話を抽象化しすぎだ。セキュリティホールを突かれればどんなアプリケーションでもこういう問題は起こる。それをさもFirefox固有の問題であるかのように言っている詭弁だ」という指摘があったので追記しておく。

  • IEもFirefoxも同じ「Webブラウザ」であり、常に攻撃に晒されている
  • IEの核もFirefoxのGREも、XML(HTML)ベースのアプリケーションの実行環境であり、低レベルへのアクセスが可能な独自のライブラリを持っている(ただし、IEもIEの核もWindows専用であるのに対して、FirefoxもGREもクロスプラットフォームであるという点は異なる)
  • コンテンツに埋め込まれたJavaScript(JScript)からActiveXにもXPCOMにもアクセスすることができる
  • ただし、それは信頼されたコンテンツのみに限られる

これを以て「全く同じ構図」と表現するのは確かに少し乱暴な断言かもしれないが、こういった特徴を全て内包しているWebブラウザは僕の知る限りはこの2者くらいなので、「抽象化しすぎ」とは思わない。むしろ、これ以外にも同様の例があるのなら是非教えて欲しい(これは悪意ではない)。

分類:Mozilla > Firefox, , , , , , 時刻:16:26 | Comments/Trackbacks (1) | Edit

Comments/Trackbacks

no title

「危険だ!」としか書いてなかったので、補足しておいた。

Commented by Piro at 2005/08/27 (Sat) 10:51:34

TrackBack ping me at


の末尾に2018年6月21日時点の日本の首相のファミリーネーム(ローマ字で回答)を繋げて下さい。例えば「noda」なら、「20050826160906security.trackbacknoda」です。これは機械的なトラックバックスパムを防止するための措置です。

Post a comment

writeback message: Ready to post a comment.

2018年6月21日時点の日本の首相のファミリーネーム(ひらがなで回答)

Powered by blosxom 2.0 + starter kit
Home

カテゴリ一覧

過去の記事

1999.2~2005.8

最近のつぶやき