月曜、Flashbackトロイの木馬によってMacに障害が起きない方法をご紹介した。今日はFlashback感染を見つける方法に関する情報を提供する。
以下のステップをより良く理解するには、Flashbackについても多少している方が良いだろう。これはOS Xマルウェアファミリで、Webブラウザにより表示されるコンテンツを修正する。そのために、同マルウェアはMacのブラウザが使用する機能を利用する。乗っ取られる機能は亜種ごとに異なるが、一般にCFReadStreamReadおよびCFWriteStreamWriteが含まれる:

標的とされるWebページと変更は、リモートサーバから読み出されるコンフィギュレーションに基づいて決定される。以下はコンフィギュレーション・データの例だ:

デコードすると、標的とされたWebページ(赤)とインジェクトされたコンテンツ(黄)が分かるだろう:

こうした能力は事実上、これをある種のバックドアにする。このことと、同マルウェアが最初、Flash Playerインストーラのふりをしてユーザをだまそうとした事実から、Flashbackと呼ばれている。しかし、以降それは進化しており、最近の亜種では拡散するためエクスプロイトを組み込み始めた。私が見たケースすべてで、少なくともGoogleを標的としており、これは実際Mac QHostの次の進化形ではないかと考えるに到った。
介入機能を利用して、Flashbackが次に行うのはブラウザにそれをロードさせることだ。
これはDYLD_INSERT_LIBRARIES環境変数が役立つところだ:

一般に感染には2種類ある。第1の感染は、同マルウェアが管理権限を持つ際に生じる。第2の亜種「Flashback.B」もしくは上のスクリーンショットが例だ。このタイプの感染では、DYLD_INSERT_LIBRARIES環境変数が標的とされたアプリケーション、特にブラウザのコンテクストにのみ追加される。初期の亜種はSafariとFirefoxを標的としている。最近の亜種ではSafariのみが標的だ。この種の感染にユーザが気づくのは、より難しい可能性がある。感染したシステムがより安定しているためだ。
感染の第2のタイプは、同マルウェアに管理権限の無い時に生じる。最初の亜種「Flashback.A」がその例だ。このタイプの感染では、DYLD_INSERT_LIBRARIES環境変数が感染したユーザのコンテクストに追加される。これは同マルウェアが感染したユーザが起動する全てのアプリケーションにロードされるということを意味している。その際、互換性のないアプリケーションに起因するクラッシュが増えるので、感染したシステムははるかに不安定になる。これを解決するため、最近の亜種は新しいフィルタコンポーネントを導入している:

上記の例では、フィルタコンポーネントはプロセスがSafariである場合、メインコンポーネントをロードするのみだ(スクリーンショットで「WebPo」を無視すること。これはおそらく、Safariであれば一部であるWebProcessを、マルウェア作者がタイプミスしただけだろう)。
では、このケースではどのように感染を特定するのか? 最も簡単なのは、ブラウザのDYLD_INSERT_LIBRARIES環境変数のチェックだ。Terminalで以下のコマンドを使用すれば良い:
• defaults read /Applications/%browser%.app/Contents/Info LSEnvironment

上記の例は、Firefoxがクリーンであることを意味している。感染していれば、下のようなものを見る事になるだろう:

赤で囲まれたDYLD_INSERT_LIBRARIESの値に注意して欲しい。フィルタコンポーネントである場合、メインコンポーネントを特定するのにそれが必要だ。
• grep -a -o '__ldpath__[ -~]*' %path_from_previous_step%

赤で囲まれたファイルはFlashbackファイルなので、注意して欲しい。ほとんどのユーザにDYLD_INSERT_LIBRARIES環境変数は無いと思う。
グレップで結果が得られなければ、それはあなたのシステムの亜種は、フィルタコンポーネントを有していないことを意味している。
皆さんが次にチェックしたいのは、第2のタイプの感染が起きていた場合、あなたのユーザのDYLD_INSERT_LIBRARIES環境変数をチェックするということだろう:
• defaults read ~/.MacOSX/environment DYLD_INSERT_LIBRARIES

結果が得られなければ、このタイプの感染は起きていないことを意味している。
フィルタコンポーネントがあれば、メインコンポーネントを見つけるのに、また以下のコマンドを使用すれば良い:
• grep -a -o ' __ldpath__[ -~]*' %path_from_previous_step%

サンプルはどうするか? 我々に送って欲しい。そうして頂ければ、他のAVベンダとサンプル共有を手配するので、コミュニティの助けにもなる。
システムからサンプルを削除する際、DYLD_INSERT_LIBRARIES環境変数も必ず削除すること。さもないと、ブラウザもしくは更に悪いことには全アカウントが、次回、ロードされないかもしれない。
第1のタイプの感染では以下を使用して欲しい:
• sudo defaults delete /Applications/%browser%.app/Contents/Info LSEnvironment
• sudo chmod 644 /Applications/%browser%.app/Contents/Info.plist

第2のタイプの感染では以下を使用すること:
• defaults delete ~/.MacOSX/environment DYLD_INSERT_LIBRARIES
• launchctl unsetenv DYLD_INSERT_LIBRARIES

