エフセキュアブログ

復号 を含む記事

暗号化ランサムウェアのマネタイズ

 ここ数年間、仮想通貨、ダークWeb(Dark Web)、きちんと整備された犯罪者向けアフィリエイトプログラムという形で、破壊的な状況を招くように技術およびインフラの連携が取られてきた。そしてその状況から現れたのが、暗号化ランサムウェアというけだものだ。

 暗号化ランサムウェアが毎日のように報じられるのには理由がある。ここ何年かの間に目にした他のどの脅威と比べても、独特のものだからだ。暗号化ランサムウェアは被害者に実際にサービスを提供する。身代金を支払えば、ファイルを取り戻せるのだ。また派手な事例を見聞きすることも増えている。これぞ、人々がまさに行っていることなのだ。ある病院がインフラを復旧させるためにBitcoinで大枚をはたいたという最近の事例について、思い出させるには及ばないだろう。暗号化ランサムウェア業界は、毎年1億ユーロ相当の収益を得ているとの見積もりがある

 犯罪者にとって、暗号化ランサムウェアは引き続き実入りの良い金儲けの手段であり、時間の経過とともに、バンキング型トロイの木馬のような他のマルウェアのモデルから取って代わり続けている。あらゆるビジネスと同様に、モデルの投資利益率の最適化や改善に焦点がシフトするのは必然的なことだ。我々は今日のランサムウェア・キャンペーンのビジネスモデルを、インターネット時代の幕開け期のものになぞらえている。つまり、いまだに本質的に非常にシンプルで、大方は目を向けていないのだ。結論としては、まだまだたっぷりと創造性とイノベーションの余地が残されている。暗号化ランサムウェアの背後にあるビジネスモデルは、徐々に成熟しており、我々が最近になって気付いた、あるイノベーションの試みがある。

 厳選した暗号化ランサムウェア・キャンペーンでは、とりわけ米国、英国、オーストラリア、カナダといった「第1階層」の国を標的にする。このような標的を選定したことは、支出に見合う価値という観点で理にかなっている。ランサムウェア自体をローカライズする必要はないし、標的の人口動態は相対的に裕福で、一部の研究ではこの地域の被害者は実際に身代金を支払う意思があることが示されている。

 フィッシング詐欺のキャンペーンでは、別の芸当を目にした。地域に特化して注意深く調整を行い、時にはカレンダー上の行事に合わせているのだ。当社が観察した、スウェーデンで実施されたスパムキャンペーンを例に挙げると、被害者は地元の郵便局からの到着した荷物についての、説得力のあるメッセージを受け取っていた。この種の標的型の地域限定のスパムキャンペーンは目新しいものではないが、搾取率を高める目的でキャンペーンを調整したマルウェアの担い手もいる。

 一部の暗号化ランサムウェア・ファミリーでは、被害者が支払いを行いやすくなることを期待して、サポートのインターフェイスの向上に取り組んできた。サポートサイトはより直感的に理解できるようになり、(PadCryptなど)ライブチャットのインターフェイスを持つケースもある。Bitcoinの入手方法、Tor経由でサポートサイトへ接続する方法、ファイルを取り戻す方法についての説明が、より明確になり、またより適切に提示されるようになっている。驚くようなことではないが、暗号化ランサムウェアのサポートサービスは、多くの場合において、合法的な企業が運営するものよりも優れている。余談だが興味深いことに、被害者のファイル群の復号を手助けする目的で、顧客のためにBitcoinのブローカービジネスを始める、独立系のITサポート要員も確認している。

 TrueCrypterファミリーはAmazonギフト券での支払いに対応している。またiTunes Cardでの支払いを受け付けている暗号化ランサムウェア・ファミリーも見聞きしている。これは犯罪者にとってはリスキーな手立てだと考える人もいるだろう。AmazonやAppleが、これらのカードを使った人物を簡単に追跡できるであろうからだ。判明したところでは、犯罪者たちはただちにギフト券をeBayのようなサイトに流す傾向にある。これの購入者が、帰結する結果に対処するように仕向けるのだ。米国のiTunes Storeに豪華なコンテンツ・セットがあれば、ヨーロッパで米国ベースのiTunes Cardへの要求があるだろう。

 もう1つの驚くべき方向性として、ある暗号化ランサムウェア・ファミリーが、被害者に圧力をかけて強制的に支払わせようとしていることをつかんだ。我々は最近Jigsawファミリーに遭遇したのだが、これは身代金が支払われない限り、1時間おきに消し去るファイルの数を増やしていく。全ファイルが削除される締め切りまでに、被害者には72時間が与えられる。機器を再起動したり、強制的にエージェントを殺すと、直ちに1000個のファイルが削除される。こうした戦略は、テレビや映画で見てきたような人質の状況と変わりない。残念なことに、特定の戦略によって人々の支払いが増すのか減るのかを判定できるようなデータを、我々は現時点で提供できない。

Jigsaw ransomware
身代金をお支払いくださいますか?

 これまでに挙げた例では、暗号化ランサムウェアの背後にいる人物らが、いかにさまざまなビジネスモデルを試して、投資利益率を向上させようと取り組んでいるかを示している。犯罪者たちは、大規模なランサムウェア・キャンペーンでは、気付かれてしまい、やられることを学習している。少なくとも、CryptoLockerの裏にいる人物たちは数年前に学んだ。そのため彼らは最近では、すべてより小規模にキャンペーンを実施している。しかし小規模のキャンペーンというのは、巨大な法執行機関のレーダーをかいくぐるためだけに重要なわけではない。個々の感染したコンピュータや、個々の送付されたスパムメッセージのために支払いを行わなければならない世界において、利益を最大化することにとっても重要なのだ。

 当社では最近、もし暗号化ランサムウェアの被害者になってしまったら、ファイルの復号にいくら払う意思があるかをユーザに尋ねるアンケートを実施した。

 (訳注:「 このアンケートに基づくと…、暗号化ランサムウェアが1 BTCではなく0.5 BTCを請求した場合、ほぼ3倍以上になる。」という意味)

 ショーンがこのアンケートを実施した時点で、数多くの身代金は約1 BTC、つまりちょうど400ドルであった。単純な計算を行えば、上の結論に達する。半額にすれば、収益を約3倍にできる。上述の調査を行って結論を導き出すのには、過大な負荷はかからなかった。実装するのにたいしたプログラムの行数さえ必要なかった。これらのツイートで一部のマルウェアの作者に情報を与えてしまったかは定かでないが、最近、身代金が低価格化している傾向をつかんでいる。

 ただ、この情報を手に入れたランサムウェアの作者ばかりではなかったようだ。ほんの数日前、新たな種族の暗号化ランサムウェアが出現した。これは身代金を義援金だとうたっている。しかしながら、5 BTC、つまり記事を書いている時点で約2,200ドルなのだ。だいたいの人はそんなに気前よくない、と我々は思う。

 この先いつの日か暗号化ランサムウェアで用いられる価格体系に、より高度で洗練されたものが適用されているのを見ることになると予期している。現時点では、当該ソフトウェアはかなり知力を欠いていて、すべての感染したマシンで身代金を固定額で設定している。我々はある時点で変動価格体系がお目見えすると予想している。おそらく暗号化されるファイルの数や種類に基づくなり、マシンが個人所有のコンピュータかサラリーマンが使っているものかをソフトウェアが検知するなりするのだろう。1 BTCという身代金は大半の個人にとってはちょっと高額だが、多くの企業にとっては微々たる金額だ。

 数多くの暗号化ランサムウェア・ファミリーはすでにネットワーク共有にも感染させるように試みているが、インテリジェントな方法で行っているものはない。理論上、被害者は1回支払えば、ネットワーク共有のファイルも含め、全ファイルを取り戻せる。この理由から、開発者たちがソフトウェアに知能を組み込んで、より効率的にネットワーク中に伝播させるのを、我々は目撃することになると予期している。感染させるマシンの数を増やし、再度触れるが、環境に応じて身代金の額を決めるのだ。

 クライムウェアのアフィリエイト・ネットワークやマルウェア・キャンペーンの裏にいる人物たちは、すでにビジネス的な判断力の旺盛さを示している。こうした人達がもうけ、つまり投資利益率を最大化する仕事を与えられたとき、価格体系や、使いやすさ、ネットワークでの伝播、あるいはスマートな標的選定に基づき、ソフトウェアやプロセスのモデルをより創造的に考案することは、想像に難くない。近い将来、暗号化ランサムウェアで使われるビジネスモデルとマネタイズモデルの双方で、洗練度が増すのを見る羽目になるのを我々は十分に予想している。

「Petya:ディスク暗号化ランサムウェア」に感染したマシンの復旧

エフセキュアブログによると、Petyaに感染するとマシンを復旧する方法は一つしか無いと書かれています。

エフセキュアブログ : Petya:ディスク暗号化ランサムウェアより抜粋
サーバのヘルプ無しでマシンを復旧する唯一の方法は、デバッガを使って感染プロセスの途中でsalsa20のキーを捕捉することだ。これは通常のコンピュータユーザにとっては、あまり魅力的な対抗手段ではない:)
皆さんお分かりかと思いますが、これはエフセキュアブログ流のジョークであり、実際には「復旧方法は無い」という意味の文章です。

しかしその後、leostone氏が感染マシンを復旧する方法を発見し、公開しました。(hack-petya mission accomplished!!!)
もはやPetyaに身代金を支払う必要はありませんし、デバッガを使う必要もありません。

復旧までの道のりを簡単に紹介します。
続きを読む

Petya:ディスク暗号化ランサムウェア

 4月3日更新。暗号化スキームについてより詳しく追記した。


 Petyaは邪悪なひねりが加えられている新しいランサムウェアだ。ディスク上のファイルを暗号化する代わりに、ディスク全体をロックしてほとんど使い物にならない状態にする。具体的には、ファイルシステムのMFT(master file table)を暗号化する。つまりOSからファイルの位置が特定できなくなることを意味する。Petyaは、ブートキットと同様に自身をディスクのMBR(master boot record)にインストールする。ただし、秘密裏に活動するのではなく、赤い画面上にシステムを復旧する方法についての説明を表示する。

 MFTを狙うと素早く攻撃できる。データファイルを暗号化するより極めて短時間で済むのだ。それでも全体的な結果としては暗号化と同じ、すなわちデータにアクセスできなくなる。

