戦国IT - 情報処理技術者試験の過去問対策サイト
ブログお知らせお問い合わせ料金プラン

情報処理安全確保支援士 2014年 秋期 午後101


スマートフォンに関する次の記述を読んで、設問1~4に答えよ。

   K社は、従業員数5,000名の情報システム会社である。K社では、モバイルPCに加えて、スマートフォン(以下、スマホという)から、従業員が電子メールやグループウェアなどの社内システムへアクセスできるシステム環境(以下、Bシステムという)を昨年導入した。Bシステムの利用に先立ち、従業員が電子メール用やグループウェア用のアプリケーションソフトウェア(以下、アプリケーションソフトウェアをアプリという)をスマホにインストールする。また、Bシステムの導入に当たっては、スマホを遠隔で管理するシステム(以下、Mシステムという)を追加で導入し、スマホのOSやアプリのバージョンなどの構成情報の管理や、スマホの紛失時のデータ消去などのセキュリティ対策を実現した。さらに、“個人の所有物であるスマホからBシステムを利用する際は、事前に、利用者の氏名に加えてスマホの製品名や電話番号といった情報をK社に申請すること”などを定めたスマホ利用規程を策定した。  Bシステムの導入から1年が過ぎたので、K社では、セキュリティ対策及びスマホ利用規程が有効であったかについて確認することにした。その際に、スマホに関するセキュリティ対策を改めて議論することにした。   〔ルート特権の利用について〕  スマホのルート特権を利用者が利用できる状態にする行為(以下、ルート特権化という)について、セキュリティ上の問題がないかを検討することになった。スマホの多くは、利用者がルート特権をもたず一般利用者の権限だけで利用することを前提にしている。そのため、ルート特権をもつ個人のPCと違い、OSの設定の一部を自由に変更できないという制約や、スマホのベンダによってあらかじめインストールされているアプリを削除できないという制約などがある。そのような制約を嫌う利用者の中には、ベンダが想定していない手段で、ルート特権化を自ら行う者もいる。  K社で調査したところ、ルート特権化は、主に、バッファオーバフロー攻撃を用いて実現されることが分かった。   〔バッファオーバフロー攻撃の詳細と対策について〕  バッファオーバフロー攻撃に関するセキュリティホールは、スマホ用のOSだけではなく、PC用OSやサーバ用OSにおいても報告されている。通常、OSやライブラリのセキュリティホールが公表された場合、PCやサーバを管理する者は、開発元から提供されるaの適用やソフトウェアの更新によって、セキュリティホールに対処する。他方、Webサーバにおいては、aの適用やソフトウェアの更新をしなくても、①通信路上にIPSやWAFを設置することによって、インターネットからWebサーバへのバッファオーバフロー攻撃を防止することもできる。  バッファオーバフロー攻撃としては、スタックバッファオーバフロー攻撃、bバッファオーバフロー攻撃や、静的メモリ領域を対象としたバッファオーバフロー攻撃が知られている。いずれのバッファオーバフロー攻撃も、主にCやC++で作成されたプログラムが狙われる。スタックバッファオーバフロー攻撃は、スタック領域を破壊するので、スタック破壊攻撃とも呼ばれる。スタック破壊の挙動をプログラム実行時に検知して停止する機能(以下、スタック破壊検知機能という)を含むコードを生成するコンパイラも普及している。  図1は、スタックバッファオーバフロー攻撃に対して脆弱なプログラム(以下、Vulnという)である。図2は、関数fooが呼び出された後のメモリ配置である。ここで、図2中のshellコードは、攻撃者がスタックバッファオーバフロー攻撃によってメモリ上に配置するものである。スタック破壊検知機能を含めずにコンパイルしたVulnにおいては、攻撃を成立させるために挿入するデータ(以下、インジェクションベクタという)を変数aに与えることによって、shellコードにプログラムの制御が移ってしまう。ここでは、図3がVulnに対するインジェクションベクタである。その際、Vulnが実行時に②一定の条件を満たせば、あらゆる命令の実行がshellコードで可能となる。
