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

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

出題趣旨

OSSを用いたソフトウェア開発が一般化している。一方,悪意あるプログラムや脆弱性をもつプログラムがOSSに混入する可能性が高まっている。事実,情報セキュリティ10大脅威2022の“組織”向け脅威にサプライチェーンの弱点を悪用した攻撃やゼロデイ攻撃がランクインしている。そこで,そのような事象を想定したインシデントハンドリングの体制及び手順を検討しておくことは重要である。本問では,オンラインゲーム事業者でのセキュリティインシデント対応を題材に,インシデントハンドリングを行う能力を問う。

設問1

    • a: 376
    • progというファイルをダウンロードし,実行する命令
    • b: 一時ディレクトリ内のログ
    • ゼロデイ攻撃
  • aについて〕
    設問は更新手順について問うものです。空欄aに入るタグ番号を記入します。

    本文中に、運用部のHさんは「同日10時に更新手順を開始し、3.までを終えた」とあります。表2を見ると、「3月6日10時05分に終了」と記録されているタグ351のコンテナに替わって、「3月6日10時14分に起動」と記録されているタグ376が起動していることがわかります。したがって、更新の際に誤って取得されたのはタグ376です。本来は開発部から伝達されたタグ367を取得すべきところ、番号が類似していたためタグ376を誤取得したと考えられます。

    a=376

  • 本設問は、progファイルが紛れ込んだ原因が問われています。

    本文に「progという名称のファイルはタグ「a:376」のゲームイメージに含まれていない」とあることから、ソースコードからゲームイメージが生成される段階ではprogファイルはまだ注入されておらず、後から外部によって注入されたと考えられます。

    コンテナが稼働しているゲームサーバについて、表1には以下の記載があります。
    • 当該コンテナ内のプロセスによるファイルシステムへのアクセスは,ゲームイメージに含まれるファイルの読込み,並びに一時ディレクトリ内のファイルの作成,読込み,書込み及び実行だけに制限されている。ネットワーク接続の接続先には制限がない
    ゲームサーバが行うネットワーク接続の接続先には制限がなく、また業務用FWでは、本番LANからのインターネット接続が許可されています。この仕様と〔各サーバ上での被害の調査〕の「ゲームサーバ1はインターネット上のIPアドレス a3.b3.c3.d3 及びレジストリサーバに対してだけ接続していた」という説明より、コードZの命令によってゲームサーバからインターネットへの接続が行われ、progファイルのダウンロードと実行が行われたと想定されます。

    ∴progをいうファイルをダウンロードし,実行する命令

  • bについて〕
    設問はコンテナの挙動に関して問われています。コンテナを終了すると消失してしまうものが何かを特定する必要があります。

    前問と同じく表1中のゲームサーバの仕様に注目すると、以下の記述があります。
    • ゲームアプリはログを一時ディレクトリに出力する。一時ディレクトリはコンテナ起動時に作成され、コンテナ終了時に消去される
    コンテナを終了すると一時ディレクトリに出力されたログも消去されることが分かります。証拠保全の観点から、K主任は「終了」ではなく「一時停止」を指示したものと考えられます。したがって、空欄bには「一時ディレクトリ内のログ」が入ります。

    b=一時ディレクトリ内のログ

  • 下線②の「対策情報が公開される前の脆弱性を悪用した攻撃」とは、まさにセロデイ攻撃のことを指しています。

    脆弱性が発見された際、対策方法がすぐに公開される場合もあれば、修正パッチの提供まで数日を要する場合もあります。修正パッチが提供された日を1日目とした場合、それよりも前に行われる攻撃という意味で、セロデイ(0 day)攻撃と呼ばれます。

    ∴ゼロデイ攻撃

設問2

    • レジストリサーバに固有のレスポンスヘッダ
    • 上書きされたイメージを削除する。
  • 本設問は、HTTPレスポンスに関する理解を問うものです。ある程度のHTTPレスポンスの基礎知識が前提となります。

    本文には「攻撃者は当社のネットワーク構成について詳細を知らずに項番4のアクセスをし…」とあります。まず、表3の項番4を確認します。項番4の記録からは、ゲームサーバ1がレジストリサーバに対して/index.htmlを要求したところ、"404 Not Found"が返され、該当リソースが見つからなかったことがわかります。

    しかし、この事実だけでは攻撃者が当該サーバをレジストリサーバ(コンテナイメージを保存・管理・配布するサーバ)と判断した理由は説明できません。ここで着目すべきは、HTTP/HTTPSのリクエストに対する応答、すなわちレスポンスに含まれる各種情報です。レスポンスはステータスラインやヘッダー、ボディで構成され、そのうちレスポンスヘッダーにはサーバ上で稼働しているソフトウェアの種類や、レスポンスボディのMIMEタイプなどのメタデータが含まれます。

    特にレジストリ実装では、APIバージョン識別子や認可スキームなどWebサーバと決定的に異なるヘッダーが含まれます。
    HTTP/1.1 404 Not Found
    Docker-Distribution-Api-Version: registry/2.0
    Content-Type: application/json; charset=utf-8
    X-Content-Type-Options: nosniff
    Date: Wed, 06 Mar 2024 01:16:40 GMT
    Content-Length: 120
    項番4で取得したレスポンスヘッダーにこれらのシグネチャが含まれていれば、当該ホストがレジストリサーバであることを技術的に特定できます。/index.html が見つからなかったという結果ではなく、レスポンスヘッダーの内容こそがレジストリ特有の挙動を示す証拠であり、攻撃者はそのヘッダー情報を手掛かりに役割を同定したことになります。

    ∴レジストリサーバに固有のレスポンスヘッダ

  • 本設問は、被害拡大の防止策について問うものです。

    本文に「レジストリサーバへの対処を指示した」とあるため、まずレジストリサーバで何が発生したかを確認すると、「それ以降のログを見ると,レジストリサーバ上のタグ341から379までのゲームイメージが上書きされた可能性があります」という説明が確認できます。これは、表3の項番8から項番46で実行されているPUTメソッドの記録を指しています。

    HTTPにおけるPUTメソッドは、サーバに対してリソースの追加や上書きを行う要求です。したがって、現在レジストリサーバにあるタグ341からタグ379までのゲームイメージは、攻撃者によって書き換えられている可能性があり危険です。以上のことから、これら書き換えの可能性があるゲームイメージをレジストリサーバから削除することが必要な対処となります。

    ∴上書きされたイメージを削除する。

設問3

    • c: a3.b3.c3.d3
    • d: エ
    • 別のIPアドレスを攻撃者が用いる場合
    • e: オ
  • cについて〕
    本設問はIPアドレスの特定について問うものです。問題文に記載された具体的なIPアドレスは次のとおりです。
    • a1.b1.c1.d1:業務用FWが変換するM社ネットワーク起点のグローバルIPアドレス
    • a2.b2.c2.d2:LBのグローバルIPアドレス
    • a3.b3.c3.d3:インシデント発生日にゲームサーバ1が接続したインターネット上のIPアドレス
    コードZは「攻撃者が用意した外部のサーバに接続して,指示された任意の命令を実行する」とあることから、攻撃の指示を受け取った際の宛先IPアドレスは「a3.b3.c3.d3」とわかります。

    c=a3.b3.c3.d3

  • dについて〕
    選択肢の概要は以下のとおりです。
    ゼロトラストネットワーク
    従来は安全とみなされていたネットワーク内部の通信も信頼せず、ネットワークの内外を問わず、すべてのアクセス・通信を監視・検証するという考え方に基づくセキュリティモデル
    ダークウェブ
    インターネット上で到達可能かつ未使用のIPアドレス空間のこと。通常の方法ではアクセスできない隠されたインターネット領域
    ハニーポット
    攻撃者の行動を観察するための「おとり」にすることを目的とした偽のシステムやサービス。意図的に脆弱性を持たせることで、攻撃を誘引し、攻撃活動を把握する。「ハチミツの壺」が語源
    ボットネット
    マルウェア感染によって攻撃者が遠隔操作できる、多数のコンピュータで構成されるネットワーク
    空欄d直後の「マルウェア感染によって攻撃者の制御下となったコンピュータで構成」という説明から、該当する用語は「ボットネット」と判断できます。

    d=エ:ボットネット

  • 設問では対策の妥当性について問われています。

    まず、下線⑤で言及されている「有効でない場合のある対策」を確認します。Hさんの提案は「IPアドレス(c:a3.b3.c3.d3)への接続を業務用FWで拒否する」というものです。この対策は、接続を拒否している a3.b3.c3.d3 に対しては確かに有効となり得ます。

    しかし、攻撃者は検知回避と継続性確保のために、配布サーバやC&CサーバのIPアドレスを短い間隔で切り替える仕組みを採用していることが一般的です。具体的には、短いTTLのDNS応答による高速切替(いわゆるフラックス)、クラウドの一時IPやCDNの悪用、動的DNSの利用、プロキシ連鎖などが用いられます。そのため、特定のIPアドレスのみを業務用FWで拒否する対策は、一時的な効果にとどまりやすく、すぐに回避されるリスクが高いと評価できます。

    ∴別のIPアドレスを攻撃者が用いる場合

  • eについて〕
    本設問は、呼び出し元の制限について問うものです。

    空欄eの直前には「REST APIによるゲームイメージの新規登録及び上書き登録の呼出しについて」とあるため、まず本来レジストリサーバに対してゲームイメージの新規登録や上書き登録をどこから実施する想定かを確認します。

    表1の各機器の概要を参照すると、ソースコードサーバの説明として以下の記述があります。
    • 新たなソースコードが格納されるたびに,当該ソースコードが参照しているOSSのソースコードを外部からダウンロードする。その後,ゲームアプリのコンテナイメージ(以下,ゲームイメージという)を新たに生成し、レジストリサーバに登録する
    一方、表1記載のその他の機器の概要には、レジストリサーバへのアクセスについての記述は見当たりません。したがって、本来レジストリサーバへアクセスして登録処理を行う想定の機器は、ソースコードサーバのみであるとわかります。

    運用部がゲームアプリの更新時に行うのは読取りだけなので、新規登録・上書きは禁止しても問題ありません。また、表3に示されたゲームサーバ1からレジストリサーバへのアクセスは、表1の想定から見ると本来の用途としては不要な通信なので禁止すべきです。

    したがって、ゲームイメージの新規登録・上書き保存を唯一許可すべき機器は「ソースコードサーバ」となります。

    e=オ:ソースコードサーバ
© 2014- 情報処理安全確保支援士ドットコム All Rights Reserved.

Pagetop