(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-10-22
(45)【発行日】2025-10-30
(54)【発明の名称】閾値算出装置、異常検知装置、閾値算出方法および異常検知方法
(51)【国際特許分類】
H04L 12/22 20060101AFI20251023BHJP
H04L 12/28 20060101ALI20251023BHJP
H04L 43/02 20220101ALI20251023BHJP
【FI】
H04L12/22
H04L12/28 500A
H04L43/02
(21)【出願番号】P 2022571971
(86)(22)【出願日】2021-11-18
(86)【国際出願番号】 JP2021042362
(87)【国際公開番号】W WO2022137916
(87)【国際公開日】2022-06-30
【審査請求日】2024-08-22
(31)【優先権主張番号】P 2020214471
(32)【優先日】2020-12-24
(33)【優先権主張国・地域又は機関】JP
(73)【特許権者】
【識別番号】514136668
【氏名又は名称】パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ
【氏名又は名称原語表記】Panasonic Intellectual Property Corporation of America
(74)【代理人】
【識別番号】100109210
【氏名又は名称】新居 広守
(74)【代理人】
【識別番号】100137235
【氏名又は名称】寺谷 英作
(74)【代理人】
【識別番号】100131417
【氏名又は名称】道坂 伸一
(72)【発明者】
【氏名】鈴木 裕介
(72)【発明者】
【氏名】吉田 望絵
(72)【発明者】
【氏名】寺澤 弘泰
(72)【発明者】
【氏名】室屋 清一
(72)【発明者】
【氏名】高木 利匡
【審査官】羽岡 さやか
(56)【参考文献】
【文献】特開2019-153894(JP,A)
【文献】特開2020-053928(JP,A)
【文献】特開2006-254287(JP,A)
【文献】米国特許出願公開第2019/0380037(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-12/66
H04L 41/00-69/40
(57)【特許請求の範囲】
【請求項1】
施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置に用いられる閾値を算出する閾値算出装置であって、
前記施設内には、前記第1機器と異なる第2機器が設けられ、
前記第1機器の第1期間の機器状態を取得する第1機器状態取得部と、
前記第2機器から取得された情報に基づいて、前記第1期間に前記施設内にいる人の在室状況を判定する第1在室状況判定部と、
前記第1期間に前記第1機器で送受信される通信により生成された通信ログを収集する第1通信ログ収集部と、
前記機器状態、前記在室状況および前記通信ログに基づいて、前記第1期間の後の第2期間における前記第1機器の通信に対する閾値を算出する算出部と、を備え、
前記機器状態は、前記第1機器の1以上の状態を含み、
前記在室状況は、前記人の1以上の状況を含み、
前記算出部は、前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対して前記閾値を算出する、
閾値算出装置。
【請求項2】
前記第1機器状態取得部は、前記第1機器を制御する機器制御コマンドを含む通信に基づく前記第1機器の電源状態および設定値の少なくとも1つを前記機器状態として取得する、
請求項1に記載の閾値算出装置。
【請求項3】
前記第1在室状況判定部は、前記第1機器または前記第1機器および前記第2機器以外の第3機器から取得された情報に基づいて、前記在室状況を判定する、
請求項1または2に記載の閾値算出装置。
【請求項4】
前記通信ログには、前記通信ログの宛先識別子に基づいて判定されたオンライン種別を示す種別情報が含まれ、
前記種別情報は、前記通信ログにおける1以上のオンライン種別を含み、
前記算出部は、さらに前記1以上のオンライン種別の組み合わせのそれぞれに対して前記閾値を算出する、
請求項1~3のいずれか1項に記載の閾値算出装置。
【請求項5】
前記算出部は、前記機器状態と、前記在室状況と、前記通信ログとが対応づけられた学習データを生成し、前記学習データに基づいて前記閾値を算出する、
請求項1~4のいずれか1項に記載の閾値算出装置。
【請求項6】
前記在室状況は、前記施設内における前記人の有無を含み、
前記算出部は、前記人の在室および不在のそれぞれに対して前記閾値を算出する、
請求項1~5のいずれか1項に記載の閾値算出装置。
【請求項7】
前記在室状況は、前記施設内における前記人の人数および位置の少なくとも一方を含み、
前記算出部は、前記少なくとも一方のそれぞれに対して前記閾値を算出する、
請求項1~6のいずれか1項に記載の閾値算出装置。
【請求項8】
前記在室状況は、前記第1期間の前記人の1以上の活動情報を含み、
前記算出部は、さらに前記1以上の活動情報に基づいて、前記閾値を算出する、
請求項1~7のいずれか1項に記載の閾値算出装置。
【請求項9】
前記閾値は、前記第1機器の通信量に対する閾値であり、前記通信量の最大値および最小値を含む、
請求項1~8のいずれか1項に記載の閾値算出装置。
【請求項10】
施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置であって、
前記施設内には、前記第1機器と異なる第2機器が設けられ、
第1期間の後の第2期間の前記第1機器の機器状態を取得する第2機器状態取得部と、
前記第2機器から取得された情報に基づいて、前記第2期間の前記施設内にいる人の在室状況を判定する第1在室状況判定部と、
前記第2期間に前記第1機器で送受信される通信により生成された通信ログを収集する第2通信ログ収集部と、
請求項1~9のいずれか1項に記載の閾値算出装置が算出した、前記第1機器の前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対する閾値の中から、前記第2期間の前記機器状態および前記在室状況に応じた閾値を選択し、選択された閾値と前記第2期間の前記通信ログとに基づいて、前記第2期間における前記第1機器の前記異常な通信を検出する異常検知部とを備える、
異常検知装置。
【請求項11】
前記異常検知部は、選択された前記閾値と前記通信ログとを比較し、前記通信ログが前記閾値を満たさない場合、異常として判定し、判定結果を出力する、
請求項10に記載の異常検知装置。
【請求項12】
施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置に用いられる閾値を算
出する
閾値算出装置が実行する閾値算出方法であって、
前記施設内には、前記第1機器と異なる第2機器が設けられ、
前記第1機器の第1期間の機器状態を取得し、
前記第2機器から取得された情報に基づいて、前記第1期間に前記施設内にいる人の在室状況を判定し、
前記第1期間に前記第1機器で送受信される通信により生成された通信ログを収集し、
前記機器状態、前記在室状況および前記通信ログに基づいて、前記第1期間の後の第2期間における前記第1機器の通信に対する閾値を算出することを含み、
前記機器状態は、前記第1機器の1以上の状態を含み、
前記在室状況は、前記人の1以上の状況を含み、
前記閾値の算出では、前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対して前記閾値を算出する、
閾値算出方法。
【請求項13】
施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する
異常検知装置が実行する異常検知方法であって、
前記施設内には、前記第1機器と異なる第2機器が設けられ、
第1期間の後の第2期間の前記第1機器の機器状態を取得し、
前記第2機器から取得された情報に基づいて、前記第2期間の前記施設内にいる人の在室状況を判定し、
前記第2期間に前記第1機器で送受信される通信により生成された通信ログを収集し、
請求項12に記載の閾値算出方法が算出した、前記第1機器の前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対する閾値から、前記第2期間の前記機器状態および前記在室状況に応じた閾値を選択し、選択された閾値と前記第2期間の前記通信ログとに基づいて、前記第2期間における前記第1機器の前記異常な通信を検出する、
異常検知方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、閾値算出装置、異常検知装置、閾値算出方法および異常検知方法に関する。
【背景技術】
【0002】
近年、家庭内の様々なIoT(Internet of Things)機器がホームルータを介してインターネットに繋がり始めている。これらの家庭内IoT機器がインターネットに接続されることで、遠隔からの制御、状態の監視、機器連携等の機能が実現されている。
【0003】
一方、ホームネットワークのプロトコルとして普及しているECHONET Lite(登録商標、以下同様)、UPnP(Universal Plug and Play)、DLNA(登録商標、以下同様)(Digital Living Network Alliance)等には通信の暗号化などのセキュアな概念が含まれていない。
【0004】
さらに、家庭内IoT機器には従来のパソコン等のIT(Infomation Technology)機器のようにウイルス対策ソフト等のセキュリティソフトを導入できない場合が多く、家庭内等のホームネットワーク(例えば、LAN:Local Area Network等)に接続された機器を狙ったサイバー攻撃も発生している。
【0005】
例えば、家庭内IoT機器がサイバー攻撃により不正操作された場合、スマートテレビがウイルスに感染したり、監視カメラの映像がネット上に公開されたり、家庭内IoT機器がインターネット上の他のサーバへの攻撃に加担させられたりする。さらに、家庭内IoT機器が医療機器の場合には人命に係るような操作がされる場合もある。
【0006】
そのため、ホームネットワークにおいてもネットワークに流れるトラフィックを監視し、不正アクセス、ウイルス感染等による家庭内IoT機器の異常を検知することが重要となっている。
【0007】
ネットワークの異常を検知する方式として、既知の異常なパケットのパターン(シグネチャ)とネットワーク上を流れるパケットのパターンとを比較して異常を検知するシグネチャ検知方式と、正常状態のパケットのパターンとネットワーク上を流れるパケットのパターンとを比較して異常を検知するアノマリ検知方式がある(例えば、特許文献1参照)。
【0008】
しかし、シグネチャ検知方式では、予め異常なパケットのパターンを定めなければならないため、未知のウイルス等の異常を検知できない。
【0009】
一方、アノマリ検知方式では、特許文献1のように機械学習技術を用いることで正常状態のパケットのパターンを学習し、学習されたモデルと合致しないパケットのパターンを全て異常として検知するため、未知のウイルス等の異常も検知することができる。
【先行技術文献】
【特許文献】
【0010】
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献1に開示されている方法では、正常な機器のパケットパターンを学習に用いて異常検知しているが、施設内の状態の変化に応じて通信の利用状況が変化するような場合には正確に異常検知できない場合がある。
【0012】
そこで、本開示は、上記課題を解決するため、異常検知をより正確に行うことができる閾値算出装置、異常検知装置、閾値算出方法および異常検知方法を提供する。
【課題を解決するための手段】
【0013】
本開示の一態様に係る閾値算出装置は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置に用いられる閾値を算出する閾値算出装置であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、前記第1機器の第1期間の機器状態を取得する第1機器状態取得部と、前記第2機器から取得された情報に基づいて、前記第1期間に前記施設内にいる人の在室状況を判定する第1在室状況判定部と、前記第1期間に前記第1機器で送受信される通信により生成された通信ログを収集する第1通信ログ収集部と、前記機器状態、前記在室状況および前記通信ログに基づいて、前記第1期間の後の第2期間における前記第1機器の通信に対する閾値を算出する算出部と、を備え、前記機器状態は、前記第1機器の1以上の状態を含み、前記在室状況は、前記人の1以上の状況を含み、前記算出部は、前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対して前記閾値を算出する。
【0014】
本開示の一態様に係る異常検知装置は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、第1期間の後の第2期間の前記第1機器の機器状態を取得する第2機器状態取得部と、前記第2機器から取得された情報に基づいて、前記第2期間の前記施設内にいる人の在室状況を判定する第1在室状況判定部と、前記第2期間に前記第1機器で送受信される通信により生成された通信ログを収集する第2通信ログ収集部と、上記の閾値算出装置が算出した、前記第1機器の前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対する閾値の中から、前記第2期間の前記機器状態および前記在室状況に応じた閾値を選択し、選択された閾値と前記第2期間の前記通信ログとに基づいて、前記第2期間における前記第1機器の前記異常な通信を検出する異常検知部とを備える。
【0015】
本開示の一態様に係る閾値算出方法は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置に用いられる閾値を算する閾値算出方法であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、前記第1機器の第1期間の機器状態を取得し、前記第2機器から取得された情報に基づいて、前記第1期間に前記施設内にいる人の在室状況を判定し、前記第1期間に前記第1機器で送受信される通信により生成された通信ログを収集し、前記機器状態、前記在室状況および前記通信ログに基づいて、前記第1期間の後の第2期間における前記第1機器の通信に対する閾値を算出することを含み、前記機器状態は、前記第1機器の1以上の状態を含み、前記在室状況は、前記人の1以上の状況を含み、前記閾値の算出では、前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対して前記閾値を算出する。
【0016】
本開示の一態様に係る異常検知方法は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知方法であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、第1期間の後の第2期間の前記第1機器の機器状態を取得し、前記第2機器から取得された情報に基づいて、前記第2期間の前記施設内にいる人の在室状況を判定し、前記第2期間に前記第1機器で送受信される通信により生成された通信ログを収集し、上記の閾値算出方法が算出した、前記第1機器の前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対する閾値から、前記第2期間の前記機器状態および前記在室状況に応じた閾値を選択し、選択された閾値と前記第2期間の前記通信ログとに基づいて、前記第2期間における前記第1機器の前記異常な通信を検出する。
【発明の効果】
【0017】
本開示によれば、異常検知をより正確に行うことができる閾値算出装置等を実現することができる。
【図面の簡単な説明】
【0018】
【
図1】
図1は、実施の形態における異常検知システムの全体構成図である。
【
図2】
図2は、実施の形態における異常検知処理装置の構成図である。
【
図3】
図3は、実施の形態における機器状態データの一例を示す図である。
【
図4】
図4は、実施の形態における在室状況データの一例を示す図である。
【
図5】
図5は、実施の形態における通信ログの一例を示す図である。
【
図6】
図6は、実施の形態における学習データの一例を示す図である。
【
図7】
図7は、実施の形態における閾値データの一例を示す図である。
【
図8A】
図8Aは、実施の形態における閾値算出装置の動作を示すフローチャートである。
【
図8B】
図8Bは、実施の形態における異常検知装置の動作を示すフローチャートである。
【
図9】
図9は、実施の形態における機器状態取得処理の一例を示すフローチャートである。
【
図10】
図10は、実施の形態における機器状態取得処理の一例を示すフローチャートである。
【
図11】
図11は、実施の形態における機器状態取得処理の他の一例を示すフローチャートである。
【
図12】
図12は、実施の形態における機器状態取得処理のさらに他の一例を示すフローチャートである。
【
図13】
図13は、実施の形態における在室状況判定処理の一例を示すフローチャートである。
【
図14】
図14は、実施の形態における通信ログ収集処理の一例を示すフローチャートである。
【
図15】
図15は、実施の形態における学習処理の一例を示すフローチャートである。
【
図16】
図16は、実施の形態における学習データ作成処理の一例を示すフローチャートである。
【
図17】
図17は、実施の形態における閾値設定処理の一例を示すフローチャートである。
【
図18】
図18は、実施の形態における異常検知処理の一例を示すフローチャートである。
【発明を実施するための形態】
【0019】
(本開示に至った経緯)
上記の「発明が解決しようとする課題」でも記載したように、特許文献1に開示されている方法では、施設内の状態の変化に応じて通信の利用状況が変化するような場合には正確に異常検知できない場合がある。例えば、家庭内IoT機器においては、住人の在室人数、属性等によって機器の利用状況が異なるため、正常な機器のパケットパターンだけでは、誤検知、検知漏れ等を引き起こしてしまう可能性がある。
【0020】
例えば、スマートテレビが起動し、照明が点灯した場合は、住人が不在であれば異常と検知したいが、住人の在不在の判定ができないため、異常と検知できず、検知漏れとなる可能性がある。
【0021】
また、来客時等の住人以外の人により新たな端末が接続され、在室人数が増えたことで通信量が増加した場合、異常であると検知されてしまい、誤検知となる可能性がある。
【0022】
このように、従来技術では、住人の在室状況を考慮して異常を検知していないので、施設内の状態の変化に応じて通信の利用状況が変化するような場合には正確に異常検知が行えず、検知漏れまたは誤検知が起こり得る。
【0023】
そこで、本願発明者らは、異常検知をより正確に行うことができる閾値算出装置、異常検知装置、閾値算出方法および異常検知方法について鋭意検討を行い、以下に示す閾値算出装置、異常検知装置、閾値算出方法および異常検知方法を創案した。
【0024】
本開示の一態様に係る閾値算出装置は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置に用いられる閾値を算出する閾値算出装置であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、前記第1機器の第1期間の機器状態を取得する第1機器状態取得部と、前記第2機器から取得された情報に基づいて、前記第1期間に前記施設内にいる人の在室状況を判定する第1在室状況判定部と、前記第1期間に前記第1機器で送受信される通信により生成された通信ログを収集する第1通信ログ収集部と、前記機器状態、前記在室状況および前記通信ログに基づいて、前記第1期間の後の第2期間における前記第1機器の通信に対する閾値を算出する算出部と、を備え、前記機器状態は、前記第1機器の1以上の状態を含み、前記在室状況は、前記人の1以上の状況を含み、前記算出部は、前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対して前記閾値を算出する。
【0025】
これにより、機器状態および在室状況の組み合わせのそれぞれに対して閾値が算出されるので、異常検知装置が第2期間の機器状態および在室状況に応じた閾値を用いて当該第2期間の通信の異常を検出することで、特許文献1のように施設内の状況に依らずに正常な機器のパケットパターンを用いて通信の異常を検出する場合に比べて、異常検知をより正確に行うことができる。よって、閾値算出装置が算出した閾値が用いられることで、異常検知をより正確に行うことができる。
【0026】
また、例えば、前記第1機器状態取得部は、前記第1機器を制御する機器制御コマンドを含む通信に基づく前記第1機器の電源状態および設定値の少なくとも1つを前記機器状態として取得してもよい。
【0027】
これにより、算出部は、電源状態および設定値の少なくとも一方のそれぞれに対して閾値を算出することができる。異常検知装置が第2期間の電源状態および設定値の少なくとも一方に応じた閾値を用いて異常を検知する場合、当該少なくとも一方の場合の異常検知をより正確に行うことができる。よって、閾値算出装置が算出した閾値が用いられることで、電源状態および設定値の少なくとも一方の場合の異常検知をより正確に行うことができる。
【0028】
また、例えば、前記第1在室状況判定部は、前記第1機器または前記第1機器および前記第2機器以外の第3機器から取得された情報に基づいて、前記在室状況を判定してもよい。
【0029】
これにより、第2機器以外の機器から取得された情報も用いて在室状況が判定されるので、在室状況の判定をより正確に確認を行うことができる。これは、異常検知をより正確に行うことにつながる。
【0030】
また、例えば、前記通信ログには、前記通信ログの宛先識別子に基づいて判定されたオンライン種別を示す種別情報が含まれ、前記種別情報は、前記通信ログにおける1以上のオンライン種別を含み、前記算出部は、さらに前記1以上のオンライン種別の組み合わせのそれぞれに対して前記閾値を算出してもよい。
【0031】
これにより、さらに1以上のオンライン種別を含む組み合わせのそれぞれに対して閾値が算出される。つまり、通信の送信先ごとに閾値を算出することができる。異常検知装置が第2期間の通信のオンライン種別に応じた閾値を用いて異常を検知する場合、当該オンライン種別の場合の異常検知をより正確に行うことができる。よって、閾値算出装置が算出した閾値が用いられることで、オンライン種別が1以上ある場合の異常検知をより正確に行うことができる。
【0032】
また、例えば、前記算出部は、前記機器状態と、前記在室状況と、前記通信ログとが対応づけられた学習データを生成し、前記学習データに基づいて前記閾値を算出してもよい。
【0033】
これにより、予め学習データを作成することで、当該学習データから必要なデータを抽出するだけで閾値を算出可能であり、容易に閾値を算出することができる。
【0034】
また、例えば、前記在室状況は、前記施設内における前記人の有無を含み、前記算出部は、前記人の在室および不在のそれぞれに対して前記閾値を算出してもよい。
【0035】
これにより、算出部は、人の在室および不在のそれぞれに対して閾値を算出することができる。異常検知装置が第2期間の人が在室および不在のいずれであるかに応じた閾値を用いて異常を検知する場合、当該いずれかの場合の異常検知をより正確に行うことができる。よって、閾値算出装置が算出した閾値が用いられることで、人が在室および不在の場合の異常検知をより正確に行うことができる。
【0036】
また、例えば、前記在室状況は、前記施設内における前記人の人数および位置の少なくとも一方を含み、前記算出部は、前記少なくとも一方のそれぞれに対して前記閾値を算出してもよい。
【0037】
これにより、算出部は、人の人数および位置の少なくとも一方のそれぞれに対して閾値を算出することができる。異常検知装置が第2期間の人の人数および位置の少なくとも一方に応じた閾値を用いて異常を検知する場合、当該少なくとも一方の場合の異常検知をより正確に行うことができる。よって、閾値算出装置が算出した閾値が用いられることで、人の人数および位置の少なくとも一方の場合の異常検知をより正確に行うことができる。
【0038】
また、例えば、前記在室状況は、前記第1期間の前記人の1以上の活動情報を含み、前記算出部は、さらに前記1以上の活動情報に基づいて、前記閾値を算出してもよい。
【0039】
これにより、さらに人の活動情報を含む組み合わせのそれぞれに対して閾値が算出される。つまり、人の活動情報ごとに閾値を算出することができる。異常検知装置が第2期間の人の活動情報に応じた閾値を用いて異常を検知する場合、当該活動情報の場合の異常検知をより正確に行うことができる。よって、閾値算出装置が算出した閾値が用いられることで、活動情報が1以上ある場合の異常検知をより正確に行うことができる。
【0040】
また、例えば、前記閾値は、前記第1機器の通信量に対する閾値であり、前記通信量の最大値および最小値を含んでもよい。
【0041】
これにより、通信量が多い場合および少ない場合の両方を異常と検出できる閾値を算出することができる。このような閾値を用いることで、閾値が上限値および下限値の一方のみである場合に比べて、異常検知をより正確に行うことができる。
【0042】
また、本開示の一態様に係る異常検知装置は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、第1期間の後の第2期間の前記第1機器の機器状態を取得する第2機器状態取得部と、前記第2機器から取得された情報に基づいて、前記第2期間の前記施設内にいる人の在室状況を判定する第1在室状況判定部と、前記第2期間に前記第1機器で送受信される通信により生成された通信ログを収集する第2通信ログ収集部と、上記の閾値算出装置が算出した、前記第1機器の前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対する閾値の中から、前記第2期間の前記機器状態および前記在室状況に応じた閾値を選択し、選択された閾値と前記第2期間の前記通信ログとに基づいて、前記第2期間における前記第1機器の前記異常な通信を検出する異常検知部とを備える。
【0043】
これにより、異常検知装置は、機器状態および在室状況の組み合わせのそれぞれに対して算出された閾値のうち第2期間の機器状態および在室状況に応じた閾値を用いて、当該第2期間の通信の異常を検出することができる。異常検知装置は、このような閾値を用いて通信の異常を検出することで、特許文献1のように施設内の状況に依らずに正常な機器のパケットパターンを用いて通信の異常を検出する場合に比べて、異常検知をより正確に行うことができる。
【0044】
また、例えば、前記異常検知部は、選択された前記閾値と前記通信ログとを比較し、前記通信ログが前記閾値を満たさない場合、異常として判定し、判定結果を出力してもよい。
【0045】
これにより、異常検知装置は、異常が検出された場合、異常が検出されたことを通知することができる。
【0046】
また、本開示の一態様に係る閾値算出方法は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知装置に用いられる閾値を算する閾値算出方法であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、前記第1機器の第1期間の機器状態を取得し、前記第2機器から取得された情報に基づいて、前記第1期間に前記施設内にいる人の在室状況を判定し、前記第1期間に前記第1機器で送受信される通信により生成された通信ログを収集し、前記機器状態、前記在室状況および前記通信ログに基づいて、前記第1期間の後の第2期間における前記第1機器の通信に対する閾値を算出することを含み、前記機器状態は、前記第1機器の1以上の状態を含み、前記在室状況は、前記人の1以上の状況を含み、前記閾値の算出では、前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対して前記閾値を算出する。
【0047】
これにより、上記の閾値算出装置と同様の効果を奏する。
【0048】
また、本開示の一態様に係る異常検知方法は、施設内ネットワークに接続され、前記施設内ネットワークが設置される施設内の第1機器における異常な通信を検出する異常検知方法であって、前記施設内には、前記第1機器と異なる第2機器が設けられ、第1期間の後の第2期間の前記第1機器の機器状態を取得し、前記第2機器から取得された情報に基づいて、前記第2期間の前記施設内にいる人の在室状況を判定し、前記第2期間に前記第1機器で送受信される通信により生成された通信ログを収集し、上記の閾値算出方法が算出した、前記第1機器の前記1以上の状態および前記1以上の状況の組み合わせのそれぞれに対する閾値から、前記第2期間の前記機器状態および前記在室状況に応じた閾値を選択し、選択された閾値と前記第2期間の前記通信ログとに基づいて、前記第2期間における前記第1機器の前記異常な通信を検出する。
【0049】
これにより、上記の異常検知装置と同様の効果を奏する。
【0050】
以下、図面を参照しながら、本開示の実施の形態に係る異常検知システムの構成、閾値算出装置および異常検知装置の構成、閾値算出装置および異常検知装置における処理の流れについて説明する。
【0051】
なお、以下で説明する実施の形態は、いずれも本開示の好ましい一具体例を示す。つまり、以下の実施の形態で示される数値、形状、材料、構成要素、構成要素の配置および接続形態、ステップ、ステップの順序などは、本開示の一例であり、本開示を限定する主旨ではない。
【0052】
本開示は、請求の範囲の記載に基づいて特定される。したがって、以下の実施の形態における構成要素のうち、本開示の最上位概念を示す独立請求項に記載されていない構成要素は、本開示の課題を達成するために必ずしも必要ではないが、より好ましい形態を構成する構成要素として説明される。
【0053】
また、実施の形態に記載されている数値および数値範囲は一例であり、当該数値および当該数値範囲に限定されない。
【0054】
(実施の形態)
本開示の実施の形態では、家庭内の各機器の動作状態、家庭内に設置した各センサまたは各機器により得られる情報から推定した住人の状態に基づいて、異常検知に用いる閾値を変動させ機器に対する異常を判定する構成について説明する。
【0055】
[1.実施の形態の詳細]
ここでは、本開示の実施の形態として、本開示に係る異常検知システムについて図面を参照しながら説明する。なお、本実施の形態においては、家庭内のネットワーク(ホームネットワーク11)に家庭内IoT機器(エアコン、テレビ等)およびIT機器(スマートフォン(以下、スマホ)、パーソナルコンピュータ(以下、パソコン))等が接続されている場合について説明するが、ネットワークに接続される機器はこれらに限定されない。
【0056】
また、以下では、IoT機器およびIT機器が宅内に配置される例について説明するが、宅内であることに限定されず、人が出入り可能な施設に配置されていればよい。
【0057】
[1.1 異常検知システムの全体構成]
図1は、本実施の形態における異常検知システム1の全体構成図である。
図1は、異常検知システム1のネットワーク構成を示す図である。
【0058】
図1に示すように、異常検知システム1は、インターネット10と、ホームネットワーク11と、ホームゲートウェイ20と、エアコン30と、ガス給湯器31と、電気錠32と、照明(照明装置)33と、テレビ40と、レコーダ41と、コントローラ50と、スマホ60と、パソコン61と、異常検知処理装置70と、異常監視装置80とを備える。
【0059】
インターネット10は一般的なインターネットであり、スマホ60は一般的なスマートフォンであり、パソコン61は一般的なパーソナルコンピュータである。
【0060】
ホームゲートウェイ20、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40、レコーダ41、コントローラ50、スマホ60、パソコン61および異常検知処理装置70は、ホームネットワーク11で接続され、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40、レコーダ41、コントローラ50、スマホ60、パソコン61および異常検知処理装置70がインターネット10と通信する場合は、ホームゲートウェイ20を介して通信する。
【0061】
ホームゲートウェイ20は、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40、レコーダ41、コントローラ50、スマホ60、パソコン61および異常検知処理装置70が接続され、接続された機器間の通信、および、接続された機器とインターネット10との通信を仲介する。
【0062】
また、ホームゲートウェイ20は、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40、レコーダ41、コントローラ50、スマホ60、パソコン61および異常検知処理装置70が通信するために必要なIPアドレス等の情報を管理し、各機器からの要求に応じてIPアドレスの割り当て、または、通信に必要な情報の通知を行う。
【0063】
また、ホームゲートウェイ20は、接続された機器間の通信、および、接続された機器とインターネット10との通信をモニタリングし、異常検知処理装置70に通信内容を転送する。
【0064】
異常検知処理装置70へ転送する通信内容は、ホームゲートウェイ20が受信した通信パケット自体を転送しても良いし、通信パケットを整形したログを転送しても良い。
【0065】
ホームゲートウェイ20がログを転送する場合は、ホームゲートウェイ20自体にログ収集機能が備わっていても良いし、他のログ収集機器を用いても良い。
【0066】
エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40およびレコーダ41は、機器制御コマンドを受信して、受信した機器制御コマンドの内容を解釈して動作する家庭内IoT機器である。機器制御コマンドはホームネットワーク11上から送信されてもよいし、ホームゲートウェイ20を介してインターネット10上の端末(図示しない)またはサーバ(図示しない)から送信されても良い。
【0067】
また、各機器は、必要に応じてホームゲートウェイ20を介してインターネット10に接続し、ファームウェアの更新、コンテンツのダウンロード等を行う。さらに、各機器は、各機器の動作または各機器が搭載しているセンサが検知した情報(センサ情報)を他の機器へ通知する。
【0068】
例えば、エアコン30であれば、動作状態(電源ON/電源OFF)、節電動作設定(節電動作中/通常動作中等)、運転モード設定(自動/冷房/暖房/除湿/加湿/送風等)、温度設定値、搭載しているセンサの情報(室温/湿度/外気温)、風向および風量等の設定値等を他の機器へ通知する。
【0069】
ガス給湯器31であれば、動作状態(電源ON/電源OFF)、給湯器燃焼状態、または、給湯温度設定値、給湯保温設定値、自動運転時間設定値等の設定値等を他の機器へ通知する。
【0070】
電気錠32であれば、動作状態(電源ON/電源OFF)、施錠設定(施錠/解錠)、ドアの開閉状態、警報状態(通常状態/こじ開け/扉開放/手動解錠/タンパ等)、自動施錠モード設定(ON/OFF)等の設定値等を他の機器へ通知する。
【0071】
照明33であれば、動作状態(電源ON/電源OFF)、調光機能がある場合はその設定値等を他の機器へ通知する。
【0072】
テレビ40であれば、動作状態(電源ON/電源OFF)、視聴中のCH(チャンネル)番号または音量設定値等、レコーダ41であれば、動作状態(電源ON/電源OFF)、コンテンツ転送状態(停止中/再生中/移行中/一時停止中(再生)/一時停止中(録画)/録画中/メディアなし等)の状態等を他の機器へ通知する。
【0073】
これらの通知のタイミングは特に限定されず、定期的に行っても良いし、状態または値が変化した際に行っても良いし、他の機器から問い合わせがあった際に行っても良い。
【0074】
コントローラ50は、エアコン30、ガス給湯器31、電気錠32および照明33等の家庭内IoT機器を制御するための機器であり、エアコン30、ガス給湯器31、電気錠32および照明33へ機器制御コマンドを送信することで、これらの機器を制御する。コントローラ50は、利用者からの入力に応じて機器制御コマンドを送信する場合と、事前に設定された条件に応じて自動で機器制御コマンドを送信する場合とがある。
【0075】
スマホ60およびパソコン61は、ホームゲートウェイ20を介してインターネット10と接続されたIT機器である。なお、サーバがインターネット10に接続されており、ホームゲートウェイ20、スマホ60およびパソコン61は、インターネット10を介してサーバと通信することで、ホームネットワーク11上の家庭内IoT機器とやり取りしても良い。
【0076】
異常検知処理装置70は、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40およびレコーダ41等の家庭内IoT機器、スマホ60およびパソコン61等のIT機器がやり取りする通信における異常を検知した際、ホームゲートウェイ20を介してインターネット10上の異常監視装置80にアラートを通知する。なお、通信における異常は、通信量の異常であってもよいし、通信回数の異常であってもよい。また、異常検知処理装置70は、SOC(Security Operation Center:セキュリティ・オペレーション・センター)が管理するサーバ装置であってもよい。通信量および通信回数は、例えば、所定期間の通信における通信量および通信回数であるが、通信量は、例えば、1回の通信における通信量であってもよい。
【0077】
異常監視装置80は、異常検知処理装置70から通知されたアラートを基に、アラートの分析に必要な通信ログ、パケット等を収集し一元管理する。
【0078】
異常監視装置80は、収集したログ、パケット等を用いて、相関分析を実施し、セキュリティインシデントの予兆、痕跡等の異常を判定する。異常監視装置80は、異常と判定した場合、住人等へ機器異常を通知する。
【0079】
なお、異常監視装置80が行う分析は相関分析に限定されず、他の方法で分析しても良い。
【0080】
加えて、異常監視装置80が分析に使用する通信ログの収集方法は特に限定されない。異常検知処理装置70から取得しても良いしホームゲートウェイ20から取得しても良いし他の方法で取得しても良い。
【0081】
また、異常監視装置80から住人への異常を通知する方法も特に限定されない。住人のスマホ等に通知しても良いし家に設置されている警報を鳴動して通知しても良いし他の方法で通知してもよい。
【0082】
なお、本実施の形態においては、ホームゲートウェイ20と異常検知処理装置70とを分けて図示しているが、ホームゲートウェイ20に異常検知処理装置70の機能を組み込んでも良い。
【0083】
また、機器制御コマンドを受信する家庭内IoT機器として、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40およびレコーダ41を、ホームゲートウェイ20を介してインターネット10に接続するIT機器として、スマホ60およびパソコン61を異常検知システム1の構成要素としているが、必ずしもこの機器構成である必要はなく、これ以外の機器があっても良く、また、いずれかの機器だけでも良い。
【0084】
さらに家庭内IoT機器は、機器制御コマンドを受信するだけではなく、他の機器に対して機器制御コマンドを送信しても良いし、機器制御コマンド以外の通信を行っても良い。家庭内IoT機器は、施設内に配置されるIoT機器の一例である。
【0085】
また、IT機器はインターネット10と接続されるとしたが、これに限定するものではなく、ホームネットワーク11上の機器と通信しても良い。なお、これらの機器は、インターネット10を介して、インターネット10上の端末またはサーバと通信を行っても良い。
【0086】
また、ホームゲートウェイ20には、さらにカメラ(図示しない)、人感センサ(図示しない)等の人を検知可能な機器が接続されていてもよい。言い換えると、宅内にはカメラ、人感センサ等の人を検知可能な機器が設置されていてもよい。なお、カメラは、電気錠32、スマホ60またはパソコン61に搭載されているカメラであってもよいし、人感センサは、エアコン30または照明33に搭載されている人感センサであってもよい。また、人を検知可能な機器は、二酸化炭素センサ、水の使用量の検出センサ等であってもよい。
【0087】
また、ホームゲートウェイ20、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40、レコーダ41、コントローラ50、スマホ60およびパソコン61は、宅内に配置されている。異常検知処理装置70は、宅内に配置されていてもよいし、宅外に配置されていてもよい。
【0088】
また、エアコン30、ガス給湯器31、電気錠32、照明33、テレビ40、レコーダ41、コントローラ50、スマホ60およびパソコン61のうちの1つの機器は、宅内(施設内の一例)に設けられる第1機器の一例であり、当該1つの機器以外の他の1つの機器は、第2機器の一例であり、さらに他の機器は第3機器の一例である。なお、第2機器および第3機器の少なくとも1つは、カメラ、人感センサ等の人を検知可能な機器であってもよい。第1機器は、閾値算出装置が閾値を算出する対象の機器である。
【0089】
[1.2 異常検知処理装置70の全体構成]
図2は、本実施の形態における異常検知処理装置70の構成図である。
図2は、異常検知処理装置70の機能構成を示すブロック図を示す。
【0090】
図2に示すように、異常検知処理装置70は、通信部100と、機器状態取得部110と、在室状況判定部120と、通信ログ収集部130と、学習部140と、異常検知部150と、機器状態保持部200と、在室状況保持部210と、通信ログ保持部220と、学習データ保持部230とを備える。
【0091】
本実施の形態において、閾値算出部は、通信部100と、機器状態取得部110(第1機器状態取得部の一例)と、在室状況判定部120(第1在室状況判定部の一例)と、通信ログ収集部130(第1通信ログ収集部)と、学習部140と、機器状態保持部200と、在室状況保持部210と、通信ログ保持部220と、学習データ保持部230とを含んで構成される。また、本実施の形態において、異常検知装置は、通信部100と、機器状態取得部110(第2機器状態取得部の一例)と、在室状況判定部120(第2在室状況判定部の一例)と、通信ログ収集部130(第2通信ログ収集部)と、異常検知部150とを含んで構成される。異常検知処理装置70は、閾値算出部および異常検知装置の両方の構成を備える。本実施の形態では、第1機器状態取得部および第2機器状態取得部、第1在室状況判定部および第2在室状況判定部、ならびに、第1通信ログ収集部および第2通信ログ収集部のそれぞれは、共通の構成要素として実現されるが、これに限定されない。
【0092】
閾値算出装置は、ホームネットワーク11に接続され、ホームネットワーク11が設置される宅内の第1機器における異常な通信を検出する異常検知装置に用いられる閾値を算出する。また、異常検知装置は、ホームネットワーク11に接続され、ホームネットワーク11が設置される宅内の第1機器における異常な通信を検出する。
【0093】
通信部100は、インターネット10またはホームネットワーク11から通信パケットを受信する。通信部100は、ホームゲートウェイ20宛ての通信だけではなく、ホームゲートウェイ20を介して流れているホームネットワーク11上の全ての通信パケットを受信する。
【0094】
また、通信部100は、機器状態取得部110から送信された機器状態取得要求をホームゲートウェイ20が接続されている通信線に送信し、ホームゲートウェイ20から通信線を介して受信する機器状態取得応答を機器状態取得部110に送信する。または、通信部100は、ホームネットワーク11に接続されている機器から能動的に送信された機器の情報および機器の状態(機器状態)を、ホームゲートウェイ20を介して機器状態取得部110に送信する。
【0095】
機器状態取得部110は、通信部100を介して機器状態取得要求を送信し、機器状態取得応答を受信することにより、ホームネットワーク11に接続されている機器の情報および機器の状態を取得し、機器状態保持部200に登録する。または、機器状態取得部110は、ホームネットワーク11に接続されている機器から能動的に送信された機器の情報および機器の状態をホームゲートウェイ20から通信部100を介して取得し、機器状態保持部200に登録する。機器状態取得部110が登録した情報は、機器状態データ(
図3を参照)とも記載する。なお、登録とは、記憶または更新することを意味する。
【0096】
機器の情報は、当該機器を特定するための情報であり、例えば、機器識別子および機器種別の少なくとも1つを含む。
【0097】
機器の状態は、機器が使用している電力等から推測されてもよい。また、機器の状態として、動作状態(電源ON/電源OFF)だけでなく、各機器固有の状態が登録されても良いし、複数の機器状態の組み合せが登録されても良い。また、機器の状態は、第1機器を含む複数の機器を制御する機器制御コマンドを含む通信に基づく当該第1機器の電源状態および設定値の少なくとも1つを含んでいてもよい。
【0098】
以下に、各機器における、電源状態(電源ON/電源OFF)以外に機器の状態に含まれていてもよい情報を例示する。電源状態は、機器の動作状態であるとも言える。
【0099】
例えば、エアコン30であれば、設定温度、運転モード(冷房/暖房等)等が登録されても良い。設定温度は、設定値の一例である。
【0100】
ガス給湯器31であれば、給湯設定温度、給湯器使用状況(ガスまたはお湯の使用量等)等の値自体が登録されても良い。給湯設定温度、設定値の一例である。
【0101】
電気錠32であれば、解錠/施錠の状態が登録されても良い。照明33であれば、調光の状態が登録されても良い。
【0102】
テレビ40であれば、視聴中のCH番号、音量等の値自体が登録されても良い。レコーダ41であれば、再生中/録画中等の状態が登録されても良い。
【0103】
スマホ60またはパソコン61であれば、User-Agentまたは使用中のアプリケーション名等が登録されても良い。
【0104】
人感センサであれば、人を検知しているか/人を検知していないかが登録されても良い。温湿度センサ(図示しない)であれば、温度または湿度の値自体が登録されても良い。
【0105】
窓(図示しない)またはドアの開閉センサ(図示しない)であれば、開/閉の区別、どの程度開いているのかの数値、施錠状態(解錠/施錠)等の情報が登録されても良い。
【0106】
機器状態保持部200は、ホームネットワーク11に接続されている機器の状態に関する情報を機器状態データとして保持する。機器状態保持部200は、半導体メモリ等の記憶装置である。
【0107】
図3は、本実施の形態における機器状態データの一例を示す図である。
図3に示す機器状態データは、機器状態取得部110により作成される。
【0108】
図3に示すように、機器状態データには、機器を特定するための情報として機器識別子および機器種別が含まれ、現在の機器の状態を表す情報として機器状態が含まれ、機器種別と機器状態とが1つの組として登録される。
【0109】
機器が初めてホームネットワーク11に接続された際に、機器識別子、機器種別および機器状態が新規に登録され、機器状態はその後適宜最新状態に更新される。
【0110】
機器識別子には、機器から取得したMAC(Media Access Control)アドレスを登録しても良いし、MACアドレス以外の情報を識別子として利用しても良い。
【0111】
機器種別には、機器から取得した端末情報から推測したデバイス名、モデル名またはOS(Operating System)名を登録しても良いし、それらを組み合わせて登録しても良い。
【0112】
機器状態には、機器状態取得部110で判定した動作状態(電源ON/電源OFF)等の機器の状態が登録される。
図3において機器状態は、機器種別に対して1つの機器状態を登録しているが、複数の機器状態を登録しても良いし、機器状態ごとに列を分けて登録しても良いし、機器種別ごとに登録項目を変えても良い。機器状態は、第1機器を含む複数の機器それぞれの1以上の状態(例えば、電源ON、電源OFFおよび解錠等)を含む。
【0113】
図2に戻って、在室状況判定部120は、ホームネットワーク11に接続された機器から取得された情報に基づいて、宅内にいる人の在室状況を判定する。在室状況判定部120は、例えば、異常検知のための閾値を算出する対象の第1機器以外の第2機器から取得された情報を少なくとも用いて、宅内にいる人の在室状況を判定する。在室状況判定部120は、例えば、さらに、第1機器および第3機器の少なくとも一方から取得された情報に基づいて、宅内にいる人の在室状況を判定してもよい。また、在室状況判定部120は、機器状態保持部200から現在の機器の状態を取得し、機器の状態の組合せにより在室状況を判定し在室状況データ(
図4を参照)を作成してもよい。在室状況判定部120は、作成した在室状況データを在室状況保持部210に登録する。在室状況データは、機器の状態と在室状況(例えば、在室または不在)とが対応づけられたテーブルである。在室状況データは、例えば、閾値算出装置が実際に閾値を算出する前に作成される。
【0114】
在室状況判定部120は、各機器の利用状況または各種センサの情報を解析して宅内にいる人の在室状況を判定することで作成した在室状況データを在室状況保持部210登録してもよい。
【0115】
各機器の利用状況から判定する場合、在室状況判定部120は、各機器の利用状況の組合せから在室状況を推測する。例えば、在室状況判定部120は、エアコン30の機器状態が電源ON、電気錠32の機器状態が解錠、テレビ40の機器状態が電源ONの場合、在室中であると判定する。在室状況判定部120は、各機器の利用状況の組合せと在室状況とが対応づけられたテーブルを用いて機器の利用状況から在室状況を推測してもよい。
【0116】
各種センサの情報から在室状況を判定する場合、在室状況判定部120は、宅内に設置した人感センサの情報から判定してもよいし、宅内に設置したカメラの画像または映像を解析した情報から判定してもよい。また、在室状況判定部120は、住人全員にRFタグ等の発信機を携帯させ、宅内に設置したRF受信機等の受信機により、発信機が宅内のどこにあるか、発信機が動いているかどうか、発信機に搭載したセンサからの情報を受信し発信機が動いているかどうかの情報から在室状況を判定してもよい。また、在室状況判定部120は、住人全員に受信機を携帯させ、宅内に受信機を設置し、受信機が受信した信号をサーバまたはホームゲートウェイ20等の宅内のコントローラ50へ通知することで在室状況を判定してもよいし、屋内位置測位システムを利用して住人の動向を把握した情報から在室状況を判定してもよい。また、在室状況判定部120は、ホームゲートウェイ20を通過する通信量と過去の通信量の実績とから利用人数を推測してもよいし、Wi-Fi(登録商標)のアクセスポイント(Wi-Fi AP)の接続数から利用人数を推測してもよいし、それ以外の情報から判定してもよい。
【0117】
また、在室状況判定部120は、各家電等から得られるセンサ情報、(例えば、冷蔵庫の開閉センサの情報、窓もしくはドアの開閉センサの情報、台所もしくは洗面所における水の使用量、室温、湿度、二酸化炭素濃度化学物質濃度またはその変化量等)から、人が実際に家に居ると判定できる情報または人が動いていると判定できる情報から在室状況を判定しても良い。
【0118】
在室状況保持部210は、第2機器または第2機器を含む複数の機器の状態の組合せから判定された在室状況に関する情報を在室状況データとして保持する。在室状況保持部210は、半導体メモリ等の記憶装置である。
【0119】
図4は、本実施の形態における在室状況データの一例を示す図である。
図4に示す在室状況データは、在室状況判定部120により作成される。
【0120】
図4に示すように、在室状況データには、機器状態保持部200が保持する機器状態データに登録されている全ての機器に関する機器状態の組合せと組合せに対応する在室状況とが対応づけて登録されている。在室状況には、住居の在不在状態(在室/不在)が登録されている。つまり、在室状況は、宅内の人の有無を含む。在室状況は、宅内の人の1以上の状況(在室または不在等)を含む。
【0121】
なお、在室状況は、在不在状態(在室/不在)に限定するものではない。在室中の場合、例えば、在室状況には在室している人数または住人の居る場所、住人の属性等が登録されていても良いし、複数の在室状況が組み合せて登録されていても良い。
【0122】
例えば、在室状況データとして、1人在室中/2人在室中等の人数を登録しておいても良いし、1Fにのみ居る/2Fにのみ居るまたは、寝室のみに居る/リビングのみに居る/キッチンに居る等の家の中のどこにいるかの情報を登録しておいても良い。つまり、在室状況は、宅内における人の人数および位置の少なくとも一方を含んでいてもよい。また、例えば、在室状況データとして、子供のみがいる/祖父母のみがいる等在宅している人の属性を登録しておいても良いし、来客がいる等住人以外の人の属性を登録しておいても良い。位置は、どの部屋にいるか、どの階数にいるか等を含む。
【0123】
また、在室状況は、人の活動情報を含んでいてもよい。活動情報は、人が起きているか寝ているかを示す情報、人の移動量の情報等を含んでいてもよい。活動情報は、各センサ等により取得可能である。また、在室状況判定部120は、人が在室しているが、ホームセキュリティ会社の監視システムが監視状態となっている場合、当該人が寝ていると判定してもよい。
【0124】
また、
図4において在室状況は1つの列に登録されているが、上記のような内容ごとに列を分けて登録しておいても良い。
【0125】
図4の内容は例であるが、実際の在不在の判定は予め在不在となる組合せを登録しておいても良いし、過去の利用実績から学習させて自動判定しておいても良いし、住人に異常検知システム1の使用時に、在室状況を登録してもらうようにしても良い。
【0126】
図4に示す在室状況データは、例えば、宅内のそれぞれで作成される。例えば、在室状況データは、宅内のそれぞれで異なっている。
【0127】
図4において、機器状態または在室状況が、どのような状態でも良い場合は、「-」等の記号等を用いて条件を表してもよい。
【0128】
図2に戻って、通信ログ収集部130は、通信部100で受信した通信パケットを通信ログとして通信ログ保持部220に登録する。通信ログ収集部130は、例えば、第1機器を含む複数の機器で送受信される通信により生成された通信ログを収集する。
【0129】
通信ログ保持部220は、ホームネットワーク11に接続されている機器の通信に関する情報を通信データとして保持する。通信ログ保持部220は、半導体メモリ等の記憶装置である。
【0130】
図5は、本実施の形態における通信ログの一例を示す図である。
図5に示す通信データは、通信ログ収集部130により作成される。
【0131】
図5に示すように、通信ログには、通信パケットに含まれる通信日時、送信元識別子、宛先識別子、通信プロトコル、通信量およびオンライン種別が登録されている。通信ログは、一定期間の時系列データである。
【0132】
通信日時には、通信が発生した日時が登録される。なお、時間の粒度は秒に限定するものではなく、ミリ秒で登録しても良いし、マイクロ秒までを登録しても良い。
【0133】
送信元識別子には、ホームネットワーク11に接続されている機器のMACアドレスが登録される。送信元識別子は、MACアドレス以外の情報を識別子として利用しても良い。
【0134】
宛先識別子には、ホームネットワーク11に接続された機器が通信した宛先の識別子として、FQDN(Fully Qualified Domain Name)またはドメイン名が登録される。また、宛先識別子は、MACアドレスまたはIPアドレスでも良いし、これらを組み合わせでも良い。
【0135】
通信プロトコルには、通信に用いたプロトコルが登録される。通信ログ収集部130は、通信パケットのデータ部分から通信に用いた通信プロトコルを判定しても良いし、宛先ポート番号から推定しても良い。
【0136】
例えば、ECHONET Liteでは、通信データの先頭2Byteに0x1081か0x1082を設定するため、通信パケットのデータ部分の先頭2Byteが0x1081、または、0x182になっている場合に、通信ログ収集部130は、通信プロトコルがECHONET Liteであると判定する。
【0137】
また、例えば、ECHONET Liteでは、UDP(User Datagram Protocol)のポート番号3610のポートを利用して通信するため、受信した通信の宛先ポート番号が3610である場合、通信ログ収集部130は、通信プロトコルがECHONET Liteであると判定する。
【0138】
また、通信ログ収集部130は、上記の判定を組み合わせても良いし、他の情報により判定しても良い。
【0139】
通信量には、通信パケットのパケットサイズが登録される。
【0140】
オンライン種別には、オンライン種別(ローカル通信/グローバル通信)が登録される。通信ログ収集部130は、宛先識別子がホームネットワーク11内の機器宛を示す場合、「ローカル通信」と判定し、宛先識別子がインターネット10上のサーバ(図示しない)またはサイト(図示しない)等を示す場合、「グローバル通信」と判定して判定結果を登録する。
【0141】
上記のように、通信ログには、通信ログの宛先識別子に基づいて判定されたオンライン種別を示す種別情報が含まれ、種別情報は、通信ログにおける1以上のオンライン種別を含んでいてもよい。
【0142】
なお、通信ログは、ホームゲートウェイ20またはその他機器(図示しない)に通信ログ生成機能を持たせ、通信ログ収集部130に転送しても良い。
【0143】
図2に戻って、学習部140は、機器状態、在室状況および通信ログに基づいて、第1機器を含む複数の機器それぞれの通信に対する閾値(例えば、通信量の閾値)を算出する。学習部140は、異常検知装置が検知する対象となる通信ログが取得された時刻を含む第2期間の機器状態および在室状況に応じた閾値を算出する。学習部140は、例えば、機器状態(例えば、1以上の状態)および在室状況(例えば、1以上の状況)の組み合わせのそれぞれに対して閾値を算出してもよい。また、学習部140は、さらに1以上のオンライン種別の組み合わせのそれぞれに対して閾値を算出してもよい。つまり、学習部140は、機器状態(例えば、1以上の状態)、在室状況(例えば、1以上の状況)および1以上のオンライン種別の組み合わせのそれぞれに対して閾値を算出してもよい。
【0144】
学習部140は、機器状態保持部200から取得した機器状態データと、在室状況保持部210から取得した在室状況データと、通信ログ保持部220から取得した通信ログとを基に学習データおよび閾値データを作成し、学習データ保持部230に登録する。学習部140は、算出部の一例である。
【0145】
学習データ保持部230は、機器状態と在室状況とを含めた通信内容を学習データとして保持する。また、学習データ保持部230は、学習データから算出された閾値を閾値データとして保持する。学習データは、閾値を算出するための実測データである。
【0146】
図6は、本実施の形態における学習データの一例を示す図である。
図6に示す学習データは、学習部140により作成される。
【0147】
図6に示すように、学習データには、通信日時、機器識別子、機器状態、在室状況、通信量およびオンライン種別が登録されている。
【0148】
機器識別子および機器状態には、機器状態保持部200が保持している機器状態データの機器識別子および機器状態が登録される。
【0149】
在室状況には、在室状況保持部210が保持している在室状況データの在室状況が登録される。
【0150】
通信日時、オンライン種別および通信量には、通信ログ保持部220が保持している通信データに登録されている通信日時、オンライン種別および通信量が登録される。
【0151】
図6に示すように、学習部140は、機器状態と、在室状況と、通信ログ(
図6の例では通信量およびオンライン種別)とが対応づけられた学習データを生成する。当該学習データは、例えば、機器状態と、在室状況と、通信ログとを時系列順に並べた時系列データである。そして、学習部140は、後述するように、学習データに基づいて閾値を算出する。
【0152】
学習部140は、第1機器を含む複数の機器のそれぞれにおいて、
図6に示すような学習データを生成してもよい。
【0153】
図7は、本実施の形態における閾値データの一例を示す図である。
図7に示す閾値データは、学習部140により作成される。
【0154】
図7に示すように、閾値データには、機器識別子、機器状態、在室状況、オンライン種別および閾値が登録されている。
【0155】
機器識別子および機器状態には、機器状態保持部200が保持している機器状態データの機器識別子および機器状態が登録される。
【0156】
在室状況には、在室状況保持部210が保持している在室状況データの在室状況が登録される。
【0157】
通信日時、オンライン種別および通信量には、通信ログ保持部220が保持している通信データに登録されている通信日時、オンライン種別および通信量が登録される。
【0158】
閾値には、学習部140が通信ログ保持部220で保持している通信量から算出したパケットサイズの最小値および最大値が閾値として登録される。閾値としてパケットサイズの最小値および最大値に限定するのもではない。パケットサイズの平均値を登録しても良いし、時間単位のアクセス回数を登録しても良いし、他の情報を閾値として登録しても良いし、それらを組み合わせて登録しても良い。登録する閾値によって閾値データの列を増やしても良い。閾値の算出については、後述する。
【0159】
なお、閾値は、通信量に対する閾値であり、通信量の最大値および最小値を含んでいてもよい。また、閾値は、通信回数に対する閾値であり、通信回数の最大値および最小値を含んでいてもよい。なお、閾値は、最大値および最小値の少なくとも一方を含んでいればよい。
【0160】
図7に示すように、学習部140は、機器状態と、在室状況と、オンライン種別と、そのときの通信量の閾値とが対応づけられた閾値データを生成する。当該閾値データは、例えば、機器状態と、在室状況と、オンライン種別との組み合わせのそれぞれに対して閾値が対応づけられたデータである。そして、異常検知部150は、後述するように、学習部140が生成した閾値データに基づいて機器の異常を検出する。
【0161】
学習部140は、第1機器を含む複数の機器のそれぞれにおいて、
図7に示すような閾値データを生成してもよい。
【0162】
図2に戻って、異常検知部150は、学習データ保持部230の閾値データと通信ログ保持部220の通信ログとを比較し、異常判定を実施する。異常検知部150は、異常と判定した通信を、通信部100を介して異常監視装置80に通知する。
【0163】
[1.3 異常検知システムの動作]
以下では、上記の異常検知システム1の動作について、
図8A~
図18を参照しながら説明する。まずは、閾値算出装置の動作(閾値算出方法)について、
図8A~
図17を参照しながら説明する。
図8Aは、閾値算出装置の動作(閾値算出処理)異常検知処理装置70を示すフローチャートである。なお、閾値算出処理を学習処理とも記載する。
【0164】
(S801a)異常検知処理装置70は、機器状態取得処理を行う。異常検知処理装置70の閾値算出装置は、ステップS801aにおいて、閾値を決定するために、第1機器を含む複数の機器それぞれの第1期間における機器状態を取得する。第1期間は、異常検知装置における異常検知対象の通信ログが取得された時刻より過去の期間である。
【0165】
(S802a)異常検知処理装置70は、在室状況判定処理を行う。異常検知処理装置70の閾値算出装置は、ステップS802aにおいて、第2機器から取得された情報に基づいて、第1期間の在室状況を判定する処理を行う。
【0166】
(S803a)異常検知処理装置70は、通信ログ収集処理を行う。異常検知処理装置70の閾値算出装置は、ステップS803aにおいて、第1期間の通信ログを収集する処理を行う。
【0167】
(S804)異常検知処理装置70は、学習処理を行う。異常検知処理装置70の閾値算出装置は、ステップS804において、第1期間の後の第2期間における、第1機器を含む複数の機器それぞれの通信に関する閾値を算出するための処理を行う。
【0168】
続いては、異常検知装置の動作について、
図8Bを参照しながら説明する。
図8Bは、異常検知装置の動作(異常検知処理)を示すフローチャートである。
【0169】
(S801b)異常検知処理装置70の異常検知装置は、ステップS801bにおいて、通信の異常を判定するために、第1機器を含む複数の機器それぞれの第1期間の後の第2期間における機器状態を取得する処理を行う。第2期間は、例えば第1期間の後の期間であるが、少なくとも一部の期間が第1期間に含まれていてもよい。第2期間は、検知対象の通信ログが取得された時刻(例えば、現時点)であってもよいし、1時間、1日等の期間であってもよい。
【0170】
(S802b)異常検知処理装置70は、在室状況判定処理を行う。異常検知処理装置70の異常検知装置は、ステップS802bにおいて、第2機器から取得された情報に基づいて、第2期間の在室状況を判定する処理を行う。
【0171】
(S803b)異常検知処理装置70は、通信ログ収集処理を行う。異常検知処理装置70の異常検知装置は、ステップS803bにおいて、第2期間の通信ログを収集する処理を行う。
【0172】
(S805)異常検知処理装置70は、異常検知処理を行う。異常検知処理装置70の異常検知装置は、閾値算出装置が算出した閾値と、第2期間の機器状態、在室状況および通信ログとに基づいて、第2期間における第1機器を含む複数の機器のそれぞれの異常な通信を検出する。
【0173】
なお、通信ログ収集処理は、機器状態取得処理の前、在室状況判定処理の前に行ってもよい。また、学習処理と異常検知処理とは並列して行われてもよい。
【0174】
以下、学習処理および異常検知処理のそれぞれについて、
図9~
図18を参照しながら説明する。
【0175】
[1.3.1 機器状態取得処理時の動作]
図9は、本実施の形態における機器状態取得処理(S801(S801a、S801b))の一例を示すフローチャートである。
図9は、機器状態取得部110の処理を示す。
【0176】
(S1101)機器状態取得部110は、ホームネットワーク11に接続するECHONET Lite対応機器の状態調査を行い、機器状態データを更新する。
【0177】
(S1102)機器状態取得部110は、ホームネットワーク11に接続するUPnP/DLNA対応機器の状態調査を行い、機器状態データを更新する。
【0178】
(S1103)機器状態取得部110は、ホームネットワーク11に接続するその他機器の状態調査を行い、機器状態データを更新する。
【0179】
(S1104)機器状態取得部110は、一定時間待機し、再度ステップS1101に戻り、ステップS1101以降の処理を継続する。
【0180】
図9では、機器状態取得部110は、ステップS1101からステップS1103の処理をシーケンシャルに実施しているが、
図9の順の処理でなくてもよい。また、機器状態取得部110は、これらの処理をパラレルに実施しても良い。また、機器状態取得部110は、ステップS1101~S1103の全ての処理を毎回実施しなくても良い。機器状態取得部110は、機器状態取得処理において、ステップS1101~S1103のうち少なくとも1つを実施すれば良い。また、機器状態取得部110は、機器が能動的に状態通知を定期送信している場合は、その通知を受信したタイミングで処理を実施しても良い。
【0181】
以下、ステップS1101~S1103のそれぞれについて、
図10~
図12を参照しながら説明する。
【0182】
[1.3.1.1 ECHONET Lite対応機器の状態調査処理]
図10は、本実施の形態における機器状態取得処理の一例を示すフローチャートである。具体的には、
図10は、ECHONET Lite対応機器の状態調査処理(S1101)の一例を示すフローチャートである。
【0183】
(S11011)機器状態取得部110は、ホームネットワーク11に対して機器検索要求として、ECHONET Lite対応機器の制御コマンドである、自ノードインスタンスリスト要求(0xD6)をホームネットワーク11に対しマルチキャスト送信する。
【0184】
(S11012)機器状態取得部110は、自ノードインスタンスリスト要求(0xD6)に対して応答があるか否かを判定する。応答がある場合(S11012でYesの場合)、機器状態取得部110は、ステップS11013の処理を実施する。応答がない場合(S11012でNoの場合)、機器状態取得部110は、ステップS11017の処理を実施する。
【0185】
(S11013)機器状態取得部110は、応答のあった機器が機器状態データに登録されているか否か、例えば未登録の機器であるか否かを判定する。具体的には、機器状態取得部110は、応答に含まれる送信元MACアドレス等の接続端末機器識別子が機器状態保持部200に登録されている機器であるか否かを判定する。登録されていないと判定した場合(S11013でNoの場合)、機器状態取得部110は、ステップS11014の処理を実施する。登録されていると判定した場合(S11013でYesの場合)、機器状態取得部110は、ステップS11015を実施する。
【0186】
(S11014)機器状態取得部110は、対象の機器に対して、接続端末機器識別子(送信元MACアドレス等)および機器種別を機器状態保持部200に新規に登録する。機器種別は、ECHONET(登録商標)オブジェクトコード(EOJ)により判定される。例えばクラスグループコードが0x01(空調関連機器クラスグループ)またはクラスコードが0x30(家庭用エアコンクラス)の場合、機器種別はエアコンであることが特定できる。また、機器状態取得部110は、機器種別を、通信パケットを解析して特定しても良いし、MACアドレスのOUI(Organizationally Unique Identifier)から推測しても良い。
【0187】
(S11015)機器状態取得部110は、対象の機器に対して、ECHONET Lite対応機器の制御コマンドを利用した動作状態取得要求を送信する。
【0188】
制御コマンドとしては、機器の電源の動作状態(EPC(ECHONETプロパティ):0x80)を取得するプロパティ値の読み出し要求(ESV(ECHONET Liteサービス):0x62)または機器種別固有の状態要求があり、これらの要求を組み合せても良い。機器状態取得部110は、機器が家庭用エアコンの場合、動作状態取得要求として、運転モード設定(EPC:0xB0)を取得するプロパティ値の読み出し要求(ESV:0x62)を送信し、機器が給湯器の場合、動作状態取得要求として、給湯温度設定(EPC:0xD1)を取得するプロパティ値の読み出し要求(ESV:0x62)を送信する。
【0189】
(S11016)機器状態取得部110は、ステップS11015で送信した制御コマンドの応答結果を受信し、受信した応答結果に基づいて機器状態を特定し、特定した機器状態を機器状態データに登録する。
【0190】
機器の電源の動作状態(EPC:0x80)を取得するプロパティ値の読み出し要求(ESV:0x62)に対する応答結果は電源ON(EDT(ECHONETプロパティ値データ):0x30)または電源OFF(EDT:0x31)であり、機器状態取得部110は、機器状態に「電源ON」または「電源OFF」を機器状態データに登録する。機器状態取得部110は、登録内容としては、「電源ON」または「電源OFF」の文字列で登録しても良いし、プロパティ値「EDT:0x30」または「EDT:0x31」を登録しても良い。
【0191】
また、例えば、給湯器の場合、機器の電源の動作状態(EPC:0x80)を取得するプロパティ値の読み出し要求に対して、応答結果が例えば電源ON(EDT:0x30)であり、給湯温度設定(EPC:0xD1)を取得するプロパティ値の読み出し要求に対して、応答結果が例えば設定温度48℃(EDT:0x30)であるとする。この場合、機器状態取得部110は、給湯器の応答結果として、例えば、「0x80/0x30」、「EPC:0xD1/0x30」のようにEPCとEDTとの両方を合わせて登録する。
【0192】
(S11017)機器状態取得部110は、機器状態データに既に登録済みの機器の内、応答のなかった機器、すなわち、以前ホームネットワーク11に接続していたが、現在ホームネットワーク11に接続していない機器に対して、機器状態を「電源OFF」に設定することで、機器状態を更新してもよい。なお、機器状態取得部110は、「電源OFF」の代わりに、「未接続」に設定することで、機器状態を更新しても良い。
【0193】
[1.3.1.2 UPnP/DLNA対応機器の状態調査処理]
図11は、本実施の形態における機器状態取得処理の他の一例を示すフローチャートである。具体的には、
図11は、UPnP/DLNA対応機器の状態調査処理(S1102)の一例を示すフローチャートである。
【0194】
(S11021)機器状態取得部110は、機器検索要求として、UPnP/DLNA対応機器の制御コマンドであるM-SEARCH要求をホームネットワーク11に対しマルチキャスト送信する。
【0195】
(S11022)機器状態取得部110は、M-SEARCH要求に対して応答があるか否かを判定する。応答がある場合(S11022でYesの場合)、機器状態取得部110は、ステップS11023の処理を実施する。応答がない場合(S11022でNoの場合)、機器状態取得部110は、ステップS11027の処理を実施する。
【0196】
(S11023)機器状態取得部110は、応答のあった機器が機器状態データに登録されているか否か、例えば未登録の機器であるか否かを判定する。具体的には、機器状態取得部110は、応答に含まれる送信元MACアドレス等の接続端末機器識別子が機器状態保持部200に登録されている機器であるか否かを判定する。登録されていない場合(S11023でNoの場合)、機器状態取得部110は、ステップS11024を実施する。登録済みの場合(S11023でYesの場合)、機器状態取得部110は、ステップS11026を実施する。
【0197】
(S11024)機器状態取得部110は、対象の機器に対して、機器種別要求(例えば、HTTP GET要求等)を送信する。
【0198】
(S11025)機器状態取得部110は、機器種別要求に対する応答結果(Device Description XML)を取得し、取得した応答結果に基づいて機器状態データに未登録の機器を新規登録する。具体的には、機器状態取得部110は、応答結果に含まれる「modelName」、「modelNumber」、「modelDescription」等のパラメータから機器種別を推定し、応答結果に含まれる接続端末機器識別子(送信元MACアドレス等)と、機器種別とを機器状態データ(機器状態保持部200)に新規に登録する。なお、前述のパラメータは一例であって、機器状態取得部110は、他のパラメータから機器種別を推定してもよい。また、機器状態取得部110は、機器種別を、通信パケットを解析して特定しても良いし、MACアドレスのOUIから推測しても良い。
【0199】
(S11026)機器状態取得部110は、対象の機器に対して、応答があったので機器状態を「電源ON」とし、機器状態データに登録する。機器状態は、機器種別固有の状態要求に対する応答結果に基づいて機器の状態を設定しても良い。
【0200】
(S11027)機器状態取得部110は、機器状態データに既に登録済みの機器の内、応答のなかった機器、すなわち、以前ホームネットワーク11に接続していたが、現在ホームネットワーク11に接続していない機器に対して、当該機器の機器状態を「電源OFF」に設定することで、機器状態を更新してもよい。なお、機器状態取得部110は、「電源OFF」の代わりに、「未接続」に設定することで、機器状態を更新しても良い。
【0201】
[1.3.1.3 その他機器の状態調査処理]
図12は、本実施の形態における機器状態取得処理のさらに他の一例を示すフローチャートである。
図12は、ECHONET Lite対応機器およびUPnP/DLNA対応機器以外の機器(スマホ60、パソコン61等)の状態調査処理(S1103)の一例を示すフローチャートである。
【0202】
(S11031)機器状態取得部110は、機器検索要求として、ARP(Address Resolution Protocol)要求をホームネットワーク11に対しブロードキャスト送信する。
【0203】
(S11032)機器状態取得部110は、ARP要求に対して応答があるか否かを判定する。応答がある場合(S11032でYesの場合)、機器状態取得部110は、ステップS11033の処理を実施する。応答がない場合(S11032でNoの場合)、機器状態取得部110は、ステップS11036の処理を実施する。
【0204】
(S11033)機器状態取得部110は、応答のあった機器が機器状態データに登録されているか否か、例えば未登録の機器であるか否かを判定する。具体的には、機器状態取得部110は、応答に含まれる送信元MACアドレス等の接続端末機器識別子が機器状態保持部200に登録されている機器であるか否かを判定する。登録されていない機器であると判定した場合(S11033でNoの場合)、機器状態取得部110は、ステップS11034を実施する。登録されている機器であると判定した場合(S11033でYesの場合)、機器状態取得部110は、ステップS11035を実施する。
【0205】
(S11034)機器状態取得部110は、対象の機器に対して、接続端末機器識別子(送信元MACアドレス等)および機器種別を機器状態データ(機器状態保持部200)に新規に登録する。機器状態取得部110は、機器種別を、機器が通信する通信パケットを解析して特定しても良いし、MACアドレスのOUIから推測しても良い。例えば、通信パケットに含まれるUser-Agentを解析すればOS名またはOSのバージョンを判定することができる。
【0206】
(S11035)機器状態取得部110は、対象の機器の応答結果に基づいて機器状態を登録する。機器状態取得部110は、対象の機器に対して、例えば、機器状態を「電源ON」とし、機器状態データに登録する。機器状態取得部110は、応答が返ってきた機器を「電源ON」と設定しても良いし、機器が通信する通信パケットを解析して機器が使用しているアプリケーション等を設定しても良い。機器状態取得部110は、例えば、通信パケットに含まれるUser-Agentを解析すれば、使用中のブラウザ等を判定することができる。
【0207】
(S11036)機器状態取得部110は、機器状態データに既に登録済みの機器の内、応答のなかった機器、すなわち、以前ホームネットワーク11に接続していたが、現在ホームネットワーク11に接続していない機器に対して、機器状態を「電源OFF」に設定することで、機器状態を更新してもよい。なお、機器状態取得部110は、「電源OFF」の代わりに、「未接続」に設定することで、機器状態を更新しても良い。
【0208】
[1.3.2 在室状況判定処理時の動作]
図13は、本実施の形態における在室状況判定処理(S802(S802a、S802b))の一例を示すフローチャートである。
図13は、在室状況判定部120の処理を示す。
【0209】
(S1201)在室状況判定部120は、機器状態保持部200が保持する機器状態データに登録されている全ての機器の現在の機器状態を取得する。
【0210】
(S1202)在室状況判定部120は、機器状態保持部200に保持されている機器状態データが示す状態と在室状況保持部210に保持されている在室状況データに登録されている機器状態の組合せとを照らし合わせ、在室中か不在中か、つまり宅内に人がいるか否かを判定する。例えば、機器状態保持部200に保持されている機器状態データが
図3に示す状態(エアコン30が「電源ON」、電気錠32が「解錠」、テレビ40が「電源OFF」、スマホが60「電源ON」)の場合、在室状況保持部210に保持されている在室状況データが
図4に示す機器状態の組合せに一致する在室状況である「在室」と判定される。また、在室状況判定部120は、在室状況データの在室状況を機器状態の組合せから推測して登録しても良いし、住人が在室中か不在中かを設定しても良い。在室状況判定部120は、機器の状態から在不在を判定することに限定するものではなく、人感センサ等の各種センサ情報を用いて在不在を判定しても良いし、水・電気・ガス等の使用量から在不在を判定しても良いし、機器の状態に加えてオンライン種別の情報も加味して在不在を判定しても良い。
【0211】
[1.3.3 通信ログ収集処理時の動作]
図14は、本実施の形態における通信ログ収集処理(S803(S803a、S803b))の一例を示すフローチャートである。
図14は、通信ログ収集部130の処理を示す。
【0212】
(S1301)通信ログ収集部130は、ホームゲートウェイ20に接続されている通信線に流れている通信パケットの内容を、通信部100を経由して受信する。
【0213】
(S1302)通信ログ収集部130は、受信した通信パケットの宛先を判定する。受信した通信パケットの宛先識別子(FQDNやドメイン名、MACアドレス、IPアドレス等)がホームネットワーク11内の機器宛の場合、通信ログ収集部130は、ステップS1303を実施し、宛先識別子がインターネット10上のサーバまたはサイト宛等の場合、通信ログ収集部130は、ステップS1304を実施する。
【0214】
(S1303)宛先識別子がホームネットワーク11内の機器宛の場合、通信ログ収集部130は、受信した通信パケットのオンライン種別を「ローカル通信」に設定する。
【0215】
(S1304)宛先識別子がインターネット10上のサーバまたはサイト宛等の場合、通信ログ収集部130は、受信した通信パケットのオンライン種別を「グローバル通信」に設定する。
【0216】
(S1305)通信ログ収集部130は受信した通信パケットから通信が発生した日時、送信元識別子(MACアドレスやIPアドレス等)、宛先識別子、通信プロトコル、オンライン種別および通信量を通信ログとして通信ログ保持部220に登録する。
【0217】
[1.3.4 学習処理時の動作]
図15は、本実施の形態における学習処理(S804)の一例を示すフローチャートである。
図15は、学習部140の処理を示す。
図15に示す処理は、例えば、第1機器を含む複数の機器のそれぞれに対して実施される。
【0218】
(S1401)学習部140は、閾値の算出に用いるデータである学習データを作成する。
【0219】
(S1402)学習部140は、作成された学習データに基づいて閾値の設定をする。
【0220】
図15では、学習部140は、ステップS1401およびステップS1402の処理をシーケンシャルに実施しているが、これらの処理をパラレルに実施しても良い。
【0221】
以下、ステップS1401およびステップS1402の処理それぞれについて、
図16および
図17を参照しながら説明する。
【0222】
[1.3.4.1 学習データ作成処理の詳細]
図16は、本実施の形態における学習データ作成処理(S1401)の一例を示すフローチャートである。
【0223】
(S14011)学習部140は、通信ログ保持部220が保持する通信ログを取得する。具体的には、学習部140は、通信ログ保持部220が保持する通信ログから現在通信中の送信元識別子、通信量およびオンライン種別を取得する。学習部140は、現在の通信ログを取得しているが、指定時刻の通信ログを取得しても良いし、特定機器の通信ログを取得しても良いし、通信ログを一覧で取得しても良い。学習部140は、通信ログを一覧で取得した場合、ステップS14012~S14014の処理を繰り返し実施する。
【0224】
(S14012)学習部140は、機器状態保持部200に保持されている機器状態データを取得する。具体的には、学習部140は、機器状態保持部200に保持されている機器状態データの全ての機器種別および機器状態を取得する。学習部140は、機器状態データに日時情報を持たせて日時を指定して機器状態を取得しても良い。
【0225】
(S14013)学習部140は、在室状況保持部210が保持する在室状況データを取得する。具体的には、学習部140は、ステップS14012で取得した機器状態データを基に在室状況保持部210が保持する在室状況データから在室状況を取得する。学習部140は、例えば、ステップS14012で取得した機器状態データがエアコン「電源ON」、電気錠「解錠」およびテレビ「電源OFF」であった場合、在室状況として「在室」を取得することができる。また、学習部140は、在室状況データに日時情報を持たせて日時を指定して在室状況を取得しても良い。
【0226】
(S14014)学習部140は、ステップS14011で取得した送信元識別子、通信量およびオンライン種別と、ステップS14012で取得した機器種別および機器状態と、ステップS14013で取得した在室状況とを対応づけて学習データとして学習データ保持部230に登録する。学習部140は、例えば、「2020/11/4 16:45:00」時点の通信ログから学習データを登録する場合、
図5に示す通信ログ保持部220に保持されている通信ログから送信元識別子「11:11:11:11:11:11」、通信量「15,000Byte」およびオンライン種別「グローバル通信」をステップS14011にて取得し、
図3に示す機器状態保持部200に保持されている機器状態データから機器識別子が「11:11:11:11:11:11」の機器(エアコン)の機器状態「電源ON」をステップS14012にて取得し、ステップS14013にて在室状況として「在室」を取得し、学習データとして、通信日時「2020/11/4 16:45:00」、機器識別子「11:11:11:11:11:11」、機器状態「電源ON」、在室状況「在室」、通信量「15,000Byte」およびオンライン種別「グローバル通信」を対応づけて登録する。
【0227】
学習部140による、学習データ保持部230への登録タイミングは通信ログ保持部220に通信ログを保存するタイミングと併せて登録しても良いし、任意のタイミングで登録しても良い。任意のタイミングで登録する場合は、学習部140は、通信ログの通信日時時点の機器状態および在室状態を保持する必要がある。
【0228】
なお、学習部140は、学習データを登録する際、ステップS14011、S14012およびS14013のそれぞれで取得したデータを全て用いて学習データを生成することに限定されない。学習部140は、例えば、通信ログ、機器状態データおよび在室状況データの少なくとも1つに対して外れ値を除く処理を行っても良い。外れ値を除く処理は、既存のいかなる処理が用いられても良く、例えば、四分位範囲(IQR:Interquartile Range)を用いた処理であってもよい。
【0229】
[1.3.4.2 閾値設定処理の詳細]
図17は、本実施の形態における閾値設定処理(S1402)の一例を示すフローチャートである。
【0230】
(S14021)学習部140は、機器状態保持部200が保持する機器状態データを取得する。具体的には、学習部140は、機器状態保持部200が保持する機器状態データから機器識別子(MACアドレス等)および機器種別を取得する。学習部140は、特定機器の機器識別子および機器種別を取得しても良いし、機器状態データに登録されている機器を一覧で取得しても良い。一覧で取得した場合、学習部140は、ステップS14022~S14027の処理を機器分繰り返す実施する。
【0231】
(S14022)学習部140は、学習データ保持部230に保持されている学習データから該当機器の学習データがあるか否かを判定する。具体的には、学習部140は、取得した機器識別子(MACアドレス等)を用いて、学習データ保持部230に保持されている学習データから該当機器の学習データを検索する。機器の学習データが見つかった場合(S14022でYesの場合)、学習部140はステップS14023を実施し、見つからなかった場合(S14022でNoの場合)は、学習部140はステップS14024を実施する。
【0232】
(S14023)学習部140は、当該学習データに含まれる機器状態/在室状況/オンライン種別の組合せごとに通信量を取得し、当該組み合わせのそれぞれに対して閾値を算出する。学習部140は、当該組み合わせの数だけ閾値を算出する。
【0233】
例えば、学習データ保持部230に保持されている学習データが
図6に示す内容である場合、機器識別子「11:11:11:11:11:11」における「機器状態/在室状況/オンライン種別」が、「電源ON/在室/グローバル通信」の場合、通信量は「7,500Byte」と「15,000Byte」とが取得される。ここで閾値として「最小値/最大値」を設定する場合は、「7,500/15,000Byte」を閾値として設定する。機器識別子「11:11:11:11:11:11」における「機器状態/在室状況/オンライン種別」が、「電源ON/在室/グローバル通信」の場合の通信量が3つ以上取得される場合、学習部140は、3つ以上の通信量のうち、通信量が最も少ない通信量を閾値の最小値とし、通信量が最も多い通信量を閾値の最大値とする。なお、学習部140は、閾値として最小値および最大値の両方を算出することに限定されず、閾値として最小値および最大値の少なくとも一方を算出してもよい。また、通信量が最も少ない通信量を閾値の最小値とすること、および、通信量が最も多い通信量を閾値の最大値とすることは、閾値を算出することの一例である。また、学習部140は、通信量が最も少ない通信量を閾値の最小値とすること、および、通信量が最も多い通信量を閾値の最大値とすることで閾値を決定するとも言える。
【0234】
また、機器状態/在室状況/オンライン種別の組合せ数は、機器状態のパターン数×在室状況のパターン数×オンライン種別のパターン数から算出できる。例えば、機器状態が「電源ON/電源OFF」の2パターン、在室状況が「不在/在室」の2パターン、オンライン種別が「ローカル通信/グローバル通信」の2パターンの場合、2(機器状態パターン数)×2(在室状況のパターン数)×2(オンライン種別のパターン数)=8パターンの組合せとなり、当該機器の閾値として8パターンの閾値データが設定される。
【0235】
また、学習部140は、在室状況に人の1以上の活動情報が含まれる場合、当該1以上の活動情報のそれぞれに対して閾値を算出してもよい。また、上記でも記載したが、在室状況が人の在室および不在を含む場合、人の在室および不在のそれぞれに対して閾値を算出してもよい。また、学習部140は、在室状況が宅内における人の人数および位置の少なくとも一方を含む場合、当該少なくとも一方のそれぞれに対して閾値を算出してもよい。
【0236】
なお、学習部140は、ステップS14023において、機器状態/在室状況/オンライン種別の組合せごとに通信量を取得し、取得した通信量から外れ値を除く処理を行っても良い。外れ値を除く処理は、既存のいかなる処理が用いられても良く、例えば、四分位範囲(IQR:Interquartile Range)を用いた処理であってもよい。
【0237】
(S14024)学習部140は、取得した機器種別を用いて学習データ保持部230に保持される閾値データから同一機器種別で既に登録済みの閾値データが存在するか否かを判定する。同一機器種別の閾値データが存在すると判定した場合(S14024でYesの場合)、学習部140はステップS14025を実施し、同一機器種別の閾値データが存在しないと判定した場合(S14024でNoの場合)、学習部140はステップS14026を実施する。
【0238】
(S14025)学習部140は、同一機器種別の閾値データの閾値を当該機器種別の閾値データとして設定する。具体的には、例えば、新たにエアコンを購入した際に、既に設置済みのエアコンの閾値を活用する。この閾値データの設定は必ず実施する必要はなく、機器種別によって実施の有無を選択しても良いし、閾値の設定方法を変更しても良い。
【0239】
(S14026)、学習部140は、取得した機器種別の閾値として初期の閾値を設定する。初期の閾値として、全通信量の最大値と最小値とを設定してもよいし、機器メーカーが設定した初期の閾値を設定しても良い。また、学習部140は、ステップS14024でNoの場合、閾値を設定しなくても良い。また異常検知装置は、学習期間を設けて、学習期間中は該当する機器を異常検知対象から外しても良い。
【0240】
(S14027)学習部140は、作成された閾値データを学習データ保持部230に登録する。
【0241】
上記のように、学習部140は、異常判定装置の検知対象である通信ログが取得された(つまり、通信が行われた)ときの機器状態および在室状態と同じである過去の通信量の実績データに基づいて、検知対象である通信ログ(つまり、通信)の異常を検出するための閾値を算出する。
【0242】
[1.3.5 異常検知処理の動作]
図18は、本実施の形態における異常検知処理(S805)の一例を示すフローチャートである。
図18は、異常検知部150の動作(異常検知方法)を示す。
【0243】
(S1501)異常検知部150は、通信ログ保持部220が保持する通信ログから検知対象の通信ログを取得する。例えば、異常検知部150は、通信ログ保持部220が保持する通信ログから現在通信中の送信元識別子(MACアドレス等)、通信量およびオンライン種別を取得する。現在は、異常検知の対象であり、第2期間の一例である。
【0244】
(S1502)異常検知部150は、少なくとも第2機器の機器状態を含む機器状態データを取得する。また、異常検知部150は、送信元識別子(MACアドレス等)を用いて機器状態保持部200に保持される機器状態データから対象の機器の現在の機器状態を取得してもよい。
【0245】
(S1503)異常検知部150は、在室状況データを取得する。例えば、異常検知部150は、在室状況保持部210が保持する在室状況データから現在の在室状況を取得する。
【0246】
(S1504)異常検知部150は、閾値データを取得する。異常検知部150は、ステップS1502で取得した機器状態と、ステップS1503で取得した在室状況とに基づいて、閾値データの中から当該機器状態および当該在室状況に対応する閾値を選択することで、閾値を取得する。例えば、異常検知部150は、送信元識別子、オンライン種別、機器状態および在室状況をキーに学習データ保持部230が保持する閾値データから該当する閾値を取得する。例えば、
図7の閾値データを用いると、現在通信中の機器の機器識別子が「11:11:11:11:11」であり、機器状態が「電源ON」であり、オンライン種別が「ローカル通信」であり、現在の在室状況が「不在」である場合、異常検知部150は、閾値(最小値/最大値)として「0/1,234」を取得する。
【0247】
このように、異常検知部150は、学習部140(閾値算出装置)が算出した機器状態/在室状況/オンライン種別の組合せそれぞれに対する閾値の中から、現在(第2期間の一例)の機器状態および在室状況に応じた閾値を選択し、選択された閾値と現在の通信ログ(例えば、通信量)とに基づいて、現在の第1機器の異常な通信を検出する。
【0248】
(S1505)異常検知部150は、通信量が閾値内であるか否かを判定する。具体的には、異常検知部150は、取得した通信量が閾値の最小値と最大値との間に含まれるか否かを判定する。取得した通信量が閾値の最小値と最大値との間に含まれると判定した場合(S1505でYesの場合)、異常検知部150は、異常検知処理を終了し、取得した閾値が閾値の最小値と最大値との間に含まれない(取得した通信量が閾値を超える)と判定した場合(S1505でNoの場合)、異常検知部150はステップS1506を実施する。異常検知部150は、例えば、ステップS1505において、取得した通信量が、最小値0から最大値1,234以内であるか否かを判定する。
【0249】
(S1506)異常検知部150は、異常な通信であると判定し、ホームゲートウェイ20を介してインターネット10上の異常監視装置80に通知する。異常検知部150は、選択された閾値と通信ログとを比較し、通信ログが閾値を満たさない場合に異常と判定し、判定結果を異常監視装置80に出力する。
【0250】
異常検知部150は、第1機器を含む複数の機器のそれぞれに対して
図18に示す異常検知処理を実施してもよい。
【0251】
[1.4 実施の形態の効果]
本実施の形態では、ホームゲートウェイ20が受信した通信ログから各機器の状態を推定し、各機器からの情報に基づいて宅内の人の状態を推定し、機器の状態および人の状態に応じた異常検知の閾値を設定する(選択する)ことにより、従来では検知できない不在時の機器の異常動作等の検知漏れまたは来客時等の普段の在室人数より増加した際の誤検知を低減することができる。
【0252】
[2.その他の変形例]
本開示は、上記で説明した実施の形態に当然限定されない。例えば、以下のような変形例も本開示に含まれる。
【0253】
(1)上記実施の形態では、異常検知システムはホームネットワークを対象とするが、これは本開示における異常検知システムの一態様であり、ホームネットワークに限定されない。例えば、ビルネットワーク、工場ネットワーク、車両ネットワーク等で複数の機器がネットワークに接続され、ネットワークを介して機器の状態および在室状況を取得できるシステムであればよく、他のネットワーク分野を対象とするものであっても良い。ホームネットワーク、ビルネットワーク、工場ネットワーク、車両ネットワーク等は、施設内ネットワークの一例である。また、上記実施の形態では、人は住人である例について説明したが、これに限定されず、異常検知システムの検知対象となる機器が設けられる施設の使用者であってもよい。
【0254】
(2)上記実施の形態では、異常検知システムの構成はホームゲートウェイ20に異常検知処理装置70を含めた各機器が接続するとしたが、ホームゲートウェイ20に異常検知処理装置70の機能を備えても良いし、ホームゲートウェイ20と機器との間にハブ等の中継機器を設置しても良い。
【0255】
(3)上記実施の形態では、ホームネットワーク11への接続方法はEthernet(登録商標)等の有線通信で接続しても良いし、Wi-Fi(登録商標)、Bluetooth(登録商標)等の無線通信で接続しても良いし、これらを組み合わせて接続しても良い。
【0256】
(4)上記実施の形態では、異常検知システムの異常検知部150は異常を検知した際、異常監視装置80に通知するとしたが、通知先はこれに限定されない。例えば、異常と判定された機器に通知しても良いし、ホームネットワーク11に接続された他機器に通知しても良い。
【0257】
(5)上記の実施の形態における各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウス等から構成されるコンピュータシステムである。RAMまたはハードディスクユニットには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。
【0258】
(6)上記の実施の形態における各装置は、構成する構成要素の一部または全部は、1個のシステムLSI(LargeScaleIntegration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAM等を含んで構成されるコンピュータシステムである。RAMには、コンピュータプログラムが記録されている。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、システムLSIは、その機能を達成する。
【0259】
(7)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。ICカードまたはモジュールは、マイクロプロセッサ、ROM、RAM等から構成されるコンピュータシステムである。ICカードまたはモジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムに従って動作することにより、ICカードまたはモジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0260】
(8)本開示は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、このコンピュータプログラムからなるデジタル信号であるとしてもよい。
【0261】
(9)また、本開示は、上記のコンピュータプログラムまたは上記のデジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD-ROM、MO、DVD、DVD-ROM、DVDRAM、BD(Blu-ray(登録商標)Disc)、半導体メモリ等に記録したものとしてもよい。また、これらの記録媒体に記録されている上記のデジタル信号であるとしてもよい。
【0262】
(10)また、本開示は、上記のコンピュータプログラムまたは上記のデジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
【0263】
(11)また、本開示は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、当該メモリは、上記コンピュータプログラムを記録しており、当該マイクロプロセッサは、このコンピュータプログラムに従って動作するとしてもよい。
【0264】
(12)また、上記のプログラムまたは上記のデジタル信号を記録媒体に記録して移送することにより、または当該プログラムまたはデジタル信号を、当該ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
【0265】
(13)また、ブロック図における機能ブロックの分割は一例であり、複数の機能ブロックを1つの機能ブロックとして実現したり、1つの機能ブロックを複数に分割したり、一部の機能を他の機能ブロックに移してもよい。また、類似する機能を有する複数の機能ブロックの機能を単一のハードウェアまたはソフトウェアが並列または時分割に処理してもよい。
【0266】
(14)また、上記実施の形態において説明された複数の処理の順序は一例である。複数の処理の順序は、変更されてもよいし、複数の処理は、並行して実施されてもよい。また、複数の処理の一部は、実施されなくてもよい。
【0267】
(15)また、上記実施の形態等に係る異常検知処理装置は、単一の装置として実現されてもよいし、複数の装置により実現されてもよい。異常検知処理装置が複数の装置によって実現される場合、当該異常検知処理装置が有する各構成要素は、複数の装置にどのように振り分けられてもよい。異常検知処理装置が複数の装置で実現される場合、当該複数の装置間の通信方法は、特に限定されず、無線通信であってもよいし、有線通信であってもよい。また、装置間では、無線通信および有線通信が組み合わされてもよい。異常検知処理装置において、例えば、閾値算出装置と異常検知装置とは互いに異なる装置により実現されてもよい。
【0268】
(16)また、閾値算出装置と異常検知装置とが互いに異なる装置により実現される場合、閾値算出装置は、
図7に示す閾値データを異常検知装置に送信してもよいし、異常検知装置から検知対象の通信量を取得したときの機器状態および在室状況を取得し、取得した機器状態および在室状況に応じた閾値を閾値データから選択し、選択された閾値のみを異常検知装置に送信してもよい。
【0269】
(17)また、閾値算出装置は、少なくともと機器状態および在室状況の組み合わせのそれぞれに対して閾値を算出する例について説明したが、これに限定されない。閾値算出装置は、異常検知装置から検知対象の通信が行われたときの機器状態および在室状況を取得し、取得した機器状態および在室状況のときの閾値を学習データに基づいて算出し、算出された閾値を異常検知装置に送信してもよい。つまり、閾値データを生成することは、必須の処理ではない。
【0270】
(18)その他、実施の形態等に対して当業者が思いつく各種変形を施して得られる形態、または、本開示の趣旨を逸脱しない範囲で各実施の形態における構成要素および機能を任意に組み合わせることで実現される形態も本開示に含まれる。
【産業上の利用可能性】
【0271】
本開示は、家庭内の機器の動作状態や住人の在室状態に応じて、家庭内の各機器への異常な通信を検知できる。また、家以外でもビルや店舗、工場、車両等、ルータ等の機器を介してインターネットと接続するローカルネットワークに接続されている機器への異常な通信を検知することができる。
【符号の説明】
【0272】
1 異常検知システム
10 インターネット
11 ホームネットワーク(施設内ネットワーク)
20 ホームゲートウェイ
30 エアコン
31 ガス給湯器
32 電気錠
33 照明
40 テレビ
41 レコーダ
50 コントローラ
60 スマホ
61 パソコン
70 異常検知処理装置
80 異常監視装置
100 通信部
110 機器状態取得部
120 在室状況判定部
130 通信ログ収集部
140 学習部(算出部)
150 異常検知部
200 機器状態保持部
210 在室状況保持部
220 通信ログ保持部
230 学習データ保持部