国民のための情報セキュリティサイト 国民のための情報セキュリティサイト
アニメの使い方更新履歴このサイトの利用方法サイトマップリンク集ダウンロードお問い合わせ
対策情報管理担当者SQLインジェクションへの対策 トップページへ戻る
「企業・組織」の情報セキュリティ対策:情報管理担当者
ウイルスからの防御
ユーザー権限とユーザー認証の管理
パスワード管理の推奨
バックアップの推奨
ソーシャルエンジニアリングの対策
サーバーの設置と管理
機器障害への対策
ハッキングによる被害と対策
社員の不正による被害
廃棄するコンピュータやメディアからの情報漏洩
情報セキュリティポリシーの導入と運用方法
持ち運び可能なノートパソコンを利用する上での危険性と対策
持ち運び可能なメディアを利用する上での危険性と対策
ASP・SaaSを利用する際の情報セキュリティ対策
SQLインジェクションへの対策
SQLインジェクションへの対策

 企業や組織のホームページやショッピングサイトなどでデータベースを利用したWebアプリケーションを公開している場合には、SQLインジェクションへの対策が大切です。SQLインジェクションは、Webサーバーを経由したデータベース接続を利用した攻撃方法です。

SQLインジェクションによる攻撃

 SQLインジェクションへの対策を行っていないWebサイトでは、例えばログオン画面でパスワードの欄に不正なデータベース命令を実行するための文字列を入力することで、パスワードを知らなくてもそのユーザーとしてログオンし、クレジットカード番号などの個人情報を取得されてしまうことがあります。また、別の方法によって、データベースに格納されているデータを一括で取り出されてしまったり、データが不正に改ざんされたりすることもあります。最近は、このような手法による個人情報の漏洩事件が相次いで発生しています。

 また、SQLインジェクションを利用した特殊な命令によって、サーバー上のファイルを書き換えることで、Webページが改ざんされてしまう事件も発生しています。書き換えられたWebページでは、多くの場合、訪問者には分からないような状態(表面上は正規サイトがそのまま表示される)で、ユーザーを悪質なWebサイトに誘導したり、iframeタグで埋め込んだ別のWebサイトからウイルスに感染させたりすることが多いようです。

 自社のWebサーバーデータベースと連携したプログラムを利用している場合には、開発担当者または委託先の業者に必ず以下のような対策を講じるように依頼してください。

Webサーバー上のプログラム(スクリプト)でSQLインジェクション対策(不正な入力値による処理を防ぐなど)を行うこと。
Webサイトシステムから表示されるエラーメッセージをそのまま表示しないようにすること(攻撃者に対してヒントを与えてしまうことになるため)。
システムで利用するデータベースアカウントに対しては、最低限の権限だけを設定すること。
定期的にアクセスログから攻撃数を検出し、攻撃内容の解析を行うこと。
定期的にWebサイト全体の脆弱性検査を行うこと。

 外部の業者に開発、運用を依頼している場合には、SQLインジェクションの対策状況について、しっかりと確認しておくことが大切です。また、ツールを利用して外部からの侵入テストペネトレーションテスト)を実施したり、専門の業者にテストや診断を依頼する方法もあります。

 何よりも大切なことは、常に情報セキュリティに関する情報を収集して、新しいハッキング方法が公開された場合には、利用しているサーバーで必要な対策を迅速に実施することです。

ページ参照事例19:SQLインジェクションでサーバーの情報が・・・

(2009年3月作成)

国民のための情報セキュリティサイトトップへ