IoTシステムのセキュリティ対策【情報処理安全確保支援士試験 平成29年度 秋期 午後2 問1 設問3】

情報処理安全確保支援士試験 平成29年度 秋期 午後2 問1 設問3

問1 IoTシステムのセキュリティ対策に関する次の記述を読んで、設問1〜3に答えよ。

(略)

f:id:aolaniengineer:20200314141141p:plain

(略)

〔Zクラウドの詳細

(略)

(1)アプリケーションプログラムの種類と呼出し

 WebサーバのURLに応じて、Webアプリケーションサーバ上の異なるアプリケーションプログラムが呼び出される。アプリケーションプログラムの一覧を表1に示す。

f:id:aolaniengineer:20200314141227p:plain

(2)利用者情報の登録・変更

 利用者がZカメラを登録する際に、利用者情報の登録が済んでいないと、利用者情報の登録を求められる。利用者は、Webブラウザを用いてWeb IFにアクセスし、次の利用者情報を登録する。

・利用者情報:氏名、住所、郵便番号、電話番号、電子メールアドレス、利用者ID及びパスワード

 登録時には自動的に10進数12桁の利用者番号が付与される。利用者番号は、Web IFの利用者登録完了画面上に表示される。また、利用者登録完了通知書に記載され、登録した住所に郵送される。

 利用者情報と利用者番号は、DBMSで暗号化され、DBに格納される。ここで、パスワードは256ビットのハッシュ値に変換された後に暗号化されて格納される。DBへのアクセスは、DBアクセスログに記録される。

 利用者は、Webブラウザを用いてWeb IFにアクセスし、利用者情報の変更を行うことができる。利用者情報が変更された場合、電子メールで利用者に通知される。

(3)Zカメラの登録

 利用者は、Webブラウザを用いてWeb IFにアクセスし、登録した利用者IDとパスワードでログインした後、利用者IDごとに10台までのZカメラを登録できる。登録時に入力する項目は、Zカメラのシリアル番号の英数字16桁と、製品パッケージに同胞されている初期設定用パスコードの英数字24桁である。シリアル番号は利用者番号とともに、DBMSで暗号化され、DBに格納される。パスコードは256ビットのハッシュ値に変換された後に暗号化されて格納される。

 譲渡や転売などの理由で、登録済みのZカメラが他の利用者によって登録された場合、Zカメラの利用者を変更するとともに、変更されたことを元の利用者に電子メールを送って通知する。

 パスコードはカスタマセンタを通じて申請することによって、再生成することができる。

(略)

〔Zアプリの詳細

 Zアプリの仕様は、次のとおりである。

(1)初回の利用者認証

 Zアプリは、モバイル端末にインストールされると、自動的にUUIDバージョン4形式の128ビットのデータ(以下、UUIDという)を生成し、端末内に保存する。

 Zアプリの初回利用時には、次のように利用者認証が行われ、ZクラウドにUUIDを通知する。

・Zアプリは、Web IFで登録した利用者IDとパスワードを利用者に入力させる。

・Zアプリは、アプリIFに利用者ID、パスワード及びUUIDを送信する。

・アプリIFは、利用者IDとパスワードで認証した後、認証に成功した場合はUUIDを利用者IDに結びつけて保管する。

・同一利用者による複数端末の使用を考慮し、Zクラウドでは、利用者IDごとに最大5個のUUIDが保管され、5個を超えた場合は古いUUIDから順に上書きされる。

(2)2回目以降の利用者認証

 Zアプリの2回目以降の利用時には、次のように利用者認証が行われる。

・Zアプリは、アプリIFにUUIDを送信する。

・前回認証成功以降に利用者情報の変更がなかった場合、UUIDを用いて認証される。

前回認証成功以降に利用者情報の変更があった場合、又は結びつけられた利用者IDがなかった場合は、Zアプリは再度、利用者IDとパスワードを利用者に入力させ、アプリIFに利用者ID、パスワード及びUUIDを送信する。アプリIFは、利用者IDとパスワードで認証し、認証が成功した場合、UUIDを利用者IDに結びつけて保管する。

(略)

