エフセキュアブログ

by:スレットソリューションチーム

ダウンロード:2012年下半期の脅威レポート

2012年下半期に、我々が注意を要したことは何だったろうか?この質問の答えは、当社の2012年下半期の脅威レポートの中にある。2012年7〜12月に目にした重要な事件は、ほぼすべてまとめられている。パスワードおよび企業諜報についての短い記事で興味を刺激し、続いて以下の分野のケーススタディに移っていく。

  •  ボット
  •  ZeroAccess
  •  Zeus
  •  エクスプロイト
  •  Web
  •  マルチプラットフォームの攻撃
  •  モバイル

 コピーはここからダウンロードできる。

訂正(2013年2月8日):2012年下半期の脅威レポートが更新され、ZeroAccessの記事の記述が次のように変更となった。「A successful installation in the United States will net the highest payout, with the gang willing to pay USD 500 to 1,000 per installation in that location.(訳注:米国内でインストールされるごとに500〜1,000米ドルを支払う用意があるギャングのおかげで、同国で首尾よくインストールされたことにより、最高の支払額を記録した。)」という文を「[...] to pay USD 500 per 1,000 installations in that location.(訳注:米国内で1,000ヶ所にインストールされるごとに500米ドルを支払う用意があるギャングのおかげで、〜)」のように訂正した。

Exploits

Mac Revirに新亜種を発見

  Macマルウェアの亜種の報告がある。我々は同攻撃に気づいており、エフセキュアのカスタマはすでに保護されている。それはRevir.Cのマイナーな亜種だ。ペイロードについては、基本的に我々が9月に書いたImuler亜種と同一だ。おそらくは、検出を避ける目的で改変されたのだろう。例によって同攻撃は、チベットの人権活動家を標的にしている。

  できれば我々の名称で、皆さんが混乱していないと良いのだが。バックドアペイロードはImulerと呼ばれているが、我々はドロッパコンポーネントをRevirとして検出している。これは我々が昨年最初に同ファミリを発見した際、ドロッパは他のマルウェアをペイロードとするためにカスタマイズされるかもしれないと考えたためだ。しかしこれまでのところ、RevirとImulerは常に同時に使われている。

  我々は、新しい亜種を検出するため、昨日からデータベースをアップデートした。

  解説もオンラインに掲載されている。詳細はそちらをご覧頂きたい:

  •  Trojan-Dropper:OSX/Revir.D (MD5: 2d84bfbae1f1b7ab0fc1ca9dd372d35e)
  •  Backdoor:OSX/Imuler.B (MD5: 9ccc685f4d95403848ca24d9b8003b5b)

Q3 2012モバイル脅威報告を公開!

  2012年の第3四半期を通じて見つかったモバイル脅威をカバーする、エフセキュアのモバイル脅威報告を公開した。既存のファミリーの新しいファミリーと亜種が67種発見され、以前は平穏だった一部のプラットフォーム(たとえばiOS、Windows Mobile)が、現在、マルチプラットフォームFinSpyトロイの木馬のために、平和を乱されている。

Q3MTR chart

  詳細については、完全な報告書にある。コピーはここ[PDF]からダウンロードできる。

Q3MTR cover

ダウンロード:モバイル脅威レポート Q2 2012

  長らくお待たせしたが、F-Secure Labsが2012年4月から6月までに確認した脅威を詳述した「Q2 2012 Mobile Threat Report」を公開する。

  報告は以下からダウンロードできる:モバイル脅威レポート Q2 2012[PDF]

mtrq22012 (189k image) threat_by_type (50k image)



Java MIDletをインストールしたデバイスを標的とする「Trojan:Java/SmsSy.A」

  Java MIDletをインストールしたモバイルデバイスを標的とする、SMS送信型トロイの木馬がマレーシアで出回っている。一部の被害者は、Samsungからのアップデートのように見えるSMSメッセージを受信したと報告している。


samsung_update_trojan
Samsungからのアップデートのお知らせのように見えるメッセージ



  しかしリンクをクリックすると、JARファイルに導く他のリンク(http://mmgbu[...].com:90/[...].jar)にリダイレクトされる。このJARファイルは、同マルウェアが複数の短いナンバーにSMSメッセージを送信するよう、詳細を実行する。

  実行されると、同トロイの木馬は3つのSMSメッセージを(たいていは有料課金番号に)ユーザの同意無しで送信する。コンテンツと受信番号は以下の通り:
- “On GB” to 39914
- “On DF” to 39914
- “On HB” to 33499


  次に、「HOT WEB DL」というタイトルと、「DANCE CLUB」「BEACH GIRLS」「FUNNY VIDEO」「GT MODEL」「HOT CAM」という5つのセクションに分類された女性の画像が示される。オプションが選択されると、「On(コンテンツ)」というストリングを含むSMSメッセージを、(ナンバー)に送信する。コンテンツは以下の通り:
- HB
- MODEL
- LY
- AV
- GA


  これらのメッセージは、後で以下のナンバーに送信される:
- 33499
- 33499
- 36660
- 36660
- 36989



smssy_manifest
メッセージコンテンツと受信番号の詳細を含むファイル



smssy_picladies
「SmsSy.A」が使用する画像



  同じトロイの木馬の別のサンプルを分析したところ、異なるコンテンツと受信番号が割り当てられていることが分かった:


smssy_manifest2
「SmsSy.A」の他のサンプルには異なるコンテンツとナンバーが割り当てられていた



smssy_picmtv
「SmsSy.A」により使用された異なる画像



  我々は問題のあるURLを適切に査定し、「Trojan:Java/SmsSy.A」として検出している。

Sha-1: 75a91ac99cb5bc2a755d452393d29fa66a323c3f
Sha-1: bca72058af2a7ddb9577ecb9a61394a31aea5767



Blog post by - Jordan and Raulf

Javaを悪用するさらなるMacマルウェア

  「CVE-2012-0507」を悪用する新しMacマルウェアの亜種に関する報告が、先週浮上した。このJava脆弱性は、60万台以上のMacを感染させるのにFlashbackが使用したのと同一のものだ。

  最初の新たな脅威はTrend Microの人々により分析された。Mac用Javaアプレットは実際、「CVE-2012-0507」を悪用し、成功すれば、ペイロードはAlienVault Labsが先月発見した(人権擁護NGOに対する標的型攻撃で使用された)のと同じマルウェアだ。

  第2の脅威は、最初のうちは完全に新しいマルウェアの一部であるように見える。しかし、収集された次のサンプルで、同マルウェアも「Backdoor:OSX/Olyx.C」および「Backdoor:OSX/MacKontrol.A」をドロップするのに用いられた、「MS09-027/CVE-2009-0563」を悪用する同一のWord書類によりドロップされたことが明らかになった。これも先月、AlienVaultにより報告されたものだ。

  どちらのマルウェアも現在アクティブなようで、ESETおよびKasperskyがそれぞれ観測しているように、マニュアルでコントロールされている。どちらも同一の悪意あるJavaクラス・ドロッパ・コンポーネントを使用する。MD5: 5a7bafcf8f0f5289d079a9ce25459b4b

  エフセキュア アンチウイルスはこれらの脅威を「Backdoor:OSX/Olyx.B」および「Backdoor:OSX/Sabpab.A」として検出する。

MD5: 78f9bc441727544ebdc8374da4a48d3f – Backdoor:OSX/Olyx.B (別名Lamadai.A)
MD5: 40c8786a4887a763d8f3e5243724d1c9 – Backdoor:OSX/Sabpab.A (別名Lamadai.B)
MD5: 3aacd24db6804515b992147924ed3811 – Backdoor:OSX/Sabpab.A

  これらマルウェアの亜種は、チベット関連のNGOに対する標的型攻撃で使用されており、したがって日常的なMacユーザーが「イン・ザ・ワイルド」で遭遇することは無さそうだ。もしあなたがMacを使用している人権問題専門の弁護士なら…リスクを被る確率は全く異なる。まだ感染していないなら、Macにアンチウイルスをインストールすべき時だ。

未パッチのJava脆弱性を悪用するMac Flashback

  「CVE-2012-0507」(Java脆弱性)を悪用する、Flashbackの新たな亜種(Macマルウェア)が発見された。我々はここしばらく、このようなことが起きるだろうと予想していた。

Flashback.K

  Oracleは2月、この脆弱性にパッチを当てるアップデートをリリースした。ただしWindows用を…

  しかし — AppleはOS Xのアップデートを(まだ)リリースしていない。

  Flashbackギャングはエクスプロイト・キット開発の最新の状況を追っているようだ。先週Brian Krebsが、Blackholeエクスプロイト・キットの最新版に「CVE-2012-0507」エクスプロイトが組み込まれたことを報告した。そしてそれで終わりではない。未確認ではあるものの、「まだパッチを当てていないJavaの深刻な欠陥」に対する、さらに別のエクスプロイトが利用可能だという噂があるのだ。

  よって、もしまだJavaクライアントを停止していないのなら、これが広まる前にそうして頂きたい。MacでJavaを停止する方法に関するインストラクションは、我々の前回の記事でチェックして欲しい。

  Flashbackに感染しているかどうかをチェックする方法に関する以前のインストラクションも適用可能だ。しかしこの亜種では、感染したユーザのホームフォルダで作成される、別のアップデータコンポーネントがある。デフォルトでは、「~/.jupdate」として作成される。

  対応する属性リストファイルも作成され、感染したユーザがログインするたびに実行される。デフォルトでは、この属性リストは「~/Library/LaunchAgents/com.java.update.plist」として作成される。

Flashback.K

Flashback.K

  しかし、これらのファイル名は感染したシステムにより異なるかもしれない。これらは、エクスプロイトを与える悪意あるWebページにより設定可能だからだ:

Flashback.K

  詳細については、エフセキュアによる「Flashback.K」の説明をご覧頂きたい。

MD5: 253CAE589867450B2730EF7517452A8B

MS12-020脆弱性を悪用するツール

  MicrosoftのMS12-020情報が公開されて以来、Remote Desktop Protocol(RDP)の脆弱性を悪用しようとする試みが数多くあった。先週、我々は関連サンプルを受けとったが、これは標的としたRDPサービスを停止させることを目的とした「RDPKill by: Mark DePalma」というツールであることが判明した。

RDPKill

  同ツールはVisual Basic 6.0で書かれており、シンプルなユーザインタフェースを有している。我々はWindows XP 32-bitおよびWindows 7 64-bitが動作するマシンでテストした。

RDPKill

  Windows XP 32-bitのマシンもWindows 7 64-bitのマシンも、どちらもサービス妨害(DoS)攻撃の影響を受けた。サービスはクラッシュし、死のブルースクリーン(BSoD)状態(Windowsがクラッシュした時に見られるエラースクリーン)を引き起こした。

RDPKill BSoD

  我々はこのツールを「Hack-Tool:W32/RDPKill.A」(SHA-1: 1d131a5f17d86c712988a2d146dc73367f5e5917)として検出している。

  「RDPKill.A」の他に、似たようなツールとMetasploitモジュールをオンラインで見つけることもできる。これらが入手可能であるということは、パッチを当てていないRDPサーバは、これらのツールを試みているかもしれない攻撃者により、容易にDoS攻撃の標的とされる可能性がある。

  システムにパッチを当てていない方、特にマシンでRDPサービスを実行している方には、できるだけ早くパッチを当てるよう強く助言する。

Threat Solutions post by — Azlan and Yeh

(Mac)Flashbackはあるか?

  月曜、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

目下のMacマルウェア

我々が最後にMacのマルウェアについて書いてからずいぶんになるので、ここ数ヶ月に起きていることについて、読者の皆さんに最新情報を提供する方が良いだろうと考えた。昨年、我々は制作途上にあるMac版トロイの木馬とおぼしきものを詳述した。当時はまだ、バンドルの一部であるか、スタンドアロンのバイナリなのかを推測していた。現在では、新しい亜種が発見され、それは本格的なアプリケーションであり、アイコンも完備していることが明らかになっている。

  作者はこの亜種を「version 1.0」(リトルエンディアンで「FILEAGENTVer1.0」)と呼んでいる。

FILEAGENTVer1.0

  私が分析したサンプルは、Irina Shaykのサムネイル画像/アイコンを使用しているが、これはどうやらFHM(South Africa)誌の2012年3月号から取られたもののようだ。この悪意あるアプリケーションバンドルは、ファイルタイプをユーザーが見落とすことを期待して、同誌から取られた他の画像と共に、アーカイブファイル内で展開される。

FHM Feb Cover Girl Irina Shayk H-Res Pics

  インプリメンテーションの他に何ら新しい所はない。バックドアペイロードも同じだが、新たなC&Cサーバを使用している。同サーバは現在(執筆時)アクティブだ。この新しいC&Cサーバがまだ、ESETの人々が言及している、前回の亜種と同じIPアドレスを示していることに注意することが重要だ。我々はこのサーバをCERT-FIに報告した。うまくいけば、彼らが関係当局に通知できるだろう。

  我々は新たなこの亜種をTrojan-Dropper:OSX/Revir.C、MD5: 7DBA3A178662E7FF904D12F260F0FFF3として検出している。

最後に—あちら側にひそんでいる、もう一つのより深刻なOS Xマルウェア脅威がある。このFlashbackトロイの木馬は初め、Revirと同じ頃に現れたものだが、現在もイン・ザ・ワイルドだ。これはエクスプロイトを使用して、ユーザとのインタラクション無しで、システムを感染させる。悪用しているのは古いJava脆弱性(CVE-2011-3544およびCVE-2008-5353)だが、悪党連中がオペレーションをアップグレードし、パッチを当てていない脆弱性を狙い始めるなら、本当のOS X騒動を見る事になるかもしれない。

  今後の記事で、Flashback感染を特定する方法を詳述する予定だ。その間、感染を避ける最も容易な方法は、ブラウザでJavaをオフにしておくことだ。我々の調査によれば、Webを閲覧する際、ほとんどのユーザがJavaを必要としていない。何らかの理由で、たとえばオンライン・バンキングなどでJavaが必要ならば、必要な時だけオンにすることだ。そして終了したら、またオフにすること。

  Safariでは、環境設定のセキュリティタブで「Javaを有効にする」のチェックをはずせば良い。

Safari, Java settings

  あるいは、Snow Leopard(LionはデフォルトではJavaは搭載していない)から、アプリケーション、ユーティリティ、Java設定に行くことでJavaをオフにできる。一般タブですべてのチェックをはずそう。

Java Preferences

では
Brod








「Trojan:Android/OpFake.D」がコンフィギュレーションファイルをコード化

我々はマルウェアが、先に他のオペレーティングシステムで登場し、Androidに移植されるケースを良く見ている。以下はその条件を満たす新たなトロイの木馬だ。

  OpfakeはSymbianとWindows Mobileで、最初に発見された。最近のAndroid版では、同トロイの木馬は(まだ)Opera Miniアプリであるように見える…パーミッションのリクエストは、SMSメッセージを送信することだけだ:

Android OpFake, permission

  同アプリ(我々は「Trojan:Android/OpFake.D」として検出している)は、ローンチの際メッセージを送信することが分かった:

Android OpFake, SMS

  以前のケースでは通常、クラスにハードコードされたSMSメッセージを見かけたが、今回はメッセージコンテンツと電話番号は「config.xml」ファイルに保存され、エンコードされる。以下は文字化けしたコードだ:

Android OpFake, garbled code

  このストリングはbase64デコーディングを使用してデコードされると読み出し可能となり、実行時にメッセージがアプリにより送信されることを示している:

Android OpFake, decoded code /><br /><br />  このAndroid版(SHA1: 4b4af6d0dfb797f66edd9a8c532dc59e66777072)は、そのコンフィギュレーションファイルをエンコードするopFakeの「伝統」を受け継いでおり、新しいものではない。しかしこれは、分析からコードやアクションを隠すため、ますますエンコーディングや他のテクニック(他のプラットフォームで長年標準だったもの)を使用する、Androidマルウェアの現在のトレンドに当てはまっている。<br /><br />ThreatSolutions post by — Irene<br /><br /><div style=
ThreatSolutions post by — Irene

>>原文へのリンク

Androidマルウェアが電子透かしを使用? それほどでも…

  私がいつものようにAndroidマルウェア分析を行っている際、特定のサンプルのクラス・モジュールにざっと目を通していると、以下のようなコードを見つけた。

fig1_finding_tEXT_chunk (4k image)
図1




  昨年後半、私はPortable Network Graphics(PNG)画像フォーマット、特にテキスト情報を持つフィールドについて、より詳細にチェックしていた。コードを見ていると、なぜこのアプリケーションはPNGファイルの「tEXt」チャンクが存在しているかどうか、チェックする必要があるのかということについて、すぐに疑念が生じた。

  私はコードに目を通し続け、この特定コードが画像ファイルを特定するため、どこでコールされるかを発見した。

fig2_method_checking_tEXT (85k image)
図2



  同コードのこの部分は、画像ファイルがリソース名「icon.png」を使用し、アプリケーションとバンドルされていることを示している。それからこの画像は開かれ、PNGチャンク(図1)をチェックするコードがコールされる方法へと送られる。

  APKパッケージのリソースを検査することで、似たような名称の3つのファイルが現れる。これはtEXtチャンクの初回の発生にしか興味を持っていないため、私はただちにHEXビューワを取り出し、全ファイルの最初のtEXtチャンクを調べた。これらは皆、特定のチャンク用に同一のバイナリデータを含んでいた。以下は、この画像の内部表示と、HEXビューワでレンダリングの際にどう見えるかを示している。

fig3_tEXT_chunk_marker (161k image)
図3



  この画像は、アプリケーションのアイコンとしても使用されている。よって、デバイスへのインストール中もインストール後も、非常に良く目にする。

fig4_app_icon (139k image)
図4



  現時点で、図3のデータは私にはほとんど意味が無いが、tEXtチャンクがバイナリデータ、もしくは読めないストリングを持つのは普通ではない。そこで図1の残りのコードの分析を続けた。更に分析して分かったのは、これが図3の隠されたデータを読み、ハードコードされたtext stream(「キー」)に対してビットごとのXOR演算を、どのバイト読み出しでも実施することだ。

fig5_hidden_data_decryption (39k image)
図5



  私はPython派なので、図3から隠れた情報をデコードするため、以下のような小さなスクリプトを作成した。このアルゴリズムは、図5のコードで分かったことに基づいている。スクリプト(図6.a)を実行した後、驚いたことに、読み取り可能な英単語と数がいくつかあった!

  これらのプレーンテキスト情報が、アプリケーションに対して何を意味するのかは、依然としてハッキリしないが、現時点で、こえららのデータ(図6.b)をPNGファイル(図3)のtEXtチャンクデータから隠すため、電子透かしを使用していることが分かった。しかし、電子透かしの厳密な定義を見ると、このサンプルが本当に電子透かし的であると考えられるのかどうかは、議論の余地がある。PNGファイルのチャンクの一つで、エンコードされたデータのシンプルな埋め込みに過ぎないからだ。

fig6_decrypt_hidden_data(79k image)
図6



  図5の残りのコードの分析を続けると、これら隠された情報(部分的なスクリーンショットは以下の通り)が、アプリケーションの主要な動機(すなわち有料番号にSMSを送信するということ)をサポートするために使用されているという事実がさらに強固となった。

fig7_hidden_info_screenshot (125k image)
図7



  上のコードを発見したほか、SMSの送信オペレーションのため、これら情報を実際に使用していることを確かめるため、Androidデバイスエミュレータでアプリケーションの実行も行った。そしてここでは、送出されるSMSイベントが記録され、図6.bのデコードされたデータとよく似た詳細が得られた。このイベントは、私が新たにインストールされたアプリケーションのメインUIから、「Next」ボタンをヒットした途端に起こった。

fig8_outgoing_sms_event (65k image)
図8



  このアプリケーションのsha1は「ac118892190417c39a9ccbc81ce740cf4777fde1」で、「Trojan:Android/FakeRegSMS.B」として検出される。


Threat Solutions post by ? Jessie

----

2012年1月30日:電子透かしについてさらに詳述するため、タイトルとテキストに修正を加えて更新した。

Androidパーミッション:アプリのため?広告のため?

  Androidアプリケーションパッケージ(APK)は複数のモジュールを含むことが可能だ。一つ以上のこうしたモジュールは、広告SDKかもしれない。現在、多くのAndroid開発者が無料で自分達の製品をユーザに提供するため、こうしたモジュールを使用しているため、今日ではそれはかなり良くあることだ。では、アプリはクリーンだが、広告モジュールが疑わしい場合はどうだろう?

  ユーザがメインのアプリに対してパーミッションを与えてインストールした場合(求められているパーミッションについて、良く理解しており、気にかけていると仮定する)、ユーザは広告モジュールにも同じパーミッションを使用することを許可することになる。時折、パーミッションはメインのアプリケーションではなく、広告モジュールによってのみ使用される。

  現在、Androidアプリはメインのアプリが使用するパーミションと、広告モジュールが使用するパーミッションとを区別しない。そしてセキュリティに関しては、ユーザとアナリストの双方にとって、それはまだ違法かどうか微妙だ。たとえば、以下は公式Android Marketからダウンロードされた、広告をサポートするアプリのパーミッション・タブのスクリーンショットで、パーミッションに関する非常に一般的な説明が書かれている:

android_market_permission (18k image)

  メインのアプリと広告モジュールの双方が、どのようにパーミッションを利用したかをパーミッション・タブが示せば、ユーザにとってより分かりやすくはないだろうか? あるいはさらに良いのは、広告モジュール用のパーミッション・タブがあるとか? そうすれば、メインのアプリ/広告モジュールが何をするか、ユーザにより分かりやすくなり、インストールを続けたいかどうか選びやすくなるだろう。

  先頃、こうしたことを示す事例があった。メインのアプリはクリーンだったが、広告モジュールに問題があった「Spyware:Android/AdBoo.A」の事例だ。これは、ユーザの機密情報を収集し、リモートサーバに送信していた。

  現在、大部分の広告サービスは、「ターゲットを絞った」広告を提供するため、携帯電話からの若干の情報を必要としているが、AdBooで我々は、同モジュールがあまりに多くの情報を要求していると考えた。そして同広告モジュールが基本的に、メインのホストアプリのパーミッションを共有していたため、広告モジュールをブロックし、メインのアプリを残す方法は無い。

  アプリにパーミッションが与えられると、広告モジュールは先に進むことができる。正規の広告を表示するだけなら、それで良い。もしそのモジュールが疑わしいルーチンを含むなら、それはあまり良いことではない。AdBooのケースでは、モジュールは電話から詳細を収集するが、以下のスクリーンショットでそのいくつかが強調されている:

spyware_adboo_leak_1 (74k image)

  そして以下は対応するSmaliコードで、これらの情報が実際、広告バナーを提供する以前に収集されている:

spyware_adboo_smali (35k image)

  現在、同アプリが広告を含んでいるかどうか、あるいはインストールの前もしくは最中に、どのような広告が表示されるか、はっきりとは分からない。一部の開発者はマニュアルで、アプリが広告を含むことを明記しているが、全ての開発者がそれほどきちんとしているわけではない。アプリが「広告入り」もしくは「広告無し」とはっきり表示されていれば、ユーザにとってより明白ではないだろうか?

  そして最終的な問題は、全ての開発者が自分達の製品で表示される広告のタイプを、コントロールできるわけではないことだ。広告モジュールは通常、サードパーティの広告プロバイダから、時には複数のサービスからマテリアルを持って来るため、表示される広告のタイプをコントロールすることは、より扱いにくくなっている。最悪の場合、子ども用のアプリに成人向けの広告が表示される場合もあるようだ。


----

ThreatSolutions post by Jessie

新年の願いごと - データ収集付き

  2011年が終わろうとしている。先日クリスマスが過ぎ、新年が近付きつつあるため、当然、多くのお見舞いの言葉や季節の挨拶などが送られている。何者かが(少し遅れて)参加しようと決め、同時にちょっとしたデータ収集も行おうと決意したようだ。

  「Spyware:Android/AdBoo.A」は、気のきいた/優しい/面白いメッセージを知人に送れるようにするプログラムの一つだ。実行すると、同プログラムは新年の願いごとや友情、愛情、ジョークといった様々なカテゴリに分類されたテキストメッセージのリストを表示する:

AdBoo text

  ユーザがこれらメッセージの一つを選択すると、同アプリはユーザに連絡先、編集、キャンセルという次の行動を選ぶよう求めるダイアログボックスを表示する:

AdBoo message

  連絡先オプションを選択すると、アプリは保存されている連絡先データを読み込もうとする。おそらく同アプリはメッセージを誰に送るのかを知る必要があるのだろう:

AdBoo choices

  初期解析中、我々のテスト用携帯電話には連絡先が保存されていなかったため、同アプリはこの時点で何も回収しなかった。

  しかし、(偽の)連絡先を使用して再テストすると、テキストメッセージも送られず、ユーザは「送信失敗」というメッセージというダイアログボックスが出るだけだった:

AdBoo sending fail

  我々はしかし、同アプリが何か別のことをしているのに気づいた。連絡先オプションを選択すると、同アプリは以下の情報をこっそりと端末から取得するのだ:

1)端末のモデル
2)Androidのバージョン
3)電話番号
4)国際移動体装置識別番号(IMEI)

  収集された情報は次にリモートサーバに送信される。

  ちなみに、我々の手元にあるAdbooサンプルの証明書を見ると、「Trojan:Android/Zsone.A」と同じ開発者のものであるようだ:

