IoT診断入門(続)
黒林檎です。
今回の記事は、総関西サイバーセキュリティLT大会で話した発表資料をブログベースで書いていきます。
総関西サイバーセキュリティLT大会(第4回) - connpass
発表資料はこんな感じです。
全体公開微妙なところが多かったので、濁した表現が多い印象です。
前回のIoT診断と同じ内容もありますが、新しい内容もあるため楽しんでご覧いただけると幸いです。
場の投影スクリーンの問題で詳しくお話できなかった事についてです。
前回の「IoT診断」発表後からIoT関連でどんな進展があったかご紹介します。
(図)前回からの変化
前回の総関西サイバーセキュリティLT大会からの動きとして、所属している会社がソフト産業プラザ・イメディオ様が実施しているAIDORアクセラレーションというプログラムにIoTのセキュリティ課題に関して何か出来ないかということでパートナーにならせていただきました。
簡単にお話をさせていただく場を貰いましたので、「クラウドファンディング系のセキュリティ品質が問題視されているお話」などをさせていただきました。
面白い取り組みができれば、また何かの形でお知らせ出来ればと思います。
それでは、本題となるIoT診断に関わるIoTセキュリティのお話に戻ります。
IoTとサーバーの違いを皆さん明確にいえますか?
Iot(Internet of Things)と言いつつも「Bluetooth LE」や「NFC」といった短距離無線でしか通信しない機器も「IoT」という枠組みになっているのが実情です。
勿論、IPカメラの内側では組込みシステム用のLinuxが動いていて管理画面用などにウェブサーバーが動いていることが当たり前です。
そこだけで考えると、IPカメラとウェブサーバーの仕組みはほぼ同じでセキュリティ的脅威も同じだと考えられます。
では、「IoTならでは」のセキュリティ的脅威はないのか調べてみました。
(図)IoTとサーバーの違い
中華製のウェブカメラを購入し試験的にウェブカメラの診断演習をしたところ面白い話が見つかりました。
中華製含め、一部のIPカメラのAPIが公開されていることがわかりました。
http://wiki.reecam.cn/CGI/Params
一部のAPIでは、telnetの起動パラメータが存在し、そのパラメータをIPカメラに送信することでtelnetが立ち上がりリモートからtelnetでIPカメラにアクセスできる仕組みが提供されていることがわかりました。
IPカメラのセキュリティ的脅威として、「miraiやhajimeといったIoTマルウェアが既知の資格情報を用いることでioTを掌握する」という話は一般コンシューマにも認知され初めて「パスワードをデフォルトから変更しなければダメ」という話は広まっているかと思います。
しかし、IPカメラのAPIが公開されており、バックドアのような機能が提供されているといった話はそういったセキュリティ関連のサイトでも見かけません。
これは問題であり、こういった情報が「技術者・消費者」含め認知されていく必要性があると感じる次第です。
中国製ネットワークカメラが勝手に動き出して中国語が聞こえてきた怖い話(動画あり) - 僕とネットショッピング
※このIPカメラを私も購入したので、ハッキング後記を書くことができれば、またお書きします。
話が変わりますが、このIoTシステムの脅威はいったいなんでしょうか?
_____________________________________
・スマートペットフィーダー(ペットに餌を与えるIoT)
・SmartPhone(ユーザーがIoTを操作するためのアプリ)
_____________________________________
「IoTセキュリティ」なので、「スマートペットフィーダー」のみが問題でしょうか?
(図)簡単なIoTシステム概要図
予算の問題で「Webアプリケーション診断・プラットフォーム診断・スマートフォンアプリケーション診断」をフルで脆弱性診断できない場合は多々あると思います。
そういったケースで考えたとき・・。
先ほどのIoTシステムの趣旨は、「ペットに任意のタイミングで餌を与えること」であり、運用・事業継続のために死守しなければならないのはAPIサーバーがダウンする事で、そのために冗長化は出来ているかやOSコマンドインジェクションといったAPIサーバーを停止できる脆弱性のチェックを優先すべきです。
そのため、システム構成上criticalになり得る脆弱性を洗い出す必要性があります。(例えばですが、IoTでは、しばしばcsrfはcriticalな問題になり得ます。)
(図)APIサーバーのダウンがシステム上一番不味い
診断箇所の選定は、前回の記事を参考にしてください。
では、なぜ診断箇所の選定をしなければならないのか?というお話をしていきます。
以下のようなケースは多々考えられると思います。
IoTを作っているのに、「デバイス」と「ハードウェア」はセキュリティ診断不要といったパターンですね。
(図)診断コストのミスマッチによる診断箇所の除外
「IoT」と「アプリケーション」の通信が完璧に実装されているケースでも、下記のようなケースを想定していない場合があります。
root端末により設定値や送信値を改ざんしてリクエストを送信するケースですね。
個人的に、認証ロジックなどが面倒な場合に有効な手段だと思いますが、これでハッキングできた際に情報を公開した際、こんな場面に遭遇しました。
1.某メーカーの直属部署マネージャー っ公開資料ダウンロード
2.某メーカーの製品開発に携わった会社の代表取締役 っ公開資料ダウンロード
criticalではなく、「システム仕様の問題」でしたが想定外だったんだろうなーと人間相関図で読み取ることができます。
IoTシステムの開発を委託してお仕事をする場合、「仕様」をちゃんと定義しておけばこのような問題がおきても速やかに対応することができます。
■そのシステムの対策として
アプリの設定ファイルが改ざんされているかのチェックは、サーバーサイドで行うため「常にオンライン」であることが前提なので、プログラムの起動を一時的にエラー画面で停止し、重要な処理が何もできない状態にしていました。
(図)root化端末による改ざんリクエスト
IoTのハッキングは大変困難なケースが多いため、「診断」という形をとるため「各プロトコル」や「システム構成」で攻撃をまとめておくことが重要です。
他のセキュリティ診断士が簡単に真似できる仕組みを作っておくと、さらに良いですね。
(図)手法のドキュメント化
スマートフォンなどのファームウェアアップデート機能など、皆さま良く使われておられると思われます。
一体、スマートフォンレベルで安全なファームウェアアップデート機能って世の中のIoTに分類される機器でどれぐらいの数があるのでしょうか?
安全な基準として、以下の項目をOTA(Over-The-Air)で持っているIoTの数はかなり少ないと考えられます。
脆弱性を指摘されたメーカーは「ファームウェアアップデートで対応する」と言いますが、実際国内の電球やコーヒーメーカーや電子錠はファームウェアアップデート機能を適切に実装できているのか、調べる必要性はありそうです。
(図)安全なファームウェアアップデートとは
IoTセキュリティに関する課題・知見を共有する場が欲しいなといった所で、facebookページで「IoTSecJP」が取れたので、どんなものにするか何も決まってませんけど、とりあえずYahoo知恵袋の感覚でコミュニティ作れればと思って作ったので是非ご参加ください。
https://www.facebook.com/IoTSecJP/
(1)一般消費者向けIoTセキュリティについて
(2)IoT診断について
(3)IoT診断士の育成について
(4)気になったIoTニュースを投げて議論する
イメージとしては、こんな感じで議論できれば最高ですね。
(図)「中国製ネットワークカメラが勝手に動き出して中国語が聞こえてきた怖い話」での会話
(図)お・わ・り