情報処理安全確保支援士過去問題 令和4年秋期 午後Ⅱ 問1

⇄問題文と設問を画面2分割で開く⇱問題PDF

出題趣旨

サイバー攻撃が高度化する中,有効なセキュリティ対策を行う上で重要な要因の一つとして,攻撃者の行動,マルウェアの挙動を観測によって解析することが挙げられる。本問では,セキュリティ関連会社での脅威情報調査及びCTFを題材に,マルウェアの動的解析システムの安全な運用方法の設計能力,及び攻撃者の攻撃手法を想定した事前対策の立案能力を問う。

設問1

    • C&CサーバのIPアドレス
    • 仮想マシンではない実機環境を使う。
設問1は検体の解析作業についての問題です。
  • 検体αの挙動について問われています。
    下線①の「ディスクに展開されずメモリ内だけに展開される」というと特徴をもつマルウェアは「ファイルレスマルウェア」と呼ばれます。ファイルレスマルウェアは、マルウェア自体の実行ファイル(.exeや.dllなど)を作成せずに、PowerShellなどのOSに組み込まれた正規のツールを利用して、メモリ上に展開されたプログラムを実行することで攻撃を行うものです。主にシステムのメモリ上や正規のシステムプロセスが利用されるため、マルウェア対策ソフトやシグネチャベースの検出ツールでの検出が難しいという特徴があります。また、多くの場合システムを再起動すると消滅します。したがって「エ」が正解です。

    その他の選択肢については次のとおりです。
    • アドウェアは、宣伝や広告収入を目的として、広告を表示するソフトです。中には個人情報を収集するなどの機能を備えた、悪質なものも存在します。
    • 暗号資産採掘マルウェアは、暗号資産を採掘するために、他人のPCのリソースを勝手に利用するマルウェアです。マイニングマルウェアとも呼ばれます。
    • トロイの木馬は、無害なプログラムを装って侵入し、何らかのトリガーをもって秘密裏に攻撃を仕掛けるマルウェアです。
    • 正しい。ファイルレスマルウェアは、ディスク上にファイルを作ることなく、メモリ上で不正動作を行うマルウェアの総称です。
    • ランサムウェアは、他人のコンピュータのデータを勝手に暗号化してデータにアクセスできないようにし、元に戻すための復元プログラムを買うように迫るマルウェアです。
  • 検体αの解析において、解析を翌週に持ち越した場合の影響について問われています。
    下線②によると、攻撃者が何らかの変更を行うことで、検体αの挙動が変わるとあります。そこで、表4の解析結果のうち、検体αについて"確認した挙動"と"簡易的な解析の結果"を確認します。それぞれ「C&Cサーバに接続し,プログラムコードをダウンロードした」、「ダウンロードしたプログラムコードは(中略)定期的にC&Cサーバに送信するキーロガー機能を持つ」とあります。

    検体α自体はL社で管理されており、攻撃者が手を加えることはできません。一方で、C&Cサーバは攻撃者が自在に変更できるものです。一般に、攻撃者は追跡を避けるためにC&CサーバのIPアドレスを頻繁に変更するので、週明けに検体αを再実行してもC&Cサーバの接続に失敗し、プログラムコードがダウンロードできなくなっている可能性があります。これがY主任が懸念している点となります。したがって、攻撃者によって変更されるものには「C&CサーバのIPアドレス」が妥当します。

    なお、Y主任は「仮想マシンの状態を保存しておいてほしい」と指示しています。これは、検体αがダウンロードしたプログラムコードは、メモリ上でのみ動作しており、仮想マシンをシャットダウンするとその内容が失われるためです。週明けに仮想マシンを起動して検体αを解析する場合には、検体αはC&Cサーバからプログラムコードをダウンロードすることになりますが、C&CサーバのIPアドレスが変わったり、ダウンロードするプログラムコードが変わったりすると、元の挙動を再現できなくなります。それを防ぐための指示であると考えられます。

    ∴C&CサーバのIPアドレス

  • 検体γを解析するための環境について問われています。
    表4で検体γの簡易的な解析の結果を見ると、「自身が仮想マシン上で動作していることを検知すると(中略)攻撃コードを削除した後,終了する」とあります。仮想マシン上では解析ができないので、別の環境を構築することにしたとあります。仮想マシンで解析ができないのであれば、実機のマシンを使うことになります。設問では「現在の解析環境との違い」を問われていますので、「仮想マシンではない実機(物理マシン)環境」などの解答が適切となります。

    ∴仮想マシンではない実機環境を使う。

設問2

    • a: ア
    • b: ウ
    • c: エ
    • d: イ
設問2は、ファイル転送手順の変更について問われています。

