情報処理安全確保支援士午後 事例記述令和5年 秋期
午後 問3

問3 継続的インテグレーションサービスのセキュリティ

テーマ:継続的インテグレーションサービスのセキュリティ
左右2分割表示:左側の問題文をスクロールしながら右側の設問に解答できます

長文事例本文

図表クリックで拡大
N社は,Nサービスという継続的インテグレーションサービスを提供している従業員400名の事業者である。Nサービスの利用者(以下,Nサービス利用者という)は,バージョン管理システム(以下,VCSという)にコミットしたソースコードを自動的にコンパイルするなどの目的で,Nサービスを利用する。VCSでは,リポジトリという単位でソースコードを管理する。Nサービスの機能の概要を表1に示す。
表1 Nサービスの機能の概要(抜粋) 拡大
表1 Nサービスの機能の概要(抜粋)
NサービスはC社のクラウド基盤で稼働している。Nサービスの構成要素の概要を表2に示す。
表2 Nサービスの構成要素の概要(抜粋) 拡大
表2 Nサービスの構成要素の概要(抜粋)
フロントエンドは,ソースコードのコミットの通知を受け取ると図1の処理を行う。
図1 フロントエンドが行う処理 拡大
図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 事後処理と対策(抜粋)
〔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サービスのシークレット機能に登録している情報
Pアプリのビルドスクリプトには,図3に示すコマンドが記述されている。
図3 ビルドスクリプトに記述されているコマンド 拡大
図3 ビルドスクリプトに記述されているコマンド
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社に起因するインシデントとして関係当局に報告した。

設問一覧 & 解答・演習

まずは解答を作成してみましょう。「解答例を見る」をクリックするとIPA公式解答例と採点基準が開きます。

設問1記号・選択式
本文中の下線①について,該当するものはどれか。
【選択肢】 クリックして選択(複数選択可)
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問2 (1)記述問題
制限字数:50 字以内
〔N社のインシデントの発生と対応〕について答えよ。
本文中の下線②について,攻撃者による不正ログインの方法を,50字以内で具体的に答えよ。
0 / 50 文字
設問2 (2)記号・選択式
〔N社のインシデントの発生と対応〕について答えよ。
本文中の下線③について,RFC 9162で規定されている技術を,解答群の中から選び,記号で答えよ。
【選択肢】 クリックして選択
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問2 (3)記号・選択式
〔N社のインシデントの発生と対応〕について答えよ。
本文中の下線④について,このような手法の名称を,解答群の中から選び,記号で答えよ。
【選択肢】 クリックして選択
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問2 (4)記述問題
制限字数:35 字以内
〔N社のインシデントの発生と対応〕について答えよ。
本文中の下線⑤について,プロセスYがシークレットを取得するのに使った方法として考えられるものを,35字以内で答えよ。
0 / 35 文字
設問2 (5)記述問題
制限字数:40 字以内
〔N社のインシデントの発生と対応〕について答えよ。
図2中の下線⑥について,仮に,利用者が偽サイトでログインを試みてしまっても,攻撃者は不正ログインできない。不正ログインを防ぐWebAuthnの仕組みを,40字以内で答えよ。
0 / 40 文字
設問2 (6)記号・選択式
〔N社のインシデントの発生と対応〕について答えよ。
図2中のaに入れる適切な字句を,解答群の中から選び,記号で答えよ。
【選択肢】 クリックして選択
選択中の解答:未選択(上の選択肢ボタンをクリックしてください)
設問3 (1)記述問題
制限字数:40 字以内
〔N社の顧客での対応〕について答えよ。
本文中の下線⑦について,Kさんが開始した対応を踏まえ,予想される攻撃を,40字以内で答えよ。
0 / 40 文字
設問3 (2)記述問題
制限字数:20 字以内
〔N社の顧客での対応〕について答えよ。
本文中の下線⑧について,必要な対応を,20字以内で答えよ。
0 / 20 文字
設問3 (3)記述問題
制限字数:20 字以内
〔N社の顧客での対応〕について答えよ。
本文中の下線⑨について,コード署名を付与する際にHSMを使うことによって得られるセキュリティ上の利点を,20字以内で答えよ。
0 / 20 文字
設問3 (4)記述問題
制限字数:20 字以内
〔N社の顧客での対応〕について答えよ。
本文中の下線⑩について,影響と対応を,それぞれ20字以内で答えよ。
0 / 20 文字
午後長文記述の得点力を引き上げる定番対策書Amazon・楽天 公式提携
PR
うかる! 情報処理安全確保支援士 午後問題集 [第2版]
IPA 厳選対策書うかる! 情報処理安全確保支援士 午後問題集 [第2版]村山 直紀 著 / 日本経済新聞出版
午後記述バイブル
村山 直紀 著 / 日本経済新聞出版

うかる! 情報処理安全確保支援士 午後問題集 [第2版]

💡 推薦ポイント:午後試験の長文事例でどこに着目して脆弱性と対策を抜き出すか、合格答案の記述テンプレートを効率よく習得できます。
※本リンク先はプロモーション(アフィリエイト広告)が含まれています
【出題趣旨】IPA公式発表
クラウドサービスが広く浸透している。様々なクラウドサービスの活用は,組織に多くの利便性をもたらす一方で,クラウドサービスで発生したインシデントが,自組織にも影響を及ぼし得る。このようなインシデントが発生した場合,迅速に状況を把握し,影響を考慮して対処することが重要である。 本問では,継続的インテグレーションサービスを提供する企業とその利用企業におけるインシデント対応を題材に,攻撃の流れと波及し得る影響を推測し,対策を立案する能力を問う。
【採点講評】IPA公式発表
問3では,継続的インテグレーションサービスを提供する企業とその利用企業におけるセキュリティインシデント対応を題材に,クラウドサービスを使ったシステムで起こりうる攻撃手法とその防御について出題した。全体として正答率は平均的であった。 設問1は,正答率がやや低かった。コンテナにおけるシステムの動作は,仮想化技術の基本である。どのような権限や仕組みによって実行されるか,コンテナを使ったシステムの構成及び特性をよく理解してほしい。 設問2(5)は,正答率が低かった。WebAuthnをクライアント証明書認証やリスクベース認証などほかの認証方法と誤認した解答が多かった。WebAuthnはフィッシング耐性がある認証方法である。Passkeyという新たな方式も登場し,普及し始めている。ほかの認証方法とどのように異なるのか,技術的な仕組みを含め,よく理解してほしい。 設問3(3)は,正答率がやや低かった。“電子署名を暗号化できる”,“秘密鍵が漏えいしても安全である”などといった,暗号技術の利用方法についての不正確な理解に基づく解答が散見された。HSMを使うセキュリティ上の利点に加えて,暗号技術の適正な利用方法についても,正確に理解してほしい。
本番形式・制限時間付きで演習する
令和5年 秋期 午後(2問選択・150分)を実戦演習モードで通し解答し、総合採点を受けられます。
実戦演習を始める