ガートナーのアナリストに聞く--Web 2.0アプリケーションとセキュリティ - (page 3)

文:Nick Gibson(Builder AU)  翻訳校正:編集部

2007-12-05 08:00

 まったく新しい攻撃を防ぐのは、非常に難しいことです。われわれは、既知の種類の攻撃に対しては防御方法を知っています。ウイルス?われわれはウイルスが本質的にどういう働きをするかを知っており、それに対しどう防御したらいいかを知っています。われわれはバッファオーバーフローを理解しており、これにどう対策し、これが起こらないようにするには、アプリケーションをどう作ったらいいかを知っています。まったく新しい種類の攻撃については、それに対しどう守ったらいいかを見越すのは難しく、できるだけのことをしても遅れを少し縮めることができるだけで、その遅れは絶対に0にはなりません。

 多くのビジネスマンには理解されにくいのですが、この基本的なコンセプトは、バグのないシステムはなく、すべてのシステムは不具合を持っているというものです。認知できる不具合のない完璧なアプリケーションを書くことは可能ですが、そのアプリケーションを完成させてそれを世に出した瞬間、人々は新しい概念と、設計者が意図しておらず、予見もしていなかったそのアプリケーションの新しい使い方を思いつき始めます。そしていずれは壊れ、不具合を持つようになります。

 私は遠い昔、SUVが道路を制覇する前、自動車が単なる自動車だったころのことを覚えています。車同士がぶつかっても、前や後ろのバンパーとシートベルトを気にして、それで終わりでした。その後、小さく素敵な車や、大きなSUVが登場しました。もし私がMINIを運転していて、大きなトラックに普通の乗用車のようにぶつかったら、トラックのバンパーは私の車のフロントグラスの高さになります。MINIは道路にMINIしかないときには安全でしたが、周囲の環境は変わり、今では安全性の問題を抱えているわけです。

 アプリケーションのコードも同じことです。今は素晴らしいものに見えても、それを世に出すとすぐに、世界の方が変わってしまいます。言葉は少し乱暴になりますが、「バカよけシステムを構築すると、世界がより大きなバカを作り出す」という言い方もあります。これが、ソフトウェアベンダーや製品ベンダーが常にシステムを更新し続けている理由です。

――セキュリティ脆弱性に左右されないソフトウェアを作るにはどうしたらいいのでしょうか。

 基本的に、開発コミュニティがセキュリティに対して個人的に責任をとる必要があります。セキュリティは、できあがってしまったコードに後からかぶせられるようなものではありません。コードの断片の内部のすべての構造が、セキュリティを念頭に置いて作られる必要があります。以前はセキュリティがビジネス要件とは考えられていなかったため、アプリケーションやドライバーを開発する時には、性能や機能には左右されるものの、セキュリティ要件はその環境には入っていませんでした。その結果、システム内部は大量のバグのあるコードで一杯になり、10年間も更新されていないシステムの脆弱性を見つける者が常に出続けるということになっています。

 ファイアウォールを増やしても、IDSを増やしても、これを直すことはできません。そういうものは時間を稼ぐことはできますし、攻撃を遅くすることもできますが、問題を解決することはできません。問題はコードの中にあり、正直なところすべての病を治すことはできず、何かを直すたびに新しい問題が浮かび上がるでしょうが、コードの構造とコーディングのアプローチには、あらゆる段階のプロセスでセキュリティを主な観点として扱う必要があります。

 これは、プログラマーの教育方法にまで遡る問題です。われわれの大学は、今ではセキュリティをより深刻に捉えており、セキュリティを単なる必修単位として見ているのではなく、より多くの大学のすべてのプログラミング科目に1つの単位として含まれつつあります。これこそ、われわれがビジネスのすべてのプロセス、すべてのシステム開発の中で取るべき態度です。セキュリティは生成されるすべてのコードの断片に対する基礎的な要件でなくてはなりません。これはまず大学で起こりつつあり、ゆっくりと、しかし確実にビジネスの世界にも広がりつつあります。

この記事は海外CNET Networks発のニュースを編集部が日本向けに編集したものです。海外CNET Networksの記事へ

ZDNET Japan 記事を毎朝メールでまとめ読み(登録無料)

ホワイトペーパー

新着

ランキング

  1. セキュリティ

    「デジタル・フォレンジック」から始まるセキュリティ災禍論--活用したいIT業界の防災マニュアル

  2. 運用管理

    「無線LANがつながらない」という問い合わせにAIで対応、トラブル解決の切り札とは

  3. 運用管理

    Oracle DatabaseのAzure移行時におけるポイント、移行前に確認しておきたい障害対策

  4. 運用管理

    Google Chrome ブラウザ がセキュリティを強化、ゼロトラスト移行で高まるブラウザの重要性

  5. ビジネスアプリケーション

    技術進化でさらに発展するデータサイエンス/アナリティクス、最新の6大トレンドを解説

ZDNET Japan クイックポール

注目している大規模言語モデル(LLM)を教えてください

NEWSLETTERS

エンタープライズ・コンピューティングの最前線を配信

ZDNET Japanは、CIOとITマネージャーを対象に、ビジネス課題の解決とITを活用した新たな価値創造を支援します。
ITビジネス全般については、CNET Japanをご覧ください。

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]