Pocket

※任意団体SPREAD当時に公開されたコラムです。

日本マイクロソフト(株) 高橋 正和氏

マルウエアの歴史~マルウエアは、どのように生まれて、変化したのか~

1.マルウエアの歴史を振り返ろう

マルウエア対策は、情報セキュリティ対策の重要な要素ですが、感染活動そのものが脅威(危険性)であり、大規模な感染を抑止する事が重要だと考えられてきましたが、大規模なウイルス感染は、2004年4月のSasserワームが最後で、それ以降の大規模感染は確認されていません。

一方で、日本では、あまり話題になっていませんが、ZeusやSpyEyeと呼ばれるウイルスは、海外の銀行口座から数百億円を盗み出したといわれています。感染活動が目的ではなく、感染によって経済的な利益を得ることが目的と考えられます。また、昨年(2011年)に話題になった、防衛産業や政府機関への感染では、極めて限定的な攻撃なのですが、機密性の高い情報、もしかしたら国家機密が海外に盗まれた可能性があり、深刻な事件として報道されました。

これらの事例を見ていくと、現在のマルウエアの脅威は感染規模ではなく、経済的な被害や、機密性の高い情報を盗み出すことに変わってきています。

本連載ではマルウエアの歴史を振り返り、マルウエアの設計と実装の変化と、これに伴う脅威の変遷をて紹介していきます。

 2. ウィルスやワームという名称の謂われ

今では、当たり前のように使われている(コンピューター)ウイルスという言葉ですが、1984年にFeed Cohenが発表した論文が最初といわれています。
ウイルスは、他のプログラムに寄生して広がっていくことを基本的な概念としています。

現在、一般にウイルスと呼ばれているプログラムは、電子メールを媒体として利用するものが多いのですが、電子メールや文章などのドキュメントファイルに寄生するもの、そして、昔ながらのメディア(USBメモリ、CD、DVDなど)に寄生するものもウイルスと呼称します。

一方、ワームという名前の由来は、1975年に公表されたJohn BrunnerのSF小説 “The Shockwave Rider”に登場するTape-wormに由来します。ワームは、独立したプログラムで他のプログラムに寄生しない点が、ウイルスとは違っています。

他にも、ボット、トロイの木馬、バックドア、キーロガー、ダウンローダーなど、分類の仕方によっては、様々な名称があることに加えて、複数の機能を持つものも出てきたことから、これらの悪意のあるソフトウェアを Malicious Softwareと呼ぶようになり、これを短縮してマルウエアと呼ぶようになりました。

もう一つのカテゴリに、利用者に機能を偽って利用させるようなソフトウェアがあり、一部のアドウェアやスパイウェアなどが該当します。マイクロソフトでは、これらを「Potentially Unwanted Software:スパイウェアおよびその他望ましくない可能性のあるソフトウェア」と呼んでいます。

 3. ワームの原型

1982年に公表された、John Scoch等の文献”The “Worm” Programs - Early Experience with a Distributed Computation”に、ネットワークで有用な機能を果たす自動化された分散型プログラムという概念で、ワームが述べら、試作したワームプログラムについての分析が行われています。

試作したプログラムのひとつであるBlobは、夜間にリソースに余裕のあるコンピュータを探し出して利用し、朝になると処理を終了するというもので、夜間に活動することからVampire(バンパイア)とも呼ばれていたそうです。

Blobを使った実験では、誤動作(バグ)により、すべてのコンピュータがクラッシュするという事故が発生した際に、システムをリブートしても、すぐにBlobがシステムリソースを奪取してしまい、なかなか復旧作業を行う事が出来なかったことから、ワーム作成上の重要な問題は、ワームの制御である(”Key problem: Controlling a Worm”)と述べています。

文献[6]では、あわせて、インターネットの前身であるArpanetにおけるワームプログラムの歴史が取り上げられており、自らコンピュータ間を移動するプログラムとして、Arpanetのルーティングプログラムである IMPや、1971年にB.Tomasによって開発されたCreeper(クリーパー)が紹介されています。Creeperは、自己複製機能がありませんがしたが、R.Tomlisonが自己複製機能を追加し、ワームとして動作させました。今でも似たような話がありますが、R.Tomlisonは、Creeperを探し出して削除するReaperという、現在のアンチウイルスソフトに相当するツールも作成しています。

4. 実在のウイルス(Virus in the wild)