Petya, Press Any Key!

 Petyaは2段階で実行する。第1段階はメインのドロッパーで、以下を実行する。

  • \\.\PhysicalDriveを直接操作してMBRに感染させる
  • 一連の暗号キーを生成する。これには16バイトのランダムなディスク暗号用のキーと楕円暗号(EC、Elliptic Curve)のキーペアが含まれる。この時点で、特別な「復号コード」も用意される
  • あとでMBRに感染したコードで使うため、ディスクの暗号キーと復号コードをディスクに保存する。その他の生成された暗号データはすべて破棄される
  • なんの警告もなしにマシンをシャットダウンし、MBRのコードでブートする

 Petyaは非対称キーによる暗号化と搬送のために、楕円曲線暗号スキームを用いている。192ビットの公開鍵とsecp192k1曲線パラメータは、ドロッパーのバイナリにハードコーディングされて配信される。Petyaはサーバの公開鍵を取得し、ECDH(Elliptic Curve Diffie-Hellman)アルゴリズムを用いて共有の秘密鍵を構築する。この共有秘密鍵を用いて16バイトのディスク暗号キーをAES暗号化する。共有秘密鍵はこのマルウェアとサーバしか使用できない。バイナリをASCIIにエンコーディングするBase58により、このマルウェアの楕円曲線の公開鍵といっしょにディスク暗号キーをパッケージする。ここで得られるパッケージが、後に赤いスクリーン上で提示される「復号コード」である。

Petya physdrive
PetyaドロッパーによるPhysicaldriveの操作

Petya server pubkey
ドロッパー内部にあるPetyaサーバの楕円曲線暗号の公開鍵

Petya ecc params
ドロッパー内部にあるPetyaのsecp192k1の曲線パラメータ

Petya encode pubkey
ASCIIエンコーディングのPetyaドロッパーの楕円曲線暗号の公開鍵

Petya gen salsa20 key
Petyaドロッパーのsalsa20バイト列の生成

 感染後、マシンはMBRのコードでブートする。これは以下のようになる。

  • まずディスクが感染しているかを確認する
  • 感染していなければ偽のCHKDSK画面を表示し、暗号キーに共有秘密キーを用いてMFTを暗号化する
  • ディスクの暗号化にsalsa20を用いる。暗号化後は当該キーを破棄する
  • 赤い「スカルスクリーン」、続いてTorの隠しサービスのURLがある画面と「復号コード」を表示する。「復号コード」とは、サーバでしか開けない暗号化されたメッセージである
Petya debug environment
Petyaが環境を取り戻すところ

petya_disk_encryption
salsa20でディスクを暗号化する際の、偽の「CHKDSK」に関するMBRのコード

Petya salsa20 expand32
MBRに置かれるsalsa20のコード

 楕円曲線アルゴリズムを用いて暗号キーを復号できるのは、もはやサーバしかない。これはマルウェアによってキーが破棄されたためだ。また、たとえ破棄されていなかったとしても、マシンがロックされて使えないままだ。リカバリディスクでMBRを復旧したとしても役には立たないだろう。なぜならMFTがいまだ暗号化されているからだ。理論上は共有秘密鍵を復旧して、リカバリディスクでディスク暗号化キーを復号して戻すことは可能だ。しかしそのためには、元々の楕円曲線暗号のキーペアを入手しなければならないのだが、必要な楕円曲線のデータはすべてドロッパーが破棄してしまっている。これはまるで家に入るための鍵が2つあって、意図的に片方を無くしたようなものだ。

 サーバ側では、復号コードのデコードが逆の順番で行われることが想定される。

  • Base58で符号化されたバイナリデータをデコードする
  • マルウェアの公開鍵と暗号化されたデータを展開する
  • 公開鍵を用いて、共有秘密鍵を構築する
  • この共有秘密鍵を用いると、サーバはAESを使ってディスク暗号化キーを復号できる
  • ここで攻撃者は、ロックされたマシンを解放できる暗号化キーを元に戻すことができる

 一例として、当社のラボのマシン上の復号コードの1つは次のように見える(ハイフンと先頭の2文字は削除。サーバはこれをデコードに使用しない)。

Q5rL1YMqnJPCsCgji4KcDv5XnQrtqttBQ7tfbAq7QStmTXNQ6Voepeaiem8uzaQxYq3LwpvMCXBvMx2Mmqkdt8Fi

 このコードを標準のBase58アルゴリズムを用いてデコードすると、以下のデータが生成される(説明のために、マルウェアが生成する公開鍵を緑で、ディスクを暗号化するキーを赤で示す)。

Petya decryption code opened

 サーバのヘルプ無しでマシンを復旧する唯一の方法は、デバッガを使って感染プロセスの途中でsalsa20のキーを捕捉することだ。これは通常のコンピュータユーザにとっては、あまり魅力的な対抗手段ではない:)

トリビア:

Tinbaの分析:設定データ

分析および投稿:Mikko Suominen

 2年前、Tinbaはマルウェアのシーンに参入した。目下のところ、もっとも一般的なバンキング型トロイの木馬の1つとしてシーンに存在している。Tinbaの機能の中でも、あらかじめ設定が組み込まれている点と高度な暗号化方式を実装している点は注目に値する。これにより運用中の効率が高まり、分析される可能性が抑えられる。

 この記事では設定データについて、特に処理メモリから設定データを展開する方法に焦点を合わせる。当社(と読者のみなさんの一部)が設定データに関心を持つ理由は、Tinbaがどのように動作するか、また標的にしているのは誰か、ということを理解する一助となるためだ。

XOR暗号化のクラック

 Tinbaは、フォームグラビングやWebインジェクションといった機能で知られる。この機能は、侵害されたサイトに知らずに訪れたユーザから、銀行の認証情報を盗むために使われる。システムへ侵入する経路は、大半がスパムメールかエクスプロイトキットだ。

 ダウンロードされた時点でフォームグラビングやWebインジェクションの設定がディスク上に格納され、4バイトのキーによるXOR、続いてRC4、最後にApLibでの圧縮により保護される。XORのキーはTinbaのファイル群があるフォルダ名で、文字列から整数に変換したものだ。設定ファイルが一切ダウンロードされなかった場合、Tinbaは自身のバイナリにある、あらかじめ作成された設定データを使用するという手段に出る。このデータは、XORの暗号化を除き設定ファイルと同じ暗号化が用いられている。

 XORの暗号化は、設定ファイルを特定のマシンと紐づけるためのものだ。マシンとボットネットの特定データとの組み合わせをXORキーとして使用することで、感染したマシンへのアクセス権限を持たない人が設定ファイルの復号を試みると、難題に直面することになる。

設定ファイルの復号

 しかしながら、設定ファイルの復号は不要かもしれない。Tinbaが設定データを隠ぺいする方法が、現在の標準に比べると著しくお粗末だからだ。フォームグラビングのデータおよびWebインジェクションのデータの両方は、完全に復号された状態でWebブラウザのメモリに恒久的に格納される。これは非常にうかつである。他のバンキング型トロイの木馬は設定データを用心しながら保護する傾向にあり、必要なときにのみデータを復号し、もはや不要となれば直ちに復号されたデータをメモリから一掃する。

メモリ割り当てにおけるうっかりミス?

 Tinbaの作者は、物事をさらに簡単にするため、非常に怠惰な方法で設定データのメモリ割り当てをコーディングした。データに必要な量だけメモリを割り当てるのではなく、どんな設定データでも確実に格納できるほど十分に大きなメモリ容量をハードコーディングで割り当てることにしたのだ。その結果、0x1400000バイトという巨大なメモリブロックが、Webブラウザのメモリ空間の中でひどく目立っている。フォームグラビングの設定データはこの領域の先頭に保持されるが、Webインジェクションのデータはオフセットが0xa00000の位置に配置される。両方のデータ塊は設定データのサイズから始まる。

 一例に、サンプル「9c81cc2206c3fe742522bee0009a7864529652dd」が受け取ったWebインジェクションのデータの1エントリを挙げる。

Tinda web injection data
ポーランドの金融機関が標的であることをこのサンプルは示している

Zeusのフォーマットとの類似性

 Tinbaの設定データが不気味なほどZeusにそっくりに見えるのだとすれば、それはZeusや他の多数のマルウェアファミリーが使用しているのと同一のフォーマットをTinbaが採用しているからだ。このフォーマットは、どうもクライムウェア業界のちょっとした標準となりつつあるようだ。同一の悪意あるWebインジェクションを異なるボットネットで使用することが可能になるためだ。

 別々のマルウェアの作者が、自分のマルウェアの設定データに同一のフォーマットを使用するようになった経緯を解明するのは興味がそそられる。Webインジェクションのデータはボットネットの保有者が開発したのではなく、サードパーティーから購入したものだと仮定する。もしそうなら、特定の設定のフォーマットが一致するには、Webインジェクションの開発者らと、マルウェアの開発者らの間で連携することが求められる。数年前、Zeusは大きな市場シェアを握っていたので、おそらくこれは単に組織的に行われたのだ。顧客がWebインジェクションをより簡単に達成することを目的に、他の作者たちが同一のフォーマットを使用することは道理にかなっていた。


 Mikko Suominenは当社のレメディエーションチームのシニアアナリストである。

 詳細はJean-Ian Boutinによる論文「The Evolution Of Webinjects」(VB2014)を参照のこと。

