2013年6月25日に発生したサイバーテロの分析レポート (1)
2013年6月25日に発生したサイバーテロの分析レポート
DDoS 攻撃分析レポート (1)
2013.06.28
アンラボ セキュリティ対応センター(ASEC)
この報告書は、2013年6月25日に韓国で発生した一部政府機関へのサイバーテロ(以降、「6.25サイバーテロ」と称す)に関連するDDoS攻撃の分析レポートである。
Ⅰ.概要
2013年6月25日午前10時韓国において、政府統合電算センター等の主要政府機関や報道機関に対するDDoS(Distributed Denial of Service、分散型サービス拒否)攻撃が発生した。
一部の政府機関や特定政党のWebサイトへの攻撃には、そのWebサイトへアクセスするだけでDDoS攻撃を発生させる悪性スクリプト方式が使用された。このような方式が大規模なDDoS攻撃に利用されたのは今回が初めてである。
その他の機関へは、既存のDDoS攻撃同様、マルウェアとゾンビPCを利用したDDoS攻撃方式を利用したことが確認された。
また、特定の報道機関と政党及び関連ドメインへのApache Range DoS脆弱性を利用した攻撃も発覚された。

<6・25 DDoS攻撃のタイムライン>
Ⅱ.攻撃方法の分析
1. マルウェアベースのDDoS攻撃の分析
1.1 DDoS攻撃マルウェアの分析
(1)主な機能
6.25 サイバーテロのDDoS攻撃に利用されたマルウェアの主な機能は[表1]の通りである。

[表1]マルウェアの主な機能
(2)ファイル間の関係図
1)攻撃シナリオ
特定のオンラインストレージ会社のインストールファイル(RARSFX)を改ざんして、そのファイルを解凍すると「SimDiskup.exe」が実行されるよう設定されている。

[図1] ファイル間の関係及び攻撃シナリオ
(3)主要ファイルの分析情報
1)servmgr.exe - ドロッパー
ドロッパーである「servmgr.exe」は、リソース領域に[図 2]のように4つのPEファイルを持っている。但し、32bit または 64bit システム環境に応じて、同じ機能を持つ個別のファイルとして存在する。

[図2] ドロッパーのリソース領域に存在するPEファイル
「servmgr.exe」は、実行されると、次のように作動する。
① システムのバージョン情報をチェック
② 「OpenFileMappingA」を呼び出し、感染の有無を確認

③ システムバージョンに応じて作動
- 32bit と 64bit のシステムをチェックして、[表2]に示すように、各システム環境に合わせたファイルを作成する。すなわち、同じ機能を持つ 32bit、64bit のファイルを作成する。
- システムバージョン情報が6.0(Vista)以上の場合、「GetVersionExA」でUAC回避の為のファイルを追加作成する。

[表2] 同じ機能を持つ為、システム環境によって作成されるファイル
-これらのファイルの実行引数の値は次の通りである。

④ バッチファイルである「%Temp%\ud.bat」を作成し、ファイル自身を削除する。
2)Ole(正常のWindowsサービス名).dll
① サンプルは、「system32\ole(正常のWindowsサービス名).dll」パスに保存される。但し、感染する度にファイル名が変わるのだが、全て「Ole」という文字でファイル名が始まり、感染したシステム上のWindows DLLファイル名を組み合わせてファイル名を作成すると推定される。このDLLファイルは、サービスとして動作し、条件が一致すると次のようなパスにファイルを作成・実行する。

② 但し、上記のパスにファイルを作成して実行する前に、次のURLにアクセスしファイルをダウンロードする。

③ ファイルをダウンロードし、「%temp%\~MR数字2ケタ.tmp」に保存した後、シグネチャ('BM6W')と時間情報(2013年6月25日 10:00)を確認し、条件に合致すると「%system32%\wuauieop.exe」というパスにファイルを作成・実行する。

[図3] DDoS攻撃を行う為の時間情報確認
3)Wuauieop.exe - DDoS攻撃に関連する機能
「%system%」フォルダに「wuauieop.exe」という名前のファイルが作成され、このファイルがDDoS攻撃を実行する。ファイル内に二つの攻撃対象IPアドレスが固定されていて、次のようにそれぞれのスレッド(thread)で駆動され、無限ループで動作し攻撃が行われる。

また、二つのスレッドルーティンからランダムにドメイン名を作成する、次のようなコードが存在する。これにより、ドメイン名をランダム化し、DDoS攻撃の効果を増大させたと推定される。


[図4] ランダムにドメイン名を作成するコード部分
4) ~SimDisk.exe
「~SimDisk.exe」は、ネットワーク接続情報の監視や追跡、分析を難しくする為の torプログラムのソースコードを使用した、独自のビルドバージョンのインストールファイルである。
「~SimDisk.exe」ファイルが実行されると、次のようなパスにファイルを作成する。この際、ファイル名はランダムに付けられるが、「%\System32\」から取得したものと推定される。

(4)V3の診断
各ファイルはV3で以下のように診断される。

[表3] 各マルウェアに対するV3の診断名
1.2 DDoS攻撃のトラフィック分析
(1)DNS DDoSのトラフィック分析
1)1次 DNS ANY Query DDoS攻撃
DNSサーバーに対するサービス拒否攻撃を実行する DNS DDoSトラフィックは、次のような二つのDNSサーバーを攻撃した。一部の政府機関でこれらのドメインネームサーバを使用していた為、今回の攻撃対象になったと思われる。

DNS DDoS攻撃トラフィックの主な特徴は以下の通りである。

一方、収集されたパケットは、毎秒約712回のDNS Queryを送信することが確認された。

[図5] パケット要約
DNS Queryの形式は、[図6]のように「[ランダムホスト名].gcc.go.kr」である。

[図6] DNS Queryの形式
2)2次DNS増幅DDoS攻撃
攻撃対象NSへ直接ANY Queryを送信する方式(1次DNS ANY Query DDoS攻撃)とは異なり、インターネット上のNS(reflector)を動員するDNS増幅DDoS攻撃を実行するマルウェアが発見された。このマルウェアは、2013年6月25日20:43:16(GMT+9)頃に制作されたものと推定され、DNS増幅分散サービス攻撃を目的に製作された。 DNS増幅DDoS攻撃とは、一般的にアクセスが可能なDNSサーバーを利用し、大量のDNS応答パケットを攻撃対象に送信する攻撃である。

このマルウェアに感染した複数のPCで、IPスプーフィング(Spoofing)を利用し、DNS ANYレコードQueryの出発地アドレスを政府総合センターのDNSサーバーに偽装する。その後、その結果を Open Resolver*(Reflector)が適用されたDNSサーバーを通じて政府総合センターに誘導して、帯域幅及びネームサーバーのリソースを不足させる等のDNS増幅攻撃(DNS Amplification DDoS)を実行する。約20,000台以上のDNSサーバーが動員されたが、その一部は Open DNS Resolver サーバーではないことが確認された。
(* Open DNS Resolver:Recursive機能を持つDNSサーバー)

[図7] DNS増幅攻撃のプロセス
[図7]は2次DNS増幅攻撃のプロセスで、その内容は以下の通りである。

2次DNS増幅DDoS攻撃のパケットは、以下のような特徴がある。

[図8] 政府総合センターへと DNS Query 出発地を改ざん(偽装)
[図9]のように、「ripe.net」のANY Queryの結果を利用する。増幅攻撃の効果を最大化する為、一般的な要求結果に比べ非常に大きなデータサイズの応答値である。

[図9] 「ripe.net」のANYレコードQueryを要求するように指定

[図10] 攻撃パケットの統計
「ripe.net」のANY応答結果を転送する際に使用する中継DNSサーバー(reflector)のリストは、マルウェアの「.data」領域に含まれていて、[図11]のVA値 0x40A044(FileOffset 0xA044)からIPアドレスリストを読み取る。

[図11] 中継DNSサーバー(reflector)リストの獲得プロセス
[図12]は FileOffset 0xA044 位置で、IPアドレスリストが保存されている。参照する為の番号EDXの値を得る為に「0x4C82」に分割するということから、攻撃に使用する Resolver IP の数は19,586個と推定できる。

[図12] 中継DNSサーバー(reflector)情報(IPアドレス)
(2)Apache Range脆弱性攻撃
「6.25 DDoS攻撃」の関連マルウェアのうち、特定の政党とその関連ドメインに対する Apache Range の脆弱性を攻撃しようとする試みが確認された。以下は、そのパケットを分析した内容である。
1)Apache Range 脆弱性攻撃のプロセス
このマルウェアは、外国人を対象とした下宿/考試院*情報を提供するサイト(common/tpl/widget_layout.html)へアクセスし、C&Cサーバーからの攻撃対象URLを転送してもらい、Apache HTTPD の脆弱性を攻撃するパケットを送信する。 [図13]の「icon.gif」ファイルに攻撃対象が明示されている。
(* 考試院:国家試験等の受験準備をする宿泊施設)


[図13] C&Cサーバーアクセス

一方、AhnLab TrusGuard に適用された悪性パケットと関連シグネチャは次の通りである。

2) Apache Range 脆弱性の攻撃情報
① 攻撃対象 URL
C&Cサーバーから送信された Apache Range攻撃対象は、特定政党のホームページ及び関連ドメインであり、サーバー8台ののURL80個に攻撃を実行する。
② 攻撃対象Webサーバーのバージョン情報
[表4]で示すように、各攻撃対象サーバーではWebサーバーデーモンが使われていると考えられる。

[表4] 攻撃対象別Webサーバーのバージョン
③ 攻撃パケット分析
攻撃対象はC&Cサーバーから送信される。C&Cサーバーの応答は次のような特徴を示す。


[図14] C&Cサーバーから攻撃対象URLリストを受信

[図15] エンコードされた攻撃対象URLのリスト

[図16] デコード後、確認された攻撃対象URLのリスト
実際の攻撃パケットは、[図17]のように、ページを要求(GET)する際に重複する Range 値を大量に送信する。これにより、Rangeヘッダに 6,000 byte 以上の値を入力し、CPU及びメモリリソースを不足させ、サービス拒否状態を引き起こす。

[図17] ページ要求(GET)時に送信する、重複したRange 値
攻撃対象サーバーの応答コードは503で、一時的にサービス不可状態であることを表す。

[図18] 攻撃対象サーバーの応答コード
※ 本レポートは、アンラボコリアより発表された内容を翻訳したものです。