何年も前から「Internet of Things(IoT)」は流行語になっていますが、身の周りの変化にお気付きでしょうか。自宅について少し考えてみてください。接続されているデバイスの名前をいくつ挙げることができますか? 分かりやすい例としてワイヤレスルーターが挙げられます。テレビなどのエンターテイメント機器は24時間365日オンライン稼働しています。自宅の照明システムや電球ソケットにもワイヤレスコントロールできるものがあります。快適な照明に加えて、暖房やエアコン、掃除機や芝刈り機などの機器も便利な遠隔操作タイプにした方もいるでしょう。自宅の安全を確保するために、ビデオ監視システム/ビデオ・ドアベルや、動き、温度、漏洩、煙を検知するワイヤレスセンサー一式を装備することも考えられます。赤ちゃんやペットがいる場合は、健康状態を監視する機器を使用しているかもしれません。全部で何台のデバイスが接続されているのでしょうか? Defensicsのオフィスで実施した簡単なアンケートでは、平均21台、全回答の範囲は5~60台でした。
スマートホームは、アプライアンスやデバイスに接続してリモートで監視・制御できる機能を備えた住宅ですが、スマートホームデバイスの公式リストが存在しないため、スマートデバイスの機能をフルに活用してホームオートメーションを実現している家庭は少数派です。スマートインテリジェンスを利用することで、デバイスをインターネットや他のデバイスに接続することが可能になります。一般的な住宅用の接続デバイスは3種類あります。
これらのデバイスを組み合せて、図1に示すホームネットワークトポロジを形成します。
図1:一般的なスマートホームネットワーク・トポロジ
通常、スマートデバイスはデバイスベンダーのクラウドに接続され、各ベンダーのスマートフォンアプリケーションでデバイスを制御して自動化システムを構築します。異なるベンダーのデバイス間には相互通信機能がなく、ベンダー固有の方法で通信を行っているため、これがスマートホームオートメーションの問題点となります。さらに、通信に使用されるワイヤレスプロトコルはデバイスによって異なるため、自宅内のデバイスネットワークが拡大するほど、デバイスの相互運用性と信頼性の問題が重大になります。
通常、スマートデバイスのプロトコルは、帯域幅、通信範囲、トポロジの要件に基づいて選択されます。一般に、帯域幅が狭いほど消費電力が少なくなるという特性は、バッテリ駆動デバイスにおいて重要な意味を持ちます。広く利用されているワイヤレスプロトコルを以下に示します。
スマートホーム規格「Matter」は、スマートホームデバイス、モバイルアプリケーション、クラウドサービス間で、セキュアで信頼性の高いシームレスな通信を実現するスマートホームテクノロジーの標準規格を策定するために業界が継続的に推進している取り組みです。この規格は、新しいワイヤレステクノロジーを定義するものではなく、選択されたトランスポート層のIPレベルの標準化(Ethernet、WLAN、Thread)を定義しています。将来的には、Matter対応デバイスを設定するために、Bluetooth接続に加えて、Bluetooth LE接続もサポートされる可能性があります。
最新のデジタルガジェットの信頼性の問題は許容範囲としても、電球の問題は許容できません。ホームネットワーク上の通信のセキュリティと信頼性を確保するには長いチェックリストをクリアする必要がありますが、自宅に接続された機器が増えるにつれ、無線信号が屋外に漏えいする可能性に注意が必要です。通常はホームオートメーションのために隣家のデバイスと通信することはないとしても、無線ネットワークは重複しています。重複するネットワーク間でコードを伝播する方法を攻撃者が見つけた場合、セキュリティ上のリスクになる可能性があり、これは明らかに通信の信頼性の課題です。
多くのデバイスベンダーは、相互運用性を高めるために、デバイスにプロトコル固有の認定プログラムを導入しています。認証テストは機能テストを主体とし、有効な入力を投入して出力結果を正しい値または期待される値と比較します。機能テストでは、通常の状況ですべてが正しく機能することを検証しますが、意味不明な入力データや順序が間違っている入力が送信された場合はどうなるでしょうか?
ファジングテスト(ファジング)は、機能テストを補完し、無効、不正、または予期しない入力をシステムに挿入してソフトウェアの欠陥や脆弱性を明らかにする自動化されたソフトウェアテスト手法です。ファジングは、テスト対象のセキュリティ、信頼性、パフォーマンス、およびその他の品質の問題を検出するための実績あるテスト方法です。高セキュリティ・高信頼性の通信デバイスを装備するためには、ファジングの効果を無視することはできません。
ワイヤレスネットワークのファジングに15年以上の経験があるDefensicsチームは、複数の脆弱性を発見して報告しましたが、認証されていないプロトコルメッセージが1つあるだけでもテスト対象に障害が発生するので、問題ははるかに多くなります。障害発生後、一部のデバイスは自動的に再起動しますが、正常な機能を回復するためにデバイスの電源ケーブルを取り外す必要がある場合もあります。スマートホームデバイスは、手の届きにくい場所にある場合もあれば、数が膨大な場合もあります。たとえば、ファジングの結果としてスマート電球がメッシュネットワークから脱落するのを見ると、家中の照明のネットワークを再構築する苦労を想像することができます。最悪の場合、ファジングデータがネットワーク保護メカニズムをバイパス(迂回)してネットワークに挿入される可能性があります。このような場合、悪意のある攻撃者は、路上から、または空中からドローンで、ワイヤレスネットワークを簡単に汚染することが可能になり、最悪の場合、他のネットワークに汚染が波及する可能性があります。攻撃者は、ワイヤレスプロトコルをファジングして発見した情報漏洩などの脆弱性を利用して、スマートデバイスからホームネットワークにアクセスし、インターネットからバックドアを仕込む可能性があります。
サイバーセキュリティ攻撃の結果として、不正な形式のワイヤレスフレームが生じる可能性がありますが、隣接機器でプロトコル仕様の解釈が異なっていたり、コーディングエラーやハードウェアの誤動作が発生したことが原因で生じる場合もあります。不正な形式のデータだけでなく、プロトコルデータを処理するコードのオフバイワン・エラーなどの論理エラーも問題発生の原因になる可能性があります。モデルベースのプロトコル対応ファジングテスト・ツールにより、プロトコル仕様に準拠したすべてのチェックサム、長さ、暗号化を含むメッセージを使用して、プロトコル内の各フィールドの最小値と最大値をテストします。
機能を付加するには、多くの場合、ベンダー固有のデータをプロトコルに追加する必要があります。一部のプロトコルはこのための仕組みを定めていますが、ピギーバック(共連れ)により、有効なプロトコルメッセージに便乗してベンダー固有のデータをプロトコル予約ブロックまたは有効な構造体の最後に追加できる場合があります。通常、追加データは他のデバイスによって認識・処理されないため問題になりませんが、通信の両側のベンダーがピギーバックを行っている場合、自社にとっては無効な追加データを処理してしまう可能性があります。プロトコル仕様が更新され、追加データが更新後のプロトコル仕様に準拠した新しい有効なデータ領域と重複する場合も、同じ状況が発生します。拡張を行わなくても、プロトコルバージョンの相違や適応エラーにより、無意味なデータがネットワーク上に発生するリスクが高まります。
もう一つの例として、ハードウェアの誤動作が挙げられます。センサーは温度、湿度、気圧を報告し、各値は32ビットの数値で表されるため、1つのメッセージに3つの値すべてを含める必要があります。たとえば、空気圧検出コンポーネントが突然応答を停止したとします。0x00000000、0xFFFFFFFF、またはメッセージからこの値を除外したネットワークアドレスにセンサーコードを通知できます。センサーの値を処理するコードは、これらすべての可能性に対応できるように準備されていますか? 空気圧がゼロであってはならないため、ゼロ除算によるクラッシュが発生する可能性があります。
典型的なエラーとして、符号なしの値を符号付きの型で処理したために、符号なしの最大値が予期しない状況を引き起こす場合があります。データの反復や欠落も、コードで処理されない状況が発生する原因になります。プロトコル対応のファジングテスト・ツールを利用することで、ネットワーク内のセンサーが破損する前にこれらの条件のすべてをテストできます。
次の表は、最大値によって発生する可能性がある2種類の問題を示しています。
業界は現在、すべてのデバイスがシームレスに相互通信できるように努力しており、これは消費者にとっては朗報ですが、さまざまなベンダーのデバイスが混在する大規模なネットワークの形成につながります。デバイスの観点からは、同じネットワーク内のデバイス品質を信頼できません。有名ブランドが提供している照明ゲートウェイ用スターティングキットをノーブランドのデバイスで拡張する状況を想像してみてください。プロトコル内の予期しないデータにより、ブランドのデバイスの動作は不安定になりますが、ノーブランドのデバイスは正常に機能します。異種のデバイスが混在するネットワーク上で、予期しないあらゆる状況に対応してデバイスの動作を確保することが重要です。
efensicsは、ほとんどのスマートホーム向けワイヤレスおよびIoTプロトコル、さらに300を超えるその他のプロトコルをサポートする、包括的で強力な自動化されたブラックボックス・ソリューションです。Defensicsは、テスト対象のプロトコルを認識しているジェネレーション(世代)型ファジングテスト・ツールです。Synopsysのすべてのワイヤレステストは、デバイスをボックス化して無線(OTA)で実行できるため、ソースコードへのアクセスが不要です。ファジングテストをCI/CDパイプラインに統合する場合、Defensicsでは、Jenkinsプラグイン、CLI、REST APIを利用したヘッドレステストの統合が可能です。3つの統合インターフェイスはすべて、ファジングテスト・ツールの設定、テストの実行と進行状況の追跡、テストレポートのエクスポートの基本的なワークフローを実現します。
セキュアで信頼性の高いスマートホームデバイスを実装するには、プロトコルのファジングテストをチェックリストに含める必要があり、そのチェックリストにDefensicsを加えることができます。