パスワードを忘れた? アカウント作成
7539 story

ファイル名偽装の脆弱性、Opera 7からも見つかる 25

ストーリー by Oliver
落し穴は拡張子だけではなかった 部門より

greentea曰く、"INTERNET Watch記事によると、Secunia社は、Opera 7.xにIEで見つかったファイル名偽装と同じような脆弱性を発見した。危険度は“中”。この脆弱性は、Operaにおいてファイルをダウンロードする際に表示されるダウンロードダイアログにおいて「開く」ボタンをクリックすると発生する。この脆弱性を攻撃者に悪用されると、ユーザーに安全なPDFやTXTファイルだと思わせて、悪意のコードを含んだプログラムを実行させることができるという。原因は、ファイル名にCLSID(Class ID)を埋め込むことにより、本来開くべきアプリケーションではなく、GUID(Globally Unique Identifier)に関連付けられたほかのアプリケーションでファイルを開いてしまうというもの。Secuniaが用意したデモサイトではPDFファイルだと思わせて、ファイルを開かせるデモが公開されている。この脆弱性を回避するためには、ダウンロードダイアログで「開く」を選択せずに、「保存」を選び、一旦PCに保存してから実行すれば本来のアプリケーションで実行されるため、問題が起きにくい。"

この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。
  • IEのときもそうでしたが、なぜファイル名が偽装できるのが脆弱性となるのか?

    「ファイルを開く」ことと、「アプリケーションを実行する」ことが両方とも同じ操作(ダブルクリック)になっているからですね。

    ファイル名の拡張子がアプリケーションと関連づけられている→任意の拡張子のファイルを送り込むことによって、攻撃者の意図するアプリケーションを実行せしめることができる、というのもありますが。

    「アプリケーションをダブルクリックで実行しない」というオプションを付加したらどうなるでしょうかねー。
  • by ema_____ (15476) on 2004年02月17日 3時04分 (#497029)
    デモサイトで試してみたのですが、Mozilla Firefox 0.8 でも、
    「開く」を選択すると、Firefox 内で Internet Explorer の
    コンポーネント(?)を用いてファイルを開いてしまうようです。
    これは同様の脆弱性になり得ないのでしょうか?^^;
    (プロセスは Firefox.exe になっているのですが、右クリックしてみると、
    Internet Explorer のメニューが表示されます。)

    Windows2000 + Mozilla Firefox 0.8 + Internet Explorer 6 SP1 で確認しました。
    • 私は、Mozilla Firefox 0.8 にこの脆弱性は無い。もしくは、IE や Opera よりも断然に安全と考えます。理由は、拡張子を完全に隠せないからです。

      IE6, Opera7.50 と Mozilla Firefox 0.8 に於けるダイアログを検証 [home.ne.jp] してみましたので、ご覧ください。

      セキュリティパッチを宛てた IE や最新版の Opera でも、拡張子は明らかに pdf と見えます。しかし、Mozilla Firefox 0.8 では、余分な CLSID が見て取れます。明らかに pdf ファイルではありませんし、スクロールして残りを確認することも出来ます。

      但し、今後もこの手の長すぎる拡張子に対応した修正を加え、利用者が誤って怪しいファイルを開かない対策をしていく必要があると痛感しました。

      親コメント
      • by Anonymous Coward on 2004年02月17日 6時12分 (#497045)
        Firefox の方は、もう少し空白を増やせばファイル名の所は
        完全にごまかせそうですね。「選択:」の行が残るので
        不審な感じは演出できますが。

        OperaもFirefoxもアイコンが明らかに変なので
        IEと比べたら違和感を覚える機会はありそうです。
        親コメント
    • タレコミ子です。私もタレコミ前にFirefoxでデモサイトを試してみました。
      結果はやはり、開くを押すとIEのコンポーネントでファイルが開かれました。

      しかし、今回の脆弱性はあくまでファイル名(っていうか拡張子)の偽装つまり、
      デモサイトの例ではIE、OperaではファイルタイプがPDFと表示されるのに、
      開いてみるとPDFではないということです。

      今回の件では、Firefoxはファイルタイプを間違えてはいませんし、
      "開くを選択するとデフォルトのアプリケーションで開く"というのは正常な動作です。

      だから、今回のバグとFirefoxは無関係であると考えました。

      #脆弱性そのものよりも hogehoge.pdf        .{1234}
      #みたいな単純な小細工を見逃すことのほうがこわいのでは。
      --
      1を聞いて0を知れ!
      親コメント
  • by thumpers (5900) on 2004年02月17日 9時04分 (#497080)
    動作環境:Opera7.23 buid3226 OSはWindowsXP Pro SP1

    Secuniaのデモサイトで問題のリンクをクリックすると、 ダイアログの内容は以下のようになります。
    ファイル:Secunia.pdf
    サーバー:secunia.com
    ファイルタイプ:applicati0n/pdf
    開く:【フォルダのアイコン】Secunia.pdf
    このファイルを開きますか?保存しますか?
    本当のpdfファイルの場合は4行目が
    開く:【PDFのアイコン】Protable Document Format
    となってますので、ここを注意してみれば回避・・できるのかな?
    • Opera 7.23,Build 3226,Windows 2000ですが、
      ファイル名はSecunia.pdf(スペース沢山).[3050f4d8-98B5-11C...
      でしたよ。
      #Firefoxと同じ状態?

      ちなみに、Netscape7だと
      「"Secunia.pdf
      .{3050f4d8-98B8-11CF-BB82-00AA00BDCE0B}Secunia_Internet_Explorer%2epdf"ファイルのタイプは
      Applicat0n/pdfです。Netscapeでは、このタイプファイルを処理できません。」がでます。
      #ファイル名の文字列、違ってるかもしれない
      親コメント
    • 4行目しか違わないってことは、この人の環境では pdf の MIME を

      ファイルタイプ:applicati0n/pdf

      にしてる、ってこと?カコイイ!

      なんちて。
  • 変に開くとコンピュータウイルスが検出される恐れがあるので、私の場合は[ファイルに名前を付けて保存]という形を取っています。
    --
    Super Souya
  • by Anonymous Coward on 2004年02月17日 10時23分 (#497123)
    これってWindowsだけなんだよね?
    OSについてもきちんと明記してほしいなあ。
    • by gesaku (7381) on 2004年02月17日 16時56分 (#497441)
      私のLinux ZaurusでもOperaが動いてますが、こんな地雷踏んだら
      カレンダーの「あーんな予定」や住所録の「こーんなデータ」が
      盗まれてしまったりするんでしょうか?

      もし盗んでも2/14のスケジュールは見ないで(ny

      #分かってて言ってますんで念のため。
      親コメント
    • という訳で確認。
      赤帽子用Opera7.23でも、似たような表示になりました。
      但し、
      > 開く:【フォルダのアイコン】Secunia.pdf
      の部分が空白になっており、「開く」ボタンも無効になってました。
      解釈不能な為と思われます。

      …OSが違っても、そのOS狙い撃ちなファイル名ならば動作する可能性がある?
      --
      ゑみった。
      親コメント
    • by Anonymous Coward
      前から疑問なんだけど、トランスウェアに金払ってもちゃんと開発者の所に届くの?
  • by Anonymous Coward on 2004年02月18日 1時07分 (#497802)
    久しぶりに名前を聞きました。
typodupeerror

計算機科学者とは、壊れていないものを修理する人々のことである

読み込み中...