より最近のFlashback亜種に関する詳細は、我々のTrojan-Downloader:OSX/Flashback.Iの解説でチェックできる。
では。
Brod
以下のステップをより良く理解するには、Flashbackについても多少している方が良いだろう。これはOS Xマルウェアファミリで、Webブラウザにより表示されるコンテンツを修正する。そのために、同マルウェアはMacのブラウザが使用する機能を利用する。乗っ取られる機能は亜種ごとに異なるが、一般にCFReadStreamReadおよびCFWriteStreamWriteが含まれる:

標的とされるWebページと変更は、リモートサーバから読み出されるコンフィギュレーションに基づいて決定される。以下はコンフィギュレーション・データの例だ:

デコードすると、標的とされたWebページ(赤)とインジェクトされたコンテンツ(黄)が分かるだろう:

こうした能力は事実上、これをある種のバックドアにする。このことと、同マルウェアが最初、Flash Playerインストーラのふりをしてユーザをだまそうとした事実から、Flashbackと呼ばれている。しかし、以降それは進化しており、最近の亜種では拡散するためエクスプロイトを組み込み始めた。私が見たケースすべてで、少なくともGoogleを標的としており、これは実際Mac QHostの次の進化形ではないかと考えるに到った。
介入機能を利用して、Flashbackが次に行うのはブラウザにそれをロードさせることだ。
これはDYLD_INSERT_LIBRARIES環境変数が役立つところだ:

一般に感染には2種類ある。第1の感染は、同マルウェアが管理権限を持つ際に生じる。第2の亜種「Flashback.B」もしくは上のスクリーンショットが例だ。このタイプの感染では、DYLD_INSERT_LIBRARIES環境変数が標的とされたアプリケーション、特にブラウザのコンテクストにのみ追加される。初期の亜種はSafariとFirefoxを標的としている。最近の亜種ではSafariのみが標的だ。この種の感染にユーザが気づくのは、より難しい可能性がある。感染したシステムがより安定しているためだ。
感染の第2のタイプは、同マルウェアに管理権限の無い時に生じる。最初の亜種「Flashback.A」がその例だ。このタイプの感染では、DYLD_INSERT_LIBRARIES環境変数が感染したユーザのコンテクストに追加される。これは同マルウェアが感染したユーザが起動する全てのアプリケーションにロードされるということを意味している。その際、互換性のないアプリケーションに起因するクラッシュが増えるので、感染したシステムははるかに不安定になる。これを解決するため、最近の亜種は新しいフィルタコンポーネントを導入している:

上記の例では、フィルタコンポーネントはプロセスがSafariである場合、メインコンポーネントをロードするのみだ(スクリーンショットで「WebPo」を無視すること。これはおそらく、Safariであれば一部であるWebProcessを、マルウェア作者がタイプミスしただけだろう)。
では、このケースではどのように感染を特定するのか? 最も簡単なのは、ブラウザのDYLD_INSERT_LIBRARIES環境変数のチェックだ。Terminalで以下のコマンドを使用すれば良い:
• defaults read /Applications/%browser%.app/Contents/Info LSEnvironment

上記の例は、Firefoxがクリーンであることを意味している。感染していれば、下のようなものを見る事になるだろう:

赤で囲まれたDYLD_INSERT_LIBRARIESの値に注意して欲しい。フィルタコンポーネントである場合、メインコンポーネントを特定するのにそれが必要だ。
• grep -a -o '__ldpath__[ -~]*' %path_from_previous_step%

赤で囲まれたファイルはFlashbackファイルなので、注意して欲しい。ほとんどのユーザにDYLD_INSERT_LIBRARIES環境変数は無いと思う。
グレップで結果が得られなければ、それはあなたのシステムの亜種は、フィルタコンポーネントを有していないことを意味している。
皆さんが次にチェックしたいのは、第2のタイプの感染が起きていた場合、あなたのユーザのDYLD_INSERT_LIBRARIES環境変数をチェックするということだろう:
• defaults read ~/.MacOSX/environment DYLD_INSERT_LIBRARIES

結果が得られなければ、このタイプの感染は起きていないことを意味している。
フィルタコンポーネントがあれば、メインコンポーネントを見つけるのに、また以下のコマンドを使用すれば良い:
• grep -a -o ' __ldpath__[ -~]*' %path_from_previous_step%

サンプルはどうするか? 我々に送って欲しい。そうして頂ければ、他のAVベンダとサンプル共有を手配するので、コミュニティの助けにもなる。
システムからサンプルを削除する際、DYLD_INSERT_LIBRARIES環境変数も必ず削除すること。さもないと、ブラウザもしくは更に悪いことには全アカウントが、次回、ロードされないかもしれない。
第1のタイプの感染では以下を使用して欲しい:
• sudo defaults delete /Applications/%browser%.app/Contents/Info LSEnvironment
• sudo chmod 644 /Applications/%browser%.app/Contents/Info.plist

第2のタイプの感染では以下を使用すること:
• defaults delete ~/.MacOSX/environment DYLD_INSERT_LIBRARIES
• launchctl unsetenv DYLD_INSERT_LIBRARIES

より最近のFlashback亜種に関する詳細は、我々のTrojan-Downloader:OSX/Flashback.Iの解説でチェックできる。
では。
Brod