• HOME
    • セキュリティブログ

このグローバル医療分野脅威テレメトリレポートでは、2016年第4四半期の世界の医療分野における脅威の動向を検証します。本書に記載する内容は、50カ国の454の医療分野の企業に設置されているセンサーからFortiGuard Labsの研究グループが取得した脅威テレメトリに基づくものです。

FortiGuard Labsと世界中の200人以上の研究者とアナリストは、200万以上のセンサーから収集された脅威テレメトリデータを監視・分析しており、その脅威研究・調査時間は年間400,000時間を超えます。これらの研究・調査で得られる脅威インテリジェンスによって、現在の脅威を常に正確に可視化し、新たな脅威を検出し、検出および防御のテクノロジを改善して、ほぼリアルタイムで実行可能な脅威情報を世界中の30万以上のお客様に提供することができます。平均で、毎分180,000件の不正Webサイト、220,000件のボットネットの試行、733,000件のネットワーク侵入の試行をブロックしています。また、現在までに339のゼロデイ脅威の発見という業界記録も達成しています。

この脅威テレメトリデータは、国際捜査機関によるサイバー犯罪者の追跡や逮捕にも利用され、脅威の特長や攻撃の調査・研究の開発、さらには、さまざまな業界や地域ごとのサイバー脅威レポートの作成にも活用されています。

以下にご紹介するレポートでは、2016年第4四半期にFortiGuard Labsが検出した、世界の医療分野を標的としていたトップ5のマルウェア、ランサムウェア、モバイルマルウェア、IPSイベント、ボットネット、エクスプロイトキットをご紹介します。

トップ5のマルウェア


グローバル医療分野 - 2016年第4四半期に検出されたトップ5のマルウェア

検出数がトップ5のマルウェアの多くは、いずれもランサムウェア攻撃の初期攻撃ベクトルとされているもので、最多だったのは、攻撃の第2段階でランサムウェアをダウンロードする際に使用される、VPスクリプトベースのドロッパー(VBS/Agent.LKY!tr)でした。2位は「リスクウェア/Asparnet」で、これは、ユーザーの同意なく秘密裏にインストールされ、機密情報を不正収集するソフトウェアの一種です。

3位以下にも、ランサムウェアドロッパー(VBS/Agent.97E!tr、JS/Nemucod.BQM!tr、JS/Nemucod.76CD!tr.dldr)と呼ばれるマルウェアがランクインしています。JS/Nemucod(およびその亜種)は、スパムメールを使って別のマルウェア(主にランサムウェア)にPCにダウンロードすることで知られている、JavaScriptマルウェアファミリです。たとえば、暗号化したJavaScriptを添付したスパムをNemucod経由で送信するという手口がよく使われます。このJavaScriptを解読してみると、感染したWebサイトからユーザーの一時ディレクトリにファイルをダウンロードしようとしていることがわかります。ダウンロードされるファイルは、後でユーザーのファイルを暗号化するために使用する実行可能ファイルです。JS/Nemucodの詳細は、以下を参照してください。

http://www.fortinet.co.jp/security_blog/160316-nemucod-adds-ransomware-routine.html

トップ5のランサムウェア


グローバル医療分野 - 2016年第4四半期に検出されたトップ5のランサムウェア

脅威テレメトリシステムによって最も多く発見されたランサムウェアは、CryptoWallで、検出されたランサムウェア感染の90%以上を占めました。CryptoWallは、他のほとんどのランサムウェアと同様に、ファイルを暗号化し、そのファイルを復号化するための身代金を要求します。このマルウェアは、ファイルを暗号化したことを知らせ、期限を過ぎると身代金が値上がりすると脅すメッセージを表示します。このマルウェアの作成者は、匿名性をできるだけ高くするためにTorネットワークを使用しており、最近のマルウェアのトレンドである、ビットコインでの身代金の支払いを要求します。CryptoWallの詳細は、フォーティネットとCyber Threat Allianceの共同調査・研究を参照してください。

https://blog.fortinet.com/2015/10/28/threat-intelligence-sharing-at-work-cyber-threat-alliance-tracks-cryptowall-version-3

CryptoWall v3レポート - http://cyberthreatalliance.org/cryptowall-report-v3.pdf

CryptoWall v4レポート - http://cyberthreatalliance.org/cryptowall-report.pdf

2位はCerberで、感染検出数全体の約5%を占めました。Cerberは、CryptoWallとほぼ同じ特性を持つランサムウェアです。Cerberの詳細情報は、FortiGuardのブログの調査・研究のセクションを参照してください。

https://blog.fortinet.com/search?q=cerber

これ以外で検出数が多かったのは、TorrentLocker、TeslaCrypt、およびLockyで、医療以外の分野でも多く検出されました。これらのランサムウェアの詳細は、以下のブログ記事を参照してください。

https://blog.fortinet.com/2016/07/25/insights-on-torrentlocker

https://blog.fortinet.com/search?q=teslacrypt

https://blog.fortinet.com/search?q=locky

トップ5のモバイルマルウェア


グローバル医療分野 - 2016年第4四半期に検出されたトップ5のモバイルマルウェア

Androidのマルウェアが、モバイルマルウェアのトップ5を独占しました。これは、Androidデバイスではユーザーがサードパーティのアプリを簡単にインストールでき、それらのアプリにAndroidベースのマルウェアが含まれている場合も少なくないことが原因と考えられます。

FortiGuard Labsは、モバイルマルウェア脅威の広範なデータベースを運用しており、この分野に関する研究者の考察を以下に公開しています。

https://blog.fortinet.com/search?q=android