(4)Zカメラの操作と撮影した動画の参照

 Zアプリは、利用者認証に成功すると、カメラ操作又は動画参照のいずれかを選択する画面を表示する。

 カメラ操作が選択された場合、利用者IDに関連付けて登録されているZカメラの一覧を表示する。利用者は操作するカメラを一覧から選択し、操作を指示する。Zアプリは、アプリIFに要求を送信し、結果を表示する。

 動画参照が選択された場合、動画の一覧を表示する。利用者は一覧から動画を選択し、再生やダウンロードなどの操作を指示する。Zアプリは、アプリIFに要求を送信し、結果を表示する。

(略)

〔Zクラウドに対する脅威

 Zクラウドに対する脅威と対策状況について、D社から表5が提示された。

f:id:aolaniengineer:20200317165659p:plain

④について、アクセス元の端末を制限する方法としてZシステムに適した方法を、25字以内で具体的に述べよ。:クライアント証明書を用いた端末認証を行う。

「管理者アカウントのなりすまし」の脅威に対する対策について、利用者認証に加えてアクセス元の端末を制限する具体的な方法が問われています。

Zクラウドの管理者については、図1の注記2に、「Zクラウドの管理者は、管理用端末を用いて、インターネット経由でZクラウドを運用管理している。」「通常時:管理用端末を用いて、Z社内又は委託先社内で実施」 「緊急時:貸与された管理用モバイル端末を用いて、自宅で実施することも可」とあるように、アクセス元の端末は管理者が保有する端末のみになるようです。

では、その端末を特定した上で、それ以外の端末からのアクセスを拒否するにはどうすればいいでしょう。

Zクラウドにインターネット経由でアクセスする端末について、通常時であればZ社又は委託先社内というように特定のグローバルIPアドレスからのアクセスとして特定できます。ただ、緊急時には自宅からもアクセスできるため、グローバルIPアドレスでの特定はできそうにありません。

ネットワーク層より上位層での特定が必要ですが、このような場合はクライアント証明書を用いた端末認証で制限することができそうです。

 次は、表5についての、B主任とE君の会話である。

B主任:Zクラウドにおけるリスクと、表5の想定される脅威の関係を教えてください。

E君:動画の漏えいの原因としては、表5の整理番号A1、A2、C1、C2、D1、D2の脅威が考えられます。また、ZクラウドのWebサーバ上にあるコンテンツの予期せぬ変更の原因としては、表5の整理番号(f:A2、C2、D1、D2)の脅威が考えられます。

f:A2、C2、D1、D2

ZクラウドのWebサーバ上にあるコンテンツの変更については、図1の注記3に、「Webサーバのコンテンツ、及びWebアプリケーションのプログラムの変更は、Zクラウドの管理者だけが実施できる。これらの変更作業は全てログに記録される。」とあるように、管理者だけが実施できるようです。

したがって、表5の脅威のうち、管理者アカウントによる操作が可能となるものを考えます。

A2「管理者アカウントのなりすまし」の脅威が該当するのは明白でしょう。

C1「Webアプリケーションサーバ上のアプリケーションプログラムの脆弱性を突いた攻撃」はどうでしょう。

Webアプリケーションサーバ上のアプリケーションプログラムは、表1からWeb IF、アプリIF、カメラIFがあります。この中でコンテンツに関するのは、アプリIFのZアプリからの動画参照、カメラIFのZカメラからの動画受信くらいです。

Zアプリについては、「Zアプリは、利用者認証に成功すると、カメラ操作又は動画参照のいずれかを選択する画面を表示する。」とあるように、動画参照のみで変更はできなさそうです。

したがって、C1の脅威がコンテンツ変更の原因にはならなさそうです。

C2「OSやミドルウェアなどのシステム基盤の脆弱性を突いた攻撃」は、管理者アカウントが乗っ取られる可能性があるため、該当するでしょう。

D1「業務委託先を含めた従業員・役員(以下、内部者という)による犯行」、D2「内部者の過失」は、管理者アカウントとして操作可能となる脅威のため、該当するでしょう。

 次は、表5の整理番号A1についてのB主任とE君の会話である。

B主任:まず、対策状況を確認したいので、Web IF及びアプリIFの利用者IDとパスワードを用いた認証に関する不正ログイン対策について説明してください。

E君:どちらも、認証に失敗するごとに、その利用者IDでログインできない期間を5秒間から最大24時間まで指数関数的に長くしていき、成功すると元に戻す仕組み(以下、ログイン制限という)によって不正ログインを防いでいます。