Linux.Encoder.1:Bitcoinでの支払いのみ受け付けます

 現在、実際のLinuxベースのシステムを標的とした、新たな暗号化ランサムウェアのたくらみがある。これはDr.Webの人々から「Linux.Encoder.1」と呼ばれている。基本的にLinux.Encoder.1による脅迫者は、脆弱なWebサーバ上でフィッシングサイトやエクスプロイトキットへのリダイレクトを設定する代わりに、コンテンツを暗号化してWebサーバの所有者を直接標的にする。

 その結果、数々の被害がGoogleにインデックスされている。

 (訳注:「Linux.Encoder.1というトロイの木馬による被害を受けた運用中のWebサイトを、Googleがたくさん発見している」という意味)

 以下はGoogleのキャッシュにある脅迫文のコピーだ。

README_FOR_DECRYPT.txt

 すばらしいFAQだ。

We are accept only Bitcoins. - http://memegenerator.net/instance2/2810855

 「Can I pay another currency?(Bitcoin以外の支払い方法はありますか?)」

 「No.(いいえ)」

 Linux.Encoder.1の被害者がバックアップを取っているといいのだが。さもないと、Bitcoinを入手させられることになる。脅迫者たちが支払いの対価として、本当の復号キーを渡すかどうかはまだ不明だ。そして、彼らのTorで隠ぺいされたサービスが現在オフラインなのだ。これは前途多難だ。

 追記:

 当社のスレットインテリジェンスチームの研究員Daavid Hentunenは、脅迫者たちは1ヶ月で11,934ユーロを稼いだと見積もっている。

CryptoWallのZipファイルの中身は1,000ドルだ

 「Payment is made successfully(支払いが成功しました)」

 以下は、身代金を支払った後の、CryptoWallのDecrypter Service(復号サービス)の画面だ。

Payment is made successfully.

 そして、あなたのお金 Bitcoinで得られるものが、これ(decrypt.zip)だ。

The contents of decrypt.zip.

 全然大したものではない。しかし、あなたのキーのコピーがなければ、ファイルを復号することはできないのだ。

 これが、おそらくFBIが次のように言う理由だ。

 「To be honest, we often advise people just to pay the ransom.(正直に言って、ただ身代金を支払うようにとアドバイスすることも多い)」

 FBIのアドバイスに従わなければならない状況になりたくない?

 それなら、以下をするといい。

  • 自分のデータをバックアップする!
  • 使わないソフトウェアやブラウザのプラグインをアンイストール・無効化する
  • 使用するソフトウェアを最新の状態に保つ

 @5ean5ullivan

CryptoWallの「Customer Journey」は本物の悪夢のように思える

 Radiolabの最新のエピソードは、これまで聞いた中で疑いなく最高の、マルウェアの被害者に対するインタビューだ。Inna Simoneのコンピュータは昨年末にCryptoWallに感染した。彼女の話に基づけば、脅迫者に支払うためにBitCoinを買おうとしたことが、体験した中で最悪の部分だ。彼女の言葉を借りれば、彼女は「二重の被害者!」である。

CryptoWall Decrypter Service

 Innaの娘でジャーナリストのAlina Simoneは、2015年1月2日付け のNew York Times紙で、この体験について記した。後に2015年4月18日のPBS NewsHourの放送で、2人は8分間のコーナーに登場した。しかしInnaのブラックユーモア的な観点を最大限に体感したいのなら、Radiolabのニュースを視聴するとよい。

 以下は、今回の件に関係するCryptoWallの「Decrypter Service(復号サービス)」のスクリーンショットで、推奨Bitcoinベンダーが多数掲載されている。

CryptoWall Decrypter Service Instructions
「いまだBitCoinを購入するのは簡単ではないが、日々簡素化されていっている」

 では、どれだけの人がInnaと同じ状況に陥っているのだろうか?妥当な数値を導くのは難しいが、82,000人超の人々がこのCryptoWall Decrypterのデモ動画を見ている。

YouTube Statistics CryptoWall Decrypter

 上に示した日ごとのグラフにて、1月に落ち込みがあるのを見て取れるだろうか?私には、CryptoWallが正教会のクリスマス休暇(訳注:1月7日)を取ったように見える。

 CryptoWallが要求する金額は地域によって異なるが、500米ドルというのがよく見られる。この金額なら、82,000人のうち10%しか支払わなかったとしても、脅迫者集団に410万ドルの価値をもたらすことになる。

 あるいは「Goldpis Isda」なる人物が言うところでは「little fee(少額)」だ。

Google Plus Goldpis Isda

 @5ean5ullivan

トップガンを越えてゆけ

NHKのプロフェッショナルというテレビ番組の中で、"サイバーセキュリティー技術者の中でも最高の技術を持つトップガン"ということで「あの」名和さんが登場しました。

名和利男(2015年9月14日放送)| これまでの放送 | NHK プロフェッショナル 仕事の流儀

特にマルウェア解析シーンでは突っ込みどころがたくさんありますが、テレビということで大目に見てもらうとして、技術者が誤解したままではマズイと思うことを一点だけ。

終盤でのマルウェア解析の際に、VirusTotalでの検索結果で「b1ef92??」という文字列が出てきたことから、IPアドレスが「177.239.146.???」だと判断してメキシコのサーバを経由した攻撃である可能性がある、という話になっています。
おそらく「b1ef92??」を1バイトずつに分解して、16進数から10進数に変換したのでしょう。

16進数表記 b1 ef 92
10進数表記 177 239 146

ところが、そもそもこの値はVirusTotal独自のハッシュ値ですので、こういった計算でIPアドレスを割り出すことはできません。よって、メキシコというのは誤報でしょう。

では、どこの国を経由した攻撃なのか。それはマルウェア検体自体を解析するのが一番確実です。

マルウェアの中身を見ると、サーバのアドレスは暗号化されていますが、復号ロジックも復号鍵もマルウェア検体自身の中に入っていますので、それを用いて復号するとマルウェアの通信先がわかります。

malwareanalysis

その通信先から、二つ目のサーバに関する情報を暗号化された形で取得できますので、同様に復号すると攻撃者のサーバのIPアドレスがわかります。
そのサーバにアクセスした結果がこちらです。

iisrdp

明らかにメキシコ以外の国が絡んでそうですね。

APT攻撃を行うDukeグループの最新のツール:クラウドサービスとLinuxサポート

 ここ数週間で、Dukeグループのツールセットに2つの補強メンバーが登場したことが判明した。SeaDukeとCloudDukeだ。これらのうちSeaDukeはシンプルなトロイの木馬で、Pythonで書かれている点が興味深い。さらに不思議なことに、SeaDukeはWindowsとLinuxの両方を同時にサポートしている。我々が観察してきたDukeグループによるマルウェアとしては、初のクロスプラットフォームのマルウェアである。SeaDukeはクロスプラットフォームであるにも関わらず、単一のトロイの木馬だ。一方、CloudDukeはマルウェアコンポーネントの完全なツールセットのように見える。あるいは、Dukeグループが呼ぶように「ソリューション」なのだろう。これらのコンポーネントには、独自のローダーやダウンローダ、1つではなく2つの異なるトロイの木馬型のコンポーネントが含まれている。C&Cおよび盗んだデータを抜き出すための経路として、Dukeグループはクラウドストレージサービス、とりわけマイクロソフトのOneDriveを使用しているということをCloudDukeが雄弁に物語っている。最後に、CloudDukeの最近のスピアフィッシングキャンペーンの一部は、1年前からのCozyDukeのスピアフィッシングキャンペーンと酷似している。

クロスプラットフォームのマルウェアSeaDukeにLinuxサポートが追加

 先週、シマンテックおよびパロアルトネットワークスの両社はSeaDukeに関する研究内容を公開した。SeaDukeは、Dukeグループが使用するトロイの木馬の武器庫に新たに追加されたものである。これまでのDukeグループによるマルウェアは、常にCおよびC++言語の組み合わせだけでなくアセンブリ言語によっても書かれていた。一方、SeaDukeは珍しくPythonで書かれており、複数のレイヤに渡って難読化がなされている。こうしたPythonのコードは通常、py2exeやpyinstallerを用いてWindowsの実行形式にコンパイルする。しかし今回のPythonのコードは、WindowsとLinuxの双方で動作するように設計されている。それ故、我々が推測するところでは、DukeグループはLinuxユーザの標的に対しても同一のSeaDukeのPythonコードを使っている。DukeグループがLinuxプラットフォームを標的にしたマルウェアを採用したのを我々が目にしたのは、このときが初めてだ。

seaduke_crossplatform (39k image)
SeaDukeで見つかった、クロスプラットフォームサポートの例

マルウェアツールセットCloudDukeにおける新たなソリューション群

 先週、パロアルトネットワークス社およびカスペルスキー社は、各社がMiniDionisおよびCloudLookと呼んでいるマルウェアのコンポーネントについて、研究内容を公表した。MiniDionisおよびCloudLookは、ともに当社がCloudDukeと称するより大きなマルウェアツールセットのコンポーネントだ。このツールセットは、多岐に渡る機能を提供するマルウェアのコンポーネント群から構成される。さらに、共有コードフレームワークに部分的に依存し、常に同じローダーを用いている。当該サンプルの中で見つかったPDB文字列に基づくと、マルウェアの作者はCloudDukeのコンポーネントを「DropperSolution」「BastionSolution」「OneDriveSolution」などと「ソリューション(solution)」と呼んでいた。我々が観察したPDB文字列の一覧を以下に示す。

