2014年2月27日木曜日

Webアプリケーションのセキュリティ対策

SQLインジェクション
WWWサイトでユーザが入力した値をデータベースに問合せを行うような処理があるとき、悪意のあるユーザが指定する入力値(入力データ)SQL文を指定することで、データベースへの不正なアクセスを行う攻撃のことです。

SQLインジェクション対策
SQL文の組立てをプレースホルダを使用し、そのプレースホルダを静的なものにすることが有効です。
利用者の入力データをSQL文の変数として扱うバインド機構や、利用者の入力データからSQL文での特殊文字を置き換えるエスケープ処理が有効です。

▲クロスサイトスクリプティング(Cross Site ScriptingXSS)対策
Webサイトのユーザ入力データから、スクリプトに使われる特殊文字の入力を無効する処理(サニタイジング)を行います。

▲クロスサイトリクエストフォージェリ(Cross Site Request ForgeriesCSRFXSRF)対策
処理を実行するページをPOSTメソッドでアクセスするようにします。

▲セッションハイジャック(session hijacking)対策
セッションIDを推測困難なものにします。

安全なWebサイトの作り方はIPAのサイトで公開されています。


0 件のコメント:

コメントを投稿