B主任:最近は、ほかのWebサイトから漏えいした利用者IDとパスワードのリストを悪用した、いわゆるリスト型攻撃が増えているそうです。ブルートフォース攻撃ならログイン制限で防げる可能性が高いですが、⑤リバースブルートフォース攻撃やリスト型攻撃は、ログイン制限では防ぐのが難しいというのがD社の見解です。

リバースブルートフォース攻撃の攻撃手法を、40字以内で述べよ。:利用者IDを変更しながら、よく用いられるパスワードでログインを試行する。

ブルートフォース攻撃が、一つの利用者IDに対してパスワードを変えて総当たりで試すのに対し、リバースブルートフォース攻撃はその逆で、一つのパスワードに対して利用者IDを変えて総当たりで試すものです。

⑤について、ログイン制限では防ぐのが難しい理由を、40字以内で述べよ。:一つの利用者IDでのログイン試行が1回ないしは少ない回数しか行われないから

リバースブルートフォース攻撃は、上記のとおり、試行する利用者IDが変わるので、ログイン制限の対象にならないことになります。

リスト型攻撃は、漏えいした利用者IDとパスワードのリストによる試行のため、毎回利用者IDが変わるため、同様にログイン制限の対象にはなりません。

E君:なるほど。それでは、利用者IDとパスワードに加えて、ほかの利用者情報、例えば電話番号や電子メールアドレスも使って認証するように変更すれば、防げるのではないでしょうか。

B主任:その方法は、リバースブルートフォース攻撃には効果がありますが、⑥リスト型攻撃については、防げない場合があります

⑥について、防げないのはどのような場合か。50字以内で具体的に述べよ。:ほかのWebサイトから漏えいした情報に電話番号や電子メールアドレスが含まれていた場合

リスト型攻撃は、利用者が、どのWebサイトに対しても同じ利用者ID、パスワードを用いることが多いことを突いた攻撃です。電話番号や電子メールアドレスなど客観的情報はもちろんのこと、本人しかわからない記憶情報も同じキーワードを用いることが多いでしょう。

したがって、リスト型攻撃に対しては、認証するパラメータを複数にしても防げない場合があります。

E君:確かにそうですね。では、利用者IDとパスワードに加えて、⑦Zクラウドと各利用者だけが知っていて、利用者以外が入手するのが困難な情報で追加認証すれば、安全性を高められます。

⑦について、Zカメラが譲渡や転売される可能性を考慮に入れて、追加認証する適切な方法を、25字以内で述べよ。:利用者番号の入力を求める。

Zクラウドと各利用者だけが知っていて、利用者以外が入手するのが困難な情報」とは何かを問題文から探します。

すると「(利用者情報の)登録時には自動的に10進数12桁の利用者番号が付与される」とあり、まさしく「利用者番号」は、利用者以外が入手できない情報でしょう。

Zカメラが譲渡や転売された場合でも、新たな利用者番号によってZカメラと紐付けされることになりそうです。

B主任:そうですね。しかし、利用者にとっては、ログインするたびに追加認証を求められるのは面倒ですから、必要な場合だけに限定しましょう。平常時は、利用者はZアプリを使ってZクラウドにログインします。利用者IDとパスワードによる認証が必要となるのはごく限られた状況だけなので、平均すると利用者1人当たり、年1回程度です。

E君:分かりました。リバースブルートフォース攻撃やリスト型攻撃を念頭に置いて、⑧平常時と異なる状況が発生していると判断される場合において、追加認証する方法を考えてみます。

⑧について、Zクラウドにおけるログイン認証の状況を踏まえて、平常時と異なる状況だと判断されるのはどのような場合か。40字以内で述べよ。:全利用者の単位時間当たりの認証失敗がしきい値を超えた場合

「平常時と異なる状況」という言葉の使い方が、利用者情報の変更があった場合と、何かしらの攻撃にあっている状況という二通りの意味があるように考えてしまい、混乱します。

利用者IDとパスワードによる認証が必要となるのはごく限られた状況だけなので、平均すると利用者1人当たり、年1回程度です。」とは、Zアプリの「2回目以降の利用者認証」に「前回認証成功以降に利用者情報の変更があった場合、又は結びつけられた利用者IDがなかった場合は、Zアプリは再度、利用者IDとパスワードを利用者に入力させ、アプリIFに利用者ID、パスワード及びUUIDを送信する。アプリIFは、利用者IDとパスワードで認証し、認証が成功した場合、UUIDを利用者IDに結びつけて保管する。」とあるように、利用者情報の変更があった場合以外は、利用者ID、パスワードを入力しません。