AdBoo:

AdBoo SHA1

Zsone:

Zsone SHA1

Threat Solutions post by — Irene

「Trojan:Android/FakeNotify」がアップデート

  今月はじめに我々は有料課金型のSMSトロイの木馬に関する記事を掲載した。「Trojan:Android/FakeNotify.A」として検出したものだ。現在、同トロイの木馬がアップデートされ、分析と検出をより厄介にする変更が加えられていることが分かっている。

  署名証明書から分かるように、新バージョンは同じ開発者が作成したものだ。トロイの木馬の全体的なふるまいに変更は無いが、コーディングアプローチはかなり変わっており、静的解析ツールなどを失敗させるのに十分だ。

  例えば分析中、私はオリジナルと現行バージョン双方からのSMS送信ルーチンを比較したが、以前のよりシンプルなコーディングアプローチがよりダイナミックになっていることに気づいた。

  「FakeNotify」のオリジナルバージョンでは、ルーチンはそれが何であるか、非常に簡単に「読む」ことができる単純な方法で実装されていた:

FakeNotify, original send
FakeNotify.A

  しかし新バージョンは、アナリストがコードを「読む」ことをより難しくするとともに、同じ目標を達成するためにJava言語のReflection/Dynamic Invocation機能を利用している。

  開発者たちは、自身のエンコーディング/デコーディングアルゴリズムを使用して、ストリング引数を混乱させることによりさらに歩を進めている(これはシンプルな換字式的な暗号に過ぎないが)。以下でコード化されたフォームを見ることができる:

FakeNotify, update encoded
FakeNotify.B, SHA1: df866cf4312cf9c929a9a7dc384eebb19d2b2c2d

  コーディングアプローチの変更は、大部分の静的解析ツールを容易に無効化することができる。

覚書:分析中、私は突然、Windows LoadLibraryとGetProcAddress combo API関数およびJava Reflectionのいくつかの機能との類似点に気づいた。他のAPI関数アドレス(Windows)およびクラス、もしくはObject handleのメソッド(Java)に関しては、双方とも開発者が最近獲得した方法もしくは関数をコールするか、実行することを可能にする。

  いずれにせよ、Androidの世界に戻ろう。新たなFakeNotifyバージョンの分析を容易にするため、私はシンプルなPythonスクリプトを作成し、難読化されたストリングのインスタンスを、悪意あるアプリケーションでデコンパイルされているJavaソース全ての平文ものと入れ替えた。

  パッチングの後、SMS送信ルーチンはclass SmsManagerとそのgetDefault method/functionのハンドリングを獲得し、その後、SmsManager classのsendTextMessageファンクションを使用するため、起動/コールされるか、適切に初期化される必要がある:

FakeNotify, update decoded

  確かに、私がAndroidマルウェアによりJava Reflection機能が使用されるのを見たのは、これが初めてではないし、ストリングの難読化は複雑ではない。しかしこれはAndroidマルウェアの開発者が自分達の「製品」を最新にし、検出されないようにするため、その技術を次々と適応させ、アップグレードする方法のかなり明快な例と言える。