表3の項番4によると、内部モードではOF機器とファイルシェアサーバの通信が許可されています。そのため、内部モードに切り替えた際に、OF機器のマルウェアがファイルシェアサーバに感染を広げる可能性が危惧されています。それを防ぐために手順を変更します。図4の手順3と4によると、現在はOF機器から収集した解析ファイルをファイルシェアサーバに転送していますが、新しい方針では、解析ファイルの転送に検疫PCを経由させることになります。一方で、検疫PC以外のOF機器からファイルシェアサーバへの通信は禁止します。検疫PCでマルウェアが検出されなければ、ファイルシェアサーバが検疫PCを介してマルウェアに感染する可能性は低いと言えます。

問題文の説明を踏まえて、4つの選択肢の先後関係を考えていきます。
  • 解析ファイルの転送は「OF機器→検疫PC→ファイルシェアサーバ」の順で行われるので、ア⇒イ
  • OF機器をシャットダウンするのは「OF機器→検疫PC」の転送の完了後でなければならないので、ア⇒ウ
  • OF機器とファイルシェアサーバの直接の通信を禁止するため、OF環境内のルータを内部モードに切り替えるのは、検疫PC以外のOF機器のシャットダウン後でなければならないので、ウ⇒エ
  • 「検疫PCは,表3の通信制御のルールについてはOF機器と扱う」より、「検疫PC→ファイルシェアサーバ」の転送は、内部モードへの切替後でなければできないので、エ⇒イ
この4つの関係性より「ア⇒ウ⇒エ⇒イ」という順番が適切とわかります。したがって、空欄aはア、空欄bはウ、空欄cはエ、空欄dはイがそれぞれ当てはまります。

a=ア
 b=ウ
 c=エ
 d=イ

設問3

    • e: 1
    • f: ア
    • g: イ
    • h: ウ
    • i: ウ
    • j: ア
    • k: ウ
    • l: ウ
    • m: イ
    • n: ウ
    • o: ア
設問3ではARPスプーフィングの使用についてです。
  • Aツールの機能について問われています。
    〔ARPスプーフィングの使用に関する説明〕(3)には「ネットワーク内の機器の情報を得たいと考え,表5中の項番eの機能を実行した」とあります。その結果、取得されたのが表6「X-PCのARPテーブル(抜粋)」です。表5に記載されているAツールの機能は、項番1「OS標準の機能を用いて同一セグメント内にARP要求を出し,応答を記録する」、項番2「不正なARPを送る」、項番3「パケットの本来の宛先に転送する」であり、ARPテーブル(IPアドレスとMACアドレスの対応表)を作成できるような機能は項番1しかありません。したがって、空欄eには「1」が当てはまります。

    e=1

  • 標的PCにARPスプーフィング機能を実行した後のARPテーブルについて問われています。
    〔ARPスプーフィングの使用に関する説明〕(5)には、「ARPスプーフィング機能について,標的PCのIPアドレスを指定して実行した後,DNSサーバのIPアドレスを指定して実行し」たとあります。表5項番2より、ARPスプーフィング機能は「標的の機器がARP要求を出した際に,…自身のMACアドレスを含んだ不正なARP応答を送る」ものですから、標的となった標的PC及びDNSサーバのARPテーブルは、X-PCのMACアドレスで置き換えられることになります。

    fgについて〕
    X-PCに対してはARPスプーフィング機能が実行されていませんから、X-PCのARPテーブルにはIPアドレスとMACアドレスの正規の関係が保持されているはずです。192.168.15.51 は標的PCのIPアドレスですから、対応するMACアドレス(空欄f)は XX-XX-XX-23-46-4a、192.168.15.98 はDNSサーバのIPアドレスですから、対応するMACアドレス(空欄g)は XX-XX-XX-f9-48-1b がそれぞれ当てはまります。

    hiについて〕
    前述のとおり、標的PCに対してはARPスプーフィング機能が実行されているので、標的PCのARPテーブルのMACアドレスはすべてX-PCのMACアドレスに書き換えられています。したがって、192.168.15.50、192.168.15.98のいずれも、X-PCのMACアドレスである XX-XX-XX-fb-44-25 になっています。

    f=ア:XX-XX-XX-23-46-4a
     g=イ:XX-XX-XX-f9-48-1b
     h=ウ:XX-XX-XX-fb-44-25
     i=ウ:XX-XX-XX-fb-44-25

  • ARPスプーフィング実行後のパケットの記録について問われています。
    ARPスプーフィング機能が成功した後は、表5項番3の中継機能が動作します。中継機能は「自身に送られてきたパケットを加工し,本来の宛先に転送する」というものです。ARPスプーフィング機能により、標的PC→DNSサーバ、DNSサーバ→標的PCのパケットはX-PCに送信されるようになっているので、次のように本来の通信の間にX-PCが介在する形でパケットの盗み見が行われます。
    1. 標的PCがDNSサーバにパケットを送信しようとする
    2. 標的PCはARPテーブルを見て、X-PCにパケットを送る
    3. X-PCは、受け取ったパケットのMACアドレスとIPアドレスを偽装して、DNSサーバに送る
    4. DNSサーバは標的PCに応答パケットを送信しようとする
    5. DNSサーバはARPテーブルを見て、X-PCにパケットを送る
    6. X-PCは、受け取ったパケットのMACアドレスとIPアドレスを偽装して、標的PCに送る
    jklmについて〕
    表9の上2行は、標的PCからDNSサーバへのパケット送信です。まず、標的PCはX-PCに向けてパケットを送信することになるので、1行目の送信元MACアドレス(空欄j)は標的PCの XX-XX-XX-23-46-4a、宛先MACアドレス(空欄k)はX-PCの XX-XX-XX-fb-44-25 になります。その後、X-PCからDNSサーバに対して加工されたパケットが転送されるので、2行目の送信元MACアドレス(空欄l)はX-PCの XX-XX-XX-fb-44-25、宛先MACアドレス(空欄m)はDNSサーバの XX-XX-XX-f9-48-1b になります。

    j=ア:XX-XX-XX-23-46-4a
     k=ウ:XX-XX-XX-fb-44-25
     l=ウ:XX-XX-XX-fb-44-25
     m=イ:XX-XX-XX-f9-48-1b

    noについて〕
    表9の下2行は、DNSサーバから標的PCへのパケット送信です。まず、DNSサーバはX-PCに向けてパケットを送信することになるので、3行目の送信元MACアドレスはDNSサーバの XX-XX-XX-f9-48-1b、宛先MACアドレスはX-PCの XX-XX-XX-fb-44-25 になっています。その後、X-PCから標的PCに対して加工されたパケットが転送されるので、4行目の送信元MACアドレス(空欄n)はX-PCの XX-XX-XX-fb-44-25、宛先MACアドレス(空欄o)は標的PCの XX-XX-XX-23-46-4a になります。

    n=ウ:XX-XX-XX-fb-44-25
     o=ア:XX-XX-XX-23-46-4a

