| ||||||||||||
| 前のページ 1 2 3 | ||||||||||||
| Webアプリケーションに渡されるパラメータにSQL文を直接指定しない | ||||||||||||
これは、いわば「論外」の実装ですが、フォームのhidden形式などにSQL文をそのまま指定するといった問題のあるWebサイトが少なからず存在するため、避けるべき実装として紹介します。 Webアプリケーションに渡されるパラメータにSQL文を直接指定していると、そのパラメータの改変により、データベースの不正利用につながる可能性があります。 参考URL セキュアWebプログラミング「hiddenは危険」 http://www.ipa.go.jp/security/awareness/vendor/programming/a01_05.html | ||||||||||||
| 保険的対策 | ||||||||||||
次に保険的対策について解説します。保険的対策として表3にあげた2つがあります。
表4:SQLインジェクションの保険的対策 それではそれぞれについて解説していきます。 | ||||||||||||
| データベースアカウントに適切な権限を与える | ||||||||||||
これは、SQLインジェクション攻撃による影響を低減するための対策です。Webアプリケーションがデータベースに接続する際に使用するアカウントの権限が必要以上に高い場合、攻撃による被害が深刻化する恐れがあります。 Webアプリケーションからデータベースに渡す命令文を洗い出し、その命令文の実行に必要な最小限の権限をデータベースアカウントに与えてください。 参考URL セキュアDBプログラミング「データベースとアクセス権」 http://www.ipa.go.jp/security/awareness/vendor/programming/a02_03.html | ||||||||||||
| エラーメッセージをそのままブラウザに表示しない | ||||||||||||
これは、利用者に必要以上の情報を与えないための対策です。エラーメッセージの内容に、データベースの種類やエラーの原因、実行エラーを起こしたSQL文などの情報が含まれる場合、これらはSQLインジェクションの攻撃につながる有用な情報となりえます。 データベースに関連するエラーメッセージは、利用者のブラウザ上に表示させないことをお勧めします。以上の内容を実装することにより、SQLインジェクションに対する安全性の向上が期待できます。データベースと連携したWebアプリケーションの構築については、次の資料もご参照ください。 | ||||||||||||
| 前のページ 1 2 3 | ||||||||||||
| 安全なウェブサイトの作り方 - ウェブアプリケーションのセキュリティ実装とウェブサイトの安全性向上のための取り組み 2006年1月31日にIPAは、ウェブサイト運営者がウェブサイト上で発生しうる問題に対して、適切な対策ができるようにするため、「安全なウェブサイトの作り方」を取りまとめ公開いたしました。 本記事は、その報告書の転載です。詳しい内容に関しましては、以下のURLをご参照ください。 安全なウェブサイトの作り方 http://www.ipa.go.jp/security/vuln/documents/2005/website_security.pdf 脆弱性関連情報に関する届出について http://www.ipa.go.jp/security/vuln/report/index.html IPA(独立行政法人情報処理推進機構) http://www.ipa.go.jp/index.html IPA/ISEC(独立行政法人情報処理推進機構セキュリティセンター) http://www.ipa.go.jp/security/index.html | ||||||||||||
| ||||||||||||
| ||||||||||||
| ||||||||||||