これをリバースブルートフォース攻撃やリスト型攻撃が発生している状況を判断して、追加認証を行わせるようにします。

これらの攻撃では、多数の認証失敗が発生します。それも利用者IDを変えて試行するため、全利用者を対象に、単位時間当たりの認証失敗をトリガに判断できそうです。

 表5の整理番号C1については、開発委託先との契約に⑨必要な条項を追加することにした上で、納品時にWebアプリケーションプログラムの脆弱性検査を実施することが決まった。

⑨について、委託契約に盛り込むべき条項を、25字以内で具体的に述べよ。:脆弱性検査合格を受入条件とする。

C1「Webアプリケーションサーバ上のアプリケーションプログラムの脆弱性を突いた攻撃」に対し、「納品時にWebアプリケーションプログラムの脆弱性検査を実施することが決まった」ということです。

したがって、開発委託先との契約には、この脆弱性検査の合格が受入条件であることを盛り込むことになります。

 表5の整理番号C2について、運用統括部に確認した結果は、次のとおりである。

・OS、ミドルウェアなど、Zクラウドのシステム基盤については、V社が毎年、年度末にセキュリティ専門業者の脆弱性検査を受けている。

・脆弱性検査の結果、重大な問題が指摘された場合、V社は、定期メンテナンス時に、脆弱性修正プログラムを適用するか、又は回避策を実装している。

 D社からは、脆弱性を突いた攻撃が頻繁に発生する昨今の状況を踏まえると、⑩構成管理を導入した脆弱性対応の仕組みを構築する必要があるとの指摘を受けた。B主任は、運用統括部に、構成管理と脆弱性対応の仕組みを見直すよう依頼した。

⑩について、構成管理を導入していない場合の問題点を、40字以内で述べよ。:脆弱性がZ社のシステムに影響するかを短時間で判断できない。

構成管理とは、システムを構成するハードウェア、ソフトウェアを管理することです。ソフトウェアについては、各ソフトウェアのバージョンやセキュリティパッチの適用状況を最新情報として管理することになります。

構成管理を行うことで、新たな脆弱性が発見されたり、攻撃などのインシデントが派生した際に、影響範囲を特定し、対処作業を迅速に進めることが可能となります。

 次は、表5の整理番号D1、D2についてのE君とB主任の会話である。

E君:利用者は、自分のZカメラで撮影した動画が、他者に見られることを心配しています。利用者の立場からすると、内部者に見られることにも不安を感じるので、故意か過失かにかかわらず、内部者にも見ることができないような仕組みが必要です。

B主任:⑪動画も暗号化すべきですね。早急に検討を進めてください。

⑪について、表5の整理番号D1、D2への対策として、共通鍵暗号方式による暗号化を検討する。内部者のうち、特に、Zクラウドの管理者に見られないことを重視した場合、共通鍵の生成、動画の暗号化及び復号を行うZシステムの構成要素を、それぞれ図1中から選んで答えよ。また、その場合の共通鍵の安全な共有方法を、25字以内で述べよ。:

共通鍵は利用者のみ知っていて、他の利用者はもちろん、管理者に知られないようにすることが必要です。

・共通鍵の生成を行うZシステムの構成要素:Zアプリ

→利用者側にあるものはZアプリとZカメラです。共通鍵の生成としては、Zアプリで行うのが適当です。

・動画の暗号化を行うZシステムの構成要素:Zカメラ

・動画の復号を行うZシステムの構成要素:Zアプリ

→動画の暗号化は、動画撮影時点であるZカメラで暗号化し、動画を見るZアプリで復号します。

・共通鍵の安全な共有方法:Bluetooth経由で受け渡す。

→鍵の交換は、Zクラウドを介さないBluetooth経由で行えばいいでしょう。

 Z社は、D社の協力の下、ほかの脅威についても検討し、対策を立案した。開発部は、これらの対策を取り入れた次期バージョンの開発に着手した。

【出典:情報処理安全確保支援士試験 平成29年度 秋期 午後2問1(一部、加工あり)】