このページの本文へ
ここから本文です

はびこる「インジェクション系」のぜい弱性
狙われるWebアプリケーション 第1回

2007年4月3日 14時22分

京セラコミュニケーションシステム
セキュリティ事業部 副事業部長
徳丸 浩(とくまる ひろし)

Webアプリケーションのぜい弱性を示す用語として,クロスサイト・スクリプティング,SQLインジェクションといった言葉の認知度はかなり高まった。ブログ・サイトなどでも活発に議論されている。しかし,Webサイトの実態はどうだろうか。

筆者の所属する京セラコミュニケーションシステムでは昨年(2006年),ぜい弱性診断を実施したWebサイトの統計情報「2007年版 Webアプリケーションぜい弱性傾向」を発表した。これによると,パソコン向けWebサイトの48%に致命的なぜい弱性が見つかった。このうちワースト1位はクロスサイト・スクリプティングで56%,2位はSQLインジェクションで11%と,どちらもインジェクション(注入)系のぜい弱性。これらのぜい弱性を持った危険なサイトは依然として存在するのが実情である。

これらWebアプリケーションのぜい弱性があまりなくならない理由はいくつかあるが,以前は「ぜい弱性についてまったく知らない」というケースが多かったのに対して,最近は「一応知ってはいるが正しい対処方法を知らない」というケースが多くなりつつあるように感じている。本稿では,Webアプリケーションのぜい弱性のうち,「インジェクション系ぜい弱性」について取り上げ,正しい対策の方法について説明することにしたい。

インジェクション系のぜい弱性とは

Webアプリケーションのぜい弱性のうちで特に有名なSQLインジェクションとクロスサイト・スクリプティングは,命名が異なるため気付きにくいかもしれないが,実は共通の原理に基づく。したがって,原理が共通だということは,対策にも共通の原則があることにほかならない。このため,共通原理・原則を理解することにより,各ぜい弱性に対する正しい理解が容易になり,場当たり的な対策や,間違った対策をする可能性を減少させることが可能となる。

インジェクション系ぜい弱性の一般論を説明する前に,その典型例であるSQLインジェクションについておさらいをしておこう。SQLインジェクションとは,データベース・サーバーに送るSQL文を構成するパラメータにSQL断片を挿入してSQLの意味を改変し,不正な操作を実行することである。例えば図1のように,ユーザー認証の入力フォームを悪用する場合。通常は,ユーザーIDとパスワード入力からSQLを実行して,IDとパスワードの組み合わせの妥当性を確認する。ここではプログラミング言語としてはPerlやPHPを想定している。

ここから下は、関連記事一覧などです。画面先頭に戻る ホームページへ戻る

記事検索 オプション

SPECIAL

日経BP社の書籍購入や雑誌の定期購読は、便利な日経BP書店で。オンラインで24時間承っています。

ご案内 nikkei BPnetでは、Internet Explorer 6以降、 Safari 2以降、Opera 8以降、Netscape 8.1以降またはHTML 4.01/CSS level 1, 2をサポートしたWebブラウザでの閲覧をお勧めしております。このメッセージが表示されているサポート外のブラウザをご利用の方も、できる限り本文を読めるように配慮していますが、表示される画面デザインや動作が異なったり、画面が乱れたりする場合があります。あらかじめご了承ください。

本文へ戻る