企業のセキュリティ対策概論

 企業とそのデジタル資産のセキュリティを確保するのは容易ではない。ネットワーク社会における多くの脅威から組織を保護してくれる“万能型”のソリューションは存在しないからだ。実際、企業のデジタル資産は絶えず変化しているため、ある時点でうまく機能していたセキュリティ・ソリューションが次の週にはまるで役に立たなくなっている可能性すらある。したがって、市販のファイアウォールを設置してセキュリティ対策を行ったつもりでいるなら、その考えを改める必要があるだろう。

 適切なセキュリティ対策の実施には、相当な配慮と用心深さが要求される。セキュリティソフトをインストールして設定したら放りっぱなし、というわけにはいかない。セキュリティの専門家にいわせれば、企業が攻撃を受けやすいのは自社のデジタル資産を正しく理解できていないからだという。

 Open Web Application Security Project(OWASP)のセキュリティ・コンサルタント兼チーフ・エヴァンジェリスト、Dinis Cruz氏は次のように語る。「今日、我々は多額の金を“セキュリティ”関連の分野に注ぎ込んでいる。だが、ほとんどの場合、その企業の実際のセキュリティレベルには何の効果も及ぼしていない(マイナスの効果を与えていることさえある)。ソフトウェアに関する問題を、さらに多くのソフトウェアで解決しようとしてばかりいるのだ」

 SecurityDistroのエディタであるJose Sweeney氏は、リスクはさまざまなところから生じるが、組織のセキュリティに対する最大のリスクは人間の側にある、と考えている。「最高のファイアウォール機器、IPD、アプリケーション・ファイアウォールを揃えても、こうした製品すべてについて徹底的にトレーニングを受けた者がいなければ、役には立たない」

 組織が直面する脅威には内的脅威と外的脅威の2種類がある、と話すのはInternational Institute for Training, Assessment, and Certification(IITAC)の常務、Thorsten Schneider博士だ。マルウェア、スパム、ネットワークへの侵入といった外的脅威については十分に理解され、こうした試みはたびたび撃退されている。だが、組織は内的脅威に対する意識の欠如によって被害を受けている。内的脅威の代表的な例が、自作ソフトウェアを許可なくインストールすることで非常に高度なセキュリティシステムを回避したり、送信者不明のメールや添付ファイルを不用意に開けたりする社員だ。

 Schneider氏によると、攻撃者はこうした無知につけ込んで危害を及ぼすのだという。大半の企業は、攻撃者の標的になるのがセキュリティ対策ソフトでもファイアウォールでもウイルス防止ソフトでもないことを理解できていない、と彼は話す。ほとんどの場合、攻撃対象になるのは一般のソフトウェアそのものであり、(内的なものも外的なものも含めて)よく知られたセキュリティ上の弱点が攻撃に利用される。

 企業が自社の保有するデジタル資産(ソフトウェア)を理解していないことも問題だが、ユーザの個人情報データなど、組織で管理しているデジタル資産(データ)に対する脅威を理解していないと問題はさらに大きくなる、とCruz氏は語る。「抜け目のない(そして利益を優先する)攻撃者なら、スパムの大量送信や外部アプリケーションのインストールによって医療機関のネットワークに障害を発生させるようなウイルス(またはスパイウェア)を書いたりはしない。(むしろ)その病院の財務経営システムを乗っ取ってひと儲けしようとするだろう」

人的リソースへの投資

 セキュリティ・ソリューションへの投資は、それらを使いこなせる人材がいなければ無意味だ。実際、Schneider氏は、組織のセキュリティ確保では1つのツールであらゆる状況に対応できることはない、と考えている。「高価なツール、アナライザ、侵入テストツールを買い揃えるだけでは何の足しにもならない。スキルを持ち、トレーニングを受けた人材が必要だ」。Sweeney氏もまた、組織に最大の効果を与えうるセキュリティチームの特徴の1つが教育訓練にあることを認めている。すべての社員にセキュリティ研修を必ず受けさせること、というのが彼のアドバイスだ。

 Cruz氏は、社員の教育訓練に加え、社内にいる専門のセキュリティ・コンサルタントからなる優秀な(そして十分な規模の)チームに適切な投資を行うように勧めている。また、彼らには、特定の規制への準拠のためだけでなく、自社のデジタル資産保護のためにも十分な権限を持たせる必要がある。「彼らの目的は、自社のデジタル・インフラストラクチャのどの部分を重点的に保護すべきかを理解し、その結果に応じてリソースを適切に割り当てることにある」(Cruz氏)。もちろん、こうしたチームのメンバーには、自らのスキルを継続的にアップデートしていくことも求められる。組織のセキュリティに最も直接的に関わる人々には、専門分野の最新動向を絶えず把握しておくことを必須の目標として課す必要がある、ともCruz氏は述べている。また、Sweeney氏も「セキュリティ・チームのなかに、過去3か月の間に実践的なセキュリティ研修を受けていないメンバーが1人でもいれば、その会社はすでに脆弱性を抱えていることになる」と警告している。

 Schneider氏は、あらゆる企業の経営陣に社員への投資の重要性を理解するように呼びかけている。「BS 7799ISO 17799ISO 27001といった規格に従えば、経営陣は安心するかもしれない。だが、どんな組織でも、外的脅威や内的脅威の回避には“防御の多重化”が必要だ。経営陣はITセキュリティ活動を支援し、リソースの削減によって活動を妨げないようにする必要がある」

