情報処理学会論文誌

Vol.54 No.3 1211–1219 (Mar. 2013)

Handy Scissors：悪性文書ファイルに埋め込まれた
実行ファイルの自動抽出ツール
三村 守1,a)

田中 英彦1

受付日 2012年8月14日, 採録日 2012年12月7日

概要：今日，機密情報や個人情報の搾取を目的とする標的型攻撃は，多くの組織にとって脅威である．標的型攻撃に利用されるマルウェア本体が文書ファイルに埋め込まれた場合には，発見・解析はより困難となる．標的型メールに添付された不審な文書ファイルの動作を解析するためには，文書ファイルから，埋め込まれた実行ファイル（マルウェア本体）を抽出する必要がある．しかしながら，脆弱性を利用した悪意あるコードである exploit の動作条件が判明せず，動的解析によって速やかに実行ファイルを抽出することが困難なケースが増えている．そこで本稿では，悪性文書ファイルから埋め込まれた実行ファイルを自動的に抽出するツールを試作し，実験によりその有効性を示す．
キーワード：マルウェア，標的型攻撃，悪性文書ファイル，静的解析

Handy Scissors: An Automated Tool that Extracts
an Executable File Embedded in a Malicious Document File
Mamoru Mimura1,a)Hidehiko Tanaka1

Received: August 14, 2012, Accepted: December 7, 2012

Abstract: Today, targeted attacks that exploit conﬁdential information or personal information are serious
threats for many organizations. If the malware is concealed in document ﬁles, it is more diﬃcult to reveal
and analyze it. Analyzing malicious document ﬁles attached to spear phishing e-mails requires extracting anembedded executable ﬁle. However, if we don’t know the condition that the exploit code: a malicious codethat takes advantage of vulnerability, runs normally, it is diﬃcult to extract the executable ﬁle swiftly by
dynamic analysis. In this paper, we develop an automated tool that extracts the embedded executable ﬁlefrom the document ﬁles, and the experimental results show the validity and eﬀectiveness of this tool.
Keywords: malware, targeted attack, malicious document ﬁle, static analysis

1. はじめにる．経済産業省が実施した調査によると，2007 年には標的型攻撃を受けた経験がある企業は 5.4%にとどまってい

近年，組織が保有する機密情報や個人情報の搾取を目的たが，2011 年には約 6 倍の 33%に拡大している [1]．標的とするサイバー攻撃の脅威が顕在化している．2011 年に型攻撃の中でも，ある組織に特化した，時間および手法をは国会，政府関係機関，民間企業等において大規模なサイ問わずに継続的に行われる一連の攻撃は APT（Advanced

バー攻撃が相次いで発生し，大きな社会問題となったのはPersistent Threat）と呼ばれることもあり，大きな脅威と記憶に新しいところである．サイバー攻撃の中でも特に目なっている．

立つのは，主に機密情報や個人情報の搾取を目的とし，あ典型的な標的型攻撃の概要を以下に示す．まず攻撃者

る組織や個人に標的を絞って実施される標的型攻撃であは，業務を装った件名やファイル名をつけた標的型メール

1

で不正プログラム（マルウェア）を送信する．標的型メーa)

情報セキュリティ大学院大学
IISEC, Yokohama, Kanagawa 221–0835, Japandgs104101@iisec.ac.jp

c 2013 Information Processing Society of Japan

ルを受信したユーザが，業務を装った件名やファイル名を1211

情報処理学会論文誌

Vol.54 No.3 1211–1219 (Mar. 2013)

不審に思わず，添付ファイルを開封した場合，その端末で的解析において exploit を動作させることができれば，作

不正な命令が実行され，マルウェアに感染する．マルウェ

成された実行ファイルを回収するか，あるいは復元すれば，アに感染した端末は踏み台とされ，攻撃者の遠隔操作によ実行ファイルを抽出することが可能である．作成された実り任意の命令が実行され，不正な情報の搾取に利用される．

行ファイルの回収や復元は，Capture BAT [4] 等のツール

搾取された情報は，ファイアウォールやプロキシを介してを使用すれば容易に実施することができる．したがって動

コマンド&コントロールサーバに送信される．最後に，コ的解析では，exploit が正常に動作すれば，実行ファイルを

マンド&コントロールサーバに送信された情報は攻撃者に取り出すことが可能となる場合がほとんどである．しかしよって回収される．攻撃者はまた，発信元を秘匿するためながら，サンドボックス内で exploit が正常に動作せず，実に，すでにマルウェアに感染しており，遠隔操作が可能な

行ファイルを取り出すことができない場合もある．また，一般ユーザの端末を利用して標的型メールを送信していソフトウェアの脆弱性の数は年々増加しており，exploit のる可能性も考えられる．さらに，不正に搾取した情報を用動作条件（特定のソフトウェアのバージョンやそれらの組

い，新たに業務を装った件名やファイル名を付与する悪質合せ）を特定できず，やはり動的解析で実行ファイルを取なケースも目立つようになってきている．

り出せないケースが増加している．動的解析で実行ファイ

標的型攻撃に用いられるマルウェアは，かつての無作為ルが取り出せない場合には，バイナリエディタ等を利用しに拡散するウイルスとは異なる特徴が指摘されている [2]．

て悪性文書ファイルから手動で実行ファイルを抽出する必たとえば，特定の組織にのみ送信されるため，マルウェア

要があり，労力を要する．

