IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ アイオーエックスティー、エルエルシーの特許一覧

特表2022-546925IoTデバイスにおける攻撃保護のためのシステムおよび方法
<>
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図1A
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図1B
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図2A
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図2B
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図2C
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図3
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図4
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図5
  • 特表-IoTデバイスにおける攻撃保護のためのシステムおよび方法 図6
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2022-11-10
(54)【発明の名称】IoTデバイスにおける攻撃保護のためのシステムおよび方法
(51)【国際特許分類】
   H04L 43/08 20220101AFI20221102BHJP
【FI】
H04L43/08
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2022506288
(86)(22)【出願日】2020-07-31
(85)【翻訳文提出日】2022-02-21
(86)【国際出願番号】 US2020044587
(87)【国際公開番号】W WO2021022202
(87)【国際公開日】2021-02-04
(31)【優先権主張番号】62/881,218
(32)【優先日】2019-07-31
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/881,870
(32)【優先日】2019-08-01
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】519127328
【氏名又は名称】アイオーエックスティー、エルエルシー
(74)【代理人】
【識別番号】100207837
【弁理士】
【氏名又は名称】小松原 寿美
(74)【代理人】
【識別番号】100214640
【弁理士】
【氏名又は名称】立山 千晶
(72)【発明者】
【氏名】リー、ブラッド
(72)【発明者】
【氏名】トリベルピース、クレイグ
(57)【要約】
モノのインターネットのデバイスが本明細書に開示される。モノのインターネットのデバイスは、コンピュータネットワークに通信可能に接続する回路を有する通信モジュールと、データを格納するように動作可能なメモリと、メモリと通信モジュールとに接続されてメモリに格納された命令を実行するように動作可能なプロセッサと、センサおよび制御デバイスのうちの少なくとも1つを含むアクティビティモジュールと、を含む。アクティビティモジュールは、プロセッサの制御下で動作して、センサおよび制御デバイスのうちの少なくとも1つを用いて指定アクティビティを実行する。アクティビティモジュールはさらに、通信モジュールを介してコンピュータネットワーク上で通信する。システムパラメータの測定値が閾値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減する。
【特許請求の範囲】
【請求項1】
モノのインターネットのデバイスであって、
コンピュータネットワークに通信可能に接続するように動作可能な回路を有する通信モジュールと、
データを格納するように動作可能なメモリと、
前記メモリと前記通信モジュールとに接続されるとともに、前記メモリに格納された命令を実行するように動作可能なプロセッサと、
センサおよび制御デバイスの少なくとも1つを含むアクティビティモジュールであって、前記アクティビティモジュールは前記プロセッサの制御下で動作して、前記センサおよび前記制御デバイスの少なくとも1つを用いて指定アクティビティを実行し、前記アクティビティモジュールは前記通信モジュールを介して前記コンピュータネットワーク上で通信するようにさらに動作可能である、前記アクティビティモジュールと、
を備え、
前記プロセッサは、システムパラメータの測定値が閾値を超えると、前記コンピュータネットワーク上の前記通信モジュールの通信量を削減するようにさらに動作可能である、モノのインターネットのデバイス。
【請求項2】
前記コンピュータネットワークが広域ネットワーク(WAN)である、請求項1に記載のモノのインターネットのデバイス。
【請求項3】
前記システムパラメータの前記測定値が所定の期間にわたって前記閾値を超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するように動作可能である、請求項1乃至2のいずれか1項に記載のモノのインターネットのデバイス。
【請求項4】
前記通信モジュールに電力を供給する回路を有する電力モジュールをさらに備え、前記システムパラメータは、前記電力モジュールによって供給される電力であり、前記電力モジュールによって供給される前記電力が閾値電力値を超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するように動作可能である、請求項1乃至3のいずれか1項に記載のモノのインターネットのデバイス。
【請求項5】
前記電力モジュールによって供給される前記電力が所定の期間にわたって前記閾値電力値を超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するように動作可能である、請求項4に記載のモノのインターネットのデバイス。
【請求項6】
前記システムパラメータが前記通信モジュールの送信時間であり、前記通信モジュールの前記送信時間が送信時間値を超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するように動作可能である、請求項1乃至5のいずれか1項に記載のモノのインターネットのデバイス。
【請求項7】
前記通信モジュールが媒体アクセス制御(MAC)動作層で制御され、前記システムパラメータがMAC層で測定された前記通信モジュールの送信時間であり、前記MAC層で測定された前記通信モジュールの前記送信時間が送信時間値を超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するように動作可能である、請求項1乃至6のいずれか1項に記載のモノのインターネットのデバイス。
【請求項8】
前記通信モジュールが物理(PHY)動作層で制御され、前記システムパラメータがPHY層で測定された前記通信モジュールの送信時間であり、前記PHY層で測定された前記通信モジュールの前記送信時間が送信時間値を超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するように動作可能である、請求項1乃至7のいずれか1項に記載のモノのインターネットのデバイス。
【請求項9】
前記プロセッサは、前記アクティビティモジュールが非アクティブである期間中に前記システムパラメータの値を測定して、前記アクティビティモジュールが非アクティブであるときの非アクティブパラメータ閾値を確立するように動作可能であり、前記アクティビティモジュールが非アクティブであるときの前記非アクティブパラメータ閾値を前記システムパラメータが超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するようにさらに動作可能である、請求項1乃至8のいずれか1項に記載のモノのインターネットのデバイス。
【請求項10】
前記プロセッサは、前記アクティビティモジュールがアクティブである期間中に前記システムパラメータの値を測定して、前記アクティビティモジュールがアクティブであるときのアクティブパラメータ閾値を確立するように動作可能であり、前記アクティビティモジュールがアクティブであるときの前記アクティブパラメータ閾値を前記システムパラメータが超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するようにさらに動作可能である、請求項1乃至9のいずれか1項に記載のモノのインターネットのデバイス。
【請求項11】
前記プロセッサは、前記アクティビティモジュールのアクティビティの複数のレベルを監視し、前記アクティビティモジュールが第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値、および前記アクティビティモジュールが第2のアクティビティレベルにあるときの第2のアクティブパラメータ閾値を確立するように動作可能であり、前記アクティビティモジュールが前記第1のアクティビティレベルにあるときの前記第1のアクティブパラメータ閾値を前記システムパラメータが超えるか、または、前記アクティビティモジュールが前記第2のアクティビティレベルにあるときの前記第2のアクティブパラメータ閾値を前記システムパラメータが超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するように動作可能である、請求項10に記載のモノのインターネットのデバイス。
【請求項12】
前記第1のアクティビティレベルが第1の動作パラメータを有し、前記第2のアクティビティレベルが前記第1の動作パラメータよりも大きい第2の動作パラメータを有する、請求項11に記載のモノのインターネットのデバイス。
【請求項13】
前記第1のアクティビティレベルがトリクルアクティビティレベルである、請求項12に記載のモノのインターネットのデバイス。
【請求項14】
前記第1のアクティビティレベルが通常アクティビティレベルである、請求項12に記載のモノのインターネットのデバイス。
【請求項15】
前記第2のアクティビティレベルがハイパーアクティビティレベルである、請求項12乃至14のいずれか1項に記載のモノのインターネットのデバイス。
【請求項16】
電力モジュールをさらに備え、前記システムパラメータが前記電力モジュールによって供給される電力であり、前記プロセッサが、前記アクティビティモジュールが非アクティブである期間中に前記電力モジュールによって供給される前記電力の値を測定して、前記アクティビティモジュールが非アクティブであるときの非アクティブ電力パラメータ閾値を確立するように動作可能であり、前記アクティビティモジュールが非アクティブであるときの前記非アクティブ電力パラメータ閾値を前記システムパラメータが超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するようにさらに動作可能である、請求項1乃至15のいずれか1項に記載のモノのインターネットのデバイス。
【請求項17】
前記プロセッサが、前記アクティビティモジュールが非アクティブである複数の期間中に前記電力モジュールによって供給される前記電力の値を測定して、前記アクティビティモジュールが非アクティブであるときの前記非アクティブ電力パラメータ閾値を確立するように動作可能である、請求項16に記載のモノのインターネットのデバイス。
【請求項18】
電力モジュールをさらに備え、前記システムパラメータが前記電力モジュールによって供給される電力であり、前記プロセッサが、前記アクティビティモジュールがアクティブである期間中に前記電力モジュールによって供給される前記電力の値を測定して、前記アクティビティモジュールがアクティブであるときのアクティブ電力パラメータ閾値を確立するように動作可能であり、前記アクティビティモジュールがアクティブであるときの前記アクティブ電力パラメータ閾値を前記システムパラメータが超えると、前記プロセッサは、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減するようにさらに動作可能である、請求項1乃至17のいずれか1項に記載のモノのインターネットのデバイス。
【請求項19】
前記プロセッサは、前記アクティビティモジュールがアクティブである複数の期間中に前記電力モジュールによって供給される前記電力の値を測定して、前記アクティビティモジュールがアクティブであるときの前記アクティブ電力パラメータ閾値を確立するように動作可能である、請求項18に記載のモノのインターネットのデバイス。
【請求項20】
前記システムパラメータの前記閾値が初期値を有し、前記初期値が前記メモリ内にプログラムされている、請求項1乃至19のいずれか1項に記載のモノのインターネットのデバイス。
【請求項21】
前記システムパラメータの前記閾値が初期値を有し、前記コンピュータネットワークに通信可能に接続されている別のモノのインターネットのデバイスによって提供される閾値データを使用して前記初期値が前記メモリ内にプログラムされる、請求項1乃至20のいずれか1項に記載のモノのインターネットのデバイス。
【請求項22】
モノのインターネットのデバイスを動作させる方法であって、
前記モノのインターネットのデバイスの電気回路に電力を供給することと、
トランシーバと通信モジュールとの回路を使用して、前記モノのインターネットのデバイスをコンピュータネットワークに通信可能に接続することと、
検出回路を動作させて、前記通信モジュールのアクティビティのレベルを間接的に監視することと、
前記通信モジュールのアクティビティの前記レベルが閾値を超えているかどうかを判断することと、
前記通信モジュールのアクティビティの前記レベルが前記閾値を超えると、前記モノのインターネットのデバイスと前記コンピュータネットワークとの間の通信量を削減することと、
を備える方法。
【請求項23】
前記コンピュータネットワークが広域ネットワーク(WAN)である、請求項22に記載の方法。
【請求項24】
前記モノのインターネットのデバイスが有線接続を使用して前記コンピュータネットワークに接続され、前記トランシーバが有線ネットワーク接続へのインターフェースを備える、請求項22乃至23のいずれか1項に記載の方法。
【請求項25】
前記モノのインターネットのデバイスが無線接続を使用して前記コンピュータネットワークに接続され、前記トランシーバが前記モノのインターネットのデバイスを無線ネットワーク接続に通信可能に接続するための無線トランシーバを備える、請求項22乃至24のいずれか1項に記載の方法。
【請求項26】
前記通信モジュールのアクティビティの前記レベルを監視することは、前記電気回路に供給される電力のレベルを監視することを含み、前記電気回路に供給される電力の前記レベルが閾値電力値を超えると、前記トランシーバと前記コンピュータネットワークとの間の前記通信量が削減される、請求項22乃至25のいずれか1項に記載の方法。
【請求項27】
電力の前記レベルが所定の期間にわたって前記閾値電力値を超えると、前記モノのインターネットのデバイスと前記コンピュータネットワークとの間の前記通信量が削減される、請求項26に記載の方法。
【請求項28】
前記通信モジュールのアクティビティの前記レベルを監視することは、前記通信モジュールの送信時間を監視することを備え、前記通信モジュールの前記送信時間が前記閾値を超えると、前記モノのインターネットのデバイスと前記コンピュータネットワークとの間の前記通信量が削減される、請求項22乃至27のいずれか1項に記載の方法。
【請求項29】
前記モノのインターネットのデバイスがアクティブである期間中に前記通信モジュールのアクティビティの前記レベルを監視して、前記モノのインターネットのデバイスがアクティブであるときのアクティブ通信モジュール閾値を確立すること
をさらに備え、
前記モノのインターネットのデバイスと前記コンピュータネットワークとの間の前記通信量を削減することは、前記通信モジュールのアクティビティの前記レベルが前記モノのインターネットのデバイスがアクティブであるときの前記アクティブ通信モジュール閾値を超えると、前記モノのインターネットのデバイスと前記コンピュータネットワークとの間の前記通信量を削減することとしてさらに定義される、請求項22乃至28のいずれか1項に記載の方法。
【請求項30】
前記通信モジュールのアクティビティの前記レベルを監視することは、前記通信モジュールのアクティビティの複数のレベルを監視することと、前記通信モジュールが第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値と前記通信モジュールが第2のアクティビティレベルにあるときの第2のパラメータ閾値とを確立することと、を含み、前記コンピュータネットワーク上の前記通信モジュールの前記通信量を削減することは、前記通信モジュールが前記第1のアクティビティレベルにあるときの前記第1のアクティブパラメータ閾値を前記通信モジュールのアクティビティの前記レベルが超えると前記モノのインターネットデバイスと前記コンピュータネットワークとの間の前記通信量を削減すること、または、前記通信モジュールが前記第2のアクティビティレベルにあるときの第2のアクティブパラメータ閾値を前記通信モジュールのアクティビティの前記レベルが超えると前記モノのインターネットのデバイスと前記コンピュータネットワークとの間の前記通信量を削減すること、を含む、請求項29に記載の方法。
【請求項31】
前記第1のアクティビティレベルが第1の動作パラメータを有し、前記第2のアクティビティレベルが前記第1の動作パラメータよりも大きい第2の動作パラメータを有する、請求項30に記載の方法。
【請求項32】
前記第1のアクティビティレベルがトリクルアクティビティレベルである、請求項31に記載の方法。
【請求項33】
前記第1のアクティビティレベルが通常アクティビティレベルである、請求項31に記載の方法。
【請求項34】
前記第2のアクティビティレベルがハイパーアクティビティレベルである、請求項31乃至33のいずれか1項に記載の方法。
【請求項35】
前記モノのインターネットのデバイスがアクティブである期間中に前記通信モジュールのアクティビティの前記レベルを監視することは、
前記モノのインターネットのデバイスがアクティブである複数の期間中に前記通信モジュールのアクティビティの前記レベルを監視して、前記モノのインターネットのデバイスがアクティブであるときのアクティブ通信モジュール閾値を確立すること
を備える、請求項27に記載の方法。
【請求項36】
前記モノのインターネットのデバイスが非アクティブである期間中に前記通信モジュールのアクティビティの前記レベルを監視して、前記モノのインターネットのデバイスが非アクティブであるときの非アクティブ通信回路閾値を確立することと、
前記通信モジュールのアクティビティの前記レベルが、前記モノのインターネットのデバイスが非アクティブであるときの確立された非アクティブパラメータ閾値を超えると、前記モノのインターネットのデバイスと前記コンピュータネットワークとの間の前記通信量を削減することと、
をさらに備える、請求項22乃至35のいずれか1項に記載の方法。
【請求項37】
前記モノのインターネットのデバイスが非アクティブである期間中に前記通信モジュールのアクティビティの前記レベルを監視することは、
前記モノのインターネットのデバイスが非アクティブである複数の期間中に前記通信モジュールのアクティビティの前記レベルを監視して、前記モノのインターネットのデバイスが非アクティブであるときの前記非アクティブ通信回路閾値を確立すること
を備える、請求項36に記載の方法。
【請求項38】
前記通信モジュールのアクティビティの前記レベルの前記閾値が初期値を有し、前記方法は、前記モノのインターネットのデバイスの製造中に前記モノのインターネットのデバイスのメモリ内に前記初期値をプログラムすることをさらに備える、請求項22乃至37のいずれか1項に記載の方法。
【請求項39】
前記通信モジュールのアクティビティの前記レベルの前記閾値が初期値を有し、前記方法はさらに、前記モノのインターネットのデバイスがセットアップモードを有して、前記セットアップモード中に前記初期値が前記モノのインターネットのデバイスのメモリ内にプログラムされることをさらに備える、請求項22乃至38のいずれか1項に記載の方法。
【請求項40】
前記通信モジュールのアクティビティの前記レベルの前記閾値が初期値を有し、前記方法はさらに、前記モノのインターネットのデバイスが、前記コンピュータネットワークに通信可能に接続された別のモノのインターネットのデバイスによって提供される閾値データを受信して、別のモノのインターネットのデバイスによって提供される前記閾値データを使用して前記モノのインターネットのデバイスのメモリ内に前記初期値をプログラムすることを備える、請求項22乃至39のいずれか1項に記載の方法。
【請求項41】
前記通信モジュールのアクティビティの前記レベルの前記閾値が初期値を有し、前記モノのインターネットのデバイスの動作が前記初期値を使用して動作を開始し、前記方法はさらに、
前記モノのインターネットのデバイスを機械学習モードで動作させること、ここで、前記モノのインターネットのデバイスが前記通信モジュールのアクティビティの前記レベルの通常動作値を学習し、
前記モノのインターネットのデバイスの後続動作が前記通信モジュールのアクティビティの前記レベルの前記通常動作値を使用するように前記初期値を置き換えることと、
を備える、請求項22乃至40のいずれか1項に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は概して、ネットワーク接続されたデバイス、より具体的には、そのようなデバイスに対する攻撃を防止するためのシステムおよび方法に関する。
【背景技術】
【0002】
最近、デバイスの多数のアレイがインターネット等のネットワークに接続されている。多くの場合にモノのインターネット(IoT:Internet of Things)と呼ばれるこのアレイには、温度センサ、圧力センサ、水分センサ、光センサ、モーションセンサ等のセンサが含まれる。これらのセンサは、インターネット接続されており、リモートアクセスされる。例えば、温度センサは、家屋、冷蔵庫、または冷凍庫の温度を監視できる。温度は、モバイル通信デバイス(例えば、携帯電話)等のユーザのデバイスにリモートで報告されることができる。同様に、水分センサは、洗濯機または給湯器からの水漏れを報告することができる。モーションセンサは、セキュリティシステムの一部として使用されることができる。
【0003】
他のIoTデバイスは、リモート制御ビデオモニタ、温度コントローラ等、といったアクティブデバイスである。自動車におけるアクティブIoTデバイスにより、ユーザは、リモートで車を始動してエンジンを暖気すること、または、車内温度を調整することができる。すべてのIoTデバイスに共通する特徴は、インターネットを使用して通信する能力である。この共通特徴は、IoTデバイスの潜在的な欠点でもある。IoTデバイスにセキュリティが欠如していると、多くの場合、該IoTデバイスは、悪意のある個人による攻撃に対して脆弱になる。
【0004】
主要なインターネット停止は、接続されているIoTデバイスのハッキングによって引き起こされており、該IoTデバイスに、特定ウェブサイトまたはインターネットインフラストラクチャへ同時にインターネットトラフィックを向けさせる。これらは共通して「IoTロボット(BOT)攻撃」と呼ばれる。分散型サービス拒否(DDoS:distributed denial of service)攻撃等の他のタイプのIoT攻撃は、有線および無線通信システムでトラフィックのフラッディングをリモートで引き起こし、それらを効果的にシャットダウンし、または、それらのパフォーマンスを不自由にさせる。攻撃の中には、単に、何年ももつように設計されたバッテリが数ヶ月または数週間に短縮されるように過度の電力消費を引き起こそうとしてきたものもある。場合によっては、デバイスソフトウェアのバグまたは他の障害により、同様のタイプの過度の通信トラフィックが引き起こされてきた。ハッキングされているか、ハッキングされていると考えられるか、BOT攻撃の一部であるか、または、ソフトウェアバグもしくは他の障害に遭遇しているIoTデバイスは、侵害されているかまたは感染していると考えられ得る。
【0005】
これらの攻撃に対する防御のほとんどは、予防的ではなく反応的であった。反応的な応答は、損傷を軽減または制御しようとするが、実際には解決策ではない。世界でさらに数十億のIoTデバイスが導入されると、問題はさらなる悪化の一途を辿るであろう。
【0006】
必要なのは、ソース、すなわちIoTデバイスでこれらの攻撃を検出して阻止する解決策である。この本開示は、IoTデバイスのソフトウェアが完全に侵害された場合であっても攻撃を検出して最小化または阻止する方法を説明している。
【発明の概要】
【0007】
モノのインターネットのデバイスが本明細書に開示されている。IoTデバイスのソフトウェアが完全に侵害された場合であっても攻撃を検出して最小化または阻止する課題は、コンピュータネットワークに通信可能に接続する回路を有する通信モジュールと、データを格納するように動作可能なメモリと、メモリと通信モジュールとに接続されてメモリに格納された命令を実行するように動作可能なプロセッサと、センサおよび制御デバイスのうちの少なくとも1つを含むアクティビティモジュールと、を備えたモノのインターネットのデバイスによって対処される。アクティビティモジュールは、プロセッサの制御下で動作して、センサおよび制御デバイスのうちの少なくとも1つを用いて指定アクティビティを実行する。アクティビティモジュールはさらに、通信モジュールを介してコンピュータネットワーク上で通信する。システムパラメータの測定値が閾値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減する。
【0008】
この明細書に組み込まれ、その一部を構成する添付図面は、本明細書で説明される1つ以上の実施形態を示し、詳細な説明とともに、これらの実施形態を説明する。図面は縮尺通りに描かれることが意図されておらず、図面の特定の特徴および特定の図は、明確さおよび簡潔さのために、誇張されて、縮尺されて、または概略的に示され得る。すべての構成要素がすべての図面でラベル付けされているわけではない。図面中の同様の参照符号は、同じかまたは類似の要素または機能を表し、それらを参照し得る。
【図面の簡単な説明】
【0009】
図1A】本開示に従って実装されたシステムアーキテクチャの図である。
図1B】本開示に従って実装されたシステムアーキテクチャの別の実施形態の図である。
図2A】本開示に従って構築されたIoTデバイスの機能ブロック図である。
図2B】本開示に従って構築された検出回路の例示的実施形態の機能ブロック図である。
図2C】本開示に従って構築された電力モジュールの例示的実施形態の機能ブロック図である。
図3】典型的なIoT接続デバイスおよび様々なパラメータ測定点のブロック図を示す。
図4】本開示に従って構築されたIoTデバイスの動作を示すフローチャートである。
図5】送信器フィルタリングプロセスの例示的実施形態の図である。
図6】受信器フィルタリングプロセスの例示的実施形態の図である。
【発明を実施するための形態】
【0010】
本開示の少なくとも1つの実施形態を詳細に説明する前に、本開示はその適用において、特に断りのない限り、以下の説明に記載された、または図面に示された、構造、実験、例示的データ、および/または構成要素の配置の詳細に限定されないことを理解されたい。本開示は、他の実施形態が可能であるか、または様々な方法で実践または実施することができる。また、本明細書で採用される術語および用語は、説明を目的とするものであり、限定的なものと見なされるべきではないことを理解されたい。
【0011】
本明細書の説明において使用される場合、用語「備える」、「備えている」、「含む」、「含んでいる」、「有する」、「有している」、またはそれらの任意の他の変形は、非排他的包含をカバーすることを意図している。例えば、特に断りのない限り、要素のリストを備えるプロセス、方法、物品、または装置は、必ずしもそれらの要素のみに限定されるわけではなく、そのようなプロセス、方法、物品、または装置に明示的にリストされていないか、または固有ではない他の要素も含み得る。
【0012】
さらに、明示的に反対に述べられていない限り、「または」は包含的なものを指し、排他的な「または」ではない。例えば、条件AまたはBは、次のいずれかによって満たされる。すなわち、Aが真(すなわち存在する)でBが偽(すなわち存在しない)、Aが偽(すなわち存在しない)でBが真(すなわち存在する)、および、AとBとの両方が真(すなわち存在する)。
【0013】
加えて、「a」または「an」の使用は、本明細書の実施形態の要素および構成要素を説明するために採用される。これは、単に便宜上、本発明の概念の一般的な意味を与えるために行われる。この説明は、1つ以上を含むように読まれるべきであり、別の意味であることが明らかでない限り、単数形には複数形も含まれる。さらに、「複数」という用語の使用は、明示的に反対の記載がない限り、「1つ超」を伝えることを意味する。
【0014】
本明細書で使用される場合、「一実施形態」、「実施形態」、「いくつかの実施形態」、「一例」、「例えば」、または「例」への任意の言及は、実施形態に関連して説明される特定の要素、特徴、構造、または特性が、少なくとも1つの実施形態に含まれ、他の実施形態と併せて使用され得ることを意味する。本明細書の様々な場所における「いくつかの実施形態において」または「一例において」という句の出現は、例えば、必ずしもすべてが同じ実施形態を指すとは限らない。
【0015】
序数の用語(すなわち、「第1」、「第2」、「第3」、「第4」等)の使用は、単に2つ以上の項目を区別することを目的とし、別様に明記しない限り、ある項目が別の項目よりも重要な、いかなる順序または順番も意味するものではない。
【0016】
「少なくとも1つ」または「1つ以上」という用語の使用は、1つ、および1つ超の任意の量を含むと理解されるであろう。加えて、「X、Y、およびZの少なくとも1つ」という句の使用は、Xのみ、Yのみ、およびZのみ、ならびに、X、Y、およびZの任意の組み合わせを含むと理解されるであろう。
【0017】
本明細書で使用される「回路」または「電気回路」は、アナログ構成要素および/またはデジタル構成要素、または1つ以上の適切にプログラムされたプロセッサ(例えば、マイクロプロセッサ)ならびに関連するハードウェアおよびソフトウェア、またはハードワイヤードロジックであり得る。また、「構成要素」は1つ以上の機能を実行し得る。「構成要素」という用語は、プロセッサ(例えば、マイクロプロセッサ)、特定用途向け集積回路(ASIC:application specific integrated circuit)、フィールドプログラマブルゲートアレイ(FPGA:field programmable gate array)、ハードウェアとソフトウェアとの組み合わせ、および/または同様のもの等のハードウェアを含み得る。本明細書で使用される「プロセッサ」という用語は、タスクを集合的に実行するために独立してまたは一緒に作動する単一のプロセッサまたは複数のプロセッサを意味する。
【0018】
ソフトウェアは、1つ以上の構成要素によって実行されたときに構成要素に特定の機能を実行させる1つ以上のコンピュータ可読命令を含み得る。本明細書で説明されるアルゴリズムは、1つ以上の非一時的コンピュータ可読媒体に記憶され得ることを理解されたい。例示的な非一時的コンピュータ可読媒体は、ランダムアクセスメモリ、読み取り専用メモリ、フラッシュメモリ、および/または同様のものを含み得る。そのような非一時的コンピュータ可読媒体は、電気ベース、光学ベース、磁気ベース、および/または同様のものであり得る。
【0019】
本明細書で使用される場合、攻撃は、インターネットトラフィックを、IoTデバイス、特定のウェブサイトサーバ、または特定のインターネットインフラストラクチャ等の標的デバイスに同時に向けることを含み得る。攻撃にはさらに、BOT攻撃、DDoS攻撃、および標的デバイスハードウェア攻撃(例えば、標的デバイスの過度の電力消費を引き起こす攻撃といったバッテリ攻撃、または標的デバイスの目的用途と矛盾する方法で標的デバイスのハードウェアの使用に影響を与えることを意図した標的デバイスの他の攻撃等)が含まれ得る。
【0020】
本開示は、一実施形態では、図1Aに示されるシステム100において実施され得る。システム100は、それぞれの通信リンク108a~nを介して、インターネット等の広域ネットワーク(WAN:wide area network)106に接続された複数のIoTデバイス102a~nを含む。システム100は、通信リンク108dを介してWAN106に接続されたコントローラ112も含む。IoTデバイス102a~nは、前述のもの等の任意のIoTデバイス102であり得る。しかし、システム100は、いかなる特定のタイプのIoTデバイス102a~nにも限定されない。通信リンク108a~nは、ネットワークトラフィックを通過させるための任意の形態の通信リンクを概して示すことを意図している。
【0021】
図1Bに示されているのは、コントローラ112、および少なくともいくつかのIoTデバイス102d~fがローカルエリアネットワーク114を介して通信することを除いて、システム100と構造および機能が類似しているシステム100aであり、ローカルエリアネットワーク114は、通信リンク108dを介してWAN106とインターフェースされ得る。ローカルエリアネットワーク114は、例えば、ホームネットワークまたはビジネスネットワークであり得る。この実施形態では、少なくともいくつかのIoTデバイス102d~fは、ローカルエリアネットワーク114を介して、またはネットワークサービスプロバイダを通じてWAN106と通信する。他の例では、少なくともいくつかのIoTデバイス102a~nは、セルラー無線通信システムの使用などによって、WAN106と直接通信する。
【0022】
ネットワークトラフィックは、データパケットとも呼ばれる1つ以上のネットワークパケットを含み得、これは、アクティブネットワーク接続中に、送信デバイス(例えば、IoTデバイス102a~nの1つ)から送信されて、受信デバイス(例えば、IoTデバイス102a~nの別の1つ、または攻撃を受けているデバイス)によって受信される。アクティブネットワーク接続は、送信デバイスと受信デバイスとの間の1つ以上の通信リンク108a~nと、WAN106と、の両方または一方によって形成され得る。通信ストリームには、送信デバイスから受信デバイスへのネットワークトラフィックが含まれ得る。各ネットワークパケットには、ヘッダ情報およびデータが含まれ得る。各IoTデバイス102に関連付けられた通信リンク108は、IoTデバイス102のいずれか1つが、WAN106を介してIoTデバイス102からコントローラ112または別のIoTデバイス102に通信ストリームとしてデータを送信することを可能にする。
【0023】
デバイスを無線で接続することも可能である。例えば、図1Aは、通信リンク108bを介してWAN106に接続されたIoTデバイス102bを示す。通信108bは、無線通信リンクとすることができる。この場合も、当業者は、通信リンク108bが無線アクセスポイント(図示せず)とのWi-Fi通信リンクであり得ることを理解するであろう。代替的に、通信リンク108bは、ブルートゥース(登録商標)通信リンクおよび同様のものまたはブルートゥース通信リンクもしくは同様のものであり得る。さらに別の実施形態では、通信リンク108bは、セルラー通信リンクであり得る。図1Aでは、明確にするために、無線アンテナ168(以下の図3に示されている)(例えば、携帯電話インフラストラクチャ、セルタワー、基地局等)は省略されている。しかし、当業者は、通信リンク108bが、いくつかの異なる既知の通信技術のいずれかを使用して実施され得ることを理解するであろう。
【0024】
一実施形態では、通信リンク108a~nは、1つ以上のIoTデバイス102a~n、コントローラ112、および/または、WAN106もしくはローカルエリアネットワーク114等のコンピュータネットワークに接続された別のIoTデバイス102a~nの間の双方向通信のための経路を示す。一実施形態では、WAN106は、ほぼすべてのタイプのコンピュータネットワークであり得るとともに、ワールドワイドウェブ(またはTCP/IPプロトコルを使用するインターネット)、ローカルエリアネットワーク(LAN:local area network)、ワイドエリアネットワーク(WAN)、メトロポリタンネットワーク、無線ネットワーク、セルラーネットワーク、グローバルシステムフォーモバイルコミュニケーションズ(GSM(登録商標):Global System for Mobile Communications)ネットワーク、符号分割多元接続(CDMA:code division multiple access)ネットワーク、3Gネットワーク、4Gネットワーク、5Gネットワーク、衛星ネットワーク、無線ネットワーク、光ネットワーク、ケーブルネットワーク、公衆交換電話ネットワーク、イーサネット(登録商標)ネットワーク、短距離無線ネットワーク(Zigbee(登録商標)ネットワーク、IEEE802.15.4/802.15.5ネットワーク、および/または同様のもの)、無線メッシュネットワーク、P2Pネットワーク、LPWANネットワーク、Z波ネットワーク、およびそれらの組み合わせ、ならびに/または同様のもの、等の1つ以上のネットワークトポロジおよび/またはプロトコルを使用することによって実装され得る。近い将来、本開示の実施形態は、より高度なネットワーキングトポロジおよび/またはプロトコルを使用し得ると考えられる。各通信リンク108a~nは、少なくとも部分的に、WAN106およびLAN114の両方または一方を実施するために使用される1つ以上のネットワークトポロジの1つ以上のプロトコルに基づいて実施され得る。したがって、1つ以上の通信リンク108a~nは、各通信リンク108を実施するために使用されるプロトコルおよび/またはネットワークハードウェアもしくはネットワークトポロジの特定の選択に依存しない。
【0025】
図1Aの実施形態では、各IoTデバイス102a~nは、通信リンク108およびWAN106を介してコントローラ112と通信する。コントローラ112は、パーソナルコンピュータ、ラップトップ、サーバ、モバイル通信デバイス(例えば、携帯電話、PDA)、スタンドアロンデバイス等、またはそれらのいくつかの組み合わせの一部として実施され得る。説明を簡単にするために、これらの様々な実施形態は、コントローラ112として図1Aに概して示されている。
【0026】
コントローラ112は、通信リンク108dを介してWAN106と通信する。通信リンク108dは、上記のように実装され得る。例えば、コントローラ112がPCである場合、通信リンク108dは、ネットワークサービスプロバイダへのイーサネット接続等の従来のネットワーク接続であり得る。通信リンク108dは、無線通信リンクでもあり得る。さらに別の実施形態では、コントローラ112がモバイル通信デバイスに実装されている場合、通信リンク108dは、セルラー通信リンクであり得る。
【0027】
コントローラ112は、LAN114に接続して通信するスタンドアロンコントローラであり得る。この実施形態では、コントローラ112は、ローカルLAN接続として実装された通信リンク108g~iを介して少なくとも1つのIoTデバイス102d~fと通信する。コントローラ112は、インターネットまたは別の外部ネットワークを介して複数のIoTデバイス102a~nのすべてに接続する必要はない。これらの様々な可能な実施形態では、インターネットサービスプロバイダ、ルータ、モデム、ゲートウェイ、セルラーインフラストラクチャ等への有線および無線接続等の従来のインフラストラクチャは、明確にするために省略されている。
【0028】
IoTデバイス102は、ハードウェアとソフトウェアとの組み合わせとして実装される。ソフトウェアは、ハッカーがIoTデバイス102のすべての態様を制御して上記の種類の攻撃を仕掛けることを可能にするリモートハッキングに対して、脆弱である。意図しないソフトウェアのバグは、これらの攻撃に似ている可能性のある誤動作を引き起こす可能性がある。攻撃を検出および防止するために、IoTデバイス102内のハードウェアは、好ましくはソフトウェアの制御外で、攻撃を検出および阻止する。攻撃モデルの例は、優先権米国仮特許出願第62/881218号にて「プロファイル」という用語を使用して説明されている。
【0029】
通信チャネル、すなわち、以下でより詳細に説明するように、IoTデバイス102a~nのトランシーバ132および/または通信モジュール130の使用は、IoTデバイス102における電力の最大の消費要因であることが多い。送信時、IoTデバイス102の電力消費はその最高レベルにあり、多くの場合、制御線は、図2に示されて以下でより詳細に説明されているように、トランシーバ132、または無線モジュールもしくはイーサネットサブシステム等の他の構成要素を、オンまたはオフにする。
【0030】
システム100は、システムパラメータ、例えば、電力消費の測定値を検出し、測定値が通常よりも高いかどうかを決定するためのシステムおよび方法を提供する。これは、送信の数および/または持続時間が通常のレベルの送信の数および/または持続時間を超えることによって引き起こされる可能性がある。システムパラメータの測定値が通常または閾値よりも高い場合、システムおよび方法は、送信を抑制または送信をオフにして、BOT攻撃およびDDoS攻撃等のIoT攻撃を阻止または大幅に制限し得る。加えて、本明細書で説明する制御メカニズムは、ハードウェアまたは侵害されたソフトウェアの制御外の場所のいずれかでこの検出と抑制とを行う。これにより、ソフトウェアがハッカーによって変更された場合であっても、攻撃の適切な検出と抑制とが保証される。検出の方法は、通信モジュール内等の直接的なものでも、または、電力消費変化または伝送時間の測定等の推測的なものでもあり得る。
【0031】
図2Aは、本開示に従って構築されたIoTデバイス102の例示的実施形態の機能ブロック図を示す。概して、IoTデバイス102は、プロセッサ120、メモリ122、電力モジュール124、センサ126、制御デバイス128、通信モジュール130、トランシーバ132、検出回路134、および/またはタイマ136等の複数の構成要素を含み、各構成要素は、バスシステム138を介して別の構成要素に接続されている。センサ126および制御デバイス128は、以下で説明するように、アクティビティモジュール140の構成要素である。IoTデバイス102は、プロセッサ120、メモリ122、センサ126、制御デバイス128、通信モジュール130、トランシーバ132、検出回路134、およびタイマ136を取り囲んでそれらを収容するハウジング142も含む。電力モジュール124の形態に応じて、ハウジング142は、電力モジュール124を取り囲んで収容してもよいし、または取り囲んで収容しなくてもよい。以下で説明するいくつかの実施形態では、電力モジュール124は、ハウジング142の外部にあり得る。当業者は、プロセッサ120が、従来のマイクロプロセッサ、特定用途向け集積回路(ASIC)、デジタル信号プロセッサ(DSP:digital signal processor)、プログラマブルゲートアレイ(PGA:programmable gate array)等として実装され得ることを理解するであろう。代替的に、プロセッサ120は、IoTデバイス102aの複雑さに応じて、個々の電気回路構成要素によって置き換えられ得る。IoTデバイス102は、プロセッサ120の特定の形態によって制限されない。追加的に、プロセッサ120は、タスクを集合的に実行するために独立してまたは一緒に作動する単一のプロセッサ120または複数のプロセッサ120を指し得る。一実施形態では、IoTデバイス102の複数の構成要素のうちの1つ以上は、システムオンチップ(SoC:System On a Chip)等の特定のチップ上またはその中の回路として実装され得る。
【0032】
図2AのIoTデバイス102は、メモリ122も含む。概して、メモリ122は、プロセッサ120および他の構成要素の両方または一方の動作を制御するためのコンピュータ実行可能命令およびデータを格納する1つ以上の非一時的コンピュータ可読媒体であり得る。メモリ122は、ランダムアクセスメモリ、読み取り専用メモリ、プログラマブルメモリ、フラッシュメモリ等を含み得る。IoTデバイス102は、メモリ122を実装するために使用される、いかなる特定形態のハードウェアによっても制限されない。メモリ122は、全体的または部分的にプロセッサ120と一体的にも形成され得る。
【0033】
IoTデバイス102は、電力モジュール124も含む。ここで図2Bを参照すると、本開示に従って構築された電力モジュール124の例示的実施形態のブロック図がそこに示されている。一実施形態では、電力モジュール124は、ハウジング142内に配置され、プロセッサ350、メモリ354、電源358、1つ以上の制御スイッチ362a~n、および調整回路366を含む。プロセッサ350は、プロセッサ120と同様の方法で構築され得る。メモリ354は、メモリ122と同様の方法で構築され得る。
【0034】
電力モジュール124の実装の詳細は、IoTデバイス102の特定の設計に依存する。例えば、電源358は、バッテリ、または電圧および/または電流調整回路366を備えたバッテリであり得る。別の実施形態では、電源358は、電気レセプタクルから等、外部電源から電力を受け取るように構成されたポートであり得る。その実施形態では、電源358は、電気レセプタクルから電力を供給するように構成されたACプラグも含み得、また、携帯電話で一般的に使用されるようなモジュール式電源も含み得る。この実施形態の電源358は、ハウジング142の外部にあり得る、変圧器、ならびに電圧および/または電流調整器回路を含む。いずれの実施形態においても、電力モジュール124は、プロセッサ120、メモリ122、センサ126、制御デバイス128、通信モジュール130、トランシーバ132、および検出回路134に電力を供給するための回路を有する。電力がIoTデバイス102のハウジング142の外部の供給源から供給される場合、電力モジュール124は、外部電力モジュールと呼ばれ得る。同様に、IoTデバイス102aのハウジング142の内部の供給源(例えば、バッテリ)から電力を供給する回路を有する電力モジュール124は、内部電力モジュールと呼ばれ得る。
【0035】
一実施形態では、電力モジュール124は、電力バスに接続された1つ以上の制御スイッチ362a~nを含む。1つ以上の制御スイッチ362a~nのそれぞれは、プロセッサ350に論理的に接続され得、それにより、プロセッサ350は、制御スイッチ362a~nの1つ以上に、電力モジュール124とIoTデバイス102の他の構成要素との間の電力バスの電力接続を有効化または無効化させる。このように、電力モジュール124のプロセッサ350は、特定の構成要素間の電源接続を有効化または無効化することによって、IoTデバイス102の特定の構成要素を有効化するか、または、IoTデバイス102の特定の構成要素を無効化し得る。一実施形態では、1つ以上の制御スイッチ362a~nのそれぞれは、制御バスに接続され得、それにより、IoTデバイス102の別の構成要素が電力バスの電力接続を有効化または無効化することを可能にする。
【0036】
一実施形態では、1つ以上の制御スイッチ362a~nは、電力モジュール124によってIoTデバイス102の各構成要素に供給される電流と電圧の両方または一方を測定するための電力モニタ(例えば、電流計および電圧計の両方または一方)を含む。電流と電圧の両方または一方を示す信号がプロセッサ350に供給され得、プロセッサ350は、電力モジュールによってIoTデバイス102の各構成要素に供給される電力の量、または電力モジュールによってIoTデバイス102の2つ以上の構成要素に供給される総電力を計算し得る。一実施形態では、プロセッサ350は、各制御スイッチ362の電力モニタを測定して、供給された各電力をメモリ354に格納することによって、電力モジュール124によって供給される電力を決定し得る。一実施形態では、プロセッサ350は、データバス138に接続される。そのような実施形態では、プロセッサ350は、1つ以上の電力データを、IoTデバイス102の別の構成要素に送信し得る。電力データは、供給される電圧、供給される電流、および電圧と電流とを供給する持続時間、またはそれらのいくつかの組み合わせを含み得る。以下で説明するように、増加された電力使用量等の異常なパラメータ値が検出されると、プロセッサ350は、無効化信号を1つ以上の制御スイッチ362a~nに送信して、以下に説明するように、IoTデバイス102の1つ以上の構成要素を無効化し得る。増加電力使用量は、IoTデバイス102の1つ以上の構成要素を損傷から保護するために設定された電力レベルよりも低くあり得ることに留意されたい。換言すれば、増加電力使用量は、IoTデバイス102の構成要素を保護するヒューズを作動させるのに必要な電力量よりも低くあり得る。
【0037】
一実施形態では、各構成要素が機能することを可能にするのに十分な電力がIoTデバイス102の構成要素に供給され得るように、調整回路366は、電源358によって供給される電力または電圧を調整して、電力または電圧を標準化し得る。一実施形態では、調整回路366は、1つ以上のセンサを含み得る。例えば、センサが温度プローブである場合、温度プローブは、プロセッサ350、メモリ354、電源358、1つ以上の制御スイッチ362a~n、および調整回路366、またはそれらのいくつかの組み合わせの温度を測定し得る。一実施形態では、プロセッサ350は、プロセッサ350、メモリ354、電源358、1つ以上の制御スイッチ362a~n、または調整回路366の温度を読み取り、メモリ354に温度を記録し得る。プロセッサ350は、1つ以上の電力モジュールデータをIoTデバイス102の別の構成要素に送信し得る。電力モジュールデータは、プロセッサ350、メモリ354、電源358、1つ以上の制御スイッチ362a~n、および調整回路366のうちの1つ以上についての温度を含み得る。電流と温度の両方または一方が閾値を超えると、プロセッサ350は、信号を制御スイッチ362a~nのうちの1つ以上に送信して、IoTデバイス102を無効化するためにIoTデバイス102の1つ以上の構成要素から電力を遮断し得る。
【0038】
図2Aに戻って参照すると、IoTデバイス102は概して、1つ以上のIoTデバイス102a~nの多くの異なる形態を表す。IoTデバイス102は、任意選択的に、センサ126および制御デバイス128の両方または一方を有し得る。例えば、センサ126は、例として、温度センサ、圧力センサ、水分センサ、光センサ、モーションセンサ、および/または同様のものを含み得る。センサ126は、これらの例に限定されない。同様に、制御デバイス128は、例として、リモート制御ビデオカメラ、温度コントローラ等であり得る。この場合も、制御デバイス128はこれらの例に限定されない。1つ以上のIoTデバイス102a~nは、センサ126および制御デバイス128の両方を含み得る。一実施形態では、IoTデバイス102は、1つ以上のセンサ126および1つ以上の制御デバイス128の両方または一方を含み得る。
【0039】
一実施形態では、センサ126および制御デバイス128は、まとめて、アクティビティモジュール140と呼ばれ得る。IoTデバイス102a~nは、1つ以上のアクティビティモジュール140を含み得、各アクティビティモジュール140は、1つ以上のセンサ126および1つ以上の制御デバイス128を含む。アクティビティモジュール140は、センサ126および制御デバイス128を用いて指定アクティビティを実行するように動作可能であり得る。アクティビティモジュール140は、通信モジュール130を動作させるようにさらに動作可能であり得、例えば、通信モジュール130に、ネットワークを介して、例えば、コンピュータネットワークまたはWAN106を介して、コントローラ112への1つ以上の通信を送信させる。アクティビティモジュール140は、制御デバイス128が通信モジュール130を動作させるときにアクティブであると言われ、制御デバイス128が通信モジュール130を動作させないときに非アクティブであると言われる。各アクティビティモジュール140は、アクティビティモデルを含み得る。一実施形態では、アクティビティモデルは、アクティビティモジュール140が非アクティブである間にアクティビティモジュール140によって使用される電力に少なくとも部分的に基づく、非アクティブなアクティビティ電力と、アクティビティモジュール140がアクティブであって指定アクティビティを実行している間にアクティビティモジュール140によって使用される電力に少なくとも部分的に基づく、アクティブなアクティビティ電力とを含む。
【0040】
別の実施形態では、アクティビティモデルは、アクティビティモジュール140が非アクティブである間に通信モジュール130を動作させている時間の長さに少なくとも部分的に基づく非アクティブなアクティビティ送信時間と、アクティビティモジュール140がアクティブであって指定アクティビティを実行している時間の長さに少なくとも部分的に基づくアクティブなアクティビティ送信時間とを含む。さらに別の実施形態では、アクティビティモデルは、アクティビティモジュール140が非アクティブである期間に部分的に基づく非アクティブ時間と、アクティビティモジュール140がアクティブである期間に部分的に基づくアクティブ時間とを含む。一実施形態では、アクティビティモデルは、非アクティブなアクティビティ電力、アクティブなアクティビティ電力、非アクティブなアクティビティ送信時間、アクティブなアクティビティ送信時間、非アクティブ時間、およびアクティブ時間、またはそれらのいくつかの組み合わせのうちの1つ以上を含む。
【0041】
IoTデバイス102a~nは、通信モジュール130も含む。通信モジュール130は、WAN106またはローカルエリアネットワーク114から情報を送信および/または受信するようにトランシーバ132を制御するために使用される、プロセッサ120によって動作される論理層であり得る。前述のように、IoTデバイス102は典型的には、WAN106に接続され、これは典型的にはインターネットであり得る。通信モジュール130は、IoTデバイス102a~nとコントローラ112との間の接続を提供する(図1A参照)。通信モジュール130は典型的には、トランシーバ132を介してコントローラ112との双方向通信を提供する。例えば、通信モジュール130は、センサ126と通信して、連続的なセンサ読み取り値(例えば、温度)を提供し得、または、コントローラ112からのコマンドに応じてセンサ読み取り値を提供し得る。同様に、通信モジュール130は、ビデオカメラ等の制御デバイス128と通信して、通信モジュール130およびトランシーバ132を介してコントローラ112にビデオデータを提供し得る。制御デバイス128は、焦点を変更するか、または撮影方向を変更するために、トランシーバ132および通信モジュール130を介してコントローラ112によってリモートで制御され得る。
【0042】
いくつかの実施形態では、トランシーバ132は、WAN106またはローカルエリアネットワーク114への有線接続を有し、ハードワイヤードネットワークアクセスポイントに接続されたイーサネット接続を使用して、例としてネットワークサービスプロバイダまたはインターネットサービスプロバイダ(図示せず)を介して通信し得る。他の実施形態では、トランシーバ132は、WAN106への無線接続を有し得る。この実施形態では、IoTデバイス102のトランシーバ132は、電力増幅器154を含み得る。
【0043】
図2Aに示されるトランシーバ132は、送信機および受信機を含み、WAN106への短距離(例えば、WiFi接続)、セルラー接続、または他の無線接続のいずれをも包含することを意図している。他の実施形態では、トランシーバ132は、有線接続を介して通信するように動作可能な受信機および/または送信機を含み得る。一実施形態では、トランシーバ132と通信モジュール130は一体化され得る。
【0044】
ここで図2Cを参照すると、検出回路134の例示的実施形態のブロック図が示されている。概して、検出回路134は、ハウジング142内に配置されるとともに、プロセッサ400、メモリ404、および1つ以上の検出器408a~nを含み得る。プロセッサ400は、プロセッサ122と同様に構築され得、バスシステム138のデータバスおよび制御バスの両方または一方に接続される。メモリ404は、上記で説明されたメモリ122と同様であり得る。メモリ404は、システムバス138に接続されなくてもよく、検出回路134と、メモリ122に格納されてプロセッサ120によって実行されているソフトウェアとの間の分離を維持することによって、メモリ404およびプロセッサ400がハッキングされ得る可能性を低減する。
【0045】
一実施形態では、1つ以上の検出器408a~nは、IoTデバイス102の様々なパラメータを決定するように構成されたセンサ、例えば、IoTデバイス102の1つ以上の関連構成要素の温度を決定するための温度センサ408a、IoTデバイス102の1つ以上の構成要素の電力消費を決定するための電力センサ408b、IoTデバイス102の1つ以上の構成要素によって生成される光を決定するように構成された光検出器408c、および、システムバス138の1つ以上のバスまたは制御線の使用を決定するように構成されたバスモニタ408dを含む。1つ以上の検出器408a~nは、上記の例に限定されず、IoTデバイス102のパラメータを決定するように設計または構成された任意の他の検出器であり得る。一実施形態では、1つ以上の検出器408a~nは、トランシーバ132が送信または受信しているかどうかを決定するように構成された電波センサを含み得る。
【0046】
1つ以上の検出器408a~nのそれぞれは、プロセッサ400に論理的に接続され得、それにより、プロセッサ400が、各検出器408a~nによって決定されたパラメータを測定することを可能にする。一実施形態では、プロセッサ400は、各検出器408a~nによって決定された各パラメータを測定し、各パラメータをメモリ404に格納し得る。
【0047】
一実施形態では、プロセッサ400は、バスシステム138に接続されている。このような実施形態では、プロセッサ400は、IoTデバイス102の各構成要素からの1つ以上のデータ(例えば、限定するものではないが、電力モジュール124からの電力データ)を受信し得る。プロセッサ400は、バスシステム138、より具体的には制御バスにも論理的に接続され得、それにより、プロセッサ400が1つ以上の制御信号をIoTデバイス102の各構成要素に送信することを可能にする。一実施形態では、1つ以上の制御信号は、非アクティブ化コマンドまたは電源オフコマンドを含み得る。別の実施形態では、1つ以上の制御信号が電力モジュール124に送信され、電力モジュール124に、IoTデバイス102の特定の1つ以上の構成要素への電力を無効化させる。
【0048】
一実施形態では、検出回路134は電源412を含む。電源412は電力モジュール124に直接接続され得、したがって、システムバス138の電力バスを使用せずに検出回路134に電力を提供する。一実施形態では、電源412は、電力モジュール124、例えば、専用バッテリから独立している。
【0049】
当業者が理解するように、BOT攻撃の目標は、IoTデバイス102a~nの動作の乗っ取りである。典型的には、IoTデバイス102a~nの乗っ取りは、制御されていないデータ送信をもたらし、WAN106(図1A参照)またはローカルエリアネットワーク114に大量のデータが送信されることにつながる。そのような制御されていないデータ送信は、通信モジュール130およびトランシーバ132の両方または一方がアクティブであることを必要とする。図2Aの検出回路134は、以下でより詳細に説明されるように、通信モジュール130およびトランシーバ132の両方または一方のアクティビティレベルを間接的に決定するために使用される。検出回路134は、動作パラメータ、選択された動作パラメータ、または監視されたパラメータ等のシステムパラメータを測定することができ、それらは、通信モジュール130およびトランシーバ132の両方または一方のアクティビティに関する情報を提供することとなる。システムパラメータの測定は、システムパラメータの測定値をもたらし得る。
【0050】
図2Aは、タイマ136も示している。以下により詳細に説明されるように、いくつかの攻撃検出技術は、タイマ136によって測定されるような、ある期間にわたって1つ以上のシステムパラメータを測定し得る。例えば、攻撃の一形態は、過度の時間長さでデータを送信する。タイマ136は、トランシーバ132がアクティブである時間的長さを決定することができる。トランシーバ132が、タイマ136によって測定された期間にわたって閾値期間を超えてアクティブである場合、検出回路134は、攻撃の検出を示す信号を生成し得る。タイマ136は、プロセッサ120と一体的に形成され得るか、または特定の期間を測定するためにプロセッサ120によって処理されるコンピュータ命令のセットを備え得る。別の実施形態では、タイマ136は、プロセッサ120とは別個ではあるが、プロセッサ120と通信する回路であり得る。実行されているアクティビティの時間を測定するIoTデバイス102a~nの1つ以上の構成要素のそれぞれは、タイマ136と通信し得る。
【0051】
IoTデバイス102a~nの様々な構成要素は、バスシステム138によって共に接続される。バスシステム138は、アドレスバス、データバス、制御バス、電力バス、および/または同様のものを含み得る。便宜上、様々なバスがバスシステム138として図2Aに示されている。検出回路134は、バスシステム138に接続されているように、破線によって図2Aに示されている。これは、検出回路134がプロセッサ120、メモリ122、電力モジュール124、センサ126、制御デバイス128、通信モジュール130、および/またはトランシーバ132と一体化され得ることを示すことを意図している。あるいは、検出回路134は、プロセッサ120、メモリ122、電力モジュール124、センサ126、制御デバイス128、通信モジュール130、および/またはトランシーバ132から分離され得、バスシステム138を介して接続されなくてもよい。
【0052】
上記のように、検出回路134は、通信モジュール130およびトランシーバ132の両方または一方のアクティビティレベルを間接的に決定し得る。データ送信の直接測定技術は本明細書では、通信経路にあって通信経路の動作における直接的で積極的な役割を果たす技術として定義される。この実施形態では、通信経路は、IoTデバイス102の複数の構成要素間のデータ通信(例えば、データバスに沿った)または他の制御アクティビティ(例えば、制御バスに沿った)を可能にするように動作可能なバスシステム138のバスであり得る。典型的には、一連のコンピュータ命令、通信ドライバソフトウェア、監視ソフトウェア等として実装されるのは、通信アクティビティのレベルの直接監視の例である。一実施形態では、1つ以上の直接測定技術は、例えば、WAN106に送信されたデータバイト数を測定すること、データ送信の意図された宛先を監視することを含み得、場合によっては、送信データバイトにおける実際のデータを検査することさえ行い得る。
【0053】
対照的に、本明細書で使用される間接的な技術は、通信経路の一部ではなく、通信経路自体のいかなる制御にも関与しない。例えば、通信モジュール130およびトランシーバ132は、アクティブであるときに大量の電力を消費することが知られている。一実施形態では、電力センサ408bを用いて電力利用のレベルを監視することによって、検出回路134のプロセッサ400は、いつIoTデバイス102a~nがデータを送信しているかを推測することができる。同様に、1つ以上の制御スイッチ362a~nの電力モニタを用いて電力利用のレベルを監視することにより、プロセッサ350は、いつIoTデバイス102a~nがデータを送信しているかを推測することができる。別の実施形態では、通信モジュール130またはトランシーバ132は、バスシステム138の制御バスに接続され得る。制御バス上で通信モジュール130およびトランシーバ132の両方または一方に送信される1つ以上の制御信号は、通信モジュール130またはトランシーバ132をアクティブ化させ得る。検出回路134のプロセッサ400は、制御バスを監視するように構成されたバスモニタ408dを測定することによって、IoTデバイス102a~nのトランシーバ132がアクティブにデータを送信していることを決定することができる。さらに別の実施形態では、IoTデバイス102a~nは、通信モジュール130またはトランシーバ132がデータを送信しているときにアクティブ化される発光ダイオード(LED:light emitting diode)(図示せず)等のインジケータを有し得る。検出回路134の光検出器408cは、ハウジング142内に配置されて、経時的な受信光を示すLEDからの光を受信して、通信モジュール130またはトランシーバ132のアクティビティのレベルを決定し得る。これらの例の各々において、検出回路134は通信経路の一部ではなく、通信モジュール130およびトランシーバ132の両方または一方のアクティビティのレベルを間接的にのみ決定する。
【0054】
ここで図3を参照すると、IoTデバイス102の例示的実施形態のブロック図が示されている。IoTデバイス102は、アプリケーションソフトウェア150、オペレーティングシステム152、通信モジュール130、電力増幅器154、および検出回路134を含み得る。アプリケーションソフトウェア150は、オペレーティングシステム152上に搭載されており、すなわち、アプリケーションソフトウェア150は、プロセッサ120によってオペレーティングシステム152環境内で実行される。そして、オペレーティングシステム152は、通信モジュール130にインターフェースする(図2A参照)。4つの可能な、しかし非限定的な保護方法が図3において示されている。一実施形態では、(トランシーバ132の)電力増幅器154は、通信モジュール130からの信号を増幅して、信号が無線アンテナ168に到達できるようにする。
【0055】
第1の方法では、送信超過制限156(例えば、送信時間またはデータ量が所定の閾値を超える)を、IoTデバイス102のオペレーティングシステム152の媒体アクセス制御(MAC:Medium Access Control)レベルで検出することができる。
【0056】
第2の方法では、検出回路134のプロセッサ400は、バスモニタ408dおよび電力センサ408bの両方または一方を測定して、送信のデータ量が所定の送信閾値を超えているかどうかを判断して、送信超過制限160を検出し、例えば、非アクティブ化コマンドを有する制御信号を送信すること等、無効化コマンド158を生成して、通信モジュール130(図2A参照)およびトランシーバ132の両方または一方を無効化することができる。一実施形態では、無効化コマンド158は、エンドユーザまたはルータに送信されてWAN106へのアクセスをブロックするようにエンドユーザまたはルータに警告する通知を含み得る。別の実施形態では、無効化コマンド158は、WAN106へのアクセスをブロックするために通信プロバイダに送信される通知または(CDMA/GSMコマンド等の)プロトコルコマンドを含み得る。さらに別の実施形態では、無効化コマンド158は、エコシステムへのIoTデバイス102のアクセスをブロックするようにエコシステムプロバイダに指示する、エコシステムプロバイダに送信される通知を含み得る。いくつかの実施形態では、無効化コマンド158は、電力モジュール124のプロセッサ350に送信される制御信号であり得、したがって、プロセッサ350に1つ以上の制御スイッチ362a~nをアクティブ化させて、それにより、プロセッサ120、メモリ122、センサ126、制御デバイス128、通信モジュール130、トランシーバ132、検出回路134、またはタイマ136、またはそれらのいくつかの組み合わせの電源接続を無効化することなどによって、IoTデバイス102の構成要素からの電力を無効化する。別の実施形態では、無効化コマンド158は、電力モジュール124のプロセッサ350に送信される制御信号であり、プロセッサ350にすべての電源接続を無効化させることで、IoTデバイス102の電源を切断させる。
【0057】
本明細書で使用される場合、エコシステムプロバイダは、コントローラ112と1つ以上のIoTデバイス102との間の通信を調整、編成、および/または制御するIoTデバイス制御システムまたはIoTデバイス編成システムを指す。一実施形態では、エコシステムプロバイダには、コントローラ112が含まれ、いくつかの実施形態では、1つ以上のIoTデバイス102と一体化されたコントローラ112が含まれる。エコシステムプロバイダの非限定的な例は、Google Nest(登録商標)またはGoogleアシスタント(登録商標)エコシステム(グーグル社(Google,LLS)、カリフォルニア州パロアルト)、Amazon Alexa(登録商標)(アマゾンドットコム社(Amazon.com,Inc)、ワシントン州シアトル)、およびInsteon(登録商標)(スマートラボ社(Smartlabs,Inc.)、カリフォルニア州アーバイン)である。一実施形態では、システム100は、1つ超のコントローラ112、例えば、エコシステムプロバイダの構成要素としての第1のコントローラ112と、エコシステムプロバイダと通信する第2のコントローラ112とを含む。一実施形態では、システム100は、1つ以上のエコシステムプロバイダをさらに含む。
【0058】
第3の方法では、通信モジュール130自体が、送信超過制限162を検出するように動作可能である。例えば、通信モジュール130は、検出回路134を組み込み得るとともに、プロセッサ120の特定コア内で検出回路134によってなされる処理を分離またはサンドボクシングすることなどによって、通信モジュール130内の隔離環境内で検出回路134を動作させ得、ここで、特定コアは、例えばIoTデバイス102にインストールされたファームウェアのコアを分離することによって、オペレーティングシステム152または通信モジュール130によりアクセス可能ではない。IoTデバイス102の特定構成要素の処理を分離することは、特定構成要素を隔離することとも呼ばれ得、特定構成要素は隔離中であると呼ばれ得る。一実施形態では、IoTデバイス102の送信超過制限の検出は、コントローラ112および検出回路134の両方または一方によって実行され得、コントローラ112および検出回路134はIoTデバイス102から分離されており、例えば、コントローラ112および検出回路134は単一回路に一体化されていない。
【0059】
第4の方法では、図2Bに示されるように、電力モジュール124のプロセッサ350は、通信モジュール130およびトランシーバ132の両方または一方に関連付けられた各制御スイッチ362a~nの電力モニタを測定することと、各測定値をメモリ354に格納することと、各測定値を、メモリ354内の測定値に少なくとも部分的に基づくものであり得る送信電力閾値と比較することと、によって、通信モジュール130およびトランシーバ132の両方または一方による送信に関連する電力消費の増加を検出することができる。この実施形態では、電力モジュール124は、プロセッサ350、メモリ354、および通信モジュール130もしくはトランシーバ132のいずれか一方またはその両方への電力接続を有する1つ以上の電力制御スイッチ362a~nを含み得る。一実施形態では、電力モジュール124のプロセッサ350が攻撃を検出した場合、例えば、プロセッサ350が電力利用164の超過制限を検出した場合、通信モジュール130もしくはトランシーバ132のいずれか一方または両方への電力接続が選択的に無効化される。この例では、電力モジュール124は、通常の電力利用の通常電力利用モデルを含み得、これは、例えば、データまたはコンピュータ命令として、電力モジュール124の1つ以上のメモリ354に格納され得るか、またはメモリ122に格納され得、それにより、電力モジュール124のプロセッサ350は、電力利用の突然の増加が通常電力利用モデル内にあるかどうか、したがって、電力利用の突然の増加が通常動作内にあるかどうか、または電力利用の突然の増加は通常動作ではなく攻撃の結果である可能性が高いかどうか、を判断することができる。通常電力利用モデルは、送信電力閾値および所定の送信閾値の両方または一方を含み得る。電力消費は、電流測定等のいくつかの既知の技術を使用して1つ以上の制御スイッチ362a~nによって決定することができ、その決定は、電力モジュール124の1つ以上のプロセッサ350と、プロセッサ120と、の両方または一方によって実行され得る。
【0060】
図2Aは、IoTデバイス102の一体化部分としての電力モジュール124を示している。しかしながら、上記のように、例示的実施形態では、電力モジュール124は、IoTデバイス102の外部とすることができ、例えば、電力モジュール124は、ハウジング142内に配置されていない。例えば、電力モジュール124は、外部変圧器および電圧調整器とともに電力プラグに一体化することができる。このような外部電源は、小型電子デバイスでは一般的である。いくつかの実施形態では、電力モジュール124のプロセッサ350は、各制御スイッチ362a~nの電力モニタを監視することによって、IoTデバイス102によって引き出される電力を監視して、1つ以上の制御スイッチ362a~nを作動させることによって、IoTデバイス102によって引き出される電力の上昇したレベルに応答してIoTデバイス102への電力を切断するように動作可能である。こうして、外部電源モジュール124を有するアプローチは、IoTデバイス102を変更することなく、攻撃に対する保護を有利に提供する。
【0061】
上記の技術のほとんどは、オペレーティングシステム152とは独立して動作し、したがって、アプリケーションソフトウェア150内の起こり得るバグ、またはIoTデバイス102のアプリケーションソフトウェア150またはオペレーティングシステム152を汚染する可能性のあるウイルス攻撃の影響を受けないことに留意されたい。オペレーティングシステム152から独立して動作することは、プロセッサ120の1つ以上のコアをオペレーティングシステム152から分離すること、メモリ122の特定の部分をオペレーティングシステム152から分離すること、IoTデバイス102aの1つ以上の構成要素から独立したハードウェアにてオペレーティングシステム152を実行すること、もしくは同システム上で動作する2つ以上のアプリケーションソフトウェア150またはオペレーティングシステム152を分離するための当技術分野で知られている任意の他の方法、またはそれらのいくつかの組み合わせを含み得る。アプリケーションソフトウェア150に存在し得るソフトウェアコマンドに関係なく、過剰な送信が検出された場合、例として無効化コマンド158の使用などによって、IoTデバイス102の通信がターンオフされ、または、例として電力モジュール124を無効化することと、電力モジュール124にIoTデバイス102の1つ以上の構成要素についての電力接続を無効化させることと、の両方または一方などによって、IoTデバイス102自体がターンオフされる。一実施形態では、上記で説明された技術は、アナログ回路にて実施されるが、他の実施形態では、上記の技術はデジタル回路にて実施される。
【0062】
一旦IoTデバイス102が無効化されても、それは、様々な異なる方法で再び有効化され得る。一実施形態では、ユーザインターフェース141(図2A参照)は、トランシーバ132(図2A参照)が無効化されたこと、またはIoTデバイス102が無効化もしくはシャットダウンされたことを示すためにアクティブ化され得る。ユーザインターフェース141は、ユーザがトランシーバ132を再び有効化するか、またはIoTデバイス102を再アクティブ化するためのメカニズムも提供し得る。一実施形態では、IoTデバイス102が侵害された場合、IoTデバイス102は「ブリックされ(bricked)、すなわち、IoTデバイス102はそれ以上使用することができなくなる。別の実施形態では、IoTデバイス102のユーザは、IoTデバイス102の問題に関する通知およびさらなる指示を受信し得る。さらなる指示は、例えば、限定ではないが、IoTデバイス102を技術者に手渡すための指示、またはIoTデバイス102を技術者に郵送するための指示等、技術者にIoTデバイス102を提供するための方法を含み得る。一実施形態では、ユーザには、パッチまたはファームウェアアップデート、例えばアプリケーションソフトウェア150へのアップデートまたはオペレーティングシステム152へのアップデートが提供され得、パッチまたはファームウェアアップデートは、IoTデバイス102の動作の乗っ取りを修正し、したがって、攻撃を克服する。
【0063】
別の例示的実施形態では、ユーザインターフェース141は、IoTデバイス102上のLED等のインジケータライトであり得、IoTデバイス102が無効化されたことを示すためにアクティブ化され得る。さらに別の代替実施形態では、ユーザは、トランシーバ132および他の回路構成要素を再び有効化するために、IoTデバイス102のプラグを抜くか、または電源を切って、再びプラグを差し込まなければならない。IoTデバイス102は、IoTデバイスをリセットするためにユーザがアクティブ化することができる、ユーザインターフェース141の一部としてのリセットボタンと、IoTデバイスを再起動するためにユーザがアクティブ化することができる、ユーザインターフェース141の一部としての再起動ボタンと、の両方または一方も含み得る。リセットボタンをアクティブ化すると、IoTデバイス102にメモリ122を消去させ、オペレーティングシステム152およびアプリケーションソフトウェア150を「クリーン」ソース、例えば侵害または感染のないソースから再インストールさせ得る。一実施形態では、IoTデバイス102は、クリーンソースを格納する第2のメモリ122を含む。そのような実施形態では、第2のメモリ122は、アプリケーションソフトウェア150またはオペレーティングシステム152によってアクセス不能とされ得る。再起動ボタンのアクティブ化は、IoTデバイス102に電源を再投入させ得る。
【0064】
さらに別の代替実施形態では、トランシーバ132は、例えば、制御バスを介して送信される無効化コマンドを有する制御信号によって、またはトランシーバ132への電力接続を無効化させる制御スイッチ362によって、所定の期間、無効化され得る。この実施形態では、トランシーバ132は、ある期間後に自動的に再び有効化される。IoTデバイス102a~nがまだ攻撃を受けている場合、IoTデバイスは超過制限パラメータを検出し、トランシーバ132を再度無効化するか、または、IoTデバイス全体を無効化する。
【0065】
本明細書で説明される原理を使用して、IoTデバイス102は、いくつかの方法でデバイスへの攻撃を検出および防止することができる。例えば、IoTデバイス102は、コンピュータネットワーキングの開放型システム間相互接続(OSI:Open Systems Interconnection)モデルの要件に適合し得る。コンピュータネットワーキングのOSIモデルは、次の層を含む7層モデルである(すなわち、1.物理層、2.データリンク層、3.ネットワーク層、4.トランスポート層、5.セッション層、6.プレゼンテーション層、および7.アプリケーション層)。物理層は、物理データリンクを介して生ビットのビットストリームを送信する方法を定義する。ビットストリームは、コードワードまたはシンボルにグループ化され、伝送媒体を介して送信される物理信号に変換され得る。物理層は、伝送媒体への電気的、機械的、および手続き的なインターフェースを提供する。電気コネクタの形状およびプロパティ、ブロードキャストする周波数、使用するラインコード、および同様の低レベルパラメータは、物理層によって指定される。物理層は、データリンク層からの論理通信要求をハードウェア固有操作に変換して、電子(または他の)信号の送信または受信を引き起こす。さらに、物理層は、論理データパケットの生成を担当する上位層をサポートする。物理層では、通信モジュール130の有線および無線バージョン(図2A参照)は、最大速度およびデュレーションモデルをデバイスのハードウェアに設定するか、またはアプリケーションソフトウェア250またはオペレーティングシステム252によるソフトウェア変更の外にあるメモリ122に格納するように動作可能とすることができる。例示的実施形態では、無線(例えば、トランシーバ132のハードウェア)は、トランシーバ132が送信できるデータの量および時間の長さの両方または一方を制限するIoTタイプに基づく内部設定を有することができる。例えば、温度センサIoTデバイス等のIoTデバイス102は、トランシーバ132のハードウェアが、温度センサの通常動作に必要とされるであろうデータの出力平均およびピーク出力レベルのみに制限されるように設計および構築されることができる。温度センサは通常、メガバイト単位のデータを継続的に送信しない。したがって、システムパラメータ閾値は、ソフトウェアによって変更できない特定のデバイスタイプに基づいて、製造業者によってIoTデバイス102a~nの物理層を形成するハードウェア内に設計されて組み込まれることができる。例えば、検出回路134のプロセッサ400は、IoTデバイス102の物理層の外側にあり得るが、トランシーバ132の過剰オンタイム(図2A参照)または過剰送信を示す電力使用量を検出して、それに応答するように動作可能であり得る。
【0066】
IoTタイプは、実行される機能と、IoTデバイス102が使用される産業と、の両方または一方に基づく各IoTデバイス102a~nの分類である。IoTタイプの非限定的な例には、電気機器、自動車、ガーデン、家屋およびオフィス、照明および電気、マルチメディア、セキュリティ、センサおよび制御、ウェアラブルおよび健康、Wi-Fiおよびネットワーキング、またはそれらのいくつかの組み合わせが含まれ得る。IoTタイプは、各タイプのサブタイプにさらに分類され得る。例示のみであるが、電気機器のIoTタイプを有するIoTデバイス102は、HVAC、家電製品、および/または産業グレード電気機器のうちの1つ以上にさらに分類され得る。サブタイプの例は、明確さと単純さのために、電気機器のIoTタイプに対してのみ提供されており、すべてのIoTタイプには、そのIoTタイプに関連付けられた1つ以上のサブタイプが含まれ得ることが理解される。
【0067】
一実施形態では、検出回路134のプロセッサ400は、トランシーバ132の温度を測定することによって、トランシーバ132の過剰オンタイムを検出し得る。例えば、検出回路134は、検出回路温度センサ408aを含み得、これは、トランシーバ132の温度を決定するために、センサ126から分離され得る。トランシーバ132は、動作時間に応じて温度が上昇し得るため、トランシーバ132が通信リンク108に沿ってアクティブに送信する時間が長くなるほど、トランシーバ132の温度は高くなる。検出回路134温度センサ408aによって測定された温度が温度閾値を超えると、検出回路134のプロセッサ400は、IoTデバイス102が侵害されていると判断し得る。一実施形態では、トランシーバ132の温度は、送信モデルに格納された温度閾値を有するシステムパラメータであり得る。
【0068】
別の実施形態では、検出回路134のプロセッサ400は、電力センサ408bを測定することによってトランシーバ132に電力供給するために使用される電力レベルを決定することによって、トランシーバ132の過剰オンタイムを検出し得る。トランシーバ132に電力供給するために使用される電力レベルを決定することは、例えば、電力がトランシーバ132に供給される時間の長さを決定するために電力モジュール124と通信すること、または電力モジュール124によってトランシーバ132に供給される電流を測定することのいずれかを含み得る。トランシーバ132に電力供給するために使用される電力レベルが、オンタイム閾値を超える期間にわたって電力レベル閾値を超えると、検出回路134は、トランシーバ132に過剰オンタイムがあり、したがって、IoTデバイス102a~nが侵害されていると判断し得る。一実施形態では、トランシーバ132のオンタイムは、送信モデルに格納されたオンタイム閾値を有するシステムパラメータであり得る。
【0069】
別の実施形態では、検出回路134のプロセッサ400は、光検出器408c、IoTデバイス102のLED、および経時的に受信光を示すログデータを監視または測定することによって、トランシーバ132の過剰オンタイムを検出し得る。そして、プロセッサ400は、光検出器408cのログデータに部分的に基づいて、トランシーバ132のオンタイムがオンタイム閾値を超えるかどうか、したがって、IoTデバイス102が侵害されたと決定されるかを決定し得る。
【0070】
図3に関して上記で説明したように、PHY層にインターフェースするソフトウェアMACは、同様の速度ならびに時間検出および抑制能力を有することができるが、これは、ソフトウェア攻撃によって侵害される可能性があるかもしれない。MACは通常、オペレーティングシステムではより下位に位置し、通常はハッキングがより困難である。
【0071】
一実施形態では、検出回路134は、サイドチャネル分析を使用して、IoTデバイス102が侵害されているかどうかを決定し得る。サイドチャネル分析は、間接的手法を使用してどのようなアクションが実行中であるかを判断する非侵襲的アプローチである。ここで、各IoTデバイス102は、処理時間モデル、電力消費モデル、無線放射モデル、およびデジタルバスモデルを含む1つ以上のモデルを有するセキュリティモデルを含み得る。
【0072】
一実施形態では、処理時間モデルは、キーネゴシエーションがハードウェアベースのセキュリティエンジンまたはソフトウェアベースのセキュリティエンジンのどちらを使用しているかに関連するシステムパラメータ、およびキーネゴシエーションの許容可能持続時間を含み得る。概して、ハードウェアベースのセキュリティエンジンは、ソフトウェアベースのセキュリティエンジンよりも高速に実行される。ほとんどのセキュリティエンジンは、実行されている動作をマスクするために電源をディザリングするが、プロセッサ120上で実行されるソフトウェアベースのセキュリティエンジンは、電力ディザリングを含まない。例えば、データバス138にアクセスできる検出回路134は、IoTデバイス102がいつキーネゴシエーションを実行すべきかを決定し得、キーネゴシエーションが実行されるべきであると決定すると、キーネゴシエーション持続時間、例えばプロセッサ120のクロックサイクルの数またはタイマ136からの時間を測定し得る。そして、検出回路134は、キーネゴシエーション持続時間を処理時間モデルと比較して、キーネゴシエーション持続時間が許容持続時間内にあるかどうかを判断し得る。キーネゴシエーション持続時間が許容持続時間内にない場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0073】
一実施形態では、電力消費モデルは、IoTデバイス102によって暗号化動作中に必要とされる通常の電力消費範囲に関連する1つ以上のシステムパラメータを含み得る。例えば、検出回路134は、暗号化動作中に、プロセッサ120、またはIoTデバイス102の他の構成要素によって消費される電力を測定し得る。そして、検出回路134は、測定された電力消費を、電力消費モデルの通常の電力消費範囲と比較し得る。測定された電力消費が通常の電力消費範囲よりも大きいかまたは小さい場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。一実施形態では、電力消費モデルは、暗号化動作を実行するに際してIoTデバイスが同様の順序で同様のステップを実行するときに、より適用可能である。
【0074】
一実施形態では、無線放射モデルは、データバス138を介してアクセスされるときにメモリインターフェース(例えばメモリ122)によって、もしあれば、どのような無線放射が生成されるかに関連する1つ以上のシステムパラメータを含み得る。無線放射モデルは、特定の動作が実行されるときに、IoTデバイス102が一貫した順序で特定のステップを実行する場合、より適用可能であり得る。例えば、検出回路134は、無線放射を測定するための1つ以上のセンサを含み得る。検出回路134は、測定された無線放射を無線放射モデルの1つ以上のシステムパラメータと比較して、特定の動作が実行されたかどうか、例えば、メモリ122に対して読み取りまたは書き込み動作が実行されたかどうか、および特定の動作が発生することが予想されたかどうか、を判断し得る。検出回路134が、特定の動作が誤って実行されたか、または適切な時間に実行されなかったと判断した場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0075】
一実施形態では、デジタルバスモデルは、IoTデバイス102によって実行される任意の特定の動作について、プロセッサ120、トランシーバ132、メモリ122、電力モジュール124、タイマ136、通信モジュール130、センサ126、および/または制御デバイス128、またはそれらのいくつかの組み合わせのうちの1つ以上の間のデータバス138の1つ以上のアクセスパターンに関する1つ以上のシステムパラメータを含む。各アクセスパターンは、データバス138にアクセスする1つ以上の構成要素に関する情報、および、例えば、アクセスが読み取り/書き込みアクセスであるかどうか、アクセスのアドレス位置等のようなアクセスに関するメタデータを含み得る。例示的のみであるが、デジタルバスモデルは、温度読み取り動作のために、プロセッサ120がセンサ126にアクセスすることを示すシステムパラメータを含み得、読み取り値をメモリ122に記憶し、そして、通信モジュール130を使用して読み取り値を送信する。検出回路134は、特定の温度読み取り動作を監視し得、特定の温度読み取り動作が、構成要素間の追加アクセス、構成要素間のより少ないアクセス、またはデジタルバスモデルによって提供される順序とは異なる構成要素間のアクセスを含む場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0076】
一実施形態では、処理時間モデル、電力消費モデル、無線放射モデル、およびデジタルバスモデルを含むセキュリティモデルは、IoTデバイス102の製造業者によって提供されるか、または試験ラボで生成され得る。一実施形態では、セキュリティモデルは、セキュアブートモデル、パケット処理モデル、不正形式応答時間モデル、パワーアップ時間モデル、ウェイクアップ時間モデル、物理的イベント時間モデル、および/または改ざん検出モデルをさらに含む。
【0077】
一実施形態では、セキュアブートモデルは、アプリケーションソフトウェア150およびオペレーティングシステム152等のメモリ122に格納されたソフトウェアの検証のためのシステムパラメータ、アプリケーションソフトウェア150の復号化のためのシステムパラメータ、ブートジャンプベクトルメモリ位置についてのシステムパラメータ、およびハードウェアベースのセキュリティエンジンと既知のコードサイズとの使用に基づく検証時間についてのシステムパラメータを含み得る。例えば、セキュアブートモデルは、製造業者によって提供されるか、または別様に生成され、IoTデバイス102および/または検出回路134内に格納され得る。一実施形態では、IoTデバイス102または検出回路134は、アプリケーションソフトウェア150およびオペレーティングシステム152の両方または一方についての真正性インジケータを含む。一実施形態では、真正性インジケータは、アプリケーションソフトウェア150およびオペレーティングシステム152の両方または一方の真のハッシュであり、メモリ122とは別に格納される。検出回路134は、オペレーティングシステム152およびアプリケーションソフトウェア150の両方または一方のテストハッシュを生成し、テストハッシュを真のハッシュと比較し得る。テストハッシュおよび真のハッシュが同一である場合、オペレーティングシステム152およびアプリケーションソフトウェア150の両方または一方が変更されている可能性は低いが、テストハッシュおよび真のハッシュが異なる場合、オペレーティングシステム152およびアプリケーションソフトウェア150の両方または一方が、真のハッシュが生成されてから変更されている可能性が高く、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0078】
一実施形態では、パケット処理モデルは、IoTデバイス102が特定のデータパケットを復号化するのにかかると予想される時間の範囲を有するパケット復号化時間、IoTデバイス102が特定のデータパケットを処理するのにかかると予想される時間の範囲を有するパケット処理時間、IoTデバイス102が特定のデータパケットへの応答を生成するのにかかると予想される時間の範囲を有するパケット応答生成時間、およびIoTデバイス102が特定のデータパケットへの応答を暗号化するのにかかると予想される時間の範囲を有するパケット応答暗号化時間等の1つ以上のシステムパラメータを含み得る。例えば、検出回路134は、パケット復号化時間、パケット処理時間、パケット応答生成時間、およびパケット応答暗号化時間のうちの1つ以上を測定し得る。そして、検出回路134は、パケット復号化時間、パケット処理時間、パケット応答生成時間、またはパケット応答暗号化時間、またはそれらのいくつかの組み合わせのそれぞれを、それぞれの各モデルにおける予想される時間の範囲と比較し得る。測定された時間が特定のモデルの予想時間の範囲を超えると、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0079】
一実施形態では、不正形式応答時間モデルは、IoTデバイス102が不正形式データパケットに応答するのにかかると予想される時間の範囲を有する1つ以上のシステムパラメータを含む。例えば、既知のハードウェア構成および既知のアプリケーションソフトウェア150を有するIoTデバイス102は、IoTデバイス102が第1の時間と第2の時間(第2の時間は第1の時間よりも大きい)との間の標的時間範囲内に不正形式データパケットに応答する必要があることを示すシステムパラメータとともに、製造業者からのまたは別様に生成された不正形式応答時間モデルを含み得る。検出回路134は、IoTデバイス102の不正形式データパケット応答時間を測定し得、不正形式データパケット応答時間が第1の時間よりも小さいか、または第2の時間よりも大きい場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0080】
一実施形態では、パワーアップ時間モデルは、電源がオフの状態または電源が入っていない状態からパワーアップするのにIoTデバイス102にかかると予想される時間の範囲を有する1つ以上のシステムパラメータを含む。例えば、既知のハードウェア構成および既知のアプリケーションソフトウェア150を有するIoTデバイス102は、IoTデバイス102が第1の時間よりも大きく第2の時間よりも小さい期間にパワーアップする必要があることを示すシステムパラメータとともに、製造業者からのまたは別様に生成されたパワーアップ時間モデルを含み得る。検出回路134は、IoTデバイス102のパワーアップ時間を測定し得、パワーアップ時間が第1の時間よりも小さいか、または第2の時間よりも大きい場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0081】
一実施形態では、ウェイクアップ時間モデルは、IoTデバイス102が休止状態または低電力状態からウェイクアップするのにかかると予想される時間の範囲を有する1つ以上のシステムパラメータを含む。例えば、既知のハードウェア構成および既知のアプリケーションソフトウェア150を有するIoTデバイス102は、IoTデバイス102が第1の時間よりも大きく第2の時間よりも小さい期間にウェイクアップする必要があることを示すシステムパラメータとともに、製造業者からのまたは別様に生成されたウェイクアップ時間モデルを含み得る。検出回路134は、IoTデバイス102のウェイクアップ時間を測定し得、ウェイクアップ時間が第1の時間よりも小さいか、または第2の時間よりも大きい場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0082】
一実施形態では、セキュリティモデルは、ping時間モデルを含み得る。ping時間モデルには、通常のping持続時間を示す1つ以上のシステムパラメータが含まれ得る。例えば、検出回路134は、通常のping持続時間が既知である特定サーバにpingを実行し、ping応答時間を測定し得る。そして、検出回路134は、ping応答時間を通常のping持続時間と比較し得、ping応答時間が通常のping持続時間と異なる場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。一実施形態では、通常のping持続時間は、ある範囲の通常のping持続時間を含み得、検出回路134は、ping応答時間を通常のping持続時間の範囲と比較し得る。ping応答時間が通常のping持続時間の範囲外である場合、IoTデバイス102または検出回路134は、IoTデバイス102が侵害されているか、または感染していると判断し得る。
【0083】
一実施形態では、セキュリティモデルをIoTデバイス102とともに使用して、IoTデバイス102がセキュリティモデルに準拠しているかどうかを判断し、例えば、IoTデバイス102が期待通りにセキュリティモデルを実装するかどうかを判断し得る。例えば、IoTデバイス102を用いてセキュリティモデルを実装し、IoTデバイス102を通常の方法で動作させることによって、IoTデバイス102が特定の方法で暗号化を実装することを、セキュリティモデルを使用して検証し得る。そして、検出回路134は、上記でより詳細に説明したように、IoTデバイス102が侵害されたか、または感染したかを検出回路134が決定する方法と同様に、IoTデバイス102がセキュリティモデルに準拠しているかどうかを決定し得る。
【0084】
別のアプローチでは、IoTデバイス102の電力モジュール124(図2B参照)用の1つ以上のバッテリが、回路を含むとともに、通常の電力利用モデルを学習して過剰な電力消費を検出する機械学習で構築されることができる。例えば、1つ以上の機械学習モデルがメモリ354に格納されるとともに、プロセッサ350によって実装され得る。電力消費が通常の電力利用モデルを超えると、電力モジュール124のプロセッサ350は、IoTデバイス102の1つ以上の電力接続またはパワーサイクル(例えば、ターンオフおよびデバイス強制再起動の両方または一方)を無効化することができる。一実施形態では、回路は、プロセッサ350およびメモリ354を含み得、プロセッサ350は、電力消費がメモリ354に格納され得る通常の電力利用モデルを超えるかどうかを決定し、プロセッサ350は、1つ以上の制御スイッチ362a~nの電力モニタに少なくとも部分的に基づいて、過剰な電力使用量を検出する。別の実施形態では、電力モジュール124のプロセッサ350は、IoTデバイス102の他の構成要素から分離された方法と、オペレーティングシステム152、アプリケーションソフトウェア150、プロセッサ120、およびメモリ122から分離された方法と、の両方またはいずれかでアクセスして、電力消費が通常の電力利用モデルを超えているかどうかを判断し、過剰な電力消費を検出する。一実施形態では、回路は、1つ以上のバッテリから分離されている。別の実施形態では、回路は、電力モジュール124に一体化されている。
【0085】
データ送信に関連する通常の電力利用モデルの使用が、上記で説明されてきた。モデル構築は、外部コンピュータシステムによって展開されるとともに、IoTデバイス102内に事前にプログラムされた(アルゴリズムをメモリ122に格納することなどによって)機械学習または他のアルゴリズムを用いて行うことができる。代替的に、プロセッサ120、プロセッサ350、またはプロセッサ400に、通常の電力利用モデルおよび通常の使用頻度モデルを学習させる機械学習ソフトウェアをアプリケーションソフトウェア150に含めることなどによって、IoTデバイス102自体が、機械学習で構築されることができ、ここで、「通常」とは、侵害されておらず感染していない間のIoTデバイス102の電力利用および使用頻度を意味する。この原則を拡張して、モデリングの一部として時刻と曜日とを含めることもできる。このようなモデルは、電力-時間モデルを展開するために1日および1週間の通常の電力利用モデルと通常の使用頻度モデルとを学習させる機械学習を使用して、外部コンピュータシステムによって展開されたアルゴリズム、またはIoTデバイス102自体のプロセッサ120、プロセッサ350、またはプロセッサ400によって展開されたアルゴリズムに基づいて、各IoTデバイス102a~nおよびIoTタイプに対して事前に決定することができる。この電力-時間モデルは、上記の通常の電力利用モデルと組み合わせて使用して、時間/日に基づいて過剰な電力使用量を検出できる。
【0086】
例えば、特定のIoTデバイス102a~nが、センサおよび制御のIoTタイプならびにサーモスタットのサブタイプを有する場合、特定のIoTデバイス102a~nは、温度プローブのセンサ126を含み得る。特定のIoTデバイス102a~nがセンサ126からデータを通常送信するために第1の電力を利用することを決定する通常の電力利用モデルを、特定のIoTデバイス102a~nについて形成し得る。特定のIoTデバイス102a~nがセンサ126からデータを通常記録し、そして、特定の期間ごとに1度、データを送信することを決定する通常の電力使用頻度モデルを、特定のIoTデバイス102a~nについて形成し得る。したがって、特定のIoTデバイス102a~nは、例えば、検出回路134のプロセッサ400が、バスモニタ408dを測定することによってデータを記録またはデータを送信することについての通常の使用頻度モデルの特定の期間とは異なる使用頻度が測定された場合と、メモリ404に格納されている通常の電力利用モデルの第1の電力とは異なる、電力センサ408bによって測定される第2の電力が測定された場合と、の両方またはいずれかの場合に、該IoTデバイスが侵害されているか、または感染していると判断することができる。
【0087】
一実施形態では、送信時間モデルは、プロセッサ404によって、非アクティブなデバイス期間(すなわち、IoTデバイス102が非アクティブであるとき)とアクティブなデバイス期間(すなわち、IoTデバイス102がアクティブであるとき)との両方についての典型的送信時間を計算することにより確立され得る。アクティブ期間は、IoTデバイス102が予想される動作を実行しているとともに、それらの動作の結果としてデータを送信すると予想される時間枠を示す。アクティブ期間は、アクティビティの複数のレベルを有することができ、アクティビティの各レベルは、既知であり、かつ予想される1つ以上の動作パラメータを有する。この実施形態では、プロセッサ400は、アクティビティモジュール140および通信モジュール130の両方または一方のアクティビティの複数のレベルを監視して、アクティビティモジュール140および通信モジュール130の両方または一方が第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値と、アクティビティモジュール140および通信モジュール130の両方または一方が第2のアクティビティレベルにあるときの第2のパラメータ閾値とを確立するように動作可能であり、システムパラメータが、アクティビティモジュール140および通信モジュール130の両方または一方が第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値を超えるか、または、アクティビティモジュール140および通信モジュール130の両方または一方が第2のアクティビティレベルにあるときの第2のアクティブパラメータ閾値を超えると、プロセッサ400は、コンピュータネットワーク上の通信モジュール130の通信量を削減するように動作可能である。アクティビティの例示的レベルには、トリクルアクティビティレベル、通常アクティビティレベル、およびハイパーアクティビティレベルが含まれる。トリクルアクティビティレベルは、IoTデバイス102の構成要素が非アクティブであるときの動作パラメータよりも大きい1つ以上の動作パラメータを有しており、かつ散発的に実現され得る。トリクルアクティビティレベルでのトリクルアクティビティの例は、通信モジュール130およびトランシーバ132が通信リンク108上で通信するように動作可能であることを示すために、通信モジュール130およびトランシーバ132によって定期的にメッセージをブロードキャストすることによって無線接続を維持することである。通常アクティビティレベルでの通常アクティビティには、トリクルアクティビティよりも大きいがハイパーアクティビティよりは小さい電力消費および/または動作パラメータ(例えば、クロックサイクルまたは送信時間)を必要とする動作が含まれる。通常アクティビティは、センサ126による温度監視、または制御デバイス128による温度制御等のアクティビティモジュール140の動作に起因し得る。ハイパーアクティビティは、通常アクティビティよりも大きな電力消費および/または動作パラメータ(例えば、クロックサイクルまたは送信時間)を必要とし得る。ハイパーアクティビティの例には、ソフトウェアアップデートによるアクティビティモジュール140および通信モジュール130の両方または一方によるビデオもしくはサウンドストリーミングまたはデータダウンロードが含まれる。これらの各アクティビティでは、電力消費、温度、温度変化、クロックサイクル、または送信時間を含む動作パラメータが事前に既知であり、かつ予測可能である。本明細書では、3つの異なるレベルのアクティビティのみを説明するが、IoTデバイス102の検出回路134が、より多いまたはより少ないアクティビティのレベルを監視することができることが理解されるべきである。
【0088】
非アクティブ期間は、IoTデバイス102が、期待される動作を実行していないが他のハウスキーピング動作の結果として依然としてデータを送信中であり得る時間枠を示す。非アクティブ期間には、アクティビティの少なくとも1つのレベルを含めることができ、アクティビティの各レベルは、既知であり、かつ予想される1つ以上の動作パラメータを有する。この実施形態では、プロセッサ400は、非アクティブ期間中のアクティビティモジュール140および通信モジュール130の両方または一方のアクティビティの各レベルを監視して、アクティビティモジュール140および通信モジュール130の両方または一方が特定のアクティビティレベルにあるときの非アクティブパラメータ閾値を確立するように動作可能であり、ここで、プロセッサ400は、アクティビティモジュール140および通信モジュール130の両方または一方が特定のアクティビティレベルにある場合に、システムパラメータが非アクティブパラメータ閾値を超えると、コンピュータネットワーク上の通信モジュール130の通信量を削減するように動作可能である。例えば、温度感知IoTデバイス102は、現在温度を測定するために5秒ごとにスリープおよびウェイクアップし得る。温度センサは、すべての温度読み取り値を報告するか、または以前の読み取り値から所定の量(例えば、少なくとも華氏1度)変化した場合にのみ温度を報告するように動作可能とすることができ、これは正常アクティビティと見なされ得る。上記のように、通信モジュール130およびトランシーバ132の両方または一方が温度変化を報告するのみである場合、温度変化の送信は断続的で予測不可能であろう。しかし、このような送信において送信されるデータの量は、既知であり、かつ予測可能である。温度感知IoTデバイス102は、温度感知IoTデバイス102が動作可能であって接続性を有することを確認するために、短い定期的な送信(例えば、5分ごとのトリクルアクティビティ)も送信し得る。これらのアクティブなデータ送信の頻度およびサイズの両方は、既知であり、かつ予測可能である。温度感知IoTデバイス102の特性上、非アクティブ期間中には、いかなる種類の予想されるアクティビティもない。したがって、温度感知IoTデバイス102についてのアクティブデバイスモデルは、データの定期的な(例えば、5分ごとのトリクルアクティビティ)短いバーストと、温度変化を報告するためのより長い持続時間の定期的なデータ送信(例えば、通常アクティビティ)とを含み得る。一実施形態では、温度感知IoTデバイス102はまた、ソフトウェアアップデートを受信し、ブロックごとのデータ転送のための確認応答メッセージを送信し得、これはハイパーアクティビティと見なされ得る。アクティブデバイスモデルには、データダウンロードに応じたこのような確認応答メッセージを含めることもできる。一方で、温度感知IoTデバイス102の非アクティブなデバイスモデルは、送信が発生してはならないことを示すであろう。このようにして、検出回路134のプロセッサ400は、送信が送信時間モデルの非アクティブデバイスモデルの非アクティブ期間中に発生しているかどうか、または送信が送信時間モデルのアクティブデバイスモデルのアクティブ期間の期間外に発生しているかどうかを判断することによって、温度感知IoTデバイス102、または、送信時間モデル、アクティブデバイスモデル、もしくは非アクティブデバイスモデル、もしくはそれらのいくつかの組み合わせを実装する他のIoTデバイス102が攻撃のメンバーであるかどうかを決定することができる。一実施形態では、アクティブデバイスモデルおよび非アクティブデバイスモデルは、送信時間モデルに含まれる。
【0089】
マルチメディアのIoTタイプおよびビデオカメラのサブタイプ等の、異なるIoTタイプを有するIoTデバイス102a~n(例えばビデオIoTデバイス102)は、デバイスが非アクティブ状態にあるときでさえ、ネットワーク接続を維持する必要があり得る。当業者は、ルータ、ゲートウェイ、ファイアウォール等を介したネットワーク接続が、所定の期間(例えば、30秒)にわたってデータ送信が欠如している場合にタイムアウトし得ることを理解するであろう。IoTデバイス102がアクティブ期間に入るとすぐに進行中のネットワーク接続を有することが望ましく、それにより、それが既存のネットワーク接続を使用してデータを即座に転送することができる。進行中のネットワーク接続を有することはまた、単にセッションを存続させるよりも多くの電力と帯域幅とを消費し得る暗号化ハンドシェイクの必要性を回避し得る。この例では、ビデオIoTデバイス102の通信モジュール130(図2A参照)は、ビデオIoTデバイス102のセンサ126(例えば、ビデオカメラ)が非アクティブ期間内にあってもネットワーク接続を維持するために、トランシーバ132を介してデータを送信することができる。ビデオIoTデバイス102、および任意のIoTデバイス102a~nは、IoTデバイス102a~nの動作のアクティブ状態および非アクティブ状態の両方についてのデバイスモデルを有するであろう。アクティブデバイスモデルは、ビデオIoTデバイス102がビデオデータをウェイクアップして送信するようにプログラムされている速度での(例えば、毎分10秒間)、データのより長いバーストを含み得る。対照的に、非アクティブ期間におけるビデオIoTデバイス102についての非アクティブデバイスモデルは、依然として送信を含み得るが、送信は、持続時間がより短く、既知の速度で発生する。
【0090】
一実施形態では、これらの送信時間は、特定のIoTデバイス102a~nによって行われる複数の送信にわたって決定され得る。このようにして、アクティブ期間と非アクティブ期間との両方における特定のIoTデバイス102a~nについての典型的な送信時間を示す送信時間モデルを展開することが可能である。
【0091】
一実施形態では、各IoTデバイス102a~nの1つ以上の構成要素のシステムパラメータの測定値は、各IoTデバイス102a~nによって作成され得、IoTデバイス102が感染しているか、または別様に侵害されているかどうかを決定するために使用され得る。例えば、IoTデバイス102の動作中に、伝送時間等の測定値は、現在の伝送について計算され得、例えば、タイマ136と通信し得るプロセッサ120、プロセッサ350、および/またはプロセッサ400によって計算され得る。そして、IoTデバイス102、例えば、プロセッサ120、プロセッサ350、および/またはプロセッサ400は、動作の非アクティブ期間であるか、または動作のアクティブ期間であるかを決定する。バスモニタ408dまたは温度センサ408aを使用などによって現在の伝送時間が測定され、IoTデバイス102がアクティブ期間にあるときの送信時間モデルのアクティブデバイスモデルと比較でき(または、現在の送信時間を測定して、IoTデバイス102が非アクティブ期間にあるときの送信時間モデルの非アクティブデバイスモデルと比較でき)、実際の送信時間と、予想される(例えばモデルの)送信時間との差の測定値を生成できる。実際の送信時間と予想される送信時間との差が所定の閾値よりも大きい場合、トランシーバ132(図2A参照)は、無効化コマンドを送信すること、無効化コマンドを有する制御信号を送信すること、またはプロセッサ350にトランシーバ132の電力接続を無効化させることなどによって、無効化される。送信データ速度、電力消費、またはIoTデバイス102の各構成要素のシステムパラメータの任意の他の測定値に関して、同様のパラメータ測定を行い得る。図3に関して上述したように、システムパラメータの測定値は、トランシーバ132に向かう電源電流の増加の測定値、または無線周波数(RF:radio frequency)エネルギー測定(復調されていない)の決定値を含み得る。さらに別の実施形態では、検出回路134のプロセッサ400は、システムバス138の制御バスの制御線に接続され得、これは、バスモニタ408dまたはLED等のインジケータを介してトランシーバ132(図2A参照)がトランシーバ132のアクティビティを示すことを可能にし、バスモニタ408dを介したその制御線上の信号レベル、および光検出器408cを介したインジケータの両方または一方を感知することによって、トランシーバ動作を検出する。これらのシステムパラメータのそれぞれは、通信モジュール130およびトランシーバ132の両方または一方のアクティビティの指標を提供する。一実施形態では、上記のシステムパラメータの各測定値は、1つ以上のパラメータモデルをもたらし得る。そして、以下でより詳細に説明するように、各パラメータモデルを使用して、特定のIoTデバイス102a~nが感染しているか、または侵害されているかどうかを判断し得る。
【0092】
1つ以上のIoTデバイス102a~nの動作プロセス196の例が、図4のフローチャートに示されている。開始200において、IoTデバイス102は、設置の準備ができている。ステップ202において、ユーザは、IoTデバイス102を初期化する。これは、電源358を電力モジュール124に接続することなどによって、IoTデバイス102に電力を供給することを含み、通信モジュール130のセットアップをさらに含み得る(図2A参照)。一実施形態では、ユーザは、ユーザインターフェース141を使用して、IoTデバイス102を初期化し得る。ステップ204において、IoTデバイス102は、事前にプログラムされたパラメータデータと、1つ以上のパラメータモデルと、の両方または一方を用いて動作するように動作可能である。前に説明したように、IoTデバイス102は、デバイスタイプ、例えば、デバイスモデルに依存する所定の閾値で初期化することができる。代替的に、IoTデバイス102は、ステップ206において機械学習モードで初期化することができる。この実施形態では、IoTデバイス102は、ある期間にわたって動作し、IoTデバイス102、例えば、プロセッサ120、プロセッサ350、またはプロセッサ400が、アクティブモードおよび非アクティブモードの両方におけるデータ送信の時間の長さおよびデータ量等の1つ以上の動作パラメータについての通常範囲または公称範囲を学習し、したがって、速度およびデュレーションモデル、電力モデル、電力-時間モデル、アクティブデバイスモデル、非アクティブデバイスモデル、および/または送信時間モデルを含むがこれらに限定されない1つ以上のモデルを形成する。1つ以上のモデルを、メモリ122に格納することができ、またはメモリ354に格納することができ、またはメモリ404に格納することができる。学習した各パラメータを使用して、トランシーバのシャットダウンまたはデバイスのシャットダウンをトリガするための1つ以上の閾値を展開することができる。IoTデバイス102は、機械学習モードで動作可能として、動作パラメータの正常範囲を学習し、そして、正常範囲に関連するいくつかのレベルについての1つ以上の閾値を設定することができる。例えば、アラートをトリガするための閾値は、1つ以上のモデルによって決定される場合に、通常範囲を超えるパーセンテージ(例えば、0%、10%、15%等)にて設定できる。機械学習に基づいて、所定の期間にわたって閾値を超えるIoTデバイス102またはIoTデバイス102の1つ以上の構成要素の動作といった、時間パラメータを考慮に入れることも可能である。例えば、通常動作では、IoTデバイス102のトランシーバ132は、時折、データのバーストを送信し得、これは、閾値を超える測定値をもたらすが、短期間(例えば、100ミリ秒)だけである。この例では、IoTデバイス102のプロセッサ120または検出回路134のプロセッサ400は、通常動作のパターンを学習し、トランシーバ132が閾値を超えて、例えばモデルの外で、例えば100ミリ秒を超える期間、動作した場合、トランシーバのシャットダウンまたはデバイスのシャットダウンをトリガする。上記のように、実際の伝送速度は、システムパラメータの測定値とすることもできる。例えば、伝送速度モデルは、IoTデバイス102のトランシーバ132が通常、5分ごとにデータを送信することを示している。送信速度が、ある測定された閾値によって5分ごとよりもより頻繁である場合、トランシーバ132をシャットダウンすることができる。
【0093】
さらに別の代替実施形態では、IoTデバイス102は、初期動作のために、ステップ204において、システムパラメータ値および閾値(例えば、モデル)で事前にプログラムされることができる。その初期動作の期間中、IoTデバイス102はまた、機械学習モード(ステップ206)にあり得、特定のデバイスの通常動作値を学習し、例えば、1つ以上のモデルを学習し得る。ある時点で、学習プロセスが完了すると、機械学習された値は、モデル内の初期の事前にプログラムされた値を置き換えることができ、それにより、IoTデバイス102の後続動作は、その特定のIoTデバイスについての学習されたシステムパラメータ値および閾値によって制御される。
【0094】
一実施形態では、IoTデバイス102は、システムパラメータ値および閾値(例えば、モデル)を、1つ以上の他のIoTデバイス102から、またはコントローラ112から受信することができる。
【0095】
ステップ208において、IoTデバイス102は動作している。IoTタイプに依存するその通常動作機能に加えて、IoTデバイス102の検出回路134は、起こり得る攻撃を検出するために、IoTデバイス102の動作も監視している。判断210において、検出回路134または電力モジュール124は、動作(例えば、トリクルアクティビティ、通常アクティビティまたはハイパーアクティビティ)中の任意のシステムパラメータ値がその閾値を超えたかどうか、例えば、そのモデルと矛盾するかどうかを決定する。上記のように、動作パラメータ値がその閾値を超えたかどうかを決定することは、実際のパラメータ値、そのパラメータの閾値、時間、時間/日、アクティブ/非アクティブ状態等の多くの要因を含むことができる。
【0096】
IoTデバイス102がいかなる異常パラメータ値でも動作していない場合、判断210の結果は「否」である。その場合、プロセスはステップ208に戻り、IoTデバイス102の通常動作が継続される。IoTデバイス102または検出回路134のプロセッサ400または電力モジュール124のプロセッサ350が任意の異常パラメータ値を検出した場合、判断210の結果は「是」である。その場合、IoTデバイス102は侵害されているか、または感染していると見なされ得、IoTデバイス102はステップ212でトランシーバ132を無効化する(図2A参照)。上記のように、トランシーバ132を無効化する代わりにまたはそれに加えて、デバイス102が異常な挙動を示す場合、検出回路134のプロセッサ400は、制御信号を電力モジュール124に送信して、IoTデバイス102のシャットダウンを強制するか、またはIoTデバイス102の再起動を強制することもできる。一実施形態では、IoTデバイス102はトランシーバ132を所定の期間、無効化するか、またはある期間、IoTデバイス102全体をシャットダウンする。代替的に、IoTデバイス102は、ユーザ再起動動作を必要とするデバイスシャットダウンを示すユーザインターフェース141の通知を生成する。さらに別の代替実施形態では、ユーザは、電力モジュール124の電源138のプラグを抜き差しすることによって、またはユーザインターフェース141の再起動ボタンをアクティブ化することによって、IoTデバイス102を手動で再始動する必要がある。他の実施形態では、ユーザは、ユーザインターフェース141のリセットボタンをアクティブ化することにより、IoTデバイス102を手動でリセットする必要がある。動作プロセス196は、214で終了する。
【0097】
一実施形態では、判断210は、異常パラメータ値を検出し得るが、追加診断が実行された後、「是」となり得る。1つの非限定的例は、通信リンク108を有するIoTデバイス102が通信リンク108の障害を経験する状況であり得る。ここで、IoTデバイス102のプロセッサ120は、1つ以上のセンサ126のそれぞれから値を取得してその値をメモリ122に格納し続け得る。通信リンク108が再確立されると、プロセッサ120は、通信モジュール130に、メモリ122内の値および任意の電流センサ126のデータを送信させ得る。そのような状況では、トランシーバ132は、そのような状況が稀であり得るので、1つ以上のモデルのパラメータを超え得る。しかしながら、診断ステップには、追加データを送信する必要が生じ得る最新の通信リンク障害があったかどうかを判断することが含まれ得る。したがって、IoTデバイス102が侵害されたという誤った決定を軽減するために、判断210は、追加診断を実行し、その結果、IoTデバイス102は、異常パラメータ値が存在することについて特定の時間、「是」の結果が出るまで待機することとなる。一実施形態では、判断210の結果が「是」である場合、IoTデバイス102は侵害されていると見なされ得る。
【0098】
一実施形態では、デバイスの動作中(ステップ208)、IoTデバイス102のプロセッサ120または検出回路134のプロセッサ400は、判断210を実行して、所定の間隔で、または特定のイベントが発生した後の期間において異常パラメータ値の存在を決定し得る。例示的のみであるが、IoTデバイス102のプロセッサ120と、検出回路134のプロセッサ400と、の両方または一方は、すべてのセンサ読み取りの後、またはすべての通信がトランシーバ132を介してコントローラ112に送信される前に、判断210を実行し得、またはIoTデバイス102のプロセッサ120と、検出回路134のプロセッサ400と、の両方または一方は、所定の期間の後に1回以上、判断210を実行し得る。
【0099】
一実施形態では、判断210は、コントローラ112およびエコシステムプロバイダの両方または一方によって実行され得る。そのような実施形態では、コントローラ112およびエコシステムプロバイダの両方または一方は、システム100a内に配置されて、1つ以上の感染したIoTデバイス102を迅速に識別する。一実施形態では、コントローラ112およびエコシステムプロバイダの両方または一方は、ステップ212に進む前に任意の異常パラメータ値をユーザに通知し得、送信機を無効化、例えば、感染したデバイス102を無効化する。
【0100】
一実施形態では、ステップ204、ステップ206、判断210、およびステップ212は、検出回路134のプロセッサ400によって実行される。ステップ204および206において、検出回路134のプロセッサ400は、速度およびデュレーションモデル、電力モデル、電力-時間モデル、および/または送信時間モデルを含むがこれらに限定されない1つ以上のモデルを初期化し得る。プロセッサ400は、1つ以上のモデルに少なくとも部分的に基づいて、トランシーバのシャットダウンまたはデバイスのシャットダウンをトリガするための閾値を展開することができる。判断210において、プロセッサ400は、例えば、1つ以上の検出器408a~nを介して、IoTデバイス102の1つ以上の構成要素を監視して、1つ以上の構成要素が1つ以上のモデルのいずれかの外部で動作しているかどうかを判断し得る。検出回路134プロセッサ400が、1つ以上の構成要素が構成要素のモデルの外で動作していると判断した場合、プロセッサ400は、上記でより詳細に説明したように、制御信号を電力モジュール124に送信してIoTデバイス102の1つ以上の構成要素の電力接続を無効化し得るとともに制御信号をトランシーバ132に送信してトランシーバ132をシャットダウンさせ得るか、または、制御信号を電力モジュール124に送信してIoTデバイス102の1つ以上の構成要素の電力接続を無効化し得るかもしくは制御信号をトランシーバ132に送信してトランシーバ132をシャットダウンさせ得る。そして、一実施形態では、プロセッサ400は、ユーザインターフェース141などによって、ユーザの再起動操作を必要とするIoTデバイス102またはトランシーバ132のシャットダウンを示すユーザへの通知を生成し得る。別の実施形態では、ユーザは、電力モジュール124への電源358のプラグを抜き差しすることによって、または再起動メカニズムを作動させることによって、例えば、ユーザインターフェース141の再起動ボタンをアクティブ化するか、または再起動コマンドをプロセッサ120または電力モジュール124に送信し、それにより、IoTデバイス102に電源を入れ直させるか、または再起動させることによって、IoTデバイス102a~nを手動で再起動する必要がある。別の実施形態では、ユーザは、例えば、ユーザインターフェース141のリセットボタンをアクティブ化する等のリセットメカニズムをアクティブ化することによって、またはリセットコマンドをプロセッサ120に送信することによりIoTデバイス102をリセットさせることによって、デバイスをリセットする必要がある。
【0101】
したがって、各IoTデバイス102a~nは、動作を自己監視して、攻撃を示すいかなる異常動作をも迅速に検出し、IoTデバイス102の乗っ取りを防止および/または軽減するための即時措置を講じることができる。さらに、動作プロセス196は、プロトコル非依存と言われ得、すなわち、動作プロセス196は、WAN106を実装するために使用されるか、または1つ以上の通信リンク108a~nを実装するために使用されるネットワークトポロジに関係なく実行され得る。
【0102】
一実施形態では、IoTデバイス102a~nの動作プロセス196は、トランシーバ132を無効化する前に一時停止ルーチンを実行することをさらに含み得る(ステップ212)。IoTデバイス102が感染したか、または侵害された場合、そのようなIoTデバイス102は本明細書では感染デバイスと呼ばれる。感染デバイスは、送信デバイスとも呼ばれ得る。感染デバイスは、別のIoTデバイス102等の別のデバイスを攻撃し得、攻撃されているそのようなデバイスは、本明細書では標的デバイスと呼ばれる。標的デバイスは、受信デバイスとも呼ばれ得る。インターネットプロトコル(IP:Internet Protocol)ベースのシステムについて、UDPおよびTCP等のプロトコルを使用するIPトラフィックの送信デバイスは、ネットワークトラフィックの受信デバイスからの新しい一時停止コマンドを受け入れる必要がある。一時停止コマンドを使用して、攻撃を阻止または軽減するのに十分な時間、ネットワークトラフィックの送信を一時停止し得る。一時停止ルーチンの実行は、送信器フィルタリングプロセス250または受信器フィルタリングプロセス300のいずれかを実行することを含み得、それぞれが以下でより詳細に説明される。
【0103】
現在、インターネットプレゼンスを有する消費者は、受信システムによる制御なしに、任意のソースからデータを受信することができる。つまり、誰でもデータを消費者に送信できる。消費者は「通話ブロッキング(call blocking)」という用語に、(それが電話着信に関連するため)精通している。消費者は、消費者がまったく電話を受けたくない着信電話番号の通話ブロッキングを開始できる。本開示は、特定の着信IPアドレスからデータを受信することを望まないことを示す機会を受信システムがユーザに与えるので、通話ブロッキングと同等のネットワークを消費者に提供する。
【0104】
電話の例では、通話ブロッキングはエンドユーザによって開始されるが、典型的には電話サービスプロバイダによって実施される。ネットワークの実施形態では、ソースのできるだけ近くで望ましくないデータ送信をブロックすることが有利である。本明細書で説明するように、一実施形態では、「通話ブロッキング」は、送信デバイス自体で発生する。したがって、送信デバイスは、それがウイルスに感染したボットネット(BotNet)デバイスになった場合であっても、データの送信を停止するように依然として命令されることができる。ボットネットデバイスがローカルエリアネットワーク(LAN)の一部である場合、「通話ブロッキング」は、LANがワイドエリアネットワーク(WAN)に接続するハブ、コントローラ、ゲートウェイ、ファイアウォール、または同等デバイスで発生し得る。
【0105】
例示的実施形態では、送信デバイス、例えば感染デバイスは、受信デバイス、例えば標的デバイスによって、「抑制」、「一時停止」、または「ターンオフ」するように命令されることができる。「抑制」という用語は、ネットワークトラフィックの伝送速度の低下を指す。例えば、送信デバイスは、1つ以上のデータパケットを5分以下ごとに、10分以下ごとに、等で送信するように命令されることができる。「一時停止」という用語は、データパケットの送信が一時的に停止することを指す。例えば、送信デバイスは、限定されないが5分、10分、および/または同様の期間等の一時停止期間の間、データパケットの送信を停止するように命令されることができる。一実施形態では、一時停止期間は、通信セッションがタイムアウトし、アクティブネットワーク接続が切断される、かつ/または終了するのに十分な期間、延長されることができる。「ターンオフ」という用語は、送信デバイスからのデータパケットの送信が完全に停止することを指す。例えば、送信デバイスは、受信デバイスへのデータの送信を停止するように命令されることができる。便宜上、これらの代替送信制御コマンドは、本明細書では一時停止コマンドと呼ばれる。
【0106】
ここで図5を参照すると、送信器フィルタリングプロセス250の例示的実施形態のプロセスフロー図が示されている。概して、送信器フィルタリングプロセス250は、送信デバイスの通信モジュール130が、受信デバイスからの一時停止コマンドを受信するステップ(ステップ254)と、送信デバイスのプロセッサ120および/またはコントローラが、一時停止コマンドを送信した受信デバイスのIPアドレスをメモリ122に格納するステップ(ステップ258)と、送信デバイスのプロセッサ120および/またはコントローラが、メモリに格納されたIPアドレスに少なくとも部分的に基づいて、送信デバイスが侵害されているかどうかを判断するステップと、を備える。一実施形態では、送信器フィルタリングプロセス250の完了後、動作プロセス196は、ステップ212において継続し、送信機を無効化し得る。
【0107】
一実施形態では、送信デバイスのプロセッサ120は、送信器フィルタリングプロセス250を実行して、プロセッサ120が一時停止コマンドを受信した受信デバイスの1つ以上のIPアドレスをメモリ122に格納することができる。例えば、1つ超の受信デバイスが一時停止コマンドを送信すると、各受信デバイスのIPアドレスは、プロセッサ120によってメモリ122に格納され得る。一実施形態では、送信デバイスが、図1BのLAN114等のLANの一部である場合、コントローラ112(または代替的に、ファイアウォール、ゲートウェイ、および/または同様のもの)は、コントローラ112が一時停止コマンドを受信した受信デバイスの1つ以上のIPアドレスを格納できる。送信デバイスは、分散攻撃を最小限に抑えることができるように、十分な数の受信器IPアドレスを保持することとなる。同様に、IPインターフェース層がこのタイプの挙動を検出した場合、上記のように、IPインターフェース層は、現在ブロックされているIPアドレスがタイムアウトするまで、受信デバイスへのIPアクセスを完全に遮断することができる。
【0108】
一実施形態では、送信器フィルタリングプロセス250は、攻撃で侵害される可能性があるアプリケーションソフトウェア150の外部で実行され、別個のプロセッサ、ハードウェアベース制御、または安全な実行ゾーンのいずれかで実行され得る。一実施形態では、送信器フィルタリングプロセス250は、検出回路134のプロセッサ400によって実行される。別の実施形態では、送信器フィルタリングプロセス250は、プロセッサ120の、分離または隔離されたコアおよびメモリ122の両方または一方で実行される。
【0109】
一実施形態では、送信器フィルタリングプロセスを使用して、Wi-Fi等の無線ネットワークおよびZigbee、Z-wave(登録商標)、802.15.4無線等の独自の無線フォーマットに対するローカルDoS攻撃を防ぐことができる。この実施形態において、懸念されるのは、侵害されたデバイスのアプリケーションソフトウェア150により、通信モジュール130がトランシーバ132で絶えずブロードキャストし、1つ以上の他のIoTデバイス102a~nの無線受信機またはトランシーバ132を無関係なデータで圧倒することにより、正当な(非感染の)デバイス間の通信を実効的に不自由にすることである。
【0110】
一実施形態では、送信器フィルタリングプロセス250は、セッション接続が行われた後、標的デバイスの通信モジュール130が、IPアドレスと任意選択的には送信デバイスの使用ポートとに少なくとも部分的に基づいて送信デバイスからのデータパケットの送信に影響を与える一時停止コマンドを有するデータパケットを送信することを含み、送信デバイスには、そのアプリケーションソフトウェア150とインターネットとの間で機能して、アプリケーションソフトウェア150へのいかなるコマンドまたは侵害にもかかわらず一時停止コマンドを実施するハードウェア、ロジック、およびソフトウェアの組み合わせが含まれる。一時停止コマンドは、送信デバイスのデータパケットの送信を抑制、一時停止、またはターンオフするための1つ以上のコマンドを含み得る。
【0111】
一実施形態では、送信器フィルタリングプロセス250は、プロセッサ120またはプロセッサ400が、送信デバイスのIPアドレスおよび使用ポート(利用可能な場合)をそれぞれメモリ122またはメモリ404に格納することをさらに含む。送信器フィルタリングプロセス250はさらに、プロセッサ120およびプロセッサ400の両方または一方に、送信デバイスと標的デバイスとの間の通信をブロックまたは制限させ得る。
【0112】
一実施形態では、送信器フィルタリングプロセス250は、プロセッサ120およびプロセッサ400の両方または一方が、送信デバイスのIPアドレスおよび使用ポート(利用可能な場合)をメモリ122およびメモリ404の両方または一方にそれぞれ格納することをさらに含む。送信器フィルタリングプロセス250はさらに、通信モジュール130に制御信号を送信することによって、プロセッサ120およびプロセッサ400の両方または一方に送信デバイスと標的デバイスとの間の通信をブロックまたは制限させ得る。一実施形態では、送信器フィルタリングプロセス250はさらに、送信デバイスと標的デバイスとの間の通信を所定の期間、ブロックまたは制限し得る。所定の時間が経過すると、送信デバイスおよび標的デバイスは、通信を再開し得る。
【0113】
一実施形態では、送信器フィルタリングプロセス250は、コントローラ112によって実行され得る。コントローラ112は、送信デバイスおよび標的デバイスの両方のIPアドレスおよびポート(使用される場合)を格納し得る。
【0114】
一実施形態では、送信器フィルタリングプロセス250は、ステップ254が、送信デバイスが、受信デバイスからの一時停止コマンドを有するパケットを受信することを含むように変更され得、一時停止コマンドは、データ送信の抑制、一時停止またはターンオフへのコマンドを含み得る。送信デバイスは、そのアプリケーションソフトウェア150と通信モジュール130およびトランシーバ132の両方または一方との間で機能して、アプリケーションソフトウェア150またはオペレーティングシステム152からのいかなるコマンドまたはそれらへの侵害にもかかわらず、一時停止コマンドを実施するハードウェア、ロジック、およびソフトウェアの組み合わせを含み得る。
【0115】
一実施形態では、ステップ258は、限定されないが周波数、チャネル、および/または受信デバイス識別子等の1つ以上の送信情報をメモリに格納するように変更され得る。一実施形態では、送信器フィルタリングプロセス250は、コントローラ112によって実行され得る。コントローラ112は、送信デバイスおよび標的デバイスの両方の送信情報を格納し得る。送信デバイスが侵害され得るとの判断の後、送信デバイスおよびコントローラ112の両方または一方は、送信デバイスおよびコントローラ112の両方または一方が標的デバイスからコマンドを受信して通信モジュール130、電力モジュール124、および/またはトランシーバ132を再び有効化するまで、送信デバイスからの追加試行接続および送信をブロックし得る。
【0116】
一実施形態では、送信情報の量が記憶閾値に達した場合、送信デバイスのプロセッサ120は、いかなる送信をも終了し得る。送信を終了することは、例えば、制御信号を送信し、それによりトランシーバ132を無効化し、電力モジュール124を無効化し、通信モジュール130を無効化することを含み得る。
【0117】
一実施形態では、コントローラ112は、エコシステムプロバイダのハブである。別の実施形態では、コントローラ112は、インターネットサービスプロバイダおよび電気通信会社の両方または一方の制御下にあるデバイスである。そのような実施形態では、インターネットサービスプロバイダおよび電気通信会社の両方または一方は、上記でより詳細に説明したように、コントローラ112上で送信器フィルタリングプロセス250を実施し得、したがって、コントローラ112は、例えば、送信器フィルタリングプロセス250が特定の送信デバイスが侵害されていると判断した後に、特定の送信デバイスからの送信をブロックし得る。コントローラ112は、特定の期間、ブロッキングコマンドをキャッシュし得、すなわち、コントローラ112は、特定の期間、送信情報と一時停止コマンド情報との両方または一方を格納し得る。一実施形態では、コントローラ112は、一時停止コマンドを受信した送信デバイスが上記のように一時停止コマンドに適切に応答できないとコントローラ112が判断した場合、特定の送信デバイスからの送信をブロックし得る。
【0118】
ここで図6を参照すると、概して、攻撃を検出するステップ(ステップ304)と、送信デバイスに一時停止コマンドを送信するステップ(ステップ308)と、一時停止コマンドに関するタイムアウト期間の間、待機するステップ(ステップ312)と、送信デバイスと受信デバイスとの間のネットワーク接続を終了するステップと、を備える受信器フィルタリングプロセス300の例示的実施形態の図が示されている。一実施形態では、送信器フィルタリングプロセス250の完了後、動作プロセス196は、ステップ212において継続し、送信機を無効化し得る。
【0119】
一実施形態では、攻撃を検出するステップ(ステップ304)は、送信デバイス識別、送信のタイムスタンプ、または他のデータパケット情報等の1つ以上の送信情報をメモリ120およびメモリ404の両方または一方に格納することを含む。一実施形態では、受信デバイスのプロセッサ120およびプロセッサ400の両方または一方は、送信情報に基づいて1つ以上の送信デバイスモデルを作成し、送信情報が1つ以上の送信デバイスモデルと矛盾するかどうかを判断することによって攻撃を検出する。
【0120】
一実施形態では、受信デバイスは、攻撃を検出した後(ステップ304)、標的デバイスと見なされ得る。一実施形態では、一時停止コマンドを送信デバイスに送信すること(ステップ308)は、通信モジュール130によって、抑制、一時停止、および/またはターンオフコマンドを送信することを含み得る。いくつかの実施形態では、受信器フィルタリングプロセス300は、一時停止コマンドについてのタイムアウト期間(ステップ312)の間待機しない。そのような実施形態では、一時停止コマンドが送信デバイスに送信された後(ステップ308)、受信器フィルタリングプロセス300は継続して、送信デバイスと受信デバイスとの間のネットワーク接続を終了する(ステップ316)。
【0121】
以下は、本明細書に開示される発明概念の非限定的な例示的実施形態の多数のリストである。
1.モノのインターネットのデバイスであって、
コンピュータネットワークに通信可能に接続するように動作可能な回路を有する通信モジュールと、
データを格納するように動作可能なメモリと、
メモリと通信モジュールとに接続されるとともに、メモリに格納された命令を実行するように動作可能なプロセッサと、
センサおよび制御デバイスの少なくとも1つを含むアクティビティモジュールであって、アクティビティモジュールはプロセッサの制御下で動作して、センサおよび制御デバイスの少なくとも1つを用いて指定アクティビティを実行し、アクティビティモジュールは通信モジュールを介してコンピュータネットワーク上で通信するようにさらに動作可能である、アクティビティモジュールと、
を備え、
プロセッサは、システムパラメータの測定値が閾値を超えると、コンピュータネットワーク上の通信モジュールの通信量を削減するようにさらに動作可能である、
モノのインターネットのデバイス。
【0122】
2.コンピュータネットワークが広域ネットワーク(WAN)である、例示的実施形態1に記載のモノのインターネットのデバイス。
3.システムパラメータの測定値が所定の期間にわたって閾値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するように動作可能である、例示的実施形態1または2のいずれか1つに記載のモノのインターネットのデバイス。
【0123】
4.通信モジュールに電力を供給する回路を有する電力モジュールをさらに備え、システムパラメータは、電力モジュールによって供給される電力であり、電力モジュールによって供給される電力が閾値電力値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するように動作可能である、例示的実施形態1~3のいずれか1つに記載のモノのインターネットのデバイス。
【0124】
5.電力モジュールによって供給される電力が所定の期間にわたって閾値電力値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するように動作可能である、例示的実施形態4に記載のモノのインターネットのデバイス。
【0125】
6.システムパラメータが通信モジュールの送信時間であり、通信モジュールの送信時間が送信時間値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するように動作可能である、例示的実施形態1~5のいずれか1つに記載のモノのインターネットのデバイス。
【0126】
7.通信モジュールが媒体アクセス制御(MAC)動作層で制御され、システムパラメータがMAC層で測定された通信モジュールの送信時間であり、MAC層で測定された通信モジュールの送信時間が送信時間値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するように動作可能である、例示的実施形態1~6のいずれか1つに記載のモノのインターネットのデバイス。
【0127】
8.通信モジュールが物理(PHY)動作層で制御され、システムパラメータがPHY層で測定された通信モジュールの送信時間であり、PHY層で測定された通信モジュールの送信時間が送信時間値を超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するように動作可能である、例示的実施形態1~7のいずれか1つに記載のモノのインターネットのデバイス。
【0128】
9.プロセッサは、アクティビティモジュールが非アクティブである期間中にシステムパラメータの値を測定し、それによりアクティビティモジュールが非アクティブであるときの非アクティブパラメータ閾値を確立するように動作可能であり、アクティビティモジュールが非アクティブであるときの非アクティブパラメータ閾値をシステムパラメータが超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するようにさらに動作可能である、例示的実施形態1~8のいずれか1つに記載のモノのインターネットのデバイス。
【0129】
10.プロセッサは、アクティビティモジュールがアクティブである期間中にシステムパラメータの値を測定して、アクティビティモジュールがアクティブであるときのアクティブパラメータ閾値を確立するように動作可能であり、アクティビティモジュールがアクティブであるときのアクティブパラメータ閾値をシステムパラメータが超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するようにさらに動作可能である、例示的実施形態1~9のいずれか1つに記載のモノのインターネットのデバイス。
【0130】
11.プロセッサは、アクティビティモジュールのアクティビティの複数のレベルを監視し、アクティビティモジュールが第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値、およびアクティビティモジュールが第2のアクティビティレベルにあるときの第2のアクティブパラメータ閾値を確立するように動作可能であり、アクティビティモジュールが第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値をシステムパラメータが超えるか、または、アクティビティモジュールが第2のアクティビティレベルにあるときの第2のアクティブパラメータ閾値をシステムパラメータが超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するように動作可能である、例示的実施形態10に記載のモノのインターネットのデバイス。
【0131】
12.第1のアクティビティレベルが第1の動作パラメータを有し、第2のアクティビティレベルが第1の動作パラメータよりも大きい第2の動作パラメータを有する、例示的実施形態11に記載のモノのインターネットのデバイス。
【0132】
13.第1のアクティビティレベルがトリクルアクティビティレベルである、例示的実施形態12に記載のモノのインターネットのデバイス。
14.第1のアクティビティレベルが通常アクティビティレベルである、例示的実施形態12に記載のモノのインターネットのデバイス。
【0133】
15.第2のアクティビティレベルがハイパーアクティビティレベルである、例示的実施形態12~14のいずれか1つに記載のモノのインターネットのデバイス。
16.電力モジュールをさらに備え、システムパラメータが電力モジュールによって供給される電力であり、プロセッサが、アクティビティモジュールが非アクティブである期間中に電力モジュールによって供給される電力の値を測定して、アクティビティモジュールが非アクティブであるときの非アクティブ電力パラメータ閾値を確立するように動作可能であり、アクティビティモジュールが非アクティブであるときの非アクティブ電力パラメータ閾値をシステムパラメータが超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するようにさらに動作可能である、例示的実施形態1~15のいずれか1つに記載のモノのインターネットのデバイス。
【0134】
17.プロセッサが、アクティビティモジュールが非アクティブである複数の期間中に電力モジュールによって供給される電力の値を測定して、アクティビティモジュールが非アクティブであるときの非アクティブ電力パラメータ閾値を確立するように動作可能である、例示的実施形態16に記載のモノのインターネットのデバイス。
【0135】
18.電力モジュールをさらに備え、システムパラメータが電力モジュールによって供給される電力であり、プロセッサが、アクティビティモジュールがアクティブである期間中に電力モジュールによって供給される電力の値を測定して、アクティビティモジュールがアクティブであるときのアクティブ電力パラメータ閾値を確立するように動作可能であり、アクティビティモジュールがアクティブであるときのアクティブ電力パラメータ閾値をシステムパラメータが超えると、プロセッサは、コンピュータネットワーク上の通信モジュールの通信量を削減するようにさらに動作可能である、例示的実施形態1~17のいずれか1つに記載のモノのインターネットのデバイス。
【0136】
19.プロセッサは、アクティビティモジュールがアクティブである複数の期間中に電力モジュールによって供給される電力の値を測定して、アクティビティモジュールがアクティブであるときのアクティブ電力パラメータ閾値を確立するように動作可能である、例示的実施形態18に記載のモノのインターネットのデバイス。
【0137】
20.システムパラメータの閾値が初期値を有し、初期値がメモリ内にプログラムされている、例示的実施形態1~19のいずれか1つに記載のモノのインターネットのデバイス。
【0138】
21.システムパラメータの閾値が初期値を有し、コンピュータネットワークに通信可能に接続されている別のモノのインターネットのデバイスによって提供される閾値データを使用して初期値がメモリ内にプログラムされる、例示的実施形態1~20のいずれか1つに記載のモノのインターネットのデバイス。
【0139】
22.モノのインターネットのデバイスを動作させる方法であって、
モノのインターネットのデバイスの電気回路に電力を供給することと、
トランシーバと通信モジュールとの回路を使用して、モノのインターネットのデバイスをコンピュータネットワークに通信可能に接続することと、
検出回路を動作させて、通信モジュールのアクティビティのレベルを間接的に監視することと、
通信モジュールのアクティビティのレベルが閾値を超えているかどうかを判断することと、
通信モジュールのアクティビティのレベルが閾値を超えると、モノのインターネットのデバイスとコンピュータネットワークとの間の通信量を削減することと、
を備える、方法。
【0140】
23.コンピュータネットワークが広域ネットワーク(WAN)である、例示的実施形態22に記載の方法。
24.モノのインターネットのデバイスが有線接続を使用してコンピュータネットワークに接続され、トランシーバが有線ネットワーク接続へのインターフェースを備える、例示的実施形態22~23のいずれか1つに記載の方法。
【0141】
25.モノのインターネットのデバイスが無線接続を使用してコンピュータネットワークに接続され、トランシーバがモノのインターネットのデバイスを無線ネットワーク接続に通信可能に接続するための無線トランシーバを備える、例示的実施形態22~24のいずれか1つに記載の方法。
【0142】
26.通信モジュールのアクティビティのレベルを監視することは、電気回路に供給される電力のレベルを監視することを含み、電気回路に供給される電力のレベルが閾値電力値を超えると、トランシーバとコンピュータネットワークとの間の通信量が削減される、例示的実施形態22~25のいずれか1つに記載の方法。
【0143】
27.電力のレベルが所定の期間にわたって閾値電力値を超えると、モノのインターネットのデバイスとコンピュータネットワークとの間の通信量が削減される、例示的実施形態26に記載の方法。
【0144】
28.通信モジュールのアクティビティのレベルを監視することは、通信モジュールの送信時間を監視することを備え、通信モジュールの送信時間が閾値を超えると、モノのインターネットのデバイスとコンピュータネットワークとの間の通信量が削減される、例示的実施形態22~27のいずれか1つに記載の方法。
【0145】
29.モノのインターネットのデバイスがアクティブである期間中に通信モジュールのアクティビティのレベルを監視して、モノのインターネットのデバイスがアクティブであるときのアクティブ通信モジュール閾値を確立すること
をさらに備え、
モノのインターネットのデバイスとコンピュータネットワークとの間の通信量を削減することは、通信モジュールのアクティビティのレベルがモノのインターネットのデバイスがアクティブであるときのアクティブ通信モジュール閾値を超えると、モノのインターネットのデバイスとコンピュータネットワークとの間の通信量を削減することとしてさらに定義される、
例示的実施形態22~28のいずれか1つに記載の方法。
【0146】
30.通信モジュールのアクティビティのレベルを監視することは、通信モジュールのアクティビティの複数のレベルを監視することと、通信モジュールが第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値と通信モジュールが第2のアクティビティレベルにあるときの第2のパラメータ閾値とを確立することと、を含み、コンピュータネットワーク上の通信モジュールの通信量を削減することは、通信モジュールが第1のアクティビティレベルにあるときの第1のアクティブパラメータ閾値を通信モジュールのアクティビティのレベルが超えるとモノのインターネットデバイスとコンピュータネットワークとの間の通信量を削減すること、または、通信モジュールが第2のアクティビティレベルにあるときの第2のアクティブパラメータ閾値を通信モジュールのアクティビティのレベルが超えるとモノのインターネットのデバイスとコンピュータネットワークとの間の通信量を削減することを含む、例示的実施形態29に記載の方法。
【0147】
31.第1のアクティビティレベルが第1の動作パラメータを有し、第2のアクティビティレベルが第1の動作パラメータよりも大きい第2の動作パラメータを有する、例示的実施形態30に記載の方法。
【0148】
32.第1のアクティビティレベルがトリクルアクティビティレベルである、例示的実施形態31に記載の方法。
33.第1のアクティビティレベルが通常アクティビティレベルである、例示的実施形態31に記載の方法。
【0149】
34.第2のアクティビティレベルがハイパーアクティビティレベルである、例示的実施形態31~33のいずれか1つに記載の方法。
35.モノのインターネットのデバイスがアクティブである期間中に通信モジュールのアクティビティのレベルを監視することは、
モノのインターネットのデバイスがアクティブである複数の期間中に通信モジュールのアクティビティのレベルを監視して、モノのインターネットのデバイスがアクティブであるときのアクティブ通信モジュール閾値を確立すること
を備える、例示的実施形態27に記載の方法。
【0150】
36.モノのインターネットのデバイスが非アクティブである期間中に通信モジュールのアクティビティのレベルを監視して、モノのインターネットのデバイスが非アクティブであるときの非アクティブ通信回路閾値を確立することと、
通信モジュールのアクティビティのレベルが、モノのインターネットのデバイスが非アクティブであるときの確立された非アクティブパラメータ閾値を超えると、モノのインターネットのデバイスとコンピュータネットワークとの間の通信量を削減することと、
をさらに備える、例示的実施形態22~35のいずれか1つに記載の方法。
【0151】
37.モノのインターネットのデバイスが非アクティブである期間中に通信モジュールのアクティビティのレベルを監視することは、
モノのインターネットのデバイスが非アクティブである複数の期間中に通信モジュールのアクティビティのレベルを監視し、モノのインターネットのデバイスが非アクティブであるときの非アクティブ通信回路閾値を確立することを含む、例示的実施形態36に記載の方法。
【0152】
38.通信モジュールのアクティビティのレベルの閾値が初期値を有し、方法は、モノのインターネットのデバイスの製造中にモノのインターネットのデバイスのメモリ内に初期値をプログラムすることをさらに備える、例示的実施形態22~37のいずれか1つに記載の方法。
【0153】
39.通信モジュールのアクティビティのレベルの閾値が初期値を有し、方法はさらに、モノのインターネットのデバイスがセットアップモードを有して、セットアップモード中に初期値がモノのインターネットのデバイスのメモリ内にプログラムされることをさらに備える、例示的実施形態22~38のいずれか1つに記載の方法。
【0154】
40.通信モジュールのアクティビティのレベルの閾値が初期値を有し、方法はさらに、モノのインターネットのデバイスが、コンピュータネットワークに通信可能に接続された別のモノのインターネットのデバイスによって提供される閾値データを受信して、別のモノのインターネットのデバイスによって提供される閾値データを使用してモノのインターネットのデバイスのメモリ内に初期値をプログラムすることを備える、例示的実施形態22~39のいずれか1つに記載の方法。
【0155】
41.通信モジュールのアクティビティのレベルの閾値が初期値を有し、モノのインターネットのデバイスの動作が初期値を使用して動作を開始し、方法はさらに、
モノのインターネットのデバイスを機械学習モードで動作させることと、ここで、モノのインターネットのデバイスが通信モジュールのアクティビティのレベルの通常動作値を学習し、
モノのインターネットのデバイスの後続動作が通信モジュールのアクティビティのレベルの通常動作値を使用するように初期値を置き換えることと、
を備える、例示的実施形態22~40のいずれか1つに記載の方法。
【0156】
前述の実施形態は、異なる他の構成要素内に含まれるか、またはそれに接続される異なる構成要素を描写する。そのような描写されたアーキテクチャは単なる例示であり、実際、同じ機能を達成する多くの他のアーキテクチャを実装できることを理解されたい。概念的な意味では、同じ機能を達成するための構成要素の任意の配置は、所望の機能が達成されるように効果的に「関連付け」られる。したがって、特定の機能を達成するように本明細書で組み合わされる任意の2つの構成要素は、アーキテクチャまたは中間構成要素に関係なく、所望の機能が達成されるように互いに「関連する」と見なされることができる。同様に、そのように関連付けられた任意の2つの構成要素は、互いに「動作可能に接続」または「動作可能に結合」されて所望の機能を達成すると見なされることもできる。
【0157】
本発明の特定の実施形態が示され、説明されてきたが、この発明およびそのより広い態様から逸脱することなく、本明細書の教示に基づいて変更および修正を行い得、したがって、添付の特許請求の範囲は、この発明の真の精神および範囲内にあるようなすべてのそのような変更および修正をその範囲内に包含するものとすることは当業者には明らかであろう。さらに、本発明は、添付の特許請求の範囲によってのみ定義されることを理解されたい。概して、本明細書で、特に添付の特許請求の範囲(例えば、添付の特許請求の範囲の本文)で使用される用語は、概して「オープン」な用語として意図されている(例えば、「含んでいる」という用語は、「含んでいるがこれに限定されない」と解釈されるべきであり、「有している」という用語は「少なくとも有している」と解釈されるべきであり、「含む」という用語は「含むがこれに限定されない」と解釈されるべきである等)ことが、当業者には理解されよう。導入された請求項事項の特定の数が意図されている場合、そのような意図は請求項にて明示的に記載され、そのような事項がない場合、そのような意図は存在しないことが、当業者にはさらに理解されよう。例えば、理解を助けるために、以下の添付の特許請求の範囲は、請求項事項を導入するための導入句「少なくとも1つ」および「1つ以上」の使用法を含み得る。しかし、そのような句の使用は、たとえ同じ請求項に「1つ以上」または「少なくとも1つ」という導入句、および「a」または「an」等の不定冠詞が含まれる場合であっても、不定冠詞「a」または「an」による請求項事項の導入が、そのような導入された請求項事項を含む任意の特定の請求項を、そのような事項を1つだけ含む発明に限定することを意味すると解釈されるべきではない(例えば、「a」および「an」の両方または一方は典型的には「少なくとも1つ」または「1つ以上」を意味すると解釈されるべきである)。同じことが、請求項事項を導入するために使用される定冠詞の使用にも当てはまる。さらに、導入された請求項事項の特定の数が明示的に記載されている場合であっても、当業者は、そのような事項は典型的には、少なくとも記載数を意味すると解釈されるべきであることを認識するであろう(例えば、「2つの事項」というそのままの事項は、他の修飾子がない場合、典型的には少なくとも2つの事項、または2つ以上の事項を意味する)。
【0158】
したがって、本発明は、添付の特許請求の範囲による場合を除いて限定されない。
図1A
図1B
図2A
図2B
図2C
図3
図4
図5
図6
【国際調査報告】