より優れた製品に対する圧力

 もちろん、組織のセキュリティ確保にあたっては、予防的対策の実施にまさるものはない。その一方でCruz氏が勧めているのは、組織どうしが手を携えて、本質的にセキュアなアプリケーションの供給をソフトウェア・サプライヤに迫ることだ。

 「その方法の1つが、ソフトウェア・サプライヤが自社製品に関して把握している脆弱性の情報を無理にでも公開させることだ。ここでいっているのはエクスプロイトコードのことではなく、eEyeが更新している脆弱性情報のページのようなものだ」(Cruz氏)

 Cruz氏はそうした対策の必要性を、例を挙げて説明している。会社や製品の名前は出さなかったが、彼はいくつかのセキュリティ業務を請け負ってきたという。そのなかに、A社の製品(既存ユーザ数は1,000程度)を評価してほしいという依頼があったとしよう。その製品から複数の重大な脆弱性が見つかると、A社は、その製品の購入にあたってコンサルタント(この場合はCruz氏)に評価を依頼していた会社と一緒になって“ダメージ・コントロール”(損害回避)の活動を行うのだという。場合によっては、その会社に対してA社が取引上の便宜を図ったり、見つかった問題に対処する特別なパッチを提供することになる。

 もっと深刻な問題は、A社が脆弱性の情報を既存の1,000に及ぶ顧客には公開しないことである。最終的に(半年~1年後になることもある)そうしたパッチは公式リリースに取り込まれるが、その際、セキュリティ上の修正が行われたことや、アップグレードを適用しないと顧客が危険にさらされ続けるという事実は公表されないのが普通だ。一方、セキュリティ・コンサルタントのほうも、機密保持契約(NDA:Non-Disclosure Agreement)をいくつも結んでいて、評価結果に関する情報は一切公表できない。

 「関係者全員のモラルの問題もあるが、最大の問題は、このやり方が業界における“セキュアな”製品の開発のためにならないことだ。たとえば、B社が(A社の製品と)同じような製品を開発したとしよう。B社の製品はセキュリティ面で優れているものの、使い勝手とパフォーマンスの点では劣っているとする。両製品の真のセキュリティ性能が考慮されない場合、よりセキュアであるにもかかわらず、B社の製品を顧客が選ぶことはないだろう」(Cruz氏)

