トロイの木馬 (ソフトウェア)

**トロイの木馬**（トロイのもくば、）は、マルウェア（コンピュータの安全上の脅威となるソフトウェア）の一分類である。ギリシア神話におけるトロイア戦争のストーリーにあるトロイの木馬になぞらえて名前がつけられたもので、名前の由来の通り、有用な（少なくとも無害な）プログラムあるいはデータファイルのように偽装されていながら、その内にマルウェアとして機能する部分を隠し持っていて、何らかのトリガーにより、それが活動するように仕組まれているファイル等を指す。感染しないものは分類上はコンピュータウイルスではない。毎年いくつかの新種と、膨大な数の亜種が作り出されている。

## 由来
この用語は、古代ギリシアの神話に登場する、トロイアの陥落につながった欺瞞作戦に用いられたトロイの木馬に由来している。

コンピューティングにおけるこの概念およびこの用語の初出・発祥地は不明だが、1971年の最初のUnixマニュアルでは、読者がこれらを知っていることを前提としていた。

もう一つの当用語に対する初期の言及は、1974年のアメリカ空軍によるMulticsコンピュータシステムの脆弱性分析に関する報告書にみられるものである。

「トロイの木馬」という用語は、ケン・トンプソンが1983年のチューリング賞受賞記念講演「信頼を信頼することについての考察」（副題：「あるプログラムにトロイの木馬が含まれていないというたぐいの主張を、どの程度信頼すべきか？ おそらく、ソフトウェアを作成した人々を信頼することの方が重要だろう」）の中で広めた。彼は、Multicsのセキュリティに関する報告書からトロイの木馬の存在を知ったと述べている
。

### 大文字表記
コンピュータ用語の”Trojan Horse"（トロイの木馬）は、古代都市トロイアにおける伝説のトロイの木馬に由来している。そのため、英語において当用語の”Trojan”は特に古い資料では大文字で表記されることがよくある。しかし、多くの現代のスタイルガイドや辞書では、この用語を指す技術的な用法においては、小文字の”trojan”を使用することを推奨している。

## 概要
トロイの木馬は、様々な経路を通じて被害者の手元に届いたプログラム、実行形式のファイル(Windowsであれば .EXE 又は .COM という拡張子のファイル)を実行することから悪意ある動作を開始する場合がほとんどである。さらに、実行形式以外のファイルであるかのように偽装したり、偽装ではなく本当にオフィススイート等のファイルであるが、その中にスクリプト等として悪意あるコードが含まれることもある。

悪意ある動作としてひとたび実行されると、被害者の同意を一切得ずに、秘密裏にハードディスク内、もしくはメモリ内に自身を複製、インストールする。また、Windowsに感染するほとんどのトロイの木馬はレジストリを被害者の同意を得ずに、秘密裏に改変、削除、追加する。トロイの木馬は、被害者のネット接続設定やファイアウォールの設定を変更し、攻撃者が指定する任意のポートを開放し、外部からの接続を許可する。これにより攻撃者は被害者のパソコンを乗っ取って様々な被害をもたらす。例としてはキーロギング、プログラムの追加/削除、ファイルの追加/削除、アンチウイルスソフトの無効化、被害者のデスクトップ画面の撮影、パスワードの奪取、ウェブからの*[[悪意]]*あるプログラムのダウンロードなどがある。

2005年、日本国内でも、不正ソフトウェアを仕込んだCD-ROMを、送り主を銀行と偽りインターネットバンキングサービスのユーザに送りつけ、不正送金を実行させた事件が発生した。なお、一部マスメディアではスパイウェアだとして報道されているが、不正ソフトウェアの分類的にはトロイの木馬が正しい。また2005年11月、ソニー・アメリカの関連会社Sony BMGが、コピーコントロールCDにrootkit型マルウェアを仕込んだとして問題（ソニーBMG製CD XCP問題）になった。

## トロイの木馬の種類
よく見られる類型を示す。

### バックドア型

バックドアは被害者の認識を経ずにインストールされ、実行される遠隔操作のためのプログラムである。バックドアは最も危険なトロイの一種とされている。クラッカーやハッカーの間ではしばしば"RAT"(Remote Administration Toolの略)と呼ばれている。OSの管理者権限を持っているかのように振る舞うため、他のトロイに比べ、比較的検知率が低い。公正な遠隔操作プログラムと異なるのは、被害者に無断かつ秘密裏にインストール、実行されるという点がほとんどであり、プログラムの機能自体は、公正なそれと大した差はない。代表的なバックドアは以下のような機能を持つ。

* 外部からのあらゆるシェルコマンドの実行
* 被害者のスクリーンの撮影
* プログラム、データファイルの実行、停止、削除
* 被害者のハードディスクへのファイル、プログラムのアップロード/ダウンロード

### パスワード窃盗型
パスワード窃盗型トロイ、(以下PSW)は、被害者のマシン上のあらゆる種類のパスワード、IPアドレス、被害者のマシンの詳細な情報などを収集し、電子メール、ICQ、IRCを用い、攻撃者へ送信するトロイの木馬である。PSWは、主に以下のような情報を盗むことが多い。

* オンラインバンキングやクレジットカードのアカウント情報
* OSのBIOSパスワード、OSの管理者権限のパスワード(Linuxを搭載しているマシンであればルート権限)、被害者のMACアドレス、ローカルIPアドレス、グローバルIPアドレス

上記のような極めて重大な情報を盗むため、被害に遭うと、中にはマシン全体の支配権を完全に奪取されてしまう場合もある。この種類のトロイは比較的ファイルサイズが小さいものが多い。

