アカウント名:
パスワード:
Windowsの多くのソフトが危うくて危険が険しいと言うことですか。WebDavとかいうのが一番悪いというわけではなく、WindowsのDLL読み込み順序の仕様が致命的なミスを誘うようになってたと言うことですか?
よくわからんのですが、例えばある解凍ソフトがあるDLLを使う場合に、そのDLLと同名の悪意を持ったDLLを解凍ソフトの.exeと同じフォルダに配置して、解凍ソフトを実行した場合に悪意を持ったDLLが読み込まれて問題が起きると言うことですか?その場合は.exeと同じ場所(もしくは環境変数で指定されている場所など)に悪意を持ったDLLを置かせないよう、気を付けていれば問題ないのですか?
>解凍ソフトの.exeと同じフォルダ
この場合、適当な圧縮ファイルをダブルクリックすると解凍ソフトが立ち上がると思うが、その時その圧縮ファイルと同じフォルダに悪意のある名前のDLLが有れば、それが実行されてしまう。そしてWebDavのおかげでそのフォルダがネットの向こうにあっても構わない。
> 「.EXEのあるディレクトリから該当するDLLを削除したのちに」
それは不要でしょう。XPなんかだと、カレントディレクトリの方がシステムディレクトリや環境変数PATHの検索より優先順位が高いので、・「Windowsのシステムが提供するDLL」などのシステムディレクトリにあるDLL・複数アプリケーションで共有するためなどの理由で、EXEファイルとは別の、PATHの通ったディレクトリに置いてあるDLLについては、同名のDLLによる差し替えが可能になります。それで十分驚異的。
タレコミに上がっている実行例ではwab32res.dll が狙われています。
要するに、この爆弾を起爆するには、カレントディレクトリよりも上位にある同名のDLLを全部削除しなきゃ駄目。少なくとも、XPsp2以降またはWindows2000sp4はね。
> 要するに、この爆弾を起爆するには、カレントディレクトリよりも上位にある同名のDLLを全部削除しなきゃ駄目。少なくとも、XPsp2以降またはWindows2000sp4はね。XP SP2以降はそのとおりですが、Windows 2000 SP4ではSafeDllSearchModeはデフォルト無効ってそのリンク先に書いてるみますよ。まあすでにサポート終了していて致命的な脆弱性も発見済みなのでどうでもいいですが。
っ GOLD
実行ファイルが置いてあるディレクトリに不正なDLLファイルがある時点で、サーバ提供者に悪意があるかサーバがクラックされている可能性があるので実行ファイル自体も細工がされている可能性があるし、これのどこが脆弱性なのかな?と思う。
それなら、UNIX系で何らかの理由で外部鯖のPATHが優先される設定環境において、外部鯖がクラックされて標準的なコマンドと同名の悪意あるコマンドファイルが置かれた場合も同じじゃないかと思う(コマンドの絶対パス確認コマンドやらチェックサムコマンドが乗っ取られたら分からないし)
ちゃんと読んだ?EXEのあるフォルダのファイルを書き換える必要はないよ?って話をしているよ?
カレントディレクトリがとくに危険なのは、誰でも自由に書き込めるディレクトリでも簡単にカレントに設定できる(どころか何も考えていない多数のアプリが無雑作に設定してることすらある)から。(デフォルト管理者のXPではほとんど無意味な配慮ですが)誰でも書き込めて攻撃者がパスを予測できるような場所にアプリケーションをインストールするなってことですね。# Chromeェ…> XPなんかだと、カレントディレクトリの方がシステムディレクトリや環境変数PATHの検索より優先順位が高いので、XP SP2からデフォルトでシステムディレクトリよりは後回しになった。PATHよりはまだ早いみたいだけど。http://msdn.microsoft.com/en-us/library/ms682586(v=VS.85).aspx [microsoft.com]
だから他の人が指摘してるけど、XPSP2以降はそんな検索順序じゃねぇ。XPSP2未満だと既にサポート外だから最初から危険。
纏めるっていうなら伝聞だけでなくちゃんと調べろ。流言蜚語をばら撒くな、馬鹿。http://msdn.microsoft.com/en-us/library/ms682586(v=VS.85).aspx [microsoft.com]へのリンクがこれだけ指摘されているのに何言っているんだ。http://srad.jp/security/comments.pl?sid=505937&cid=1816531 [srad.jp]http://srad.jp/security/comments.pl?sid=505937&cid=1816648 [srad.jp]http://srad.jp/security/comments.pl?sid=505937&cid=1816634 [srad.jp]読み込もうとするDLLがカレントディレクトリか%PATH%にのみ存在する場合が危ないの。
叩くってこんな感じでいい?もうちっと強いほうがデマは沈静化するかな。
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
未知のハックに一心不乱に取り組んだ結果、私は自然の法則を変えてしまった -- あるハッカー
つまりどういうことだってばよ!? (スコア:0)
Windowsの多くのソフトが危うくて危険が険しいと言うことですか。
WebDavとかいうのが一番悪いというわけではなく、
WindowsのDLL読み込み順序の仕様が致命的なミスを誘うようになってたと言うことですか?
よくわからんのですが、例えばある解凍ソフトがあるDLLを使う場合に、
そのDLLと同名の悪意を持ったDLLを解凍ソフトの.exeと同じフォルダに配置して、
解凍ソフトを実行した場合に悪意を持ったDLLが読み込まれて問題が起きると言うことですか?
その場合は.exeと同じ場所(もしくは環境変数で指定されている場所など)に
悪意を持ったDLLを置かせないよう、気を付けていれば問題ないのですか?
Re: (スコア:0)
>解凍ソフトの.exeと同じフォルダ
この場合、適当な圧縮ファイルをダブルクリックすると解凍ソフトが立ち上がると思うが、
その時その圧縮ファイルと同じフォルダに悪意のある名前のDLLが有れば、それが実行されてしまう。
そしてWebDavのおかげでそのフォルダがネットの向こうにあっても構わない。
Re:つまりどういうことだってばよ!? (スコア:0)
より正確に言えば、解凍ソフトの.exeが置かれているフォルダに目的とするDLLが存在せず、かつ、圧縮ファイルの置かれたディレクトリにその名前と同名の悪意のあるDLLファイルが置かれている場合、でしょ。DLLのサーチ順序は、カレントディレクトリよりもEXEファイルが置かれているディレクトリの方が先ですから。
要するに攻撃者が攻撃を成功させるためには「.EXEのあるディレクトリから該当するDLLを削除したのちに」、悪意のあるDLLとそれをキックするための文書ファイルを送り付けなきゃいけないわけで、サーチ順序の最初にある「.exeが置かれているフォルダ」というのを無視した議論なんじゃないのかねぇ
Re:つまりどういうことだってばよ!? (スコア:1, 参考になる)
> 「.EXEのあるディレクトリから該当するDLLを削除したのちに」
それは不要でしょう。XPなんかだと、カレントディレクトリの方がシステムディレクトリや環境変数PATHの検索より優先順位が高いので、
・「Windowsのシステムが提供するDLL」などのシステムディレクトリにあるDLL
・複数アプリケーションで共有するためなどの理由で、EXEファイルとは別の、PATHの通ったディレクトリに置いてあるDLL
については、同名のDLLによる差し替えが可能になります。それで十分驚異的。
タレコミに上がっている実行例ではwab32res.dll が狙われています。
Re:つまりどういうことだってばよ!? (スコア:3, 参考になる)
だからこれが間違いだってば。なんでこの程度のこと確認しないの?
すでに他の人にも指摘されているけど、Windows XPについてはSP2から、以下の順序でサーチされる [microsoft.com]んだってば。
要するに、この爆弾を起爆するには、カレントディレクトリよりも上位にある同名のDLLを全部削除しなきゃ駄目。少なくとも、XPsp2以降またはWindows2000sp4はね。
Re:つまりどういうことだってばよ!? (スコア:1)
・あるアプリが、DLL不足の状態でインストールされていて起動しない、もしくは、プラグイン不足のような形で特定の機能のみ使えない
・そのアプリが何らかの拡張子に関連づけされている
という状況で、例えば、 不足しているDLLと同名の「悪意のあるDLL」と同じディレクトリに置いてある、その拡張子のファイルを開こうとすると、悪意のあるDLLが読み込まれる。
動かないアプリになんかの拡張子が関連づけられたままPCを使ってるとか、にもかかわらずその拡張子のファイルを開けようとするとか、 問題となってるDLLの名前を悪意を持った第3者が知ってるとか、条件がいろいろと不自然だけど。
強いて挙げるなら、その状況を作為的に作る事は出来そうな気もする。 例えば、
・「この動画を見たければ、再生ソフト○○をインストールすべし」と促すウェブページを作る
・促すソフトとしては、普通に流通しているフリーウェアからいくつかの条件を満たす物を選ぶ
・条件とは、「インストールするとデフォルトで拡張子.fooに対して関連づけされる」「プラグインのDLLを追加すると.foo形式のファイルの内、再生出来るコーデックが増える」
・「ソフトをインストールしたらこのリンクをクリックすると動画再生開始」のようなリンクを作り、リンク先をWebDavで公開された.foo形式のファイルにする
・リンク先は、追加のプラグインDLLが無いと再生出来ないコーデックな.foo形式のファイルで、同じWebDavフォルダ上には、偽の追加プラグインDLLが置かれている
・偽の追加プラグインDLLがロードされ、悪意のあったコードが実行される
回りくどいけど。「これを我がウェブページからダウンロードしてインストールせよ」と言われると怪しいから絶対触らないけど、有名なフリーウェア紹介サイトへのリンクになっていれば怪しさ半減。ついでに、インストールさせるツールは何の細工もない優良なソフトウェアなので、ウィルスチェッカの類に検知されない。でも悪意を持ったDLLの方もウィルスチェッカの検査を通るだろうから脅威が大幅に増えるわけではないかな。
# デフォルト設定のまま常用してるとあるツール、ある操作をすると
# 「プラグインhogehoge.DLLが見つかりません」の類のエラーが出る。
# このツールに対する攻撃をされるとちょっと危ないかな、とか思ったとこからの連想検討。
# そのツールが、フィッシング詐欺やらのターゲットになるぐらいのシェアを持ってるかどうかは不明だけど。
Re:つまりどういうことだってばよ!? (スコア:1, 参考になる)
・なぜか存在していないDLLを探している(しかしエラーにならない)
・他所のDLLを利用しようとして失敗してる(けどエラーにならない)
・多言語対応でその言語版に存在しないDLLを探している(というか読めるDLLにより何言語版か決めている)
・Windowsの古いバージョンにしか存在しないDLLを探している(既にない機能への対応が残ってる)
理由は色々あると思います。
・フリー/有料とか通常/上位版とか別アプリとの連携機能とかを取り合えずDLL呼んで成功/失敗で分けてる
・別アプリへのプラグイン追加でexeの場所が違うからPATHで対応/プラグイン呼び出しか否か判断/バグってるけどエラーでなくて気がついてない
・95/2000対応時代の古いコードを削除する必要がないからそのまま今でも残ってる
とか。
あと、攻撃手法もWebDav経由でドキュメント開くだけじゃなくて
・safariにある(あった?)プロンプトなしでファイルをダウンロードさせるバグと(同様のバグと)組み合わせるとデスクトップフォルダにdllを仕込むことでデスクトップのドキュメント開くと発動する様になる
・自分のFacebookのページと称して、カレントディレクトリを指定してoperaで開くショートカットを示し、operaがサーチするdllにより攻撃する
があるそうだ。
Re: (スコア:0)
> 要するに、この爆弾を起爆するには、カレントディレクトリよりも上位にある同名のDLLを全部削除しなきゃ駄目。少なくとも、XPsp2以降またはWindows2000sp4はね。
XP SP2以降はそのとおりですが、Windows 2000 SP4ではSafeDllSearchModeはデフォルト無効ってそのリンク先に書いてるみますよ。まあすでにサポート終了していて致命的な脆弱性も発見済みなのでどうでもいいですが。
Re: (スコア:0)
> 2.GetSystemDirectoryで得られるWindowsシステムディレクトリ
> 3.16bitシステムディレクトリ
> 4.Windowsディレクトリ
> 5.カレントディレクトリ
で読み込まれるのに、では何故、C:\Program Files\Common Files\System
にある Microsoft Address Book の DLL (wab32res.dll) が
先に読み込まれずに、カレントディレクトリにある、不正な DLL を読み込んで
しまうのでしょうか。
Re: (スコア:0)
っ GOLD
Re: (スコア:0)
Re: (スコア:0)
実行ファイルが置いてあるディレクトリに不正なDLLファイルがある時点で、サーバ提供者に悪意があるかサーバがクラックされている可能性があるので
実行ファイル自体も細工がされている可能性があるし、これのどこが脆弱性なのかな?と思う。
それなら、UNIX系で何らかの理由で外部鯖のPATHが優先される設定環境において、
外部鯖がクラックされて標準的なコマンドと同名の悪意あるコマンドファイルが置かれた場合も同じじゃないかと思う
(コマンドの絶対パス確認コマンドやらチェックサムコマンドが乗っ取られたら分からないし)
Re: (スコア:0)
ちゃんと読んだ?EXEのあるフォルダのファイルを書き換える必要はないよ?って話をしているよ?
Re: (スコア:0)
Windowsかどうかなんて、関係ない。もちろんDLLかEXEかなんてのも関係ない。
マシンにコードを食わせればなんでもしてくれる
Re: (スコア:0)
脅威的とか何を騒いでるの?
って思う。
何かのキャンペーンなの?
Re: (スコア:0)
Re: (スコア:0)
カレントディレクトリがとくに危険なのは、誰でも自由に書き込めるディレクトリでも簡単にカレントに設定できる(どころか何も考えていない多数のアプリが無雑作に設定してることすらある)から。
(デフォルト管理者のXPではほとんど無意味な配慮ですが)誰でも書き込めて攻撃者がパスを予測できるような場所にアプリケーションをインストールするなってことですね。
# Chromeェ…
> XPなんかだと、カレントディレクトリの方がシステムディレクトリや環境変数PATHの検索より優先順位が高いので、
XP SP2からデフォルトでシステムディレクトリよりは後回しになった。PATHよりはまだ早いみたいだけど。
http://msdn.microsoft.com/en-us/library/ms682586(v=VS.85).aspx [microsoft.com]
Re: (スコア:0, 参考になる)
自分の理解をまとめてみました。
1)アプリケーション(exe)は、ユーザが任意に(explorerとかで)普通に起動する。
このexeやdll(exeと同じディレクトリにあるdll, System32に置いてあるdll)自体は、悪意をもつものではない。
(悪意をもつものであったら、そもそもそのPCがやばい、ということで。)
2)アプリケーションは、ユーザがファイルを選択する機能を提供する。(Wordの「ファイル→開く」のように)
このとき、多くの開発者は、GetOpenFileName等のコモンダイアログを使用する。
叩いてやるよ (スコア:1, 参考になる)
だから他の人が指摘してるけど、XPSP2以降はそんな検索順序じゃねぇ。
XPSP2未満だと既にサポート外だから最初から危険。
纏めるっていうなら伝聞だけでなくちゃんと調べろ。
流言蜚語をばら撒くな、馬鹿。
http://msdn.microsoft.com/en-us/library/ms682586(v=VS.85).aspx [microsoft.com]
へのリンクがこれだけ指摘されているのに何言っているんだ。
http://srad.jp/security/comments.pl?sid=505937&cid=1816531 [srad.jp]
http://srad.jp/security/comments.pl?sid=505937&cid=1816648 [srad.jp]
http://srad.jp/security/comments.pl?sid=505937&cid=1816634 [srad.jp]
読み込もうとするDLLがカレントディレクトリか%PATH%にのみ存在する場合が危ないの。
叩くってこんな感じでいい?
もうちっと強いほうがデマは沈静化するかな。
Re: (スコア:0)
・検索の順に誤りがある
・デフォルト動作の変更時期に誤りがある
ということを指摘したうえでご紹介いただいたマイクロソフトさんの
情報へのリンクが掲載されていたら文調の強弱によらず素晴しいコメ
ントだったように思います。
それはそうと、
> 読み込もうとするDLLがカレントディレクトリか%PATH%にのみ存在する場合が危ないの。
というそもそもの話題について誤解させるようなことを書いてしまっ
たら台無しではないでしょうか。