オープンソースソフトウェアのほうがセキュアなのか

 驚いたことに、Cruz氏は“高性能かつ定評のあるオープンソースのコンテンツ管理システム(CMS:Content Management System)”で上記の例と同じような状況に関わっていたという。彼は、やはりNDAのせいでそのCMSの名を明かせないのだが、とにかくそのCMSアプリケーションのユーザから有償のセキュリティ・レビューを実施してほしいとの依頼を受けたという。「私の提出した(重大な脆弱性が大量に記載された)レポートが、そのCMSの開発者およびユーザのコミュニティに公開されることは一度もなかった。もう何年も前のことだ」

 では、関係者の間でレビューが行われるオープンソースソフトウェアのほうが、クローズドソースの製品を使うよりも信頼できるのだろうか。Schneider氏は、ソースコードが存在することで他人による脆弱性のチェックが可能になり、これは品質の保証にとって重要なことだと考える人々がいる、と述べている。その一方で、規模の大きなオープンソースコミュニティには、品質保証、プロジェクト管理、脆弱性のチェックに関する知識をほとんど持たない者が大勢いる、という考えの人々もいるという。だが、オープンソースには明らかな利点がある、というのが彼の持論だ。「少なくとも、手に入れたものがどんなものかをいつでも確かめられる。ソースコードのチェックを品質保証の担当者にさせていなかったとしても、それはその組織の責任だ。たとえオープンソースであっても、社外で開発されたコードは決して信用してはならない。これはSourceForgeから入手したコードを“つなぎ合わせて”利用する多くの開発者がよくやる過ちだ」(Schneider氏)

 また、Sweeney氏はこう語る。「この業界で私が見てきたなかでは、SugarCRMTenableのような会社によるハイブリッド・アプローチが最も効果的といえる。自社で機能を追加したり、有償で追加機能を利用したりできる非常に優れたオープンソース・ソリューションが得られるからだ」

 そうしたメリットはあるが、セキュリティの観点からいうとオープンソースコミュニティの道のりはまだまだ長い、とCruz氏は語る。「現在のオープンソースは大きなセキュリティ上の問題を抱えている。コミュニティでも利用モデルでもセキュリティが十分に考慮されていないからだ。Microsoftのやることには何にでもケチをつける人が多いが、Microsoftのセキュリティ担当者は一部でかなり優秀な成果を挙げている。SDL(Security Development Lifecycle)とSD3(Secure by Design, by Default, and in Deployment)は非常に優れたコンセプトであり、オープンソース業界でも利用すべきである。もちろん、Microsoftはそうしたセキュリティ活動をすべての製品で実施しているわけではない。このことは結果的に(セキュリティ面での)彼らの衰退につながるだろう」(Cruz氏)

 Cruz氏は、オープンソースのアプリケーションのセキュリティ性を高めるためのヒントをいくつか挙げている。「オープンソース・アプリケーションの開発ライフサイクルを標準的でセキュアなものにしたい。たとえば、メジャーリリース前には本格的なセキュリティ・レビューを実施するなど、プロセスがきっちりと定義されたものだ」。また彼は、使用または購入を考えているソフトウェアのリスク・プロファイルを評価できる、実際に即した評価指標をユーザに与えることも提案している。

 「我々は、環境面のテクノロジ(サンドボックス処理など)にもっと注力する必要がある。クライアント側でもサーバ側でも、安心して悪意のあるコードを混入したり、無害なコードを悪用したりできるようにするためだ」(Cruz氏)。また、オープンソース・アプリケーションの場合は、セキュアなアプリケーションの開発と創出に寄与するビジネスモデルが、セキュリティのハードルを高くするのに大いに役立つだろう、ともCruz氏は述べている。

どんなツールが必要か

 担当者の教育訓練を十分に行いさえすれば、利用できるオープンソースのセキュリティ関連ツールはいくらでもある。実際、数が多すぎて特定のツールを推奨するのは困難だ、とSweeney氏は言う。「BackTrack 2は必要なセキュリティツールがほぼすべて揃ったセキュリティ用途のディストリビューションの1つだ。BackTrack 2のほかにも、よく知られたオープンソースの脆弱性スキャナNessusや、Webアプリケーションのセキュリティを評価するオープンソースツールを集めたOWASPのスイートがある。クローズドソースのソフトウェアとしては、HPのWebInspectとIBMのInternet Scanner Softwareが、それぞれOWASPのツール群とNessusに相当する。どれもすばらしいツールだが、オープンソースにせよクローズドソースにせよ、1つを選んでセキュリティの評価を行うと判断を誤ることになる」

 「組織は、セキュリティとセキュアな環境をもたらすさまざまなモデル、技術、手法を把握する必要がある。これらの要素は、セキュリティ対策時に必要となる重要な手段だ。たとえばCLASPのようなモデルは、システム内部のセキュリティ構築のための優れたプラットフォームになる」(Schneider氏)

まとめ

 最近の企業は、ファイアウォールをインストールしてルールをいくつか定義するだけでは保護できない。デジタル資産であるソフトウェアとそこに保持しているデータ、双方の価値を理解する必要がある。また、セキュリティの確保は、現状、そして将来の脅威を認識している優秀な人材がいて初めて実現できるものだ。

 本当にオープンソースソフトウェアのほうがセキュリティ問題の影響を受けにくいのか、という問いに対する答えはまだ出ていないが、ソースコードを参照できることは大きな利点である。少なくともセキュリティ・コンサルタントを雇う余裕のある顧客にとってはそうだろう。というのも、オープンソース・プロジェクトがどれほどの数のセキュリティ専門家によってチェックされているか、といったデータは概して入手できず、そうした判断は困難だからだ。もちろん、セキュリティを中心に据えた開発モデルが標準になれば、アプリケーション自体のセキュリティは確実に向上するだろう。オープンソースおよびクローズドソースのセキュリティツールは数多くあるが、たとえ業界で最も優れたツールを導入しても、その効果を引き出す術を知っていないとあまり役には立たないことを企業は忘れてはならない。

ITManagersJournal.com 原文