https://blog.fortinet.com/search?q=ios

トップ5のIPSイベント


グローバル医療分野 - 2016年第4四半期のトップ5のIPSイベント

VxWorks.WDB.Agent.Debug.Service.Code.Executionが最も多く検出されたIPSイベントで、200万近いヒット数を記録しました。VxWorksは、CT/PET/X線計測器、点滴ポンプ、活動量モニターなどの医療機器を始めとする組み込み機器(あるいは、最近注目されているIoT)向けのオペレーティングシステムです。この脆弱性の発見が2010年であるにもかかわらず、(パッチがすでに公開されている)2016年になってもこの脆弱性を標的にした攻撃が発見されているということは、次のような理由で、この脆弱性が解決されていないデバイスが攻撃の標的になる可能性があることを示しています。

  • パッチ公開サイクルが長い、または
  • パッチがほとんど公開されない、または
  • パッチがまったく公開されない

上記のトップ5のIPSイベントでは、正しく構成されていないUnixベースのWebサーバーを標的にする攻撃も見つかっており、構成ミスによって、/etc/passwd、WebアプリケーションでのSQLインジェクションの試行、脆弱なNetcore/Netisルータ[https://blog.fortinet.com/2016/10/12/home-routers-new-favorite-of-cybercriminals-in-2016]、および複数のBash脆弱性(別名ShellShock)からオペレーティングシステムのユーザー名が漏えいする可能性があることを示しています。

トップ5のボットネットイベント


グローバル医療分野 - 2016年第4四半期に検出されたトップ5のボットネット

検出数が最多のボットネットは、Andromeda[https://blog.fortinet.com/search?q=Andromeda]で、これは、モジュールやアップデートをC2サーバーからダウンロードするローダーで構成される、モジュール型のボットです。このローダーは、VMとデバッグの両方の迂回する機能を備えているため、ボットネットとして広く利用されるようになったものと考えられます。そして、H-Worm、Necurs、Conficker、Pushdoがこれに続きました。

H-Wormは、機密情報を不正取得してC2サーバーに送信することができるVBスクリプトベースのボットネットで、Necursは、マルウェアを拡散することで知られている、Lockyランサムウェアと関連性のあるボットネットです。過去最大規模のボットネットの1つであるConfickerは、2008年以降、毎年発見されています。脆弱なWindowsシステムを悪用し、他の脆弱なシステムをスキャンして感染させることで、ワームとして拡散します。感染したシステムが使用されて、最終的にボットネットが形成されます。Confickerが2016年になっても発見されているということは、今でもこのマルウェアに感染している脆弱なWindowsシステムがインターネット上に存在していることを示しています。Pushdoも、数年前から発見されているボットネットで、大規模スパム攻撃に関与しているとされています。

トップ5のエクスプロイトキット


グローバル医療分野 - 2016年第4四半期に検出されたトップ5のエクスプロイトキット

RIGは、46%を占める、検出数が最多のエクスプロイトキットで、2016年に発見されたほとんどのエクスプロイトキットと同様、エクスプロイトの成功後にランサムウェアを拡散します。RIGエクスプロイトキットのサンプルの分析は、以下を参照してください。https://blog.fortinet.com/2015/09/30/a-quick-look-at-a-recent-rig-exploit-kit-sample

2位以降は、CK(23%)、Angler(16%)、Neutrino(12%)と続き、それ以外のエクスプロイトキットが3%でした。これらのエクスプロイトキットのほとんども、ランサムウェアの拡散に使用されています。これらのエクスプロイトキットに関する解説を、以下でお読みいただけます。

https://blog.fortinet.com/search?q=angler

http://blog.fortinet.com/search?q=neutrino

まとめ

脅威テレメトリの以上の結果から、医療分野は、より規模の大きいIT業界に匹敵するほどの数の脅威に直面していることがわかります。マルウェアに関しては、機密度の高い医療データを暗号化すれば身代金を手に入れられる可能性が高いことから、感染の大半がランサムウェアに関係しています。また、CryptoWallが2016年第4四半期に医療業界で最も流行したランサムウェアであること、さらには、Androidベースのマルウェアがモバイルマルウェアのトップ5を独占したこともわかりました。また、興味深いことに、発見から6年も経過しているVxWorks脆弱性に対する攻撃が、検出数が最多のIPSイベントであることもわかりました。このことから、VxWorksが組み込まれているシステムが動作する、パッチが未適用の医療機器を見つけて攻撃する脅威が存在する可能性があることがわかります。Andromedaが、検出数が最多のボットネットで、2011年以降、発見数の上位に常に登場しています。これらの検出数がトップ5のエクスプロイトキットは、ランサムウェアを拡散する目的で使用されています。

上記のいずれの脅威も、多層型セキュリティアプローチを適切に計画し、実行することで緩和できます。フォーティネットでは、フォーティネット セキュリティ ファブリック[https://www.fortinet.com/corporate/about-us/why-fortinet.html]による包括的な多層型セキュリティアプローチの採用により、ネットワーク、エンドポイント、アプリケーション、データセンター、クラウド、およびアクセスのセキュリティソリューションが連携し、統合された1つのセキュリティ ファブリックとして動作します。攻撃のあらゆる局面に対抗する、エンドツーエンドの統合セキュリティソリューションによって、段階的プロセスを用いた攻撃を緩和します。

こちらから、毎週お届けするFortiGuard Labsのメールを購読いただき、最新の脅威情報をご確認ください。


過去20年間、インターネットセキュリティ業界が成長してきたにもかかわらず発生したインターネットセキュリティの問題の多くは、ほぼ間違いなくOSやプログラムの脆弱性に起因するものです。そのため、世界中で広く利用され、業界を代表するとされるOSが少数に限られることは幸運だったといえます。OSの選択肢が何百も存在し、どのOSも攻撃の原因になる可能性があるとすれば、インターネットセキュリティエンジニアの仕事がどれほど大変か想像できるはずです。残念ながら、IoTのOSが益々多様化しているという今日の問題が解決されない限り、インターネットセキュリティに関するこのような懸念がそう遠くない将来に現実となってしまうでしょう。

自由度の高いIoTのOS

現在は、インターネットに追加されるほぼすべての新しい「モノ」に独自のOSが採用されています。洗濯機、電子レンジ、テレビ、車庫の扉、玄関のインターホン、街灯、車など、IoTデバイスの種類はさまざまです。90億のデバイスがすでにIoTに接続されており、その数は2020年までに200億〜500億になると予測されています。

PCなどのコンピューティングハードウェアとは異なり、これらのデバイスは、少数の標準化されたOSで制御されているわけではありません。インターネット接続が可能なことを除けば、何の標準もなく、それぞれが製造されているのです。そして、これらのデバイスのOSの多くは、容量の少ないデバイスにインストールされるため、セキュリティに対する配慮が十分ではありません。さらに問題なのが、これらのデバイスのほとんどで独自バージョンのLinuxやAndroidが動作していることであり、最近は、それ以外のOSと一緒にハードコーディングされたバックドアが埋め込まれた(完全とは言えない)コードを使用する例も増えています。

セキュリティにとって災いとなる、標準化の欠如

OSの数がWindows、Linux、Androidなどの少数に限られていれば、OSやセキュリティのベンダーも脆弱性を見つける努力を続けて、パッチや修正プログラムを合理的な方法で提供できるでしょう。ところが、オプションが増えて、独自バージョンのOSが次々と市場に出回るようになると、事態は急速に悪化します。

現在出回っているIoT OSの数は膨大で、Windows 10 for IoT Core、Windriver VxWorks、Google Brillo、Embedded Applie iOS and OS X、Nucleus RTOS、Green Hills Integrity、Huawei LiteOS、OpenWrt/LEDE/Linino/DD、Ostro Linux、Raspbian、Snappy Ubuntu Core、Tizen, uClinux、Yocto、Apache Mynewt、Arm Mbed、Contiki、FreeRTOS、Fuchsia、Nuttx、RIOT OS、TinyOS、Zephyrなどがあります。

しかし、これら氷山の一角に過ぎません。新しい多様なOSが続々と作成されており、その多くはこれから市場に出回ることになるのです。


図1. GoogleでのDDoS関連検索用語のトレンド - 最近のピークはMirai IoT Botの攻撃に対応するもの

CCTV/DVRの脆弱性を悪用した初めての大規模攻撃

最近のMiraiと呼ばれる悪質なIoTベースのDDoS攻撃(図1参照)では、数十台のCCTVカメラとDVRで使用されているOSの既知の脆弱性が悪用されました。また、最近発見された、Rakosと呼ばれるトロイの木馬型マルウェアでは、Linuxの脆弱性が存在するバージョンを採用したIoTデバイスが標的とされて、SSHログインの総当り攻撃で乗っ取られました。

スマートテレビや洗濯機、さらには、玄関のインターホンや芝生の散水機が接続されるようになり、それらのシステムに同様の脆弱性が見つかったら、どうなるでしょうか。対象となるデバイスやOSの数が膨大になれば、脆弱性をプロアクティブに検知するのがさらに困難になります。多数の被害が出て初めて発見され、ベンダーにそれが報告されることで、ようやく脆弱性の修正が始まります。そして、問題はそれだけではありません。

多くのIoTデバイスは残念ながらヘッドレスで、つまりはパッチを適用できないため、他のセキュリティ対策を開発する必要があります。そのため、対策が開発されるまでの間は、感染したIoTデバイスによるシャドーネットでインターネットが大混乱し、IoTの脆弱性が悪用されて大規模DDoS攻撃やサイバー戦争が始まることになるでしょう。

今すぐ必要とされる標準化

欧州や米国の議会はすでにこの問題の検討を始めており、新しい法律や標準が提案されています。IoT製品の購入者であるユーザーも、自分たちが使用するOSの標準化をベンダーに要求し、事態の深刻化を食い止めるよう行動する必要があります。セキュリティの観点から、さらには、IoTを悪用した攻撃が新たなデジタル社会に与えるであろう影響を考えれば、少数に集約されるのが望ましいのです。

しかしながら、標準化には時間がかかる可能性があるため、当面の対策として、以下の点を考慮して会社や組織を保護することをお勧めします。

1. 強力なアクセス制御を確立して、ネットワーク接続するIoTデバイスとトラフィックを識別し、検査する。

2. ネットワークをセグメント化して、IoTトラフィックを分離し、攻撃の拡散を制御し、感染したデバイスを特定して隔離する。

3. 分散するデバイスの連携を考慮して設計されたセキュリティファブリックでインフラストラクチャを強化することで、可視性を高め、攻撃に適切に対応できるようにする。


Android版バンキングマルウェアの新しい亜種は、さらに多くのドイツの銀行や、人気の高いソーシャルメディアアプリなどを標的にしている

概要

前回のブログでは、ドイツの大手銀行のモバイルアプリケーションを装い、ユーザーを騙してバンキング認証情報を引き出す新しいAndroid版バンキングマルウェアについて詳しく分析しました。今週は、拡大し続けるこのマルウェアの新しい亜種をいくつか検出しましたので、今回のブログでは新たにわかったことをお伝えします。

マルウェアのインストール

検出した亜種の1つは、ドイツの別のモバイルバンキングアプリを装っていました。インストールされると、そのアイコンがランチャーに表示されますが、それは銀行の正規アプリのアイコンに非常によく似たマルウェアアプリのアイコンです。

以前お伝えしたこのマルウェアの亜種と同様に、ユーザーがマルウェアアプリを起動すると、下図のように、デバイス管理者権限が要求されます。


図1:デバイス管理者権限の要求

デバイス情報の収集

マルウェアアプリケーションがインストールされると、デバイス情報が収集され、攻撃者のサーバーに送信されます。デバイストラフィックをキャプチャしたものを以下に示します。マルウェアバージョンが「061116xxxxx」になっていますが、これは、攻撃を開始するために標的のバンキングアプリを装っていることを示しています。


図2:マルウェアのデバイストラフィックのキャプチャ

クレジットカード情報を盗み出すために、Google Playを標的に

銀行を狙うだけでなく、マルウェアのこの新しい亜種に含まれる以下の主要コードでは、標的となるアプリとしてGoogle Playも加えられています。


図3:Google Playをターゲットにするマルウェア

前回のブログでは、変数a.cは空であることを示し、フォーティネットでは、マルウェアの今後の活動で使用されるのではないかと推測していることをお伝えしました。この亜種では、標的としてGoogle Playが追加されています。攻撃者は新たな標的を追加していく可能性が高いと考えられます。

このマルウェアの別のバージョンでは、ユーザーがGoogle Playアプリを初めて起動する際に、Google Playアプリの上に図4のような画面がオーバーレイ表示されます。


図4:Google Play上にオーバーレイ表示される画面

そしてユーザーを騙して、図5のようにクレジットカード情報(カード番号、所有者名、有効期限、セキュリティコード)を入力させます。


図5:VISAカード情報の入力

ユーザーがクレジットカード情報を送信すると、マルウェアはその情報をC2サーバーに送信します。トラフィックを以下に示します。


図6:クレジットカード情報をC2サーバーに送信


図7:オーバーレイ表示される「Verified by VISA」画面

これでマルウェアは、ユーザーが送信したカード番号が有効かどうかを確認できるようになります。有効であれば、マルウェアは偽の「Verified by VISA」画面をポップアップ表示します。その画面には、図8のように、誕生日、住所、郵便番号、課金先電話番号、パスワードが含まれています。


図8:「Verified by VISA」画面で情報を入力

ユーザーが情報を入力して送信すると、このデータもC2サーバーに送信されます。トラフィックを以下に示します。


図9:「Verified by VISA」情報をC2サーバーに送信

ユーザーがMasterCardのカード情報を送信すると、図10のように別の画面が表示されます。


図10:MasterCardのカード情報を入力

情報を送信すると、マルウェアは偽の「MasterCard SecureCode」画面をポップアップ表示します。VISAの偽の画面と同様、この画面にも図11のように、誕生日、住所、郵便番号、課金先電話番号、パスワードが含まれています。


図11:オーバーレイ表示される「MasterCard SecureCode」の画面

ユーザーがAmerican Expressのクレジットカード情報を送信すると、図12のような画面が表示されます。


図12:American Expressのカード情報を入力

ユーザーが情報を送信すると、マルウェアはまた偽の「American Express SafeKey」画面をポップアップ表示します。その画面にも、図13のように、誕生日、住所、郵便番号、課金先電話番号、パスワードが含まれています。

これらの手口は、ユーザーの全クレジットカード情報を取得するよう考えられており、すべて本物であるとユーザーに信じ込ませるために、「Verified by VISA」、「MasterCard SecureCode」、または「American Express SafeKey」の画面が使用されています。

標的となる銀行リスト

この亜種は、標的として新たに銀行をいくつか追加しており、その中にはオーストリアの5つの銀行も含まれています。この動向から、フォーティネットではこのマルウェアは地域全体に広がり続けていくと予測しています。

新しいC2サーバー

亜種は、以下のように6台のC2サーバーも新たに使用しています。

hxxps://loupeahak[.]com/flexdeonblake/
hxxps://chudresex[.]cc/flexdeonblake/
hxxps://chudresex[.]at/flexdeonblake/
hxxps://memosigla[.]su/flexdeonblake/
hxxps://sarahtame[.]at/flexdeonblake/
hxxps://loupeacara[.]net/flexdeonblake/

人気の高いソーシャルメディアアプリをターゲットに

ほかにも、フォーティネットで発見したこのマルウェアファミリの中には、Flash Playerアプリを装う亜種が2つあります。それらのバージョンは「081116」となっており、作成日が2016年11月8日であると予測できます。それらの亜種では、人気の高いソーシャルメディアアプリが標的として追加されています。このような偽装アプリのリストを以下に示します。

com.instagram.android
com.facebook.katana
com.android.vending
com.skype.raider
com.viber.voip
com.whatsapp

このマルウェアの動作を調べるために、偽装されたSkypeアプリケーションを使用してみます。

ユーザーがSkypeアプリを起動すると、図14で示すように、正規アプリの上にマルウェアの画面がオーバーレイ表示されます。


図14:Skypeでオーバーレイ表示される画面

画面には、「あなたの情報を確認できないため、あなたのアカウントは凍結されました。引き続きお使いいただくには、ここでアカウントを認証してください。」というメッセージが表示されています。これは典型的なフィッシング詐欺の画面です。

次の画面で、クレジットカード情報を入力するようユーザーを促します。


図15:Skypeにクレジットカード情報を入力


図16:Skypeに課金情報を入力


図17:「Verified by VISA」に情報を入力

上の図から、このマルウェアはユーザーの全クレジットカード情報を盗み出すよう設計されていることがわかります。また、ユーザーに正規の取引であると信じ込ませるために、「Verified by VISA」、「MasterCard SecureCode」、「American Express SafeKey」の画面も使用されています。トラフィックを以下に示します。


図18:クレジットカードの全情報をC2サーバーに送信

フィッシング詐欺の画面をオーバーレイ表示させる手口は、別のソーシャルメディアアプリでも使用されており、Skypeアプリで表示されるものと類似しています。

ソリューション

マルウェアの検体は、フォーティネットのウイルス対策シグネチャAndroid/Banker.GT!tr.spyおよびAndroid/Marcher.GT!trにより検知されます。盗まれた情報をC&Cサーバーに送信するトラフィックは、フォーティネットのIPSシグネチャAndroid.Banker.German.Malware.C2により検知できます。

まとめ

フォーティネットの分析に基づくと、このマルウェアファミリは高い拡張性を備えています。攻撃者は新しいアプリリストを容易にコードに追加できます。このような新しい亜種は、クレジットカード情報を盗み出すために、Google Playアプリや人気の高い他のソーシャルメディアアプリを標的として追加しています。また、ユーザーに正規の取引であると信じ込ませるために、「Verified by VISA」、「MasterCard SecureCode」、「American Express SafeKey」の画面が使用されています。さらに、オーストリアのいくつかの銀行が新たに標的として追加されています。フォーティネットでは、標的となる銀行が世界中に広がり続けると予測しています。

フォーティネットでは、今後もこのマルウェアファミリの活動を監視し続け、フォーティネット製品において適切なセキュリティソリューションが開発されるようにしていきます。

付録

SHA256ハッシュ

5366f4006c939cd06af8545bb6d19667cf475ac3b7110305bb11feb6ea28e5c8
ae269a51b3acdf4507b00dd220a67ee5b41b7a6fab8924c63eb51aeab4e45fab
b2daba5ac747439abd70522bde0e49c867e88cf2c9a7443177d944357d7a2576

C&Cサーバー

loupeahak[.]com
chudresex[.]cc
chudresex[.]at
memosigla[.]su
sarahtame[.]at
loupeacara[.]net
polo777555lolo[.]at
polo569noso[.]at
wahamer8lol77j[.]at


概要

フォーティネットは最近、メールアプリを装ってドイツの大手銀行を標的にする、Android版バンキングマルウェアを検出しました。このバンキングマルウェアは、ドイツの15種類ものモバイルバンキングアプリからログイン認証情報を盗み出すよう設計されています。また、ウイルス対策モバイルアプリに対抗する機能や、30種類のウイルス対策プログラムを妨害してそれらの起動を阻止する機能も搭載されています。

マルウェアのインストール

マルウェアはメールアプリを装っています。マルウェアがインストールされると、そのアイコンが下図のようにランチャーに表示されます。


図1:マルウェアアプリのアイコン


図2:デバイス管理者権限の要求

以前のブログ(Android版バンキングマルウェアがFlash Playerを装い、大手銀行を標的に)で取り上げたAndroid版マルウェアと同様、このマルウェアもユーザーを騙してデバイスの管理者権限を有効にします。それが成功すると、偽のメールアイコン(マルウェアアプリ)はランチャーに表示されなくなりますが、マルウェアはバックグラウンドで活動を続けます。

このマルウェアアプリで利用可能な実行権限を以下に示します。


図3:マルウェアの実行権限

ご覧のように、マルウェアは、「電話番号に直接電話する」、「SMSメッセージを送信する」、「テキストメッセージ(SMS)を受信する」といった危険な実行権限を持つようになります。

マルウェアの仕組み

ここでは、マルウェアの仕組みについて、技術的に詳しく分析します。マルウェアが起動を開始するときに使用される主要なコードを以下に示します。

上図のコードを使用して、マルウェアは3つのサービス(GPService2、FDService、AdminRightsService)を開始し、そのアイコンを非表示にします。これらのサービスはバックグラウンドで動作し続けます。

次に、このマルウェアで実行される3つのサービスを分析します。

1.GPService2サービス

このサービスはバックグラウンドで動作し、デバイス上で動作しているすべてのプロセスを監視し、さらに標的とする銀行への攻撃も行います。ユーザーには、アプリ起動時に、正規のバンキングアプリに似たカスタム画面がオーバーレイ表示されます。その中には、各銀行に合わせてカスタマイズされたさまざまなログイン画面もあります。さらに、この監視サービスは、一部のウイルス対策モバイルアプリとサービスユーティリティを妨害して、それらの起動を阻止しようとします。

GPService2の実装において使用される主要コードを以下に示します。

リストv3は、動作中のプロセス名と共に格納されます。クラスcom.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.aの定義を以下に示します。

上図のコードから、com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.a.aがこのマルウェアのパッケージ名であること、com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.a.bで標的の銀行とペイロードのURLを格納すること、com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.a.cは将来的に標的となるアプリのリストになるであろうこと(フォーティネットの分析で確認される予定)、そしてcom.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.a.dで標的のウイルス対策アプリを格納することがわかります。

i.b関数の定義を以下に示します。

上図のコードを使用するマルウェアは、ユーザーがいつウイルス対策アプリを起動しているかを検出できます。それから、マルウェアはこのウイルス対策アプリがcom.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.a.dのリストにあるかどうかをチェックします。リストにある場合は、ホームランチャー画面に戻り、ウイルス対策アプリの起動を阻止します。

次にこの.a関数の定義を示します。

この関数は主にC2サーバーとの通信に使用され、標的の各銀行に適切なペイロードを要求して受信します。正規アプリの上に、カスタマイズしたWeb画面がオーバーレイ表示されます。DialogCustomWebの実装を以下に示します。

2.FDServiceサービス

このサービスはバックグラウンドで動作し、デバイス上で動作しているすべてのプロセスを監視します。これは標的のアプリリストも攻撃します。標的のアプリリストは、現在空になっています。作成者はこれから新しい標的のアプリを追加していく意図があると考えられます。フォーティネットでは、人気の高いソーシャルメディアアプリがいくつか含まれる可能性があると推測しています。そしてユーザーには、アプリ起動時に、正規のアプリに似た偽のGoogle Playカード画面がオーバーレイ表示されます。フィーティネットは、このマルウェアファミリを引き続き監視し、新たな標的のアプリが追加されたら報告していきます。

FDServiceの実装において使用される主要コードを以下に示します。

変数のcom.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.a.cは現在空です。DialogGooglePlayCardは、正規アプリの上にオーバーレイ表示されてGoogle Playカードを模した動作をし、ユーザーを騙してクレジットカード情報を引き出します。

3.AdminRightsServiceサービス

このサービスは、マルウェアが初めて起動したときに、デバイス管理者権限を要求します。サービスが実行されると、アプリの削除がさらに困難になります。

ユーザーから情報を盗み出し、C&Cからコマンドを取得

マルウェアがインストールされると、マルウェアはデバイスについての情報を収集し、それをC&Cサーバーに送信して、新しい実行コマンドでサーバーが応答するのを待機します。

以下のコードは、サーバーの応答を解析し、新しいコマンドを実行するために使用されます。

com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.b.ap is "Server response: ".
com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.b.af is "OK".
com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.b.ag is "command".
com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.b.ah is "params".
com.jlkbvcbyjjscyxvsudkmjabndnkrbn.a.b.ai is "timestamp".

クラスAPIHandlerFactoryは、C2サーバーから受信したコマンドを処理するために使用されます。

@Keep public static a invoke_getHnd(String arg1) {
        n v0_2;
        if(arg1.contains(b.h)) {
            com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.i v0 = new com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.i();
        }
        else if(arg1.contains(b.o)) {
            l v0_1 = new l();
        }
        else if(arg1.contains(b.j)) {
            v0_2 = new n();
        }
        else if(arg1.contains(b.i)) {
            p v0_3 = new p();
        }
        else if(arg1.contains(b.p)) {
            d v0_4 = new d();
        }
        else if(arg1.contains(b.G)) {
            com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.b v0_5 = new com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.b();
        }
        else if(arg1.contains(b.q)) {
            com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.c v0_6 = new com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.c();
        }
        else if(arg1.contains(b.r)) {
            r v0_7 = new r();
        }
        else if(arg1.contains(b.s)) {
            q v0_8 = new q();
        }
        else if(arg1.contains(b.t)) {
            s v0_9 = new s();
        }
        else if(arg1.contains(b.u)) {
            o v0_10 = new o();
        }
        else if(arg1.equals(b.v)) {
            h v0_11 = new h();
        }
        else if(arg1.equals(b.w)) {
            g v0_12 = new g();
        }
        else if(arg1.equals(b.x)) {
            com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.a v0_13 = new com.jlkbvcbyjjscyxvsudkmjabndnkrbn.api.b.a();
        }
        else if(arg1.equals(b.l)) {
            j v0_14 = new j();
        }
        else if(arg1.equals(b.m)) {
            m v0_15 = new m();
        }
        else if(arg1.equals(b.y)) {
            k v0_16 = new k();
        }
        else {
            a v0_17 = null;
        }

        return ((a)v0_2);
    }
}

マルウェアは、C2サーバーから以下のコマンドを受信できます。

rent&&&: start intercepting all incoming SMS messages;
sms_stop&&&: stop intercepting incoming SMS messages;
sent&&&: send a text message;
ussd&&&: send a USSD request;
delivery&&&: send SMS messages to all contact list numbers;
api_server: change the address of the command and C2 server;
Appmass: send mass text messages
windowStop: add a specified app to the exclusion list so that when the app is launched, the phishing screen is not displayed;
windowStart: delete a specified app from the exclusion list;
windowsnew: download an updated targeted apps list from C2 server;
updateInfo: send information collected from device to C2 server;
freedialog: display a templated-based dialog using Webview;
freedialogdisable: cancel the display of the Webview dialog;
adminPhone: change the phone number used to send SMS messages
killStart: set a password for screenlock;
killStop: clear the password from screenlock;
notification: display a notification with the received parameters.

収集されてC&Cサーバーに送信されるデバイス情報としては、デバイスIMEI、ISO国コード、Androidビルドバージョン、デバイスモデル、電話番号などがあります。トラフィックを以下に示します。マルウェアは、HTTPS経由でC2サーバーと通信します。また、復号された要求と応答のパケットも以下に示します。

バージョン情報の「11/06/16」はマルウェアアプリの作成日を示している可能性があります。

マルウェアアプリは、インストール済みアプリリストも収集し、C2に送信します。

次に、コマンド「killStart」が実行されて新しいパスワードが画面ロックに設定される方法を確認していきます。

関数t.aは、画面ロックの新しいパスワードをリセットするために使用されます。マルウェアがC2サーバーからコマンド「killStart」を受信すると、パスワードに9991を設定します。さらに、フォーティネットでは、関数t.aを呼び出してパスワードに8320を設定する別のコードも検出しました。

ドイツの大手銀行アプリを標的に

以下に示すように、フォーティネットは、標的となるアプリリストに15個のバンキングアプリがあることを検出しました。

このマルウェアの今後のリリースでは、別の銀行や他の組織が追加される可能性があります。

この悪意あるアプリがインストールされ、デバイス管理者権限が取得されると、標的のバンキングアプリをユーザーが初めて起動したときに、その悪意あるアプリからそのC2サーバーに対してHTTPS経由でペイロード取得要求が送信されます。そしてC2サーバーは偽のカスタムログインWebページで応答し、悪意あるアプリは正規バンキングアプリの上にこの偽のカスタマイズログイン画面をオーバーレイ表示し、入力されたバンキング認証情報を収集します。

このマルウェアが標的にしている各銀行向けに、さまざまなカスタムログイン画面が存在します。

認証情報の漏洩

フォーティネットは、標的のバンキングアプリのオーバーレイを通じて、認証情報を盗み出すのに使用されたプロセスを分析しています。このプロセスは、マルウェアが標的の銀行に向けて挿入するすべてのオーバーレイで共通しています。

マルウェアがC2サーバーから偽の銀行のペイロードをダウンロードする際にキャプチャされたトラフィックを以下に示します。C2サーバーは、正規アプリの上にオーバーレイ表示されるカスタムログイン画面を提供します。

ユーザーが認証情報を送信すると、マルウェアはその情報をC2サーバーに送信します。その際、HTTPS経由でC2サーバーと通信します。

ウイルス対策モバイルアプリの妨害

マルウェアは、一部のウイルス対策モバイルアプリとサービスユーティリティを妨害して、それらの起動を阻止しようとします。このようなアプリには以下のものがあります。

com.qihoo.security
com.antivirus
com.thegoldengoodapps.phone_cleaning_virus_free.cleaner.booster
com.antivirus.tabletcom.nqmobile.antivirus20
com.kms.free
com.drweb
com.trustlook.antivirus
com.eset.ems2.gp
com.eset.ems.gp
com.symantec.mobilesecurity
com.duapps.antivirus
com.piriform.ccleaner
com.cleanmaster.mguard
com.cleanmaster.security
com.sonyericsson.mtp.extension.factoryreset
com.anhlt.antiviruspro
com.cleanmaster.sdk
com.qihoo.security.lite
oem.antivirus
com.netqin.antivirus
droiddudes.best.anitvirus
com.bitdefender.antivirus
com.dianxinos.optimizer.duplay
com.cleanmaster.mguard_x8
com.womboidsystems.antivirus.security.android
com.nqmobile.antivirus20.clarobr
com.referplish.VirusRemovalForAndroid
com.cleanmaster.boost
com.zrgiu.antivirus
avg.antivirus

マルウェアを取り除くには

まず、ユーザーはマルウェアのデバイス管理者権限を無効にできます([Settings] -> [Security] -> [Device administrators] -> [Device Admin] -> [Deactivate])。

これでユーザーは、コマンド「adb uninstall [パッケージ名]」を使用することで、ADB(Android Debug Bridge)を介してマルウェアをアンインストールできます。

ソリューション

マルウェアの検体は、フォーティネットのウイルス対策シグネチャAndroid/Banker.GT!tr.spyにより検知されます。

盗まれた情報をC&Cサーバーに送信するトラフィックは、フォーティネットのIPSシグネチャAndroid.Banker.German.Malware.C2により検知できます。

まとめ

このマルウェアは、複数の悪意ある機能を1つのアプリに実装し、感染を最大限に活用します。15行ものドイツの大手銀行を標的にし、各銀行の正規アプリの上にカスタム画面をオーバーレイ表示します。また、ウイルス対策モバイルアプリに抵抗する機能や、30種類のウイルス対策プログラムを妨害してそれらの起動を阻止する機能も搭載されています。攻撃者は、C&Cコマンドで標的にされるように正規アプリのリストを制御できます。

フォーティネットでは、今後もこのマルウェアファミリの活動を監視し続け、フォーティネット製品において適切なセキュリティソリューションが開発されるようにします。

付録

ハッシュ関数:

SHA256: 216cde0f92e601ec0e65218f9cc13dc22bdf6cb7e46c2d2a22a7dc4488238e1b

C&Cサーバー

polo777555lolo[.]at

polo569noso[.]at

wahamer8lol77j[.]at



サイバーインテリジェンスの共有を成功させるには、第1に組織間の信頼関係を構築し、第2に情報の収集および交換と情報に基づく対応のプロセスを迅速化することが必要です。
フォーティネット、グローバルセキュリティストラテジスト、
Derek Manky

この記事は、Dark Readingのバイライン記事として掲載されたものです。

サイバーインテリジェンスの共有を成功させるには、第1に組織間の信頼関係を構築し、第2に情報の収集および交換と情報に基づく対応のプロセスを迅速化することが必要です。

サイバー脅威が高度化してクラウドとモノのインターネット(IoT)に及ぶようになり、信頼する組織間で有意義な脅威インテリジェンスを共有することの重要性が今まで以上に高まっています。今年、フォーティネットのチームはインターポール(国際刑事警察機構)とナイジェリア経済金融犯罪委員会による国際的犯罪組織の共同捜査に協力しました。その一環として情報を直接的に共有したことが首謀者の摘発に役立ち、ここでも情報共有のメリットを実感しました。

この連携活動では、第1に、サイバー脅威への対応としてセキュリティベンダーが提供可能なグローバル脅威インテリジェンス研究および分析の重要が示されました。個人的には、セキュリティベンダーはエンドユーザー支持団体との間で脅威情報を共有するとともに、ベンダー間でも「責任」をもって脅威情報を共有すべきであると考えています。攻撃に対抗し、またサイバー犯罪者を相手とする捜査当局の捜査を支援するうえで、これが最善の道です。しかし、信頼された機密ネットワークの間ですら、情報共有という価値ある目標を達成するには依然として課題があります。

情報共有を阻んでいる主な要因の1つとして、法的責任を問われることを回避したいという意識が働いていることが挙げられます。2014年にPonemonが700人のITセキュリティ担当者を対象に実施した調査では、情報共有に参加している回答者の71%が、共有によってセキュリティ態勢が改善していると答えています。一方で、情報を共有していない組織の半数は、共有をためらう主たる理由として「法的責任を問われる可能性」を挙げています。

このような障害を克服するには、組織間の信頼関係を構築するとともに、脅威インテリジェンスを迅速に受け渡して活用するプロセスを実現する必要があります。

「信頼せよ、されど検証せよ」


組織は、共有可能な情報に関する詳細な取り決めを必要とするだけでなく、共有相手となる組織を信頼し、また情報の収集、処理、交換のプロセスも信頼する必要があります。

さらに、データの機密性、および個人情報(PII)の保護についての懸念も大きな課題です。攻撃と攻撃者に関する詳細情報は、顧客との(コンテキストも含めた)関連付けなしに共有する必要があります。顧客の機密性を危険にさらして、法的責任を問われることは避けなければなりません。組織は、攻撃者に関連する情報のみを共有し、PIIを匿名化するなど、合意された取り決めを厳守して実施する信頼できるパートナーに依存する必要があります。

信頼関係の構築には、次のようなヒントが参考になります。

  • 業界内であなたが知っているパートナーやベンダーから開始して、脅威情報の共有について意見を聞きましょう。
  • ISAO(Information Sharing and Analysis Organization)またはISAC(Information Sharing and Analysis Center)に参加しましょう。これらのグループは、業種関連の脅威インテリジェンスの共有に取り組み、業界のニーズに適した取り決めと手続きを確立しています。
  • インターポール、NATO Industry Cyber Partnership(NICP)、地域的な団体など、さまざまな組織が脅威データの収集と共有のためにベンダーおよび業界リーダーと積極的に連携しています。セキュリティベンダーの場合は、Cyber Threat Alliance(CTA)、OASIS Cyber Threat Intelligence(CTI)グループなどの業界団体に参加することが、全体的な保護に役立ちます。
  • 直接人々と会いましょう。信頼を築くには時間がかかります。食事などの集まりに参加することは、関係構築に非常に役立ちます。関係者が顔を合わせる機会としては、業界関連の会議、地域的な集まり、ユーザーグループなど、さまざまなものがあります。
  • レーガン元大統領が頻繁に引用していたことで知られていますが、「信頼せよ、されど検証せよ(Trust, but verify)」ということわざは情報共有にも当てはまります。重要セキュリティ情報を受け渡しするには、継続的な監視が必要です。重要情報を渡して使い物にならない情報を受け取っていないか、データが適切に匿名化されているか、渡したものと同じデータを受け取っていないかといったことを確認しなければなりません。信頼関係を維持するには、当事者全員が誠実であることが欠かせません。

迅速な処理の必要性

多くの情報共有サービスに対する批判でよく挙げられるのが、時間がかかり信頼性が低い点です。共有が適切に機能するには、組織は脅威インテリジェンス情報を迅速に受け取って処理し、情報に基づく行動をとることができなければなりません。また、共有する脅威インテリジェンスが即座に役立つものであることを確実にする必要もあります。

すぐに利用できる情報は、受け身の姿勢を改めて積極的に対応するうえで最も役立ちます。これによって、組織は攻撃を止めるだけでなく、サイバー犯罪者を実際に捕らえることができるようになります。真の意味ですぐに役立つインテリジェンスを開発して共有するには、情報を「開発」する組織の訓練されたセキュリティチームの努力とともに、情報を「利用」するユーザーまたは組織の努力も求められます。

多くの組織は、内部を含めた多様なソースから可能な限り多くのデータを積極的に収集していますが、情報を処理して相関させ、ポリシーに変換する作業の多くは依然として手動で行われています。そのために、アクティブな脅威に対して迅速に応答したり、タイムリーな役立つ情報を共有したりすることが非常に難しくなります。最も望ましいのは、脅威インテリジェンスの利用、処理、相関を自動化することです。

セキュリティベンダーは、脅威インテリジェンス情報の共有を自動化する必要もあります。これは、外部組織との間だけではありません。多くの組織は、配備されたセキュリティデバイス間、または異なるチームメンバー間ですら、脅威インテリジェンスを共有するうえで困難を抱え続けています。自動化により、迅速さが求められる脅威情報が即座にすべての利害関係者に提供されるので、リアルタイムでの共有と情報に基づく対応が可能になります。

信頼関係に基づく情報共有は、すでに知っているパートナーやコミュニティとの間であっても、言うほど簡単ではありません。セキュリティ環境の評価ではネットワーク設計の特性を考慮すべきであり、これによって脅威インテリジェンスの受け渡しが確実に推進されます。攻撃が加速し続けている今日の状況において、インテリジェンスの共有、利用、手作業の相関、更新されたポリシーの配信などの迅速さが求められる活動を含め、プロセスを可能な限り自動化していくことが重要です。