情報処理安全確保支援士試験(平成26年度 午後1 問01 図01)
情報処理安全確保支援士試験(平成26年度 午後1 問01 図02)
情報処理安全確保支援士試験(平成26年度 午後1 問01 図03)
 このスタックバッファオーバフロー攻撃を防止するため、指定されたメモリ領域でのコードの実行を禁止する機能(以下、データ実行防止機能という)が登場した。これは、CPUの機能を用いて実現されている。  しかし、プログラム実行時に共有ライブラリがメモリ上にロードされていることを利用して、データ実行防止機能を回避する新たな攻撃法が登場した。これは、共有ライブラリ内の関数であって、かつ、任意のプログラムを実行できる関数を、スタックバッファオーバフロー攻撃時に利用するものである。libc共有ライブラリを利用する場合、この攻撃はd攻撃と呼ばれる。  最近のOSでは、こういった攻撃が成功することを抑制するため、アドレス空間配置ランダム化技術が実装されている。アドレス空間配置ランダム化技術を用いると、スタック破壊検知機能を含めずにコンパイルしたプログラムであっても、スタックバッファオーバフロー攻撃の成功を抑制することができる。   〔K社での対策〕  K社の調査の結果、スマホのOSのあるバージョン(以下、バージョンVという)以降ではデータ実行防止機能及びアドレス空間配置ランダム化技術が実装されていることが分かった。また、バージョンV以降では、その他様々な点でセキュリティ対策が強化されていることも分かった。  その上で、ルート特権化されたスマホからBシステムを利用することについて改めて検討したところ、ルート特権化されたスマホは、ベンダの保守サポートの対象外になること、及びMシステム用のアプリやBシステム用のアプリが動作しなくなることが分かった。さらに、ルート特権化されていないスマホと違い、ルート特権化されたスマホでは、“データを盗み出すタイプのマルウェア”が侵入してしまうと、それがルート特権を取得して、③スマホ内に保存されているアプリのデータを不正に読み出してしまうリスクが高まることも分かった。そのため、K社では、スマホ利用規程で、ルート特権化されたスマホからのBシステムの利用を禁止することにした。  しかしながら、④それだけでは、従業員がスマホ利用規程を守ったとしても、“意図しないルート特権化”のリスクが残存する。K社は、Bシステムのセキュリティを確保するために、スマホでは、バージョンV以降のOSを利用することが必要であるとの結論に至った。そのため、⑤スマホのOSのバージョンをK社が確認する運用策を実施することにした

設問1

本文中のabdに入れる適切な字句を、aは15字以内で、bは5字以内で、dは20字以内でそれぞれ答えよ。

模範解答

a:セキュリティパッチ b:ヒープ d:return-to-libc

解説

解答の論理構成

  1. a の文脈
    • 原文引用:
      「開発元から提供されるaの適用やソフトウェアの更新によって、セキュリティホールに対処する。」
    • “開発元から提供される”かつ“セキュリティホールに対処”という説明は、一般に「セキュリティパッチ」を指します。
    • さらに「Webサーバにおいては、aの適用やソフトウェアの更新をしなくても」と続くため、対策手段としてのパッチが念頭に置かれていると判断できます。
      a = 「セキュリティパッチ」
  2. b の文脈
    • 原文引用:
      「スタックバッファオーバフロー攻撃、bバッファオーバフロー攻撃や、静的メモリ領域を対象としたバッファオーバフロー攻撃が知られている。」
    • スタックに対比される動的メモリ領域は “ヒープ” であり、「ヒープバッファオーバフロー攻撃」は定番の分類です。
      b = 「ヒープ」
  3. d の文脈
    • 原文引用:
      「libc共有ライブラリを利用する場合、この攻撃はd攻撃と呼ばれる。」
    • libc の既存関数へ制御を飛ばす古典的手法は「return-to-libc 攻撃」です。
    • “任意のプログラムを実行できる関数を、スタックバッファオーバフロー攻撃時に利用”という説明も return-to-libc の特徴と一致します。
      d = 「return-to-libc」
以上より、 a:セキュリティパッチ
b:ヒープ
d:return-to-libc

誤りやすいポイント

  • 「セキュリティパッチ」を「アップデートファイル」「修正プログラム」などと曖昧に書くと減点対象になりやすいです。
  • ヒープとグローバル領域(BSS/データ領域)を混同し、「静的メモリ領域=ヒープ」と誤読してしまうケースがあります。
  • return-to-libc を ROP(Return Oriented Programming)と書く誤答が散見されます。ROP はより包括的な概念で、本問は libc を明記している点が決め手です。

FAQ