### クリッカー型
トロイのクリッカー（以下クリッカー）は、起動すると、レジストリを改変、追加もしくは、ウェブブラウザのセキュリティーホールを悪用するエクスプロイトを使用し、ブラウザの、本来管理者権限でしか変えることのできない設定を改変する。そして、被害者のマシンが起動、もしくは、インターネットに接続した瞬間に、常時攻撃者が指定した特定のウェブサイトへ接続させるトロイである。
目的としては、

* 特定のウェブサイトのアクセス数を上昇させ、広告収入を上げる。
* 特定のサイトに接続要求を集中させることにより、DoS、DDoS攻撃を実行させる。
* 悪意あるソフトウェアをダウンロードさせるために接続させる。

のようなものが挙げられる。この種類のトロイのファイルサイズは、概してかなり小さい(2-10KB)場合がほとんどである。

### ダウンローダ型
ダウンローダ型のトロイは、起動する攻撃者が意図した特定のウェブサイトへ接続し、悪意あるプログラムをダウンロードしようと試みる。ダウンロードに成功すると、次にそれらの悪意あるプログラムを被害者の同意を得ずに順次実行する。実行の手続きと同時に、悪意あるプログラムがOSの起動時に自動的に起動するよう、レジストリ情報の改竄、ミューテックスオブジェクトの作成などを行う。この種も、概してそのファイルサイズは小さい場合が多い。

### ドロッパー型
ドロッパー型トロイは、元から内包された悪意あるプログラムを秘密裏にインストール、実行するために使用される。
従って、ダウンローダのように、ネット上から実行させるプログラムをダウンロードしない。そのため、ほとんどのドロッパー型トロイは、実行役のプログラム、そしていくつかの実行させるための悪意あるプログラムという複数のファイルで構成されている。

### プロキシ型
トロイのプロキシ型は、実行されると被害者のルータやDNSの設定を無許可で改変し、被害者のマシン上にプロキシサーバを構築する。攻撃者のインターネットへのアクセスは全て、このトロイを実行したマシンを経由して行われるようになるため、攻撃者は、匿名性を上げることが可能となる。一方で、被害者は、自分のIPアドレスをハイテク犯罪に乱用されるため、知らず知らずのうちにハイテク犯罪の加害者となってしまう場合も少なくない。このように、攻撃者がプロキシサーバとして悪用するマシンのことを、ボットネットとも言う。

### 広告型
広告型は、普通の広告だと思わせてウイルスが入っている広告を表示させ、セキュリティホールを使って侵入し、機械に悪影響を与える。

## 感染経路
トロイの木馬は、その性質上、まずは被害者にプログラムを実行してもらう必要がある。当然、一見して危険を察知されるような怪しげなファイル名や、アイコンは（当然）回避される。そして例えば、動画の再生コーデックのインストーラ、アンチウイルスソフトウェア、メディアプレーヤーなどの名に偽装し、被害者にダウンロード及びインストールを促す。

いくつかのWindows向けのトロイの木馬は、Windowsのデフォルトである、拡張子が表示されない設定を悪用し、意図的にファイル名の末尾に.jpg、.mp3、.avi、.zip等の画像や、音声、動画、アーカイブ形式の拡張子名を付加し、最後に.exeとしているものもある。また、通常はスクリーンセーバー用にしか用いられない拡張子.scrや、バッチ処理ファイルの拡張子.bat、さらにVBScriptの拡張子.vbsなどになっている場合もある。

## 対策
既知のものについてはダイジェスト等のデータベースにもとづいて発見する、未知のものについては危険なパターンの静的な発見や動的な検出による、という、他のマルウェアと一般に同様の手法で対策される。偽陰性による見逃がし、偽陽性による誤検出、などの可能性についても同様である。

### 既知の場合
既知という意味は、アンチウイルス会社やセキュリティーの専門家により既にそのトロイに関する詳細な情報、例えばその行動、ファイルサイズ、書かれた言語等が判明している場合である。このような場合、主要な最新状態に更新されたアンチウイルスソフトウェアによって容易に検出、削除可能な場合が多い。ただし、完全には削除出来ない場合がある。

### 未知の場合
トロイの木馬に限ったことではないが、悪意あるプログラムは毎日、莫大な数の新種や亜種が生み出されている。そのため専門家などに発見されるまでにはどうしても一定の分析時間が掛かる。その期間中の、未知のトロイの木馬に被害者が感染してしまった場合、その検出には詳細なコンピュータやネットワーク、使用しているOSの特徴、及びその脆弱性等に関する知識が必要とされる。また、仮に検出できたとしても、その削除には更に深い知識が要求される。そのため、一般的ユーザは、ほとんどの場合、アンチウイルスソフトの更新によってその存在を知ることになる。

ただし、一部ではあるが、未知のものであってもアンチウイルスソフトがヒューリスティックスキャン機能を持っていると、これによって「未知のトロイの木馬」などという形で検出する場合がある。

### 誤検出事例
; Generic.dx
: コピープロテクト関連の認証ファイルを検知するためのエンジンプログラム。Picasa 2などに同梱。
: マカフィーの「Active Protection」によってスキャンされる際、時々「トロイの木馬」として誤検出される。通常、ウイルスとして検知しない。同名のウイルスがあることが原因であり、削除してもソフトの起動には問題ない。

## 脚注

### 出典

## 関連項目
* コンピュータウイルス
* ワーム
* アンチウイルスソフトウェア
* スパイウェア
* ルートキット
* アドウェア
* エクスプロイト
* ボットネット
* キーロガー
* トロイアの木馬
* Windowsのパスワード回復ソフトウェア
* 最小権限の原則