問1 IoT システムのセキュリティ対策
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 に示す。
検査結果から,Z カメラがマルウェア M 又はその亜種に感染するおそれがあることが判明した。
表 3 の項番 1 の検査結果について,B 主任が開発部に確認したところ,委託先が開発時に使ったデバッグ用プログラムとその起動スクリプトが,出荷版のファームウェアにそのまま残されていたことが分かった。B 主任は,既に出荷済みの Z カメラがあることに配慮し,②対策を関係部署に依頼した。
さらに,Z カメラの脆弱性がほかにないか D 社に調査を依頼した。発見された脆弱性は開発部で対処した。
〔Z システムにおけるリスクの特定〕
Z 社では,Z カメラに脆弱性が複数あったことを受け,Z システムの脆弱性がほかにないことを確認することにした。Z カメラについては対処したので対象外とし,Z システムの構成に従って,次を対象とした脅威について,D 社に調査を依頼した。
- Z カメラとカメラ IF 間の通信(以下,カメラ IF 通信という)
- Z クラウド
- Web ブラウザと Web IF 間の通信
- Z アプリ
- Z アプリとアプリ IF 間の通信
〔カメラ IF 通信に対する脅威〕
カメラ IF 通信に対する脅威については,次のように調査し,対応した。
(1) 想定される攻撃と検査方法
D 社からは,カメラ IF 通信について,想定される攻撃が幾つか提示された。具体的な攻撃とその攻撃が成功するかの検査方法を表 4 に,検査システムの概要を図 3 に示す。
D 社は,一般的な無線 LAN に対する攻撃としては,暗号化されていない又は暗号強度の弱い無線 LAN の盗聴があることを説明した。これに対し,B 主任は,カメラ IF 通信は,eによって暗号化されているので,通信内容を盗聴されるおそれがないことを説明した。
(2) 検査システムとサーバ証明書
検査では,次の二つのサーバ証明書をプライベート認証局で発行し,TLS 終端装置で一つずつ使用した。
- 証明書 1:サブジェクトのコモンネーム(以下,CN という)が Z クラウドの FQDN である証明書
- 証明書 2:CN が,Z クラウドの FQDN と異なる証明書
なお,検査に当たっては,③プライベート認証局のルート証明書を,テスト対象の Z カメラに,信頼されたルート証明機関のものとして登録していない。
(3) 検査結果と対応
- 表 4 の項番 1 の検査結果:証明書 1 を使用した場合は通信でき,さらに通信内容を復号して確認することができた。しかし,証明書 2 を使用した場合は通信できなかった。
- 表 4 の項番 2 の検査結果:証明書 1 を使用した場合は,偽 Z クラウド環境に接続させて,Z カメラの操作と動画の受信ができた。しかし,証明書 2 を使用した場合は,偽 Z クラウド環境に接続させられなかった。
D 社は,検査結果を受けて,表 4 の項番 1,2 の攻撃について Z カメラにおける問題点と対策案をまとめ,B 主任に報告した。B 主任はこの報告を基に,対策を関係部署に依頼した。
〔Z クラウドに対する脅威〕
Z クラウドに対する脅威と対策状況について,D 社から表 5 が提示された。
次は,表 5 についての,B 主任と E 君の会話である。
- B 主任:Z クラウドにおけるリスクと,表 5 の想定される脅威の関係を教えてください。
- E 君:動画の漏えいの原因としては,表 5 の整理番号 A1,A2,C1,C2,D1,D2 の脅威が考えられます。また,Z クラウドの Web サーバ上にあるコンテンツの予期せぬ変更の原因としては,表 5 の整理番号 f の脅威が考えられます。
次は,表 5 の整理番号 A1 についての B 主任と E 君の会話である。
- B 主任:まず,対策状況を確認したいので,Web IF 及びアプリ IF の利用者 ID とパスワードを用いた認証に関する不正ログイン対策について説明してください。
- E 君:どちらも,認証に失敗するごとに,その利用者 ID でログインできない期間を 5 秒間から最大 24 時間まで指数関数的に長くしていき,成功すると元に戻す仕組み(以下,ログイン制限という)によって不正ログインを防いでいます。
- B 主任:最近は,ほかの Web サイトから漏えいした利用者 ID とパスワードのリストを悪用した,いわゆるリスト型攻撃が増えているそうです。ブルートフォース攻撃ならログイン制限で防げる可能性が高いですが,⑤リバースブルートフォース攻撃やリスト型攻撃は,ログイン制限では防ぐのが難しいというのが D 社の見解です。
- E 君:なるほど。それでは,利用者 ID とパスワードに加えて,ほかの利用者情報,例えば電話番号や電子メールアドレスも使って認証するように変更すれば,防げるのではないでしょうか。
- B 主任:その方法は,リバースブルートフォース攻撃には効果がありますが,⑥リスト型攻撃については,防げない場合があります。
- E 君:確かにそうですね。では,利用者 ID とパスワードに加えて,⑦Z クラウドと各利用者だけが知っていて,利用者以外が入手するのが困難な情報で追加認証すれば,安全性を高められます。
- B 主任:そうですね。しかし,利用者にとっては,ログインするたびに追加認証を求められるのは面倒ですから,必要な場合だけに限定しましょう。平常時は,利用者は Z アプリを使って Z クラウドにログインします。利用者 ID とパスワードによる認証が必要となるのはごく限られた状況だけなので,平均すると利用者 1 人当たり,年 1 回程度です。
- E 君:分かりました。リバースブルートフォース攻撃やリスト型攻撃を念頭に置いて,⑧平常時と異なる状況が発生していると判断される場合において,追加認証する方法を考えてみます。
表 5 の整理番号 C1 については,開発委託先との契約に⑨必要な条項を追加することにした上で,納品時に Web アプリケーションプログラムの脆弱性検査を実施することが決まった。
表 5 の整理番号 C2 について,運用統括部に確認した結果は,次のとおりである。
- OS,ミドルウェアなど,Z クラウドのシステム基盤については,V 社が毎年,年度末にセキュリティ専門業者の脆弱性検査を受けている。
- 脆弱性検査の結果,重大な問題が指摘された場合,V 社は,定期メンテナンス時に,脆弱性修正プログラムを適用するか,又は回避策を実装している。
D 社からは,脆弱性を突いた攻撃が頻繁に発生する昨今の状況を踏まえると,⑩構成管理を導入した脆弱性対応の仕組みを構築する必要があるとの指摘を受けた。B 主任は,運用統括部に,構成管理と脆弱性対応の仕組みを見直すよう依頼した。
次は,表 5 の整理番号 D1,D2 についての E 君と B 主任の会話である。
- E 君:利用者は,自分の Z カメラで撮影した動画が,他者に見られることを心配しています。利用者の立場からすると,内部者に見られることにも不安を感じるので,故意か過失かにかかわらず,内部者にも見ることができないような仕組みが必要です。
- B 主任:⑪動画も暗号化すべきですね。早急に検討を進めてください。
Z 社は,D 社の協力の下,ほかの脅威についても検討し,対策を立案した。開発部は,これらの対策を取り入れた次期バージョンの開発に着手した。
出題趣旨(IPA)
昨今,Miraiボットネットに代表される,今までに類を見ないほど大量のIoT機器から成るボットネットによる,DDoS攻撃が発生している。ネットワークカメラやインターネットルータ,ネットワークストレージなどのメーカが,これらへの対策として販売停止,あるいはファームウェア更新を実施する必要に追われたのは記憶に新しい。IoTマルウェアの感染手法はITシステムにおいては古典的であるとも言えるが,ITシステムにおいては常識になっているセキュリティ対策が,IoT機器では実施されていないことが多いという点と,IoT機器の脆弱性が悪用されて,大規模な攻撃が発生したという点で,注目に値する。本問では,IoTシステムについて,ネットワークカメラを使ったビデオ監視システムを題材に,セキュリティ検査を実施し,セキュリティ対策を立案する能力を問う。
採点講評(問全体・IPA)
問1では,クラウドサービスとIoTを組み合せたシステムを題材に,セキュリティについての検査と対策立案について出題した。
設問と解答例
表 3 中の a に入れる検査項目の名称を答えよ。
〔a〕解答例
- SYNスキャン
解説
本文の根拠
表3 項番1 検査内容
1〜65535 の TCP ポートに SYN を送信し,応答結果からポートが開いているかどうか確認する。
表3 項番1 検査結果
TCP ポート 2323 が開いていた。
表3 の項番1 の検査内容は,1〜65535 の TCP ポートに SYN を送り,その応答結果からポートが開いているかどうかを確認するというものである。TCP の接続は SYN,SYN ACK,ACK の 3 ウェイハンドシェークで確立する(RFC 793)。接続を確立せず,最初の SYN への応答だけでポートの状態を判定する検査を,SYN スキャンという。解答例は“SYNスキャン”である。
検査結果の“TCP ポート 2323 が開いていた。”は,表2 の項番2 でマルウェア M が接続を要求するポート(23,2323,22,6789)のうち 2323 が開いていたということである。項番2 以降の“プロトコル確認”“ログイン試行”は,開いていたポートを見つけたあとの検査で,項番1 の名称にはならない。
字数の制限はない。“ポートスキャン”と書くと検査の種類を表すだけで,SYN を送るという検査内容そのものは出ない。検査内容に“SYN を送信し”とあるので,名称にも SYN を入れる。
採点講評(IPA)
設問1(1)及び設問2(1)は,いずれも知識問題であり,正答率が高かった。情報セキュリティに関する一般的な用語については,受験者の知識が高いことがうかがえる。
表 3 中の下線①について,ポートが開いている場合と閉じている場合に期待される応答結果を,それぞれ解答群の中から全て選び,記号で答えよ。 解答群 ア ACK 受信 イ FIN ACK 受信 ウ FIN 受信 エ RST ACK 受信 オ RST 受信 カ SYN ACK 受信 キ SYN 受信 ク 応答なし
〔開いている場合〕解答例
- カ
〔閉じている場合〕解答例
- エ,ク
解説
本文の根拠
表3 項番1 検査内容
1〜65535 の TCP ポートに SYN を送信し,応答結果からポートが開いているかどうか確認する。
表3 項番1 検査結果
TCP ポート 2323 が開いていた。
検査は SYN を送るだけなので,期待される応答は SYN への返事に限られる。ポートが開いている(待ち受けている)場合は,3 ウェイハンドシェークの 2 番目の SYN ACK を返す。したがって“開いている場合”はカ(SYN ACK 受信)である。
ポートが閉じている場合,RFC 793 は,存在しない接続宛てのセグメントには RST を返すと定めている。受け取った SYN には ACK の欄が無いので,この RST には ACK も付く(RST ACK)。したがって“閉じている場合”はエ(RST ACK 受信)である。解答例はこれに加えてク(応答なし)も挙げている。これは,途中のファイアウォールなどがパケットを破棄して,ポートが閉じていても何も返ってこないことがあるからだと考えられる。
解答群の ACK 受信(ア)・SYN 受信(キ)・FIN 系(イ,ウ)は,SYN を送った側が受け取る応答として現れない。オ(RST 受信)は RST ACK との区別が付きにくいが,解答例は RST ACK(エ)だけを選んでいる。“全て選び”とあるので,閉じている場合はエとクの両方を答える。
採点講評(IPA)
設問1(2)は,TCP/IPの3ウェイハンドシェークについての知識を問う問題であるが,特に“閉じている場合”について,正答率が低かった。サイバー攻撃に関するインシデント対応やセキュリティ検査においては,ネットワークの知識は重要である。基本的な事項は理解しておいてほしい。
表 3 中の b に入れるプロセスの動作を,30 字以内で具体的に述べよ。
〔b〕解答例
- HTTPを用いて,インターネット上のサーバと通信
解説
本文の根拠
表3 項番6 検査内容
項番 5 で起動したプロセスが,bできるか確認する。
表2 項番1
HTTP を用いて C&C サーバと通信し,ボットとして活動する。
表3 項番5 検査内容
項番 4 でダウンロードしたファイルが起動できるか確認する。
表3 の検査は,表2 のマルウェア M の動作を順に確かめる構成である。項番2 のプロトコル確認と項番3 のログイン試行は表2 の項番2・3,項番4 のダウンロードと項番5 のプロセス起動は表2 の項番6(wget 又は tftp で入手して実行)に当たる。その次は,起動したマルウェアが表2 の項番1 の動作をするかである。表2 の項番1 は,HTTP を用いて C&C サーバと通信し,ボットとして活動する,という動作である。解答例は“HTTPを用いて,インターネット上のサーバと通信”である。
Z カメラが感染するおそれがあるかを調べるのが検査の目的である(“検査結果から,Z カメラがマルウェア M 又はその亜種に感染するおそれがあることが判明した。”)。項番5 までで,ログイン,ダウンロード,起動ができている。残るのは,起動したプロセスが外部と通信してボットとして動けるかである。
字数は 30 字以内で,解答例は 24 字である。“HTTP を用いる”と“インターネット上のサーバと通信”の二つを残す。“ボットとして活動できるか”だけでは,何ができれば活動できたと言えるのかが示されず,表2 の動作(HTTP での通信)まで書く必要がある。
本文中の下線②について,出荷済みの Z カメラに対する対策を,60 字以内で具体的に述べよ。
解答例
- デバッグ用プログラムとその起動スクリプトを削除したファームウェアを作成し,Zカメラに配布する。
解説
本文の根拠
〔Z カメラのセキュリティ検査と対策〕
委託先が開発時に使ったデバッグ用プログラムとその起動スクリプトが,出荷版のファームウェアにそのまま残されていたことが分かった。
〔Z カメラのセキュリティ検査と対策〕
B 主任は,既に出荷済みの Z カメラがあることに配慮し,②対策を関係部署に依頼した。
〔Z クラウドの詳細〕(5) 接続・通信
Z クラウドから Z カメラへの各種操作コマンド及び設定情報の送信とファームウェアの配信は,Z カメラが定期的にカメラ IF にアクセスすることによって行われる。
表3 の項番1 で TCP ポート 2323 が開いていたのは,委託先が開発時に使ったデバッグ用プログラムとその起動スクリプトが,出荷版のファームウェアに残っていたからである。そこで,原因のデバッグ用プログラムとその起動スクリプトを削除したファームウェアを作る。出荷済みの Z カメラは手元にないが,ファームウェアの配信は,Z カメラが定期的にカメラ IF にアクセスして行われる。つまり,新しいファームウェアを Z カメラに配布すれば,出荷済みのものにも反映できる。解答例は“デバッグ用プログラムとその起動スクリプトを削除したファームウェアを作成し,Zカメラに配布する。”である。
設問は“出荷済みの Z カメラに対する対策”を問う。今後の出荷分の対策(出荷前にデバッグ用プログラムを残さない手順にする)では答えにならず,すでに利用者の手元にある機器へどう届けるかまで書く。
字数は 60 字以内で,解答例は 47 字である。“デバッグ用プログラムとその起動スクリプトの削除”“ファームウェアの作成”“Z カメラへの配布”の三つを残す。“ファームウェアを更新する”だけでは,何を直すのかが分からない。
表 4 中の c,d に入れる攻撃手法を解答群の中から選び,記号で答えよ。 解答群 ア DNS キャッシュポイズニング攻撃 イ サービス不能攻撃 ウ サイドチャネル攻撃 エ 辞書攻撃 オ セッション固定攻撃 カ 中間者攻撃 キ 水飲み場型攻撃 ク リフレクション攻撃
〔c〕解答例
- カ
〔d〕解答例
- ア
解説
本文の根拠
表4 項番1 検査方法
TLS 終端装置(注 1)の付いたプロキシサーバを用いて,Z カメラと Z クラウド間の HTTPS 通信の内容を復号して確認できるか検査する。
表4 項番2 検査方法
偽 Z クラウド上で稼働している偽カメラ IF に Z カメラを接続させて,Z カメラが操作できるか検査する。
図3 検査システムの概要
L3SW には,プロキシサーバ(内部に TLS 終端装置),DNS サーバ,偽 Z クラウド,L2SW が接続される。
項番1 は,通信の途中にプロキシサーバ(TLS 終端装置)を置いて,Z カメラとの TLS 接続を終端し,Z クラウドとは別の TLS 接続を開始して,HTTPS の内容を復号して見る検査である。通信する二者の間に割り込んで内容を見る攻撃なので,c はカ(中間者攻撃)である。
項番2 は,偽の Z クラウドに Z カメラを接続させる検査である。図3 の検査システムには DNS サーバがあり,Z カメラが Z クラウドの FQDN を問い合わせたときに偽 Z クラウドのアドレスを返せば,Z カメラを偽 Z クラウドに誘導できる。DNS の応答を偽って利用者を別のサーバに誘導する攻撃なので,d はア(DNS キャッシュポイズニング攻撃)である。
解答群の紛らわしい選択肢を除く。イ(サービス不能攻撃)とク(リフレクション攻撃)は通信を止めたり妨害したりする攻撃で,内容の盗聴や誘導ではない。エ(辞書攻撃)は認証の突破,オ(セッション固定攻撃)は Web セッションの乗っ取り,キ(水飲み場型攻撃)は利用者が訪れるサイトを改ざんする攻撃,ウ(サイドチャネル攻撃)は消費電力や処理時間などから情報を推定する攻撃である。
採点講評(IPA)
設問1(1)及び設問2(1)は,いずれも知識問題であり,正答率が高かった。情報セキュリティに関する一般的な用語については,受験者の知識が高いことがうかがえる。
本文中の e に入れる適切な字句を英字で答えよ。
〔e〕解答例
- HTTPS
解説
本文の根拠
〔Z クラウドの詳細〕(5) 接続・通信
Z カメラにはカメラ IF の URL が,Z アプリにはアプリ IF の URL が,それぞれ組み込まれており,Z カメラ及び Z アプリは Web サーバに HTTPS の POST メソッドを用いて通信する。
〔Z クラウドの詳細〕(5) 接続・通信
インターネットから Web サーバへの接続は,HTTP over TLS(以下,HTTPS という)だけが許可されている。
カメラ IF 通信は,Z カメラがカメラ IF(Z クラウドの Web サーバ)にアクセスする通信で,Z カメラ及び Z アプリは Web サーバに HTTPS の POST メソッドを用いて通信する。Web サーバへの接続は HTTPS だけが許可されているので,無線 LAN の区間を含む通信全体が,HTTPS(HTTP over TLS)の TLS によって暗号化されている。解答例は“HTTPS”である。
直前の D 社の説明は,暗号化されていない又は暗号強度の弱い無線 LAN の盗聴だった。B 主任の反論は,無線 LAN の暗号方式の強さに頼るのではなく,その上を流れる通信そのものが暗号化されているから盗聴されても内容は分からない,というものである。
字数の制限はなく,“英字で”と指定されている。TLS だけでも暗号化の技術としては正しいが,本文が定義している“HTTP over TLS(以下,HTTPS という)”に合わせて HTTPS と書く。無線 LAN の暗号方式(WPA2 など)を答えないように注意する。
本文中の下線③について,プライベート認証局のルート証明書を信頼されたルート証明機関のものとして登録してはいけない理由を,30 字以内で述べよ。
解答例
- 証明書パスの検証が行われているかを確認できなくなるから
解説
本文の根拠
〔カメラ IF 通信に対する脅威〕(2) 検査システムとサーバ証明書
なお,検査に当たっては,③プライベート認証局のルート証明書を,テスト対象の Z カメラに,信頼されたルート証明機関のものとして登録していない。
〔カメラ IF 通信に対する脅威〕(2) 検査システムとサーバ証明書
証明書 2:CN が,Z クラウドの FQDN と異なる証明書
〔カメラ IF 通信に対する脅威〕(3) 検査結果と対応
表 4 の項番 1 の検査結果:証明書 1 を使用した場合は通信でき,さらに通信内容を復号して確認することができた。しかし,証明書 2 を使用した場合は通信できなかった。
TLS のクライアントは,サーバ証明書を受け取ると,発行元をたどって,信頼されたルート証明機関にたどり着けるか(証明書パスの検証)を確認する。検査で使った二つの証明書はプライベート認証局が発行したもので,Z カメラにそのルート証明書を登録していない。それにもかかわらず,証明書1 を使うと通信できた。つまり Z カメラは,信頼されたルート証明機関まで到達できない証明書も受け入れている。証明書パスの検証が行われていないことが,この検査で分かる。
逆に,プライベート認証局のルート証明書を信頼されたルート証明機関として登録すると,そのルート証明書を使って証明書パスの検証が成功してしまう。Z カメラが検証をしていなくても,検証をしていても同じ結果(通信できる)になるので,検証の有無を確認できなくなる。解答例は“証明書パスの検証が行われているかを確認できなくなるから”である。
字数は 30 字以内で,解答例は 27 字である。“証明書パスの検証”と“確認できなくなる”の二つを残す。“検査結果が変わるから”のように結果だけを書くと,何の確認ができなくなるのかが示されない。
採点講評(IPA)
設問2(3)は,正答率が低かった。セキュリティ検査では,検査の目的に応じて,手法とテスト環境を検討し選択することが必要である。
表 5 中の下線④について,アクセス元の端末を制限する方法として Z システムに適した方法を,25 字以内で具体的に述べよ。
解答例
- クライアント証明書を用いた端末認証を行う。
解説
本文の根拠
図1 注記2
Z クラウドの管理者は,管理用端末を用いて,インターネット経由で Z クラウドを運用管理している。
図1 注記2
緊急時:貸与された管理用モバイル端末を用いて,自宅で実施することも可
表5 整理番号A2
第三者による不正アクセスを防止するため,利用者認証に加えて,アクセス元の端末を制限しており,十分な対策が取られている。
下線④は,管理者アカウントのなりすましへの対策として,利用者認証に加えてアクセス元の端末を制限するというものである。Z クラウドの管理者は,インターネット経由で運用管理しており,通常は Z 社内又は委託先社内の管理用端末,緊急時は貸与された管理用モバイル端末を自宅で使う。自宅やモバイル回線では送信元の IP アドレスが一定せず,IP アドレスで制限する方法は Z システムに適さない。端末そのものを識別する必要があり,貸与した管理用端末だけにクライアント証明書を入れておき,TLS のクライアント認証で端末を確認する。解答例は“クライアント証明書を用いた端末認証を行う。”である。
貸与された端末に証明書を入れる方法なので,緊急時の自宅からのアクセスも通せる。端末に入っていない証明書は,第三者が利用者 ID とパスワードを知っても用意できない。
字数は 25 字以内で,解答例は 21 字である。“クライアント証明書”と“端末認証”の二つを残す。“IP アドレスで制限する”のように,通常時だけを想定した答えにならないようにする。
採点講評(IPA)
設問3(1)は,正答率が低かった。クラウドの利用拡大によって,クラウドにアクセスする端末が増える一方で,不正アクセス対策の重要度が増している。利用者認証だけでなく,端末を認証する方法についても理解を深めてほしい。
本文中の f に該当する全ての脅威を,表 5 中の整理番号で答えよ。
〔f〕解答例
- A2,C2,D1,D2
解説
本文の根拠
図1 注記3
Web サーバのコンテンツ,及び Web アプリケーションサーバのプログラムの変更は,Z クラウドの管理者だけが実施できる。
表5
A2:管理者アカウントのなりすまし。
表5
D2:内部者の過失。
Web サーバ上のコンテンツを変更できるのは Z クラウドの管理者だけである。したがって,コンテンツの予期せぬ変更の原因は,管理者の権限が第三者や内部者に渡るか,管理者自身が誤るかのいずれかである。A2(管理者アカウントのなりすまし)は,管理者になりすませば変更できる。C2(OS やミドルウェアなどのシステム基盤の脆弱性を突いた攻撃)は,基盤の脆弱性を突いて管理者権限を得られれば変更できる。D1(内部者による犯行)と D2(内部者の過失)は,内部者が管理者権限を持つ場合に変更が起こり得る。解答例は“A2,C2,D1,D2”である。
A1(利用者アカウントのなりすまし)は,利用者の権限でのアクセスなので,管理者だけができるコンテンツの変更には至らない。B1(DDoS 攻撃)は可用性を損なう脅威である。C1(アプリケーションプログラムの脆弱性を突いた攻撃)は,動画の漏えいには結び付くが,ここで問われているのは Web サーバのコンテンツの変更である。
字数の制限はない。“該当する全ての脅威”とあるので,四つ全てを整理番号で答える。動画の漏えいの原因(A1,A2,C1,C2,D1,D2)との違いは,A1 と C1 が入らない点である。
リバースブルートフォース攻撃の攻撃手法を,40 字以内で述べよ。
解答例
- 利用者IDを変更しながら,よく用いられるパスワードでログインを試行する。
解説
本文の根拠
〔Z クラウドに対する脅威〕B 主任と E 君の会話
認証に失敗するごとに,その利用者 ID でログインできない期間を 5 秒間から最大 24 時間まで指数関数的に長くしていき,成功すると元に戻す仕組み(以下,ログイン制限という)
〔Z クラウドに対する脅威〕B 主任と E 君の会話
ブルートフォース攻撃ならログイン制限で防げる可能性が高いですが
ブルートフォース攻撃は,一つの利用者 ID に対してパスワードを総当たりで試す攻撃である。リバースブルートフォース攻撃は,その逆で,パスワードを固定し,利用者 ID を次々に変えて試す攻撃である。よく使われるパスワードを一つ選び,利用者 ID の方を変えながらログインを繰り返す。解答例は“利用者IDを変更しながら,よく用いられるパスワードでログインを試行する。”である。
本文はログイン制限(失敗するごとにその利用者 ID でログインできない期間を延ばす)をブルートフォース攻撃への対策としている。同じ利用者 ID を繰り返し試すブルートフォース攻撃は制限に掛かりやすいが,リバースブルートフォース攻撃は,利用者 ID が毎回違うので掛かりにくい。
字数は 40 字以内で,解答例は 36 字である。“利用者 ID を変更する”と“よく用いられるパスワードを使う”の二つを残す。“ID を固定してパスワードを総当たりにする”と書くとブルートフォース攻撃の説明になる。
本文中の下線⑤について,ログイン制限では防ぐのが難しい理由を,40 字以内で述べよ。
解答例
- 一つの利用者IDでのログイン試行が1回ないしは少ない回数しか行われないから
解説
本文の根拠
〔Z クラウドに対する脅威〕B 主任と E 君の会話
認証に失敗するごとに,その利用者 ID でログインできない期間を 5 秒間から最大 24 時間まで指数関数的に長くしていき,成功すると元に戻す仕組み(以下,ログイン制限という)
〔Z クラウドに対する脅威〕B 主任と E 君の会話
リバースブルートフォース攻撃やリスト型攻撃は,ログイン制限では防ぐのが難しい
ログイン制限は,認証に失敗するごとに,その利用者 ID でログインできない期間を長くする仕組みで,数える単位は利用者 ID である。リバースブルートフォース攻撃は利用者 ID を変えながら試し,リスト型攻撃は漏えいした利用者 ID とパスワードの組を一組ずつ試す。どちらも一つの利用者 ID に対する試行は 1 回か少数回で終わるので,失敗の回数が増えず,ログインできない期間が延びない。解答例は“一つの利用者IDでのログイン試行が1回ないしは少ない回数しか行われないから”である。
設問(3) の攻撃手法の説明と対になる設問で,ログイン制限が利用者 ID ごとの失敗回数に基づくことが分かれば答えられる。
字数は 40 字以内で,解答例は 37 字である。“一つの利用者 ID ごとの試行”と“回数が少ない”の二つを残す。“攻撃が分散されるから”のように曖昧にすると,何が分散されるのか(ID 単位の失敗回数)が伝わらない。
本文中の下線⑥について,防げないのはどのような場合か。50 字以内で具体的に述べよ。
解答例
- ほかのWebサイトから漏えいした情報に電話番号や電子メールアドレスが含まれていた場合
解説
本文の根拠
〔Z クラウドに対する脅威〕B 主任と E 君の会話
最近は,ほかの Web サイトから漏えいした利用者 ID とパスワードのリストを悪用した,いわゆるリスト型攻撃が増えているそうです。
〔Z クラウドに対する脅威〕B 主任と E 君の会話
それでは,利用者 ID とパスワードに加えて,ほかの利用者情報,例えば電話番号や電子メールアドレスも使って認証するように変更すれば,防げるのではないでしょうか。
リスト型攻撃は,ほかの Web サイトから漏えいした利用者 ID とパスワードの組を使う攻撃である。E 君の案は,認証に電話番号や電子メールアドレスを加える方法で,攻撃者が ID とパスワードしか持たなければ防げる。ところが,ほかの Web サイトから漏えいした情報に電話番号や電子メールアドレスも含まれていた場合,攻撃者はそれらも入力できるので,追加の認証要素が意味を持たない。解答例は“ほかのWebサイトから漏えいした情報に電話番号や電子メールアドレスが含まれていた場合”である。
リバースブルートフォース攻撃は利用者 ID を推測で変えるだけなので,電話番号などを要求すれば当てられずに防げる。リスト型攻撃では,攻撃者が持つリストの中身が防御の成否を決める。
字数は 50 字以内で,解答例は 42 字である。“ほかの Web サイトから漏えいした情報”と“電話番号や電子メールアドレスを含む”の二つを残す。“情報が漏えいした場合”だけでは,どの情報かが分からない。
本文中の下線⑦について,Z カメラが譲渡や転売される可能性を考慮に入れて,追加認証する適切な方法を,25 字以内で述べよ。
解答例
- 利用者番号の入力を求める。
解説
本文の根拠
〔Z カメラの詳細〕(2) 利用者情報の登録・変更
登録時には自動的に 10 進数 12 桁の利用者番号が付与される。利用者番号は,Web IF の利用者登録完了画面上に表示される。また,利用者登録完了通知書に記載され,登録した住所に郵送される。
〔Z クラウドの詳細〕(3) Z カメラの登録
譲渡や転売などの理由で,登録済みの Z カメラが他の利用者によって登録された場合,Z カメラの利用者を変更するとともに,変更されたことを元の利用者に電子メールを送って通知する。
〔Z クラウドに対する脅威〕B 主任と E 君の会話
Z クラウドと各利用者だけが知っていて,利用者以外が入手するのが困難な情報で追加認証すれば
追加認証に使う情報は,下線⑦のとおり,Z クラウドと各利用者だけが知っていて,利用者以外が入手しにくいものでなければならない。Z カメラを譲渡や転売すると,新しい持ち主は,Z カメラのシリアル番号,製品パッケージに同梱されたパスコードなどを知ることになり,これらは追加認証の情報にならない。元の利用者の電話番号や電子メールアドレスは,ほかの Web サイトから漏えいする可能性が上の設問で挙がっている。一方,利用者番号は,利用者登録完了画面と,登録した住所に郵送される通知書に記載されるだけで,Z カメラとは結び付いていない。そこで,利用者番号の入力を求める。解答例は“利用者番号の入力を求める。”である。
Z カメラの登録で入力する項目は,Z カメラのシリアル番号と初期設定用パスコードで,利用者番号は含まれない。
字数は 25 字以内で,解答例は 13 字である。“利用者番号”と“入力を求める”の二つを残す。“ユーザ ID”や“メールアドレス”は,上で述べた理由から答えにならない。
本文中の下線⑧について,Z クラウドにおけるログイン認証の状況を踏まえて,平常時と異なる状況だと判断されるのはどのような場合か。40 字以内で述べよ。
解答例
- 全利用者の単位時間当たりの認証失敗数がしきい値を超えた場合
解説
本文の根拠
〔Z クラウドに対する脅威〕B 主任と E 君の会話
利用者 ID とパスワードによる認証が必要となるのはごく限られた状況だけなので,平均すると利用者 1 人当たり,年 1 回程度です。
〔Z クラウドに対する脅威〕B 主任と E 君の会話
リバースブルートフォース攻撃やリスト型攻撃を念頭に置いて,⑧平常時と異なる状況が発生していると判断される場合において,追加認証する方法を考えてみます。
Z アプリは,2 回目以降は UUID で認証されるので,利用者 ID とパスワードによる認証が行われるのは,平均すると利用者 1 人当たり年 1 回程度である。全利用者の認証失敗は,平常時はごく少ない。リバースブルートフォース攻撃やリスト型攻撃は,一つの利用者 ID では失敗が少なくても,全体としては失敗が増える。そこで,全利用者の単位時間当たりの認証失敗数が,あらかじめ決めたしきい値を超えた場合を異常と判断し,その間は追加認証を求める。解答例は“全利用者の単位時間当たりの認証失敗数がしきい値を超えた場合”である。
利用者 ID ごとの失敗回数で数えると,設問(4) のとおり,これらの攻撃は見逃される。そのため,全利用者を合計して見る。
字数は 40 字以内で,解答例は 29 字である。“全利用者の”“単位時間当たりの認証失敗数”“しきい値を超えた場合”の三つを残す。“失敗が多い場合”だけでは,何を数えるのかが分からない。
本文中の下線⑨について,委託契約に盛り込むべき条項を,25 字以内で具体的に述べよ。
解答例
- 脆弱性検査合格を受入条件とする。
解説
本文の根拠
〔Z クラウドに対する脅威〕C1
表 5 の整理番号 C1 については,開発委託先との契約に⑨必要な条項を追加することにした上で,納品時に Web アプリケーションプログラムの脆弱性検査を実施することが決まった。
表5 整理番号C1
Web アプリケーションサーバ上のアプリケーションプログラムの脆弱性を突いた攻撃のリスクを軽減するための対策が取られていない。
C1 の対策は,納品時に Web アプリケーションプログラムの脆弱性検査をすることである。ただし,検査をして脆弱性が見つかっても,契約に定めがなければ,委託先に修正を求めたり納品を受け入れなかったりする根拠にならない。そこで,委託契約に,脆弱性検査に合格することを受入条件とする条項を入れる。解答例は“脆弱性検査合格を受入条件とする。”である。
検査の実施そのものは,条項を追加した上での手続として本文に書かれている。条項で決めるべきは,検査の結果を受け入れの可否に結び付けることである。
字数は 25 字以内で,解答例は 16 字である。“脆弱性検査合格”と“受入条件”の二つを残す。“脆弱性検査を実施する”だけでは,すでに本文にある検査の実施と同じで,契約条項としての意味が出ない。
本文中の下線⑩について,構成管理を導入していない場合の問題点を,40 字以内で述べよ。
解答例
- 脆弱性がZ社のシステムに影響するかを短時間で判断できない。
解説
本文の根拠
〔Z クラウドに対する脅威〕C2
OS,ミドルウェアなど,Z クラウドのシステム基盤については,V 社が毎年,年度末にセキュリティ専門業者の脆弱性検査を受けている。
〔Z クラウドに対する脅威〕C2
脆弱性検査の結果,重大な問題が指摘された場合,V 社は,定期メンテナンス時に,脆弱性修正プログラムを適用するか,又は回避策を実装している。
〔Z クラウドに対する脅威〕C2
脆弱性を突いた攻撃が頻繁に発生する昨今の状況を踏まえると,⑩構成管理を導入した脆弱性対応の仕組みを構築する必要がある
現在の C2 の対応は,年度末の脆弱性検査と,重大な問題が指摘されたときの定期メンテナンス時の対応である。脆弱性は検査の時期とは関係なく公表され,それを突く攻撃も頻繁に発生する。構成管理は,システムを構成する OS やミドルウェアなどの種類やバージョンを把握しておく管理で,これを導入していないと,新しい脆弱性が公表されたときに,自社のシステムが対象かどうかをすぐに調べられない。解答例は“脆弱性がZ社のシステムに影響するかを短時間で判断できない。”である。
判断が遅れる間,対応が次の検査や定期メンテナンスまで先送りされる。構成管理があれば,公表された脆弱性と照合して影響の有無を短時間で判断し,必要な対応を早められる。
字数は 40 字以内で,解答例は 29 字である。“脆弱性が Z 社のシステムに影響するか”と“短時間で判断できない”の二つを残す。“脆弱性管理ができない”のように抽象的に書くと,構成管理がなぜ要るのかが伝わらない。
本文中の下線⑪について,表 5 の整理番号 D1,D2 への対策として,共通鍵暗号方式による暗号化を検討する。内部者のうち,特に Z クラウドの管理者に見られないことを重視した場合,共通鍵の生成,動画の暗号化及び復号を行う Z システムの構成要素を,それぞれ図 1 中から選んで答えよ。また,その場合の共通鍵の安全な共有方法を,25 字以内で述べよ。
〔共通鍵の生成を行うZシステムの構成要素〕解答例
- Zアプリ
〔動画の暗号化を行うZシステムの構成要素〕解答例
- Zカメラ
〔動画の復号を行うZシステムの構成要素〕解答例
- Zアプリ
〔共通鍵の安全な共有方法〕解答例
- Bluetooth経由で受け渡す。
解説
本文の根拠
〔Z クラウドの詳細〕(4) 動画の保管
動画は,暗号化されずに保管される。
〔Z クラウドに対する脅威〕E 君と B 主任の会話
故意か過失かにかかわらず,内部者にも見ることができないような仕組みが必要です。
〔Z アプリの詳細〕(3) Z カメラの無線 LAN 接続の設定
Z アプリは,Bluetooth のシリアルポートプロファイルで Z カメラに接続し,Z カメラの無線 LAN 接続の設定を行う。
Z クラウドの管理者に見られないようにするには,Z クラウド側で鍵を作ったり保管したり,動画を復号したりしてはいけない。鍵を扱うのは,利用者の側にある Z アプリと Z カメラだけにする。動画を撮影して送る Z カメラが暗号化し,動画を参照する Z アプリが復号する。共通鍵は,Z アプリで生成する。解答例は,生成が“Zアプリ”,暗号化が“Zカメラ”,復号が“Zアプリ”である。
鍵を Z カメラに渡す経路が問題である。Z クラウド経由で渡すと管理者に見える。Z アプリは Bluetooth で Z カメラに直接接続して無線 LAN の設定を行っている(本文のとおり,Z カメラ自体には操作インタフェースが無く,外部記憶媒体も接続できない)ので,同じ経路で鍵を渡す。解答例は“Bluetooth経由で受け渡す。”である。
字数は 25 字以内で,共有方法の解答例は 17 字である。“Bluetooth 経由”と“受け渡す”の二つを残す。“安全に共有する”のように書くと方法が示されない。
出典:平成29年度 秋期 情報処理安全確保支援士試験 午後Ⅱ 問1(表記を一部改変)