Q: “セキュリティパッチ”と“サービスパック”は同じ意味ですか?
A: サービスパックは複数のパッチをまとめた大型更新を指す場合が多く、単発の穴埋めとして配布される“セキュリティパッチ”とは区別されることがあります。
Q: ヒープバッファオーバフローはスタックの場合と何が違いますか?
A: 上書きする対象が戻り番地ではなくヒープ管理構造や関数ポインタになるため、攻撃成功の糸口や検知方法が異なります。
Q: return-to-libc 攻撃はデータ実行防止機能を必ず回避できますか?
A: 成功率は高いものの、ASLR(アドレス空間配置ランダム化)などが併用されると libc のアドレスが特定しづらくなり、抑制効果が期待できます。

関連キーワード: セキュリティパッチ、バッファオーバフロー、ヒープ、return-to-libc, アドレス空間配置ランダム化

設問2Vulnへのスタックバッファオーバフロー攻撃とその対策について、(1)〜(3)に答えよ。

(1)図2のメモリ配置について、スタックバッファオーバフロー攻撃を防止するには、データ実行防止機能をどのメモリ領域に適用すればよいか。図2中の用語を用いて答えよ。

模範解答

スタック領域

解説

解答の論理構成

  1. 攻撃の成立条件を確認
    • 【問題文】には「図2中のshellコードは、攻撃者がスタックバッファオーバフロー攻撃によってメモリ上に配置するものである。」とあり、悪意のコードは「スタック領域」に置かれると明示されています。
  2. シェルコード実行を阻止する仕組み
    • 同じく【問題文】で「指定されたメモリ領域でのコードの実行を禁止する機能(以下、データ実行防止機能という)」と紹介されており、これは“その領域を実行不可にする”ことで攻撃を防ぐ機能です。
  3. どの領域を実行不可にすべきか
    • 攻撃者が配置するのは「スタック領域」にあるシェルコードなので、ここを実行不可に設定すればプログラムカウンタがスタックに移っても命令として解釈されません。
  4. 結論
    • したがって、データ実行防止機能を適用すべきメモリ領域は「スタック領域」となります。

誤りやすいポイント

  • 「ヒープ領域」や「BSS領域」もデータ領域なので誤答しやすいが、本問でシェルコードが載るのはスタックであり、他領域に配置されるケースは示されていない。
  • 「共有ライブラリ」を実行不可にするという考え違い。共有ライブラリは正規の実行コードであり、実行不可にすると通常動作まで阻害される。
  • データ実行防止機能は“全メモリを対象にする”と早合点してしまう。実際にはセグメント単位で細かく制御でき、必要最小限の領域だけを実行不可にするのが基本。

FAQ

Q: スタックを実行不可にすると正規処理に支障はありませんか?
A: CやC++で通常生成されるコードはテキスト領域で実行されるため支障はありません。正規処理でスタック上のデータを命令として実行する場面は想定されていないため、安全に適用できます。
Q: ヒープにもデータ実行防止を掛けるべきでは?
A: ヒープを実行不可にすることで別種の攻撃(ヒープバッファオーバフローなど)も緩和できますが、本問は「図2」に示されたスタックバッファオーバフローへの対処が焦点です。設問が求めているのはスタック領域です。
Q: アドレス空間配置ランダム化とデータ実行防止は同時に使うべきですか?
A: はい。ランダム化はアドレス予測を困難にし、データ実行防止は実行自体を阻止します。複数の防御策を重ねる「多層防御」が推奨されます。

関連キーワード: スタックバッファオーバフロー、データ実行防止、シェルコード、メモリセグメント、多層防御

設問2Vulnへのスタックバッファオーバフロー攻撃とその対策について、(1)〜(3)に答えよ。

(2)図3中のcに入れる適切なバイト列を解答群の中から選び、記号で答えよ。ただし、バイトオーダはリトルエンディアンとする。
解答群  ア:068004c8  イ:08048026  ウ:26800408  エ:268004c8  オ:5e8004c8  力:c8048006  キ:c8048026  ク:c804805e

模範解答

c:エ

解説

