脆弱性の読み方2006年10月04日 19時08分44秒

脆弱性(ぜいじゃくせい)を(きじゃくせい)と思い込んでいた。
どうりで、(きじゃくせい)と読みを入れても変換して表示されない訳だ。
【vulnerability】以下「IT用語辞典」より抜粋、
・コンピュータやネットワークなどの情報システムにおいて、第三者が保安上の脅威となる行為(システムの乗っ取りや機密情報の漏洩など)に利用できる可能性のあるシステム上の欠陥や仕様上の問題点。
・開発者が予想しなかった利用形態や設計段階での見落としなど、形式的には欠陥とはならない潜在的な問題点が脆弱性として後から認知されることも多い。
・情報セキュリティに対する脆弱性となるのはシステム上の問題点だけでなく、機密情報の管理体制が整っていないなどといった人間の振る舞いに関する問題点も脆弱性となりうる。こうした脆弱性をシステム的なものと区別して人為的脆弱性と呼ぶこともある。
では、システム的脆弱性、特にソフトウェアの脆弱性にはどんな種類があるのだろうか?
特に、その対処が緩慢なWebアプリケーションについての分類がある。(ThinkIT)
①クロスサイトスクリプティング
 1番多い問題で、セッション乗っ取りの手口のひとつである。
攻撃者はプログラムに対してスクリプトの形をした入力データを送り込み、そのスクリプトがブラウザで実行されるよう仕向けることで攻撃を成功させる。
②パス名パラメータの未チェック
 2番目は、Webアプリケーションプログラムがファイルのパス名をパラメータとして受け取り、そのファイルの内容をブラウザに送り返す場面で、どんなパス名でも受け入れてしまうという問題である。
③価格等の改ざん
 あるページから次のページへ遷移する際、ページの中にユーザには見えない「hidden」フィールドという形でパラメータを埋め込み、次のページへ受け渡すようになっていることがある。
 ところが、ブラウザの画面に表示されていなくても、ページ内にどのようなパラメータが埋め込まれているかをユーザが調べることはとても簡単にできる。※(ブラウザのHTMLソース表示機能)そしてこれらの隠しパラメータが改ざんされて、ショッピングサイトが被害を受けることがあるのである。
④ファイルの誤った公開
 Webサーバはインターネットに接続しているため、特に限定されたファイルのみを公開するよう設定しておく必要があるが、公開されては具合の悪い秘密情報を含んだファイルが誤って公開されてしまうことがある。
⑤HTTPレスポンス分割
 これは比較的新しく見つかった問題である。偽ページを多数の人々に見せることができる攻撃手口で、フィッシング詐欺に悪用されることが心配されている。この攻撃は、HTTPプロトコルの通信フォーマットに干渉して、サーバがひとつの応答(HTTPレスポンス)しか返してきていないのに、そこにもうひとつ別の応答が返ってきているかのように見せかけるものである。
 プログラムが行う応答の一部として、HTTPレスポンスのヘッダ部に「Location:」や「Set-Cookie:」といった出力を行うプログラムが悪用され、その箇所以降のHTTPレスポンスの形を変えてしまうよう仕向けられるのである。
⑥SQLインジェクション
 攻撃者はこのSQLの指令を組み立てている箇所に影響を及ぼして、自分の都合の良いようにデータベースにアクセスする指令を紛れ込ませてしまうのである。
 その結果、秘密データの流出、データの改ざん、データの消去などの問題が起こりうる。この問題は結構恐ろしい。
⑦セッション管理の不備
 Webサーバへのアクセスを成り立たせているHTTPプロトコルのしくみは、もともとひとつのWebページをサーバからクライアントへ取り込むことだけをサポートしており、ページ間の連携をうまく行うことはWebアプリケーションの責任になっている。多くの場合、ページの連鎖を保つための方策としてWebアプリケーションはブラウザに何らかのパラメータを預け、それをサーバに送り返してもらって前後関係を保っている。
⑧ディレクトリトラバーサル
 この攻撃は、Webサーバ内の階層型ファイルシステムの中から任意のファイルを抜き出してしまう攻撃である。トラバーサルというのは、ツリー構造をなすデータ構造のすべての枝を渡り歩いて全データを処理することを表すコンピュータ用語だ。
 攻撃者はパス名をパラメータとして受け取るプログラムに、親ディレクトリを参照するパス名の相対位置表現「../」を与えて、現在位置づけられている枝から上位の幹へとディレクトリをたどり、保護されねばならないファイルまで取り出してしまう。
⑨それ以外の項目
 「メールの第三者中継」「初期パスワードの不備」「不適切なエラー処理」