を入手できないウイルス対策ソフトのベンダはパターン

よって，悪性文書ファイルに埋め込まれた実行ファイル

ファイルを作成することができず，結果としてウイルス対を，動的解析によらず短時間で自動的に抽出することがで策ソフトで検出されにくいという特徴がある．その実例

きれば，exploit の動作条件が判明しない場合でも，マルとして，Microsoft Word，Adobe Reader 等のアプリケー

ウェア本体の解析を迅速に実施することが可能になるもの

ションに存在する脆弱性を悪用する添付ファイルを開いたと考えられる．また，文書ファイルに実行ファイルが埋め際に，マルウェアに感染する事象が報告されている．これ

込まれているか否かを判定することができれば，早期にマらの事象では，最新のパターンファイルを適用したウイル

ルウェアか否かの見当をつけることができるという副次的ス対策ソフトでも，添付ファイルを検知できないケースが効果も期待できる．そこで本研究の目的を，exploit を動作ほとんどである．

させずに悪性文書ファイルから実行ファイルを短時間で自2. 研究の目的と範囲
標的型攻撃に用いられる多くのマルウェア本体は実行
ファイル（exe および dll）であり，他のファイルには埋め込

動的に抽出することとする．

3. 関連研究
本研究では，文書ファイルに実行ファイルが埋め込まれまれずに拡張子やアイコンが偽装される場合と，doc 形式ているか否かを，exploit を動作させずに検査する．この検や pdf 形式の文書ファイルに埋め込まれて偽装される場合

査では実際にマルウェアは動作しないため，本研究は静的がある．実行ファイルが他のファイルに埋め込まれていな解析の一種といえる．ファイルの特徴をもとに静的解析にい場合には，ただちにマルウェア本体の解析にとりかかる

よってマルウェアを検出する手法としては，実行ファイル

ことができる．しかしながら，実行ファイルが文書ファイを分析する手法と，それ以外のファイルも分析できる手法

ルに埋め込まれて偽装された場合には，ただちにマルウェに分類される．

ア本体の解析にとりかかることはできない場合がある．実際に，実行ファイルと元となるダミーの文書ファイルを指3.1 実行ファイルを分析する手法

定するだけで，容易にマルウェアを作成するツールの存在

文献 [5], [6] では，マルウェアに含まれる可読な文字列が確認されている [3]．このようなマルウェアの機能を分を抽出し，教師あり学習の 1 つであるサポートベクタマ

析するためには，悪性文書ファイルから実行ファイル（マシンを適用することによって，通常の実行ファイルとマル

ルウェア本体）を抽出する必要がある．

ウェアを識別する手法が提案されている．文献 [7] では，

マルウェア本体を抽出する最も簡単な方法は，隔離され実行ファイルをいくつかの区間に分割し，分割した区間ごた安全な環境で，実際にマルウェア本体が埋め込まれた悪との情報エントロピーの統計を算出することで，通常の実性文書ファイルを開き，作成されるファイル等の挙動を観行ファイルとパッキングされたマルウェアを識別する手法

測する動的解析と呼ばれる手法である．マルウェア本体がが提案されている．また，文献 [8] では，実行ファイルに埋め込まれた悪性文書ファイルを開くと，exploit（脆弱性パターン認識の手法を適用することで，パッキングされてを利用した悪意あるコード）が実行され，マルウェア本体いるか否かを判定する手法が提案されている．これらの手である実行ファイルが作成される場合が多い．ゆえに，動法は，実行ファイルがマルウェアか否かを判定する手法でc 2013 Information Processing Society of Japan


1212

情報処理学会論文誌

Vol.54 No.3 1211–1219 (Mar. 2013)

さらに，通常の XOR による方式と NULL-Preserving XORある．
本研究では，悪性文書ファイルに埋め込まれた実行ファによる方式に分類される．

イルを検出し，それを自動的に抽出することを目的として

通常の XOR による方式では，実行ファイルと鍵の XOR

おり，これらの手法のように実行ファイル自体の分析は実演算を実施すると，実行ファイルにおける NULL の部分は鍵と同一の値となる．よって，実行ファイルの NULL の部

施しない．

分に着目することで，容易にエンコードに用いる鍵を特定

3.2 実行ファイル以外も分析できる手法

することが可能である．図 1 に通常の XOR でエンコード

文献 [9] では，バイナリデータの値を統計的に分析するされた実行ファイルのバイナリデータの例を示す．図中のことによって，悪性文書ファイルに隠された不正なコード

文字列は，悪性文書ファイル（バイナリデータ）の一部をを検出する手法が提案されている．文献 [10] ではバイナリ

16 進数で表示したものである．図中の破線で囲まれた部分

データの統計分析に加え，動的解析を組み合わせて悪性文

は，悪性文書ファイルに埋め込まれた実行ファイルの先頭書ファイルに隠された不正なコードを検出する手法が提案の部分に該当する．破線で囲まれた部分を見ると，AC とされている．これらの手法では，実行ファイル以外も分析いう文字コードが多く分布していることが確認できる．ゆの対象としており，ファイルに隠された exploit を含む不えに，実行ファイルの先頭部分には NULL が多く含まれる

正なコードを検出することに主眼を置いている．また，こという特徴から，この実行ファイルは AC という鍵で，通れらはファイルに不正なコードが含まれているか否かを判常の XOR によりエンコードされたものと推定できる．

定する手法であり，不正なコードの位置やどのような方式
で埋め込まれているかを分析する手法ではない．

