Linux LiveCDを使用してシステムのセキュリティーを評価する

脆弱性の見極めに特化した4枚のLiveCD

時間のかかるインストールや構成作業なしにLinuxシステムのセキュリティー脆弱性を評価できたら、と思いませんか?LiveCDのマジックを通じてそれを可能にする4つのパッケージ、すなわち、Auditor、Whoppix、Knoppix-STD、およびPHLAKを紹介します。

「真にセキュアなシステムは、電源が切られ、コンクリートで固められ、鉛が張られた部屋に密閉され、武装衛兵に守られているシステムだけである。」

- Gene Spafford(パーデュ大学CS教授、セキュリティーおよびネット犯罪問題コンサルタント)

Mayank Sharma (geeky_bodhi@yahoo.co.in), Freelance technical writer

Mayank Sharmaは過去5年間、主にフリー・ソフトやオープン・ソフトウェアに関する技術記事を書いてきています。またアジアでの先端的なF LOSS月刊誌、LINUX For Youの立ち上げに(副編集者として)貢献し、現在はローカライズに特化したWebベースの資料公開のとりまとめや教育、F LOSSへの移行などに多忙な日々を送っています。Mayankは執筆活動の他にハッキングにも熱心で、最近ではUtkarshローカライズ・プロジェクト用のインストーラーに寄与しました。現在もコンピューター・サイエンスの学位を取るべく苦闘しながら、フォーミュラ・ワンのカー・レースにも熱中しています。



2005年 7月 27日

システムを安全に保つためにそこまで極端に走る人はいませんが、では、どのようにして脆弱性を評価したらよいのでしょうか?あるいは、インターネットに接続されていて、文字通り数千の入口があるコンピューターの脆弱性は?ネットワーク管理者が管理している場合でも、オフィス・ネットワークのセキュリティ・レベルを判断するにはどうしたらよいのでしょう?

この潜在的な危険を考えただけで恐ろしくなった私は、インターネットに飛び込んで、システムとネットワークのセキュリティーの頑強さを評価するのに役立つツールを探しました。そうすれば、より安全にできるだろうと考えたのです。検索の結果、いくつかの成果がありました。無料でダウンロードして使用できる優れたツールが見つかったのです。この記事では、これらのセキュリティー評価ツールと、それらを使用してシステムをテストする最も簡単で時間のかからない方法について説明します。

ツールがたくさん!

システムをより安全にすることはさておき、システムがあらゆる種類の攻撃に耐えられるかどうかを判断するためのツールが色々あります。たとえば、

  • blockallのようなファイアウォールを使用すると、TCP着信トラフィックのすべてを制限できます。floppyfwのようなツールを使用すると、フロッピーをファイアウォールにできます。
  • labreaは、ワームとポート・スキャナーをからめ取って無力化するハニーポットです。
  • 有名なSnortやlogsnorterなど、侵入検知システム(Intrusion Detection System:IDS)も色々あります。
  • ethereal、dsniff、driftnet、urlsnarf、msgsnarfなどのパケット・スニッファーは、帯域幅を無駄遣いするIMメッセージなどの無用なトラフィックの検出に役立ちます。
  • airsnarf、airsnort、kismetなどのワイヤレス・ツールは、無線ネットワークの強度を評価するのに役立ちます。
  • chntpw(Windowsマシン上のパスワードをリセットできます)やpwl9x(Windows 9xのパスワード・ファイルをクラックできます)、allwords2(27MBの英語辞書)を組み合わせた場合の成功率の高さを見ると、英数字を組み合わせた、長くてわかりにくいパスワードを使わなければならない必要性がよくわかります。
  • また、すべてを保護してあると思っているのであれば、hydra、nessus、nmapなどの脆弱性評価ツールを試してください。

なんと!これらのツールのほとんどは、Linuxでしか使えません。

Linuxは問題ありません。結局、Linuxは無料ですし、家庭用のシステムで動かすことができるのですから。しかし、Linuxのインストールと構成で週末を潰したくはありませんよね?私はイヤです。また、職場のマシンをテストしたい場合、どうしたらよいのでしょう?Linuxをインストールする許可を得るには?もっと簡単な解決策があるはずです。