解答の論理構成

  1. 【問題文】図2には
    アドレス c8048026 ┌─ リターンアドレス X ─┐
    と示されています。これは「関数 foo から復帰する際に POP される戻り番地」が格納されているスタック上の 格納位置 です。
  2. 図3を見ると、
    • 先頭に「適当な長さの41のバイト列」が並び
    • その直後の 4 バイトが c
    • c のさらに後方に「shellコード」
      という順序でインジェクションベクタが構成されています。
      strcpy はバイト列を低位アドレスから高位アドレスへ順にコピーするため、 shell コードは “書き換えた戻り番地のすぐ後ろ” に配置されることになります。
  3. したがって、foo からの RET 命令で制御を移したい先は
    “書き換えた戻り番地自身の 0 バイト目”=アドレス c8048026 です。
    そこから shell コードまでは数バイトしか離れていないので、 アドレス c8048026 に飛べば連続して配置されている shell コードが実行されます。
  4. 問題文の指定
    “バイトオーダはリトルエンディアンとする”
    に従い、32bit 値 0xC8048026 をリトルエンディアンで書くと
    26 80 04 C8(16進表記)の並びになります。
  5. 解答群でこの 4 バイト列に一致するのは
    エ:268004c8
    のみであるため、c には を選択します。

誤りやすいポイント

  • 「図2の “shellコード” の先頭アドレス(c804805e)を直接書く」と早合点しやすい。実際にはコピー順序の都合で戻り番地直後に shell コードが来るので、書き込むのは c8048026。
  • 選択肢は リトルエンディアンの“バイト列” である点に注意。アドレス値をそのまま読んで一致検索すると誤答になる。
  • “戻り番地の保存領域” と “戻り番地そのものの値” を混同しやすい。図2が示しているのは「格納位置」であって元の戻り値ではない。

FAQ

Q: なぜ shell コードの先頭ではなく戻り番地のアドレスに飛ぶのですか?
A: strcpy のコピー順の結果、戻り番地直後から shell コードが並ぶためです。RET で c8048026 に制御を移すと、即座に続く shell コードが実行されます。
Q: c804805e を選んではいけない理由は?
A: その値をリトルエンディアンで書くと 5e8004c8 ですが、解答群に無い上、戻り番地より 0x38 バイト後方なので strcpy だけでは届きません。
Q: 41h(‘A’)を大量に入れるのはなぜですか?
A: バッファサイズと戻り番地までの距離を正確に埋め、意図した位置に c や shell コードを配置するためのパディングです。

関連キーワード: バッファオーバフロー、リトルエンディアン、スタック、シェルコード、リターンアドレス

設問2Vulnへのスタックバッファオーバフロー攻撃とその対策について、(1)〜(3)に答えよ。

(3)アドレス空間配置ランダム化技術は、攻撃者のどのような行為をできないようにすることによって、図3のインジェクションベクタによるスタックバッファオーバフロー攻撃が成功することを抑制するか。25字以内で具体的に述べよ。

模範解答

攻撃を成功させるためのジャンプ先アドレスの特定

解説

解答の論理構成

  1. 攻撃者は図3のインジェクションベクタで「リターンアドレス」を上書きし、プログラムの制御を shell コードや共有ライブラリ内部に飛ばすことで任意コード実行を狙います。
  2. その際に不可欠なのが「飛び先の実メモリアドレスを正確に書き込む」行為です。
  3. 【問題文】には、アドレス空間配置ランダム化技術について
     “最近のOSでは、こういった攻撃が成功することを抑制するため、アドレス空間配置ランダム化技術が実装されている”
     とあり、OS起動やプロセス実行のたびにスタック・ヒープ・共有ライブラリ・実行ファイル等の配置アドレスをランダム化することが示唆されています。
  4. アドレスが毎回変われば、攻撃者は「ジャンプ先アドレス」を事前に決め打ちできず、図3のベクタに正しい値を埋め込めません。
  5. したがって、「攻撃を成功させるためのジャンプ先アドレスの特定」を不能にすることが、成功率を大きく下げる直接要因となります。

誤りやすいポイント

  • 「ASLR はコード実行そのものを禁止する」と誤解し、制御移譲の鍵となるアドレス特定阻止という本質を外す。
  • スタック破壊検知機能やデータ実行防止機能と混同し、「実行可能/非実行可能の切替」と答えてしまう。
  • “ランダム化でシェルコードを置けなくなる”と表現し、シェルコードの配置自体は可能である点を見落とす。

FAQ

Q: スタック破壊検知機能と ASLR の役割はどう違いますか?
A: 前者は「破壊が検知されたら異常終了」で攻撃を遮断、後者は「制御を渡す先のアドレスを推測不能化」して成功確率を低下させます。
Q: ASLR があればスタックバッファオーバフローは完全に防げますか?
A: いいえ。情報漏えいやブルートフォースでアドレスを割り出されると突破される可能性があり、他の対策との併用が前提です。

関連キーワード: アドレス空間配置、スタックバッファ、リターンアドレス、任意コード実行、メモリ保護

設問3バッファオーバフロー攻撃について、(1)、(2)に答えよ。

(1)本文中の下線①にある、インターネットからWebサーバへのバッファオーバフロー攻撃の対策として、IPSやWAFではどのような処理をするか。25字以内で具体的に述べよ。

模範解答

インジェクションベクタを検知・破棄する。

解説

解答の論理構成

  1. 問題文は「①通信路上にIPSやWAFを設置することによって、インターネットからWebサーバへのバッファオーバフロー攻撃を防止することもできる」と述べています。
  2. IPS/WAF はネットワーク上の通信内容を解析し、攻撃パターンに合致するデータを遮断する製品です。バッファオーバフロー攻撃では、攻撃用のデータ列(本文では「インジェクションベクタ」)がリクエスト中に含まれます。
  3. したがって、IPS/WAF が行う具体的処理は「インジェクションベクタを識別して通信を止める」ことになります。
  4. 以上から模範解答「インジェクションベクタを検知・破棄する。」となります。

誤りやすいポイント

  • IPS/WAF の役割を「暗号化」「アクセス制御」と誤解しやすい。ここではペイロード解析による攻撃データの遮断が本質です。
  • 「バッファオーバフロー全体を防ぐ」とだけ書くと、具体的処理を問う設問意図から外れて減点対象になります。
  • 「パケットを破棄」とだけ書くと、何を根拠に破棄するのかが不明確で説明不足になります。

FAQ

Q: IDS と IPS の違いは関係しますか?
A: 本問は「検知後に遮断」まで行うため、IDS(検知のみ)よりも IPS/WAF(検知+遮断)の動作を答えます。
Q: 「インジェクションベクタ」とは何ですか?
A: バッファオーバフロー攻撃を成立させるために入力データ内へ挿入される悪意ある命令列やアドレス列です。
Q: WAF は本来 Web アプリケーション層の攻撃対策ですが、OS の脆弱性由来のバッファオーバフローにも有効ですか?
A: 攻撃ペイロードが HTTP リクエスト内に載っていれば、シグネチャやルールによって検知・遮断できます。

関連キーワード: IPS, WAF, バッファオーバフロー、インジェクションベクタ、パケット解析

設問3バッファオーバフロー攻撃について、(1)、(2)に答えよ。

(2)本文中の下線②の条件を20字以内で述べよ。

模範解答

ルート特権があること

解説

解答の論理構成

  1. 問題文は、スタックバッファオーバフロー攻撃によって「shellコードにプログラムの制御が移ってしまう」ことを説明したうえで、 「Vulnが実行時に②一定の条件を満たせば、あらゆる命令の実行がshellコードで可能となる」
    と述べています。
  2. ここで「あらゆる命令」とは、OS 全体を支配するようなシステムコールの実行を含みます。OS が備える保護機構を回避して完全掌握するためには、プロセスが最上位権限(スーパーユーザ権限)で動いている必要があります。
  3. 同じ本文中には、スマホに関する説明として
    「スマホのルート特権を利用者が利用できる状態にする行為(以下、ルート特権化という)」
    という定義が登場しており、ルート特権化された端末では「データを盗み出すタイプのマルウェア」が「ルート特権を取得」して多大な影響を及ぼすリスクが強調されています。
  4. 以上より、スタックバッファオーバフローで shell コードが“何でもできる”状態になる条件は、対象プロセス(今回の Vuln プログラム)が「ルート特権」で実行されていることです。
  5. 従って、下線②の条件は「ルート特権があること」となります。

誤りやすいポイント

  • DEP(データ実行防止機能)や ASLR が無効であることを条件と誤解しやすい。本文は「一定の条件」を“権限”の話としており、メモリ保護機構の有無とは別問題です。
  • 「スタック破壊検知機能を含めずにコンパイルしていること」が条件だと考えてしまう。これは攻撃成功率を高める要因であって、“あらゆる命令”を実行できるかどうかを決める条件ではありません。
  • インジェクションベクタの長さや shell コードの配置アドレスを条件と勘違いするケース。これらは攻撃のテクニカルな要件であり、問題文の「一定の条件」の主眼ではありません。