一方の NULL-Preserving XOR では，エンコードに用いる鍵の値と一致する部分，または NULL の部分には XOR

本研究では，exploit を含む不正なコードではなく，エン演算を実施しないため，一見して鍵が分かりにくいというコードされた実行ファイル（マルウェア本体）を直接抽出特徴がある．図 2 に NULL-Preserving XOR でエンコーすることを目的としている．マルウェア本体を抽出するたドでされた実行ファイルのバイナリデータの例を示す．図

めには，実行ファイルが埋め込まれている正確な位置やエ中の文字列は図 1 と同様に，悪性文書ファイル（バイナリ

ンコード方式も明らかにする必要がある．

データ）の一部を 16 進数で表示したものである．図 1 と4. 実行ファイルのエンコード方式
4.1 主なエンコード方式

比較すると，図 2 からは NULL 以外の，特定の多く分布する文字コードを確認することができないため，一見してエンコードに用いた鍵を推定することが困難であることが実行ファイルは様々な形式でエンコードされ，文書ファ確認できる．

イルに埋め込まれる．2012 年に複数の組織で採取した検体（マルウェア）を分析した結果判明した，実行ファイルの主なエンコード方式を表 1 に示す．表 1 の中でも最も頻

4.3 Rolling XOR
これまでに示した方式では，エンコードに用いる鍵は同繁に用いられるエンコード方式は，実行ファイルと任意の

1 byte の鍵を XOR 演算する方式である．XOR の場合にはエンコード演算とデコード演算は同一となるが，他の算術演算や論理演算を用いる形式ではエンコードとデコードは逆の演算となる．実際のマルウェアは，複数の方式を組み合わせてエンコードされる場合もある．エンコード方式には他にも，表示可能な ASCII 文字の範囲でのシフト（シーザ暗号），Base64，ストリーム暗号を用いる方式等がある．

図 1

通常の XOR でエンコードでされた実行ファイルの例

Fig. 1 An example of an executable ﬁle encoded with XOR.

4.2 NULL-Preserving XOR
実行ファイルと鍵の XOR 演算によるエンコード方式は
表 1 実行ファイルの主なエンコード方式

Table 1 Main methods to encode executable ﬁles.
エンコード方式

説明

XOR

排他的論理和ADD, SUB

加算または減算

ROL, ROR

左シフトまたは右シフト

Multi Byte

多バイト長の鍵による XOR

c 2013 Information Processing Society of Japan

図 2 NULL-Preserving XOR でエンコードされた実行ファイルの例

Fig. 2 An example of an executable ﬁle encoded with NULLPreserving XOR.

1213

情報処理学会論文誌

Vol.54 No.3 1211–1219 (Mar. 2013)

一の値であった．鍵が同一の値かつその長さが短い場合には，OﬃceMalScanner [11] のようなあらゆる鍵を総当たりで試す機能を有するツールで，容易に鍵を特定することがれている．本稿では，この転置方式を SWAP と呼ぶ．

5. 自動抽出ツールの試作可能である．これに対し，鍵の値が順次変化する Rolling

マルウェアの解析を迅速に実施するため，これまでに示

XOR と呼ばれるエンコード方式で埋め込まれた実行ファ

した実際に確認されているエンコード方式に対応した，実イルも確認されている．たとえば，最初の 1 byte 目が 16 進

行ファイルを自動的に抽出するツールを試作する．

数の AC という値の鍵でエンコードされ，2 byte 目が AD，

3 byte 目が AE でエンコードされている場合，鍵の値は 1

5.1 動作の概要

ずつインクリメントしているものと推定できる．この例の試作する自動抽出ツールの動作の概要を図 4 に示す．自場合には，256 byte ごとに鍵の値は初期の値に戻る．いい動抽出ツールは doc 形式，xls 形式，pdf 形式等の文書ファ

換えると，この場合の Rolling XOR の鍵の周期は 256 といイルを入力として受け付け，実行ファイル固有のパターン

うことになる．これは，256 byte の長さの鍵を用いた XORを検索し，発見した実行ファイルを出力する．STEP1 で演算と同義となる．したがって，Rolling XOR は多バイト

はまず，2 byte の ASCII 文字にエンコードする方式で埋長の鍵による XOR ともいえる．

め込まれた実行ファイルを検索するため，一定の長さ以上の ASCII 文字列を抽出する．さらに，抽出した文字列をバ

4.4 2 byte の ASCII 文字

イナリコードに変換し，そのバイナリコードから，指定し演算によるエンコード方式のほかにも，2 byte の ASCIIた長さのあらゆる鍵を総当たりで試す方式で実行ファイル

文字にエンコードする方式で埋め込まれた実行ファイルもに含まれる固有のパターンを検索する．STEP2 では文書確認されている．ASCII 文字でエンコードされた実行ファ

ファイル全体から，指定した長さのあらゆる鍵を総当たり

イルの例を図 3 に示す．図中の左側（HEX）は図 1 およで試す方式で実行ファイル固有のパターンを検索する．最び図 2 と同様に文書ファイル（バイナリデータ）の一部

後に，STEP3 では文書ファイル全体から繰返し文字列のを 16 進数で表示したものであり，図中の右側（ASCII）はパターンを検出し，多バイト長のエンコード鍵の推定を試

左側の 16 進数に対応する部分を表示可能な ASCII 文字でみる．STEP1 から STEP3 のいずれの場合においても，実示したものである．右側（ASCII）の 2 行目の右端部分か