C:\DropperSolution\Droppers\Projects\Drop_v2\Release\Drop_v2.pdb
c:\BastionSolution\Shells\Projects\miniDionis4\miniDionis\obj\Release\miniDionis.pdb
c:\BastionSolution\Shells\Projects\miniDionis2\miniDionis\obj\Release\miniDionis.pdb
c:\OneDriveSolution\Shells\Projects\OneDrive2\OneDrive\obj\x64\Release\OneDrive.pdb

 我々が最初に観察したCloudDukeのコンポーネントは、内部的に「DropperSolution」と呼ばれているダウンローダである。ダウンローダの目的は、被害者のシステムにさらなるマルウェアをダウンロードして実行することだ。もっとも多く観察されたケースでは、当該ダウンローダは侵害されたWebサイトへの接続を試み、暗号化された悪意あるペイロードをダウンロードして、復号と実行を行う。ダウンローダの構成されていた状況によるが、一部の例ではまず手始めにマイクロソフトのクラウドストレージサービスOneDriveへログインし、そこからペイロードを取得することを試みる。OneDriveでペイロードが得られなければ、ダウンローダは侵害されたWebサイトからダウンロードするという、先に述べた方法へ逆戻りする。

 また、CloudDukeツールセット中に、2つの異なるトロイの木馬のコンポーネントが観察された。1つ目は内部的に「BastionSolution」と呼ばれており、パロアルトネットワークス社が同社の研究において「MiniDionis」としているトロイの木馬である。興味深いことに、BastionSolutionは機能的にはSeaDukeの完全なコピーのように見える。唯一の実質的な違いは、プログラミング言語の選択だけだ。BastionSolutionはまた、内部的に「Z」と呼ばれているらしいコードフレームワークをかなり使っている。このフレームワークは、暗号化、圧縮、ランダム化、ネットワーク通信などの機能を持つクラスを提供している。

bastion_z (12k image)
トロイの木馬BastionSolution内のクラスのリスト。「Z」フレームワーク由来の複数のクラスを含む

 暗号化やランダム化のクラスのように、同じ「Z」フレームワークに由来するクラスは、CloudDukeツールセットのもう1つのトロイの木馬型のコンポーネントでも使用されている。この2番目のコンポーネントは内部的には「OneDriveSolution」と呼ばれている。C&Cの経路としてマイクロソフト社のクラウドストレージサービスOneDriveに依存しているため、とりわけ興味深い。これを実現するため、OneDriveSolutionは事前に設定されたユーザ名とパスワードでOneDriveにログインを試みる。成功すると、続いて被害者のコンピュータからOneDriveのアカウントへデータのコピーを始める。また同時に、マルウェアが実行すべきコマンドが格納されたファイルをこのOneDriveのアカウントから探す。

onedrive_z (7k image)
トロイの木馬OneDriveSolution内のクラスのリスト。「Z」フレームワーク由来の複数のクラスを含む

 すべてのCloudDukeの「Solution」は同一のローダーを用いている。このローダーはあるコードの一部分となっているが、それは埋め込まれて暗号化された「Solution」を復号したり、メモリに読み込んで実行することが主目的であるコードだ。Dukeグループは自身のマルウェアのためにローダーをたびたび利用するが、以前彼らが使っていたローダーと異なり、CloudDukeのローダーはずっと融通が利く。最終的なペイロードの読み込みおよび実行に複数の方式をサポートしており、また追加的なマルウェアコンポーネントをディスクに書き込んで実行する機能があるのだ。

CloudDukeのスピアフィッシングキャンペーンと、CozyDukeにおける類似性

 CloudDukeはこのところスピアフィッシングメール経由で広がりを見せている。報告されているところでは、米国防衛省のような組織などが標的にされている。こうしたスピアフィッシングメールには侵害されたWebサイトへのリンクが含まれており、サイト上にはCloudDukeの実行ファイル群を含むzipファイルが置かれている。大半の場合、このような実行ファイルを実行することで、被害者のハードディスクに2つの新しいファイルが書き込まれることになる。両ファイルのうち1つ目は、音声ファイルやPDFファイルのような囮だ。一方でもう1つのファイルは、いわゆる「DropperSolution」というCloudDukeのダウンローダが埋め込まれた、CloudDukeのローダーである。こうしたケースでは、被害者には囮ファイルが提示され、バックグラウンドではダウンローダがCloudDukeのトロイの木馬である、「OneDriveSolution」または「BastionSolution」のいずれかのダウンロードへと進む。

decoy_ndi_small (63k image)
CloudDukeのスピアフィッシングキャンペーンで採用された囮ドキュメントの例。攻撃者がここからコピーしているのは明らかだ

 だが興味深いことに、当社でこの7月に観察した、CloudDukeの別のスピアフィッシングキャンペーンの一部は、2014年7月初めという、ほぼ1年前に見られたCozyDukeのスピアフィッシングキャンペーンに驚くほど似ている。これら双方のスピアフィッシングキャンペーンでは、囮のドキュメントはまったく同一のPDFファイル「US letter fax test page」である(28d29c702fdf3c16f27b33f3e32687dd82185e8b)。同様に、悪意のあるファイルが置かれたURLは、双方のキャンペーンにおいて、eFaxと関連があるようなものになっている。また興味深いことに、CozyDukeに触発されたCloudDukeのスピアフィッシングキャンペーンでは、メール内でリンクが張られた悪意のあるアーカイブのダウンロードと実行を行うと、CloudDukeのダウンローダの実行につながるわけではなく、「BastionSolution」が実行されるのだ。つまり、その他のCloudDukeスピアフィッシングキャンペーンのために記述された処理が、1ステップ飛ばされる。

decoy_fax (72k image)
CloudDukeおよびCozyDukeの双方のスピアフィッシングキャンペーンで採用された囮の「US letter fax test page」

検出回避のために、クラウドサービスがますます使用される

 Dukeグループが彼らの作戦の一部として、クラウドサービス全般やMicrosoft OneDriveを使ったのを、我々が目にしたのはCloudDukeが初めてというわけではない。今年の春頃、当社はCozyDukeの研究結果を公開 し、そこで次の点を述べた。すなわちCozyDukeは、盗んだデータをこっそり運び出すために時にOneDriveアカウントを直接的に用いたり、あるいはまた時には同じOneDriveアカウントから追加のコマンドを含むファイルを取得する。

 こうした以前のケースにおいて、Dukeグループは補助的なコミュニケーション手段としてOneDriveを使用するだけであり、依然として、動作の大半においてC&Cの経路を従来のものに頼っていた。そのため、実際のトロイの木馬をダウンロードしてコマンドを渡すところから、盗んだデータを最終的に持ち出すところまで、作戦の各ステップにおいてCloudDukeが本当にOneDriveのみに依存するようになったことは、興味深い。

 C&Cの経路としてOneDriveのようなサードパーティのWebサービスにのみ依存することによって、Dukeグループはよりうまく検出をかいくぐろうとしたのだと我々は考える。組織のネットワークから、未知のWebサーバへ大量のデータが転送されたら、いともたやすく疑いが生じる。しかし、人気のあるクラウドストレージサービスへデータを転送するのは普通のことだ。攻撃者が大量の盗んだデータを秘密裏に転送するのにより適した方法とは、人々が正規の理由で同じデータを日々転送するのと同じ方法である(たまたまだが、サードパーティのWebサービスがC&Cの経路として使用されることの影響を題材にした講演が、VirusBulletin 2015カンファレンスで行われる予定だ)。

限りある資源を、検出を回避し防衛側に先んじることへ回す

 多目的なマルウェアツールセットを1つ開発するのですら、細かいことを置いてくとして、時間と資源を要するものだ。したがって、異なるツールセット間でフレームワークをサポートするなど、コードの再利用を試みることは理に適っているように思える。しかしながら、SeaDukeとCloudDukeのコンポーネントBastionSolutionにおいて複数のプログラミング言語で同じコードを書き直したことによって、Dukeグループはさらにもう1歩進んだようだ。内部は似通ってはいるが、外部ではまったく違うように見える2つのマルウェアツールセットを提供することにより、時間と資源を節約できる明白な利点がある。これで一方のツールセットが発見されても、2つ目のツールセットの発見にただちに結び付くことはない。

 Dukeグループはロシアと結びつきあることが長い間疑われているが、異常に長い期間、また特に最近は異常な厚かましさで諜報活動を行っている。最近のCloudDukeやSeaDukeのキャンペーンは、Dukeグループが近いうちに活動終了するつもりはないという、明確な兆候のように見える。

 Research and post by Artturi (@lehtior2)

 エフセキュアはCloudDukeをTrojan:W32/CloudDuke.BまたはTrojan:W64/CloudDuke.Bとして検知する。

サンプル:

04299c0b549d4a46154e0a754dda2bc9e43dff76
2f53bfcd2016d506674d0a05852318f9e8188ee1
317bde14307d8777d613280546f47dd0ce54f95b
476099ea132bf16fa96a5f618cb44f87446e3b02
4800d67ea326e6d037198abd3d95f4ed59449313
52d44e936388b77a0afdb21b099cf83ed6cbaa6f
6a3c2ad9919ad09ef6cdffc80940286814a0aa2c
78fbdfa6ba2b1e3c8537be48d9efc0c47f417f3c
9f5b46ee0591d3f942ccaa9c950a8bff94aa7a0f
bfe26837da22f21451f0416aa9d241f98ff1c0f8
c16529dbc2987be3ac628b9b413106e5749999ed
cc15924d37e36060faa405e5fa8f6ca15a3cace2
dea6e89e36cf5a4a216e324983cc0b8f6c58eaa8
e33e6346da14931735e73f544949a57377c6b4a0
ed0cf362c0a9de96ce49c841aa55997b4777b326
f54f4e46f5f933a96650ca5123a4c41e115a9f61
f97c5e8d018207b1d546501fe2036adfbf774cfd

C&Cに使われている、侵害されたサーバ:

hxxps://cognimuse.cs.ntua.gr/search.php
hxxps://portal.sbn.co.th/rss.php
hxxps://97.75.120.45/news/archive.php
hxxps://portal.sbn.co.th/rss.php
hxxps://58.80.109.59/plugins/search.php

CloudDukeを置くために使われている、侵害されたWebサイト:

hxxp://flockfilmseries.com/eFax/incoming/5442.ZIP
hxxp://www.recordsmanagementservices.com/eFax/incoming/150721/5442.ZIP
hxxp://files.counseling.org/eFax/incoming/150721/5442.ZIP

ランサムウェアの密かな流行の背景