あります。ようこそ、LiveCDセキュリティ評価ツールの世界へ。


LiveCDについて

LiveCDは、ブータブルCD-ROMに格納されたオペレーティング・システム(プラス、その他のソフトウェア)であり、時間のかかるインストール作業をしなくても、CD-ROMからOSを実行することができます。ほとんどはLinuxカーネルに基づいています(ただし、他のオペレーティング・システム用のLiveCDもあります)。ファイルをRAMディスクに入れることによって動作します(アプリケーション用のRAMを削ることになるのでパフォーマンスは低下しますが、ここではシステムのセキュリティーを評価することが目的だということをお忘れなく)。LiveCDを取り出してリブートすると、元のシステムが起動します。インストール・ユーティリティー付きのLiveCDもあり、ハード・ディスクやUSBキードライブにシステムをインストールすることもできます。ほとんどが、内蔵/外付けハード・ディスク、ディスク、およびFlashメモリー上の情報にアクセスできます。

syslinuxは、LinuxベースのLiveCDだけでなく、Linuxフロッピーを起動するために使用されます。PCの場合、ブータブルCDは一般にEl Torito仕様に準拠していて、ディスク上の特殊ファイル(おそらく隠しファイル)をフロッピー・ディスク・イメージとして扱います。多くのLiveCDでは、圧縮されたファイルシステム・イメージが使用され、多くの場合、記憶容量を効果的に増やすために、cloopで圧縮されたループバック・ドライバーが含まれています。

多数のエミュレーターが市販されているので、CDに焼いたり、コンピューター上で起動しなくても、LiveCDを試すことができます。最も広くサポートされているi386エミュレーターは、VMwareです。その他、Qemu、PearPC、Bochsなどがあり、いずれもx86やPowerPC®プラットフォームもエミュレートできます。ただし、エミュレーション方式により、市販版より低速です。もうひとつ市販のものとしては、VirtualPCがあります。

では、LiveCDセキュリティ・コレクションをいくつか見てみましょう。


Auditor

Auditorセキュリティ・コレクションは、Knoppixに基づいています。インストールの必要がないので、CD-ROMドライブにCDを挿入してから数分で分析プラットフォームにアクセスできます。

Auditorの開発リーダーであるMax Moserは、LiveCD環境の最大の利点は、そのメニュー構造であると言っています。ツールの名前がわからなくても、正しいツールを選ぶことができるようになっています。約300のツールのほかに、Auditorセキュリティー・コレクションには、標準的な構成とパスワードに関する説明情報と約6400万項目のさまざまな地域と言語の単語リストが含まれています。また、Webブラウザー、テキスト・エディターなどの生産性ツールや、分析レポートの作成に使えるグラフィック・ツールも収録されています。

auditor-hdinstallスクリプトを使用して、Auditorをハード・ディスクにインストールすることができます。2GBの空き容量が必要です。インストーラーはパーティションを自動作成しないので、フォーマット済みのパーティションを用意しておく必要があります。

LiveCDの自動構成スクリプトは、さまざまなハードウェアの操作を容易にします。Moserは、WellenreiterやKismetなどのワイヤレス・ツールはハードウェア自動識別機能を備えているので、無線カードにつき物の面倒な構成タスクが不要であると指摘しています。

図1. Auditorのツール
Auditor tools

Whoppix

Auditorと同様、WhiteHat Knoppixは侵入テスト(penetration testing:pentest)ツールです。Whoppixは、開発者のMutsが大規模組織の内部侵入テストを依頼されたときに生まれました。「侵入テスト・ガイドラインでは、自分のラップトップを持ち込んでもいけないし、ローカル・コンピューターにソフトウェアをインストールするなど、組織内のクライアントの構成を変更してもいけないことになっていました。」と彼は説明しています。

Whoppixは侵入テスターのパラダイスです。非常に多くの有用な侵入テスト・ツールと侵入手段(ハッカーがシステムへのアクセスを得るための手段)の巨大なリポジトリーを備えています。MutsはCD上のマニュアルの量に満足していませんが、マニュアルのパッキング・スタイルはユニークです。単にツールを説明するだけでなく、Mutsと委員会の数名のアクティブ・メンバーは、動作中のツールのデモをFlashで作成して、適切に構成されていないmsqlデータベースに侵入するのがいかに簡単か、初心者でもわかるようにしました。

