情報セキュリティスペシャリスト受験ノート

情報セキュリティスペシャリストの試験勉強用のノートです。

シングルサインオンに関する問題

【H20春SW午後1問4】

 

1.シングルサインオンの方式

  • エージェント方式:Webサーバに専用のソフトウェアを導入する。ディレクトリ・サービス、HTTP Cookieを使用。認証情報をシステム間でやりとりする。
  • リバースプロキシ方式:リバースプロキシサーバを使用。ユーザからの認証要求を認証サーバが引き受け、各システムに接続し認証の代行を行う。

 

2.エージェント方式:認証無効・再ログインについて

利用者が5分以上操作を行わないと自動的にそれまでの認証を無効にし、再度ログインを求めるために行う処理を実現するには

  1. 認証済チケットに含まれる、a「認証処理サーバが認証済みチケットを発行した時刻」を取り出す。
  2. b「認証処理サーバの現在時刻」とaを比較する。
  3. 差が5分以内の場合、要求を社内システムサーバに中継し、応答の中継時に、認証済みチケットの中のaの部分の内容を、bに置き換え、要求基に返す。
  4. 差が5分を超える場合、要求元に対する認証を無効とし、「ログインの要求」を行う。

 

Webアプリケーションの脆弱性についての問題

 【H27春SC午後1問1】

  

1.セッションIDの保護、Cookieのsecure属性

Set-Cookieヘッダにsecure属性が設定されていないと、第三者にセッションIDを盗聴されるリスクがある。 ⇒ セッションハイジャック

 

■secure属性

WebブラウザがHTTPS通信を行うときに限り、Cookieをサーバへ送信するための属性

設定されていない場合、HTTP通信でもCookieを送信する。HTTPSでは暗号化されるため盗聴はされないが、HTTPでは暗号化されないので盗聴のリスクがある。

 

2.HTTPヘッダインジェクション攻撃

サーバ側でHTTPレスポンスに不正なヘッダを出力させる攻撃

HTMLヘッダの前に改行(CRLF)を2つ入れることによって、パラメタをSet-Cookieヘッダから分離し、空白行を挿入することでHTTPレスポンスボディになるようにする。

⇒ パラメタをHTML文としてブラウザに解釈させる。

 

上記と同様に、クライアント側で任意のスクリプトを実行させる攻撃に、クロスサイトスクリプティングがある。

⇒ 対応策:ヘッダ出力用の関数やAPIを使用する。それができない場合は、出力文字列に改行コードがあるとエラー画面を出力する(出力文字列の改行コード以降の文字列を削除)

 

3.セッションフィクセーション攻撃(セッション固定化攻撃)

 

攻撃者が取得したセッションIDを標的とした利用者に使わせ、その利用者になりすましてセッションを乗っ取る攻撃

 

ログイン前とログイン後に同じセッションIDを使用していると攻撃を受ける可能性がある。

⇒ 対応策:ログイン後に新しいセッションIDを発行し、新しいセッションIDによるセッションを開始する。