問問1 設問1
設問1本文中の|a|に入れる適切な字句を答えよ。
情報処理安全確保支援士 2024年 春期 午後の問題文11問です。この冊子のうち2問は、図版が中心であるなどの理由で掲載していません。図・表・別冊資料と正解は掲載していませんので、出典の公表資料またはアプリでご確認ください。
APIセキュリティに関する次の記述を読んで,設問に答えよ。 G社は,ヘルスケアサービス新興企業である。利用者が食事,体重などを入力して, そのデータを管理したり,健康リスクの判定や食事メニューのアドバイスを受けた りできるサービス(以下,サービスYという)を計画している。具体的には,クラウ ドサービス上にサービスY用のシステム(UE,Sシステムという)を構築して,6 社が既に開発しているスマートフォン専用アプリケーションプログラム(以下,6社 スマホアプリという)からアクセスする。Sシステムの要件を図1に示す。 ee 要件2:蓄積したデータを機械学習で学習し,その結果を利用して健康リスクの判定や食事メニ 要件3:利用者のステータス(以下,利用者ステータスという)として,“有償利用者"と“"無 要件4:可能な限り,既存のサービスやライブラリを使って構築する。 償利用者”を定義する。有償利用者の場合,全ての機能を利用できる。無償利用者の場 合,機能の利用に一部制限がある。 ューのアドバイスを利用者に提供する。 図1$システムの要件(抜粋) G社は,Sシステムの構築をITベンダート社に委託した。F社との協議の結果,ク ラウドサービスプロバイダE社のクラウドサービス上にSシステムを構築する方針に じだ。 (APIの設計〕 Sシステムには,将来的には他社が提供するスマートフォン専用アプリケーション プログラムからもアクセスすることを想定し,RESTful API方式のAPI(AB,SYA テムのAPIをS-APIという)を用意する。RESTful APIの設計原則の一つにセッショ ン管理を行わかいという性質がある。この性質を|a Jews. E社が提供するクラウドサービスのサービス一覧を表1に,サービスYのシステム 構成を図2に,S-API呼出し時の動作概要を図3に,$S-APIの仕様を表2に,Sシステ ムの仕様を図4に,それぞれ示す。 aot 8)es 表1 E社が提供するクラウドサービスのサービス一覧(抜粋) サービス概要 サービスK APIゲートウェイサービスである。当該サービスは,APIへのリクエストを受信 し,その内容に基づき,サービスLを呼び出す。 サービスLイベント駆動型のコンピューティングサービスである。サービスKからの呼出 しがあったとき,又は指定された日時に,事前に定義された処理を実行する。 また,外部サービスと連携する。 マネージド型のデータベースサービスである。 サービスNマネージド型のWAFサービスである。サービス【Kが受信したAPIへのリクエス トを検査して,許可・検知・遮断を行う。 注記$Sシステムの構築時点では,サービスNを導入しない計画である。 スマートフォン アプ! ーー 注記サービス【K及びサービスLからインターネットへの通信は許可されている。 図2サービスYのシステム構成 G社スマホアプリからS-APIが呼び出された場合の動作は次のとおりである。 »S-APIが呼び出されると,S-APIへのリクエストは,サービスKが一元的に受ける。サービスK は,そのリクエスト内容に基づき,サービスLを呼び出す。サービスL[は,事前に定義された 処理を実行してレスポンスをサービスKに返し,サービスKは,6G社スマホアプリにレスポン スを返す。 ・サービスLでは,データベースのデータの読取り又は書込みが必要な場合は,事前に定義され た処理からサービスMを呼び出す。 3 S-API呼出し時の動作概要(抜粋) —3= 表2 S-APIの仕様(抜粋) 認証API・利用者IDとパスワードを検証する。POST mid(利用者ID) ・利用者IDとパスワードが事前に登録されたpass(パスワード) ものと一致した場合,毎回ランダムに生成さ れる数字4桁の文字列(以下,文字列Xとい う)を,事前に登録されたメールアドレスに 送信する。 ・一致しなかった場合,“認証失敗"となる。 ・利用者のG社スマホアプリから受信した利用|POST mid(利用者ID) 者IDと数字4桁の文字列を検証する。otp(G社スマホアプ ・G社スマホアプリから受信した文字列が文字リから受信した文字 列Xと一致した場合,“認証成功"と判定列) し,JSON Web Token(以下,JWTという)を 発行してJWTを含むレスポンスを返す。 ・文字列Xを生成してから10分以内に“認証 Mlb”とならなかった場合,“認証失敗"と なる。 利用者API|・利用者情報を取得,更新する。 ・F社が既に開発済みの利用者管理共通ライブ|PUT mid(利用者ID) ラリ(以下,共通モジュールPという)を利name(名前) 用する。共通モジュールP,及び共通モジュage(年齢) ール『Pを呼び出す処理(LAB,P呼出し処理 という)は,サービスしLに定義されており, 利用者ステータスの管理にも利用される。共 通モジュールPは,サービスMを呼び出し て,次の処理を行う。 -GETメソッドが使われた場合,パラメータ midで指定された利用者IDにひも付く利 用者情報を含むレスポンスを返す。 -PUTメソッドが使われた場合,パラメータ midで指定された利用者IDにひも付く利 用者情報を更新する。 注記Sシステムは,表中のパラメータのほか,HTTPリクエストのヘッダに含まれる情報を用いて 処理を行う。 ーー4 〔JWTを利用したアクセス]〕] ・JWT it,“ヘッダ”,ペイロード",“署名"の3種類の要素から構成されており,各要素は base64urlでエンコードされ,“.(ドット)”で結合されている。 ヘッダ:署名の作成の際に使用するアルゴリズムが指定される。 ペイロード:利用者ID,有効期限などが含まれる。 署名:ヘッダに指定されたアルゴリズムとシステムが生成したシークレットを使用し,ヘッ ダとペイロードに対する署名が作成される。 ・Sシステムでは,IWの管理に,F社が開発したJWT管理ライブラリ(以下,ライブラリQE いう)を利用する。 ・Sシステムから発行されたJWTは,G社スマホアプリに保存される。G社スマホアプリは, HTTPリクエスト内のAuthorizationヘッダにBearerスキームとJWTを設定し,Sシステム に送信する。Sシステムは,受信したIWをライブラリ0に渡す。ライブラリQld,JWT内 のヘッダに指定されたアルゴリズムに基づいてJWを検証する。JWT内の署名を検証した 後,ペイロードに含まれた利用者IDを確認して利用者を識別し,必要な情報を含めてレス ポンスを返す。 ・JWTを利用したアクセスは,ペイロードに含まれた有効期限まで許可される。 [有償利用者に対する課金方法]〕 ・課金には外部の課金サービスを利用する。 〔機械学習による学習と判定・アドバイス] ・健康リスクの判定や食事メニューのアドバイスを行うため,外部の機械学習サービスを学習 と分析に利用する。 ・機械学習による学習は,日次バッチ処理で実現する。サービスLに定義された処理を午前1 時に起動して,サービスMからデータを取り出し,外部の機械学習サービスにデータを入力 する。 ・G社スマホアプリからS-APIの一つである健康リスク判定API,食事推奨APIが呼び出され た場合,サービス[に定義された処理が外部の機械学習サービスを呼び出して,判定・アド バイスを取得する。 図4$システムの仕様(抜粋) a wo [脆弱性診断の結果]〕 Sシステムの構築が進み全ての機能を動作確認できたので,G社でSシステムのセ キュリティを担当するRさんが,セキュリティベンダーであるU社に脆弱性診断(以 下,診断という)を依頼した。U社による診断レポートを表3に示す。 ーー5ーー 表3 U社による診断レポート(抜粋) 脆絞性 1 JWT改ざん|全体JWTに指定された利用者IDを利用してデータが取得,更新 によるなりされるので,ヘッダとペイロードを改ざんしたJWTを送信 TELすると,他の利用者へのなりすましが可能である。 2アクセスコ|利用者APT|パラメータmidに他の利用者IDを指定すると,他の利用者 ントロールIDにひも付く利用者情報を取得,改変できてしまう。 の不備A 3アクセスコ|利用者API利用者APIで利用者情報を更新する場合,“paid"”という値 ントロールを設定したパラメータ“status”を追加して送信すると, の不備B利用者ステータスを無償利用者から有償利用者に改変でき TC ly Dis 4 2要素認証|認証API総当たり攻撃によって,MES Xを使った認証メカニズム の突破を突破できる。1秒間に19回試行する総当たり攻撃を行っ た場合,文字列Xの検証において,平均的な認証成功まで の時間は|bp|秒になり,突破される可能性が高 い。 表3の項番1]について,U社のセキュリティコンサルタントで情報処理安全確保支 援士(登録セキスペ)のZ氏は,次のように説明した。 ・認証APIで,利用者ID“userO1”での認証が成功した後,診断中に発行されたJWT のデコード結果は,表4のとおりであった。 表4 JWTのデコード結果(抜粋) {{ "alg”:"RS256”,“user”:"user01”, (省略)7jat":1713059329, }"exp":1713664129, (省略) } ・ここで,表4中の“RS256”の代わりに“NONE”を指定し,“user91”を他の利用者 IDに改ざんしたJWTを送信したところ,改ざんしたJWTの検証が成功し,他の利用 者へのなりすましができた。 —_6ーー 項番2一4についても説明を受けた後,G社は,表3の脆弱性を分析し,対策につい て,Fat,U社を交えて検討した。 Rさんが取りまとめた脆弱性の分析と対策案を表5に示す。 表5脆弱性の分析と対策案 (省略)①ライブラリ0を修正する。 (省略)QP呼出し処理に処理を追加する。 3利用者APIの仕様には,パラメータ|プログラムの修正で対応する。 "status”の指定について定義されてい ない。一方,実装は,指定されたパラメ ータを検証せず全てに送信し ていた。ここで,送信内容を改ざんして パラメータ“status”を追加してリクエ ストを送信すると,は利用者 ステータスを変更できる。 4(省略)次の対策を実施する。 -|』]を実装する。そのし きい値は19とする。 -突破される可能性を十分に低減す るために,文字列Xを数字6桁に 変更する。 全ての対応が完了した後,試用モニターを対象に,サービスYの提供を開始した。 [セキュリティの強化〕 G社は,試用モニターへのサービスYの提供期間中に,インシデント対応に必要な ログの取得方法を検討することになり,F社と協議した。 F社によれば,ログ取得モジュールを実装するには時間が掛かるが,ログ取得モジ ュールを実装しなくても,サービスNを導入することによって,通信ログを取得でき るという。 —_7 ms サービスNにおけるWAFルールの記述形式を図5に示す。 ・ルールは,[検証対象]」[パターン]及び[動作]の三つを1行に記述する。 ・[検証対象]には,次のいずれかを指定する。 GET:GETメソッドのパラメータの値を検証対象とする。 POST:POSTメソッドのパラメータの値を検証対象とする。 PUT:PUTメソッドのパラメータの値を検証対象とする。 ANY:全てのメソッドのパラメータの値を検証対象とする。 Header:全てのヘッダの値を検証対象とする。 COOKIE:cookieの値を検証対象とする。 Multipart:MuLtipart/form-dataのフィールドの値を検証対象とする。 ・[パターン]には,次の要素で構成される正規表現を指定する。 ~:文字列の先頭とマッチする。 \W:任意の非英数字とマッチする。 xly:x又はyとマッチする。 (xly)z:xz又はyzとマッチする。 [xyz]:x,y又はzのいずれかにマッチする。 6:任意の文字とマッチする。 \.:うとマッチする。 ネ:直前の要素の9回以上の繰返しにマッチする。 ・[動作]には,次のいずれかを指定する。 許可:通信を通過させ,ログに記録しない。 検知:通信を通過させ,ログに記録し,管理者にアラートを送信する。 遮断:通信を遮断し,ログに記録し,管理者にアラートを送信する。 図5サービスNにおけるWAFルールの記述形式 Rさんは,サービスNのSシステムへの導入を責任者に提案し,承認を得た。サー ビスNの導入完了後,サービスYの提供を開始した。 [新たな脆弱性への対応〕 数週間後,ライブラリHというオープンソースのライブラリに脆弱性Vという脆弱 性があることが公表された。Rさんは,脆弱性Vについての関連情報を図6のように 取りまとめた。 =8 es ・ライブラリHは,非常に多くのシステムで利用されており,既に脆弱性Vが攻撃に悪用されて いる事例が報告されている。 ・脆弱性Vが存在するサーバ(以下,攻撃対象サーバという)への攻撃の流れを次に示す。 (1)攻撃者は,事前に攻撃用LDAPサーバと攻撃用HTTPサーバを準備する。 (2)攻撃者は,実行したいコマンド(AE,コマンドCという)をbase64でエンコードした文 字列を含む,攻撃用LDAPサーバに送信するLDAPリクエスト(以下,LDAPリクエストWとい う)を作成する。その後,LDAPリクエストWを含み,脆弱性Vを悪用するJNDI Lookup(Java Naming and Directory Interface Lookup)を行う攻撃コードを準備する。 (3)準備した攻撃コードをHTTPリクエストのx-api-versionヘッダの値として指定したHTTP リクエストを攻撃対象サーバに送信する。 (4)攻撃対象サーバは,HTTPリクエストを受信すると,攻撃コードを実行する。攻撃コードの JNDI Lookupを実行し,LDAPリクエストWを攻撃用LDAPサーバに送信する。 (5)攻撃用LDAPサーバは,LDAPリクエストWから,コマンドCをbase64でエンコードした文 字列を取り出し,デコードしてコマンド(Cを取り出す。コマンドCを実行させるJavaクラス ファイル(以下、Jファイルという)を自動生成し,攻撃用HTTPサーバに配置する。攻撃用 HTTPサーバは,Jファイルが配置された攻撃用HTTPサーバのURL(LAR,URL-Jという)を WEA LDAPサーバに伝える。 (6)攻撃用LDAPサーバは,URL-JをLDAPレスポンスに記載して攻撃対象サーバに返す。 (7)攻撃対象サーバは,受信したLDAPレスポンスに記載されたURL-Jにアクセスし,Jファイ ルをダウンロードして,コマンド(を実行する。 ・脆弱性VのCVSS v3.1に基づいた基本値は9.8と高く,早急な対応が推奨されている。しかし, 現時点において,ライブラリHの公式Webサイトでは,脆弱性Vを修正したバージョンや暫定 対策は提供されていない。 ・6社はSシステムでライブラリHを利用しているかを「社に問い合わせているが,Sシステムの 構成を詳細に分析しなければならず,回答まで時間が掛かるとのことである。 ・E社は,脆弱性Vを悪用した攻撃を検和するために,サービスNにおけるWAFルールを現在開 発中であるが,悪用パターンが多岐にわたることから,網羅性のあるWAFルールの提供には最 大で72時間掛かると発表している。 図6脆弱性Vについての関連情報(抜粋) Rさんは,脆弱性Vへの対応方針をZ氏に相談した。Z氏は,F社の回答を待ってか らの対応では遅いので,システムに影響を与えない検証コードをSシステムに対して RTL,外部から脆弱性Vを悪用できるか検証するよう提案した。Rさんは,Z氏の 協力の下,図7に示す手順で検証を実施した。 (1)攻撃用LDAPサーバと攻撃用HTTPサーバを兼ねたサーバ(以下,テストサーバという)を構 築する。 (2)図8に示す検証コードを作成する。 (3)③図8で指定したコマンドが実行されたことを確認する仕組みをテストサーバに実装する。 (4)検証コードをHTTPリクエスト中に指定してSシステムに送信する。 図7 Rさんが実施した検証手順 ——9—- aHRtbA==} 注記1 a2.b2.c2.02は,Rさんがテストサーバに割り当てたIPアドレスである。 注記2 d2dldCBodHRw0i8vYTIuYjIuYzIuZDIvaW5kZXguaHRtbA==のデコード結果は,wget http://a2. b2.c2.d2/index.htmlである。これは,コマンドCに相当する。 図8作成した検証コード 検証の結果,外部から脆弱性Vを悪用できることが確認できた。この結果を踏まえ て,Rさんは,脆弱性Vを悪用する攻撃に備え,E社からWAFルールが提供されるま での間,現在判明している悪用パターンに対応可能な暫定的なWAFルールで攻撃を遮 断することにした。 Rさんが考えたWAFルールの案を表6に示す。 表6 WAFルールの案 Rさんは,例えば"jnDI"のように大文字・小文字を入れ替える手口によって, ルール1と2それぞれで,案のパターンを回避する方法があることに気付いた。④こ のような手口にも対応できるように案を変更した。その後,変更後の案の確認をZ氏 に依頼した。 Z氏は,⑤本番運用開始後の一定期間においては,WAFルールの動作には"検知" を設定して,サービスYが今までどおり利用できるかを確認することを助言した。R さんは,Z氏の助言を踏まえて,WAFルールを設定した。 後日,Sシステムでは,ライブラリHを利用しているとの回答がF社からあった。 また,E社からサービスNにおけるWAFルールが提供された。その後,脆弱性Vを修 正したバージョンがライブラリHの公式Webサイトで配布され,Sシステム内のライ ブラリHのバージョンを最新にすることで,脆弱性Vへの対応が完了した。 =I ow
設問1本文中の|a|に入れる適切な字句を答えよ。
設問2[脆弱性診断の結果」について答えよ。 (1)表3中の|b|に入れる適切な数値を,小数点以下を四捨五入して, 整数で答えよ。 (2)表5中の下線①について,修正後のライブラリ0で行うJWTの検証では どのようなデータに対してどのような検証を行うか。検証対象となるデータ と検証の内容を,それぞれ20字以内で答えよ。 (3)RS中の下線のについて,P呼出し処理に追加すべき処理を,40字以内で 具体的に答えよ。 (4)表5中の|c|に入れる適切な字句を,表2中の用語で答えよ。 (5)表5中の| d|に入れる適切な処理内容を,30字以内で答えよ。
設問3〔新たな脆弱性への対応】について答えよ。 (1)図7中の下線について,テストサーバに実装する仕組みを,35字以内で 具体的に答えよ。 (2)表6中の|ce|,|f|に入れる適切な字句を,図5中から選 び答えよ。 (3)本文中の下線④の変更後の案について,表6中のルール1に記述すべきパ ターンを,DSの記述形式で答えよ。 (4)本文中の下線⑤について,WAFルールの動作に“遮断”ではなく“検知" を設定することによる利点と,“検知"に設定した際に被害を最小化するため に実施すべき内容を,それぞれ25字以内で答えよ。 ーー
サイバー攻撃への対策に関する次の記述を読んで,設問に答えよ。 H社は,従業員3,000名の製造業であり,H社製品の部品を製造する約500社と取 引を行っている。取引先は,H社に設置された取引先向けWebサーバにHTTPSでアク セスし,利用者IDとパスワードでログインした後,H社との取引業務を行っている。 また,公開Webサーバでは,H社製品の紹介に加え,問合せや要望の受付を行ってい る。いずれのWebサーバが停止しても,業務に支障が出る。 H社では,社内に設置しているPC(LAB,H-PCという)とは別に,一部の従業員 に対して,VPNクライアントソフトウェアを導入したリモート接続用PC CAR,UE ート接続用PCをR-PCという)を貸与し,リモートワークを実現している。R-PCとH 社との間のVPN通信には,VPNゲートウェイ(以下,VPNゲートウェイをVPN-GWとい い,H社が使用しているVPN-GWをVPN-Hという)を使用している。 H社のネットワークは,情報システム部のL部長とT主任を含む6名で運用してい る。H社のネットワーク構成を図1に示す。 メール:電子メール im sammie OST 5—a yD ke||。呈サーバセグメット| !!LUもすモエEEEmoovoooe」 |as:Hust] [EEE mse]7|PRE| Lowe「Lane|vi SE"H社ドメインの権威DNSサーバと再帰的な名前解決を行うフルサービスリゾルバを兼ねる。 注?H-PCからインターネットへのHTTP及びHTTPS通信を中継する。 図1 H社のネットワーク構成 UTMの機能概要及び設定を表1に,VPN-Hの機能概要及び設定を表2に示す。 ー12一 表1 UTMの機能概要及び設定 ファイアウ|ステートフルパケットインスペクション型であり,送信元のIPアドレ|有効 ォール機能|スとポート番号,宛先のIPアドレスとポート番号の組合せによる通信 の許可と拒否のルールによって通信を制御する。 (省略) IPS機能不正アクセスの検知方法は,次の2通りを設定できる。無効 アノマリ型:あらかじめ登録したしきい値を超えた通信を異常として 検知する。 シグネチャ型:あらかじめ登録したシグネチャと一致した通信を異常と して検知する。 WAF機能不正アクセスの検知方法は,IPS機能と同様に.アノマリ型とシグネチ|無効 ャ型を設定できる。 表2 VPN-Hの機能概要及び設定(抜粋) VPN通信機|VPNクライアントソフトウェアを遵入したPCとの間でVPN通信を行う。有効 能VPN接続時の認証方式は,VPNクライアントソフトウェア起動時に表示 されるダイアログボックス(以下,VPNダイアログという)に,利用者 IDとパスワードを入力させる方式である。 多要素認証|利用者IDとパスワードによる認証方式に次のいずれかの認証方式を組|無効 機能み合わせた多要素認証を行う。 (ア)スマートフォンにSMSでセキュリティコードを送り,その入力を 確認する方式 (イ)デジタル証明書によってクライアント認証を行う方式 (ウ)スマートフォンに承認要求のプッシュ通知を送り,その通知の承 認を確認することで認証を行う方式 SE?VPNダイアログに利用者IDとパスワードを入力し,その認証が完了すると,セキュリティコ ード入力画面が表示され,SMでセキュリティコードがスマートフォンに送信される。送信さ れたセキュリティコードを,セキュリティコード入力画面に入力することで認証される。 内 最近,同業他社でサイバー攻撃による被害が2件立て続けに発生したという報道が あった。1件は,VPN-GWが攻撃を受け,社内ネットワークに侵入されて情報漏えいが 発生した事案である。もう1件は,DDoS攻撃による被害が発生した事案である。 H社でも同様な事案が発生する可能性について,L部長とT主任が調査することに レしだ。 =13— (VPN-GWへの攻撃に対する調査 T主任は,VPN-GWへの攻撃方法を次のようにまとめた。 方法1:VPN-GWの認証情報を推測し,社内ネットワークに侵入する。 方法2:VPN-GWの製品名や型番を調査した上で,社内ネットワークへの侵入が可能に ぜい なる脆弱性を調べる。もし,脆弱性が存在すればその脆弱性を悪用し,社内 ネットワークに侵入する。 T主任は,方法1については,VPN-Hの認証強化を検討ることにした。また,方 法2については,VPN-Hの脆弱性対策と,VPN-Hへのポートスキャンに対する応答を 返さないようにする方法(以下,ステルス化という)を検討することにした。方法1 と方法2についてT主任がまとめた対策案を表3に示す。 表3方法1と方法2についてT主任がまとめた対策案 攻撃方法 方法1 V-1 VPN-Hの認証強化インターネットからVPN-Hへのアクセス時は, 多要素認証を用いる。 Aik 2 VPN-Hの脆弱性対策(省略) V-3ステルス化VPN-Hのポートを通常は応答を返さないように 設定しておく。H社が許可したPCからのアクセ ス時だけ,接続を許可する。 (DDoS攻撃に対する調査〕 次に,T主任は,DDoSに関連する攻撃について調査し,H社で未対策のものを表4 (eo ROD Ten 表4 H社で未対策のDDoSに関連する攻撃 1 UDP Flood攻撃公開Webサーバ,DNSサーバを攻撃対象に,偽の送信元IP アドレスとランダムな宛先ポート番号を設定したUPデー タグラムを大量に送り付ける。 Ci) 3|DNSリフレクション攻撃の|(省略) 踏み台にされる Rik,表4についての主任とL部長の会話である。 TEE:項番1,2,4のDDoS攻撃のサーバへの影響は,UTMのIPS機能とWAF機能で 軽減することができます。 L部長:そうか。機能の設定に関する注意点はあるのかな。 T主任:例えば,アノマリ型IPS機能で,トラフィック量について,しきい値が高す ぎる場合にも,①しきい値が低すぎる場合にも弊害が発生するので,しき い値の設定には注意するようにします。また,項番3の対策として,現在の DNSサーバを廃止して,権威DNSサーバの機能をもつサーバ(以下,DNS-K という)とフルサービスリゾルバの機能をもつサーバ(以下,DNS-Fという) を社内に新設します。インターネットから社内へのDNS通信は|b| への通信だけを許可し,社内からインターネットへのDNS通信は |<|からの通信だけを許可します。 [対策V-1についての検討 Rik,対策V-1についてのL部長とT主任の会話である。 L部長:対策V-1での注意点はあるのかな。 T主任:最近は,多要素認証の利用が多くなってきたこともあり,多要素認証を狙 った攻撃が発生しています。多要素認証を狙った攻撃例を表5に示します。 表5多要素認証を狙った攻撃例 攻撃人 攻撃例1|表2(ア)と組み合わせた多要素認証を突破するフィッシング攻撃であり,次の 手順で行われる。 (1)攻撃者が.フィッシングメールを使って,VPNダイアログの画面を装った宮 のWebサイトに正規利用者を誘導し,正規利用者に利用者IDとパスワード を入力させる。 ら(a osピュー (4)攻撃者が,社内ネットワークに不正に接続する。 攻撃例2表2(ウ)と組み合わせた多要素認証を突破する多要素認証疲労攻撃であり,次 の手順で行われる。 (省略) L部長:攻撃例1については,不正なリモート接続を阻止するために,メールで受信 したメッセージ内のURLリンクを安易にクリックしないよう注意喚起する必 要があるな。 T主任:はい。しかし,当社では,業務の手続の督促などで従業員にURLリンクが含 まれるメールを送っているので,URLリンクのクリックを禁止することはで きません。不審なURLかどうかを見極めさせることは難しいでしょう。そこ で,②たとえ罠のWebサイトへのURLリンクをクリックしてしまっても,不 正なリモート接続をされないように,従業員全員が理解できる内容を,注 意喚起する必要があります。 [対策V-3についての検討 次は,対策V-3についてのしL部長とT主任の会話である。 L部長:対策V-3について説明してほしい。 T主任:VPN-Hには,どのような通信要求に対しても応答しない“Deny-ALL”を設定 した上で,あらかじめ設定されている順番にポートに通信要求した場合だ け所定のポートへの接続を許可するという設定(以下,設定Pという)があ ります。 L部長:設定Pの注意点はあるのかな。 TE:設定されている順番を攻撃者が知らなくても,③攻撃者が何らかの方法で パケットを盗聴できた場合,設定Pを突破されてしまいます。 L部長:設定Pとは別の方法はあるのかな。 T主任:VPN-Hの機能にはありませんが,SPA(Single Packet Authorization)とい うプロトコルがあります。SPAの主な仕様を表6に示します。 表6 SPAの主な仕様 1 TCPのSYNパケット又はUDPの最初のパケット(以下,SPAパケットという)には,HMAC ベースのワンタイムパスワードが含まれており,送信元の真正性を送信先が検証でき る。検証に成功すれば,以降の通信のパケットは許可される。検証に失敗すれば,以降 の通信のパケットは破棄される。 2 SPAパケットにはランダムデータが含まれており,送信先で検証される。以前受信したも のと同じランダムデータをもつSPAパケットを受信した場合は,破棄される。 3|SPAパケットの最後尾フィールドには先行フィールドのハッシュ値が格納されている。送 信先では,この値を検証し,検証に失敗すれば,そのパケットは破棄される。 送信先では,検証した結果は,送信元に返さない。 T主任:SPAなら,④攻撃者が何らかの方法でパケットを盗聴できたとしても,突破 はされません。 L部長:そうか。VPN通信機能と同様の機能をもち,SPAを採用している製品がある かどうか,ベンダーに相談してみよう。 L部長がベンダーに相談したところ,S社が提供しているアプライアンス(以下, S-APPLという)の紹介があった。しL部長とT主任は,S-APPLの導入検討を進めた。 (S-APPLの導入検討〕 S-APPLは,VPN通信機能,SPAパケットを検証する機能などをもつ。S-APPLと接続 するためには,S-APPLのエージェントソフトウェア(UB,Sソフトという)を接続 FED PCに導入し,接続元のPCごとのIDと秘密情報を,S-APPLと接続元のPCそれぞ れに設定する必要がある。なお,秘密情報は,SPAパケットのHMACベースのワンタ イムパスワードの生成などに使われる。S-APPLとSソフトの主な機能を表7に示す。 表7 S-APPLと$Sソフトの主な機能 |1|SPA機能。”|SPAパケットを用いて送信元の真正性を$-APPLが検証する。 T主任は,対策V-1一3について,次のように考えた。 ・対策V-1については,表7項番3の機能で対応する。方式は,表2(イ)の方式を 採用する。 ・対策V-2については,S-APPLの脆弱性情報を収集し,脆弱性修正プログラムが公 開されたら,それを適用する。 ・対策V-3については,表7 IAB 1の機能で対応する。 T主任は,対策V-3のためのH社のネットワーク構成の変更案を作成した。なお, 変更する際は,次の対応が必要になる。 (1)VPN-HをS-APPLに置き換える。R-PCには,Sソフトを導入する。 (2)R-PCごとのIDと秘密情報を,S-APPLとR-PCそれぞれに設定する。 (3)VPN-Hに付与していたIPアドレスをS-APPLに付与する。 (4)S-APPLのFQDNをDNSサーバに登録する。 oe 1 me T主任は,S-APPLの導入によってVPN-GWへの攻撃の対策が可能であることをしL部 長に説明した。しL部長は,効果とリスクを検討した上で,S-APPLを導入することを決 めた。 (DDoS攻撃に対する具体的対策の検討] T主任は,表4 OWS 3以外に対する具体的対策の検討に着手した。 まず,通信回線については,DDoS攻撃で大量のトラフィックが発生すると,使え なくなる。これについては,通信回線の帯域を大きくするという方法のほか,OH 部のサービスを利用するという方法があることが分かった。 次に,サーバへの影響は.これまでに検討したUTMのIPS機能とWAF機能を有効化 することで軽減できることが分かっている。加えて,取引先向けWebサーバについて は,次の対応によって,⑥更にDDoS攻撃の影響を軽減できることが分かった。 ・取引先には,H社との取引専用のPC(以下,取引専用PCという)を貸与する。取 引専用PCには,Sソフトを導入する。 ・取引専用PCごとのIDと秘密情報を,S-APPLと取引専用PCそれぞれに設定する。 ・S-APPLに,取引専用PCがVPN確立後にアクセス可能なサーバとして,取引先向け Webサーバだけを設定する。 ・UTMのファイアウォール機能で,」インターネットから取引先向けWebサーバへの通 信を拒否するように設定する。 その後,H社では,S-APPL OMA,UTMの設定変更,DNSサーバの変更などを行い, 新たな運用を開始した。 ー19一
設問1(DDoS攻撃に対する調査]について答えよ。 (1)表4中の| a|に入れる攻撃の例を,H社での攻撃対象を示して具体 的に答えよ。 (2)本文中の下線①の場合に発生する弊害を,25字以内で答えよ。 (3)本文中の|b|,|<|に入れる適切な宇名を,“DNS-F"又は “DNS-K”から選び答えよ。
設問2【対策V-1についての検討】]について答えよ。 (1)表5中の| d j,[__e|に入れる,不正な接続までの攻撃手順 を,具体的に答えよ。 (2)本文中の下線②について,注意喚起の内容を,具体的に答えよ。
設問3対策V-3についての検討]について答えよ。 (1)本文中の下線について,設定Pを突破する方法を,39字以内で答えよ。 (2)本文中の下線@について,突破されないのはなぜか。49字以内で答えよ。
設問4(DDoS攻撃に対する具体的対策の検討}について答えよ。 (1)本文中の下線⑤について,利用する外部のサービスを,20字以内で具体的 に答えよ。 (2)本文中の下線⑥について,軽減できる理由を,40字以内で答えよ。 ー9一
Webセキュリティに関する次の記述を読んで,設問に答えよ。 D社は,従業員1,000名の小売業である。自社のホームページやECサイトなどの Webサイトについては,Webアプリケーションプログラム(以下,Webアプリという) に対する診断(以下,Webアプリ診断という)を専門会社のZ社に委託して実施して いる。Webアプリ診断は,Webサイトのリリース前だけではなく,リリース後も定期 的に実施している。2 LAO Webアプリ診断は,脆弄性診断ツールによるスキャンだけ ではなく,手動による高度な分析も行う。 [新たなWebサイトの構築〕 D社では,新たにECサイトX(以下,サイトXという)と商品企画サイトY(以下, サイトY EWS)をW社が提供するクラウドサービス(LE,クラウドWという)上 に構築することになった。 サイトXでは,D社が取り扱う商品をインターネットを介して会員に販売する予定 である。取引は毎月19,699件ほどを見込んでいる。サイトYでは,サイトXで販売 する新商品の企画・開発を顧客参加型で行う。サイトXとサイトYは,いずれもWeb サーバとデータベースサーバ(以下,DBサーバという)で構成する。Webサーバにつ いてはクラウドWの仮想Webサーバサービスを利用し,DBサーバについてはクラウド Wのリレーショナルデータベースサービスを利用する。サイトXとサイトYはいずれ も,コンテンツマネジメントシステム(以下,CMSという)を使って構築される。サ イトXとサイトYにはいずれも,Webアプリ,HTMLによる静的コンテンツ,DBサーバ に格納したデータを使った動的コンテンツなどを用意する。 D社は,V大学と新商品開発の共同研究を行っている。新商品開発の共同研究では, V大学が運用する情報交換サイトCAR,SHRPという)を利用している。サイト Yは,サイトPで取り扱っている情報などを表示する。 D社は,Webサイト構築に関連するデータやドキュメントの保存場所として,クラ ウドWのストレージサービス(以下,ストレージWという)を利用する。 D社は,サイトX及びサイトYの設計書を作成した。設計書のうち,サイトX,+ イトY及びサイトPのネットワーク構成を図1に,サーバやサービスの説明を図2に 示す。 =ot= クラウFM aS aoe if'!内部ネットワークi VPCーープー]!D社管理者PC 失い! eee Pee 日|! rsa 1 1に1ーーーコ しレレーーテーーープ。」!:学内ネットワークi FW:ファイアウォールIG:インターネットゲートウェイ IMDS:インスタンスメタデータサービスVG:VPNゲートウェイ VPC:仮想プライベートクラウド 注りVPCとインターネットとの間の通信を可能にする。 注?VPCとD社の内部ネットワークとの間のVPN通信を可能にする。 図1サイトX,サイトY及びサイトPのネットワーク構成 [クラウドWにあるサーバ及びストレージWについて] クラウドW上のサービスの管理のためのアクセスの際は,クラウドW用の利用者ID,アクセスキ ーなどのクレデンシャル情報をリクエストに含める必要がある。D社が利用するクラウドW上のサ ービスには,D社用に発行されたクレデンシャル情報でアクセスでき,全ての操作ができる。 [IMDSについて] IMDSは,VPCの各サーバから特定のURLにアクセスされると特定の情報を返す。例えば,https:/ /OOO.O00.OOO.OOO/meta-data/credentialにGETメソッドでアクセスされると,クラ ウドW上のサービスのクレデンシャル情報を返す。IMDSには,インターネットから直接アクセス できないプライベートIPアドレス(OOO.OOO.〇OO.OOO)が設定されている。 IMDSにアクセスする方式は,次のいずれかを採用する必要がある。D社では,AUX 1を採用する。 方式1:特定のURLにアクセスするだけで情報を取得できる。 方式2:トークンを発行するURLにPUTメソッドでアクセスし,レスポンスボディに含まれるトー クンを入手してから,そのトークンをリクエストヘッダに含めて特定のURLにアクセスす ると情報を取得できる。 [CMSについて] WebサーバXのhttps://ロロロ.jp/admin又はWebサーバYのhttps://園画圏.jp/adminにアクセ スすると,それぞれのサーバのCMの管理ログイン画面にアクセスできる。ログインは,POST x ソッドでは許可されるが,GETメソッドでは許可されない。各CMSの管理ログイン画面へのアクセ スは,VON接続された0社管理者PC,又はVPC内からのアクセスだけに制限される。D社では,各 CMSの管理者アカウントは初期パスワードのまま運用する。 図2サーバやサービスの説明 [サイト名 サイトXには,会員用の利用者アカウントと0社管理者用の利用者アカウントがあ る。サイトXのログインセッション管理は,cookieパラメータのSESSIONIDで行う。 SESSIONIDには,値とSecure属性だけがセットされる。なお,サーバ側のセッショ ンの有効期間は24時間である。設計書のうち,サイトXの機能一覧を表1に示す。 RlサイトXの機能一覧(抜粋) 詳細機能 1ログイン機能ログイン機能利用者IDとパスワードを入力し,ログインに 成功すると利用できる機能が表示されるページ に乱移する。 2|利用者機能会員機能(登録)登録画面では最初にメールアドレスを入力す (ログイン前)る。そのメールアドレス宛てに送られた電子メ ールに記載されたURLにアクセスして利用者情 報を入力し,登録する。 3|利用者機能注文機能(商品検|商品には商品コードが付与されており,商品検 (ログイン後)|索,注文,注文履歴|索画面で検索できる。注文履歴は,注文年月で 閲覧)ある数字6桁とランダムな英大文字6桁の値を ハイフンでつないだ注文管理番号で管理され る。注文履歴を閲覧する際は,注文管理番号を 基に検索する。 |4|会員機能(編集)登録した利用者情報を編集できる。 5問合せ機能問合せ情報を入力できる。入力した問合せ情報 は,RE 10桁の管理番号が発番され,管理さ れる。 サイト管理機能|商品管理機能(登|商品情報を登録,編集,削除できる。商品情報 (ログイン後)|録,編集,削除)が登録されると,ME 10桁の商品コードが割 り当てられ,その商品を会員が注文できるよう になる。 7売上管理機能(売上|商品の売上情報を閲覧できる。また,条件を指 情報閲覧,検索)定して検索することができる。 会員管理機能(関|登録された会員の利用者情報を閲覧,変更,削 覧,変更,削除)除できる。 問合せ管理機能問合せ機能で入力された問合せ情報が閲覧でき る。 サイト管理機能は,D社の内部ネットワーク以外からも利用する可能性があり,サ イトXでは,接続元の制限は行わない。 _23= サイトXとサイトYの構築は順調に進み,D社はリリース前のWebアプリ診断をZ 社に委託した。Z社は,サイトXとサイトYそれぞれに対してWebアプリ診断を実施 し活。 [サイトXに対するWebアプリ診断] サイトXに対するWebアプリ診断では,次の三つの脆弱性が検出された。 ・クロスサイトスクリプティング(以下,XSSという) ・クロスサイトリクエストフォージェリ(以下,CSRFどいう9 ・認可制御の不備 [XSSについて] Z社がXSSを検出した経緯は,次のとおりであった。 (1)問合せ機能で,脆弱性診断ツールによるリクエストとレスポンスを確認した。 このときのリクエストとレスポンスは,図3のとおりであった。 | |[リクエスト] POST/shop/contact HTTP/1.1 Host:(省略) (省略) Content-Type:application/x-www-form-urlencoded Content-Length:(省略) Cookie:SESSIONID=nt1t3dmxmlmwuicyiz3h4nq1 |subject id=0948name=%22%3e%3cscript%3ealert%281%29%3c%2fscri pt%3e%3c%22&tel=(省略)& |mail=(省略)8mail2=(省略)&comment=(省略) [レスポンス] |(省略) <h1>問合せを受け付けました。</h1> |(省略) 注記パラメータnameの値は”><script>alert(1)</script><”&URLエンコードした値である。 3問合せ機能のリクエストとレスポンス =4ご (2)3中のレスポンスボディには,問合せ機能で入力した値は出力されていない。 LAL,Z社は,①設計書を調査した上で手動による分析を行い,3中のリク エスト内のスクリプトが別の機能の画面に出力されることを確認した。 Z社は,②攻撃者がこのXSSを悪用してサイトX内の全会員の利用者情報を取得す る可能性があると説明した。 (CSRF区ついで]〕 Z社がCSRFを検出した経緯は,次のとおりであった。 (1)会員機能(編集)において,4に示すリクエストを送ってその応答を確認し た。リクエストは正常に処理された。 POST/shop/editmember HTTP/1.1 Host:(省略) (省略) Content-Type:application/x-www-form-urlencoded Content-Length:(省略) Cookie:SESSIONID=b9y33f89umt6uualpe4 j4jn7 sei=sato&mei=taro&mail=aaa%49example.jp&csrf token=KCRO88ERH2G8MGT319E50SMOAJFDIVEM 図4会員機能(編集)のリクエスト (2)リクエスト内のメッセージボディの一部を変更して送り,その応答を確認した。 リクエスト内のメッセージボディと応答は表2のとおりであった。 表2リクエスト内のメッセージボディと応答 リクエスト内のメッセージボディ 3 sei=sato8mei=taro&mail=aaa%40example.jp&csrf token=(異なる利用|正常に処理 者アカウントで取得したcsrf tokenの値) ーー:DF)一 (3)Z社は,手順1,2の応答が“エラー”であることから一定のCSRF対策ができて いるが,手順3の応答が“正常に処理"であることから③利用者に被害を与える 可能性があると判断した。 Z社は,対策には二つの方法があることを説明した。 ・csrf tokenの処理の修正 ・cookieへのSameSite属性の追加 サイトXの構成次第では,SameSite属性をcookieに付与することも有効な対策と なり得る。SameSite属性は,Strict,Lax,Noneの三つの値のうちのいずれかを取る。 サイト%Xにログインした利用者のWebブラウザにおいて,サイトX内で乱移する場合 と外部WebサイトからサイトXに居移する場合では,SameSite属性の値によってサイ トXのcookie送信の有無が表3のように異なる。 表3 SameSite属性の値の違いによるcookie送信の有無 Lee ho|5 Po|ee Mtの人 Le Le|<||W a ss 1 Ss 15コTEゴ- 注記“O"はcookieが送られることを示す。“X”ld cookieが送られないことを示す。 [認可制御の不備について〕 7社が認可制御の不備を検出した経緯は,次のとおりであった。 (1)Z社は,利用者w,利用者8という二つの利用者アカウントを用いて,注文履 歴を閲覧した際のリクエストを確認した。注文履歴を閲覧した除のリクエストを 図5及び図6に示す。 ー26一 POST/shop/order-history HTTP/1.1 Host:(省略) (省略) Content-Type:application/x-www-form-ur lencoded Content-Length:(省略) Cookie:SESSIONID=ac9t66bx Lxmwui iki53h4nq3 order-code=202404-AHUJKIリ SE?表1の注文管理番号のことである。値から利用者を特定することができる。 図5利用者で注文履歴を閲覧した際のリクエスト POST/shop/order-history HTTP/1.1 Host:(省略) (省略) Content-Type:application/x-www-form-ur lencoded Content-Length:(省略) Cookie:SESSIONID=k1ctghbxbx5wuj3ki33h lna5 order-code=202404-BAKCXW 図6利用者8で注文履歴を閲覧した際のリクエスト (2)5のリクエストのパラメータorder-codeの値を図6中の値に改変してリクエ ストを送った。 (3)利用者zが,本来は閲覧できないはずの利用者8の注文履歴を閲覧できるとい う攻撃が成功することを確認した。 (4)さらに,ある利用者がほかの利用者が注文した際のorder-codeを知らなくても, ④ある攻撃手法を用いれば攻撃が成功することを確認した。 2社は,⑤サイトXのWebアプリに追加すべき処理を説明した。 [サイトYに対するWeb PTY HET) サイトYに対するWebアプリ診断では,次の脆弱性が検出された。 ・サーバサイドリクエストフォージェリ(以下,SSRFという) ー27一 [SSRFについて〕 Z社がSSRFを検出した経緯は,次のとおりであった。 (1)サイトPの新着情報を取得する際に,利用者のWebブラウザがWebサーバYに 送るリクエストを確認したところ,図7のとおりであった。 Host:(省略) (省略) Cookie:SESSIONID=pq4ikd31op215jebter41sae 注記AAA.jpはサイトPのFQDNである。 図7利用者のWebブラウザがWebサーバYに送るリクエスト (2)⑥図7のリクエストのパラメータの値をWebサーバYのCUSの管理ログイン画 面のURLに変更することで,その画面にアクセスできるが,ログインはできない ことを確認した。 (3)⑦図7のリクエストのパラメータの値を別のURLに変更するという方法(以下, 方法「という)でSSRFを悪用して,クレデンシャル情報を取得し,ストレージW から情報を盗み出すことができることを確認した。 (4)IMDSにアクセスする方式を方式1から方式2に変更すると,方法「ではクレデ ンシャル情報を取得できないので,ストレージWから情報を盗み出すことができ ない。しかし,図7のリクエストのパラメータの値を変更することで,Webサー NYから送られるリクエストに任意のメソッドの指定及び任意のヘッダの追加が できる方法(以下,方法Gという)がある。方法6を用いれば,BH 2に変更し| ても,クレデンシャル情報を取得し,ストレージWから情報を盗み出すことが できることを確認した。 7社は,クラウドW上のネットワークでのアクセス制御の設定,及び⑨サイトYの Webアプリに追加すべき処理を提案した。 |リリース前の脆弱性診断で検出された脆弱性の対策が全て完了し,サイトXとサイ トYは稼働を開始した。 ー98—
設問1[XSSについて〕について答えよ。 (1)本文中の下線について,図3中のリクエスト内のスクリプトが出力され るのはどの機能か。表1の詳細機能に対する項番を選び答えよ。 (2)本文中の下線@について,攻撃者はどのような手順で利用者情報を取得す るか。具体的に答えよ。
設問2[CSRFについて〕について管えよ。 (1)本文中の下線について,被害を与える攻撃の手順を,具体的に答えよ。 (2)表3中の|a|-|d|に入れる適切な内容を,“O"wit“x” から選び答えよ。
設問3[認可制御の不備について]について答えよ。 (1)本文中の下線@について,どのような攻撃手法を用いれば攻撃が成功する か。390字以内で答えよ。 (2)本文中の下線⑤@について,サイトXのWebアプリに追加すべき処理を,60 字以内で具体的に答えよ。
設問4〔SSRFについて〕について答えよ。 (1)本文中の下線@について,ログインができないのはなぜか。SSRF攻撃の特 徴を基に,35字以内で答えよ。 (2)本文中の下線⑦について,クレデンシャル情報を取得する方法を,具体的 に答えよ。 (3)本文中の下線⑧について,AKGを用いてクレデンシャル情報を取得する 方法を,具体的に答えよ。 (4)本文中の下線について,サイトYのWebアプリに追加すべき処理を,35 字以内で具体的に答えよ。 ー29—
各問題の下に出典を記載しています。