バージョン2.6 SP1まで、Whoppixはデフォルトのknoppixカーネルを使用していました。新しいバージョン(まだリリースされていません)では、カスタマイズされた2.6.11.5カーネルが使用され、WiFiサポートが強化されています(Orinocoパッチ)。

Whoppixをハード・ディスクにインストールすることもできますが、Mutsはハード・ディスクへのインストールを全面的にサポートしているわけではありません。"lazy hacker"コンピューターをセットアップする代わりに、どこでも持ち運べる侵入テスト・プラットフォームを作ることが彼の狙いです。「長期的な目標の1つは、ツールのマニュアルを書いて、おそらく『Whoppix hacks' book』(『knoppix hacks'』のような)をリリースすることです」とMutsは述べています。「技術面でもそれ以外でも、Whoppix全般への協力を求めています。誰かマニュアルに協力してくれる人がいたら、それも大いに歓迎します。」

図2. Whoppixのツール
Whoppix tools

Knoppix-STD

このディストリビューションもKnoppixのカスタマイズ版であり、情報セキュリティー・ツールに主眼が置かれているため、STD(Security Tools Distribution)という名前になっています。Knoppix-STDは現在、プロジェクト発足以来の積極的な貢献者であるMark Cummingによって管理されています。CummingはKnoppix-STDの目的と他の同様のプロジェクトとの違いを次のように説明しています。「どのオープン・ソースにも言えることですが、同じジョブをするツールはたくさんあります。セキュリティーCDも同じです。そもそもの始めから、STDはユーザーフレンドリーであることをめざしていません。つまり、最小公分母を満たしてはいません。公式方針として、われわれはLinuxを目的を達成するための手段として使用しています。われわれは皆、Linuxの熱狂的なファンですが、STDはセキュリティー・ツールであってLinuxではありません。STDは、できるだけ余計なものを付け加えないようにしています。xwindowsを使わないだけでなく、何かをするための簡単なコンソール手段があれば、それを使用します。そのためだけにGUIを開発したりはしません。1つのジョブをするためのツールを1つに絞ることには、あまり関心がありません。事実、手に入るものは何でも含めるつもりです。」

STDはセキュリティーに関心がある人々のための補助教材として作られました。このことは、多数のマニュアルがあることを意味します。ツールセットごとにマニュアル・ディレクトリーがあります。/usr/bin下の関連ツールセット・ディレクトリーから、すべてのツールにアクセスできます。ハニーポット、ファイアウォール、IDSなどがあり、異種混在ネットワークのマッピングを容易にするネットワーク・ユーティリティーもあります。

「今は、STDを前進させるための開発チームの構造を作っています。「一人で何でも」体制から、それぞれチーム・リーダーが率いる複数の部門に分かれた、よりオープンな開発環境への移行を図っています。このような方法でLiveCDを開発するのは、ライブCDディストリビューションを開発してからビルドするという方法の性格上、トリッキーです。また、CVSなどをサポートするためのハードウェアや帯域幅インフラもまだありません」とCummingは説明しています。次のバージョンは現在のバージョンからかなり変わり、WiFiサポートが強化されるとのことです。「将来は、少数の無線カードのサポートを開発したいと思っています。9.99ドルという最低価格帯のカードを使用しているユーザーを支援するために必要なサポートのレベルが、われわれの開発時間を奪っているからです」とCummingは言います。

デフォルトで含まれている通常のKnoppix hd-installスクリプトを使用して、STDをハード・ディスクにインストールすることもできます。STDは人々の問題解決に全力を尽くしていますが、多くの初心者がRedHatデスクトップに直接代わるものと考えたため、公式サポートは中止しました。

STDフォーラムは非常に活発であり、Knoppix-STDについて知りたい場合、はじめに訪れるべき場所です。

図3. Whoppixでの脆弱性テスト
Vulnerability test in Whoppix

PHLAK