FAQ

Q: なぜ root 権限が必要なのですか?
A: 一般権限のプロセスが乗っ取られても、その権限の範囲でしかシステムコールを発行できません。root 権限で動作していれば、ファイルシステム全体の読み書きや権限変更など“あらゆる命令”が可能になるためです。
Q: DEP や ASLR が有効でも root 権限があれば危険ですか?
A: はい。DEP/ASLR は攻撃成功率や手法を限定する防御策ですが、最終的に bypass され root 権限プロセスを奪われると深刻な被害が発生します。
Q: root 権限で動作するプロセスを減らす理由は?
A: 乗っ取られた際の影響範囲を限定するためです。必要最小限のプロセスのみを root で実行し、他は一般ユーザで実行することで被害を局所化できます。

関連キーワード: ルート権限、バッファオーバフロー、shellコード、権限昇格

設問4〔K社での対策〕について、(1)〜(3)に答えよ。

(1)ルート特権化されていないスマホでは、本文中の下線③の不正な読出しを、OSのファイルシステムがどのような仕様で制限しているか。40字以内で述べよ。

模範解答

あるアプリから、ほかのアプリのデータへのアクセスを禁止するという仕様

解説

解答の論理構成

  1. 【問題文】では「ルート特権化されたスマホでは、“データを盗み出すタイプのマルウェア”が侵入してしまうと、それがルート特権を取得して、③スマホ内に保存されているアプリのデータを不正に読み出してしまうリスクが高まる」と述べています。
  2. 逆に言えば、ルート特権化されていないスマホでは、この“不正な読出し”が OS の仕様で制限されていることになります。
  3. 多くのスマホ OS(Android や iOS)は、アプリごとに専用のユーザ ID を割り当て、アプリのデータ領域をそのユーザ ID だけが読み書きできるようにファイルシステム上で分離しています。この仕組みは一般に「サンドボックス」と呼ばれます。
  4. したがって、通常権限のアプリは「ほかのアプリのデータ」を参照できません。ルート特権を得たときのみ、この UID ベースのアクセス制御を迂回できるため、上記のリスクが顕在化します。
  5. 以上より、解答は「あるアプリから、ほかのアプリのデータへのアクセスを禁止するという仕様」となります。

誤りやすいポイント

  • 「暗号化しているから読めない」と考える誤解
    → 問題が訊いているのはファイルシステムのアクセス制御であり、暗号化の有無は問われていません。
  • 「Mシステムでリモートワイプできるから安全」と答えてしまう
    → リモートワイプは紛失対策であり、アプリ間アクセス制御とは別の話題です。
  • サンドボックス=ウイルス対策ソフトと混同する
    → サンドボックスは OS レベルの権限分離、ウイルス対策ソフトはアプリケーション層の防御で目的が異なります。

FAQ

Q: サンドボックスは Android 特有の概念ですか?
A: いいえ。iOS を含む多くのスマホ OS が同様のアプリ間分離を採用しています。実装方法は異なりますが目的は共通です。
Q: ルート特権化すると必ずしもマルウェアが入るのですか?
A: 必ずではありませんが、OS のアクセス制御を破壊できるためマルウェアが取得した権限の範囲が格段に広がります。リスクが跳ね上がるので企業では禁止されることが一般的です。
Q: MDM でルート化を検知できますか?
A: 多くの MDM 製品はルート化痕跡のスキャン機能を持ちますが、完全検知は困難です。問題文でも「意図しないルート特権化のリスクが残存」と指摘されています。

関連キーワード: サンドボックス、アクセス制御、権限分離、ルート特権、ファイルシステム

設問4〔K社での対策〕について、(1)〜(3)に答えよ。

(2)本文中の下線④について、意図しないルート特権化がどのような状況で起こり得るか。25字以内で述べよ。

模範解答

ルート特権化するマルウェアに感染したとき

解説

