SCAN DISPATCH :Googleを攻撃したマルウェア、中国発の証拠? | ScanNetSecurity
2021.06.21(月)

SCAN DISPATCH :Googleを攻撃したマルウェア、中国発の証拠?

 SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。

国際 海外情報
 SCAN DISPATCH は、アメリカのセキュリティ業界及ハッカーコミュニティから届いたニュースを、狭く絞り込み、深く掘り下げて掲載します。

──

 SecureNetwork社(米国ジョージア州アトランタ市)のマルウェア研究者のジョー・スチュアート氏が、Googleへの攻撃に使用されたマルウェアが中国製であることを示す強力な証拠を発表した。また同時に、この「Operation Aurora」の開始が2006年であったことを示すタイムスタンプが見つかったことも発表している。

 まずそのタイムスタンプだが、「Operation Aurora」に使用されたバックドア、「Hydraq」のコードは2009年に作成されたというのが一般の見解。が、Auroraのコードベースのカスタム・モジュールの中には、そのコンパイラーのタイムスタンプが2006年の5月になっているものが見つかった。

 これをうけてスチュアート氏は、「「Operation Aurora」が3年以上も検知を免れた理由は、アンチウイルス企業に良く知られているポピュラーなトロイの木馬を使用した「Titan Rain」攻撃(2005年)と違い、オリジナルなコードを使用し、攻撃対象を限定したのが理由だろう」と推測している。

 一方、攻撃の対象となったのが中国の人権活動家であること、マルウェアのコマンド&コントロール・サーバのIPアドレスが中国のものであることなどから、「Operation Aurora」は中国発であると推測されてきた。では、コンパイラのバイナリの言語コードはどうだろうか。スチュアート氏は、「「Hydraq」のバイナリのPEリソースの言語コードは英語」と言っているが、「わざと英語のシステムでコンパイルをしたか、後から言語コードを変更したのだろう」と付け加えている。

 それでは、スチュアート氏が「Hydraq」が中国製だと確証する理由はどこにあるのだろうか。それは、CRCアルゴリズムだ。「「Hydraq」のCRC(cyclic redundancy check)アルゴリズムは、今まで目にしたことがない型はずれなものなのだ。

以下に「Hydraq」のCRCアルゴリズムのコードをそのまま記す;

10004840 SUB ESP,40
10004843 PUSH ESI
10004844 MOV ESI,DWORD PTR SS:[ESP+4C]
10004848 XOR EAX,EAX
1000484A TEST ESI,ESI
1000484C MOV DWORD PTR SS:[ESP+4],0
10004854 MOV DWORD PTR SS:[ESP+8],1021
1000485C MOV DWORD PTR SS:[ESP+C],2042
10004864 MOV DWORD PTR SS:[ESP+10],3063
1000486C MOV DWORD PTR SS:[ESP+14],4084
10004874 MOV DWORD PTR SS:[ESP+18],50A5
1000487C MOV DWORD PTR SS:[ESP+1C],60C6
10004884 MOV DWORD PTR SS:[ESP+20],70E7
1000488C MOV DWORD PTR SS:[ESP+24],8108
10004894 MOV DWORD PTR SS:[ESP+28],9129
1000489C MOV DWORD PTR SS:[ESP+2C],0A14A
100048A4 MOV DWORD PTR SS:[ESP+30],0B16B
100048AC MOV DWORD PTR SS:[ESP+34],0C18C
100048B4 MOV DWORD PTR SS:[ESP+38],0D1AD
100048BC MOV DWORD PTR SS:[ESP+3C],0E1CE
100048C4 MOV DWORD PTR SS:[ESP+40],0F1EF
100048CC JE SHORT hydraq-a.10004913
100048CE PUSH EBX
100048CF PUSH EDI
100048D0 MOV EDI,DWORD PTR SS:[ESP+50]
100048D4 MOVZX ECX,BYTE PTR DS:[EDI]
100048D7 MOV EDX,EAX
100048D9 SHR EDX,8
100048DC MOVZX EDX,DL
100048DF SHR EDX,4
100048E2 MOV EBX,ECX
100048E4 SHR EBX,4
100048E7 XOR EDX,EBX
100048E9 SHL EAX,4
100048EC XOR EAX,DWORD PTR SS:[ESP+EDX*4+C]
100048F0 AND ECX,0F
100048F3 MOV EDX,EAX
100048F5 SHR EDX,8
100048F8 MOVZX EDX,DL
100048FB SHR EDX,4
100048FE XOR EDX,ECX
10004900 SHL EAX,4
10004903 XOR EAX,DWORD PTR SS:[ESP+EDX*4+C]
10004907 SUB ESI,1
1000490A ADD EDI,1
1000490D TEST ESI,ESI
1000490F JNZ SHORT hydraq-a.100048D4
10004911 POP EDI
10004912 POP EBX
10004913 POP ESI
10004914 ADD ESP,40
10004917 RETN

 最初に目に付くのが、コンスタンツ・テーブルのサイズ。通常16および32ビットのCRCアルゴリズムは、256のハードコードされたテーブルを使用するものだ。が、「Hydraq」に使用されているCRCアルゴルリズムのテーブルはたったの16、つまり、通常の256のテーブルを縮小したもの。そのため、「アルゴリズムをデコンパイルして「Hydraq」と同じ特徴を持つソースコードをインターネットで検索してところ、サンプルが一つだけ見つかった」と氏はそのブログで語っている。

 スチュアート氏はまた、そのサンプルに同じインプットをして「Hydraq」と同じアウトプットが出力されること確認し、このCRCアルゴリズムが「Hydraq」に使用されたものだと考えている。

 さて、このたった一件だけ見つかったソースコードが中国製だというのだ。

 それは、「このアルゴリズムは、簡体字の中国語の論文で出版されているだけでなく、このソースコードに関する情報は中国語のWebサイトだけに見つかっている」からだ。

 「ソースコードは一言語に限られたものでないが、プログラマはバグやソースコードの使用方法を誤解することを避けるために、自国語のものを使うのが普通だ。そのため、「Aurora」のコードベースは簡体字中国語が自国語の、中国本土の人が作ったと考えるのが論理的だ」と同氏は結論づけている。

 ちなみに「Operation Aurora」は、ソースコードのデバッグシンボルファイルのパスに、”f:Aurora_SrcAuroraVNCAvcReleaseAVC.pdb"というストリングが見つかったことからそう命名されている。

【執筆:米国 笠原利香】

【関連リンク】
SecureWorksブログ
http://www.secureworks.com/research/blog/
《ScanNetSecurity》

Scan PREMIUM 会員限定記事

もっと見る

Scan PREMIUM 会員限定記事特集をもっと見る

カテゴリ別新着記事

「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」
「経理」「営業」「企画」「プログラミング」「デザイン」と並ぶ、事業で成功するためのビジネスセンスが「セキュリティ」

ページ右上「ユーザー登録」から会員登録すれば会員限定記事を閲覧できます。毎週月曜の朝、先週一週間のセキュリティ動向を総括しふりかえるメルマガをお届け。(写真:ScanNetSecurity 名誉編集長 りく)

×