PHLAK(Professional Hacker's Linux Assault Kit)は、Morphixの派生物です。Morphixはモジュール式なので、CD全部をばらばらにしなくても、ミニモジュールを使用して個人用ツールや設定を追加することができます。Morphixの開発機能はすべて、PHLAKでも使用できます。

「われわれはPHLAKに教育的側面も追加しました。ユーザーはマニュアルを読んで、セキュリティーについて、また、ツールの使い方を学ぶことができます」と説明するのは、PHLAKの共同開発者でありWebマスターでもあるShawn Hawkinsです。/usr/share/docにあるマニュアルは、約118MBです。さまざまなセキュリティー・ツールに関する情報が、分析、監査、スキャン、トンネリングなど13のカテゴリーに分類されています。バッファー・オーバーフロー、ファイアウォール、侵入検知などに関する情報もあります。「0.2-1に追加したもう1つのものはXPdeであり、われわれは「スニーキー」と呼んでいます。スニーキーと呼ぶのには、明白な理由があります(偽装したLinux distroでハックされました)。もちろん、われわれ独自の個人的流儀、全体的なテーマ、追加ツールなども加えました」とHawkinsは語ります。

現在開発中のバージョン0.3には、新しいMorphixベースの2.6カーネルが使用されています。Hawkinsによると、無線サポートの強化、Morphixの新しいハード・ディスク・インストーラー、より多くのマニュアル、新しいセキュリティー・ツールも追加されるそうです。

Morphix 0.5Pre4の新しいインストーラー・スクリプトによって、PHLAKをハード・ディスクにインストールすることができます。インストーラーはPHLAKに合わせて改良され、約1.5~2.0GBのデータをコピーします。

長い目で見れば、128MBまたは256MBのUSBキーに適した縮小版のPHLAKも期待できるでしょう。また、Hawkinsによると、PHLAKの将来のリリースではunionfsという名前の新しいファイルシステムが搭載され、CDから起動してファイルシステムに書き込めるようになるそうです。情報をCDに保存するわけではありませんが、これによって、apt-getアップグレード、nessusプラグイン・アップデートなど、ファイルシステムへの書き込みアクセスを必要とするものが何でも使えるようになります。

図4. PHLAKのマニュアル
Documentation in PHLAK

まとめ

誰もが認めるように、システムまたはネットワークのセキュリティー評価は重大な関心事であり、徹底的な評価は、おそらく他のテスト(たとえば、パフォーマンス・テストなど)と組み合わせて行われるべき時間のかかる作業ですが、システムの脆弱性を短時間でチェックできれば、それは有用なツールとなります。それを可能にしたのが、LiveCDフォーマットのこの4つのセキュリティー評価パッケージです。

参考文献

学ぶために

製品や技術を入手するために

  • IBM trial softwareは、皆さんが次に行おうとしているLinux開発プロジェクト構築に役立つはずです。これは、developerWorksから直接ダウンロードすることができます。

議論するために

  • developerWorks blogsに参加して、developerWorksのコミュニティーに加わってください。

コメント

developerWorks: サイン・イン

必須フィールドは(*)で示されます。


IBM ID が必要ですか?
IBM IDをお忘れですか?


パスワードをお忘れですか?
パスワードの変更

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


お客様が developerWorks に初めてサインインすると、お客様のプロフィールが作成されます。会社名を非表示とする選択を行わない限り、プロフィール内の情報(名前、国/地域や会社名)は公開され、投稿するコンテンツと一緒に表示されますが、いつでもこれらの情報を更新できます。

送信されたすべての情報は安全です。

ディスプレイ・ネームを選択してください



developerWorks に初めてサインインするとプロフィールが作成されますので、その際にディスプレイ・ネームを選択する必要があります。ディスプレイ・ネームは、お客様が developerWorks に投稿するコンテンツと一緒に表示されます。

ディスプレイ・ネームは、3文字から31文字の範囲で指定し、かつ developerWorks コミュニティーでユニークである必要があります。また、プライバシー上の理由でお客様の電子メール・アドレスは使用しないでください。

必須フィールドは(*)で示されます。

3文字から31文字の範囲で指定し

「送信する」をクリックすることにより、お客様は developerWorks のご使用条件に同意したことになります。 ご使用条件を読む

 


送信されたすべての情報は安全です。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux, Open source
ArticleID=228959
ArticleTitle=Linux LiveCDを使用してシステムのセキュリティーを評価する
publish-date=07272005