設問4

    • ハッシュ化を繰り返す処理
    • ログイン失敗が5回連続した場合に当該利用者IDをロックする機能
    • p: エ
    • 変数nの値を5桁の文字列に変換して“Admin”に結合した文字列
設問4は〔パスワードの解読に関する説明〕についてです。
  • ストレッチングの処理内容について問われています。ストレッチングは、パスワードに対して行うハッシュ化を繰り返し適用する処理です。ハッシュ化で得られたハッシュ値を入力として、さらにハッシュ化を行うということを1万~10万回程度繰り返して解読に対する強度を高めます。ハッシュ化されたパスワードが漏えいした際の、総当たり攻撃やレインバー攻撃に対する耐性を高める目的があります。
    初期ハッシュ: H0 = SHA-256("mypassword")
    H1 = SHA-256(H0)
    H2 = SHA-256(H1)
    ...
    Hn = SHA-256(Hn-1)
    知識問題ですので、知らなければ解答できない問題ですが、図7の注1に「ストレッチング回数」とあるので、「回数」から「繰り返し」であることは予測できたかも知れません。

    ∴ハッシュ化を繰り返す処理

  • ブルートフォース攻撃に対抗する機能について問われています。
    ブルートフォース攻撃は、パスワードとして使用可能な文字列の組合せをすべて試すことで解読を試みる攻撃手法です。ブルートフォース攻撃に対抗するには、しきい値を超えてログインに連続失敗した場合、アカウントをロックすることが有効です(ロックアウト機能)。ブルートフォース攻撃は、その性質上、ログイン試行を何度も繰り返すことが必要となります。そこで、一定回数ログインに失敗した際にアカウントをロックすれば、以降のログイン試行ができなくなり、ブルートフォース攻撃を防ぐことができます。

    図7の1.より、人事サーバには「利用者IDに対してログイン失敗が5回連続した場合は,当該利用者IDによるログインを10分間ロックする」機能があります。これがブルートフォース攻撃に対抗する機能に該当します。解答としては、問題文にある文章を使いますが、そのままだと50字となり、40字に収まりません。また、「どのような機能か」と問われているので、「~~する機能」と答えなければなりません。それを踏まえると、以下のようになります。

    ∴ログイン失敗が5回連続した場合に当該利用者IDをロックする機能

  • pについて〕
    ハッシュ値から平文を得るための攻撃手法について問われています。
    ハッシュ値から平文を得るという特徴より、レインボーテーブルが正解と判断できます。レインボーテーブル攻撃は、ハッシュ値からパスワードを特定するための逆引き表(レインボーテーブル)を用いて、ハッシュ値の元となったパスワードを効率的に解読する手法です。
    また、表10項番2の"困難であると判断した理由"には「文字列Zの生成にはソルトが用いられているから」とあります。ソルトとは、元データに任意の文字列を加えてハッシュ化する手法を言います。ソルトが使われた場合、ハッシュ値はまったく異なったものになるため、レインボーテーブルが使えなくなります。

    その他の選択肢は以下のとおりです。
    • Pass the Hash攻撃は、認証情報として"ユーザー名"と"パスワードのハッシュ値"から生成されたハッシュ値を用いるチャレンジレスポンス認証において、クライアント端末のメモリ上に残された"パスワードのハッシュ値"を盗み取ることで、サーバへの正当な認証情報と区別がつかないレスポンスを生成し、不正ログインを行う攻撃手法です。
    • SHA-1衝突攻撃は、通常、ハッシュ値は異なるデータに対しては異なるハッシュ値となります。しかし、異なるデータにもかかわらず、偶然ハッシュ値が同じとなることが起こりえます。SHA-1ハッシュ値が同一になってしまうt事象をSHA-1衝突といいます。
    • 既知平文攻撃は、既知の平文と暗号文から暗号化方式や暗号の鍵を特定し、復号する攻撃です。例えば、暗号化されたZIPファイルの中に平文のファイルが一つでもあれば、平文と暗号化ファイルから暗号の鍵を推測することができます。
    • 正しい。レインボーテーブル攻撃は、平文のパスワードとハッシュ値の組み合わせが書かれた表を用意しておき、ハッシュ値から平文を割り出す攻撃です。
    p=エ:レインボーテーブル

  • 人事サーバのシステム管理者のパスワードについて問われています。
    図7の3.によると、OF機器のシステム管理者のパスワードは"Admin[数字5桁]"であり、人事サーバについても同様だと推測されています。このことから、人事サーバのシステム管理者のパスワードは、"Admin00000"~"Admin99999"のいずれかと判断できます。オフライン攻撃ではn=0から始めて、nを1ずつ増やしながら総当たり攻撃を行っており、n番目の候補となる文字列は、n=0であれば"Admin00000"、n=100であれば"Admin00100"というように、変数nを数字5桁に変換(書式に従って整形)した文字列を"Admin"の後ろに連結したものとなります。
    password_n = "Admin" + sprintf("%05d", n)
    これを文章としてまとめた「5桁の数字にした変数nを"Admin"の後ろに結合した文字列」などの解答が適切です。

    ∴変数nの値を5桁の文字列に変換して"Admin"に結合した文字列

