システムの弱点をどう探すか?

2009年2月12日(木)
佐藤 元彦

システム脆弱性の「粗い」特定と「細かい」特定

 重要な資産とウィークポイントに、脅威が発生しないようにするためにと、脆弱性をどのように特定し、どのように対策を行っていくかを考えなければなりません。定期的な脆弱性の把握と改修は、管理/運用において、もっとも重要な作業の1つです。

 筆者らの監査経験の中で、システムにまつわる脆弱性のテクニカルな部分に絞って整理をすると、図3に示す3つのポイントに集約されます。これらの脆弱性は、特定のツールやサービスを利用することで発見し、評価することが可能です。

 そもそも「不正侵入につながる」脆弱性、「(重要な)情報の窃取につながる」脆弱性、「サービスの停止につながる」脆弱性、「システムの破壊につながる」粗い脆弱性は、脆弱性ごとに個々個別の詳細な分析をせずとも、結果として、特定をして対処をすることが求められます。そのため、具体的にどのような脆弱性があるのか、ということを把握することが重要になるわけです。

 システムはさまざまな要素から構成されており、要素ごとに脆弱性が存在します。それらの脆弱性を確認する方法としてさまざまなツールがあります。

 しかし、どのツールをどのように使うかは技術者の技の見せ所ですし、単に同じツールを使ったとしても、経験のある技術者と、そうでない技術者では、結果の読み方も異なり、派生させた手作業による探索によって見つけられる脆弱性にも差が出てきます。よって、脆弱性を特定するサービスも提供されています。

 個々にどのようなツールがあるのかは、例えば、Penetration Test Framework(http://www.vulnerabilityassessment.co.uk/Penetration%20Test.html)や、List of Vulnerability Scanners(http://www.windowhaxor.net/2007/09/25/list-of-vulnerability-scanners/)などが参考になります。今回はツールを4種類に分け、大まかな特徴をまとめました。

 1つ目が無償のツールです。ネットワークの検査や、Webアプリケーションの検査を行うために、さまざまな無償のツールが有志により開発されています。

 利点としては、やはり「無償」という点、開発者の熱意によっては「新たな脆弱性に対する対応が早い」という点があげられます。欠点としては、利用に際しては、自らが判断しなければならない個所も多く、使い方や結果を判別するドキュメントも英語のみである場合が多いため、敷居が高いことです。

 2つ目が有償のツールです。いくつかのメーカーがネットワークの検査や、Webアプリケーションの検査を行うための有償のツールを販売しています。

 利点としては、インターフェース、ドキュメント、結果レポートが日本語化されている製品があることや、メーカーのサポートがある、という点が大きいでしょう。欠点としては、製品によってはかなり高価ですし、結果を読み解いて活用するためには、日本語化されているとはいえ、やはりある程度の前提知識が必要となります。

 3つ目がリモートスキャンのツールです。リモートスキャンのツールは、ネットワークを介して、システムの脆弱性を検査します。

 サーバーに通信を行い、その応答から脆弱性の存在を把握するという仕組みのものが多く、パッチが適用されていない脆弱性や、安易な設定により発生した脆弱性などを把握することに優れています。欠点としては、誤って脆弱性を検知してしまう「誤検知」がしばしば発生することや、応答によっては潜在的な問題があっても把握できなかったり、パターンに当てはまらない脆弱性は把握できなかったりする、という点があげられます。

 4つ目がホストスキャンのツールです。ホストスキャンのツールは、サーバーなどにインストールして、システムの脆弱性を検査します。

 基本的にサーバー内の設定ファイルを探し、適切な設定とのギャップを把握する仕組みのものが多く、未適用パッチの特定や、設定による細かな脆弱性も把握できるという点が優れています。欠点としては、1台1台にインストールが必要になってしまうため、そのための手間や、インストールによるサーバーへの影響を無視できないという点などがあげられます。

 なお、ツールを使うにあたっては「ツールだけでは発見できない脆弱性も多い」ということを認識することも必要です。効率的な脆弱性の把握のためには、定期的なセルフチェックに加え、時には第三者の手を介して検査を実施することも検討できるでしょう。
 

脆弱性を把握すべき所、直すべき所

 さてここで第1回で説明した「重要資産」と「ウィークポイント」が把握できているか、ということが重要になります。

 漫然とシステム全体に脆弱性検査をして、大量の指摘を1つ1つ時間をかけて修正する、そんな環境から抜け出すためには、「重要資産」と「ウィークポイント」の把握が欠かせません。

 例えば、「重要資産」と「ウィークポイント」には、月に一度、無償のツールでセルフチェックをし、特定の機会に外部の脆弱性検査サービスを使い、それ以外のシステムには、無償のツールで半年に一度、セルフチェックをしてみる、など強弱をつけることで、守るべきものはがっちり守り、そうでないものはそれなりに、というセキュリティーの最適化がはかれます。

 「If we guard our toothbrushes and diamonds with equal zeal, we will lose fewer toothbrushes and more diamonds(もしわれわれが歯ブラシとダイヤモンドを同じ熱意で守ろうとしたら、われわれは少しの歯ブラシと多くのダイヤモンドを失うだろう)」というMcGeorge Bundy氏の言葉が、リスク分析における弱点を示す、もっとも的確な言葉ではないでしょうか。

[参考文献]

イアン エアーズ、山形浩生(訳)『その数字が戦略を決める』文藝春秋(発行年:2007)
ジョン F ロス、佐光紀子(訳)『リスクセンス 身の回りの危険にどう対処するか』
集英社(発行年:2001)
ブルース シュナイアー、井口耕二(訳)『セキュリティはなぜやぶられたのか』日経BP社(発行年:2007)
ISO/IEC 27005 「Information security risk management」
NIST、Special Publication 800-122 (Draft) 、Guide to Protecting the Confidentiality of Personally Identifiable Information (PII) (Draft) 、http://csrc.nist.gov/publications/drafts/800-122/Draft-SP800-122.pdf、(アクセス:2009/01)

伊藤忠テクノソリューションズ株式会社
ITサービスコンサルティング部。
特定非営利活動法人 日本セキュリティ監査協会(JASA)幹事。ISSA Tokyo Chapter Recording Secretary。公認情報セキュリティ監査人、公認システム監査人、システム監査技術者、情報セキュリティアドミニストレータ。2003年から、情報セキュリティサービスを、公共・民間問わず、さまざまな形式で実施。2006年より現職。現在は、情報セキュリティ監査をメインに、ITリスクに対応するマネジメント・テクニカルサービスを提供している。所属学会(国内):情報ネットワーク法学会、情報処理学会、日本セキュリティ・マネジメント学会(JSSM)。 http://www.ctc-g.co.jp/

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています