【情報処理安全確保支援士試験 令和4年度 秋期 午後2 問1 No.4】
情報処理安全確保支援士試験 令和4年度 秋期 午後2 問1
【出典:情報処理安全確保支援士試験 令和4年度 秋期 午後2 問1(一部、加工あり)】
[パスワードに解読に関する説明]
Tさんはパスワード解読に関して次のように説明した。
⑴ヒント情報には、5番目のflagを入手するためには、システム管理者の利用者IDとパスワードを用いてWebブラウザから人事サーバにログインする必要があると書かれていた。
⑵ここまでのflag入手の過程で得た情報を図7のように整理した。
⑶図7の情報から、システム管理者のパスワードを得るための攻撃手法を最初に二つ考えたが、いずれの手法も、表10に示すとおり、残りの試験時間内にパスワードを得ることは困難であると判断した。
⑷三つ目の攻撃手法を考えて試し、成功した。具体的には、図8に示すオフライン攻撃の流れをプログラムとして実装し、実行することによってシステム管理者のパスワードを解読した。
下線④について、どのような処理か。20字以内で具体的に答えよ。:ハッシュ化を繰り返す処理
「利用者が設定したパスワードは、Blowfish暗号を用いた、ソルトあり、④ストレッチングありのハッシュ関数を用いて出力した文字列(以下、H文字列という)の形式で保存される。」
ストレッチングとは、ハッシュ化を繰り返すことで元の文字列を推測することを困難にさせることです。
知識問題ですが、図7(整理した情報)の注記に「最初の7字はハッシュ関数のバージョンとストレッチング回数」とあることから、ハッシュ化の複数処理を想像することができます。
下線⑤について、どのような機能か。40字以内で具体的に答えよ。:ログイン失敗が5回連続した場合に当該利用者IDをロックする機能
「⑤ブルートフォース攻撃に対抗する機能があるから」
ブルートフォース攻撃とは、使用可能な文字のあらゆる組み合わせで繰り返しログインを試みる攻撃のことで、知識として持っておきましょう。
そしてブルートフォース攻撃に対抗する機能に相当するのは、図7(整理した情報)に「利用者IDに対してログイン失敗が5回連続した場合は、当該利用者IDによるログインを10分間ロックする。」の部分です。
これを40字以内でまとめます。
p:レインボーテーブル
「文字列Zに含まれるハッシュ値から平文を得るために、(p)攻撃を行う。」
こちらも知識問題です。
ハッシュ値から平文を得る攻撃は、レインボーテーブル攻撃です。
レインボーテーブル攻撃では、平文のパスワードとハッシュ値の組み合わせをあらかじめデータベース化しておき、ハッシュ値からパスワードを求めます。
そして、図10(攻撃手法と判断理由)で、レインボーテーブル攻撃に対して困難であると判断した理由に「文字列Zの生成にはソルトが用いられているから」とあるように、ソルトとして追加した分だけパスワードの桁数が多くなることで、レインボーテーブルの生成が困難になります。
下線⑥はどのような文字列か。システム管理者のパスワードの特徴を踏まえ、40字以内で具体的に答えよ。:変数nの値を5桁の文字列に変換して”Admin”に結合した文字列
「⑥システム管理者のパスワードとしてn番目の候補となる文字列を生成する。」
システム管理者のパスワードの特徴とあるので、問題文から探します。
図7(整理した情報)に「…システム管理者のパスワードは、いずれも”Admin[数字5桁]”であり、[数字5桁]にはサーバごとに異なる数字が設定されていた。」とあるように、Admin00001〜Admin99999の文字列となることが分かります。
これを具体的な文字列で示すと「変数nの値を5桁の文字列に変換して”Admin”に結合した文字列」となります。