過去問

令和4年度(秋期)午後1問1の分析|情報処理安全確保支援士

過去問
riss

問題・解答は情報処理推進機構(IPA)のページからダウンロードできます。

概要

問題の要約

  • 開発したロボット掃除機(製品R)の仕様を示す。
  • 製品Rの仕様中、ファームウェアアップデート機能のセキュリティ対策を検討した。
  • DNSキャッシュポイズニングによる偽のファームウェアのダウンロードの可能性を指摘した。
  • サーバの侵入によるファームウェアの置き換えの可能性を指摘した。
  • 製品RがもつWebアプリケーションプラグラム(WebアプリR)の実装について脆弱性を指摘した。
  • 脆弱性はOSコマンドインジェクションとクロスサイトリクエストフォージェリである。

主な論点

  • DNSキャッシュポイズニング
  • サーバ証明書
  • コードサイニング
  • OSコマンドインジェクション
  • クロスサイトリクエストフォージェリ

着眼点

問題文
P3
ファームウェアアップデート機能が偽のファームウェアをダウンロードする。
攻撃手法
DNSキャッシュサーバが権威DNSサーバに名前解決要求を行ったときに、攻撃者が偽装したDNS応答を送信するという手法(DNSキャッシュポイズニング、設問1(1)a)
攻撃が成功する条件(設問1(3))
・外部からの再帰的問合せを受け付ける設定になっていること(オープンリゾルバ
・問合せの宛先IPアドレスと応答の送信元IPアドレスが一致すること
・問合せの宛先ポートと応答の送信元ポートが一致すること
・問合せのトランザクションIDと応答のトランザクションIDが一致すること
・正規のDNS応答が到達する前に不正なDNS応答が到達すること
対策
・権威DNSサーバは再帰的問合せを受け付けない。
・キャッシュDNSサーバは再帰的問合せ元を制限する。
・送信元ポート番号やトランザクションIDをランダム化する。
・DNSSECを導入する。
ただし、本問では、偽のIPアドレスにアクセスしたとしても、HTTPSを実装しており、サーバ証明書を検証し、通信相手を確認することができるため、DNSキャッシュポイズニングの攻撃の影響は受けない(設問1(4))。
問題文
P3
攻撃者がサーバに侵入するなどの方法でファームウェアを直接書き換える場合もある。
対策
コードサイニングを導入する(設問1(5)c)。
具体的には、コードサイニング証明書の発行元を検証した上で、検証されたコードサイニング証明書を使って、ダウンロードしたファームウェアの真正性を検証する。
問題文
P4~5
利用者がIPアドレス設定画面からPOSTメソッドにより送信したパラメータには、pingコマンドが含まれている。POSTメソッドによるリクエストを受信したsetvalueはコマンド文字列をシェルに渡され、コマンドが実行される。
脆弱性
リクエストに対するsetvalueの処理には、シェルが実行するコマンドをパラメータで不正に指定でき、想定外のコマンドが実行される可能性がある(OSコマンドインジェクション、設問2、設問4)。
対策
・入力値をチェックする。
・Webアプリケーション中でシェルを実行しない(P6)。
問題文
P5
IPアドレス設定機能には、ログイン済みの利用者が攻撃者によって設定された罠サイトにアクセスし、利用者が意図せずに悪意のあるリクエストをWebアプリRに送信させれた場合に、WebアプリRがそのリクエストを受け付けて処理してしまう脆弱性がある(クロスサイトリクエストフォージェリ、設問4)。
脆弱性
攻撃者が、WebアプリRにログイン済みの利用者を罠サイトに誘い、攻撃リクエスト(攻撃者のファイルをダウンロードさせるリクエスト)をPOSTメソッドで送信させるスクリプトを含むページを表示させると、製品Rは攻撃者のファイルをダウンロードして実行する可能性がある(設問3(1))。
対策
・秘密情報(利用者からのリクエストパラメータに、セッションにひも付けられ、かつ推測困難であるトークン)を付与し、リクエストの真正性を検証する(設問3(3))。
・処理を実行する直前の画面でパスワードの再入力又は画像認証を行う。
・Refererヘッダによって正規の画面からのリクエストであることを確認する。
・重要な更新内容はメールで本人に通知する(保険的対策)。
・CookieにSameSite属性を設定する。

情報処理推進機構(IPA)の講評

出題趣旨

製品開発においては、設計・開発時に十分なセキュリティ対策を行うことが重要である。脆弱性単体では発生し得る被害が小さいように見えたとしても、他の脆弱性と組み合わせられることで、より大きな被害が発生することもある。
本問では、IoT製品の開発を題材に、開発者として脆弱性単体だけでなく、複数の脆弱性の組合せによって生じるリスクを特定する能力、及びアプリケーションプログラムのセキュリティ対策を作成する能力を問う。

採点講評

問1では、IoT製品の開発を題材に、フォームウェアの改ざん対策及びWebアプリケーションプログラムのセキュリティについて出題した。全体として正答率は平均的であった。
設問1(4)は、正答率が低かった。HTTPSを利用して攻撃者のサーバから偽のファームウェアをダウンロードさせない実装を問う問題であったが、暗号化を行うという解答や、サーバ証明書の確認に触れていない解答が散見された。安全な通信を行うためのTSLについて理解を深めてほしい。
設問3は、(1)(2)ともに正答率が低かった、リスク評価及び脆弱性の対策立案において、攻撃を受ける具体的な脅威を想定することは重要である。POSTメソッドを用いたクロスサイトリクエストフォージェリージェリ攻撃の仕組みとその攻撃を防ぐための対策について理解を深めてほしい。

記事URLをコピーしました