情報処理安全確保支援士試験 平成29年度 秋期 午後2 問1 設問1
問1 IoTシステムのセキュリティ対策に関する次の記述を読んで、設問1〜3に答えよ。
Z社は、従業員数100名のファブレス企業であり、ネットワークカメラを使ったクラウド型ビデオ監視システム(以下、Zシステムという)を開発し、個人及び小規模事業者向けに提供している。Zシステムは、留守宅や事務所を監視する防犯用途での利用が多いが、最近では、外出中にペットの様子を確認するなど、用途が広がっている。Zシステムの概要を図1に示す。
Z社には、本社機能と、次の四つの部がある。
・開発部:製品及びサービスの企画、要件定義及び基本設計を行う。詳細設計及び製造は外部に委託している。
・品質保証部:委託先から納入される製品の受入テストを行い、製品の品質管理を統括している。
・運用統括部:Zクラウドの運用管理を統括する。運用管理は外部に委託している。
・営業部:営業、マーケティング、カスタマセンタにおける利用者サポートなどの業務を統括する。カスタマセンタの業務は、外部に委託している。
〔Zカメラの詳細〕
Zカメラの仕様は、次のとおりである。
・組込みOSであるL-OSを使用しており、無線LANを使用して、インターネット経由でZクラウドに接続される。
・全ての操作は、ZアプリからZクラウド経由で行われる。動画撮影、動画参照を含む操作インタフェースはZカメラ自体にはない。ただし、無線LAN接続の設定は、ZアプリからBluetooth経由で行われる。
・HDMI、USBなどの物理インタフェースがなく、外部記憶媒体は接続できない。
・撮影した動画はZクラウドに送信され、大容量ストレージに保管される。
・バッファ用の小規模ストレージがあるが、Zクラウドに送信した動画はそこから速やかに消去される。
・無線LAN経由では外部からの要求を待ち受けないようになっている。
〔Zクラウドの詳細〕
Zクラウドは、Zカメラ操作及び動画管理のアプリケーションを提供するSaaS型のサービスであり、パブリッククラウド事業者W社のIaaSサービス上で稼働している。Zクラウドの構築と運用は、アプリケーション開発・運用サービスを提供しているV社に委託している。Zクラウドの仕様は、次のとおりである。
(1)アプリケーションプログラムの種類と呼出し
WebサーバのURLに応じて、Webアプリケーションサーバ上の異なるアプリケーションプログラムが呼び出される。アプリケーションプログラムの一覧を表1に示す。
(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カメラの利用者を変更するとともに、変更されたことを元の利用者に電子メールを送って通知する。
パスコードはカスタマセンタを通じて申請することによって、再生成することができる。
(4)動画の保管
Zクラウドの大容量ストレージには、利用者IDごとのフォルダが設定され、Zカメラ1台当たり12時間分の動画を無償で保管できる。さらに、有償オプションで720時間分に容量を拡大できる。動画は、暗号化されずに保管される。
(5)接続・通信
・インターネットからWebサーバへの接続は、HTTP over TLS(以下、HTTPSという)だけが許可されている。
・WebサーバとWebアプリケーションサーバ間はHTTPを使って、WebアプリケーションサーバとDBサーバ間はDBMS固有のプロトコルを使って通信する。
・ZカメラにはカメラIFのURLが、ZアプリにはアプリIFのURLが、それぞれ組み込まれており、Zカメラ及びZアプリはWebサーバにHTTPSのPOSTメソッドを用いて通信する。
・Zカメラは、カメラIFとの通信ごとに、Zカメラのシリアル番号、初期設定用パスコードのハッシュ値、及びファームウェアのバージョン情報を送信する。
・ZクラウドからZカメラへの各種操作コマンド及び設定情報の送信とファームウェアの配信は、Zカメラが定期的にカメラIFにアクセスすることによって行われる。
〔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に結びつけて保管する。
(3)Zカメラの無線LAN接続の設定
Zアプリは、BluetoothのシリアルポートプロファイルでZカメラに接続し、Zカメラの無線LAN接続の設定を行う。この際、Zカメラは利用者が入力したZカメラのシリアル番号と初期設定用パスコードを使って利用者を認証する。
(4)Zカメラの操作と撮影した動画の参照
Zアプリは、利用者認証に成功すると、カメラ操作又は動画参照のいずれかを選択する画面を表示する。
カメラ操作が選択された場合、利用者IDに関連付けて登録されているZカメラの一覧を表示する。利用者は操作するカメラを一覧から選択し、操作を指示する。Zアプリは、アプリIFに要求を送信し、結果を表示する。
動画参照が選択された場合、動画の一覧を表示する。利用者は一覧から動画を選択し、再生やダウンロードなどの操作を指示する。Zアプリは、アプリIFに要求を送信し、結果を表示する。
〔IoT機器のマルウェア感染〕
ある日、Z社のカスタマセンタに外部のセキュリティ研究者X氏から、Zカメラにセキュリティ上の脆弱性があり、マルウェアMに感染するリスクがあるという連絡があった。国内外の多数のIoT機器が、マルウェアMに感染してボット化し、攻撃者に悪用されて大規模DDoS攻撃を引き起こしているので、Zカメラは速やかに対応する必要があるとのことであった。
これを受けてZ社では、対策チームを編成した。品質保証部のB主任が責任者として選任され、部下のE君とともに対応することになった。指摘を受けたZカメラの脆弱性について、B主任がX氏から得た情報は、次のとおりである。
・ZカメラのL-OSにログインできる管理者アカウントが無効化されていない。
・工場出荷時に設定された管理者アカウントのパスワードが単純であり、さらに、利用者が変更することもできない。
マルウェアMの感染の仕組みを図2及び表2に示す。
〔Zカメラのセキュリティ検査と対策〕
B主任は、マルウェアM又はその亜種にZカメラが感染するおそれがあるかを調べるため、図2と表2の情報を基にしたセキュリティ検査を、セキュリティ専門業者のD社に依頼した。D社によるセキュリティ検査の内容と結果の概要を表3に示す。
a:SYNスキャン
サイバー攻撃の対象となるコンピュータへの事前調査にポートスキャンがありますが、ポートスキャンのうちコンピュータに記録を取られずに調査を行う手法をステルススキャンといいます。
ステルスキャンのうち、表3のようにSYNを送信し、応答結果によりポートの開き状態を確認する方法をSYNスキャンといいます。SYNスキャンでは、応答結果でACKを受信した場合には、RSTを送信して接続を中断します。これによりコンピュータにログが残らないようにしています。
①について、ポートが開いている場合と閉じている場合に期待される応答結果を、それぞれ解答群の中から全て選べ:空いている場合→SYN ACK受信、閉じている場合→RST ACK受信、応答なし
TCPの3ウェイハンドシェイクによるコネクション確立は以下の手順のとおりです。
- クライアントがサーバにコネクション確立要求(SYN)を送信する
- (SYN)を受信したサーバは、応答(ACK)と、コネクション確立要求(SYN)を合わせた(SYN ACK)を送信する
- (SYN ACK)を受信したクライアントは、(ACK)を送信する
上記は、サーバの該当するポートが開いている場合で、ポートが閉じている場合は、手順2でサーバは(RST ACK)を送信するか、応答を返しません。
bに入れるプロセスの動作を、30字以内で具体的に述べよ:HTTPを用いて、インターネット上のサーバと通信
「項番5で起動したプロセス」とは外部サーバからダウンロードしたマルウェアMのことです。そのマルウェアMが「〜できること」とは、表2(マルウェアMの感染の仕組み)にある項番1「HTTPを用いてC&Cサーバと通信し、ボットとして活動する」ことになります。
検査結果から、ZカメラがマルウェアM又はその亜種に感染するおそれがあることが判明した。
表3の項番1の検査結果について、B主任が開発部に確認したところ、委託先が開発時に使ったデバッグ用プログラムとその起動スクリプトが、出荷版のファームウェアにそのまま残されていたことが分かった。B主任は、既に出荷済みのZカメラがあることを配慮し、②対策を関係部署に依頼した。
②について、出荷済みのZカメラに対する対策を、60字以内で具体的に述べよ。:デバッグ用プログラムとその起動スクリプトを削除したファームウェアを作成し、Zカメラに配布する。
問題文の直前にある「委託先が開発時に使ったデバッグ用プログラムとその起動スクリプトが、出荷版のファームウェアにそのまま残されていた」のとおり、出荷済みのZカメラに対する対策としては、デバッグ用プログラムとその起動スクリプトを除いたファームウェアに入れ替えることです。
さらに、Zカメラの脆弱性がほかにないかD社に調査を依頼した。発見された脆弱性は開発部で対処した。
〔Zシステムにおけるリスクの特定〕
Z社では、Zカメラに脆弱性が複数あったことを受け、Zシステムの脆弱性がほかにないことを確認することにした。Zカメラについては対処したので対象外とし、Zシステムの構成に従って、次を対象とした脅威について、D社に調査を依頼した。
・ZカメラとカメラIF間の通信(以下、カメラIF通信という)
・Zクラウド
・WebブラウザとWeb IF間の通信
・Zアプリ
・ZアプリとアプリIF間の通信
【出典:情報処理安全確保支援士試験 平成29年度 秋期 午後2問1(一部、加工あり)】