最近、ランサムウェアに関連する報告が続いています。私の周辺でも感染者がでる始末です。
ランサムウェアといえば、少し前まで主に英語、ロシア語圏のユーザを狙ったものでした。しかし、近年は日本語対応したものが登場するなど、犯罪者グループは世界中から金銭を巻き上げている模様です。
このようなランサムウェアを悪用した犯罪の流行の背景には、いくつか理由が考えられますが、ひとつはUG市場に関連商品やサービスが流通し始めたことが挙げられます。

例1)
下図はカスタムを行うための管理者画面付きでランサムウェアを売買している例です。表示画面等をカスタマイズが可能です。価格もリーズナブルですので、すでに買い手がついているようです

ransomeware_custom

例2)
ランサムウェア生成サービスが登場しています。使い方は簡単で、振り込んで貰いたい金額(米国ドル)や、恐喝相手の名前等を入力するだけでオリジナルのランサムウェアが生成することができます。(src拡張子)
マルウェア自体はCryptoLockerとよく似た動作(標的端末上のファイルの暗号化)をしますが、被害者への状況説明等が殆どありません。
その意味では、サービス品質は高いとは言えないレベルです。
#F-Secure での検出は確認しています。

tox


これらのマルウェアを悪用した恐喝ビジネスは、姿形を変え今後ますます増加すると考えています。スマートデバイスを狙ったものも登場しており、標的デバイスのシフトも予想されます。もしかすると、オレオレ詐欺や振り込め詐欺のスマートフォン版等が登場するかもしれません。
#例えば、盗んだSNSアカウントにより身内になりすますなど。
その点では、広い範囲での警戒が必要になってくるものと思われます。特に現在振り込め詐欺等の標的となっている世代や若年層に対しては、十分な啓発が必要になるのではないでしょうか。

ちなみに、現在マルチ言語対応のものは、サポート窓口に日本語で連絡をしても返信はありません。
被害ユーザを見かけましたら、
・決して金銭や電子マネーを振り込まない
・誘導先のサイトに設置されている復号サービス(ちゃんと動作します)を利用しない
(機微情報を含む業務ファイル等を提供することになるため)
などなど教えてあげてくださいね。



Simdaボットを射る3本の矢

インターポール、マイクロソフト、カスペルスキー、トレンドマイクロと協力しSimdaボットネットのテイクダウンを行いました。
カスペルスキーから出向している同僚から報告があるように、このマルウェアは多くの解析妨害機能があるため、アンチウイルスベンダーのサンドボックスではうまく検知することができていませんでした。

そこで、サイバーディフェンス研究所が手動で解析を実施し、その解析結果を元にしたアンパッカーと暗号化された通信、設定ファイルの復号ツールをマイクロソフトやアンチウイルスベンダーに提供し、全容の解明に協力しました。

また、すでに感染しているユーザへの対応として、次の3つ(3本の矢)を用意しました。
感染が疑われる場合には、次のように表示されます。
Simda Botnet DetectorSimda Check

各矢の守備範囲は次の表のようになっています。

No. 感染時期、感染環境など IP Scanner
アンチウイルスソフト 自動 hosts check 手動 hosts check
1
自己消滅前(※)
2
自己消滅後 ×
3
テイクダウン前のマルウェア活動 ×
4
テイクダウン後のマルウェア活動
5
亜種への対応
6
マルウェア感染活動前 × × ×
7
動的IPアドレス環境での感染 ×
8
プライベートIPアドレス環境での感染 ×
※ 様々な条件により、マルウェア検体自身が削除される場合とされない場合がある

この中で感染者数が多いのが2番と3番だと思われます。
個人的にオススメする一番手っ取り早くて確実な確認方法はhostsファイルの手動確認です。

ビデオゲームのファイルを標的としたランサムウェアのバリアント

 「Free Decryption(無料の復号化)」しかし最初に身代金を支払わねばならない。

Free Decryption

 上の画像は、(数あるファイルの中でも)ビデオゲームのファイルを標的にするランサムウェアの企てで使われるWebインターフェイスだ。

 詳細はここここにある。

 ヒント:重要なものはすべてバックアップを取る。

CTB-Lockerへの感染が増加中

 近頃、CTB-Lockerという悪質なファイル暗号ランサムウェアへの感染が、大幅に増加しているのを観測している。

CTB-Locker infection statistics
本年におけるCTB-Lockerの総感染数に対する1日あたりの感染数の割合

 CTB-Lockerはスパムメール経由で拡散するのがもっとも一般的だ。こうしたメールにはたいていzipファイルが添付されている。このファイルはさらに別のzipファイルを格納しており、最終的には実行形式のscrファイルが入っている。この実行ファイルは悪意のあるダウンローダーで、Dalexisと呼ばれている。ユーザが当該scrファイルを実行すると、Dalexisは事前に定義された一連の侵害されたWebサイトへの接続を試みる。こうしたWebサイトは暗号化したCTB-Lockerを提供している。続いてDalexisはCTB-Lockerをダウンロードし、復号、実行へと進む。他の事例では、悪意のある添付ファイルがzipファイルではなくcabファイルになっている。繰り返しになるが、cabファイルは実際にはDalexisで、被害者のコンピュータをCTB-Lockerに感染させる。

Example of spam used to spread CTB-Locker
CTB-Lockerの拡散に使われるスパムメールの例

 感染すると、CTB-Lockerは被害者のファイルを暗号化し、ランダムに生成した7文字の長い拡張子をオリジナルのファイル名に追加する。加えて、ユーザのローカルの一時ファイル用フォルダに自身のコピーを書き込む。名前はランダムに生成された7文字のもので、exeという拡張子が付く。CTB-Lockerを継続的に実行するために、ランダムに生成された7文字の名前でタスクのスケジューリングを行う。最後にCTB-Lockerは身代金についての注意書きと、身代金支払いに残された時間を示すカウントダウンタイマーを被害者に提示する。さらに被害者のデスクトップの壁紙も、同じ身代金支払いの指示を含む画像へと変える。最後に、被害者のMy Documentフォルダに、同じ指示が画像ファイルとテキストファイルの両方で格納される。ファイル名はそれぞれDecrypt All Files [ランダムな7文字].bmpとDecrypt All Files [ランダムな7文字].txtだ。身代金の指示では、被害者に特定のBitcoinアドレスに宛ててBitcoinで支払うよう案内している。ほとんどの事例で、身代金は3 BTC(おおよそ650米ドルもしくは575ユーロ)であることを確認してきた。

CTB-Locker ransom notice
CTB-Lockerが表示する身代金についての注意書き

 CTB-Lockerが使用する暗号方式を破る方法は分かっていない。したがって、バックアップから復元するか、マルウェアの運用者から復号鍵を受け取るしか、被害者が自身のファイルを戻す方法はない。ただし、マルウェア運用者の犯罪行為に資金援助するだけなので、決して身代金を支払うべきではない。また身代金を支払うことで実際にファイルが元に戻る保証は何もない。これはただひたすらこの犯人の信頼性次第だ。

 CTB-Lockerやその他のファイル暗号ランサムウェアの脅威から身を守るには、最新のアンチウィルス・ソリューションを確実に実行するようにすべきだ。また、メールの添付ファイルとして受け取った実行ファイルを開かないように注意する必要もある。予防的な措置に加えて、ランサムウェアの感染によって引き起こされる被害を最小化するようにするのも良い考えだろう。もっとも重要なのは、データすべての定期バックアップを取ることだ。ネットワーク共有を利用しているなら、一層の注意を払わなければならない。CTB-Lockerはネットワークストレージや他のマッピングされた共有ドライブも含め、全てのマウントされているドライブから暗号化するファイルを探す。こうした場合には、共有ドライブへの書き込み権限を制限し、厳密に必要なときのみマウントするように検討することをお勧めする。

 当社ではCTB-Lockerを
Trojan.CTBLocker.Gen.1およびTrojan.Downloader.CryptoLocker.Fのように種々に検知する。

 また、CTB-Lockerへと導く、悪意のある添付ファイルは
Trojan-Downloader:W32/Dalexis.Bとして検知する。

 サンプルのハッシュ値:

 6eb03d6cb4f9a5aae49a9d85652a4daa4f984ba8 (Dalexis)
 f1897120c2bbcd5135db0295249118aa5f5eb116 (Dalexis)
 81f68349b12f22beb8d4cf50ea54d854eaa39c89 (CTB-Locker)

 CTB-Lockerへの感染を示唆するファイル:

 %TEMP%\[ランダムな7文字].exe
 %USERPROFILE%\My Documents\Decrypt All Files [ランダムな7文字].bmp
 %USERPROFILE%\My Documents\Decrypt All Files [ランダムな7文字].txt
 ランダムな7文字の拡張子を持つ任意のファイル

OphionLocker:ランサムウェア・レースに参戦

 今年8月、SynoLockerCryptoWallといった一連のランサムウェアについてのブログを書いた。Cryptowallに関するポストの中で、より高度なランサムウェアファミリーCTB-Lockerについて簡単に触れている。これはファイルの暗号化に楕円曲線暗号を、またC&Cサーバとの通信にTorを使用している。

 今週になり、暗号化に同じ暗号処理を用いている別のランサムウェアが出現した。最初は、RIGエクスプロイトキットを使用したマルバタイジングキャンペーンの中から、Trojan7Malwareにより見出された。彼らはそのマルウェアをOphionLockerと名づけた。

 感染すると、送金して復号ツールを入手する方法について、Tor2webを用いて指示を送ってくる。

 このランサムウェアは、次の拡張子を持つファイルを暗号化する。

extensions (8k image)

 以下は、暗号化後にユーザに表示するメッセージだ。

ransom_pop (14k image)

 ENCRYPTED[..].txtというフォーマットの複数のファイルが作成される。これには被害者のマシン用に生成したhwid(ハードウェアID)が含まれる。

tor_hwid_instruction2 (20k image)

 hwidを入力すると、1 BTCを要求する身代金メッセージが表示される。