行ファイル固有のパターンを発見した場合には，実行ファら，表示可能な ASCII 文字でエンコードされた文字列をイルをバイナリの形式で出力する．

確認することができる．この文字列は，0〜9 または A〜Fの値から構成されており，2 文字で元のエンコードされた
実行ファイルの 1 byte を示している．よってこの方式でエ5.2 総当たり方式による鍵の検索
実行ファイルを検索する手法として，指定した長さのあンコードした場合，元の実行ファイルの 2 倍の容量が必要になるため，文書ファイルの容量が大きくなるという特徴がある．

4.5 転置演算によるエンコード方式は，元のデータを位置は変えずに別のデータに変換する換字方式である．これに対し，元のデータの順序を並べ替える転置方式によるエンコードもある．実際に，前後 1 byte のデータの順序を入れ替えた
転置方式によってエンコードされた実行ファイルが確認さ

図 3

ASCII 文字でエンコードされた実行ファイルの例

Fig. 3 An example of an executable ﬁle encoded with ASCII
character string.

c 2013 Information Processing Society of Japan

図 4

自動抽出ツールの動作

Fig. 4 The algorithm of the automated tool.

1214

情報処理学会論文誌

Vol.54 No.3 1211–1219 (Mar. 2013)

表 2

らゆる鍵を総当たりで試す方式を用いる．Windows の実行
ファイルに含まれる “This program cannot be run in DOS

自動抽出ツールの仕様

Table 2 The speciﬁcation of the automated tool.

mode” または “This program must be run under Win32”

OS

Windows XPといった文字列を生成した鍵でエンコードし，エンコード

実装言語

Python 2.7

対応ファ

doc, xls, pdf 等

した文字列を対象とする文書ファイルから検索する．総当たり方式による鍵の検索のプロセスでボトルネックとな

イル形式
対応エンコ

XOR, NULL-Preserving XOR

ード方式

Rolling XOR, 2 byte ASCII

文字列を検索し，ヒットした場合にのみ全文字列を検索す

検索可能な

ADD, SUB, ROR, ROL

る 2 段階検索を実施することで処理の高速化を図る．実行

組み合わせ

SWAP

ファイルに含まれる文字列を発見した場合には，そのとき検索可能

1 byte〜指定可能の生成した鍵で文書ファイル全体をデコードする．次に，鍵長

るのは，すべての考えられるエンコード鍵を生成するルー
プ内における処理である．よってまず “This” という短い

Multi Byte

デコードした文書ファイルから実行ファイルの先頭部分を示す “MZ” という文字列を検索し，実行ファイルの位置を

32 byte 以上であり，かつその文字コードが NULL の場合特定する．なお，“MZ” という文字列を発見した時点で，エには，NULL-Preserving XOR と判定することとする．

ンコード方式およびエンコード鍵の値を特定し，実行ファイルを発見したと判定する．最後に，発見した実行ファイ
ルをバイナリの形式で出力する．

5.5 試作したツールの仕様
これまでに示した手法を採用し，最終的に試作した Handy

Scissors の仕様を表 2 に示す．Handy Scissors の動作確認
5.3 繰返し文字列の検出による鍵の推定は Windows XP の Python 2.7 で実施したが，Python が総当たり方式による鍵の検索では，多バイト長の鍵の検動作する環境であれば他の OS でも動作可能である．対応

索に時間を要してしまい，実行ファイルを短時間で抽出すファイル形式については，doc 形式，xls 形式，pdf 形式の 3

ることができない．したがってそれを緩和するために，文種類のファイル形式で動作を確認しているが，ファイル形

書ファイルから繰返し文字列を検出し，多バイト長の鍵の式固有の処理は実施していないため，他のファイル形式も推定を試みる．以下，具体的な手順を示す．

検査することは可能である．エンコード方式については，

まず，文書ファイルを 256 byte の長さで分割し，256 byte

通常の XOR 演算，NULL-Preserving XOR，鍵の値が変化の値を順番に並べたリストを作成する．次に，連続するリ

する Rolling XOR，2 byte ASCII に加え，多バイト長の鍵ストの値を比較し，一致するリストの値を 256 byte 長の鍵によるエンコードにも短時間で対応可能である．各対応エの候補として蓄積する．以後，分割する文書ファイルの長

ンコード方式においては，加算および減算の算術演算，左さ（鍵候補の長さ）を半分とし，分割する文書ファイルの

シフトおよび右シフトの論理演算の組合せも同時に検索す

長さが 2 byte になるまで同手順を繰り返す．最後に，蓄積る．これらの算術演算および論理演算の組合せの検索は，された鍵の候補を用いて文書ファイルをデコードし，実行Rolling XOR の鍵の値の変化にも適用される．さらに，転ファイルを検索する．以後の手順は，総当たり方式による置の一種である SWAP も同時に検索する．

鍵の検索において，実行ファイルに含まれる文字列を発見した場合の処理と同様である．

6. 実験
6.1 実験内容

5.4 NULL-Preserving XOR の自動判定

Handy Scissors の性能を評価するため，実際に実行ファ

図 4 において実行ファイルをデコードする際に，通常イルが埋め込まれた悪性文書ファイルを入力して結果を分の XOR によるエンコードか NULL-Preserving XOR によ析する．実験の対象となる文書ファイルの概要を表 3 にるエンコードかの自動判定を試みる．まず，実行ファイル