最初の実在のウイルス(Virus in the wild)は、1981年に発見された、Apple IIに感染するElk Clonerといわれていいます。Elk Clonerが入っているフロッピーディスクをコンピュータに挿入するとメモリ中に常駐し、挿入されたフロッピーディスクに感染しました。そして、フロッピーが50回挿入されると、表示画面を消去し、メッセージ(詩)を表示しました。

このプログラムは、Rich Skrentaが作成したといわれています。Rich Skrentaは、いたずらを目的としたプログラムを作成して友人に配っていましたが、自分のプログラムを使ってくれる友人がいなくなったことから、フロッピーディスクに感染する自己増殖プログラム(クローン型プログラム)を書くことを思いつき、Elk Clonnerを書いたと言われています。ワームの源流が、ネットワークコンピューターの分散処理の研究であるのに対して、ウイルスの源流がいたずらにある点は興味深い点だと思います。

IBM-PCに感染するウイルスは、1986年に発見された、パキスタン・ブレインウイルスが、最初といわれています。このウイルスはフロッピーディスクのブートセクタに感染し、「ウイルスに注意(Beware of the VIRUS….”)」というメッセージと、連絡先としてBRAIN COMPUTER SERVICES”社の社名、住所、連絡先等を表示します。PC上の最初のウイルスであると同時に、現在アドウェアの源流とも言えるプログラムです。

5. 電子メールを感染媒体としたウイルス

初期のウイルスは、FDなどのメディアを経由して感染を広げましたが、1987年のCHRISTMA exeワームは、IBMの社内ネットワークおよび、BITNET上の電子メールを媒体として感染を広げました.このワームは、クリスマスツリーを画面上に表示するプログラムを電子メールに添付して送信するもので、プログラムが実行されると、アドレス帳に登録されているすべての人に、このメールを転送します。

インターネットの電子メールを使ったウイルスとしては、1999年のMelissaが有名で、PC上の最初のメール型ウイルスと考えられる事が多いのですが、1997年に一部のアンチウイルスベンダーからShareFunという電子メールを媒体としたウイルスが報告されています。

いずれにしても、Melissaは、ウイルスがインターネット時代に移行したことを示し、ウイルス対策をはじめとした、ネットワークセキュリティに大きな影響を与えたウイルスです。

6.インターネットワーム(モリスワーム)

インターネット上で活動するワームとしては、1988年のインターネットワーム(モリスワーム)が最初のものと考えられています。このワームは単に感染を繰り返すものでしたが、当時インターネットに接続されていたコンピュータの10%(6000台)に直接的な被害を与えた事に加え、被害を恐れてインターネットからコンピュータを切り離したサイトも多かった事から、極めて大規模な障害を引き起こし、インターネットを大きな混乱に陥れました。

インターネットワームでは、早い段階でワームの解析が行われ、対策も確立していたのですが、インターネットの実質的な停止により、この情報を適切に伝える手段がありませんでした。この経験を契機に、大規模なインシデントに対応するための一元化された窓口(Single Point Of Contact)としてカーネギーメロン大学にCERTが設立されました。なお、日本では、1996年にJPCERT/CCが設立されました。

筆者は、UNIX MAGAZINEで紹介されたインターネットワームの事件を、遠い世界の物語として読んでいました。当時の日本では、インターネットに接続できる組織は極めて限られていて、普通の会社がインターネットに接続することは、ほとんどありませんでした。

7. DDoSツール

モリスワームは、結果としてインターネットを停止させたのですが、1999年にDoS(DDoS)を目的としたプログラム(以下 DDoSツール)が話題となりました。

DoSは、Denial of Service:サービス不能攻撃と呼ばれるもので、大量の通信を送ることで、サーバーやネットワークの正常な動作を邪魔する攻撃です。DDoSは、Distributed DoS:分散DoSと呼ばれるもので、多数のコンピューターから同時にDoSを行うことで、攻撃を効果的で対策が難しいものにします。

Dave Dittrichの文献によれば、最初のDDoSツールは1998年の、fapiおよびfuck_themというツールで、1999年8月17日にミネソタ大学に対してDDoSツールを使った最初の攻撃が行われました。DDoSツールは、1999年11月にCERTが開催したDSIT (the Distributed System Intruder Tools Workshop)によって、一般に知られるようになり、その直後の1999年12月末にはFBIから、DDoSツールを検出するプログラムがリリースされています。

DSITが開催された背景には、Soralis RPCサービスの脆弱性を利用した侵入行為が多数見つかっていたこと、この侵入行為が行われたサイトで、多数のtrinooおよびTFN(the Tribe Flood Network)と呼ばれるDDoSツールが見つかったことにあります。trinooは、スクリプト※を使った侵入が行われており、短時間に大量の侵入が可能であることから、大きな危機感が持たれていました。

