2012/04/05

Skype for Windows 5.5.0.124の検索パスに関する脆弱性

この脆弱性はSkype for Windows 5.5.0.124で存在を確認し、2011年12月21日にMicrosoftに報告しました。その後、2012年2月2日に修正された5.8.0.154がリリースされました。それから時間も経つのでそろそろどういう問題だったのかを書きたいと思います。

以下にクレジットを掲載して頂きました。
 
Skype - Skype Garage blog - Skype 5.8 for Windows: Full HD video-calling, Facebook integration, Group Screen Sharing
 http://blogs.skype.com/garage/2012/02/skype_for_windows_update.html
 
ここには詳細は書いてありませんが、よくある検索パスの問題です。次の手順で再現ができます。

1. 「explorer.exe」という名前のついたexeファイルをSkypeからの添付ファイルを保存する場所に置く。

2.  別のSkype IDから何でもいいのでSkypeチャットから添付ファイルを送る。

3. 添付ファイルのダウンロード後にSkypeチャット上に表示される「フォルダに表示」のリンクを押す。

4. 先ほど置いた「explorer.exe」が起動する。

攻撃者は「explorer.exe」を何らかの方法でターゲットのSkypeの添付ファイルがダウンロードされる場所に置く必要があり、なおかつ「フォルダに表示」ボタンを押してもらわなければなりません。この条件を満たす攻撃のシナリオを考えてみます。

Skypeは拡張子が「.exe」のファイルの送信自体は禁止されていないので、「explorer.exe」はSkypeから送信できます。こんな風に見えます。



(拡張子が.exeって怪しいけど、ひとまずダウンロードしよう…!)→ダウンロード完了→「フォルダに表示」→発火

みたいになるかもしれません。


ただこれだと送信されるものが「.exe」だとまるわかりで、ダウンロード自体を敬遠されるかもしれないので、もうちょっとわかりにくくしてみます。

Skypeでは、複数のファイルを一度に添付したとき、以下のようにまとめて表示します。



ここには「explorer.exe」と何か無害のもう1つのファイルが添付されているとします。何が添付されているかは左にある三角マークをクリックして展開することで見えますが、展開しなければここで「すべて保存」を押すと一度に2ファイルのダウンロードが始まり、それから完了しても、チャットのウインドウ上で「.exe」の文字は一切目にすることはありません。



ここでこの「フォルダに表示」をクリックすると発火します。

とまぁ条件は必要なもののこんな具合にSkypeだけで攻撃は十分可能な問題だと思います。

まだアップデートしていない人はしましょう。

最後に、この問題と同様に意図していない「explorer.exe」を呼び出してしまう検索パスの問題について詳しく書かれた、かいとさんと塩月誠人さんの記事を紹介します。

DLL Hijacking(Binary Planting) が修正されたソフトウェアで DLL Hijacking の問題を確認する ~EXE編~ - 思い立ったら書く日記
 http://d.hatena.ne.jp/kaito834/20120308/1331218436

Security Professionals Network Inc. - 【SPN通信】修正されたOperaのバイナリ・プランティング問題
http://www.sec-pro.net/newsletter/20110131.html