示す．これらの文書ファイルは，2012 年に複数の組織におの最初の 64 byte 内における最頻出の文字コードの数を数いて受信した不審なメール（送信者や内容に心当たりがな

える．このとき，NULL-Preserving XOR では NULL の部い）に添付された固有のハッシュ値を持つ検体である．検分には XOR 演算を実施しないため，図 2 の破線で囲まれ体に偏りが生じるのを防ぐため，検体の採取期間は 2012

た部分のように，最頻出文字コードの値は NULL となっ

年 1 月から 9 月とし，拡張子で機械的に選定した．表 3 のているものと考えられる．一方の通常の XOR 演算では，左側のファイルは，あらかじめ不審な挙動を示す実行ファ

図 1 のように最頻出文字コードの値はエンコードに用いイルが埋め込まれていることが確認されているマルウェア

る鍵自身の値となっているものと考えられる．よって実である．これらのマルウェアを Handy Scissors に入力し，行ファイルの最初の 64 byte 内の最頻出文字コードの数が自動抽出の成功率，XOR と NULL-Preserving XOR の自c 2013 Information Processing Society of Japan


1215

Vol.54 No.3 1211–1219 (Mar. 2013)

情報処理学会論文誌

表 3 検体の概要

表 6

Table 3 A summary of the specimens.
マルウェア
拡張子

検体数

平均容量

検体のエンコード方式

Table 6 Encoding methods of the specimens.

マルウェア

エンコード方式

検体数

ではない

XOR

24

検体数

平均容量

NULL-Preserving XOR

9

（KB）

XOR + ROR or ROL

25
24

（KB）

doc

71

257.7

14

243.2

Rolling XOR

xls

16

198.5

2

44.0

Multi Byte

6

成功数合計

88

pdf

16

221.8

17

265.7

合計

103

243.0

33

242.7
表 7 ウイルス対策ソフトとの検知率の比較

Table 7 Comparing detection rates with antivirus softwares.

表 4 実験環境

Table 4 An experimental environment.
CPU

検知数

検知率
（%）

Core2 Duo 2.4 GHz
DDR2 SDRAM 3.0 GB

Handy Scissors

88

85.4

OS

Windows XP SP3

T 社 AV29

28.2

Interpreter

Python 2.7.3

Memory

表 5

自動抽出の成功率

Table 5 Successful rates of automated extracting.
拡張子

成功数

成功率

平均実行

（%）

時間（s）

S 社 AV21

20.4

M 社 AV

25

24.3

T, S, M 社 AV

55

52.9

要は表 6 に示すとおりである．自動抽出に成功した検体のうち，通常の XOR でエンコードされていた検体は 24
体，NULL-Preserving XOR でエンコードされていた検体

doc

68

95.8

4.59

xls

14

87.5

3.84

は 9 体であった．XOR と NULL-Preserving XOR の自動

pdf

6

37.5

2.62

判定の成功率は 100%であり，誤判定は発生しなかった．

合計

88

85.4

4.17

よって，XOR と NULL-Preserving XOR の自動判定の精度は良好であるといえる．その他のエンコード方式とし動判定の成功率および平均実行時間を求める．あらかじめては，論理シフトを組み合わせた XOR 演算によってエン指定する検索鍵長については 1 byte とする．また，Handy

コードされた検体が 25 体確認された．Rolling XOR でエScissors の自動抽出の成功率と，採取した当時の最新のパンコードされていた検体は 24 体であり，このうちの 15 体

ターンファイルを適用した大手ベンダのウイルス対策ソ

は SWAP も併用されていた．多バイト長の鍵でエンコー

フトの検知率および OﬃceMalScanner [11] の検知率を比較ドされた検体に関しては 6 体確認され，その鍵の長さは 4する．

体が 256 byte，もう 2 体が 8 byte であった．また，88 体の

表 3 の右側のファイルは，あらかじめ不審な挙動をしない（マルウェアではない）ことが確認されている文書ファ

検体から自動抽出した実行ファイルのうち，実行ファイル
として正常に動作したものは 86 体であった．

イルである．これらのマルウェアではない文書ファイルを

次に，Handy Scissors の自動抽出の成功率と，大手ベン

Handy Scissors に入力し，誤抽出がないことを確認する．

ダのウイルス対策ソフトの検知率の比較結果を表 7 に示実験を実施する環境は表 4 に示すとおりである．

す．標的型攻撃に対しては，最新のパターンファイルを適用した大手ベンダのウイルス対策ソフトでも，20.4%から

6.2 実験結果

28.2%の低い確率でしかマルウェアを検出することができ検体の拡張子ごとの自動抽出の成功率を表 5 に示す．自なかった．しかも，ウイルス対策ソフトで検知できるマル動抽出の成功率は全体で 85.4%であり，特に doc 拡張子にウェアの種類には重複があったため，3 種類のウイルス対おいて 95.8%の高い成功率が得られた．しかしながら，pdf策ソフトを組み合わせた場合でも，検知率は 5 割程度で拡張子では 37.5%の低い成功率であった．平均実行時間はあった．これに対し，Handy Scissors はパターンファイル

約 4.2 s であり，大容量のファイルにおいて実行ファイルのを必要としないにもかかわらず，ウイルス対策ソフトの約抽出処理が発生する場合には 10 秒以上かかる場合もあっ

3 倍から 4 倍程度の高い確率でマルウェアを検出することた．なお，実行ファイルの抽出処理が発生しない場合の平ができた．

