パスワードを忘れた? アカウント作成
この議論は賞味期限が切れたので、アーカイブ化されています。 新たにコメントを付けることはできません。

WindowsにおけるDLLハイジャック脆弱性、多くのメジャーなソフトウェアにも」記事へのコメント

  • Windowsの多くのソフトが危うくて危険が険しいと言うことですか。
    WebDavとかいうのが一番悪いというわけではなく、
    WindowsのDLL読み込み順序の仕様が致命的なミスを誘うようになってたと言うことですか?

    よくわからんのですが、例えばある解凍ソフトがあるDLLを使う場合に、
    そのDLLと同名の悪意を持ったDLLを解凍ソフトの.exeと同じフォルダに配置して、
    解凍ソフトを実行した場合に悪意を持ったDLLが読み込まれて問題が起きると言うことですか?
    その場合は.exeと同じ場所(もしくは環境変数で指定されている場所など)に
    悪意を持ったDLLを置かせないよう、気を付けていれば問題ないのですか?

    • by Anonymous Coward

      >解凍ソフトの.exeと同じフォルダ

      この場合、適当な圧縮ファイルをダブルクリックすると解凍ソフトが立ち上がると思うが、
      その時その圧縮ファイルと同じフォルダに悪意のある名前のDLLが有れば、それが実行されてしまう。
      そしてWebDavのおかげでそのフォルダがネットの向こうにあっても構わない。

      • by Anonymous Coward
        > その時その圧縮ファイルと同じフォルダに悪意のある名前のDLLが有れば、それが実行されてしまう。
        より正確に言えば、解凍ソフトの.exeが置かれているフォルダに目的とするDLLが存在せず、かつ、圧縮ファイルの置かれたディレクトリにその名前と同名の悪意のあるDLLファイルが置かれている場合、でしょ。DLLのサーチ順序は、カレントディレクトリよりもEXEファイルが置かれているディレクトリの方が先ですから。

        要するに攻撃者が攻撃を成功させるためには「.EXEのあるディレクトリから該当するDLLを削除したのちに」、悪意のあるDLLとそれをキックするための文書ファイルを送り付けなきゃいけないわけで、サーチ順序の最初にある「.exeが置かれているフォルダ」というのを無視した議論なんじゃないのかねぇ
        • Re: (スコア:1, 参考になる)

          > 「.EXEのあるディレクトリから該当するDLLを削除したのちに」

          それは不要でしょう。XPなんかだと、カレントディレクトリの方がシステムディレクトリや環境変数PATHの検索より優先順位が高いので、
          ・「Windowsのシステムが提供するDLL」などのシステムディレクトリにあるDLL
          ・複数アプリケーションで共有するためなどの理由で、EXEファイルとは別の、PATHの通ったディレクトリに置いてあるDLL
          については、同名のDLLによる差し替えが可能になります。それで十分驚異的。

          タレコミに上がっている実行例ではwab32res.dll が狙われています。

          • by Anonymous Coward on 2010年08月27日 22時53分 (#1816624)

            実行ファイルが置いてあるディレクトリに不正なDLLファイルがある時点で、サーバ提供者に悪意があるかサーバがクラックされている可能性があるので
            実行ファイル自体も細工がされている可能性があるし、これのどこが脆弱性なのかな?と思う。

            それなら、UNIX系で何らかの理由で外部鯖のPATHが優先される設定環境において、
            外部鯖がクラックされて標準的なコマンドと同名の悪意あるコマンドファイルが置かれた場合も同じじゃないかと思う
            (コマンドの絶対パス確認コマンドやらチェックサムコマンドが乗っ取られたら分からないし)

            親コメント
            • by Anonymous Coward

              ちゃんと読んだ?EXEのあるフォルダのファイルを書き換える必要はないよ?って話をしているよ?

吾輩はリファレンスである。名前はまだ無い -- perlの中の人

処理中...