設問5

    • 同一のMACアドレスのエントリが複数存在する状態
    • q: デバッグログに認証情報を出力しないこと
設問5は〔運用に関する改善提案〕についてです。
  • ARPテーブルの不審な状態について問われています。
    MACアドレスはネットワークカードに割り当てられている番号で、重複することはありません。しかし、本問では表8において、IPアドレスが異なる(≒機器が異なる)にもかかわらず、同じMACアドレスとなっています。これはARPスプーフィング攻撃によって生じていると考えられます。言い換えると、同一のMACアドレスのエントリが複数存在することは、通常あり得ませんのでこれが不審な状態と言えます。

    なお、1つ目の方法として挙げられているDynamic ARP Inspection(DAI)は、スイッチ上でARP要求とARP応答を監視し、不正なARP応答を遮断することでARPスプーフィングを防止する機能です。

    ∴同一のMACアドレスのエントリが複数存在する状態

  • qについて〕
    人事サーバのログの改善事項について問われています。
    今回の人事サーバのパスワード解読では、デバッグログにH文字列やプログラムの関数名や変数名が出力されており、これらの解析によりシステム管理者のH文字列が特定されるなど攻撃の手掛かりになりました。特にシステム管理者のH文字列が特定されなければ、そもそもオフライン攻撃での解読は不可能だったわけなので、デバッグログが脆弱性となった点に問題があります。デバッグログは不具合の検出と修正には役立ちますが、開発段階のログ出力が意図せず本番環境に残ってしまうと本件のように思わぬ秘密情報が漏えいしてしまう可能性があります。本番環境でデバッグログを出力する場合には、秘密情報を出力しない、または秘密情報はマスキングして出力するなどの対策を講じる必要があります。

    q=デバッグログに認証情報を出力しないこと
© 2014- 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop