令和5年度 秋期 情報処理安全確保支援士試験 午後 問題 問3 CIサービスのサプライチェーン型インシデント

テクノロジセキュリティ技術クラウド・仮想化

この問題は2023(R5)秋 情報処理安全確保支援士 午後に出題されたものです。出題時点の法令・制度に基づく内容のため、現行の内容と一致しない場合があります。

本ページの問題文・選択肢は、原本の体裁を Web 表示用に正規化しています(改行・記号・数式・図表参照の調整)。設問の趣旨および正解に影響する変更は加えていません。

学習ガイド

継続的インテグレーション(CI)のNサービスを提供する従業員400名のN社と、そのサービスを使う利用企業の双方で起きるインシデントを扱った問題です。利用者はバージョン管理システムにコミットしたソースコードの自動コンパイルなどにNサービスを使い、その処理はコミット通知を起点に走ります。クラウド基盤上のサービスで発生した侵害が利用企業へ波及し得る、サプライチェーン型の広がりが論点です。この記事では、攻撃の流れと影響範囲を推測し、攻撃者による不正ログインの方法を50字で具体化する手順を追います。

この記事で押さえる論点

  • 継続的インテグレーション(CI)サービスの構成要素と処理の流れを把握する
  • クラウド上のサービス事業者で起きた侵害が利用企業へ波及する経路を推測する
  • 攻撃者が用いた不正ログインの方法を状況証拠から具体的に組み立てる
  • サービス提供側と利用側の双方で取るべき対処の優先順位を判断する

問題本文

継続的インテグレーションサービスのセキュリティに関する次の記述を読んで,設問に答えよ。

N社は,Nサービスという継続的インテグレーションサービスを提供している従業員 400 名の事業者である。Nサービスの利用者(以下,Nサービス利用者という)は,バージョン管理システム(以下,VCSという)にコミットしたソースコードを自動的にコンパイルするなどの目的で,Nサービスを利用する。VCSでは,リポジトリという単位でソースコードを管理する。Nサービスの機能の概要を表1に示す。

表1 Nサービスの機能の概要(抜粋)
図の説明テキスト

表1 Nサービスの機能の概要(抜粋)

機能名 概要
ソースコード取得機能 リポジトリから最新のソースコードを取得する機能である。Nサービス利用者は,新たなリポジトリに対してNサービスの利用を開始するときに,そのリポジトリを管理するVCSのホスト名及びリポジトリ固有の認証用SSH鍵を登録する。ソースコードの取得は,VCSから新たなソースコードのコミットの通知をHTTPSで受け取ると開始される。
コマンド実行機能 ソースコード取得機能がリポジトリからソースコードを取得した後に,リポジトリのルートディレクトリにあるci.shという名称のシェルスクリプト(以下,ビルドスクリプトという)を実行する機能である。Nサービス利用者は,例えば,コンパイラのコマンドや,指定されたWebサーバにコンパイル済みのバイナリコードをアップロードするコマンドを,ビルドスクリプトに記述する。
シークレット機能 ビルドスクリプトを実行するシェルに設定される環境変数を,Nサービス利用者が登録する機能である。登録された情報はシークレットと呼ばれる。Nサービス利用者は,例えば,指定されたWebサーバに接続するために必要なAPIキーを登録することによって,ビルドスクリプト中にAPIキーを直接記載しないようにすることができる。

NサービスはC社のクラウド基盤で稼働している。Nサービスの構成要素の概要を表2に示す。

表2 Nサービスの構成要素の概要(抜粋)
図の説明テキスト

表2 Nサービスの構成要素の概要(抜粋)

Nサービスの構成要素 概要
フロントエンド VCSから新たなソースコードのコミットの通知を受け取るためのAPIを備えたWebサイトである。
ユーザーデータベース 各Nサービス利用者が登録したVCSのホスト名,各リポジトリ固有の認証用SSH鍵,及びシークレットを保存する。読み書きはフロントエンドからだけに許可されている。
バックエンド Linuxをインストールしており,ソースコード取得機能及びコマンド実行機能を提供する常駐プログラム(以下,CIデーモンという)が稼働する。インターネットへの通信が可能である。バックエンドは50台ある。
仮想ネットワーク フロントエンド,ユーザーデータベース及びバックエンド1〜50を互いに接続する。

フロントエンドは,ソースコードのコミットの通知を受け取ると図1の処理を行う。

図1 フロントエンドが行う処理
図の説明テキスト

図1 フロントエンドが行う処理

  1. 通知を基にNサービス利用者とリポジトリを特定し,そのNサービス利用者が登録したVCSのホスト名,各リポジトリ固有の認証用SSH鍵,及びシークレットをユーザーデータベースから取得する。
  2. バックエンドを一つ選択する。
  3. 2.で選択したバックエンドのCIデーモンに1.で取得した情報を送信し,処理命令を出す。

CIデーモンは,処理命令を受け取ると,特権を付与せずに新しいコンテナを起動し,当該コンテナ内でソースコード取得機能とコマンド実行機能を順に実行する。
ビルドスクリプトには,利用者が任意のコマンドを記述できるので,不正なコマンドを記述されてしまうおそれがある。さらに,不正なコマンドの処理の中には,コンテナによる仮想化の脆弱性を悪用しなくても成功してしまうものがある。そこで,バックエンドには管理者権限で稼働する監視ソフトウェア製品Xを導入している。製品Xは,バックエンド上のプロセスを監視し,プロセスが不正な処理を実行していると判断した場合は,当該プロセスを停止させる。
C社は,C社のクラウド基盤を管理するためのWebサイト(以下,クラウド管理サイトという)も提供している。N社では,クラウド管理サイト上で,クラウド管理サイトのアカウントの管理,Nサービスの構成要素の設定変更,バックエンドへの管理者権限でのアクセス,並びにクラウド管理サイトの認証ログの監視をしている。N社では,C社が提供するスマートフォン用アプリケーションソフトウェア(以下,スマートフォン用アプリケーションソフトウェアをアプリという)に表示される,時刻を用いたワンタイムパスワード(TOTP)を,クラウド管理サイトへのログイン時に入力するように設定している。

N社では,オペレーション部がクラウド管理サイト上でNサービスの構成要素の設定及び管理を担当し,セキュリティ部がクラウド管理サイトの認証ログの監視を担当している。

〔N社のインシデントの発生と対応〕

1月4日11時,クラウド管理サイトの認証ログを監視していたセキュリティ部のHさんは,同日10時にオペレーション部のUさんのアカウントで国外のIPアドレスからクラウド管理サイトにログインがあったことに気付いた。

HさんがUさんにヒアリングしたところ,Uさんは社内で同日10時にログインを試み,一度失敗したとのことであった。Uさんは,同日10時前に電子メール(以下,メールという)を受け取っていた。メールにはクラウド管理サイトからの通知だと書かれていた。Uさんはメール中のURLを開き,クラウド管理サイトだと思ってログインを試みている。Hさんがそのメールを確認したところ,URL中のドメイン名はクラウド管理サイトのドメイン名とは異なっており,Uさんがログインを試みたのは偽サイトだった。Hさんは,同日10時の国外IPアドレスからのログインは攻撃者による不正ログインだったと判断した。

Hさんは,初動対応としてクラウド管理サイトのUさんのアカウントを一時停止した後,調査を開始した。Uさんのアカウントの権限を確認したところ,フロントエンド及びバックエンドの管理者権限があったが,それ以外の権限はなかった。

まずフロントエンドを確認すると,Webサイトのドキュメントルートに“/.well-known/pki-validation/”ディレクトリが作成され,英数字が羅列された内容のファイルが作成されていた。そこで,RFC 9162に規定された証明書発行ログ中のNサービスのドメインのサーバ証明書を検索したところ,正規のもののほかに,N社では利用実績のない認証局Rが発行したものを発見した。

バックエンドのうち1台では,管理者権限をもつ不審なプロセス(以下,プロセスYという)が稼働していた(以下,プロセスYが稼働していたバックエンドを被害バックエンドという)。被害バックエンドのその時点のネットワーク通信状況を確認すると,プロセスYは特定のCDN事業者のIPアドレスに,HTTPSで多量のデータを送信していた。TLSの Server Name Indication (SNI) には,著名なOSS配布サイトのドメイン名が指定されており,製品Xでは,安全な通信だと判断されていた。

詳しく調査するために,TLS通信ライブラリの機能を用いて,それ以降に発生するプロセスYのTLS通信を復号したところ,HTTP Hostヘッダーでは別のドメイン名が指定されていた。このドメイン名は,製品Xの脅威データベースに登録された要注意ドメインであった。プロセスYは,監視ソフトウェアに検知されないようにSNIを偽装していたと考えられた。TLS通信の内容には被害バックエンド上のソースコードが含まれていた。Hさんはクラウド管理サイトを操作して被害バックエンドを一時期停止した。Hさんは,プロセスYがシークレットを取得したおそれがあると考えた。

Hさんの調査結果を受けて,N社は同日,次を決定した。

  • 不正アクセスの概要とNサービスの一時停止をN社のWebサイトで公表する。
  • 被害バックエンドでソースコード取得機能又はコマンド実行機能を利用した顧客に対して,ソースコード及びシークレットが第三者に漏えいしたおそれがあると通知する。

Hさんは図2に示す事後処理と対策を行うことにした。

図2 事後処理と対策(抜粋)
図の説明テキスト

図2 事後処理と対策(抜粋)

  1. フロントエンド及び全てのバックエンドを再構築する。
  2. 認証局Rに対し,Nサービスのドメインのサーバ証明書が勝手に発行されていることを伝え,その失効を申請する。
  3. 偽サイトでログインを試みてしまっても,クラウド管理サイトに不正ログインされることのないよう,クラウド管理サイトにログインする際の認証をWebAuthn (Web Authentication)を用いた認証に切り替える
  4. Nサービスのドメインのサーバ証明書を発行できる認証局を限定するために,Nサービスのドメインの権威DNSサーバに,Nサービスのドメイン名に対応するaレコードを設定する。

〔N社の顧客での対応〕

Nサービスの顧客企業の一つに,従業員 1,000 名の資金決済事業者であるP社がある。P社は,決済用のアプリ(以下,Pアプリという)を提供しており,スマートフォンOS開発元のJ社が運営するアプリ配信サイトであるJストアを通じて,Pアプリの利用者(以下,Pアプリ利用者という)に配布している。P社はNサービスを,最新版ソースコードのコンパイル及びJストアへのコンパイル済みアプリのアップロードのために利用している。P社には開発部及び運用部がある。

Jストアへのアプリのアップロードは,J社の契約者を特定するための認証用APIキーをHTTPヘッダーに付加し,Jストアの REST APIを呼び出して行う。認証用APIキーはJ社が発行し,契約者だけがJ社のWebサイトから取得及び削除できる。また,Jストアは,アップロードされる全てのアプリについて,J社が運営する認証局からのコードサイニング証明書の取得と,対応する署名鍵によるコード署名の付与を求めている。Jストアのアプリを実行するスマートフォンOSは,各アプリを起動する前にコード署名の有効性を検証しており,検証に失敗したらアプリを起動しないようにしている。

P社は,Nサービスのソースコード取得機能に,Pアプリのソースコードを保存しているVCSのホスト名とリポジトリの認証用SSH鍵を登録している。Nサービスのシークレット機能には,表3に示す情報を登録している。

表3 P社がNサービスのシークレット機能に登録している情報
図の説明テキスト

表3 P社がNサービスのシークレット機能に登録している情報

シークレット名 値の説明
APP_SIGN_KEY コード署名の付与に利用する署名鍵とコードサイニング証明書
STORE_API_KEY Jストアにアプリをアップロードするための認証用APIキー

Pアプリのビルドスクリプトには,図3に示すコマンドが記述されている。

図3 ビルドスクリプトに記述されているコマンド
図の説明テキスト

図3 ビルドスクリプトに記述されているコマンド

  1. コンパイラのコマンド
  2. 生成されたバイナリコードにAPP_SIGN_KEYを用いてコード署名を付与するコマンド
  3. STORE_API_KEYを用いて,署名済みのバイナリコードをJストアにアップロードするコマンド

1月4日,P社運用部のKさんがN社からの通知を受信した。それによると,ソースコード及びシークレットが漏えいしたおそれがあるとのことだった。Kさんは,Pアプリ利用者に被害が及ぶ攻撃が行われることを予想し,すぐに二つの対応を開始した。

Kさんは,一つ目の対応として,漏えいしたおそれがあるので,STORE_API_KEYとして登録されていた認証用APIキーに必要な対応を行った。また,二つ目の対応として,APP_SIGN_KEYとして登録されていたコードサイニング証明書について認証局に失効を申請するとともに,新たな鍵ペアを生成し,コードサイニング証明書の発行申請及び受領を行った。鍵ペア生成時,Nサービスが一時停止しており,鍵ペアの保存に代替手段が必要になった。FIPS 140-2 Security Level 3の認証を受けたハードウェアセキュリティモジュール(HSM)は,コード署名を付与する際にセキュリティ上の利点があるので,それを利用することにした。さらに,二つの対応とは別に,リポジトリの認証用SSH鍵を無効化した。

その後,開発部と協力しながら,P社内のPCでソースコードをコンパイルし,生成されたバイナリコードに新たなコード署名を付与した。JストアへのPアプリのアップロード履歴を確認したが,異常はなかった。新規の認証用APIキーを取得し,署名済みのバイナリコードをJストアにアップロードするとともに,Kさんの二つの対応によってPアプリ利用者に生じているかもしれない影響,及びそれを解消するためにPアプリ利用者がとるべき対応について告知した。さらに,外部委託先であるN社に起因するインシデントとして関係当局に報告した。

設問と解答・解説

設問1

本文中の下線①について,該当するものはどれか。解答群の中から全て選び,記号で答えよ。

  1. CIデーモンのプロセスを中断させる。
  2. いずれかのバックエンド上の全プロセスを列挙して攻撃者に送信する。
  3. インターネット上のWebサーバに不正アクセスを試みる。
  4. 攻撃者サイトから命令を取得し,得られた命令を実行する。
  5. ほかのNサービス利用者のビルドスクリプトの出力を取得する。

模範解答

選択肢ウ: インターネット上のWebサーバに不正アクセスを試みる。

選択肢エ: 攻撃者サイトから命令を取得し,得られた命令を実行する。

配点 4

解説

クラウド環境やコンテナシステムで発生し得る攻撃について問う設問です。

コンテナの実行環境が侵害された場合、攻撃者はそこを踏み台にして他のネットワークへのアクセスを試みます。

のようにインターネット上のWebサーバに不正アクセスを試みたり、 のように外部の攻撃者サイト(C2サーバ等)から命令を取得して実行したりする活動が考えられます。

各選択肢の解説

  • ア: CIデーモンのプロセス中断は、コンテナ特有の不正な外部通信や影響の波及とは直接関係が薄いため誤りです。

  • イ: 他のバックエンド上の全プロセスを列挙するにはホスト環境へのより高い権限が必要となる場合が多く、必ずしも該当しません。

  • ウ: 正解。コンテナを踏み台にした外部への不正アクセスの典型例です。

  • エ: 正解。外部から命令を取得し実行するC2通信の動作です。

  • オ: テナント分離の仕組みを突破する必要があり、通常のコンテナ侵害だけでは直ちに実行できないため誤りです。

設問1は,正答率がやや低かった。コンテナにおけるシステムの動作は,仮想化技術の基本である。どのような権限や仕組みによって実行されるか,コンテナを使ったシステムの構成及び特性をよく理解してほしい。

設問2

(1)

本文中の下線②について,攻撃者による不正ログインの方法を,50字以内で具体的に答えよ。

模範解答

偽サイトに入力されたTOTPを入手し,そのTOTPが有効な間にログインした。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: TOTPを入手すること、およびそれが有効な間に使用することを明記している。
  • 1: TOTPの入手、またはログインの事実のいずれかのみが記述されている。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: 偽サイトに入力された情報を利用してログインに至るプロセスが論理的に説明されている。
  • 1: プロセスの説明が不十分だが、文意はある程度通る。
  • 0: 論理的でなく、意味が通らない。

解説

リアルタイムフィッシングとTOTPの弱点

TOTPは時間ベースのワンタイムパスワードですが、フィッシングサイトに誘導された利用者が入力してしまうと、その有効時間内であれば攻撃者も利用できてしまいます。

攻撃者は偽サイトに入力されたTOTPを即座に取得し、正規サイトに入力することで不正ログインを完了させます。

高得点のポイント

  • 偽サイト で利用者にTOTPを入力させ、それを入手したことを明記する。

  • 入手したTOTPが 有効な時間内 に攻撃者がログインを行ったことを含める。

(2)

本文中の下線③について,RFC 9162で規定されている技術を,解答群の中から選び,記号で答えよ。

  1. Certificate Transparency
  2. HTTP Public Key Pinning
  3. HTTP Strict Transport Security
  4. Registration Authority

模範解答

選択肢ア: Certificate Transparency

配点 3

解説

RFC 9162で規定されている、誤って発行された証明書などを検知するための技術は Certificate Transparency(CT) です。

各選択肢の解説

  • ア: 正解。Certificate Transparency(証明書の透明性)は、発行された証明書を公開ログに記録し、不正な発行を監視する仕組みです。

  • イ: HTTP Public Key Pinning (HPKP) は過去に使われていた仕組みであり、現在は非推奨となっています。

  • ウ: HTTP Strict Transport Security (HSTS) は、Webサイトへの接続を常にHTTPSで行うようにブラウザに指示する仕組みです。

  • エ: Registration Authority (RA) は証明書の登録局を指す用語であり、技術の名称ではありません。

(3)

本文中の下線④について,このような手法の名称を,解答群の中から選び,記号で答えよ。

  1. DNSスプーフィング
  2. ドメインフロンティング
  3. ドメイン名ハイジャック
  4. ランダムサブドメイン攻撃

模範解答

選択肢イ: ドメインフロンティング

配点 3

解説

CDNなどのクラウド基盤の仕様を悪用し、DNSクエリのドメイン名とHTTPのHostヘッダのドメイン名を意図的に変えることで、実際の通信先を隠蔽する手法です。

各選択肢の解説

  • ア: DNSスプーフィングは、偽のDNS応答を返すことで利用者を不正なサイトへ誘導する攻撃であり、誤りです。

  • イ: 正解。ドメインフロンティング は、検閲回避やC2通信の隠蔽などに用いられる手法です。

  • ウ: ドメイン名ハイジャックは、ドメインの登録情報を不正に書き換えて乗っ取る攻撃であり、誤りです。

  • エ: ランダムサブドメイン攻撃は、存在しない多数のサブドメインを問い合わせてDNSサーバに負荷をかけるDDoS攻撃の一種であり、誤りです。

(4)

本文中の下線⑤について,プロセスYがシークレットを取得するのに使った方法として考えられるものを,35字以内で答えよ。

模範解答

/procファイルシステムから環境変数を読み取った。

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: /procファイルシステムから情報を取得したことを正しく指摘している。
  • 1: 環境変数を読み取ったことには触れているが、具体的な取得元(/proc)の記載がない。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: 取得元と対象(環境変数)が明確に結びついており、文として成立している。
  • 1: 意味は推測できるが、説明の構造がやや不自然である。
  • 0: 論理的でなく、意味が通らない。

解説

Linuxなどのシステムにおいて、プロセスの環境変数には /proc ディレクトリ(procfs)を介してアクセスできる場合があります。

本設問では、プロセスYが他のプロセスに設定されたシークレット(環境変数)を不正に取得した具体的な方法が問われています。

高得点のポイント

  • 情報の取得元として /proc ファイルシステム に言及する。

  • 取得した対象が 環境変数 であることを明記する。

(5)

図2中の下線⑥について,仮に,利用者が偽サイトでログインを試みてしまっても,攻撃者は不正ログインできない。不正ログインを防ぐWebAuthnの仕組みを,40字以内で答えよ。

模範解答

認証に用いる情報に含まれるオリジン及び署名をサーバが確認する仕組み

採点基準(配点 4点)

知識・理解度(内容)(2点)

  • 2: オリジンと署名が含まれること、およびそれを検証することの両方を記述している。
  • 1: オリジンまたは署名のいずれか一方のみについて言及している。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: サーバ側が確認するという仕組みとして、簡潔かつ論理的にまとまっている。
  • 1: 要素は含まれているが、文章の構造が不明確である。
  • 0: 論理的でなく、意味が通らない。

解説

WebAuthnがフィッシング耐性を持つ大きな理由は、認証器が作成するデータに紐づくコンテキストの検証にあります。

認証データには接続先の オリジン(ドメイン情報など) が含まれ、それに対して認証器が 署名 を行います。

サーバは受け取った署名とオリジンを検証するため、仮に偽サイトで認証データが生成された場合、オリジンが一致せず不正ログインを防ぐことができます。

高得点のポイント

  • 認証情報の中に オリジン署名 が含まれることを明記する。

  • それらを サーバが確認(検証) するというプロセスを含める。

(6)

図2中の空欄aに入れる適切な字句を,解答群の中から選び,記号で答えよ。

  1. CAA
  2. CNAME
  3. DNSKEY
  4. NS
  5. SOA
  6. TXT

模範解答

選択肢ア: CAA

配点 3

解説

ドメインの所有者が、自身のドメインに対する証明書の発行を許可する認証局(CA)を指定するためのDNSレコードについて問われています。

各選択肢の解説

  • ア: 正解。CAA レコードを用いることで、意図しない認証局からの不正な証明書発行を防ぐことができます。

  • イ: CNAMEはドメイン名の別名を定義するレコードであり、誤りです。

  • ウ: DNSKEYはDNSSECにおいて署名検証用の公開鍵を格納するレコードであり、誤りです。

  • エ: NSはゾーンの権威DNSサーバを指定するレコードであり、誤りです。

  • オ: SOAはゾーンの管理情報を定義するレコードであり、誤りです。

  • カ: TXTは任意のテキストデータを格納するレコードであり、証明書発行制御に特化したものではありません。

設問2(5)は,正答率が低かった。WebAuthnをクライアント証明書認証やリスクベース認証などほかの認証方法と誤認した解答が多かった。WebAuthnはフィッシング耐性がある認証方法である。Passkeyという新たな方式も登場し,普及し始めている。ほかの認証方法とどのように異なるのか,技術的な仕組みを含め,よく理解してほしい。

設問3

〔N社の顧客での対応〕について答えよ。

(1)

本文中の下線⑦について,Kさんが開始した対応を踏まえ,予想される攻撃を,40字以内で答えよ。

模範解答

有効なコード署名が付与された偽のPアプリをJストアにアップロードする攻撃

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: 有効なコード署名が付与された偽のアプリを用いること、およびストアにアップロードすることの両方を記述している。
  • 2: 偽のアプリに署名を付与することには触れているが、配布方法(ストアへのアップロード等)の記載がない。
  • 1: 単に偽アプリを作成する等、断片的な記述にとどまる。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: 攻撃の手順や目的(偽アプリを正規に見せかけて配布する)が論理的に繋がっている。
  • 1: 要素の羅列にとどまり、攻撃の一連の流れとしてやや不自然である。
  • 0: 論理的でなく、意味が通らない。

解説

コード署名用の秘密鍵が漏えいした場合、攻撃者は自身が作成したマルウェア等の不正プログラムに、正規の開発者としての署名を付与できてしまいます。

その結果、システムはそれを正規のアプリケーション(Pアプリ)と誤認します。

高得点のポイント

  • 漏えいした鍵によって 有効なコード署名 が付与される状況を明記する。

  • 対象が 偽のPアプリ であることを示す。

  • それを Jストアにアップロード して利用者に配信させる攻撃であることを含める。

(2)

本文中の下線⑧について,必要な対応を,20字以内で答えよ。

模範解答

J社のWebサイトから削除する。

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: J社のWebサイトからの該当アプリの削除という対応を明確に記述している。
  • 2: アプリの削除等には触れているが、対象の場所(J社のWebサイト)が不明確である。
  • 1: 対応内容が不十分または曖昧である。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: どこから何をすべきかが簡潔かつ的確に表現されている。
  • 1: 表現にやや不自然な点がある。
  • 0: 論理的でなく、意味が通らない。

解説

漏えいした鍵で署名された可能性があるアプリが既に公開されている場合、利用者が誤ってダウンロードしないよう直ちに対処する必要があります。

高得点のポイント

  • アプリの配布元である J社のWebサイト を特定する。

  • 該当するアプリを直ちに 削除 することを明記する。

(3)

本文中の下線⑨について,コード署名を付与する際にHSMを使うことによって得られるセキュリティ上の利点を,20字以内で答えよ。

模範解答

秘密鍵が漏れないという利点

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: HSMを利用することで秘密鍵が外部に漏えいしないという中核的な利点を正しく記述している。
  • 2: 鍵の保護など抽象的な表現にとどまっている。
  • 1: 暗号技術の利用方法として不正確な記述が含まれている。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: 20字以内という制限の中で、端的に利点が表現されている。
  • 1: 意味は通るが、やや冗長または不自然である。
  • 0: 論理的でなく、意味が通らない。

解説

HSM(Hardware Security Module) は、暗号鍵の生成や保管、暗号処理を安全なハードウェア内部で行う専用機器です。

暗号処理をHSM内部で完結させるため、鍵情報が外部のメモリやディスクに出力されることがありません。

高得点のポイント

  • 最大のメリットである 秘密鍵が漏れない(外部に取り出せない) ことを明記する。

  • 暗号技術の不正確な理解(例: 電子署名を暗号化する等)を含めないこと。

(4)

本文中の下線⑩について,影響を20字以内で答えよ。

模範解答

Pアプリを起動できない。

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: 証明書失効に伴い、アプリの起動が不可能になるという結果を正しく指摘している。
  • 2: 起動時の警告などに留まり、起動不可であることまで踏み込めていない。
  • 1: 影響に関する記述が不十分である。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: 対象(Pアプリ)と結果(起動できない)が明確に結びついている。
  • 1: 結果のみの記述であり、対象が不明確である。
  • 0: 論理的でなく、意味が通らない。

解説

コード署名に使用された証明書が失効されると、OSや実行環境による署名の検証プロセスでエラーとなります。

この検証によって、すでにインストールされているアプリケーションに対しても影響が及びます。

高得点のポイント

  • 対象が Pアプリ であることを明記する。

  • 検証に失敗した結果として 起動できない 状況に陥ることを的確に表現する。

(5)

本文中の下線⑩について,対応を20字以内で答えよ。

模範解答

Pアプリをアップデートする。

採点基準(配点 5点)

知識・理解度(内容)(3点)

  • 3: 新しい安全な鍵で署名されたアプリへのアップデートが必要であることを的確に指摘している。
  • 2: 再インストールなど、アップデートと類似するが正確性にやや欠ける表現。
  • 1: 対応内容が不十分である。
  • 0: 記述がない、または全く関係のない内容である。

論理性(構造)(2点)

  • 2: 利用者が実施すべき対応として簡潔かつ論理的に表現されている。
  • 1: 文章構造がやや不自然である。
  • 0: 論理的でなく、意味が通らない。

解説

失効した証明書によって起動できなくなったアプリを再び利用可能にするためには、開発者が新たな(安全な)鍵で再署名したバージョンを提供する必要があります。

高得点のポイント

  • 利用者側で必要となる対応として、Pアプリを アップデートする ことを明記する。

設問3(3)は,正答率がやや低かった。“電子署名を暗号化できる”,“秘密鍵が漏えいしても安全である”などといった,暗号技術の利用方法についての不正確な理解に基づく解答が散見された。HSMを使うセキュリティ上の利点に加えて,暗号技術の適正な利用方法についても,正確に理解してほしい。