「IoTセキュリティ」に関する問題への対策
はじめに
4月に入り、いよいよ試験本番まであと2週間を切りました。本連載も今回で最終回となります。今回も午後試験の過去問題から「IoTセキュリティ」に関する問題を取り上げて解説します。
IoTとIoTセキュリティ
今回は、平成28年度秋期 午後Ⅰ問題の問1「組込み機器を利用したシステムのセキュリティ対策」を例に解説していきます。
この問題はタイトルを見てもお分かりの通り、昨今注目されている「IoTセキュリティ」がテーマです。IPAが公開している「情報セキュリティ10大脅威2017」でも、これまではランクインしていなかったIoTに関する脅威「IoT機器の脆弱性の顕在化」が組織編の第8位に入っています。このことからも、今後はIoTに関する出題が増えてくると思われます。
問題の解説に入る前に、少しIoTセキュリティについて説明したいと思います。そもそも「IoT」とは何でしょうか。平成28年春期 基本情報技術者試験 午前問題の問65でIoTに関して出題されています。
問65 IoT(Internet of Things)を説明したものはどれか。
ア.インターネットとの接続を前提として設計されているデータセンタのことであり,サーバ運用に支障を来さないように,通信回線の品質管理,サーバのメンテナンス,空調設備,瞬断や停電に対応した電源対策などが施されている。
イ.インターネットを通して行う電子商取引の一つの形態であり,出品者がWebサイト上に,商品の名称,写真,最低価格などの情報を掲載し,期限内に最高額を提示した入札者が商品を落札する,代表的な C to C 取引である。
ウ.広告主のWebサイトへのリンクを設定した画像を広告媒体となるWebサイトに掲載するバナ一広告や,広告主のWebサイトの宣伝をメールマガジンに掲載するメール広告など,インターネットを使った広告のことである。
エ.コンピュータなどの情報通信機器だけでなく様々なものに通信機能をもたせ,インターネットに接続することによって自動認識や遠隔計測を可能にし,大量のデータを収集・分析して高度な判断サービスや自動制御を実現することである。
正解は(エ)です。IoTはパソコン等のIT関連機器だけでなく、監視カメラや車等の「モノ」に通信機能を持たせ、インターネットに接続することを意味します。「モノ」にセンサーを付けてインターネットを介してその状態を監視したり、コントロールしたりできるようになります。TV番組を録画するHDDレコーダーも昔から外出先からWebやメールで番組予約をしたりできましたが、これもIoTの一例ですね。
では、なぜIoTに関するセキュリティがよく話題になるのでしょうか。今までインターネットに接続していなかった機器をインターネットに繋げる場合、その機器にネットワーク機能だけを追加すれば良いわけではありません。そもそも、インターネットに繋げるリスクを考慮して作られていなかったため、その機器のセキュリティ設計自体を見直す必要があります。
ところが、実際はセキュリティ設計の見直しが適切ではなかったり、使う側のセキュリティの意識が低く初期設定で使用されたり等により、さまざまな問題を引き起こします。特にその機器への攻撃だけでなく、DDoS攻撃を行うボットとして悪用されるケースもあり、適切なセキュリティ対策が必須です。最近ではIoT機器を狙うマルウェア「Mirai」のDDoS攻撃が問題になっています(参考:「ネットワークカメラや家庭用ルータ等のIoT機器は利用前に必ずパスワードの変更を」(IPA 安心相談窓口だより))。
Miraiも「ログイン情報が初期設定のままのIoT機器」を狙っており、こういった事例は情報処理安全確保支援士の午後問題で使われるかもしれないので、余力があれば最近の事例についてもチェックしておいてください。
午後問題のIoTセキュリティに関する出題
それでは、過去問題の解説を進めて行きましょう。今回解説する平成28年度秋期 午後Ⅰ問題の問1について、先ほど「IoTセキュリティ」に関する問題と説明しましたが、「IoTセキュリティ」だからと言って何か特殊な話が出てくるわけではありません。コンピュータのセキュリティと考え方も使われている技術も同じです。よって、「組込みはよく分からないから選択するのはやめよう」などと思わず、一度問題の内容を確認してください。この問題の中心はVPNの話で、IPsecやSSHの仕組みが理解できていれば、それほど難しくない問題です。
●設問1
設問1はIPsecに関する問題で、空欄a、bに入る語句を解答します。
空欄aはIPsecの通信モードについて問われています。図1は工場遠隔監視システムの試験環境で、本文に「Webブラウザから監視サーバへの通信を除き、すべてIPsecを使って暗号化する。IPsecでは、通信モードに( a )モードを使用し、ルータ間の通信をすべて暗号化する。」と書かれています。
IPsecには以下の2つの通信モードがあります。
・トランスポートモード(図2)
End to Endの通信を保護する。通常、ホスト(クライアント)間でIPsec通信を行う際に使用される。
・トンネルモード(図3)
End to End通信経路の一部もしくは全部を保護する。サイト(ルータ)間やクライアント-サイト間でIPsec通信を行う際に使用される。
本文に「ルータ間の通信をすべて暗号化する」と記述されているので、空欄aの解答はエの「トンネル」モードです(参考:第3回の「トランスポートモードとトンネルモード」)。
空欄bは鍵交換プロトコル「IKE(Internet Key Exchange)」の実行モードについて問われています。IKEには「メインモード」「アグレッシブモード」の2つの実行モードがあり、異なるのは接続先認証に使用されるID情報の保護です。IPsecでVPN通信を行うためには、まず接続先相手を認証する必要があり、そのために自分を識別するためのID情報を交換します。
メインモードでは通信相手のIPアドレスと相手との暗号通信に必要な事前共通鍵を設定しておき、ID情報を交換するときに相手のIPアドレスに設定された事前共通鍵を使用してID情報を保護します。事前に相手のIPアドレスを設定しているため、相手のIPアドレスが変わると通信できなくなってしまいます。よって、メインモードでは、お互いに固定のIPアドレスを使用する必要があります。
「アグレッシブモード」ではID情報を平文のまま交換するため、通信相手を固定して事前共有鍵を設定する必要がなく、動的にIPアドレスが変わる環境でも利用できます。よって、空欄bの解答はイの「アグレッシブ」モードです。ただし、アグレッシブモードではID情報が盗聴される可能性もあるため、セキュリティレベルはメインモードの方が高くなります。
●設問2
設問2(1)は、LTEルータの不正アクセスを調査するため、LTEルータ上でnetstatコマンドを実行したときの結果(表)から解答する問題です。
netstatは、ネットワーク接続やルーティングテーブルなどの情報を表示するコマンドです。表の各項目の説明は以下の通りです。
プロトコル:トランスポート層のプロトコル(TCP、UDP)
ローカルアドレス:自分自身のIPアドレスやポート番号
外部アドレス:相手のIPアドレスやポート番号
状態
- LISTEN:サーバとして動いており、クライアントからの接続待ち状態
- ESTABLISHED:相手とコネクションが確立されている状態
- SYN_SENT:TCPのSYN(コネクション接続要求)を送った状態
プロセスID:この通信を実行しているプロセスのID番号
空欄cは「外部から不正にLTEルータのSSHサービスにアクセスしている」とのことなので、下記条件に当てはまる通信を表1から特定すれば良いことになります。
- 22/TCPポートにアクセスしている(ローカルアドレスのポート番号が22)
- 外部アドレスがグローバルIPアドレス
よって、解答は表1下から3行目の外部アドレス「x1.x2.x3.x4」となります。
同様に、設問2(1)の空欄dも「SMTPで電子メールを転送している」外部の宛先について問われているので、外部アドレスのポート番号が25/TCPのIPアドレスを解答すれば良いことが分かります。よって、解答は表1から「y1.y2.y3.y4」となります。
設問2(2)は、LTEルータのSSHサービスに不正アクセスされたことへの暫定対策についての問題です。問題文の下線①に「SSHのログイン認証をパスワード強度に依存しない方式に設定変更した」とあり、「パスワード強度に依存しない」ということなので、パスワード方法とは別の方法を考える必要があります。SSHの認証方式は、以下の2つです。
- パスワード認証方式
- 公開鍵認証方式
パスワード方法とは別の方法なので、「公開鍵認証方式」について解答すれば良いことが分かります。よって、解答は「パスワード認証を無効化し、公開鍵認証を使用する」となります。
ちなみに、公開鍵認証の動作は図5に示す通りです。
公開鍵認証方式では、事前にSSHクライアントの公開鍵と秘密鍵を作成(①)し、公開鍵はSSHサーバに渡しておきます(②)。実際にSSH通信を行うときは、SSHクライアントからSSHサーバへアクセス(③)するとSSHサーバは認証するためのメッセージを生成し、SSHクライアントの公開鍵を使って暗号化(④)したメッセージ(チャレンジと呼ぶ)としてSSHクライアントに送付します(⑤)。チャレンジを受け取ったSSHクライアントは自分の秘密鍵で復号し(⑥)、その結果をハッシュ関数に入れてレスポンスを生成(⑦)します。SSHクライアントはレスポンスをSSHサーバに送付(⑧)し、SSHサーバは自分が送付したメッセージをハッシュ関数に入れてレスポンスを生成(⑨)してSSHクライアントから受け取ったレスポンス(⑧)とSSHサーバが生成したレスポンス(⑨)を比較(⑩)し、一致していれば認証が成立します。
●設問3
設問3(1)は、今回のセキュリティインシデントとして「関係ない第三者からSSHサーバにアクセスされた」ため、「LTEルータでは、監視端末を利用した場合にだけ、SSHサービスにアクセスできる仕様にすべき」と空欄eの前に記載があります。TCP WrapperはUNIXやLinux系のOSでネットワークアクセスをフィルタリングするアクセス制御システムです。指定したサービスやホストの条件によってアクセス制御ができるので、ここでは「送信元IPアドレスを監視端末のIPアドレスに限定」が解答となります。
設問3(2)は、「市販のいくつかの組込み機器について、SSHのホスト鍵が同一モデルですべて同じになっているという脆弱性」について問われていますが、SSHのホスト鍵が同じならばSSHサーバの公開鍵と秘密鍵も同一モデルでは同じです。よって、同じ秘密鍵を持つSSHサーバが複数存在することになり、攻撃者が正当な組込み機器と同一モデルの機器を用意して偽の組込み機器としてネットワーク上に置けば、クライアント側はその組込み機器も正当な組込み機器として認識してしまいます。もしこのようなことが実現できてしまうと、前回も説明したような中間者攻撃が可能となるため、解答は「中間者攻撃による通信内容の盗聴」となります。
設問3(3)は、「ファームウェアの更新用イメージファイルが改ざんされていないか検証できる仕組みが必要」とあり、その実現方法について問われています。改ざんのチェックにはハッシュ関数によるメッセージ認証の仕組みが必要となります。また、更新用イメージファイルの作成者が信頼できるかエンティティ認証の仕組みも必要で、ここではディジタル署名を使用すればよいことが分かります。ディジタル署名を付けるときは署名者の秘密鍵で暗号化し、署名者の公開鍵で検証できるため、解答は「作成時:秘密鍵を使用してイメージファイルにディジタル署名を付与する」、「更新時:公開鍵を使用してイメージファイルのディジタル署名を検証する」となります。
設問3(4)は、攻撃者がどのような方法で復号鍵を入手するかについて問われています。暗号化されたイメージファイルはファームウェアを更新するときに復号する必要があります。そのため、どこかに復号鍵を持たせるわけですが、暗号化されたイメージファイルと一緒に復号鍵を持たせると誰でも簡単に復号できてしまうため、別の場所に復号鍵を置く必要があります。考えられるのはLTEルータ自身に復号鍵を保存することですが、この場合でもLTEルータに侵入されて復号鍵を取られてしまう可能性は排除できません。よって、解答は「LTEルータにログインしてファイルシステムの中から見つける」となります。
IoTセキュリティに関しては、今後も高い確率で出題されると思われます。試験問題はセキュリティインシデント事例や技術動向に基づいて作成されることも多いので、IoTセキュリティ分野にも目を向けるようにしてください。IPAが公開している「IoT開発におけるセキュリティ設計の手引き」も参考になるので一度ご覧ください。
おわりに
本番試験まで残り2週間を切りました。ぜひ最後まであきらめず試験勉強に取り組んでください。「ちょっと不安だ」と感じる場合は「情報セキュリティスペシャリスト試験 完全制覇への道 いよいよ本番! 試験に向けた直前チェック」で午前・午後問題のポイントやその他の注意事項を説明していますので、こちらも参考にしてください。
みなさまの合格を心よりお祈り申し上げます。
連載バックナンバー
Think ITメルマガ会員登録受付中
全文検索エンジンによるおすすめ記事
- 「ネットワークセキュリティ技術」に関する問題への対策
- 試験直前対策:令和3年度の午後試験で出題された技術と仕組みの解説
- 平成30年度の午後Ⅰ問題対策③ ―問3
- NATサーバに必要なファイアウォール設定とデータベースサーバ、メールサーバ
- NATサーバに必要なファイアウォール設定とデータベースサーバ、メールサーバ
- サーバと双璧をなすインフラの中核「ネットワーク」を知ろう
- ソフトウェア定義型ネットワークの作成
- 平成31年度 春期試験 午後Ⅱ問題対策② ―問1【設問4~6】
- SoftLayerのゲートウェイをVyOSで操作する
- ホームネットワーク向けセキュリティをアプライアンスで提供するBitdefender BOXとは