【特集】ハニーポットを利用したネットワークの危機管理
〜おとりサーバで侵入者、攻撃者の手法を分析〜
田原祐介
株式会社ラック
/不正アクセス対策事業本部
2002/1/19
侵入者、攻撃者をおびき寄せる甘いわな |
セキュリティに興味を持って取り組んでいる人ならば、ハニーポット(honeypot)という文字を目にしたことがあるのではないだろうか? もともとハニーポットはその名が表すとおり、はちみつ(honey)が入ったつぼ(pot)のことを指すようだ。そして名前から連想されるように、ハニーポットは、悪意を持ったハッカー(侵入者、攻撃者)をおびき寄せる甘いわなとなる。
ハニーポットの仕組みや考え方は実に単純で、セキュリティ的に問題のある(脆弱性を持った)サーバやネットワークを、わざとインターネットにさらしておく。そして、それらを徹底的に監視し、調査することによって、攻撃者の手法や侵入者の行動を研究することにある。特に、CodeRedワームがはやったときには、いち早くワームの亜種を「捕獲」して分析する、といったことにも使われた。
また、重要なサーバとは別にハニーポットを設置しておくと、攻撃者の興味は比較的脆弱なハニーポットへ向けられる。こうすることによって、重要なサーバへの攻撃をそらし、攻撃者の行動を把握するという目的もある(図1)。
図1 攻撃者をおびき寄せるハニーポットの設置例 |
ハニーポットによって、侵入者、攻撃者の行動はすべて筒抜けになる。そのため、ハニーポットがネットワークに設置されているかもしれないという心理が侵入者、攻撃者に働いた場合は、不正アクセスを抑止する効果もあるといわれている。しかし、後述するように、ハニーポットが逆に不正アクセスを助長してしまう可能性もあるため、安易にハニーポットを設置するのも危険だ。このような理由から、ハニーポットは長い間アンダーグラウンド的な扱いを受けてきた。
|
“The Honeynet Project” |
ハニーポットを使って研究を行っているグループはいくつかあるようだが、一番有名なのは The Honeynet Project(以下Honeynet)だろう。そのメンバーはそうそうたるもので、有名なネットワークツールの開発者たちが多く参加している(http://project.honeynet.org/members.html)。
彼らはプロジェクトの目的として、注意喚起、教育、研究などを挙げている。研究の成果が、彼らがかかわるツールの開発に大きく関係しているのは明らかだが、注意喚起や教育を目的として掲げていることからも分かるように、かなりまじめなプロジェクトのようだ。実際に、Honeynetのホームページには役に立つ資料がたくさんあるので、興味のある人は一度のぞいてみるとよいだろう。
資料の1つに目を通してみると、彼らのハニーポットは複数のサーバから構成されるネットワークらしいことが分かる(プロジェクト名の Honeynetからも分かる)。そしてそこで使われているツールは特に特殊なものではなく、まさにプロジェクトのメンバーたちが開発しているネットワークツールのようだ。
ハニーポットの構築例 |
それでは、ハニーポットを導入しているグループや企業は、いったいどんな製品を使っているのだろうか? 名前が知られているところでは、以下のハニーポット製品などがある。
これらの製品は、いずれもOSやシステムを「偽装」するようだ。それに対して、本物のOSやシステム(もちろん重要なデータは置かずに)を使用するハニーポットがある。本物を使うことによって、よりリアルな環境で監視することができる。
Honeynetは、後者のタイプのハニーポットを、ネットワークツールを駆使して独自に作成している。これより以下では、Honeynetの資料を基にして、筆者のチームで構築したハニーポット(ネットワーク)を紹介する(図2)。
図2 構築したハニーポットのシステム(大きな枠が、1つの物理的なマシン) |
システムで使用したツールを以下に紹介する(この中のいくつかは、Honeynetでも使用されているようだ)。
VMwareは、1つのホスト上で、複数の仮想OSを動かすことができる。それぞれの仮想OSは、ある程度脆弱性が残された状態でインストールされており、これらが独立したハニーポットとして動作する。仮想OSではあるが、VMwareはハードウェアをエミュレーションするため、インストールする仮想OSには本物のOSを使用する。そのため、攻撃者から見ると、仮想OSは本物のOSにしか見えない。
それぞれの仮想OSは、ホストOS上では1つのアプリケーションとして見える。また、それぞれの仮想OSのハードディスク領域は、ホストOS上では1つのファイルとして保存される。そのため、ファイルを置き換えることによって、仮想OSをインストール直後のクリーンな状態に戻したり、侵入されてしまった状態をそのまま保存しておくことができる。
また、ホストOSにLinuxを選択することにより(ほかにはWindows版がある)、後述するiptablesを使って、ホストOSをファイアウォールにすることができる。そのため、たった1つのホストで、複数のハニーポットとファイアウォールで構成されたネットワークを構築することができる(図2)。
iptablesは、Linux 2.4で実装されたパケットフィルタリングの機能を制御するためのツールだ。Linux 2.2のころは、ipchainsと呼ばれるツールが存在したが、Linux 2.4ではパケットフィルタリング機能が大幅に変更されたのに伴って、新しい機能を持ったiptablesツールを使用して、以下の仕様を満たすように設計されている(図3)。
・インターネットからハニーポットに対しての通信はすべて許可する
ハニーポットは、攻撃者にとって「興味をそそる」ものでなければならない。攻撃を成功させてハニーポットに侵入させるためには、インターネットからハニーポットへの通信はすべて許可する。
・ハニーポットからインターネットに対しての通信は拒否する
侵入者、攻撃者は、ハニーポットへの侵入に成功すると、そこを踏み台にしてほかのマシンに侵入を試みる。また、ハニーポットに違法なファイルを置いたり、それを交換するために勝手にアプリケーションをインストールすることもある。安易にハニーポットを設置すると、このようにほかのサイトに迷惑をかけることになり、不正アクセスを助長する結果となる。
これを防ぐために、ハニーポットからインターネットへの接続を、ファイアウォールですべて拒否する。また、VMwareの機能を利用して、仮想OSは定期的にクリーンな状態に戻すようにする。
ところが攻撃者は侵入に成功すると、ほとんどの場合、何らかのツールをインターネット経由でダウンロードする。そのためダウンロードができないとなると、すぐに怪しまれて逃げ出される可能性がある。Honeynetではこれを防ぐために、インターネット側への通信は、回数を限定して許可しているようだ。
図3 iptablesを使ったファイアウォール機能 |
フリーのネットワーク型IDSで、攻撃手法の傾向を記録し、統計を取るために使用するが、通知目的には使用しない。なぜならば、上記で説明したように、ファイアウォールでインターネットからのアクセスを素通しするようになっているため、大量の攻撃を検知する。そのため、IDSで検出した不正アクセスをメールなどで通知すると、大量のメールが送信される可能性があり、結果として重要なメールが埋もれてしまう可能性があるので、統計を取るためだけに使用している。
また、snortのシグネチャの作成方法は公開されており、新しい攻撃手法が発見されたときなどに、すぐにシグネチャを追加することができる。
tcpflowは、特定のTCPセッションをファイルに記録する。これは、攻撃手法や、侵入後の攻撃者のキーストロークなどを記録するために使う。Honeynetでは、ハニーポットのシェルを改造して、syslog経由のリモートホストで記録する方法が紹介されているが、ハニーポット上で tcpdumpなどを用いれば、syslogの通信は簡単にばれてしまう。そのため、できる限り侵入者、攻撃者にハニーポットであることに気付かれないような方法を用いて、記録を行う(図4)。
図4 キーストロークの記録方法 |
ハニーポットとIDSの関係 |
ハニーポットを構築してみると、ハニーポットはIDSの一種として位置付けられることが分かる。
典型的なホスト型IDSの場合、あらかじめ監査するように設定しておいたファイルの書き換えや、不正なユーザーのログインなどが発生したら、それを検知して通知する仕組みを備えており、ここまではハニーポットとそれほど変わらない。ただし、ホスト型IDSは、侵入者、攻撃者にたやすくその存在を知られるため、ハニーポットでは逆に足かせになりかねない。また、IDS自体を停止させられてしまう可能性がある。
また、よく言われているように、一度侵入されてしまったホストのログはまったくあてにならない。なぜならば、ログ自体が消去されてしまったり、改ざんされている可能性が高いからだ。そのため、侵入後のログを正確に記録するには、ほかの仕組みが必要となる。
そこで、ネットワーク型のIDSを用いて、侵入者、攻撃者に気付かれないようにログを記録する。ただし、ネットワーク型のIDSでは、攻撃が起こっていることを検知するのは可能だが、“侵入に成功した”ことを検知するのは難しいため、何らかのツールを用いて侵入の成功を検知する必要がある。また、その後の侵入者、攻撃者の行動を分析する手法も確立しなければならないだろう。
いまのところ、これらの技術は試行錯誤の段階で、良い手法はまだ確立できていないが、以下の表にあるような情報の相関関係より、効率的に監視/分析を行う手法が考えられるだろう。
|
||||||||||
ログ/記録から推測できる情報 |
ハニーポットの有効性 |
ハニーポットの有効性を考える前に、まずハニーポットの運用は容易なものではない、ということを正しく理解していただきたいと思う。すでに述べたように、ハニーポットを設置することによって、ほかのサイトに迷惑をかける可能性がある。また、運用も試行錯誤になるため、かなりの手間と時間がかかるだろう。
それでは、どういった場合にハニーポットは有効に働くのだろうか?
● セキュリティ製品の開発に役立てる
攻撃者の手法や傾向を研究することによって、セキュリティ製品の開発に役立てることが考えられる。セキュリティ製品は、日々新しくなる攻撃の手法などに素早く対応する必要があるため、ハニーポットを使った研究の成果が有効的に働くだろう。
● 脅威が目に見える
ハニーポットを導入することによって、日々の脅威が、ログなどの目に見える形で表れる。そのため、セキュリティ対策に予算を取ってもらうのに、格好の資料となるだろう。
● 重要なサーバを注意からそらす
ハニーポットをおとりとして使用することによって、重要なサーバを攻撃者の注意からそらすといったことにも有効だ。ここで気を付けなければならないのが、あくまで注意をそらすということであって、攻撃から守ることができるわけではない。
● 社内のリスク管理
これまでは、インターネット側にハニーポットを設置して、社外からの攻撃を監視するといった使用方法を紹介したが、社内のリスク管理に利用することも考えられる。例えば、社内に設置することにより、データを盗んだり改ざんするといった不正行為の試みを察知して、事件の発生を未然に防ぐことができる。実は、このような社内の不正行為は、IDSよりもハニーポットの方が検知しやすいのだ。実際、社外に設置するよりも、社内に設置して社員の不正行為を監視するといった使い方の方が、多くの効果を挙げているという報告もあるようだ。
今後のハニーポットの展開 |
ハニーポットは、まだまだ研究の余地のある分野で、さまざまな課題が残っている。例えば、以下のような点が挙げられるだろう。
● ハニーポット自体が不正アクセスを助長する
侵入されたハニーポットが、踏み台となったり、不正なファイルの交換場所になる場合がある。特に、CodeRedのようなワームは侵入から感染までがすべて自動で、しかも高速で行われるため、ハニーポットを設置するだけで、ほかのサイトに被害を与える可能性がある。
● 複雑な構成
ハニーポットは、侵入を検知して不正な行為を監視し、分析を行うのに十分な記録を取らなければならない。このように、多くの技術を組み合わせて構成されるハニーポットは、その設計と構築に多大な労力を必要とする。
● データ分析の難しさ
ハニーポットで収集されるデータは多岐にわたり、そのデータを基に、攻撃の手法や不正な行為の証拠を特定するには、多くの知識と経験と時間を必要とする。
● 運用の難しさ
ハニーポットは、放置しておけばよいものではない。ログが正しく記録されているかなど、気を配っていなければならない。特に、不正アクセスを助長する結果となっていないか、という点については、特に気を付ける必要がある。また、上記したように、データ分析については多くの時間がかかるため、運用に時間がかかりすぎて、結果として面倒見切れなくなるといった可能性がある。
これらの課題は残っているが、ハニーポットは今後重要なセキュリティ対策として、伸びていくだろう。なぜならば、昨今の攻撃者の手法を分析してみると、アプリケーションの脆弱性が公開されてすぐにその脆弱性を利用した攻撃手法が開発されたり、アンダーグラウンドでは公開前の段階からすでに攻撃ツールが出回るということもある。
また、攻撃手法やツールは日々進化しており、不正アクセスの高速化/自動化が進んでいる。このような状況では、従来のセキュリティ対策では、間に合わなくなってしまう日がいずれやってくるかもしれない。前述してきたように、ハニーポットを使った監視や研究が、すぐに個人や企業のセキュリティ対策に影響を及ぼすことは少ないと思われるが、不正アクセスの兆候の早期発見など、社会全体のセキュリティの向上に貢献する可能性は高いだろう。
|
||||
|
Security&Trust記事一覧 |
- Windows起動前後にデバイスを守る工夫、ルートキットを防ぐ (2017/7/24)
Windows 10が備える多彩なセキュリティ対策機能を丸ごと理解するには、5つのスタックに分けて順に押さえていくことが早道だ。連載第1回は、Windows起動前の「デバイスの保護」とHyper-Vを用いたセキュリティ構成について紹介する。 - WannaCryがホンダやマクドにも。中学3年生が作ったランサムウェアの正体も話題に (2017/7/11)
2017年6月のセキュリティクラスタでは、「WannaCry」の残り火にやられたホンダや亜種に感染したマクドナルドに注目が集まった他、ランサムウェアを作成して配布した中学3年生、ランサムウェアに降伏してしまった韓国のホスティング企業など、5月に引き続きランサムウェアの話題が席巻していました。 - Recruit-CSIRTがマルウェアの「培養」用に内製した動的解析環境、その目的と工夫とは (2017/7/10)
代表的なマルウェア解析方法を紹介し、自社のみに影響があるマルウェアを「培養」するために構築した動的解析環境について解説する - 侵入されることを前提に考える――内部対策はログ管理から (2017/7/5)
人員リソースや予算の限られた中堅・中小企業にとって、大企業で導入されがちな、過剰に高機能で管理負荷の高いセキュリティ対策を施すのは現実的ではない。本連載では、中堅・中小企業が目指すべきセキュリティ対策の“現実解“を、特に標的型攻撃(APT:Advanced Persistent Threat)対策の観点から考える。
|
|