ransom_page2 (32k image)

 ただし、仮想環境上で感染すると、OphionLockerは少々異なる芸当を見せる。hwidは依然として提示するのだが、表示されるメッセージの中で身代金の支払いは求めない。

fake_ransom (41k image)

 無料で復号を提示するのだ!いや、そんなうまい話が本当だとは思えないんだが、我々は引き続き試さなければならない。念のため、セキュリティ研究者に親切である場合に備えて。

 復号機能を試すと、以下のメッセージが示される。

decryptor_message (9k image)

 「OK」をクリックすると、直後に別のメッセージをポップアップする。

decryptor_message2 (6k image)

 ただ残念ながら、どのファイルも復号されなかった。


 SHA1:
 eb78b7079fabecbec01a23c006227246e78126ab (ransomware) - Trojan:W32/Ransomware.D


OnionDuke:Torネットワーク経由のAPT攻撃

 最近公開された調査で、ロシアにあるTorの出口ノードが、ここを経由してダウンロードされる圧縮されていないWindowsの実行ファイルを悪意を持って常に書き換えていることがわかった。当然ながらこのことは我々の興味をそそった。なのでウサギの穴を覗き込むことに決めた。あえて言うなら、その穴は我々が予期していたよりもずっと深かった!実際のところ、悪名高いロシアのAPTファミリーMiniDukeまでさかのぼった。これはNATOや欧州政府機関への標的型攻撃で使われたものとして知られている。しかし、今回のケースで使われたマルウェアは、MiniDukeの別版ではない。むしろ関連のない異なるマルウェアファミリーで、以来、我々はOnionDukeと呼ぶようにしている。では、最初から始めることにしよう。

 悪意のあるTorの出口ノード経由でユーザが実行ファイルをダウンロードしようとすると、実際に受け取るものは実行ファイルの「ラッパー」である。これにはオリジナルの実行ファイルと、もう1つの悪意ある実行ファイルの双方が埋め込まれている。分離したラッパーを用いることで、悪意のある人間がオリジナルのバイナリに含まれ得る完全性チェックを迂回し得る。実行すると、ラッパーはオリジナルの実行ファイルのディスクへの書き込みを開始し、これを実行する。そうしてユーザにすべてがうまくいっているように思い込ませる。しかし、ラッパーはもうひとつの実行ファイルもディスクに書き込んで実行する。我々が観測したすべてのケースにおいて、この悪意ある実行ファイルは同一のバイナリであった(SHA1: a75995f94854dea8799650a2f4a97980b71199d2Trojan-Dropper:W32/OnionDuke.Aとして検知)。この実行ファイルはドロッパーで、埋め込まれたGIF画像ファイルを装ったPEリソースを含む。当該リソースは実際には、暗号化されたDLL(dynamically linked library)ファイルだ。ドロッパーはこのDLLの復号に進み、ディスクに書き込んで実行する。

A flowchart of the infection process
感染プロセスのフローチャート

 ひとたび実行すると、DLLファイル(SHA1: b491c14d8cfb48636f6095b7b16555e9a575d57fBackdoor:W32/OnionDuke.Bとして検知)は埋め込まれた設定(以下、参照)を復号し、設定データとして指定されているハードコーディングされたC&CサーバのURLへの接続を試みる。マルウェアはこうしたC&Cサーバから指示を受け取って、追加の悪意あるコンポーネントをダウンロード、実行する可能性がある。マルウェアが接触する全5つのドメインは、マルウェアの運用者によって侵害された無実のWebサーバのもので、専用の悪意のあるサーバのものではないということは触れておかねばならない。

Screenshot of the embedded configuration data
埋め込まれた設定データのスクリーンショット

 当社の研究を通じて、我々はOnionDukeマルウェアファミリーの、複数の別のコンポーネントを特定することができた。たとえば、被害者のマシンからログイン情報を盗むことに特化したコンポーネントや、アンチウィルスソフトやファイアウォールの存在など、侵害されたシステムの詳細情報を収集することに特化したコンポーネントを観測した。こうしたコンポーネントの一部は最初のバックドアプロセスによってダウンロード、実行されるのを確認したが、他のコンポーネントについてはいまだ感染の媒介物を特定していない。こうしたコンポーネントの大半には自身のC&Cサーバの情報は埋め込まれておらず、むしろ最初のバックドアプロセスを通じてコントローラと通信を行う。

 しかしながら、あるコンポーネントは興味をそそる例外だ。このDLLファイル(SHA1: d433f281cf56015941a1c2cb87066ca62ea1db37Backdoor:W32/OnionDuke.Aoverpict.comとして検知)には設定データの中にハードコーディングされた別のC&Cサーバのドメインoverpict.comが含まれる。またこのコンポーネントが、別のC&CチャネルとしてTwitterを侵害し得ることを示唆する証拠も含まれる。なぜ overpict.comドメインが興味深いのか。これは元々は「John Kasai」という別名で2011年に登録された。2週という期間内に「John Kasai」はairtravelabroad.com、beijingnewsblog.net、grouptumbler.com、leveldelta.com、nasdaqblog.net、natureinhome.com、nestedmail.com、nostressjob.com、nytunion.com、oilnewsblog.com、sixsquare.net、ustradecomp.comの各ドメインも登録した。このことは非常に重要だ。なぜならleveldelta.comgrouptumbler.comの両ドメインはこれまでにMiniDukeによって使われているC&Cサーバのドメインだと特定されているからだ。これは次のことを強く示唆する。OnionDukeとMiniDukeは別々のマルウェアファミリーだが、その背後にいる人間は共有のインフラストラクチャの使用を通じたつながりがあるのだ。

A graph showing the infrastructure shared between OnionDuke and MiniDuke
OnionDukeとMiniDukeが共有するインフラストラクチャの可視化

 我々が観察したサンプルのコンパイル時のタイムスタンプや発見した日付に基づき、OnionDukeの運用者は遅くとも2013年10月の終わり以来、ダウンロードされる実行ファイルを感染させていると我々は考えている。また遅くとも2014年2月には、OnionDukeがダウンロードされる実行ファイルを書き換えることによる拡散だけでなく、海賊版のソフトウェアに含まれるトレントファイル群内の実行ファイルを感染させることによっても拡散したことを示唆する証拠もある。ただしOnionDukeファミリーは、より古いコンパイル時のタイムスタンプと次の事実から、もっとずっと古くからあるように見受けられる。埋め込まれた設定データの一部が、少なくともこれより前に3バージョン存在することを明確に示すバージョン番号4を参照しているのだ。

 調査の間、我々はOnionDukeが欧州政府機関に対する標的型攻撃に使われたことを示す強力な証拠も明らかにしてきた。感染の媒介物については、これまでのところ特定できていないのだが。興味深いことに、これは2つの非常に異なる、標的を定める戦略を示唆している。一方は「大砲で蚊を打つ」ような、書き換えたバイナリを通じて大衆を感染させる戦略で、もう一方は極めて特定の標的を狙っており、従来からAPT作戦と関連している。

 いずれにせよ、依然として大半は謎と推論で覆われているのだが、1つ確かなことがある。Torを使うことで自分を匿名化する一助となるかもしれないが、同時にあなたの背中に巨大な的を描くことになる。暗号化せずにTor(や他のもの)経由でバイナリをダウンロードするのは、まったくもって良い考えではない。Torの問題は、使用している出口ノードを誰が保守しているのか、何が彼らの動機なのかがまったく分からない点だ。VPN(Freedome VPNのような)はTorネットワーク上を経由する際にあなたの接続を暗号化するため、Torの出口ノードの保守を行っている人も、あなたのトラフィックを見たり改ざんしたりできない。

サンプル:

  •  a75995f94854dea8799650a2f4a97980b71199d2
  •  b491c14d8cfb48636f6095b7b16555e9a575d57f
  •  d433f281cf56015941a1c2cb87066ca62ea1db37

 Trojan-Dropper:W32/OnionDuke.ABackdoor:W32/OnionDuke.ABackdoor:W32/OnionDuke.Bとして検知する。

Post by — Artturi (@lehtior2)

CryptoWallが2.0にアップデート

 この夏、人々がもっとも動向を追いかけていたランサムウェアファミリーがCryptoWallだ。CryptoWallにはマイナーな更新や変更が時間とともに見られたが、コアの機能はほとんど同じだった。マシンがいったん感染すると、CryptoWallは被害者のハードドライブのコンテンツの暗号化を試み、次にコンテンツを元に戻すために必要な復号キーと引き換えに身代金を支払うように要求する。

 ここから大きく変革するのは、数か月前にあったきりだ。当社でいくつかのCryptoWallのサンプルを観察したが、C&Cサーバとの通信にカスタマイズしたTorコンポーネントを使っていた。このTorコンポーネントについては、暗号化されたバイナリファイルとして侵害されたWebサイトからダウンロードする。続いてファイルを復号し、C&Cサーバへ到達できるTorネットワークへの接続の確立に使用する。興味深いことに、当社ではこうした「Tor化した」バージョンのCryptoWallをわずかしか観察しなかった。当社で目にしたサンプルの大半は、オリジナルのC&C通信の方式を守り続けていた。

 現在では、これが変わった可能性がある。ほんの昨日のことだが、自身を「CryptoWall 2.0」と称するランサムウェアのサンプルが初めて世間で認知された

Screenshot of CryptoWall 2.0 ransom page
CryptoWall 2.0の身代金ページ

 CryptoWall 2.0は新たなパッカーや難読化ツールを使っているようで、デバッグや静的分析に対抗するトリックの数を増やしている。しかしながら、最終的に悪意あるペイロードに至ると、この夏に見られたTor化されたCryptoWall 1.0のサンプルと、CryptoWall 2.0はほとんど同一だ。

CryptoWall 1.0 CryptoWall 2.0
Tor化されたCryptoWall 1.0(左)とCryptoWall 2.0の同一の関数(右)

 おそらく、C&Cサーバをシャットダウンしようとしたセキュリティ研究者の尽力が、ギャングたちのビジネスに損害を与えたのだろう。あるいは、ギャングたちは単に変更するときが来たと感じていたのかもしれない。いずれにせよ、作者(たち)は新たなC&C通信の方法が必要だと明らかに感じていたのだ。そしてプロフェッショナルなソフトウェア開発者のように、CryptoWallの作者(たち)は完全に新しいものに切り替える前に、まずは直前のバージョンにきっちり沿って新しいバージョンをテストしようとしているように見える。我々は、Tor化されたバージョンのCryptoWall 1.0はまさにそれ、つまりテストだと考えている。したがって、近い将来、CryptoWall 2.0をずっとたくさん目にすることを予期している。

侵害された、Torコンポーネントのダウンロードサイトの一覧:

 hxxp://www.m[編集]urg.ch/wordpress/f0k1ats
 hxxp://www.ar[編集]a.com/blog-trabajos/n65dj17i1836
 hxxp://www.ar[編集]er.cz/o515ujx2f
 hxxp://www.fd[編集]rg.de/wp-content/themes/fdp-asz/vrf8iu27h
 hxxp://www.cu[編集]n.de/z6lub76lz295x
 hxxp://www.ho[編集]t.com/5gr4hl2tvv
 hxxp://www.me[編集]o.com/wp-content/themes/mh/3sbgwh
 hxxp://ep[編集]n.ca/blog/eo7ycomyy
 hxxp://www.pr[編集]al.com.br/site/hr38xc4
 hxxp://www.ji[編集]e.be/s5eroewr
 hxxp://www.je[編集]r.at/jesneu/wp-content/themes/Girl/0l9u4lc6che
 hxxp://www.dr[編集]en.de/wordpress/3uh2e
 hxxp://www.ye[編集]ak.com/kf4bv
 hxxp://www.ro[編集]es.com/l449jbc0
 hxxp://www.mc[編集]ld.com/u2m8bbkln3fqpe
 hxxp://www.fe[編集]an.com/wp-content/themes/s431_Blue/bh7u09cpppg5h
 hxxp://www.sp[編集]es.co.uk/blog/f040z4d5d21z5rd
 hxxp://www.ch[編集]ng.co.uk/blog/wp-content/themes/the-beach-house/6k8elm10.bin
 hxxp://www.gr[編集]en.com/wp-content/themes/jarrah/ghd4vowtha0s.bin

.onionドメインのC&Cサーバ一覧:

 crptarv4hcu24ijv.onion
 crptbfoi5i54ubez.onion
 crptcj7wd4oaafdl.onion
 crptdtykhkmux333.onion
 crpterfqptggpp7o.onion

CryptoWall 2.0のサンプルのハッシュ:

 e6325fc7f7168936aa9331ac707b4c3cc186b46e

Tor化されたCryptoWall 1.0のサンプルのハッシュ:

 00e0960099ec6381aa9bf1f11b536e3e32ffa635
 3370f29350115af162b613c45fd5a6a44315a213
 6698bb2df60685863a664e282e493ca1e886fec3
 672d6b7e31fe8f6250c6831d139012b87440274c
 f21c073e57ad8a5b73139fbd4361c8985a83c9c9

 Post by Artturi Lehtio (@lehtior2)

ランサムウェア・レース(パート5):守られないSynoLockerの約束

 決してオンライン犯罪者に身代金を支払ってはならないと、我々は考えている。その理由は極めて単純だ。ファイルを暗号化するランサムウェアは、支払いが為されるまで被害者の個人的なファイルを「人質」にとる。この陰謀がうまくいくには、耳をそろえて払うことで救われると被害者が信じる必要がある。しかしながら、犯罪者たちに支払った結果として確実なのは、彼らの悪意に満ちた行為を続けさせるように促すことだけだ。代表例は、一般にSynoLockerとして知られる最近のランサムウェアファミリーだ。

SynoLockerはシノロジー社製のNAS(network attached storage)デバイスを標的にしている。デバイスがSynoLockerに感染すると、このマルウェアはデバイスに格納されたファイルの暗号化を始める。さらに、ファイルを復号する見返りに身代金の支払いを要求するメッセージを被害者に提示する。しかしながら、SynoLockerの背後にいる犯罪者らはうその約束をしているのだ。 当社で観察した数多くのケースにて、復号プロセスは実際には動作しなかったり、犯罪者らが提供した復号キーが間違っていたりした。

 犯罪者たちに騙されたとしても、望みが完全に潰えたわけではない。正しい復号キーを被害者が入手することができれば、ファイル群はまだ復号できる。この目的のために、当社は本日、小さなツールをリリースする。Pythonのスクリプトで、当社で書いたものだ。正しい復号キーが提供されている限り、このツールを使って安全にSynoLockerで暗号化されたファイルを復号できる。このツールは、決してSynoLockerで作成されたファイルの暗号を破るものではない。また、復号キーを総当たりで探すことはしない。復号キーが既知の場合にのみ動作する。

Screenshot of encrypted and decrypted file headers
SynoLockerで暗号化されたファイルの先頭部分(左)と復号された同じファイルの先頭部分(右)

 当社の復号ツールのもう1つの使用場面は、ユーザが身代金を払ったが、感染したデバイスからマルウェアSynoLockerを削除済みだったために、復号キーが使えなくなった状況だ。デバイスを当該マルウェアに再感染させる(これは悪い考えだ)代わりに、当社のスクリプトをキーと共に使って、ファイルを復号できる。

 このツールを一般社会に公開することにより、こうした犯罪者によって引き起こされる害悪を解消するのに貢献できることを願っている。

 当社はどなたにも身代金の支払いを一切お勧めすることはない。

 当社の復号ツール、インストールおよび使用マニュアルはこちらから

 Post by Artturi (@lehtior2)

ランサムウェア・レース(パート3):SynoLockerの中身

 先週、シノロジー社製のNAS(network attached storage)デバイスを標的にした、SynoLockerと呼ばれる新たなランサムウェアファミリーについての記事を我々は執筆した。SynoLockerについてと思われる初期のうわさでは、悪名高いCryptoLockerと関係している可能性があるとされていたので、さらに深く掘り下げることにした。

 表面上、SynoLockerとCryptoLockerには多くの類似点がある。その最たるものは、似通った名前と、暗号アルゴリズムの選定や被害者から金を巻き上げるアイデアの類似性だ。しかしながら表面下では、類似性は急速に失われる。SynoLockerに感染すると、まずは被害者ごとにユニークなRSAのキーペアが生成される。秘密鍵はマルウェアのオペレータの元を離れることはないが、公開鍵は被害者のデバイス上に格納される。この公開鍵はデータの暗号化に使われるが、復号は対応する秘密鍵でのみ可能だ。マルウェアのオペレータが秘密鍵を掌握している限り、被害者が暗号化されたファイルへアクセスするのを妨げることができる。

 被害者のファイルの、実際のコンテンツを暗号化するにあたって、SynoLockerはAESを用いている。最初に、暗号化するファイルの大きさと名前からIV(initialization vector)を生成する。このIVは後の暗号化アルゴリズムでも使われるが、さらにランダムに生成された文字列と連結し、実際の暗号キーを生成するためにも使用している。続いて、オリジナルのファイルのコンテンツを暗号化する。同時に、いわゆるHMAC(keyed-hash message authentication code)も暗号化されていないデータから生成する。HMACは、一般にはデータの完全性の検証に用いられるものだ。最後にキーの生成に用いられたランダム文字列を、RSAの公開鍵で暗号化する。これにより、データを復号するための鍵を再生成するには、最初にRSAの秘密鍵を用いてランダムな文字列を復号することが唯一の方法となることが保証される。

Diagram of the encryption process and resulting file
暗号化プロセスと得られるファイルの図

 ファイルの暗号化が終了すると、SynoLockerはオリジナルのファイルを新しいファイルに置き換える。その新しいファイルには、まずRSAで暗号化したランダム文字列を書き込む。続いて「THE_REAL_PWNED_XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX_1337」(Xは40個)というマーカー文字列を書き込む。これは暗号化されたファイルであることを確認するために用いる。マーカーの後ろに、暗号化プロセスで使用されたIVを書き込む。次に、オリジナルファイルのコンテンツの暗号化バージョンを書き込む。最後に、暗号化プロセスの最中に生成されたHMACを新しいファイルの末尾に書き込む。プロセスの途中いずれかの時点で何かが失敗したり悪い方向にいったとしても、オリジナルのデータが失われることがないような方法で、以上のすべての処理が行われる。すべて完了したときにのみ、SynoLockerはオリジナルのファイルを新しいファイルに置き換えるのだ。復旧がより困難になるよう、ランダムなデータでオリジナルのファイルを上書きすることも試みる。

File encrypted by SynoLocker, as viewed in a hex editor
SynoLockerで暗号化されたファイル。hex editorで表示(矢印はマーカー文字列の先頭を示す)

 ファイルの復号を行うには、必然的に上記のプロセスの逆になる。まず最初に、SynoLockerはランダム文字列を被害者のRSAの秘密鍵で復号して手に入れる。次に、暗号化されたファイルから取得したIVとともにランダム文字列を用いて、実際のAESキーを生成する。最後にこのキーを使用してファイルデータを復号する。同時に、SynoLockerは復号したデータから新しいHMACを生成する。最終的にオリジナルデータのHMACと新たに生成されたHMACを比較し、一致した場合にのみ、復号プロセスが成功したものと判定される。繰り返すが、これにより、プロセスの途中で何か悪い方向にいった場合であっても、存在するデータが失われることはないことが保証されるのだ。

 SynoLockerで使われている暗号化手法に加え、当社では感染の媒介物についてももっと見つけ出したいと思っていた。最善を尽くしたが、これまでのところ、SynoLockerが使用する媒介物について正確に特定できないでいる。ただ、SynoLockerはたったひとつの悪意のあるバイナリというよりも、むしろファイル群であって、感染の媒介物を通じてデバイスにアップロードされる。これらのファイルにはすべて特定の目的があり、また完全に機能させるために多くは互いに依存しあっている。この投稿の最後に、SynoLocker関連のファイル一覧を挙げる。

 SynoLockerのバイナリの分析中、オペレーションの別の側面の監視も継続していたが、マルウェアのオペレータが活動しているのを目にしている。支払いの指示のために被害者が閲覧するように指示されるWebサイトが、最近更新された。このページには現在「This website is closing soon...(このWebサイトはまもなくクローズする)」という注記が記載されている。オペレータらは、5500個を超える秘密鍵を保有しているが、一括で200 BTCで販売する意思があることを示している。