Threat Solutions post by — Jessie

機能しないAndroid課金型SMSトロイの木馬

  我々は課金型のSMS番号にSMSメッセージを送信しようとするAndroid向けトロイの木馬を発見した。それは珍しくはない。しかし、異なっているのは、これらのトロイの木馬が動作しないということだ。

  これらトロイの木馬(「Trojan:Android/RuFailedSMS.A」として検出されている)は、以下のパーミッションを用いる:

RuFailedSMS, permissions

  そして悪意のあるアプリケーションはそれぞれ、(人気のアプリのように思われる)パッケージのダウンロードをオファーし、様々なアプリケーションのインストーラのふりをする:

RuFailedSMS, main UI

  「オファーされる」アプリケーションには以下のものがある:

  •  Add_It_Up
  •  Advanced_Launcher_Lite
  •  AmazingMaze_supLitesup
  •  Analog_Clock_Collection
  •  Animal_Sudoku
  •  AnySoftKeyboard
  •  AnySoftKeyboard_Slovak_Language_Pack
  •  AppInventor_Toggle
  •  Arrow_Caz
  •  Astronomical_Flashlight
  •  BentoCam!
  •  Bimaru_-_Battleship_Sudoku
  •  BlackJack
  •  Carve_a_Pumpkin_supLitesup
  •  Chinese_Chess
  •  Christmas_Ringtones
  •  Coloring_pages
  •  Contact_Finder_supLitesup
  •  Converter
  •  Countdown_Widget
  •  Crayon_Ball
  •  Cyan_aHome_Theme

  幸いなことに、コードに捕捉されなかった例外があるため、同トロイの木馬(SHA1: 0d2d3317c6ca1a9812d357741f45af6bb360d89c)は、その悪意ある活動を完了せず、クラッシュして停止してしまう:

RuFailedSMS, crashed

  我々は100を超えるトロイの木馬のコピーを発見しているが、かなりの数が技術的に高度なものではない。それらのコピーは基本的に同じソースコードを使用しているが、異なるパッケージ用に異なるコンフィギュレーションに改造されているに過ぎないのだ。.

  これらトロイの木馬は、サードパーティのAndroidマーケットで発見されており、ロシア、ベラルーシ、カザフスタンおよびアゼルバイジャンのユーザを標的としている。

  これらのトロイの木馬はクラッシュし、機能しないにしても、悪意あるルーチンのため、またコピーが大量に出回っているためもあって、検出は行っている。

Threat Solutions post by — Jessie

Androidマーケットの詐欺アプリ

  マルウェアの作者が大胆にも、人気のアプリと類似したパッケージ名およびアイコンを使用し、このマルウェアを公式なAndroidマーケットで発表するというプラクティスが増えているようだ。正式なアプリの無料/ライト版であるかのような偽りの表示のもと、何も知らないユーザがこうしたマルウェアをダウンロードする可能性がある。

  Logastrod and Miriada Productionにより使用されたプラクティスと同様、Eldar Limitedが「Cut the Rope」と「Assassin's Creed」アプリの無料版を装うマルウェアを公開した。唯一の問題はAndroidマーケットでシンプルサーチを行っても、「Cut the Rope」無料版の結果は戻って来ないことだ。おそらく、Androidプラットフォームでは単に無料版は存在しないのだろうが、iOS用の無料「Cut the Rope Lite」は存在する。ここでユーザが混乱するかもしれず、こうした戦略の犠牲になる可能性がある。

Eldar Limited, Android Market

  Googleのアプリポリスはこの詐欺を発見し、Androidマーケットから素早く削除した。これらアプリはAppBrainとAndroidZoomにはまだ掲載されているが、リンク先はユーザを、すでにアプリが削除されている公式Androidマーケットに導く。

EldarLimited, AppBrain

EldarLimited, AndroidZoom

  ユーザには、アプリの有料版を検索し、開発者名に注目するというティップが役立つだろう。有料版と無料版の双方で名称が一致すれば、それは安全なアプリである確率が非常に高い。さもなければ、ダウンロードしてはいけない。

「Trojan:Android/SMStado.A」と「Trojan:Android/FakeNotify.A」

  今日我々は、二つのAndroid向け課金型SMSトロイの木馬に遭遇した。偶然にも、どちらもロシアのユーザを標的にしたものだ。

  最初に、「Trojan:Android/SMStado.A(SHA1: 718b8fbab302b3eb652ee0a5f43a5a2c5c0ad087)」について。

  通常通り、その性質に関する最初のヒントとなるのは、リクエストされるパーミッションだ:

trojan_android_smstado_a_permission_1 (80k image) trojan_android_smstado_a_permission_2 (64k image)

  実行すると、同トロイの木馬はhttp://[...]6.antiddos.bizに対して以下の詳細をリークする:

  •  国際移動体装置識別番号(IMEI)
  •  パッケージ名
  •  電話番号
  •  端末モデル

trojan_android_smstado_a_code (54k image)

trojan_android_smstado_a_run (67k image) trojan_android_smstado_a_run_2 (58k image)

  これらの詳細は、アプリ・パッケージのres\rawフォルダにも保存される。

  さらに、同アプリが実行される際、ユーザがスクリーン下部のボタンをクリックすると、SMSメッセージが指定された課金型の電話番号に送信される。これまでのところ、すべての番号がロシアの国別コード(特にモスクワエリアのものが多い)を使用している。SMSメッセージにはすべて、以下のテキスト文字列が含まれている:

  •  hm78929201647+1188+51+0+1+b92be

  このトロイの木馬はリモートサイトから、「love_position_v1.5.0.apk」という名のパッケージもダウンロードする:
(SHA1: 9cb4cc996fb165055e57e53ab5293c48567e9765)

trojan_android_smstado_a_download (73k image)

  我々のテストでは、解析エラーのため、ダウンロードされた電話上ではサンプルが動作しなかった:

trojan_android_smstado_a_download_error (22k image)

  しかし、ダウンロード・パッケージを別の、クリーンなテスト用電話機で独立して分析したところ、こちらは起動の際、バックグラウンドで悪意あるサービスも開始するという違いはあるが、「Trojan:Android/SMStado.A」とほとんど同じふるまいをすることが分かった:

trojan_android_smstado_a_service (96k image)

  次のマルウェアは「Trojan:Android/FakeNotify.A」だ。

  これはアップデート通知アプリケーションを装う。以下はアプリが使用するパーミッションと、端末にインストールされる際の様子だ:

trojan_android_fakenotify_permissions (83k image) trojan_android_fakenotify_downloaded (114k image)

メモ:「Stados.A」「FakeNotify.A」のどちらも同じ名前(установка)だが、Google Translateによれば、これは「インストール」という意味だ。アプリを名付けるのに、これらマルウェアの亜種間の関係を示すよりも、一般的な言葉が用いられたということが示されているのだろう。

  いったんインストールされ、実行されると、ユーザの興味をひくために人気のあるモバイルゲームの名を使用して、アプリケーションのダウンロードにユーザの許可を得るメッセージが表示される:

trojan_android_fakenotify_download_ui (36k image)

  「next」ボタンをクリックすると、バックグラウンドでFakeNotifyが直ちに3組のSMSメッセージを送信する。メッセージは、ロシアの課金型の電話番号に送信され、以下のフォーマットのテキスト文字列を含んでいる:

  •  [24 digit string].1/316623

  使用されたSMSの詳細は、アプリケーションから埋め込まれたデータベースファイルに由来する。

  他方でユーザが、アプリケーションのダウンロードを見ることは無い。その代わり、別のスクリーンが表示され、悪意あるものである可能性のある、もっと多くのアプリを提供するWebサイトに導く:

trojan_android_fakenotify_download_agreement (32k image)

FakeNotifyサンプルのSHA1ハッシュ:

  •  28fdc27048d7460cda283c83c1276f3c2f443897
  •  f2eb2af5b289f771996546f65a771df80d4e44da
  •  cdc4b430eb6d6e3a9ce4eb4972e808778c0c7fb1

ThreatSolutions post by — Irene and Jessie

「DevilRobber」のアップデート版が登場

  我々は「Backdoor:OSX/DevilRobber」のアップデート版を発見した。これについては以前、記事を掲載している。

  このアップデート版は、正当なアプリケーションに偽装するため、以前のものと同様のテクニックを使用しているが、今回は「PixelMator」と自称している。

Pixel_mator

  同マルウェアの「dump.txt」ファイルによれば、この最新版バックドアは「Version 3(v3)」とされている。

DevilRobber v3

  「DevilRobberV3」に見られる大きな違いは、配布の方法が異なり、「従来型の」ダウンローダ方式であるという点にある。

  我々が分析した「DevilRobberV3」サンプル(1c49632744b19d581af3d8e86dabe9de12924d3c)は、FTP Serverサービスプロバイダからバックドア・インストーラ・パッケージをダウンロードするFTPダウンローダだ。

  インストーラを取得するのに、同マルウェアはハードコードされたユーザ名とパスワードを持つ3つのFTP URLを生成するが、これらはプログラムそのものにコード化されている。パッケージは「bin.cop」という名で、FTPサーバーのルートフォルダに保存される。

DevilRobberV3 downloader

  配布方法が変更されていることに加え、「DevilRobberV3」では情報収集スクリプトに以下の変更がある:

  •  以前のようにスクリーンショットをとらない
  •  以前のようにLittleSnitch(ファイアウォールアプリケーション)の存在をチェックしない
  •  異なるローンチポイント名を用いる
  •  シェルコマンド履歴を収集する
  •  1パスワードコンテンツを収集する(AgileBitsのパスワードマネージャ)
  •  今回はシステムログファイルも収集する

  しかし今回もBitcoinワレットコンテンツを取得しようとする。

Threat Solutions post by — Wayne