均実行時間，つまり，検索処理のみに要する時間の平均値
は 2.0 s であった．
自動抽出に成功した 88 体の検体のエンコード方式の概c 2013 Information Processing Society of Japan

Handy Scissors の自動抽出の成功率と，OﬃceMalScanner の検知率の比較結果を表 8 に示す．OﬃceMalScanner
は，一般的なシェルコードのパターンを検索する SCAN

1216

情報処理学会論文誌

表 8

Vol.54 No.3 1211–1219 (Mar. 2013)

OﬃceMalScanner との検知率の比較

Table 8 Comparing detection rates with OﬃceMalScanner.
検知数

入力数

用するヘッダ部分が加工されている場合には，実行ファイルを発見することができないため，自動的に抽出すること検知率はできない．これらの検体では，シェルコードに加工した（%）

ヘッダを復元する処理が記述されていた．

Handy Scissors

23

25

92.0

OﬃceMalScanner-0.56

20

25

80.0

Handy Scissors

59

62

95.2

RTFScan-0.2

44

62

71.0

他の原因としては，圧縮または暗号化されている場合が考えられる．自動抽出に失敗したほとんどの pdf 形式の検体には，Flate [12] 方式で圧縮されていたり，暗号化されていたりしたものが含まれていた．このように圧縮または暗号化されている場合にも，Handy Scissors では実行ファイオプションおよび，総当たりで実行ファイル等を検索する

ルを発見することができないため，自動的に抽出すること

BRUTE オプションを使用して実行した．また，RTF のはできない．

シグネチャが検知された場合には，OﬃceMalScanner に同封されている RTFScan を，SCAN オプションを使用して7.2 Handy Scissors の効果実行した．表中の Handy Scissors の検知数は，対応する

Handy Scissors は，exploit の動作条件が不明な場合でOﬃceMalScanner または RTFScan と同じ検体を対象としも，速やかに悪性文書ファイルから埋め込まれた実行ファ

た場合の自動抽出の成功数を示す．OﬃceMalScanner また

イルを自動的に抽出することを可能とする．exploit を動は RTFScan の検知数は，検体を入力した場合に Malcious

作させることができない場合，分析者は通常，バイナリエと判定された数を示す．Handy Scissors では，いずれの場

ディタ等を用いて手動で実行ファイルを抽出するため，労合でも 9 割以上の高い確率で実行ファイルを抽出すること力が必要となる．したがって Handy Scissors により，マルができたのに対し，OﬃceMalScanner の不審な挙動の検知

ウェア解析に要する時間を短縮することが可能となる．

率は 7 割〜8 割であった．このことから，単純に検索処理

Handy Scissors の副次的効果として，未知のマルウェア

のみを比較した場合でも，OﬃceMalScanner よりも高い確の有無を簡易にチェックする用途にも応用が可能であると率で悪性文書ファイルを検知できることが確認できた．

考えられる．実験に用いた検体は，少なくとも採取した時

マルウェアではない文書ファイル 33 体については，誤点では大手ベンダの最新のパターンファイルを適用したウ抽出は発生しなかった．ゆえに，Handy Scissors の誤抽出

イルス対策ソフトでも，ほとんど検知することができないの可能性はきわめて低いものと考えられる．

7. 考察
7.1 自動抽出に失敗した原因
Handy Scissors が自動抽出に失敗した検体を分析した結果，失敗の原因は以下の 3 点に集約された．

• 対応していないエンコード方式が利用されている．

未知のマルウェアであった．それにもかかわらず，Handy

Scissors はパターンファイルを用いず，大手ベンダのウイ
ルス対策ソフトの 3 倍から 4 倍程度の高い確率で悪性文書
ファイルを検出し，埋め込まれた実行ファイルを抽出することに成功した．実行ファイルが埋め込まれた文書ファイ
ルは，必ずしも有害であるわけではないが，ほぼ間違いな
く不審と考えて問題ないであろう．Handy Scissors の検索• 実行ファイルのヘッダが加工されている．

処理に要する時間の平均値はわずか 2.0 s であった．した• 圧縮または暗号化されている．

がって，Handy Scissors をウイルス対策ソフトと組み合わまず最初に失敗の原因としてあげられるのは，対応していせ，組織内のメールサーバで自動実行すれば，組織内に到ないエンコード方式が利用されている場合である．Handy

達するメールの簡易チェックを実施することが可能である．

Scissors が対応していないエンコード方式で埋め込まれて結局のところ，Handy Scissors が対応するエンコード方いた場合には，実行ファイルを発見することができない．

式は，ウイルス対策ソフトのパターンファイルに相当する

また，実行ファイルが多重にエンコードされて埋め込まれものと考えることができる．ウイルス対策ソフトをマルている場合にも，実行ファイルを発見することができない．

ウェアに直接対応するものと考えると，Handy Scissors は

よってこれらの場合には，実行ファイルを発見することがマルウェア本体（実行ファイル）を文書ファイルに埋め込むできないため，自動的に抽出することはできない．

ツール（マルウェア作成ツール）に対応するものであると次の原因としては，実行ファイルのヘッダが加工されていえよう．ゆえに，Handy Scissors も自動抽出の成功率をいる場合があげられる．自動抽出に失敗した検体の中に維持するためには，マルウェア作成ツールの更新に合わせ，は，実行ファイルのヘッダの先頭部分が加工されているも対応するエンコード方式の更新が必要となる．しかしながのが確認された．また，自動抽出には成功したものの，実ら，更新はウイルス対策ソフトのパターンファイルほど頻行ファイルとして正常に動作しなかった検体もヘッダ部分

