セキュリティ概論
セキュリティへの脅威
最終更新日: 2002年4月8日
マイクロソフト ソリューション フレームワーク
メモ : このホワイト ペーパーはシリーズになっています。企業セキュリティのベスト プラクティスには、このシリーズのすべての記事がリストされています。セキュリティ要素構成アーキテクチャも参照してください。
このドキュメントについて
このホワイト ペーパーは、システム管理者やセキュリティ担当者、その他のコンピュータに関わる人々が、コンピュータ セキュリティの重要性とその責務を理解する上で役立つよう作成されました。このドキュメントでは、一般的なセキュリティへの脅威、セキュリティ ポリシーを策定し実施する際の考え方、そしてセキュリティ対策として実施すべき事柄について説明していきます。
トピック
セキュリティの概観
セキュリティへの脅威
付録 A: セキュリティへの脅威
付録 B: 悪意のある攻撃者の抱く動機、目的、対象
付録 C: 攻撃の手段、ツール、テクニック
付録 D: セキュリティの脆弱性
参考資料
セキュリティの概観
背景
コンピュータ システムと重要な情報を保有している組織であれば、それを守りたいと考えるでしょう。
このセクションでは、まず背景知識について説明していきます。そして、起こりうる脅威に備え、方針を定めてシステムやセキュリティ ポリシーに潜む脆弱性を減らすことの重要性も論じていきます。
コンピュータ システムとその情報にとって、最大の脅威は人間です。悪意によるものであれ無知によるものであれ、人間が行う操作が最大の脅威となります。操作が悪意によるものであれば、攻撃の背後にはなんらかの動機や目的が隠されているはずです。たとえば、正常な経営活動を妨害して、データを使用できなくさせたり生産を中断させたりすることが目的かもしれません。このような攻撃は、ライバル関係にある企業間で起こることもありますが、ただの悪ふざけのこともあります。次に実例を示します。
- 米国太平洋時間 2000 年 4 月 13 日午後 3 時 55 分: Motion Pictures Association of America (MPAA) の Web サイトが一時的に停止し、MPAA ではクラッカーの仕業であろうと疑っている。匿名希望の MPAA 関係者からの情報によると、MPAA では現在 "公開 Web サイト上でサービス拒否攻撃と推測される問題が発生している" とのことだ。初めてこの攻撃について噂が流れたのは、コンピュータ ハッキング関連の情報を掲載する Web サイト https://www.spacerogue.net (英語) でだった。
攻撃者は、目的を達成するためにセキュリティ ポリシーやシステムの脆弱性をせめる既知のテクニックを用います。コンピュータ セキュリティに関連する一般的な脅威、攻撃者の抱く動機と目的、用いるテクニックと手段、システムやセキュリティ ポリシーの脆弱性などについては、次のセクションで説明します。
セキュリティへの脅威、脆弱性、攻撃の目的と手段は、その時々の状況、組織、システムに応じて多種多様ですから、すべてを挙げていくことはできません。その代わり次のセクションでは、多種多様な脅威、システムの脆弱性、攻撃の手段を分類する方法を簡単に説明し、ガイドラインを提供します。
セキュリティの定義
コンピュータ セキュリティ とは情報を保護することです。許可されていない操作を防止し検出することで情報を守ります。近年では、プライバシ、機密性、保全性がセキュリティの概念に含まれるようになりました。以下に例を示します。
他国が米国の核機密情報に対して不正アクセスが行われた可能性があり、CIA 主導の対策本部では、ニュー メキシコ、Los Alamos National Laboratory の同国の科学者を疑っていた。この科学者による核機密情報の漏洩が米国の安全にどれだけの被害が及ぼしたかを算定した。1 https://cnn.com/US/9903/09/china.spy.02/ (英語)
デジタル署名法案が上下両院を通過し、法案にはデジタル署名でサインがされた。デジタル署名は独自の方法で個人を識別できるため、州議会やほかの法的権限を持つ機関において無効とされることはない。2
Web サイトを訪れることで、自分で思っている以上に個人情報が収集されたり、外部に配布されたりしています。すなわち、あなたのプライバシは侵され、外部に筒抜け状態なのです。3
セキュリティの定義には、防御策を講じる前段階として、保持している情報とその価値を知ることの必要性が示唆されています。また、確実な認証を必要としているのはだれか、どれだけの情報が外部に流出している可能性があるのかも知っておかなければなりません。コンピュータ セキュリティにおける防御策を大まかに分類すると、以下のようになります。
防止 - 情報の破損、改変、盗難を防止するために対策をとること。予防的措置としては、サーバーの設置してある部屋に鍵をかける、高度なセキュリティ ポリシーを策定するなどがあります。
検出 - いつ情報の破損、改変、盗難が行われたのか、どのように破損、改変、盗難されたのか、だれがそれを行ったのかを検出できるよう対策をとること。侵入、破損、改変、ウイルスなどを発見できるさまざまなツールがあります。
反応 - 情報の損失、破損が起こってしまった場合に、情報を修復できるよう対策をとること。
上記の防御策は非常に効果的ですが、情報がどのような被害に遭遇するのかを知っていなければ、対策の講じようがないでしょう。以下にそれらを挙げていきます。
機密性 - 情報が許可なく公開されないようにすること。機密性は、セキュリティ対策の不十分、従業員による情報のリークによって損なわれます。重要な情報へ匿名のアクセスを許可している場合などは、セキュリティ対策が不十分と言えます。
保全性 - 情報の内容が誤った内容に改変されないようにすること。データのエラー、欠落、改変が起きる最大の原因は、許可されたユーザーでしょう。間違ったデータをシステムに投入してしまうのは、データを損失するのと同じぐらい深刻な被害を生むかもしれません。また、悪意のある攻撃者が正常な経営活動を営むのに必要不可欠な情報を改ざん、削除、破壊する可能性もあります。
可用性 - 情報やリソースを許可なく所有できないようにすること。従業員が情報を所有することは、これに当てはまりません。許可されたユーザーは、自由に情報を使えなければなりません。
認証 - システムにログオンするとき、本人かどうか確認するプロセス。通例、ユーザー名とパスワードを設定します。スマート カードや網膜スキャンを導入すれば、より確実な認証が行えます。ユーザーにリソースへのアクセス権を与えるのは、認証プロセスに含まれません。それは、次の権限の付与で行います。
権限の付与 - 許可されたユーザーにのみ重要な情報へのアクセスを許可するプロセス。権限の付与のプロセスでは、ユーザーのリソースへのアクセスの可否を、セキュリティ管理者が決定する必要があります。
セキュリティの歴史
コンピュータとネットワークのもともとの構築目的は、情報の交換を容易にすることでした。初期の情報技術 (IT) 分野では、セントラル コンピュータやメインフレームなどの大型コンピュータが基盤となっていましたが、一方でパーソナル コンピュータも開発が進んできました。不可能だと思われていたことが実現し、今日ではビジネスの世界でも、ユーザー名とパスワードだけでアクセスできるパーソナル コンピュータが威力を発揮しています。
しかし、情報革命によって IT の新時代が開かれたのと同時に、新しい犯罪の可能性も開かれてしまいました。攻撃者は、パスワードを盗んで情報へアクセスしたり、ネットワークやコンピュータへ破滅的な影響を与えたりする機会を得ました。以下に例を挙げます。
- 活動家グループの RTMark は、eToys 社 が欧州のアートグループ etoy に対して起こした訴訟の判決で勝訴したのは、金銭を追い求める企業の貪欲さが芸術と表現の自由に勝ったことを意味すると主張して、オンライン玩具販売会社 eToys の Web サイトを攻撃したことを正当化した。eToy に対する復讐戦争の開始を宣言し、RTMark は一般のユーザーに協力を呼びかけ、FloodNet というサービス妨害ツールを使って eToys の Web サイトをネットワーク ping フラッド攻撃で麻痺させようとした。また、Electronic Disturbance Theater - 社会に有用な場合のみサイトの攻撃を行うと主張しているハッカー集団 - が RTMark と手を結び、eToys を機能停止に追い込むか、もしくは Web ページを改変しようという計画に手を貸した。"我々は、抗議の一例を示しているのだ" と、サンフランシスコの会計士で RTMark のスポークスマンを務める Ray Thomas 氏は述べ、グループがどれだけ eToys の "壊滅" を望んでいるかを語った。4 https://www.nwfusion.com/news/1999/1220etoys.html (英語)
21 世紀の情報セキュリティは、どのようになるでしょうか。ここ数年で、コンピュータの使用のされ方は変化しました。そしてネットワークは、もともとデータや情報の共有と分配が容易に行えるよう設計されています。情報への自由なアクセスが求められる一方で、ではその情報はどれだけ価値があるのかということを考慮しバランスをとっていかなければならないはずです。したがって、情報資源へのアクセスを制御することが課題になってくるでしょう。
情報の中には、ほかのどの情報よりも格別重要なものがあり、このことがセキュリティの必要性を高めています。今日では IT セキュリティが進歩し、ユーザー名とパスワード以外にも、デジタル識別、バイオ認証方式、"modular security strategies" などのテクノロジがあります。
最も導入が容易なのは、スマート カードでしょう。これにはセキュリティ情報が保存されており、改ざんができないようになっています。スマート カードは、個人の識別または金融取引を用途としてメモリーとマイクロプロセッサを埋め込んだクレジット カードに構造が似ています。ユーザーがそれをリーダーに挿入すると、セントラル コンピュータとの間にデータのやりとりが行われます。磁気カードよりもセキュリティが強固で、間違ったパスワードが何度も入力されると自動的に壊れるようなプログラムも可能です。また、電子マネーを読み込むことで、残金がゼロになるまでの間なら、トラベラーズ チェックのように使用できるかもしれません。
セキュリティの必要性
ユーザーと攻撃の両方を規制するセキュリティ ポリシーを導入するのは、時間も費用もかかりすぎると考える管理者も多いようです。社内に悪巧みをしている人間もいないのに、高度なセキュリティ ポリシーを導入して業務を複雑にしたと従業員が腹を立てるかもしれません。また、巨大ネットワークに監査ポリシーを導入するのはサーバー リソースも時間もかかるので、監査イベントには注意を払わない管理者も多いようです。秘密にする必要性のある仕事はしていないのに、どうしてセキュリティなどという面倒なものを導入しなくてはならないのか、というのがユーザーに共通の姿勢なのです。
おざなりになっているセキュリティ プランを実行に移すには、それなりの代価を支払わなければなりません。そのまま放っておけば、予想もできない災難が降りかかってくる可能性もあるのです。空白のパスワードや弱点の多いパスワードの使用を許可しているパスワード ポリシーは、ハッカーの天国も同然です。組織のローカル エリア ネットワーク (LAN) とインターネットの間にファイアウォールもプロキシ保護もかけていない企業は、サイバー犯罪の格好のターゲットでしょう。
組織では、データやその他の資産を守るために、いくらお金をかけられるのかを見積もる必要があります。費用の算定は、情報の損失、ハードウェアの損失、およびサービスの中断によって予想される被害額に照らし合わせて行いましょう。ちょうどよいバランスがとれる金額が見つかるはずです。データに必要なのは最小限の防御で、損失による被害がさほど大きくないなら、そのデータを防御するのにかかる費用は少なくてすみます。もし、データが重要で最大の防御を必要とするなら、その反対のことが言えます。
セキュリティへの脅威
はじめに
このセクションではセキュリティへの脅威について簡単に説明し、また目的を持った侵入者がシステムの脆弱性を利用して攻撃をしかけてくる手段、ツール、テクニックについて説明していきます。理論モデルだけでなく、実例も交えた内容になっています。このセクションで説明される項目のいくつかは、付録でさらに詳しく説明されています。
セキュリティへの脅威、攻撃、脆弱性
どんな組織にとっても、情報は重要な財産です。情報の使い方がうまい企業は、他社との競争で優位に立てます。その貴重な情報を盗んで正常な経営活動を妨害し、ビジネスの機会を制限しようとたくらむ者が脅威をもたらします。
価値が高く重要な組織内の情報を守りながら、一方では必要があればいつでも情報を使用可能にできるのが、セキュリティを設定する上で重要です。システムの損傷、正常な経営活動の妨害などを企む攻撃者は、さまざまなテクニック、手段、ツールを用いて、脆弱性を突いてきます。資産を守るために防御策を考え、セキュリティの脆弱性を減らすためにポリシーを講じるシステム管理者は、セキュリティを多角的にとらえておく必要があります。
攻撃者はたいてい動機や目的を持っています。たとえば、正常な経営活動を妨害したり情報を盗んだりすることなどです。このような目的を達成するために、彼らはコンピュータ システムやセキュリティ ポリシーの脆弱性を利用するさまざまな手段、ツール、テクニックを用います。
目的 + 手段 + 脆弱性 = 攻撃 - この式については、このセクションの後半で詳しく説明します。
セキュリティへの脅威
図 1 は、セキュリティへの脅威の分類を表しています。
図 1
自然災害
だれも自然の脅威から逃れることはできません。地震、ハリケーン、洪水、稲妻、火災などは、コンピュータ システムに深刻な被害を与えます。情報は失われ、生産の停止により損失が生じます。また、ハードウェアが壊れ、重要なサービスも中断せざるをえません。自然災害からコンピュータを保護するのはほとんど不可能です。最善策は、災害時における回復プランや非常時における対策を講じておくことでしょう。暴動、戦争、テロ攻撃などの脅威も自然災害に含まれます。これらは人間がもたらす脅威ですが、自然災害に分類されます。
人間のもたらす脅威
悪意から発生する 脅威は、不満や悪意を持った従業員による内部からの攻撃と、単に組織を混乱させ危害を加えたいだけの部外者による外部からの攻撃とに分けられます。
内部の人間 (もしくは元内部の人間)、からの攻撃が最も危険です。というのも、彼らは既存の暗号やセキュリティ対策を知っているからです。内部の人間は明確な動機、目的、対象を持っていることが多く、またシステムへ正規にアクセスすることができます。従業員は組織内のコンピュータやアプリケーションにたいへん詳しく、どんな操作を行えば組織に最も大きな被害を与えることができるかを知っているでしょう。また、内部の人間はウイルスやトロイの木馬やワームを混入させたり、ファイル システムを参照したりもできます。
内部からの攻撃は、コンピュータ セキュリティを構成するすべての要素に影響を与える可能性があります。システムを参照されて、機密情報を知られてしまうかもしれません。トロイの木馬は、システム内の情報の保全性および機密性にとっての脅威となります。内部からの攻撃者は、システムの記憶域を過負荷の状態にしてシステムをクラッシュさせることもあり、可用性にとっての脅威ともなりえます。
このような人々は、"クラッカー" または "ハッカー" と呼ばれます。しかし "ハッカー" の定義はここ数年のうちに変化しました。以前は、ハッカーと言えば、自分が使用しているシステムを最大限活用することに喜びを感じる人々のことを指しました。彼らはシステム内部を隅々まで知り尽くしているので、同じシステムを使用しているユーザーから情報源として尊敬され、彼らのことを "グル (導師)" または "ウィザード (魔術師)" と呼ぶ人もいるほどでした。
しかし今では、ハッカーと言えば、許可されていないシステムへの侵入、または故意に正規のアクセスを持たないシステムへの侵入を行う人々のことも指します。
システムに侵入する人々の正しい呼び名は "クラッカー" です。システムへのアクセスを得る一般的な手段として、パスワード クラッキング、既知のセキュリティの脆弱性を利用する方法、ネットワーク スプーフィング、ソーシャル エンジニアリングなどが挙げられます。
悪意のある攻撃者がシステムを攻撃するのには、何かしらの明確な目的、対象、動機が存在するはずです。サービス拒否攻撃 (DoS攻撃) ツールを使用して、経営活動やサービスを中断させることが目的かもしれません。また、情報を盗んだり、ラップトップ コンピュータのようなハードウェアを盗んだりすることが目的かもしれません。ハッカーは、競合相手にとって有用な情報を売却することもできるのです。
- 1996 年、Visa International の従業員のラップトップ コンピュータが盗まれた。内部には、31 万 4,000 件のクレジット カードのアカウントが保存されていた。カード番号を無効にして新しく再発行するだけでも、Visa は 600 万ドルの費用を負担しなければならなかった。5 https://www.securtekcorporation.com/Protect1.htm (英語)
組織に危害を加えるのは攻撃者だけではありません。データの保全性に対する一番の脅威は、よくわからずにコンピュータを操作している許可されたユーザーです。エラーや欠落によって、価値あるデータが失われたり壊されたり変更されたりします。 悪意なく発生する脅威 は、コンピュータの訓練を受けておらず、セキュリティへの脅威や脆弱性について知識不足の従業員が原因で起こる場合が多いです。Microsoftョ Word ドキュメントを、メモ帳で開き編集して保存するようなユーザーがいれば、ドキュメントの内容は重大な損傷を受けます。
ユーザー、データ入力者、システム オペレータ、プログラマなどが何気なくエラーや欠落を生むことで、直接的にせよ間接的にせよ深刻なセキュリティ上の問題が生じる場合もあります。システムをクラッシュさせるデータの入力エラーやプログラム上のエラーなどは、それ自体が脅威となります。また、エラーがシステムの脆弱性を生み出すこともあります。システムのライフ サイクルのどの段階でも、エラーの起きる可能性があります。
図 2 は、攻撃へとつながるさまざまな脅威、目的、手段、脆弱性の関係を示した理論モデルです。
図 2
下の表は、これまで説明してきた内容をキーワードでまとめたものです。
脅威 | 動機/目的 | 手段 | セキュリティ ポリシー |
---|---|---|---|
|
|
|
|
知識不足の従業員は、動機も目的もないことに注目してください。彼らは故意に被害を生み出しているわけではありません。ただ、不正にアクセスしようと試みる悪意のある攻撃者の "ソーシャル エンジニアリング" に騙される可能性はあります。攻撃者は管理者になりすまし、パスワードとユーザー名を聞き出します。トレーニング不足の従業員やセキュリティ意識の薄い従業員は、この手法にひっかかってしまうかもしれません。
付録 A では、セキュリティへの脅威についてさらに詳しく説明しています。
悪意のある攻撃者の抱く動機、目的、対象
物理的セキュリティ、データのプライバシ、保全性の 3 つは、密接につながりを持ちます。実際、攻撃の目的がコンピュータ システムを物理的に破壊してしまうことではなく、システムに侵入して重要な情報を取り出したりコピーしたりすることの場合もあります。攻撃者がこのような目的を達成しようとするのは、個人的満足を得るためか報酬を得るためです。
以下に、攻撃者が抱く動機や目的を挙げます。
情報の削除、改ざん。 悪意のある攻撃者が情報の削除、改ざんを行うのは、自分の身に起こった事への仕返し、もしくは何かを証明したいという理由からです。内部からの攻撃者の場合、組織に何か不満があって嫌がらせしたいというのが最も一般的な動機です。外部からの攻撃者の場合、システムに侵入できることを証明したい、もしくは単におもしろいからというのが動機かもしれません。
2000 年 4 月 27 日: Cheng Tsz-chung (22 歳) は、他人のユーザー アカウントのパスワードを勝手に変更し、元に戻すのと引き換えに香港通貨で 500 ドルを要求した罪で昨夜逮捕された。被害者は金銭の支払いを済ませてから警察に通報した。Cheng は 1 件の不正アクセスと、2 件の窃盗の容疑を認めている。判事は Cheng の拘留を命じ、5 月 10 日に下される判決は抑止力のあるものでなくてはならないと述べた。Cheng の弁護人は Ian Candy 判事に、被告人が犯行にいたった理由は "単におもしろいから" であると述べた。
情報の盗用と不正行為。 情報技術が盗みや不正行為などの犯罪に利用されることも多くなりました。伝統的な不正行為の手法を自動化したり、新しい手法を取り入れたりと、コンピュータ システムの悪用のされ方はさまざまです。財務管理システムだけが不正行為のターゲットではありません。勤怠管理システム、在庫管理システム、学校での成績管理システム、長距離電話システムのような、なんらかのリソースへのアクセスを制御しているシステムは不正行為のターゲットにされます。
正常な経営活動の妨害。 攻撃者は正常な経営活動を妨害したいのかもしれません。この場合、攻撃者は必ず達成させたい明確な目的を持っています。攻撃者は、さまざまなサービス拒否攻撃を行います。サービス拒否攻撃については、手段、ツール、テクニックのセクションで詳しく説明します。
攻撃者が用いる手段、ツール、テクニック
攻撃 = 動機 + 手段 + 脆弱性。
図 2 で示したように、手段が組織の脆弱性と結びつき攻撃を発生させます。悪意のある攻撃者は、さまざまな手段を用いてアクセスを得たりサービスを妨害したりするでしょう。その手段を下にいくつか挙げます。
ウイルス - 攻撃者は、ウイルスという名で知られる有害なコードを作成し、ハッキング テクニックを用いてシステムに侵入しウイルスを撒き散らします。ウイルスはたいへんな脅威です。ウイルスは多種多様で、無害の場合でもコンピュータの動作不良を引き起こします。ウイルスは、電子メールやディスク メディアを経由して侵入することもあります。
トロイの木馬 - これは悪意のあるプログラムやソフトウェア コードのことで、一見無害に見えるプログラムの中に隠れています。ユーザーがプログラムを実行すると、隠されていたコードもまた実行されます。そして、ファイルを削除するなどの被害をコンピュータに与えます。通常、トロイの木馬は電子メールの添付ファイルによって侵入します。1999 年に世界中にサービス拒否攻撃を与えたメリッサ ウイルスは、トロイの木馬の一種です。
ワーム - ワームは単独で活動し、ネットワーク接続を利用してコンピュータからコンピュータへ移動していきます。ワームは複製によって、多くの異なるコンピュータに広まる可能性があります。ワームはほかのプログラムを書き換えることはありませんが、書き換えを行う別のコードを運んでいる場合があります。
パスワード クラッキング - これは、攻撃者が他人のユーザー アカウントを使用して不正アクセスを得るテクニックのことです。弱点のあるパスワードを使用していると、攻撃対象にされてしまいます。パスワードの持ち主に関連していて容易に推測できるパスワード (たとえば、配偶者の親戚の名前など)、または辞書中の語句を利用しているパスワードは、最もパスワード クラッキングを受けやすいです。
サービス拒否攻撃 - これは、サービスをいつでも利用可能な状態にしておかなければならないことを利用した攻撃です。この攻撃は、インターネット上で急速に増加しています。一般的に Web サイトはドアを開け放した家のようなもので、常に悪用の危険性にさらされています。過剰なリクエストを送って Web サーバーを飽和させ、ビジー状態にさせることも簡単です。それゆえに、インターネットに接続する企業は、サービス拒否攻撃に備えておく必要があります。この攻撃は追跡が難しく、ほかの攻撃も誘発しかねません。
電子メール ハッキング - 電子メールは、インターネットで人気の高い機能です。インターネットの電子メールを利用することで、世界中の何百万もの人々と潜在的に通信可能な状態が生まれます。以下に、電子メールに関係のある脅威をいくつか挙げます。
なりすまし - インターネットを通じて送られてくる電子メールの差出人アドレスは、常に信用できるわけではありません。なぜなら、送信者は嘘の返信アドレスをでっちあげることができるからです。通信途中にメールのヘッダー情報を書き換えることも可能ですし、送信者が目当てのコンピュータの Simple Mail Transfer Protocol (SMTP) ポートに直接接続し電子メールを投入することも可能です。
メールの傍受 - 電子メールのヘッダー情報と内容は、暗号化処理が施されていない場合はクリア テキストで送信されます。よって、通信途中にメッセージの内容が第三者に読まれたり、改変されたりする可能性が生じます。送信者を隠したり変更したりメッセージを転送させたりするために、ヘッダー情報が改変されることもあります。
パケットの再生 - これは、ネットワーク内に流れるメッセージ パケットを記録し再送信することです。パケットの再生は、認証に一連のシーケンスを要求するプログラムにとってたいへんな脅威となります。なぜなら、侵入者が正規の認証シーケンスを再生すれば、システムへのアクセスが可能になるからです。パケットの再生は検出不可能ですが、パケット タイムの記録やパケット シーケンスのカウントによって防御できます。
パケットの改変 - これは、あるシステムから別のシステムへ向けて送信されたパケットが、途中で妨害されたり改変されたりすることです。パケット情報は改変されるばかりではなく、時に破壊されることもあります。
盗聴 - クラッカー (ハッカー) は、盗聴によってネットワーク内で発生している事を完全にコピーすることができます。クラッカーはパスワードやデータなどの重要な情報、および機能を実行するための処理手順を知ることになります。盗聴には、盗聴器やラジオ、端末上の補助ポートが使用されます。また、ネットワーク内を往来するパケットを監視するソフトウェアを使用することもあります。いずれにせよ、盗聴を発見するのは困難です。
ソーシャル エンジニアリング - これは、コンピュータ システムへ侵入するためによく用いられる手法です。外部の人間でも組織の人間でも、これを行う可能性があります。ソーシャル エンジニアリングはハッカー用語で、人々をだましてパスワードや重要なセキュリティ関連の情報を聞き出すことを意味します。
侵入攻撃 - 侵入攻撃の際、ハッカーはシステムへのアクセスを得るために、さまざまなハッキング ツールを使用します。例えば、パスワード クラッキング ツールやプロトコルをハッキングして操るツールなどです。侵入検出ツールは、システムやネットワーク内で変わった事が発生している場合、それを検出することができます。
ネットワーク スプーフィング - これは、あるシステムがネットワークに対して別のシステムのようにふるまうことを言います。つまり、コンピュータ A が自分のアドレスを送る代わりにコンピュータ B のアドレスを送り、コンピュータ B になりかわるということです。これが起こる原因は、システムが信頼関係にあるシステムの集まりの中で運営されていることです。信頼関係は一方向で結ばれます。例えば、コンピュータ A がコンピュータ B を信頼しても、コンピュータ B がコンピュータ A を信頼する必要はありません。システムの信頼関係を構築するには、信頼されるシステムの管理者がきちんと業務を遂行し、システムのセキュリティ レベルを適切に保っておく必要があります。ネットワーク スプーフィングは、以下のような仕組みで起こります。コンピュータ A がコンピュータ B および コンピュータ B になりすましたコンピュータ C を信頼すると、コンピュータ C は通常得られることのないコンピュータ A へのアクセスを得ることができます。
付録 C では、上記の手段のうち、いくつかについて詳しく説明しています。
セキュリティの脆弱性
先ほど説明したように、悪意を持った攻撃者は、目的を達成するため脆弱性を利用する手段を用います。脆弱性とは、セキュリティ上の弱点やセキュリティ ホールのことです。攻撃者は、ネットワークへのアクセス、およびリソースの獲得のためにこの脆弱性を利用します (図 2 を参照してください)。脆弱性とはあくまで利用される弱点のことで、それ自体が攻撃なのではありません。以下に弱点を挙げていきます。
パスワード - ユーザーがパスワードを自分で選んでいる限り、パスワードが脆弱性となる可能性は消えないでしょう。一般的に、パスワードをたくさん持つと、どのパスワードが正しいのか覚えていられなくなるので、結局いつも同じパスワードを使用してしまうユーザーが多いです。しかも、覚えやすいという理由で、誕生日の日付や愛する人の名前がパスワードに設定されます。推測が容易なパスワードは、脆弱性になります。
プロトコル設計 - 通信プロトコルが弱点になる場合もあります。攻撃者はこれを使って情報を集め、ついにはシステムへのアクセスを得ます。プロトコルについては、以下のような既知の問題があります。
TCP/IP - TCP/IP プロトコルには弱点があり、以下の行為が可能となります。
IP アドレス スプーフィング
TCP 接続リクエスト (SYN) 攻撃
Telnet プロトコル - Telnet は、Microsoftョ Windowsョ 2000 または Unix を搭載しているシステムの統合に利用されます。Telnet クライアントを使用して、Microsoft システムから UNIX システム、またその逆の接続を行うとき、ユーザー名とパスワードがクリア テキストで送信されてしまいます。
File Transfer Protocol (FTP) - Telnet の場合と同様です。情報の送受信を安全な場所との間で行おうとして FTP サービスを利用すると、ユーザー名とパスワードがクリア テキストで送信されてしまいます。
ユーザー情報を公開するコマンド - Microsoft 製品と UNIX との間の相互運用性は珍しくありません。ユーザーやシステムの情報を公開するコマンドは脅威をもたらします。なぜなら、クラッカーはそれらの情報を利用してシステムに侵入できるからです。以下に例を挙げます。
Finger - Microsoft Windows NTョ と Windows 2000 の finger クライアント ユーティリティは、UNIX ベースのコンピュータに実装されている finger デーモン サービスへ接続して、ユーザー情報を引き出すのに使用される可能性があります。finger プログラムが実行されると、その時システムにログオンしているユーザー全員の情報が表示されてしまいます。
Rexec - rexec ユーティリティは、Microsoft Windows NT と Windows 2000 のクライアントとして提供されます。rexec クライアント ユーティリティは、rexecd サービスを実装している UNIX ベースのシステム上でのリモート実行を可能とします。クライアントは、ユーザー名、パスワード、実行したいコマンド名を記したメッセージを送信します。rexecd プログラムは、有効なアカウントの名前をシステムから探し出すのに利用でき、悪用される可能性があります。さらに、パスワードはネットワーク上を暗号化されずに送信されます。
非同期転送モード (ATM) - 駐車場の下やエレベーター シャフトにあるネットワーク ケーブルやコネクションに直接手を触れる "manhole manipulation" と呼ばれる行為によって、セキュリティが脅かされる可能性があります。
フレーム リレー - ATM と同様の脆弱性を持ちます。
デバイスの管理 - スイッチやルーターは、HTTP インターフェイスやコマンド ライン インターフェイスによって簡単に操作できます。たとえば共通パスワードなどの弱点があるパスワードと組み合わせれば、専門知識のある人間ならだれでもデバイスを制御できるようになります。
モデム - 多くのコンピュータで、モデムが標準搭載されるようになりました。許可されていないモデムは、深刻なセキュリティ上の問題点です。モデムはインターネットに接続されるだけでなく、自宅で仕事をするために会社につながれることもあります。問題は、モデムの使用によって外部からの侵入を防ぐ "ファイアウオール" をバイパスできることです。ハッカーは、モデムの電話番号を識別するために "war dialer" ツールを使い、弱点のあるパスワードを解読するために "password cracker" ツールを使い、システムへのアクセスを得ます。コンピュータ ネットワークの性質上、一度ハッカーが 1 台のコンピュータに接続すれば、ネットワーク内のすべてのコンピュータに接続できる可能性が生まれてしまいます。
付録 D では、脆弱性についてさらに詳しく説明しています。
図 2 で示した理論モデルを理解するのに役立つよう、以下に実例を挙げていきます。
例 1 : 悪意なく発生する脅威 (知識不足の従業員)
従業員の John Doe は、ゲームとその他の実行ファイルを 1.44MB のディスク メディアから、自分のローカル ハード ドライブにコピーしファイルを実行しました。運悪く、そのゲームにはさまざまなウイルスとトロイの木馬が含まれていました。その組織では、まだアンチ ウイルス ソフトが使用されていませんでした。その直後、John Doe とその他の従業員たちは、見慣れぬ予測不能なイベントが発生し、サービスを中断させデータを破壊しているのに気づきました。以下の図に、さまざまな脆弱性と資産の損失を示します。
図 3
例 2 : 悪意から発生する脅威 (悪意のある攻撃者)
従業員サリーは、3 度も昇進を逃しました。相当な量の仕事もこなし残業も多くしていながら昇進させてもらえないのは、若すぎるからという理由なのだろうとサリーは考えました。サリーはコンピュータ サイエンスの学位を持っており、会社を辞め仕返しをしようと決意しました。会社の Web サーバーを攻撃して、クライアントからのリクエストに応じられないようにする計画です。サリーは Trin00 と呼ばれるサービス拒否攻撃ツールを使用し、会社の Web サーバーに攻撃をしかけました。
その会社の経営活動は E-コマースが中心で、クライアントから Web サーバーへ接続できないと苦情が殺到しました。サリーが目的を達成するために利用したさまざまなツールと脆弱性について、以下の図に示します。
図 4
以上は、ほんの一例にすぎません。脅威をもたらす可能性、ツール、脆弱性はさまざまなので、攻撃への対策もまたさまざまです。
例 3 : 自然災害
ある組織ではさまざまなタイプのモデムと Integrated Services Digital Network (ISDN) ルーターを所有していましたが、サージ プロテクションは持っていませんでした。激しい雷雨で、稲妻が電話回線と ISDN 回線を直撃しました。すべてのモデムと ISDN ルーターは壊れ、マザーボードも道連れとなりました。以下の図に、脆弱性と資産の損失を示します。
図 5
まとめ
悪意のある攻撃者は、セキュリティ ポリシーや制御の脆弱性を利用するさまざまな手段、ツール、テクニックを用いて、目的を達成しようとします。悪意なく発生する脅威がもたらされる原因は、脆弱性が多くエラーが起こりやすいセキュリティ ポリシーと制御にあります。自然災害はいつ何時でも起こる可能性があり、被害を最小限にくいとどめられるよう、組織では対策を講じる必要があるでしょう。
付録 A: セキュリティへの脅威
脅威をもたらす原因は、大きく 2 つに分類できます。それは、人間と自然です。人間がもたらす脅威は、悪意があるかないかの違いによってさらに 2 つに分類できます。一般的に、悪意から発生しない "攻撃" を引き起こすのは、コンピュータの訓練を受けていないか、またはコンピュータ セキュリティへのさまざまな脅威に対して意識の低いユーザーや従業員です。悪意のある攻撃を引き起こすのは、外部の人間か不満を持った従業員であることが多く、彼らは達成したい目的や対象を持ちます。
自然災害
だれも自然の脅威から逃れることはできません。地震、ハリケーン、洪水、稲妻、火災などは、コンピュータ システムに深刻な被害を与えます。情報は失われ、生産の停止により損失が生じます。また、ハードウェアが壊れ、重要なサービスも中断せざるをえません。 自然災害からコンピュータを保護するのはほとんど不可能です。最善策は、災害時における回復プランや非常時における対策を講じておくことでしょう。そうすれば、正常な経営活動へ回復することができます。
暴動、戦争、テロ攻撃などは人間がもたらす脅威ですが、自然災害に分類されます。というのも、セキュリティ ポリシーや制御によって防御できないものだからです。
内部の人間、または悪意と不満を持った従業員
内部の人間は明確な動機、目的、対象を持っていることが多く、またシステムへ正規にアクセスすることができます。従業員は組織内のコンピュータやアプリケーションにたいへん詳しく、どんな操作を行えば組織に最も大きな被害を与えることができるかを知っているでしょう。また、内部の人間はウイルスやトロイの木馬やワームを混入させたり、ファイル システムを参照したりもできます。このような攻撃の検出や防御は非常に難しいです。
内部からの攻撃は、コンピュータ セキュリティを構成するすべての要素に影響を与える可能性があります。システムを参照されて、機密情報を知られてしまうかもしれません。トロイの木馬は、システム内の情報の保全性および機密性にとっての脅威となります。内部からの攻撃者は、システムの記憶域を過負荷の状態にしてシステムをクラッシュさせることもあり、可用性にとっての脅威ともなりえます。
これらの攻撃が可能になる理由はさまざまです。多くのシステムでは、セキュリティ関連のオブジェクトに対して設定されているアクセス制御が、組織のセキュリティ ポリシーを反映していません。これによって、内部の人間は重要なデータを参照したり、ウイルスやトロイの木馬を混入させたりすることができます。監査記録が不十分もしくは無視されていると、これらの操作は検出できません。
不満を持った従業員は、コンピュータ システムに損傷を加え業務を停止させることもできます。民間企業でも公営企業でも組織的な人員削減が行われたために、組織に精通していてしかもシステムへのアクセス許可がまだ維持されている可能性のある人々が増えています。システム管理者が、適切な時期にパスワードを無効にしシステム アカウントを削除することが脅威への対策になるでしょう。しかしながら、現在働いている不満を持った従業員のほうが、元従業員よりも大きな被害をもたらします。コンピュータに関わっている従業員は、以下のような業務妨害を引き起こします。
データの改ざん
データの削除
論理爆弾によるデータやプログラムの破壊
システムのクラッシュ
恐喝材料としてのデータの拘束
ハードウェアや設備の破壊
正しくないデータの入力
外部からの攻撃者、またはクラッカー
最近では、"クラッカー" のことを "ハッカー" と呼ぶ人も多く、"ハッカー" の定義はここ数年のうちに変化してきています。以前は、ハッカーと言えば、自分が使用しているシステムを最大限に最大限活用することに喜びを感じる人々のことを指しました。彼らはシステム内部を隅々まで知り尽くしているので、同じシステムを使用しているユーザーから情報源として尊敬され、彼らのことを "グル (導師)" または "ウィザード (魔術師)" と呼ぶ人もいるほどでした。
しかし今では、ハッカーと言えば、許可されていないシステムへの侵入、または故意に正規のアクセスを持たないシステムへの侵入を行う人々のことも指します。
システムに侵入する人々の正しい呼び名は "クラッカー" です。彼らがシステムへのアクセスを得る一般的な手段として、パスワード クラッキング、既知のセキュリティ上の脆弱性を悪用する方法、ネットワーク スプーフィング、ソーシャル エンジニアリングなどが挙げられます。付録 C では、これらの手段について詳しく説明しています。
悪意のない従業員
組織に危害を加えるのは攻撃者だけではありません。データの保全性に対する一番の脅威は、よくわからずにコンピュータを操作している許可されたユーザーです。エラーや欠落によって、価値あるデータが失われたり壊されたり変更されたりします。
ユーザー、データ入力者、システム オペレータ、プログラマなどが何気なくエラーや欠落を生むことで、直接的にせよ間接的にせよ深刻なセキュリティ上の問題が生じる場合もあります。システムをクラッシュさせるデータの入力エラーやプログラム上のエラーなどは、それ自体が脅威となります。また、エラーがシステム上の脆弱性を作り出してしまうこともあります。システムのライフ サイクルのどの段階でも、エラーの起きる可能性があります。
プログラム上のエラーは、"バグ" と呼ばれます。バグはユーザーの神経をいらだたせる程度のものから、壊滅的状況を引き起こすものまでさまざまです。ソフトウェアの品質が向上しバグは減少しましたが、完全に排除されたわけではありません。インストールやメンテナンスのエラーもセキュリティ上の問題を引き起こします。
入力ミスや欠落は、データの保全性にとって重大な脅威となります。1 日に何百件もの入力処理を行うデータ入力者だけでなく、データを編集し作成するユーザーすべてが入力をミスする可能性があります。パーソナル コンピュータのユーザー向けに組まれたプログラムは、品質管理の手段に欠けています。しかし、どんなによくできたプログラムでも、すべてのエラーを検出できるわけではありません。
一般的に、コンピュータ システムから受け取る情報は、実際よりも正確に思われがちです。多くの組織では、コンピュータ セキュリティ プログラム、ソフトウェア品質管理プログラム、データ品質管理プログラムなどを導入することで、エラーや欠落への対策を講じています。
付録 B: 悪意のある攻撃者の抱く動機、目的、対象
物理的セキュリティ、データのプライバシ、保全性の 3 つは、密接につながりを持ちます。実際、攻撃の目的がコンピュータ システムを物理的に破壊してしまうことではなく、システムに侵入して重要な情報を取り出したりコピーしたりすることの場合もあります。攻撃者がこのような目的を達成しようとするのは、個人的満足を得るためか報酬を得るためです。
情報の削除、改ざん
悪意のある攻撃者が情報の削除、改ざんを行うのは、自分の身に起こった事への仕返し、もしくは何かを証明したいという理由からです。内部からの攻撃者の場合、組織に何か不満があって嫌がらせしたいというのが最も一般的な動機です。外部からの攻撃者の場合、システムに侵入できることを証明したい、もしくは単におもしろいからというのが動機かもしれません。
情報の盗用と不正行為
情報技術が盗みや不正行為などの犯罪に利用されることも多くなりました。伝統的な不正行為の手法を自動化したり、新しい手法を取り入れたりと、コンピュータ システムの利用のされ方はさまざまです。財務管理システムだけが不正行為のターゲットではありません。勤怠管理システム、在庫管理システム、学校での成績管理システム、長距離電話システムのような、なんらかのリソースへのアクセスを制御しているシステムは不正行為のターゲットにされます。
内部の人間も外部の人間も、不正行為を働くことがあります。内部の人間は、システムの許可されたユーザーなので、システム上の不正行為の大半は発見できません。内部の人間は、目当てのコンピュータ システムへのアクセスが許されており、制御されているリソースやフローの場所にも詳しいので、悪事を働くのにちょうどよい条件が揃っています。組織の元従業員も、適切な時期にアクセスを無効にしておかないと脅威となりえます。
コンピュータは価値が高いわりには小さく持ち運びやすいので、簡単に盗まれ売られてしまいます。組織では、設備投資品を守るために施錠するなどの物理的な対策をとる必要があるでしょう。コンピュータが盗まれれば、内部に保存されている情報は犯人の意のままです。犯人は、情報を削除したり読んだりするかもしれません。犯人は、重要な情報を売ったり恐喝の材料にしたり、コンピュータ システムを破壊する手段として利用したりもできます。しかし、どんな対策をとっても盗難被害を完全に防ぐことはできないので、情報を暗号化し暗号鍵を盗まれないようにしておけば、いざ盗難にあったとき情報を無効にすることができます。
所有者の知らないうちに、データがコンピュータから盗まれたり変更されたりすることもあります。Zip ドライブをコンピュータのパラレル ポートに接続し、サイズの大きいファイルをいくつもコピーすることが可能です。
正常な経営活動の妨害
攻撃者の目的が、正常な経営活動の妨害にある場合もあります。昇進を逃し仕事への意欲を失った従業員が、仕返しのつもりで攻撃を企んでいるのかもしれません。ライバル会社の人間が競争社会で優位に立ちたいばかりに攻撃を企んでいるのかもしれません。また、単におもしろいからという理由で、攻撃をしかけてくる人々もいるでしょう。いずれにせよ、攻撃者は明確な目的を持っています。目的を達成することで満足しやりがいを感じます。攻撃者は、サービス拒否攻撃を実行するためにさまざまな手段を用います。これについては、手段、ツール、テクニックのセクションで説明します。
付録 C: 攻撃の手段、ツール、テクニック
悪意のある攻撃者は、システムに侵入して情報を壊したり盗んだりするために、さまざまな手段、ツール、テクニックを用います。
電子メール ハッキング
最もよく利用されるメール転送プロトコル (SMTP、POP3、IMAP4) は、通常に使用していると信頼できる認証を行わないので、簡単に電子メール メッセージを偽造することができます。また、電子メール メッセージのプライバシや機密性を保証するための暗号化も要件としていません。プロトコルの拡張規約も存在しますが、それらを利用するかどうかの決定は、メール サーバー管理ポリシーとして行う必要があります。既定の認証方法も使用できますが、クライアントとサーバーの双方がサポートしている認証タイプを、通信のやりとりの中で決定する認証方法もあります。
ソーシャル エンジニアリング
これは、コンピュータ システムへ侵入するためによく利用される手法です。外部の人間でも組織の人間でも、これを行う可能性があります。ソーシャル エンジニアリングはハッカー用語で、人々をだましてパスワードや重要なセキュリティ関連の情報を聞き出すことを意味します。
頻繁に起こるはずもないような事柄でも、セキュリティ上の問題へは気を配るようユーザーを教育する必要があります。ハッカーが管理者と称して電子メールを送ってよこし、業務に使用するので従業員のパスワードが必要だと言ってきたら、それは ソーシャル エンジニアリング のよくあるケースです。セキュリティについて指導を受けていない一般的なユーザーは、本物の管理者と偽者の管理者の違いに気づかないでしょう。大きな組織に所属するユーザーほど、違いに気づかない可能性が高いはずです。また、管理者と名乗る人物が電話をかけてきて、パスワードとログオン資格情報を尋ねてくる場合もあります。ユーザーがうっかりログオンとパスワードを教えてしまうと、詐欺師のフルアクセスが可能になります。
また、誰かのパスワードを盗もうとたくらむハッカーやユーザーは "ショルダー サーフィン" を行います。彼らは、ユーザーの机の近くをうろついて、おしゃべりしながらユーザーがパスワードを入力するのを待ちます。悪意を持った従業員も、この手法を用いる可能性があるでしょう。他人の見ている前でパスワードを入力してはいけないと、ユーザーに教えなければなりません。ユーザーがもう既にだれかが自分のパスワードを使っていると感じているなら、直ちにパスワードを変更する必要があります。
パスワードの推測も、ソーシャル エンジニアリングに含まれます。あるユーザーの私生活や交友関係を知る機会があれば、その情報は利用できます。たとえば、そのユーザーは子供の名前、誕生日、友達の名前などを、パスワードとして使っているかもしれません。また、オフィスの机の周りやポスター見てパスワードを決めるのもよくあることです。彼らは、ハッカーにパスワードを推測する手がかりを与えてしまいます。
侵入攻撃
既知のテクニックを使えば、攻撃者は多くのネットワークに侵入できます。多くの場合、攻撃者は既知のネットワークの脆弱性を利用して侵入してきます。アップデート可能なシステムでも、管理者がわざわざ時間を割いて必要なすべてのパッチをすべてのホストにインストールしない、またはホストの数が多すぎてできない場合もあるでしょう。加えて、コンピュータの使用に関連する組織のポリシーを、アクセス制御に至るまで完璧に策定できない場合も多いでしょう。したがって、許可されたユーザーが、独断的な操作を行ってしまう可能性が生じます。
フローがあり攻撃の対象となりやすいネットワーク サービスやプロトコルに、ユーザーが要求を出してしまう可能性もあります。たとえば、"どうして FTP でファイルをダウンロードしてはいけないのか" と質問するユーザーもいるでしょう。セキュリティ ポリシーでは、末端ユーザーが出せる要求を規定するとともに、それがどのように脅威や脆弱性に結びつくのかを説明することも非常に重要です。しかしながら、現実にはすべての脆弱性を取り払うことはほぼ不可能です。
侵入検出は、コンピュータやネットワークの許可されていない使用や攻撃を検出するプロセスです。これは、情報システム資源を守るうえで、2 つの重要な利点をもたらします。
1 つ目は、セキュリティ システムの構成要素の有効性についてフィードバック情報が得られることです。侵入が検出されない場合、それはシステムが完全に守られているからではなく、検出できる侵入がないからだと考えるべきでしょう。
2 つ目は、侵入に対して自動的に応答するメカニズムを提供してくれることです。侵入検出システム (IDS) を実装していないコンピュータやネットワークは、攻撃者にやすやすと内部を探検され弱点を見破られてしまうでしょう。もしネットワークに脆弱性が存在していれば、攻撃者はいずれそれを発見し利用するでしょう。しかし同じネットワークでも、IDS がインストールされていれば、攻撃者は侵入を躊躇するでしょう。もし攻撃者がネットワークに侵入し弱点を探しつづけ脆弱性を発見したとしても、IDS がその行為を検出し侵入者を締め出して、適切な対応がとれるセキュリティ担当者へ警報を発します。
サービス拒否攻撃
背景
サービス拒否攻撃 (DoS 攻撃) は、サービスの正常な運営を妨害します。攻撃者は、ネットワークの処理能力を上回る大量のデータを流し、ネットワークを氾濫させます。以下にいくつか例を挙げます。
ネットワーク リソースを飽和させる。これによって、ユーザーはネットワーク リソースにアクセスできなくなります。
2 台のコンピュータ間の接続を切断。通信を妨害することでサービスを中断させます。
特定の個人がサービスへアクセスすることの妨害。
特定のシステムやクライアントへのサービスの妨害。
DoS 攻撃は、大量のプロトコル パケットでリモート ネットワークを氾濫させます。ルーターとサーバーは、大量のパケットを処理している間に過負荷状態に陥ります。数分後には、ネットワークの活動レベルが急激に上昇し、通常のトラフィックへの対応が停止し、クライアントからのリクエストも受けられなくなります。これは、"network saturation attack (ネットワークを飽和させる攻撃)"、"bandwidth consumption attack (帯域幅を消費させる攻撃)" と呼ばれることもあります。攻撃には、Trin00 や Tribe Flood Network (TFN、TFN2K) などのツールが利用されます。
さまざまなサービス拒否攻撃
コンピュータが正常に動作するには、中心となるコア リソースの働きが不可欠です。リソースの故障や停止は、コンピュータのクラッシュを引き起こす可能性があります。たとえば、ネットワーク帯域幅、メモリー、CPU 時間、ハード ドライブ スペースなどがそれにあたります。また、オペレーティング システムやアプリケーションは、これらのリソースが正常に動作するよう管理する重要な役割を担っています。オペレーティング システムやリソースが、悪意のある攻撃者によってオーバーランさせられると、コア リソースのいくつかが故障し、システムのクラッシュや応答停止状態を引き起こします。攻撃者は、サーバー リソースの消費、ネットワーク リソースの飽和、電子メール爆弾などの手段を用いて、リソースのオーバーランを引き起こします。
サーバー リソースの消費
DoS攻撃の目的は、ホストやネットワークの通信妨害です。SYN フラッド攻撃はこのタイプの攻撃です。 クライアントがサーバーに接続するまでに、クライアントとサーバーは一連のメッセージのやりとりを行っています。まず、クライアントが TCP 接続要求または SYN メッセージをサーバーに送ります。するとサーバーは、SYN-ACK 確認メッセージで応答します。そしてさらにクライアントがそれを確認して、ACK メッセージを送信します。この 3 回のやりとりが終わると、クライアントとサーバー間の接続がつながり、サービス関連のデータが交換されます。
しかし、サーバーが メッセージを送っても、クライアントが ACK メッセージを送って返さないときに問題が生じます。こうなると、サーバーは中途半端な接続状態になってしまいます。サーバーは、メモリーに未完成な接続を蓄えたまま、クライアントからの応答を待ちます。しばらくして、メモリー内の中途半端な接続がタイム アウトになると、サーバー リソースも解放されます。
このような中途半端な接続状態は、IP スプーフィングによって作られます。攻撃者のシステムからターゲットとなるサーバーへ SYN メッセージが送られます。このメッセージは正当なようでいてその実クライアント システムになりすましたシステムから送られてきているので、本物のクライアント システムはサーバーから送られてくる SYN-ACK メッセージには応答できません。つまり、サーバーはいつまでたってもクライアント コンピュータに確認メッセージを送ることができないのです。サーバーはメモリーに中途半端な接続を蓄え、じきにサーバー接続は限界に達します。こうなると、サーバーはもう新たな接続要求に応じることができず、中途半端な接続がタイム アウトするのを待ちます。しかし、攻撃者のシステムはタイムアウトが来る前に、なりすました IP アドレスから高速で接続要求を出しつづけます。たいていの場合、このような攻撃の被害にあうと、新たな正規の着信接続への応答が困難になります。
このタイプの攻撃は、現在つながっている接続や発信接続に影響を与えることはありません。しかし、サーバーのメモリーは大量に消費され、処理能力も著しく低下し、結果としてクラッシュが引き起こされる可能性があります。攻撃者のシステムは、なりすました IP アドレスを使用しているので追跡も困難です。ネットワークからの転送パケットは、送信先アドレスの情報を元に送られてくるので、パケットの正当性を確認するには、受信パケットをフィルタリングするしかないでしょう。
このタイプの攻撃では、攻撃者はネットワーク帯域幅を消費させる必要はなく、その代わりサーバー リソースを消費させています。つまり、攻撃者はダイヤルアップ接続から高速ネットワーク上のコンピュータへ攻撃をしかけられるのです。
ネットワーク リソースの飽和
攻撃者は、ネットワークへ大量のパケットを送りつけ、利用可能なネットワーク帯域幅を完全に消費させることもできます。この攻撃には、Internet Control Message Protocol (ICMP) エコー パケットが使われるのが一般的ですが、理論上はどんなパケットでも可能です。さらに、攻撃者は 1 台のコンピュータだけを使用する必要もありません。彼らは、異なるネットワーク上のコンピュータも使用できるのです。これを分散型サービス拒否攻撃 (DDoS 攻撃) と呼びます。
ICMP とは、ネットワークでの状態やエラーの情報、たとえばネットワーク渋滞情報などを伝達するプロトコルです。また、ICMPはインターネット上のコンピュータが応答するか検査できます。そのしくみとしては、まずICMP エコー リクエスト パケットがネットワーク上のコンピュータに送られます。相手のコンピュータが作動していれば、ICMP エコー リプライ パケットが送り返されます。これに似た例として、PING コマンドがあります。
TCP/IP ネットワークでは、パケットは個々のコンピュータに送ることもできますし、ネットワーク上のすべてのコンピュータにブロードキャストすることもできます。IP パケットが 、ローカル エリア ネットワーク上のコンピュータからIP ブロードキャスト アドレスに送られると、同一ネットワーク内のすべてのコンピュータがその IP パケットを受け取ります。ローカル エリア ネットワークの外にあるコンピュータが、IP ブロードキャスト パケットを送ると、目標としたネットワーク上のすべてのコンピュータがブロードキャスト パケットを受け取ります (ルーターがブロードキャスト パケットを受け取るよう設定されている場合)。
この攻撃には、3 つのグループが関わっています。それは、攻撃者、媒介者、被害者です。媒介者は、ある意味で被害者とも言えます。媒介者は、IP ブロードキャストネットワーク アドレスに向けて送信された ICMP エコー リクエスト パケットを受け取ります。この ICMP エコー リクエスト パケットがフィルターされないとしたら、ネットワーク上のすべてのコンピュータが ICMP エコー リクエスト パケットを受け取って、ICMP エコー リプライ パケットを送り返すことになります。すべてのコンピュータがパケットを送り返したら、深刻なネットワークの渋滞や停止が起きるでしょう。
攻撃者がこのパケット攻撃を行うとき、自分の IP 発信元アドレスは使用しません。その代わりに使用するのが、攻撃対象のコンピュータの発信元アドレスです。これは IP スプーフィングと呼ばれます。結果、ICMP エコー リクエスト パケットを受け取った媒介者のコンピュータから、被害者の IP アドレスへリプライ パケットがいっせいに送られていきます。そうすると、被害者のコンピュータは、ネットワーク渋滞によって接続ができなくなります。
この攻撃のためのさまざまなツールが、攻撃者により開発されてきました。ツールの使用によって、ハッカーは ICMP エコー リクエスト パケットを多くのコンピュータに送れるので、結果として攻撃対象者の IP アドレスへ大量のパケットを送ることができます。また、ツールの使用によって、ブロードキャスト トラフィックをフィルターしないネットワーク ルーターを発見することもできます。
DDoS 攻撃を行うには、インターネット上の多数のコンピュータへ侵入する必要があります。攻撃者はインターネット上のコンピュータを制御して目的のサイトを攻撃させるため、コンピュータに侵入して DDoS ソフトウェアをインストールします。通常この攻撃によって、帯域幅の消費、ルーターの処理能力のダウン、ネットワークのスタック リソースの消費、ネットワークへの接続の停止などが起こります。
攻撃者は、標準的なネットワーク サービス プログラムの既知の弱点や、オペレーティング システムによくある構成上の弱点を利用して、セキュリティの弱いコンピュータに侵入し、システムに手を加えます。始めに、彼らは侵入の事実を隠し、次に行う操作の痕跡を隠してくれるソフトウェアをインストールします。たとえば、実行中のプロセスを表示させる標準コマンドを、攻撃者の実行プロセスを表示できないバージョンに取り替えるなどします。
次に、彼らは侵入したコンピュータを別の場所から制御できる特別なプロセスをインストールします。このプロセスは、侵入者がインターネット経由でコマンドを出すとそれを受け入れ、侵入者が目標とするサイトへ攻撃をしかけます。最後に、彼らは手に入れたコンピュータの IP アドレスを書き留めます。
上記の動作は高度にオートメーション化されています。注意深い侵入者なら、まず数箇所のサイトに侵入し、次はその侵入したコンピュータを別のコンピュータに侵入させるというサイクルを何度か繰り返します。攻撃の準備が整ったころには、彼らは何千台ものコンピュータを手中に収め、DDoS ネットワークに終結させています。攻撃者がいったん DDoS ソフトウェアをインストールしてしまうと、攻撃者がコマンドを 1 つ実行しただけで配下のコンピュータすべてにコマンドパケットが送られ、ある特定の対象へ (多種多様なフラッド攻撃のメニューの中から) 攻撃をしかけるよう指示が出されます。攻撃をやめようと思えば、攻撃者はまた別のコマンドを 1 つ送信します。
攻撃者の支配下におかれたコンピュータは、パケットを次々に送信します。たいていの場合、パケットの送信先は攻撃対象のコンピュータです。まれな例ですが、まずパケットを別のネットワークに送信し、そこからエコーを大量に被害者のコンピュータに送信させる方法もあります。この攻撃は、最初に普及したプログラムの名前にちなんで、"smurf" と呼ばれています。
DDoS 攻撃で使われるパケットは、偽の発信元アドレス、もしくはなりすました IP アドレスを使用しています。パケットが最初のルーターに到着し、発信元の IP アドレスが送られてきた IP ネットワークと合致しない場合、ルーターがそのパケットを遮断できるとよいでしょう。このようなパケットのチェック方法を、ingress or egress フィルタリングと呼びます。クライアントのネットワークから送られてきたパケットにとっては通過できる egress (出口) となり、それ以外のパケットにとってはインターネットへの ingress (入り口) となるという意味です。
ある日突然、世界中の何千ものシステムからパケットが送られトラフィックが超過しネットワークが氾濫してしまうまで、自分が攻撃対象になっていることを知る手がかりはありません。最初の兆候でもう既にルーターのクラッシュが起こり、すなわち最初の兆候でもう既にインターネットからのトラフィックの流れは止まっているのです。
電子メール爆弾
電子メール爆弾は、電子メールを使った攻撃です。攻撃対象のシステムに電子メールを大量に送りつけ不具合を生じさせます。システムに生じる不具合は、サーバーのタイプやシステム構成によってさまざまです。インターネット サービス プロバイダでは、プロバイダの無料試用サービスにサイン アップした人に仮のアカウントを配布することがあり、このアカウントが電子メール爆弾の攻撃対象に選ばれることがあります。 以下に、典型的な被害の例を示します。
電子メールサーバーは、電子メールの保存場所であるディスクがいっぱいになるまでメールを受け取ります。ディスクがいっぱいになると、それ以上メールを受け取りません。そのディスクがメイン システム ディスクの場合は、システムをクラッシュさせるおそれがあります。
受信キューが転送待ちのメッセージでいっぱいになります。限界に達すると、それ以上はメッセージの処理ができません。
特定のユーザーのサーバー ディスク クォータが超過する可能性があります。これにより、新しいメールが受信できずそのユーザーの業務は妨害されます。電子メールを削除するにはさらにディスク スペースが必要となるので、回復させるのは困難でしょう。
ウイルスによる攻撃
歴史
ウイルスとその被害については、知っている人も多いことでしょう。ウイルスには破壊力の強いものがあり、情報の損失をまねく場合もあります。Fred Cohen が、1983年に Digital Equipment Corporation VAX システムの実験を行った際、公式に "コンピュータ ウイルス" という用語を使用しました。
ウイルスは 2 つに分類できます。それは、研究用のウイルスと野放しのウイルスです。研究用のウイルスは、調査や研究を目的に作成されたもので、公共に配布されることはありません。一般に私たちがウイルスと呼んでいるのは、野放しのウイルスです。
1980 年初頭に、最初のコンピュータ ウイルスが誕生しました。野放しの状態で最初に発見されたウイルスは、Elk Cloner などの Apple II ウイルスで、1981 年に報告されました。今では、Apple II、IBM PC、Macintosh、Atari、Amiga などのプラットフォーム上でもウイルスが発見されています。
パーソナル コンピュータの販売当初は、Microsoft MS-DOSョ などのオペレーティング システムは、単独のユーザーがコンピュータをフル コントロールで使用することを前提に設計されました。ですから、ユーザーをシステムから切り離すような、つまりユーザーによるシステムやファイルの意図的な改ざんを防ぐような、セキュリティ メカニズムは存在しませんでした。
コンピュータの利用方法を考えれば、当時としてはそのようなメカニズムは必要なかったのです。しかし、コンピュータの普及によって、新たなコンピュータ産業が生まれ、以下のような事象が出現しました。
スプレッドシートやワード プロセッサなどの市販ソフトウェア製品
コンピュータ ゲーム
コンピュータの共有 (複数の従業員による 1 台のコンピュータの使用や、大規模組織内で LAN を組んでのコンピュータの使用など)
野放しの状態で発見されたウイルスのすべてが、パーソナル コンピュータをターゲットとしていることに注目してください。現在、公共に広まっている多くのウイルスは、IBM PC ウイルスの流れを汲んでいます。
コードを難しくして検出や分解や絶滅を逃れようという作成者の努力の結果、ウイルスは何年もの間に進化を遂げてきました。この進化は、IBM PC ウイルスにおいてとりわけ顕著です。IBM PC ウイルスの流れをくむウイルス ファミリーを調査してわかるのは、大陸によって最もよく検出されるウイルスが違うことです。しかし、"Stoned"、"Brain"、"Cascade"、"Jerusalem" ファミリーに属しているウイルスは、広範囲に広まっており今なお発現をやめていません。つまり、生存率が高いウイルスはもともと良性だったものを何度も複製して活動に至らしめたか、以前使われたことのない革新的なテクニックを用いているということです。
パーソナル コンピュータをターゲットとしたウイルスは、システム内の有効なアクセス制御がされていない場所から侵入します。ウイルスは、ファイルばかりでなくオペレーティング システムにも変更を加えます。変更はオペレーティング システムのコンテキストの範囲内で行われるので、不正な操作にはなりません。マルチタスク、マルチユーザー オペレーティング システムでは強制的な制御が行われているので、これらのシステムに構成上のエラーやセキュリティ ホール (セキュリティ バグ) があると、おびただしい数のウイルスが生成されてしまいます。
パーソナル コンピュータの登場により、ソフトウェアがフロッピー ディスクで交換され、同一のコンピュータで専門のソフトウェアも個人向けのソフトウェアも動くようになりました。また企業では、情報技術部などで集中的に管理していた情報をパーソナル コンピュータに移し、個々のユーザーに管理させるようになりました。それに伴い、このようなシステムでのセキュリティ メカニズムの欠如や、セキュリティへの考慮の足りなさが問題になってきました。
ウイルス研究者は多大な労力を注いで、コンピュータ ウイルスの構造を調べ、命名し、分類してきました。また、コンピュータ ウイルスをほかの悪意のあるソフトウェアと区別する特徴を定義しました。
ウイルスはどのような活動をするのか
コンピュータ ウイルスとは、別のコードの集まりに付着して自己複製するコードのことを言います。無害なウイルスは、メッセージを表示したり音を鳴らしたりするだけです。しかし、有害なものになると、ファイルを改変したり削除したりします。
ウイルス コードは、ユーザーが書き込み権を持っていてしかもまだ感染していない、実行プログラムのユーザー ファイルを検索します。ウイルスは、選出したプログラム ファイルに一連のコードを付け加えて、ファイルを感染させます。ウイルスに感染したプログラムが起動されると、ウイルスは即座にコマンドを受けてまたほかのプログラムやファイルを探し出し感染させます。
ウイルスには、"メモリ常駐型" のものがあります。ユーザーがこのタイプのウイルスに感染している実行ファイルを動かすと、ウイルスは自分自身をメモリーにロードし、感染元のプログラムの終了後もそこに居座ります。その後起動されるプログラムはすべてメモリー内のウイルスによって感染し、コンピュータが終了されるか電源が切れるまで感染が続きます。中には "潜伏" 期間があるものもあり、それらのウイルスは特定の時間や特定の操作によってしか出現しません。
亜種とは、既知のウイルスを一部変更して作成されたウイルスです。たとえば、機能の追加や検出を回避するような変更が加えられています。一般に、"亜種" という言葉は、変更がわずかなものだけに適用されます。たとえば、自動実行の日付を 13日 (金曜日) から 12 日 (木曜日) に変更させてしまうようなウイルスのことです。
上書き型ウイルスは、宿主プログラムのコードまたはデータをウイルス コードに書き換えて破壊します。しかし、宿主プログラムが動作を停止すると、ウイルスが検出、駆除される可能性があるため、このタイプのウイルスのほとんどは、感染後も宿主のプログラムのコードや機能を維持しようとします。上書き型でないウイルスは、プログラムの最後にウイルス コードを付け加えたり、もともとあるコードを別の場所に移してしまったりします。
自己認識の手続きによって、ウイルスは実行ファイルが既に感染済みかどうかを判断できます。通例、ウイルスは、実行ファイル中の既知の場所にある数値を検索します。自己認識の手続きは、ウイルスが同一のファイルに重複感染するのを避けるうえで必要となります。重複感染が起こると、感染した実行ファイルのサイズが肥大化して記憶域がいっぱいになり、ウイルスが検出されてしまいます。
常駐型ウイルスは、感染した宿主プログラムの実行を制御するオペレーティング システムに感染します。このウイルスは、システムが終了されるまで居座りつづけます。いったんこのウイルスがメモリーにインストールされてしまうと、感染可能なプログラムすべてに感染します。
ステルス型ウイルスは、感染していることを隠して検出されることを回避する常駐型ウイルスです。ウイルスは、感染したファイルのコンテンツや属性を検査するシステム コールを傍受し細工して、感染前の状態のファイルと交信したように見せかけます。たとえば、実行ファイルが読み込まれるとき(実行されるときではない)、ステルス型ウイルスはウイルス コードをいったん削除して、アンチ ウイルス ソフトウェアが感染していない状態の宿主プログラムを検査していくようにします。
暗号化ウイルスは、2 つの部分に分かれています。小さな解読部分と暗号化ウイルス本体です。ウイルスが実行されると、解読部分が最初に実行されてウイルス本体を解読します。すると、ウイルス本体が実行可能になり、複製したり常駐したりします。ウイルス本体には暗号化部分が含まれており、複製するときに暗号をかけます。形を変える暗号化ウイルスは、さまざまな暗号鍵や暗号アルゴリズムを使用して形を変えていきます。暗号化ウイルスは分解が難しく、コードの解読も必要とするため、研究を難しくさせています。
ポリモフィック型 ウイルスは、機能的には同等でバイト ストリームの異なる複製を作ります。そのために、ウイルスは無作為に不要な命令を挿し込み独立した命令と置き換えるか、もしくはさまざまな暗号化を施します。この可変性のために、ウイルスの場所を特定し、識別し、駆除することが難しくなっています。
研究用のウイルスは、作成されても公共には出回らないウイルスです。これらのウイルスには、ウイルス作成者から研究者へサンプルとして送られてきたものもあります。公共に広まっているウイルスは、野放しのウイルスです。
コンピュータ ウイルスはどうやって広まるのか
下に挙げるのは、ウイルスであるのに必要な特徴です。
複製可能である。
キャリアとして宿主プログラムを必要とする。
外部から操作が加えられることによって活動を始める。
複製能力は、システム (バーチャル システムも含む) 内に限られる。
コンピュータ ウイルスは、ファイルまたはディスクのブート レコードに付着して、コンピュータからコンピュータへ移動します。今日では、電子メールの添付ファイルおよびインターネットからダウンロードされたプログラムにも付着してきます。
ウイルスが活動を開始し蔓延していくには一般ユーザーの働きが不可欠なので、どちらかといえば受身の媒体だと言えます。感染しているファイルが実行されると、同一のコンピュータのファイル間を移動し、コンピュータのメモリーに移ればそこからディスク内のファイルへ移動します。リムーバブル ディスクの中へ入ればコンピュータ間を移動し、電子メールに添付された実行ファイルの中へ入ればモデムを介してネットワーク接続へも移動します (フロッピー ディスクの使用を禁止し、会社のコンピュータへ情報をコピーできないようにしている企業もあります)。
ウイルスがもたらす被害
ウイルスは、ファイル アロケーション テーブル (FAT) を破壊することもあります。そうすると、ファイル システム全体が壊れ、システムの完全な再インストールと再読み込みが必要になります。また、ウイルスはディスクに不良セクタをつくり、プログラムやファイルを壊す可能性もあります。ウイルスは、ファイルのコピーを作ることでハード ディスク領域を減らすこともあります。また、ウイルスはディスク上の特定のトラックをフォーマットするか、またはディスク全体をフォーマットすることもあります。
ウイルスは特定の実行ファイルの破壊およびデータ ファイルの改変も行う場合があるので、データの保全性も失われかねません。また、ウイルスがシステムをハングさせ、キーボードやマウスの操作が行えなくなることもあります。
トロイの木馬
背景
"トロイの木馬" という言葉の由来は、ギリシャ神話にあります。その昔、ギリシャ軍が贈り物と見せかけて、敵のトロイに巨大な木製の馬を贈りました。トロイがその贈り物を城壁の中の町に引きずり入れてしまうと、木馬の空洞になった胴体からギリシャ兵がこっそり外に出て城門を開き、仲間のギリシャ兵を町に入れてトロイを降参させたという話です。
トロイの木馬とは何か
トロイの木馬とは隠されたコードのことで、ゲームやスプレッドシートのような一見安全そうな場所に潜んで悪事を働きます。プログラムが実行されると、それは一見普通に動作しているようにみえますが、その実隠れたところで情報を壊し、損傷させ、改変させる活動を起こしています。それは単独で活動するプログラムで、宿主プログラムを必要としません。トロイの木馬の一例として挙げられるのが、Christmas executable です。これを実行すると、サンタクロースのアニメーション画像が現れて、"メリークリスマス" というキャプチャが表示されます。しかしその背後で、付け足されたコードがファイルを削除するなどの悪意ある操作を実行しているのです。
トロイの木馬はどうやって広まるのか
トロイの木馬は、電子メール、およびコンピュータ間でのディスク メディアや情報の交換が原因で広まります。また、ワームもトロイの木馬を広める媒体となります。
トロイの木馬がもたらす被害
トロイの木馬がもたらす被害は、ウイルスがもたらす被害とほぼ同じです。しかしトロイの木馬の場合、被害は隠れた場所で起こっているので、気づかないユーザーが多いようです。
ワーム
背景
ワームは最初、分散型の環境でタスクを実行する正規のメカニズムとして使用されていました。1982 年に、Xerox Palo Alto Research Center で行われた実験によって、ワームはネットワーク管理タスクを実行するのに前途有望だとされました。しかし、1 つ重大な問題があり、それはワーム自体の管理でした。すなわち、一度に複製するワームの数を管理するのが難しかったのです。
1987 年 12 月、IBM メインフレームを Christmas Tree Exec が攻撃したのをきっかけに、ワームはコンピュータ セキュリティへの脅威として認識されるようになりました。ワームは、世界中に広がっていたIBM ネットワークと BITNET を停止させました。しかし、Christmas Tree Exec は本物のワームではなく、複製のメカニズムを持つトロイの木馬でした。実行可能コード (REXX) がついた電子メールのクリスマス カードを受け取り実行すると、プログラムが作動してクリスマス ツリーをディスプレイに表示させます。しかしその一方で、ユーザーのアドレス帳に登録されている人すべてに自己の複製を送りました。
インターネット ワームは本物のワームです。それが世に出たのは、1988 年 11 月 2 日でした。ワームは、インターネットにつながっている Sun and DEC UNIX のシステムを攻撃しました (それぞれのシステムに 1 つずつバイナリを含んでいました) 。ワームは、TCP/IP プロトコル、送信メールの脆弱性、プロトコルのアプリケーション層、オペレーティング システムのバグ、およびシステム管理フローを利用して増殖しました。ワームの管理の難しさが、システムの著しい動作不良、ネットワーク サービスの妨害を生む結果となりました。ワームは、オペレーティング システムのフローや一般的なシステム管理上の問題を利用しました。
ワームとは何か
下に挙げるのは、ワームであるのに必要な特徴です。
複製可能である。
単独で行動し、宿主を必要としない。
複製プロセスによって活動を始める (マルチタスクのシステムを必要とする)。
ネットワーク ワームの場合、通信リンクをまたいで複製ができる。
ワームは複製可能なプログラムです。このプログラムはさまざまな追加機能を持つこともあります。最初のネットワーク ワームは、便利なネットワーク管理機能を実行するものでした。ワームは便利な機能を実行するために、システム プロパティの利用権を持ちました。しかし、悪意のあるワームも、システム プロバティの利用権を持ちました。ワームを複製させて利用していた機関では、悪意のあるコードと悪意のないコードを識別できないこともありました。ワームはオペレーティング システムのフロー (バグ) や、システム管理の不十分さを利用して増殖しました。通例、ワームの活動は、ネットワーク全体の一時的な故障や停止を引き起こします。
ワームは単独で活動し、ネットワーク接続を利用してコンピュータからコンピュータへ移動していきます。ワームは複製によって、多くの異なるコンピュータに広まる可能性があります。ワームはほかのプログラムを書き換えることはありませんが、書き換えを行う別のコードを運んでいる場合があります。
ワームはどうやってネットワーク システムに影響をもたらすのか
ネットワーク環境と作成者がそろえばワームは発現します。ワームの作成者は、ネットワークのサービスや機能だけでなく、ワームがコンピュータに到着してから重要になるオペレーション機構についても精通しています。ワームに対しての防御は、不正侵入に対しての防御とほぼ同じ意味を持ちます。侵入者がコンピュータに侵入できるなら、もちろんワームも侵入できるからです。許可されていない操作を禁止するセキュリティ対策を実施していれば、ワームからの安全も確保できるでしょう。
ワームはどのようにして広がっていくのか
ワームは、ほかのプログラムやユーザーの操作や介在なしに複製可能な自立したプログラムです。ワームは、マルチタスクのコンピュータやネットワークに接続されているコンピュータ上で発見されます。
ワームがもたらす被害
たいていのワームは、サービスを妨害しシステム管理上の問題を生み出します。パスワードやセキュリティ ホールを探し出し、攻撃者にその情報を返送する昨日を持ったワームもいます。また、システムに損傷を与えるトロイの木馬やウイルスをインストールするワームもいます。
マクロ ウイルス
マクロ ウイルスとは、スプレッドシートのワークシートに付着する、もしくはスプレッドシート内にプログラムされるウイルスのことです。Word ドキュメントや、Microsoft PowerPointョ プレゼンテーションなどの製品にプログラムされることもあります。
マクロ ウイルスは、Microsoft Office 製品に使用される Visual Basicョ for applications、ロータス スクリプト、WordPerfect マクロなどの、高度な言語で記述されています。マクロ ウイルスは、データ ファイルに寄生するので、実行ファイルの保全性を保護するメカニズムはバイパスしてしまいます。ドキュメントは電子メールで頻繁に交換されるので、ウイルスを広めるのに最適の媒体となります。マクロの記述に使用できるインストラクションは、ウイルスの作成にも使用でき、マクロファイルの中にウイルス コードを潜ませることができます。
マクロ ウイルスの例として、メリッサ マクロ ウイルスが挙げられます。メリッサ マクロ ウイルスは、Word ドキュメントにプログラムされて、電子メールの媒介で広まりました。ドキュメントを開いてしまうと、マクロ ウイルスがグローバル アドレス リストの上位 50 名に自己の複製を送信するというものでした。これによって、世界中の主要な電子メール システムがクラッシュし、ネットワークの帯域幅は過負荷状態になりました。
付録 D: セキュリティの脆弱性
脆弱性とは、セキュリティ上の弱点やセキュリティ ホールのことです。攻撃者は、ネットワークへのアクセス、およびリソースの獲得のためにこの脆弱性を利用します。脆弱性とはあくまで利用される弱点のことで、それ自体が攻撃なのではありません。このセクションでは、一般的な弱点についていくつか説明していきます。脆弱性の種類は多岐におよび、すべてを説明するには何百ページも費やさなくてはならないでしょう。ある特定のシステムにどんな脆弱性があるのかを知るためには、ソフトウェアやハードウェアのベンダに相談して、製品の調査やテストをするのがよいでしょう。
一般的なネットワーク接続手順とプロトコルにおける脆弱性
今日、オペレーティング システムで最もよく使用されるプロトコルは、TCP/IP プロトコルです。このプロトコルを幅広く使用することで、Microsoft と UNIX のような異なるアーキテクチャのオペレーティング システムを統合することができます。多くの企業でこの相互運用性を利用し、プログラムの起動および情報の転送や公開などにさまざまな TCP/IP ユーティリティを使用しています。しかし、このユーティリティの性質上、さまざまなセキュリティ リスクが存在します。ユーザーは、混じり合った環境の中で、しばしば同じパスワードを使用します。また、パスワードが自動的に同一なものに設定されることもあります。ハッカーが Microsoft システム以外の場所でパスワードを盗んでも、それで Microsoft システムにログオンできる可能性があるのです。
Telnet
Telnet プロトコルは、ユーザーがネットワーク越しにシステムにログオンし、あたかも直接接続されているかのように操作することを可能にします。telnet コマンドは、リモート システムへのインターフェイスを提供します。Microsoft telnet クライアントを使用して、Microsoft Windows 2000 Telnet サービスへログオンする際は、NTLM プロトコルを使用します。問題が生じるのは、Microsoft システムと UNIX システムを統合するときです。Microsoft telnet クライアントから UNIX TELNET デーモン サービス、もしくはその逆でログオンするとき、 ユーザー名とパスワードが普通のテキストで送信されてしまいます。ユーザー名もパスワードも暗号化されていないので、盗聴者がユーザー名とパスワードを傍受することが可能になります。
File Transfer Protocol
File Transfer Protocol は、ユーザーがリモート システムに接続してファイルをやりとりすることを可能にします。FTP でリモート コンピュータへ接続するとき、ユーザー名とパスワードが認証に使われます。FTP で接続するときもユーザー名とパスワードが 1 パケットにつき 1 文字づつ普通のテキストで送られていくので、Telnet のケースと同様のセキュリティ上の問題が生じます。これらのパケットも傍受される可能性があります。
もう 1 つ、匿名 FTP という問題もあります。匿名 FTP は、アカウントを持っていないユーザーによる、特定のディレクトリを介してのファイルのやりとりを可能にします。この機能は、ソフトウェアやドキュメントを公共に配布するとき特に有効です。匿名 FTP を利用するとき、ユーザーはリモート コンピュータの名前を引数として渡し、ユーザー名として "anonymous (匿名)" を使用します。
匿名 FTP の問題点の 1 つは、だれがどんな情報をリクエストしたかが記録されないことです。また別の問題点は、サービス拒否攻撃にあう可能性があることです。意図的な、または偶発的なサービス拒否攻撃によってファイル転送がいっせいに始まり、許可されたユーザーはシステムへのアクセスを拒否される可能性があります。理論上ネットワーク内のすべての人がアクセスできることになるので、匿名 FTP アカウントは安全に設定することが必要です。もし、匿名 FTP アカウントが安全に構成され管理されなければ、クラッカーにファイルを改ざんされる可能性もでてきます。
Trivial File Transfer Protocol
Trivial File Transfer Protocol (TFTP) 6 は、ディスクレスのホストをネットワーク越しにブートするときによく使用されるファイル転送プロトコルです。Microsoft Windows 2000 は TFTP サービスを UNIX フレーバーで使用できるクライアント ユーティリティを実装しています。TFTP はユーザーの認証を行わないので、予期しないファイルの転送が起こる可能性があります。TFTP の使用によってパスワードファイルが盗まれれば、被害は深刻です。
ユーザー情報を公開するコマンド
Microsoft 製品と UNIX フレーバーとの間の相互運用性は珍しくありません。 7
ユーザーやシステムの情報を公開するコマンドは脅威をもたらします。なぜなら、クラッカーはそれらの情報を利用してシステムに侵入できるからです。このセクションでは、システムを侵入に対して脆弱にするコマンドの出力について説明します。
Finger
Windows NT と Windows 2000 の finger クライアント ユーティリティは、UNIX ベースのコンピュータに実装されている finger デーモン サービスへ接続して、ユーザー情報を引き出すのに使用される可能性があります。finger クライアント ユーティリティを使ってある名前を引数として実行すると、UNIX サーバー上のパスワード ファイルが検索され、氏名やユーザー名にその名前が含まれているユーザーの情報が返されます。finger プログラムが引数なしで実行されると、その時システムにログオンしているユーザー全員の情報が表示されてしまいます。ローカル コンピュータだけでなく、リモート コンピュータのユーザー情報も表示されます。
通例、フィンガーからはログオン名、フル ネーム、ホーム ディレクトリ、最後にログオンした時間などが出力され、時には電子メールを受け取った時間、読んだ時間なども出力されます。ほかのユーザーが利用できるよう、パスワード ファイルの中に電話番号などの個人情報が含まれていることもあります。ユーザーに関する個人情報を利用可能にしておくのは、セキュリティへの脅威をもたらします。なぜなら、パスワード クラッカーがこの情報を使うかもしれないからです。さらに、フィンガーはログオン状況も明らかにしてしまいます。
Rexec
rexec ユーティリティは、Microsoft Windows NT と Windows 2000 のクライアントとして提供されます。rexec クライアントは、rexecd サービスを実装している UNIX ベースのシステム上でのリモート実行を可能とします。クライアントは、ユーザー名、パスワード、実行したいコマンド名を記したメッセージを送信します。rexecd プログラムは、有効なアカウントの名前をシステムから探し出すのに利用でき、悪用される可能性があります。さらに、パスワードはネットワーク上を暗号化されずに送信されます。
プロトコル設計
通信プロトコルが弱点になる場合もあります。攻撃者はこれを使って情報を集め、ついにはシステムへのアクセスを得ます。プロトコルについては、以下のような既知の問題があります。
TCP/IP - TCP/IP プロトコルは弱点があり、以下の行為が可能となります。
IP アドレス スプーフィング
TCP 接続リクエスト (SYN) 攻撃
ATM。駐車場の下やエレベーター シャフトにあるネットワーク ケーブルやコネクションに直接手を触れる "manhole manipulation" と呼ばれる行為によって、セキュリティが脅かされる可能性がありますす。
フレーム リレー - ATMと同様の脆弱性を持ちます。
パスワードの弱点
ユーザーがパスワードを自分で選んでいる限り、パスワードが脆弱性となる可能性は消えないでしょう。一般的に、パスワードをたくさん持つと、どのパスワードが正しいのか覚えていられなくなるので、結局いつも同じパスワードを使用してしまうユーザーが多いです。しかも、覚えやすいという理由で、誕生日の日付や愛する人の名前がパスワードに設定されます。推測が容易なパスワードは、脆弱性になります。
パスワードは、言わばコンピュータを開く鍵のようなもので、非常に重要なものです。システムへ侵入する足掛かりの欲しいハッカーたちは、常にパスワードを狙っています。弱点のあるパスワードは、コンピュータだけでなくネットワーク全体へハッカーの侵入を許してしまうかもしれません。パスワードは家の鍵と同じくらい大切に扱ってください。犯罪発生率の高い場所で、鍵をかけずに外出する人はいません。
デバイスの管理
スイッチやルーターは HTTP Web インターフェイスやコマンド ライン インターフェイスによって簡単に操作できます。たとえば共通パスワードなどの弱点があるパスワードと組み合わせれば、専門知識のある人間ならだれでもデバイスを制御できるようになります。
モデム
モデム接続は大きな脆弱性を生むため、コンピュータにインターネットへ接続するモデムが搭載されているなら、適切な予防策を講じる必要があります。
許可されていないモデムは、深刻なセキュリティ上の問題点です。ハッカーはターゲットの組織体のモデムを識別するのに、"war dialer" と呼ばれるツールを使用します。war dialer は、ある特定の範囲内の電話番号に自動的に電話をかけるコンピュータ プログラムです。組織体の電話番号は続き番号を使用していることが多く、組織体の電話番号が 1 つわかれば、その前後の番号も組織体の電話番号だと類推できます。
war dialer は、ターゲットにした範囲の電話番号すべてにダイヤルし、モデムの電話番号を識別し、モデムの特徴を判別します。ハッカーはまた別のツールを使って、コンピュータ ネットワークへのアクセスを得ようとモデムを攻撃します。war dialer は、インターネットから無料でダウンロードできます。
参考資料
文献
『Practical Unix and Internet Security』 Garfinkel, Simson, and Gene Spafford (O'Reilly & Associates, Inc., April 1996)
『Computer Security』 Gollmann, Dieter (John Wiley and Sons, August 1999)
『Microsoft Windows 2000 Resource Kit』 Microsoft Corp (Redmond, WA: Microsoft Press, 2000)
『Microsoft Windows NT Server 4.0 Resource Kit』 Microsoft Corp (Redmond, WA: Microsoft Press 1996)
『Microsoft Windows NT 4.0 Workstation Resource Kit』 Microsoft Corp (Redmond, WA: Microsoft Press 1996)
『Windows 2000 Server Security for Dummies』 Sanna, Paul (IDG Books Worldwide, 1999)
オンライン出版物
Threat Assessment of Malicious Code and Human Threats Bassham, Lawrence E., and W. Timothy Polk National Institute of Standards and Technology Computer Security Division
Electronic Sabotage Brown, Carol E. and Alan Sangster
Things that Go Bump in the Net Chess, David
Network-Based Denial of Service Attack Information Huegen, Craig
Have Script Will Destroy (Lessons in DoS) Martin, Brian
Automated Crime Parker, Donn
Department of Defense Trusted Computer System Evaluation Criteria (Orange Book) National Computer Security Center
Trusted Network Interpretation (Red Book) National Computer Security Center
Web サイト
ウイルス、トロイの木馬、インターネットでのいたずらに関しての詳細は、以下のサイトをご覧ください。
The Computer Incident Advisory Capability site https://doecirc.energy.gov/ciac/index.html
The E-Commerce Webopedia https://e-comm.webopedia.com/
分散型サービス拒否攻撃についての詳細は https://www.icsa.net/ をご覧ください。
オンライン ファイナンシャル サイトのためのバックエンド システムについては、 https://www.incurrent.com/ をご覧ください。
セキュリティについての詳細は Pretty Good Privacy のホームページをご覧ください。https://www.pgp.com/
本書に記載されている情報は、発行時点で議論されている問題点に関する Microsoft Corporation の最新の見解を示しています。Microsoft は変化する市場状況に対処しなければならないため、本書の内容を Microsoft の確約事項として解釈してはならず、Microsoft は発行日以降に提示された情報の精度についてはいかなるものであれ保証致しません。
本書は、情報の通知のみを目的としており、Microsoft は本書に記載されている情報について明示的にも暗黙的にも一切の保証を致しません。
Microsoft、MS-DOS、PowerPoint、Microsoft Press、Visual Basic、Windows、および Windows NT は、米国 Microsoft Corporation の米国およびその他の国における登録商標または商標です。
Macintosh は Apple Computer,Inc の登録商標です。
1 | 1999 年 3 月 9 日 "核機密情報の漏洩による被害状況を CIA が算定" |
2 | 1999 年 10 月 18 日 WASHINGTON (IDG) - 米下院司法委員会は、デジタル署名は手書きの署名と同等の法的効力を持つとして、電子商取引での使用を許可する法案を承認した。 |
3 | World Wide Web Consortium (W3C) は、Privacy Preferences Project (P3P) のためのプラットフォームを開発中です。 |
4 | "eToys 社への攻撃は強固な Web 防御の必要性を示唆" NetWork World、1999 年 12 月 20 日 |
5 | SecurTek Corporation |
6 | Windows 2000 のクライアントは、Trivial File Transfer Protocol クライアント ユーティリティを使って UNIX コンピュータから情報を引き出すことができます。Windows 2000 は現在 TFTP サーバーサービスを実装していませんが、ユーティリティはいまだ UNIX システムへ認証なしで使用されています。 |
7 | Windows では現在このサービスを実装していませんが、ユーティリティはいまだ使用されています。このクライアント ユーティリティは、Microsoft Windows とUNIX システムの間に相互運用性がある場合に使用可能です。 |
目次
- セキュリティ プラニング
- セキュリティ戦略
- セキュリティへの脅威