補注:
○モリスワームについては前回のコラム(メルマガ第33号)を参照。
○CERT(Computer Emergency Response Team)
 コンピュータ緊急対応チーム(@IT セキュリティ用語事典より)
 →http://www.atmarkit.co.jp/aig/02security/certcc.html
○Dave Dittrich 経歴等については本人のホームページ参照
 →http://staff.washington.edu/dittrich/

8. バックドア

ワームやウイルスと並んで,バックドアという呼称が使われることがあります。一口にバックドアといっても様々な機能があり、代表的なものとしては、次のような機能があります。

・盗聴用のバックドア(スニファ,キーロガー等)
・リモートコントロールのためのバックドア
・バージョンアップのためのバックドア
・リダイレクタ(Proxy)

文献では、1998年に8月にBlack Hatカンファレンスで発表されたBack Orificeを最初のバックドアとしていますが、同年3月にはNetbusと呼ばれるバックドアがリリースされ、広く利用されていました。また、1996年にリリースされたNetcat(nc)というツールもバックドアの一種と考えられます。Netcatは、”TCP/IP swiss army knife”をコンセプトとしており、様々な機能が実装されています。スイスアーミーナイフという考え方は、ボットにも受け継がれており、Phatbotと呼ばれるボットのドキュメントでは、スイスアーミーナイフの画像が多用されています(図 1)。

図 1 PhatBot FAQのスイスアーミーナイフ

phatbot-thumb-200x154-224

9. スパム中継型ウイルス

インターネットを使った商用活動のひとつとして、電子メールを使った広告活動を挙げることが出来ます。この活動において、特に、不特定多数の電子メールアカウントに、一方的にメールを送りつける行為は、スパムメールと呼ばれています。スパムメールは、単に不要なメールを受け取ってしまうばかりでなく、様々な社会的な問題につながることから、これを防止するための対策が行われています。

初期のスパム送信は、ISPなどのメールアカウントが利用されていましたが、サーバ管理者によりスパム送信者のアカウントを停止するなどの対策が行われました。スパム業者は、対抗手段として関係のないメールサーバを悪用(第三者メール中継)して、メールを送信するようになります。しかし、第三者メール中継を禁止する設定が普及したことや、ORDB(Open Relay Database )と呼ばれるブラックリストを使った対策によって、スパムメール送信の実効性が著しく落ちていきます。

これを解決し、効率的にスパムを送信する方法として登場したのが、2003年のSobigです。Sobigは、ウイルスにメール中継機能を持っており、これを利用してスパムを送信します。多数のIPアドレスから独立してメールが送信されているように見えることから、ORDBなどのメール送信元のIPアドレスに基づいたスパムメール対策を回避しました。

(終)

------------------------------------------------------------------------------------------------------------------
i ) John Shoch, Jon Hupp , “The "Worm" Programs - Early Experience with a Distributed Computation”,
Communications of the ACM, March 1982 Volume 25 Number 3, pp.172-180, ISSN 0001-0782, March 1982
http://vx.netlux.org/lib/ajm01.html
ii) Decades after creation, viruses defy cure, Robert Lemos,
http://news.com.com/2009-7349_3-5111410.html
iii) マカフィー社:WM/SHAREFUN.A
http://www.mcafee.com/japan/security/virS1999.asp?v=WM/SHAREFUN.A
iv) CERT Coordination Center: Meet CERT
http://www.cert.org/meet_cert/meetcertcc.html
v) Dave Dittrich  University of Washington
DDoS attack tool timeline http://staff.washington.edu/dittrich/talks/sec2000/timeline.html
vi) Results of the Distributed-Systems Intruder Tools Workshop
http://www.cert.org/reports/dsit_workshop-final.html
vii) Find Distributed Denial of Service (find_ddos)
by National Infrastructure Proctection Center
http://www.securityfocus.com/tools/822
viii) CERT Incident Note 99-04
Similar Attacks Using Various RPC Services
http://www.cert.org/incident_notes/IN-99-04.html
ix) CERT Incident Note IN-99-05
Systems Compromised Through a Vulnerability in am-utils
http://www.cert.org/incident_notes/IN-99-05.html
x) CERT Incident Note IN-99-07 
Distributed Denial of Service Tools 
http://www.cert.org/incident_notes/IN-99-07.html
xi) Open Relay Database (ORDB)
http://www.ordb.org/