「DroidKungFu」がアップデート攻撃を利用

  我々は昨日、新たな感染ベクタを使用するとおぼしき「DroidKungfu」サンプルに関する簡単な記事を投稿した。

  お約束通り、より技術的な詳細をご紹介する。

DroidKungFu, Chinese market

  我々が分析しているアプリケーションは「com.ps.keepaccount」という名で、そのコンテンツをざっとチェックしたところ、二、三のことが明らかになった。

  最初に見たところ、オリジナルのアプリケーション(SHA-1: 5e2fb0bef9048f56e461c746b6a644762f0b0b54)に「DroidKungFu」の痕跡は無い。

DroidKungFu, Original install
  コンテンツとインストールのパーミッション

  いったんインストールされると、同アプリケーションはユーザにアップデートが入手可能だと知らせる。そしてユーザがこれをインストールすると、アップデートされたアプリケーションは、「DroidKungFu」マルウェアで発見されたのとよく似た追加機能を獲得する。

  以下のスクリーンショットは、アップデートプロセスで何が起きるかを示している:

droidkungfu_update1droidkungfu_update2droidkungfu_update3

droidkungfu_update4droidkungfu_update5

  オリジナルバージョンと比較して、アップデートされたアプリケーションは、SMSおよびMMSメッセージと、デバイスのロケーションにアクセスできるよう、さらに2つのパーミッションを要求した。

  パーミッションの違いは、アップデートが悪意あるものかどうかを見分ける最良の方法ではないかもしれないが、それでもアプリケーションのアップデートが、別のパーミッションを要求しているかどうか、注意し、疑ってみることは良い方法だ。

  さらに重要なのは、アップデートされたアプリケーションは、ルート権限を得るためにエクスプロイトを使用し、それによりさらに意図せぬ行為が遂行される可能性が生じることだ。

  最後のスクリーンショットで、同アプリケーションが突然停止したことが示されている。これはおそらく、この「DroidKungFu」の亜種がまだ「Android OS version 2.2」用のエクスプロイトを使用しており、テストした端末は「Android OS version 2.3」を使用しているためのエラーが原因だろう。

  以下は、アップデートされたアプリケーションのソースを示す、アップデートプロセス中のパケットキャプチャだ:

droidkungfu_packet_capture

  「SHA-1: 7cd1122966da7bc4adfabb28be6bfae24072c1c6」でアップデートされたアプリケーションのコンテンツのクイックビュー

droidkungfu_encrypted_apk

  この「init.db」ファイルは、実は「DroidKungFu」のスタンドアロンコピーで、データベースファイルではなく、ルート権限を獲得するとアプリケーションがインストールする暗号化されたAPKファイルだ。

  このアプリケーションが実際「DroidKungFu」であることを確認するため、コードを見てみよう:

droidkungfu_verify

  「WP」は、ASCII表示である解読のためのキーで、コンバートされると「Deta_C1*T#RuOPrs」になる。

  更に検証を行ったところ、このアプリケーションが実際に「DroidKungFu」の亜種であることが分かった。我々はこれを2011年8月18日から、「Trojan:Android/DroidKungFu.C」として検出している。

  サンプル(アップデートの前と後の両方)の検証カバレッジをVirusTotalでチェックしたところ、以下の結果が得られた。自身を「DroidKungFu」にアップデートするオリジナルのアプリケーション:

droidkungfu_old_vtscan

  そしてアップデートされたアプリケーション:

droidkungfu_updated_vtscan

Threat Solutions post by /mdash; Zimry, Irene and Yeh

—————

10月25日の追記:この記事は、スクリーンショットに関連する詳細を修正するため、編集された。すなわち、最初の数パラグラフは、このトピックが昨日の記事に関連していることをハッキリさせるため書き直され、リンクはスクリーンショット付きでVirusTotalのスキャンレポートに置き換えられた。

バックナンバー
セキュリティ関連リンク
セキュリティ機関

政府関連

セキュリティ関連団体

研究機関・大学
詳細カテゴリ
メディア関係者の皆様へ
エフセキュアブログメンバー
エフセキュアブログメンバー
ミッコ・ヒッポネン
エフセキュア CRO(セキュリティ研究所主席研究員)(ヘルシンキ)
(Twitterアカウント)
(研究所Twitter)
ショーン・サリバン
エフセキュア セキュリティ・アドバイザー(ヘルシンキ)
(Twitterアカウント)
高間 剛典
メタ・アソシエイツ代表
(公式ブログ)
(Twitterアカウント)
星澤 裕二
株式会社セキュアブレイン 最高技術責任者
(公式ブログ)
(人物紹介)
岩井 博樹
デロイト トーマツ リスクサービス株式会社 (〜2013年3月 株式会社ラック) 情報セキュリティ大学院大学 客員研究員
(Twitterアカウント)

(人物紹介)
福森 大喜
株式会社サイバーディフェンス研究所 上級分析官
CDI-CIRTメンバー
(人物紹介)
鵜飼 裕司
株式会社FFRI 代表取締役社長
(人物紹介)
福本 佳成
楽天株式会社 システムセキュリティ室 室長
Rakuten-CERT representative
(人物紹介)
神田 貴雅
エフセキュア株式会社 プロダクトグループ 部長
富安 洋介
エフセキュア株式会社 プロダクトグループ
コーポレートセールスチーム
エフセキュア株式会社
(エフセキュアブログ公式Twitterアカウント)

海外記事翻訳
株式会社イメージズ・アンド・ワーズ
エフセキュアメールマガジン

ブログに載らないメルマガ限定情報や、技術者インタビュー、製品情報、技術解説を掲載して毎月一回配信します。アドレスのみの登録で購読無料。

エフセキュアブログQRコード
QRコード