技術士第一次試験 専門科目情報工学部門 H26

問題 31 / 35

出典: 平成26年度技術士第一次試験問題[専門科目情報工学部門] III-31

Webアプリケーションに対する攻撃の1つに、リクエスト強要(Cross-site Request Forgery)がある。これは、別のサイトに用意したコンテンツ上の罠のリンクを踏ませること等をきっかけとして、インターネットショッピングの最終決済や退会等Webアプリケーションの重要な処理を呼び出すようユーザを誘導する攻撃である。この攻撃への対策として、最も適切なものはどれか。

他者が推定困難なランダム値をhiddenフィールドとして埋め込んでおき、フォームデータを処理する際に、フォームデータ内にその値が含まれていることを確認する。
プログラム中のデータをHTMLドキュメントに出力する際に、タグや属性値を表現する特殊文字について、HTMLエンティティを表現する記法に置換する。
別のプログラムを呼び出す際に与えるパラメータについて、文字種を英数字のみ等の安全なものに限定し、検査してから渡す。
文字列連結演算を用いてSQL文の途中へ値を埋め込む際に、特殊記号の効力を打ち消すよう、エスケープ処理を実施する。
ユーザがログインに成功した時点でまったく新しいセッションIDを発行し、それまでのセッションIDを無効にする。

当サイトでは、ユーザー体験の向上を目的としてCookieを使用しています。サイトの利用を継続することで、Cookieの使用に同意したものとみなされます。