今回も情報処理安全確保支援士の試験勉強の内容をアウトプットをしていきます。
勉強に使ったのはこちら
章の終わりにあるCheck問題に私なりの答えで解答していきます。
今回は2.5章:セッションハイジャックのCheck問題です。
【Q1】セッションハイジャックにはどのような手法があるか。
①正規のサーバに成りすましてクライアントの機密情報を盗む。
②正規のサーバに成りすましてクライアントに偽の応答を返却し不正なサイトに誘導する。
③正規のクライアントになりすましてサーバに侵入し、不正なリクエストの発行、管理者権限の奪取、機密情報の閲覧、情報の改ざん、消去などを行う。
④クライアントに対しては正規のサーバに、サーバに対しては正規のクライアントに成りすまし、通信データを盗聴しつつ、不正なリクエストやレスポンスを紛れ込ませるなどしてセッションをコントロールする。
【Q2】Webサーバとクライアント間のセッションハイジャックが成立する原因となる脆弱性とは何か。
クライアントの識別や状態管理をURLやCookieにセットしてやりとりを行う必要があること。
攻撃者がセットされるセッション情報を推測したり盗聴したりすることによりパケットを偽装し、セッションをハイジャックする。
①セッションIDが単純である
②セッション管理情報が丸見えになっている
③クロスサイトスクリプティングの脆弱性によりセッション管理情報が盗まれる
【Q3】Webサーバとクライアント間のセッションハイジャックに対してはどのような対策が有効か。
①TLSを使用してWeb通信を暗号化する
②セッション管理システムをアプリケーションサーバなどに実装背れている機能で行う
③乱数やハッシュ関数を使用して推測困難なセッションIDを生成する
④利用形態やサーバ構成などに応じたセッション管理機能を実装する
⑤セキュリティホールの有無を確認し、有れば対処する
⑥Webサーバの前にリバースプロキシサーバやWAFを設置してセッション管理の脆弱性をついた攻撃を排除する
【Q4】認証サーバとクライアント間のセッションハイジャックに対してはどのような対策が有効か。
TLSなど、サーバの正当性が確認でき、かつパケットの偽装が困難なプロトコルを使用する。
【Q5】セッションフィクセーションとはどのような攻撃手法か。
すでに確立されているセッションをハイジャックするのではなく、攻撃者が作成したセッションIDを含む不正なURLを送りつけて意図的にセッションを確立させ、そのセッションをハイジャックする攻撃手法。
【Q6】どのような脆弱性があるとセッションフィクセーションが成立する可能性があるのか。
①正規のセッションIDを容易に入手可能であること
②ターゲットとなるWebサーバでURL Rewriting機能が有効になっていること
【Q7】セッションフィクセーションへの対策にはどのようなものがあるか。
①ユーザがログイン成功した後で新たにセッションIDを発行するようにする
②WebサーバのURL Rewriting機能を無効にする
私が使っているのは2022年版のテキストですが、2023年版も出ています。