Recent screenshot of SynoLocker website
SynoLockerの最近のWebサイトのスクリーンショット

 オペレータが計画を成就するか、またそれが被害者に何をもたらすのか、継続して監視する。

 SynoLocker関連のファイル一覧
 /etc/synolock/server
 /etc/synolock/synosync
 /etc/synolock/synolock
 /etc/synolock/crypted.log
 /etc/synolock/decrytped.log (SynoLockerのスペルミス)
 /etc/synolock/RSA_PUBLIC_KEY
 /etc/synolock/RSA_PRIVATE_KEY
 /etc/synolock/.restore
 /etc/synolock/.decrypt
 /etc/synolock/watch.sh
 /etc/synolock/uninstall.sh
 /etc/synolock/watchdogtest.sh
 /usr/syno/synoman/crypted.log
 /usr/syno/synoman/decrypted.log
 /usr/syno/synoman/index.html
 /usr/syno/synoman/redirect.html
 /usr/syno/synoman/lock.png
 /usr/syno/synoman/style.css
 /usr/syno/synoman/synolockcode.txt
 /tmp/.SYNO_ENCRYPT_LOCK
 /tmp/.SYNO_DECRYPT_LOCK
 /tmp/.SYNO_SERVER_LOCK
 /tmp/.server
 /usr/syno/etc.defaults/rc.d/S99boot.sh
 /usr/syno/etc.defaults/rc.d/S99check.sh

 サンプルのハッシュ
 9ccd05d4afe6bedac7aa6695c78d5475df5f9b0d (server)
 c160c1fd18841ebb5e4186ef5ac7ef223b688bc4 (synosync)

 当社ではこれらをTrojan:Linux/SynoLocker.Aとして検知する。

 Post by Artturi (@lehtior2)

ランサムウェア・レース(パート2):パーソナルメディアが次のフロンティア?

 最近、マルウェアの作者らはシノロジー社のNAS(network-attached storage)が気に入ったようだ。このNASは今年初めにまずBitcoinマイニングマルウェアに襲われたが、現在はCryptoLockerと似たファイル暗号化ランサムウェアに見舞われている。NASデバイスはホームユーザもビジネスユーザも使っており、ネットワーク経由で簡単にファイルの格納や共有ができる。その多くは、シノロジー社製のNASのように、リモートアクセスの機能がある。今回のケースでは、リモートアクセス機能をハッカーが悪用することが可能であったように見受けられる。おそらく、NASのOSであるSynology DSMの古いバージョンに存在する脆弱性を突いてデバイスへのアクセスを得たのだろう。アクセスできるようになると、ハッカーは「SynoLocker」に手を入れたランサムウェアのインストールを始める。

 デバイスがSynoLockerに感染すると、このマルウェアはデバイスに格納されているファイルの暗号化を行う。ハードコーディングされたリストにマッチする拡張子(以下)を持つファイルを求めて、デバイスを検索する。拡張子の先頭が、そのハードコーディングされたリストにマッチしさえすればいい。リストには「.do」が含まれるので、これはつまり、たとえば.docファイルや.docxファイルが暗号化されることを意味する。

Screenshot of extension list hardcoded inside SynoLocker
SynoLocker内にハードコーディングされている拡張子のリスト

 ファイルをすべて暗号化すると、SynoLockerはユーザに身代金についてのメッセージを提示する。このメッセージでは、まずはTor Browser Bundleをダウンロードして、インストールするようにユーザに指示する。次に、ユーザはTorネットワーク上の特定のWebサイトを表示させられる。このWebサイトでは、あるBitcoinウォレットに0.6 BTC(約260ユーロまたは350米ドル)の支払いを行うようさらなる指示を受ける。マルウェアの作者らは、送金を受け取ったら、ユーザにファイルを復旧するための復号キーを提供することを約束している。

synolocker (98k image)
犠牲者に提示される、Torネットワーク上のSynoLockerのページのスクリーンショット

 マルウェアが提示する身代金についてのメッセージは、暗号化プロセスの技術的な詳細を説明するとの主張もしている。説明されたプロセスは、悪名高いランサムウェアファミリーCryptoLockerで使われているものと非常に似通っている。当該プロセスはリモートサーバ上のユニークなRSA-2048のキーペアの生成から始まる。次に、生成された公開鍵がマルウェアに渡される。ファイルを暗号化する際は、マルウェアは別の256ビットのランダムなキーを生成する。このキーを使用して、対称暗号のAES-256 CBCによりファイルを暗号化する。この暗号化のプロセスで使われたキーはRSA-2048の公開鍵で暗号化した上で当該デバイスに保存し、メモリから消去する。もし実装が正確になされているなら、このプロセスにより、RSA-2048の秘密鍵を入手して、まず256ビットの暗号鍵を含むファイルを復号することが、暗号化されたファイルを復旧する唯一の方法となることが確実になる。

 当社のSynoLockerの分析に基づくと、マルウェアの作者らはその脅威を貫徹し、前述のプロセスを適切に実装している。悲しいかな、これが意味するところは、ユーザが別途バックアップを保持していない限り、NASデバイスに格納された任意のファイルが失われてしまうということだ。マルウェアの作者らに支払いを行い、無事にRSA-2048の秘密鍵を受け取ってファイルを復号したユーザについての報告もあるが、マルウェア作者へさらに送金されるのは断固として阻止したい。それは彼らの悪意に満ちた仕事を促すだけだ。

 シノロジー社のNASデバイスのユーザには、こちらの脅威を軽減、修正するための同社の公式なアドバイスを強くお勧めする。

 サンプルのハッシュ
 9ccd05d4afe6bedac7aa6695c78d5475df5f9b0d
 c160c1fd18841ebb5e4186ef5ac7ef223b688bc4

 当社ではこれらをTrojan:Linux/SynoLocker.Aとして検知する。

 Post by Artturi (@lehtior2)

ランサムウェア・レース(パート1):CryptoWallが要求水準を釣り上げる

 この夏、ファイルを暗号化するWindowsランサムウェアの市場に、新たに2つの強力なマルウェアファミリーが登場した。CryptoWallCTB-Lockerである。この2つのうち、CTB-Lockerのほうがより高度なファミリーで、ファイルの暗号化に楕円曲線暗号を、またC&Cサーバとの通信にTorを利用している。一方、CryptoWallはファイルの暗号化にRSAとAES、C&C通信にHTTPと、従来からの組み合わせを用いている。

 しかし、先月の終わりに、新しいバージョンのCryptoWallが世に出現した。この最新版は、機能面ではそれまでのバージョンとほぼ一致するが、重要な違いが1つある。C&Cサーバとの通信において、CryptoWallもいまやTorを使うようになったのだ。CTB-Lockerと同様にCryptoWallも、正規のTorの実行ファイルをプロジェクトのオフィシャルWebサイトから入手して使うような、従来からの簡単な方法は取っていない。代わりに自前の難読化したバージョンのTorを用いている。

Disassembly of CryptoWall with Tor functionality Disassembly of CryptoWall without Tor functionality
Torの機能を持ったCryptoWall(左)とTorの機能を持たないCryptoWall(右)。f_setupTorCommunication()へのcallを除いて両コードが同一であることに注意

 CryptoWallが使っている方法が興味深い。最初に、多数のハードコーディングされたURLへHTTPで接続を試みる。それらのURLから、RC4で暗号化されたファイルをダウンロードしようとする。ダウンロードしたファイルは、最初は使用している暗号キーの長さ、続いてキーそのもの、という構成になっている。次に、実際のペイロードの長さと、最後にペイロードそのものが格納されている。マルウェアがペイロードのダウンロードと復号に成功すると、新たに割り当てられたメモリセグメントにペイロードをコピーし、新しいスレッドを作成してペイロードを実行する。

Screenshot of payload in a hexeditor
ペイロードのダウンロードの開始時をhexeditorで表示

 ペイロード自体はTorのカスタム版で、難読化した2つのレイヤに覆われている。両レイヤが実行を終了すると、メモリ上に最終的なコードが展開され、ペイロードはTorネットワークへの接続の確立を試みる。接続が確立すると、ペイロードスレッドと元のCryptoWallのスレッドの双方が共有する、グローバルメモリのバッファに、ペイロードがフラグ値をセットする。また、ペイロードは同じバッファ内に、ペイロードのファンクションの1つを指すポインタもセットする。これが実際にデータの送受信の役割を持つファンクションだ。

 オリジナルのCryptoWallスレッドは、グローバルフラグがセットされていることを確認すると、実行を継続する。Torネットワーク上の3つのC&Cサーバのアドレスは、ペイロードではなく、元のCryptoWallのバイナリにハードコーディングされている。C&C通信の実際のメッセージのコンテンツも、元のバイナリにあるコードが処理している。ペイロードはTor接続の取り扱いとデータの送受信にのみ責任を負う。

 おそらく、ランサムウェアのオペレータは、CryptoWallからCTB-Lockerへ移行していたのだろう。あるいは、CryptoWallの作者は単に2番手では嫌だったのかもしれない。いずれにせよ、ランサムウェアの悪巧み競争はまだまだ続いている!

 Torの機能を持つCryptoWallのサンプルは以下。

 3370f29350115af162b613c45fd5a6a44315a213
 6698bb2df60685863a664e282e493ca1e886fec3

 Post by Artturi (@lehtior2)

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

政府関連

セキュリティ関連団体

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

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

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

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

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