セキュリティホールで問うこれからの常識スパム時代のサニタイズ開発手法(1/2 ページ)

セキュリティーホールとはどのようなものなのか? 日ごろニュースで書かれているその核心を理解するために、ITマネジャーでも分かりやすい事例を挙げて解説する。

» 2005年12月07日 15時54分 公開
[平田 豊,ITmedia]

 個人情報保護法の施行後、多くの企業が情報漏えい問題に対策を講じてきただろう(関連特集)。2005年は、関連するさまざまな事件が報道され、仕事で直接ITにかかわっていない人でも思い出すものがあるはずだ。このように、サービス提供側だけでなく、ユーザーにもセキュリティに気遣う必要性が周知されてきたため、もはや提供側が手を抜く余地など残されていない。そして、情報漏えいとスパムが密接な関係にあることも忘れてはならない。

 前回概要について解説したオンライン・ムック「スパム時代のサニタイズ開発手法」の今回は、スパムが目的とする一つ、情報漏えい原因の所在について解説する。ITマネジャーでも理解しやすい技術動向解説がテーマの一つだ。

  • サーバにインストールされているOS自体のカーネルバグ
  • サーバにインストールされているアプリケーションのバグ
  • クライアントにインストールされているアプリケーションのバグ
  • ユーザーの心理を突くもの

 上記に挙げた項目は、情報漏えいへと結びついてしまう原因を主に技術的な観点から見たものだ。上から3つはサーバサイドの不備をネット情報などで見抜き、意図的に攻撃を仕掛ける手口のもの。最後の1つは、ソフトウェアのバグではないため、利用者にある程度のネットリテラシーさえ備わっていれば防御が可能なものだ。この記事では、特にサーバサイドとクライアントアプリケーションそれぞれで起こり得る概念について解説していく。

過信ができないネット事情

 コンピュータでは、OS自体がある程度のセキュリティ対策を講じており、一定基準の情報は保護される。しかし、利用者の手順ミスに突け込んで個人情報を引き出す手口も多い。いくらコンピュータ上のセキュリティが高められてきても、技術を過信してはならないのだ。自分の情報は自分で守らなければならない、というのが一般的な考え方となりつつある。そうとはいえ、技術を理解してうまく利用しなければ、行き着く先は「オンラインショッピングはしない」といった否定的なものになってしまう。サービス提供側もいっそう配慮しなければならない。

サーバサイドから漏えいするパターン

 最近では、オンラインショッピングサイトから個人情報が漏えいする事件が増えている。ここで言う個人情報とは、クレジットカード番号や住所、氏名など、人を特定するに十分な情報を指す。その情報が大量に流出してしまう原因は、サーバなどに蓄積された利用者情報が悪意ある者の手に渡ってしまうからだ。

 個人情報がそのままサーバのデータベースに保存されると、サーバへの不正侵入が行われた場合には漏えいの可能性を否定することができない。また、サーバへの不正侵入という比較的大掛かりな手法でなくても、サーバ上に設置されているCGIスクリプトなどのバグを突き、本来は外部から見えないはずの情報を外部に晒してしまうこともある。後者はさらに不特定多数に流出してしまう可能性が高いため、事態は深刻だ。

 このオンライン・ムックのキーワードの一つ「サニタイズ」にも関係してくるが、Webサーバ上で動作するプログラムであるCGIスクリプトでも、基本的にソフトウェア開発者がセキュリティホールを作らないよう実装しなければならない。このアプローチの場合、プログラムの仕様が複雑になるほど、開発者への負担が増大し、見逃してしまう可能性が高まることを忘れてはならない。

 また、プログラム側にバグがない場合でも個人情報が保存されているファイル自体のパーミッション設定(ファイルの読み出しや実行権限などの属性設定)が不適切になっていると、前述のようにブラウザで(ファイル名までの)URLを直打ちするだけで、誰でもそのファイル内容が参照できてしまうことになる。

 このため、プログラムの開発者だけではなく、運用時にもサーバ管理者がセキュリティホールを作らないよう設定に気遣う必要がある。この場合でも、サーバで提供するサービス(Webやメールなどの分類で)が増えるほど、見逃してしまう可能性が高まる。

 ここで重要なのは、見逃してしまう可能性を極力なくすために、できる限りシンプルで透過的なプログラム(ソフトウェア)や運用形態にしておくことだ。人手による解決というアプローチもあるが、最近のWebアプリケーションは非常に多くのプログラムが組み合わさって稼働している。このため、自らが作ったプログラム以外のメンテナンスも行わなければならず、特定の技術に長けた人員さえ確保されていれば万全とも言い切れないだろう。

 サーバサイドのセキュリティーホールとひと口に言っても、このように2つの側面があることを覚えておこう。

       1|2 次のページへ

Copyright © ITmedia, Inc. All Rights Reserved.

注目のテーマ