解答の論理構成

  1. 【問題文】では、ルート特権化された端末について「“データを盗み出すタイプのマルウェア”が侵入してしまうと、それがルート特権を取得して、③スマホ内に保存されているアプリのデータを不正に読み出してしまうリスクが高まる」と記載されています。
  2. さらに下線④で、「それだけでは、従業員がスマホ利用規程を守ったとしても、“意図しないルート特権化”のリスクが残存する」と述べています。
  3. ①で示したマルウェアは「ルート特権を取得して」被害を拡大する性質を持つため、利用者が故意にルート特権化を行わなくても、マルウェア感染を契機に端末が自動的にルート化されるおそれがあります。
  4. よって「意図しないルート特権化」が起こる状況とは「ルート特権化するマルウェアに感染したとき」であると導けます。

誤りやすいポイント

  • 「利用者が誤操作でルート特権化した場合」と答えてしまう。問題は“意図しない”ルート特権化であり、自ら操作してしまうケースは“意図的”に分類されるため不適切です。
  • 「OSアップデート失敗時」などの技術的トラブルを挙げる誤答。本文はマルウェア感染による権限昇格を具体的に説明しているので、アップデート失敗は根拠不足です。
  • 「PC用ウイルス」と書くミス。同じマルウェアでもスマホ向けである点を押さえる必要があります。

FAQ

Q: ルート特権化するマルウェアはどのように侵入するのですか?
A: 不正アプリのインストールやWebサイト経由のドライブバイダウンロードなど、ユーザ操作を巧みに誘導して侵入し、端末の脆弱性を突いて自動的にルート権限を取得します。
Q: ルート特権化を防ぐには何が効果的ですか?
A: OSとアプリを最新版に保つ、公式ストア以外からのアプリ導入を禁止する、Mシステムで不審なアプリ・挙動を監視するなどが有効です。
Q: バージョンV以降なら完全に安全なのですか?
A: 「データ実行防止機能」や「アドレス空間配置ランダム化技術」で攻撃成功率は下がりますが、ゼロデイ脆弱性を突く攻撃は残るため、運用・監視と組み合わせて対策を強化する必要があります。

関連キーワード: ルート特権、マルウェア、バッファオーバフロー、権限昇格、脆弱性

設問4〔K社での対策〕について、(1)〜(3)に答えよ。

(3)本文中の下線⑤について、確認方法を具体的に20字以内で述べよ。

模範解答

Mシステムを使って確認する。

解説

解答の論理構成

  1. 【問題文】には、スマートフォン管理用として「スマホを遠隔で管理するシステム(以下、Mシステムという)」を導入し、 “スマホのOSやアプリのバージョンなどの構成情報の管理” まで実施できると明記されています。
  2. さらに〔K社での対策〕で、“スマホのOSのバージョンをK社が確認する運用策を実施することにした” とあります。
  3. すでに “構成情報の管理” 機能を備えた「Mシステム」が稼働しているため、追加の仕組みを用意せずとも同システムでバージョン確認が完結します。
  4. よって、下線⑤の具体的な確認方法は「Mシステムを使って確認する。」となります。

誤りやすいポイント

  • “Bシステム用のアプリ” と混同し、メールやグループウェアの画面から手動確認と答えてしまう。
  • 既存の資産管理台帳や申請書を想起し、紙ベースの確認策を挙げてしまう。
  • 「Mシステム」の役割が“遠隔ワイプ”と“紛失時対策”だけだと思い込み、バージョン情報収集機能を見落とす。

FAQ

Q: 社員に自己申告させる方法では不十分ですか?
A: 不十分です。自己申告では偽装や申告漏れが起き得ますが、Mシステムであれば端末から取得した実データを自動的に収集できます。
Q: Mシステムに登録されていない私物端末はどう扱いますか?
A: そもそも登録されていない端末はBシステムに接続させない運用とし、利用規程違反として遮断・警告を行います。
Q: OSアップデートを促す仕組みも必要ですか?
A: はい。確認だけでなく、非準拠端末を検出した際にアップデートを強制または利用停止にするポリシー連携が推奨されます。

関連キーワード: モバイルデバイス管理、バージョン管理、バッファオーバフロー、アドレス空間配置ランダム化、データ実行防止
戦国ITクイズ機能

\ せっかくなら /

情報処理安全確保支援士
クイズ形式で学習しませんか?

クイズ画面へ遷移する

すぐに利用可能!

©︎2026 情報処理技術者試験対策アプリ

このサイトについてプライバシーポリシー利用規約特商法表記開発者について