繁である必要はない．なぜならば，マルウェア作成ツールが加工されていた．したがって，実行ファイルの検索に利の更新よりも，そのツールによって作成されるマルウェア

c 2013 Information Processing Society of Japan


1217

情報処理学会論文誌

表 9Vol.54 No.3 1211–1219 (Mar. 2013)

Handy Scissors と既存のツールとの違い

Cryptam Multi tool はハッシュ値か検体をアップロードすTable 9 Diﬀerences between Handy Scissors and other tools.
Handy

Oﬃce

Cryptam

用することができない．Handy Scissors を用いれば，スタScissors

Mal

Multi

ンドアロン環境で安全にマルウェアの解析を実施すること

Scannertoolが可能である．

XOR, ADDXOR, ROL

対応する

XOR, ADD

エンコード方式

SUB, ROL

ROR, NOT

ROR
2 byte ASCII

る必要があるため，スタンドアロン環境で完全な機能を利

自動検索

RTFScan

このように，Handy Scissors は，実行ファイルの抽出という観点では，既存の類似のツールである OﬃceMalScanner×や Cryptam Multi tool と比較して，多くの長所を持って

Rolling XOR

自動検索

×

×

いることが確認できる．ただし，Handy Scissors および

NULL-Preserving

自動判定

×

×

Cryptam Multi tool は，OﬃceMalScanner のような一般

Multi Byte

1 byte

単体では

のみ

不可

XOR
総当たり方式

的なシェルコードのパターンの検索機能は有していない．

繰返し文字列自動検索

××

exe の抽出

自動

手動

自動

検体または

不要

不要

必要

検索機能を有しているのに対し，Handy Scissors およびCryptam Multi tool は実行ファイルの抽出に特化している点に特徴がある．したがって，各ツールのこれらの特徴に留意しつつ，分析を実施する必要がある．

ハッシュ提供シェルコード検査

OﬃceMalScanner は実行ファイルの抽出以外にも複数の

×

○

×

8. おわりにの種類の方が，圧倒的に多いと考えられるからである．対

本稿では，標的型メールに添付された悪性文書ファイル

応するエンコード方式の更新は，実質的にはマルウェア作から実行ファイルを検索し，自動的に抽出するツールであ成ツールの無力化を意味するものといえる．

る Handy Scissors を試作した．さらに，実験によってその性能を測定し，その結果および効果について考察した．ま7.3 既存のツールとの比較

た，Handy Scissors とウイルス対策ソフトおよび既存の類

Handy Scissors と，既存の類似の機能を有するツールで似の機能を有するツールを比較し，その優位性を示した．

ある OﬃceMalScanner [11] および Cryptam Multi tool [13]

今後の課題としては，自動抽出の成功率の向上があげとの違いを，実行ファイルの抽出という観点から考察する．

られる．自動抽出の成功率を向上させるためには，自動各ツールの違いを表 9 に示す．

抽出に失敗した原因をよく分析し，検証する必要がある．

対応するエンコード方式については，Handy Scissors お

Handy Scissors は，本稿で示したすでに判明しているエン

よび Cryptam Multi tool は多くのエンコード方式に対応

コード方式にはすべて対応している．よって実行ファイル

している．OﬃceMalScanner は，BRUTE オプションによが埋め込まれているにもかかわらず，自動抽出に失敗した

り XOR および ADD の組合せを検索することができる．

検体や，実行ファイルのヘッダが加工されていた検体につ2 byte の ASCII 文字にエンコードする方式については，

いては，エンコード方式の解明が必要である．検体に含まHandy Scissors および OﬃceMalScanner に同封されていれたシェルコードを解読し，エンコード方式を特定するこる RTFScan が対応している．特に，Rolling XOR によるとができれば，それを用いて Handy Scissors を改良するこ

エンコード方式への対応や，NULL-Preserving XOR 方式とで，自動抽出の成功率を向上させることができる．エンの自動判定機能は Handy Scissors 独自の機能であり，有コード方式を解明するためには，検体のリバース・エンジ

益であると考えられる．総当たり方式による鍵の検索機能

ニアリングだけでなく，マルウェア作成ツールがどのように関しては，OﬃceMalScanner では 1 byte のみであるのににエンコードするのかを分析することも有効である．複数

対し，Handy Scissors では他バイト長の多様なエンコードのエンコード方式を組み合わせる方式についても考慮が必方式に対応している．Cryptam Multi tool については，単要であり，つねに実行ファイルのエンコード方式の傾向に

体では総当たり方式による鍵の検索機能は有していない．

は留意する必要があるものと考える．

Handy Scissors は総当たり方式による鍵の検索機能に加また，近年増加している Microsoft Oﬃce Open XMLえ，繰返し文字列の検出による鍵の推定機能も有している．

Formats [14] 形式のファイル等の圧縮されたファイルや，

実行ファイルの抽出については，OﬃceMalScanner では多暗号化されたファイルへの対応も今後の課題である．

くの場合に手動で実施する必要があるのに対し，Handy

今回検証した doc，xls および pdf 拡張子のファイルは，

Scissors および Cryptam Multi tool は自動で実施するこ2011 年に発生した標的型攻撃のメールに添付された悪性文とが可能である．Handy Scissors および OﬃceMalScanner

書ファイルのほとんどを占めている [15]．ゆえに自動抽出は，スタンドアロン環境で動作することが可能であるが，の成功率を向上させることができれば，大半の標的型攻撃c 2013 Information Processing Society of Japan


1218

情報処理学会論文誌

Vol.54 No.3 1211–1219 (Mar. 2013)のメールに対応することが可能になるものと考えられる．
参考文献
[1]

[2]

[3]

[4]

[5]

[6]

[7]

[8]

[9]

[10]

[11]

[12]
[13]

[14]

[15]

経済産業省：最近の動向を踏まえた情報セキュリティ対策の提示と徹底，経済産業省（オンライン）(2011)，入手
先 http://www.meti.go.jp/press/2011/05/
20110527004/20110527004.html（参照 2012-10-29）.
情報処理推進機構：コンピュータウイルス・不正アクセスの届出状況［12 月分および 2011 年年間］について，情報処理推進機構（オンライン）(2009)，入手先
http://www.ipa.go.jp/security/txt/2012/
01outline.html（参照 2012-10-29）.
情報処理推進機構：脆弱性を利用した新たなる脅威の監視・分析による調査，情報処理推進機構（オンライン）(2009)，入手先 http://www.ipa.go.jp/security/vuln/
report/newthreat200907.html（参照 2012-10-29）.
Capture BAT, available fromhttp://www.honeynet.org/project/CaptureBAT/ (accessed 2012-10-29).
Ye, Y., Chen, L., Wang, D., Li, T., Jiang, Q. and Zhao,
M.: SBMDS: An interpretable string based malware detection system, Journal in Computer Virology, Vol.5,
No.4, pp.283–293 (2009).
戸部和洋，森 達哉，千葉大紀，下田晃弘，後藤滋樹：実
行ファイルに含まれる文字列の学習に基づくマルウェア
検出方法，コンピュータセキュリティシンポジウム 2010
論文集，第二分冊，pp.777–782 (2010).
Lyda, R. and Hamrock, J.: Using Entropy Analysis toFind Encrypted and Packed Malware, Security and Privacy, Vol.5, No.2, pp.40–45, IEEE (2007).
Perdisci, R., Lanzi, A. and Lee, W.: Classiﬁcationof packed executables for accurate computer virus detection, Pattern Recognition Letters, Vol.29, No.14,
pp.1941–1946 (2008).
Stolfo, S.J., Wang, K. and Li, W.J.: Towards Stealthy
Malware Detection, Advances in Information Security,
Vol.27, pp.231–249 (2007).
Li, W.J., Stolfo, S.J., Stavrou, A., Androulaki, E. and
Keromytis, A.D.: A Study of Malcode-Bearing Documents, Detection of Intrusions and Malware and Vulnerability Assessment (DIMVA), Vol.4 of Lecture Notes
in Computer Science, pp.231–250 (2007).
Boldewin, F.: Analyzing MSOﬃce malware with OﬃceMalScanner (2009), available from http://www.
reconstructer.org/papers/Analyzing%20MSOﬃce%20malware%20with%20OﬃceMalScanner.zip
(accessed 2012-10-29).
Deutsch, P.: ZLIB Compressed Data Format Speciﬁcation version 3.3, Request for Comments: 1950 (1996).
Cryptam Multi tool, malware tracker blog, available
from http://blog.malwaretracker.com/2012/03/
cryptam-multi-tool-automatic-extraction.html
(accessed 2012-10-29).
Microsoft Oﬃce Open XML Formats, available fromhttp://msdn.microsoft.com/en-us/library/oﬃce/
aa338205%28v=oﬃce.12%29.aspx
(accessed 2012-10-29).
日本アイ・ビー・エム株式会社：2011 年下半期 Tokyo SOC
情報分析レポート，IBM - Japan（オンライン）(2012)，
入手先 http://www-935.ibm.com/services/jp/its/pdf/
tokyo soc report2011 h2.pdf（参照 2012-10-29）.

c 2013 Information Processing Society of Japan


三村 守 （正会員）
2001 年防衛大学校情報工学科卒業．
同年海上自衛隊入隊．2008 年防衛大学校理工学研究科前期課程修了．同年
海上自衛隊保全監査隊勤務．2011 年
情報セキュリティ大学院大学博士後期課程修了．博士（情報学）．同年内閣
官房情報セキュリティセンター出向．情報セキュリティ大
学院大学客員研究員．マルウェア解析，標的型攻撃の相関分析に関する研究に従事．

田中 英彦 （名誉会員，フェロー）
1970 年東京大学大学院工学系研究科電気工学専門課程修了．工学博士．東京
大学にて計算機アーキテクチャ，並列処理，人工知能，自然言語処理，分散処理，メディア処理等の教育・研究に従事．東京大学大学院情報理工学系研究科長を経て，2004 年情報セキュリティ大学院大学情報セキュリティ研究科長・教授に就任．2012 年より同学長・研究科長・教授．情報処理学会名誉員，人工知能学会論文賞，ACM SIGGRAPH’99 Impact Paper Award，人工知能学会功績賞，東京都科学技術功労者表彰，経済産業大臣表彰等受賞．情報・システム研究機構教育研究評議会評議員，日本学術会議会員，日本ネットワークセキュリティ協会（JNSA）会長，IEEE Life Fellow，東京大学名誉教授．

1219