(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2023-07-27
(45)【発行日】2023-08-04
(54)【発明の名称】ホワイトリスト生成装置、ホワイトリスト生成方法及びコンピュータプログラム
(51)【国際特許分類】
G06F 21/55 20130101AFI20230728BHJP
G06F 21/44 20130101ALN20230728BHJP
【FI】
G06F21/55 320
G06F21/44
(21)【出願番号】P 2020153110
(22)【出願日】2020-09-11
【審査請求日】2022-07-25
(73)【特許権者】
【識別番号】000208891
【氏名又は名称】KDDI株式会社
(74)【代理人】
【識別番号】100165179
【氏名又は名称】田▲崎▼ 聡
(74)【代理人】
【識別番号】100175824
【氏名又は名称】小林 淳一
(74)【代理人】
【識別番号】100114937
【氏名又は名称】松本 裕幸
(72)【発明者】
【氏名】奥井 宣広
(72)【発明者】
【氏名】中原 正隆
(72)【発明者】
【氏名】三宅 優
【審査官】吉田 歩
(56)【参考文献】
【文献】特開2019-213103(JP,A)
【文献】特開2019-153890(JP,A)
【文献】特開2007-094523(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
(57)【特許請求の範囲】
【請求項1】
一又は複数のデバイス通信拠点から各デバイスの通信フロー情報を収集するフロー情報収集部と、
前記フロー情報収集部が収集したホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成するホワイトリスト管理部と、
を備えるホワイトリスト生成装置
であって、
ホワイトリストにおいて一つの通信フロー情報のレコード当たりの使用可能なワイルドカードの最大数が任意に設定可能に構成された、
ホワイトリスト生成装置。
【請求項2】
前記ホワイトリスト管理部は、ホワイトリスト生成対象デバイス種の通信フロー情報のレコードのうち、ホワイトリスト生成対象デバイス種のデバイス数の当該デバイス種のデバイス総数に対する割合と、ホワイトリスト生成対象デバイス種のデバイスのデバイス通信拠点数の当該デバイス種のデバイス通信拠点総数に対する割合とのうち少なくとも一方が各所定の閾値を超えるホワイトリスト生成対象デバイス種の通信フロー情報のレコードから、各デバイス通信拠点に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成する、
請求項1に記載のホワイトリスト生成装置。
【請求項3】
前記ホワイトリスト管理部は、ホワイトリスト生成対象デバイス種のホワイトリストを対象にして通信フロー情報の単位時間当たりレコード増加数を計算し、前記単位時間当たりレコード増加数が所定の閾値以下である場合に、ホワイトリスト生成対象デバイス種のホワイトリストを各デバイス通信拠点に適用する、
請求項1又は2のいずれか1項に記載のホワイトリスト生成装置。
【請求項4】
前記単位時間当たりレコード増加数の所定の閾値は、デバイス種ごとに設けられる、
請求項3に記載のホワイトリスト生成装置。
【請求項5】
前記ホワイトリスト管理部は、ホワイトリストにおいて、通信フロー情報のレコード数が所定数以上である場合にワイルドカードを使用する、
請求項1から
4のいずれか1項に記載のホワイトリスト生成装置。
【請求項6】
前記ホワイトリスト管理部は、ホワイトリストにおいて、通信フロー情報のレコードに含まれる複数の項目のうちユニークな情報が所定数以上である項目に対してワイルドカードを使用する、
請求項1から
5のいずれか1項に記載のホワイトリスト生成装置。
【請求項7】
前記フロー情報収集部が収集した通信フロー情報に対して異常の有無を検知する異常検知部をさらに備え、
前記異常検知部が異常ありを検知した通信フロー情報をホワイトリストに含めない、
請求項1から
6のいずれか1項に記載のホワイトリスト生成装置。
【請求項8】
前記デバイスはIoTデバイスである、
請求項1から
7のいずれか1項に記載のホワイトリスト生成装置。
【請求項9】
ホワイトリスト生成装置が、一又は複数のデバイス通信拠点から各デバイスの通信フロー情報を収集するフロー情報収集ステップと、
前記ホワイトリスト生成装置が、前記フロー情報収集ステップで収集したホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成するホワイトリスト管理ステップと、
を含むホワイトリスト生成方法
であって、
ホワイトリストにおいて一つの通信フロー情報のレコード当たりの使用可能なワイルドカードの最大数が任意に設定可能に構成された、
ホワイトリスト生成方法。
【請求項10】
コンピュータに、
一又は複数のデバイス通信拠点から各デバイスの通信フロー情報を収集するフロー情報収集ステップと、
前記フロー情報収集ステップで収集したホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成するホワイトリスト管理ステップと、
を実行させるためのコンピュータプログラム
であって、
ホワイトリストにおいて一つの通信フロー情報のレコード当たりの使用可能なワイルドカードの最大数が任意に設定可能に構成された、
コンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ホワイトリスト生成装置、ホワイトリスト生成方法及びコンピュータプログラムに関する。
【背景技術】
【0002】
従来、ゲートウエイ等の通信制御装置がデバイスに対して許可する通信を示すホワイトリストを使用してデバイスの通信の許可又は不許可を判断することが行われている。そのホワイトリストの生成技術として、例えば特許文献1には、カメラや温湿度センサー等のIoT(Internet of Things)デバイスの情報とIoTゲートウェイが保持する各IoTデバイスのホワイトリストとをIoTゲートウェイから収集して暫定ホワイトリストを作成し、暫定ホワイトリストと各IoTゲートウェイが保持するホワイトリストとを結合して各IoTゲートウェイに適用するホワイトリストを作成する作成装置が記載されている。
また特許文献2には、入力されたモデルに基づいて、互いにデータを送受信する複数の装置からなるシステムにおける正常通信が正しくモデル化されているか否かを検証し、モデルに論理的な矛盾がないことが検証されたモデルをホワイトリストに変換するホワイトリスト生成器が記載されている。
【先行技術文献】
【特許文献】
【0003】
【文献】特開2019-153890号公報
【文献】特表2018-537009号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかし、上述した特許文献1の技術では、IoTゲートウェイが保持する初期のホワイトリストの作成方法を開示しない。初期のホワイトリストが不十分な内容であると、許可すべき通信が誤って不許可にされてしまう等、ユーザの利便性を損なう問題が生じる可能性がある。
【0005】
また、上述した特許文献2の技術では、IoTデバイスの通信がデバイスの設置環境やデバイスに対する人の操作等に応じて変わる場合、正常通信の状態の遷移を固定することができないので、IoTデバイスのホワイトリストの精度が劣化して正常通信の誤検知が多発する可能性がある。
【0006】
本発明は、このような事情を考慮してなされたものであり、その目的は、IoTデバイス等のデバイスに対する初期のホワイトリストを適切に生成することを図ることにある。
【課題を解決するための手段】
【0007】
(1)本発明の一態様は、一又は複数のデバイス通信拠点から各デバイスの通信フロー情報を収集するフロー情報収集部と、前記フロー情報収集部が収集したホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成するホワイトリスト管理部と、を備えるホワイトリスト生成装置であって、ホワイトリストにおいて一つの通信フロー情報のレコード当たりの使用可能なワイルドカードの最大数が任意に設定可能に構成された、ホワイトリスト生成装置である。
(2)本発明の一態様は、前記ホワイトリスト管理部は、ホワイトリスト生成対象デバイス種の通信フロー情報のレコードのうち、ホワイトリスト生成対象デバイス種のデバイス数の当該デバイス種のデバイス総数に対する割合と、ホワイトリスト生成対象デバイス種のデバイスのデバイス通信拠点数の当該デバイス種のデバイス通信拠点総数に対する割合とのうち少なくとも一方が各所定の閾値を超えるホワイトリスト生成対象デバイス種の通信フロー情報のレコードから、各デバイス通信拠点に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成する、上記(1)のホワイトリスト生成装置である。
(3)本発明の一態様は、前記ホワイトリスト管理部は、ホワイトリスト生成対象デバイス種のホワイトリストを対象にして通信フロー情報の単位時間当たりレコード増加数を計算し、前記単位時間当たりレコード増加数が所定の閾値以下である場合に、ホワイトリスト生成対象デバイス種のホワイトリストを各デバイス通信拠点に適用する、上記(1)又は(2)のいずれかのホワイトリスト生成装置である。
(4)本発明の一態様は、前記単位時間当たりレコード増加数の所定の閾値は、デバイス種ごとに設けられる、上記(3)のホワイトリスト生成装置である。
(5)本発明の一態様は、前記ホワイトリスト管理部は、ホワイトリストにおいて、通信フロー情報のレコード数が所定数以上である場合にワイルドカードを使用する、上記(1)から(4)のいずれかのホワイトリスト生成装置である。
(6)本発明の一態様は、前記ホワイトリスト管理部は、ホワイトリストにおいて、通信フロー情報のレコードに含まれる複数の項目のうちユニークな情報が所定数以上である項目に対してワイルドカードを使用する、上記(1)から(5)のいずれかのホワイトリスト生成装置である。
(7)本発明の一態様は、前記フロー情報収集部が収集した通信フロー情報に対して異常の有無を検知する異常検知部をさらに備え、前記異常検知部が異常ありを検知した通信フロー情報をホワイトリストに含めない、上記(1)から(6)のいずれかのホワイトリスト生成装置である。
(8)本発明の一態様は、前記デバイスはIoTデバイスである、上記(1)から(7)のいずれかのホワイトリスト生成装置である。
【0008】
(9)本発明の一態様は、ホワイトリスト生成装置が、一又は複数のデバイス通信拠点から各デバイスの通信フロー情報を収集するフロー情報収集ステップと、前記ホワイトリスト生成装置が、前記フロー情報収集部が収集したホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成するホワイトリスト管理ステップと、を含むホワイトリスト生成方法であって、ホワイトリストにおいて一つの通信フロー情報のレコード当たりの使用可能なワイルドカードの最大数が任意に設定可能に構成された、ホワイトリスト生成方法である。
【0009】
(10)本発明の一態様は、コンピュータに、一又は複数のデバイス通信拠点から各デバイスの通信フロー情報を収集するフロー情報収集ステップと、前記フロー情報収集部が収集したホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成するホワイトリスト管理ステップと、を実行させるためのコンピュータプログラムであって、ホワイトリストにおいて一つの通信フロー情報のレコード当たりの使用可能なワイルドカードの最大数が任意に設定可能に構成された、コンピュータプログラムである。
【発明の効果】
【0010】
本発明によれば、IoTデバイス等のデバイスに対する初期のホワイトリストを適切に生成することができるという効果が得られる。
【図面の簡単な説明】
【0011】
【
図1】一実施形態に係る通信システム及びホワイトリスト生成装置の構成例を示すブロック図である。
【
図2】一実施形態に係るホワイトリストの構成例を示す図である。
【
図3】一実施形態に係るホワイトリスト生成方法の手順の例を示すフローチャートである。
【
図4】一実施形態に係るホワイトリストの完成判定方法を説明するためのグラフ図である。
【発明を実施するための形態】
【0012】
以下、図面を参照し、本発明の実施形態について説明する。
図1は、一実施形態に係る通信システム及びホワイトリスト生成装置の構成例を示すブロック図である。
図1に示す通信システム1において、ホワイトリスト生成装置10は、インターネット等の通信ネットワークNWを介して、各ホーム(宅)30-1,30-2,30-3,・・・のゲートウェイ(GW)31と通信を行う。各ホーム30-1,30-2,30-3,・・・には、ゲートウェイ31とデバイスdevとが設けられている。以下、ホーム30-1,30-2,30-3,・・・を特に区別しないときはホーム30と称する。本実施形態に係るホーム30は、デバイスdevが通信を行う拠点(デバイス通信拠点)の一例である。
【0013】
デバイスdevは、ゲートウェイ31を介して、例えばインターネットに接続されているサーバ等と通信を行う。デバイスdevは、例えばIoTデバイスである。デバイスdevには複数の種類(デバイス種)が存在する。
図1には、デバイス種として3つのデバイス種「A種」,「B種」,「C種」が例示されている。例えば、デバイスdev(A種)は電力計等の計測センサーである。例えば、デバイスdev(B種)はWebカメラである。例えば、デバイスdev(C種)はエアコンやスマートスピーカー等の家電機器である。
【0014】
ゲートウェイ31は、ホワイトリストに基づいて各種のデバイスdevの通信の許可又は不許可を判断し、当該判断結果に応じて各種のデバイスdevの通信を制御する。ホワイトリストは、ホワイトリスト生成装置10からゲートウェイ31へ供給される。
【0015】
ホワイトリスト生成装置10は、デバイス種ごとにホワイトリストを生成する。ホワイトリスト生成装置10は、生成した各デバイス種のホワイトリストを各ホーム30のゲートウェイ31へ送信する。各ホーム30のゲートウェイ31は、ホワイトリスト生成装置10から受信した各デバイス種のホワイトリストを使用して自己の配下の各デバイス種のデバイスdevの通信を制御する。
【0016】
図1においてホワイトリスト生成装置10は、フロー情報収集部11と、デバイス識別部12と、異常検知部13と、ホワイトリスト管理部14とを備える。
【0017】
ホワイトリスト生成装置10の各機能は、ホワイトリスト生成装置10がCPU(Central Processing Unit:中央演算処理装置)及びメモリ等のコンピュータハードウェアを備え、CPUがメモリに格納されたコンピュータプログラムを実行することにより実現される。なお、ホワイトリスト生成装置10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。例えば、ホワイトリスト生成装置10は、インターネット等の通信ネットワークに接続されるサーバコンピュータを使用して構成されてもよい。また、ホワイトリスト生成装置10の各機能はクラウドコンピューティングにより実現されてもよい。また、ホワイトリスト生成装置10は、単独のコンピュータにより実現するものであってもよく、又はホワイトリスト生成装置10の機能を複数のコンピュータに分散させて実現するものであってもよい。
【0018】
各ホーム30のゲートウェイ31は、自己の配下の各デバイスdevの通信フロー情報をホワイトリスト生成装置10へ送信する。各デバイスdevの通信フロー情報は、各デバイスdevの識別情報(デバイスID)を含む情報である。ゲートウェイ31は、自己のホーム30の識別情報(ホームID)を、ホワイトリスト生成装置10へ送信する通信フロー情報に付加する。フロー情報収集部11は、各ホーム30のゲートウェイ31から各デバイスdevの通信フロー情報を受信する。
【0019】
通信フロー情報は、通信の流れを示す情報である。通信フロー情報は、例えば送信元MACアドレスや送信先MACアドレスや送信元IPアドレスや送信先IPアドレスや送信元ポート番号や送信先ポート番号や通信プロトコル等の情報である。
【0020】
フロー情報収集部11は、ゲートウェイ31から受信した通信フロー情報をデバイス識別部12へ送信する。
【0021】
デバイス識別部12は、フロー情報収集部11から受信した通信フロー情報について、当該通信フロー情報に含まれるデバイスIDにデバイス種を示すデバイス種情報を付加してから、当該通信フロー情報を異常検知部13へ送信する。デバイス識別部12は、デバイスIDとデバイス種との対応関係を示すデバイス種判別情報を予め保持する。デバイス識別部12は、デバイス種判別情報に基づいて、通信フロー情報に含まれるデバイスIDに対応するデバイス種を判別する。デバイス識別部12は、当該判別結果のデバイス種を示すデバイス種情報を当該通信フロー情報の当該デバイスIDに付加する。デバイスIDは例えばMACアドレスである。
【0022】
なお、デバイス識別部12は、通信フロー情報に含まれる通信の振る舞いに関する情報に基づいて、当該通信フロー情報に含まれるデバイスIDに対応するデバイス種を判別してもよい。通信の振る舞いに関する情報は、例えば、特定機能を持つ通信相手との通信を示す情報である。特定機能を持つ通信相手は、例えばNTP(Network Time Protocol)サーバやDNS(Domain Name System)サーバ等である。この場合、デバイス識別部12は、特定機能を持つ通信相手との通信とデバイス種との対応関係を示すデバイス種判別情報を予め保持する。
【0023】
また、デバイス識別部12は、デバイスIDからデバイス種を特定することができない場合、通信フロー情報からデバイス種を推定してもよい。
【0024】
異常検知部13は、デバイス識別部12から受信した通信フロー情報に対して異常の有無を検知する。異常検知部13は、異常通信に該当するIPアドレスの異常通信アドレスリストを予め保持する。例えばマルウェア等の既知の不適切な通信の情報が異常通信アドレスリストに登録される。異常検知部13は、通信フロー情報に含まれる送信元IPアドレス又は送信先IPアドレスが異常通信アドレスリスト内のIPアドレスに一致した場合に当該通信フロー情報が異常であると判定し、そうではない場合に当該通信フロー情報が異常ではないと判定する。
【0025】
異常検知部13は、異常であると判定した通信フロー情報を破棄する。異常検知部13は、異常ではないと判定した通信フロー情報をホワイトリスト管理部14へ送信する。
【0026】
ホワイトリスト管理部14は、異常検知部13から受信した通信フロー情報に基づいて、デバイス種ごとにホワイトリストを生成する。より具体的には、ホワイトリスト管理部14は、ホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成する。ホワイトリスト管理部14は、生成した各デバイス種のホワイトリストを各ホーム30に適用する。
【0027】
図2は、本実施形態に係るホワイトリストの構成例を示す図である。
図2には、ある1つのデバイス種についてのホワイトリストの例が示されている。ここでは、説明の便宜上、デバイス種「A種」のホワイトリストであるとする。
図2において、ホワイトリストには、5個の通信フロー情報のレコード「No.1」,「No.2」,「No.3」,「No.4」,「No.5」が登録されている。但し、レコード中のカウントデバイスは、当該レコードの通信フロー情報が収集されたデバイスdev(A種)の個数である。また、レコード中のカウントホームは、当該レコードの通信フロー情報が収集されたホーム30の個数である。
【0028】
図2のホワイトリスト中の送信元MACアドレス及び送信先MACアドレスの各欄において、「devMACaddr」はデバイスdevのMACアドレスの総称であり、「gwMACaddr」はゲートウェイ31のMACアドレスの総称である。デバイスdevやゲートウェイ31のMACアドレスは個個に異なっているので、ホワイトリスト生成過程では総称を使用することにより簡略化している。ホワイトリストをゲートウェイ31に適用する際には、ゲートウェイ31がMACアドレスの総称を適切なMACアドレスに置換する。
【0029】
図2のホワイトリスト中の送信元IPアドレス及び送信先IPアドレスの各欄において、IPアドレスの代わりにドメイン名を記載してもよい。これは、同一ドメインであってもIPアドレスが異なる場合があるので好ましい。
【0030】
図2のホワイトリストにおいて、記号「*」はワイルドカードである。したがって、記号「*」が記載された欄に対しては、全ての値に対して許可することを示す。なお、一つの通信フロー情報のレコード当たりの使用可能な記号「*」の最大数(ワイルドカード上限数)が任意に設定されてもよい。ワイルドカード上限数を任意に設定可能に構成することにより、ホワイトリストの表現力を変化させることができる。ワイルドカード上限数を少なくするほどより厳しいホワイトリストにすることができる。一方、ワイルドカード上限数を多くするほどより緩いホワイトリストにすることができる。
【0031】
また、ホワイトリスト管理部14が、ホワイトリストにおいて、通信フロー情報のレコード数が所定数以上である場合にワイルドカードを使用するようにしてもよい。
【0032】
また、ホワイトリスト管理部14が、ホワイトリストにおいて、通信フロー情報のレコードに含まれる複数の項目のうちユニークな情報が所定数以上である項目に対してワイルドカードを使用するようにしてもよい。この場合、ワイルドカード上限数が設定されているときには、ホワイトリスト管理部14は、ユニークな情報が所定数以上であってユニークな情報が多い項目から順番にワイルドカードを使用する。
【0033】
次に
図3を参照して本実施形態に係るホワイトリスト生成装置10の動作を説明する。
図3は、本実施形態に係るホワイトリスト生成方法の手順の例を示すフローチャートである。
【0034】
(ステップS1) フロー情報収集部11は、各ホーム30から各デバイスdevの通信フロー情報を収集する。以下、説明を簡単にするために、一つのデバイスdevについての通信フロー情報を対象にして説明する。
【0035】
(ステップS2) デバイス識別部12は、フロー情報収集部11が収集した通信フロー情報について、当該通信フロー情報に含まれるデバイスIDにデバイス種情報を付加してから、当該通信フロー情報を異常検知部13へ送信する。
【0036】
(ステップS3) 異常検知部13は、デバイス識別部12から受信した通信フロー情報に対して異常の有無を検知する。
【0037】
(ステップS4) ステップS3の検知の結果、通信フロー情報に異常なしの場合にはステップS5へ進む。一方、通信フロー情報に異常ありの場合には
図2の処理を終了する。これにより、異常ありの通信フロー情報はホワイトリストに含められない。
【0038】
(ステップS5) ホワイトリスト管理部14は、異常検知部13が異常なしと判定した通信フロー情報を、当該通信フロー情報のデバイス種情報のデバイス種のホワイトリストへ登録する。この登録においては、登録先のホワイトリストにおいて、当該通信フロー情報に対応する通信フロー情報のレコードが存在しない場合には、当該通信フロー情報のレコードを追加する。一方、登録先のホワイトリストにおいて、当該通信フロー情報に対応する通信フロー情報のレコードが既に存在する場合には、当該レコード中のカウントデバイス及びカウントホームにそれぞれ1加算して当該レコードを更新する。
【0039】
(ステップS6) ホワイトリスト管理部14は、ホワイトリストの完成判定を行う。
【0040】
ここでホワイトリストの完成判定方法を説明する。ホワイトリスト管理部14は、ホワイトリスト生成対象デバイス種のホワイトリストを対象にして通信フロー情報の単位時間当たりレコード増加数を計算する。ホワイトリスト管理部14は、当該計算結果の単位時間当たりレコード増加数が所定の閾値Y以下である場合に、ホワイトリスト生成対象デバイス種のホワイトリストが完成であると判定する。完成であると判定されたホワイトリストは、各ホーム30に適用される。
【0041】
図4は、本実施形態に係るホワイトリストの完成判定方法を説明するためのグラフ図である。
図4において、横軸はホワイトリストの生成開始時点から経過する時間Tであり、縦軸は通信フロー情報の単位時間当たりレコード増加数である。一つのホワイトリストに登録される通信フロー情報についての単位時間当たりレコード増加数は、
図4のグラフ100に例示されるように、ホワイトリストの生成開始時点から時間Tの経過とともに減少する。このため、ホワイトリスト生成対象デバイス種のホワイトリストについて、単位時間当たりレコード増加数が所定の閾値Y以下である場合に、ホワイトリスト生成対象デバイス種のホワイトリストが完成であると判定する。
【0042】
ホワイトリストの完成を判定するための閾値Yは、デバイス種ごとに設けられてもよい。この理由は、デバイス種ごとにデバイスdevの通信パターンが異なるからである。
【0043】
例えば、デバイスdev(A種)である電力計等の計測センサーは、特定の通信相手(例えば計測管理サーバ)との固定的な通信を行うものであって通信パターンが限定されることが想定される。このため、デバイス種「A種」の単位時間当たりレコード増加数は、比較的短期間で0になると考えられる。このことから、デバイス種「A種」の閾値Yは0に設定する。この場合、デバイス種「A種」のホワイトリストの完成判定条件を、「時間T>一定期間」且つ「単位時間当たりレコード増加数=0」としてもよい。当該時間Tの判定のための一定期間は、例えば1時間以上1週間以内を目安に決定される。
【0044】
一方、デバイスdev(B種)であるWebカメラや、デバイスdev(C種)であるエアコンやスマートスピーカー等の家電機器は、人の操作によって、通信相手が変わったり通信内容が変わったりする可変的な通信を行うものであって多様な通信パターンが存在することが想定される。このため、デバイス種「B種」や「C種」の単位時間当たりレコード増加数は、デバイス種「A種」に比して、0になるまで長時間かかると考えられる。このことから、デバイス種「B種」や「C種」の閾値Yについては、単位時間当たりレコード増加数について単調減少の曲線近似を行って、単位時間当たりレコード増加数が0になるまでのホワイトリストのレコード総数を推計し、このホワイトリストのレコード総数の推計値とホワイトリストに許容されるレコード数の上限値とに基づいて、ホワイトリストのレコード数が当該上限値以下の所望の範囲になる閾値Yを決定する。
【0045】
(ステップS7) ステップS6の判定の結果、完成である場合にはステップS8へ進む。一方、完成ではない場合には
図2の処理を終了する。
【0046】
(ステップS8) ホワイトリスト管理部14は、完成であるホワイトリストの適用を行う。ホワイトリスト管理部14は、ホワイトリスト生成対象デバイス種の通信フロー情報の全レコードから、各ホーム30に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成してもよく、又はホワイトリスト生成対象デバイス種の通信フロー情報の一部のレコードから、各ホーム30に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成してもよい。ホワイトリスト管理部14は、生成したホワイトリストを各ホーム30のゲートウェイ31へ送信する。当該ホワイトリストは各ホーム30のゲートウェイ31により適用される。
【0047】
ここで、各ホーム30に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成する方法の例を説明する。ホワイトリスト管理部14は、ホワイトリスト生成対象デバイス種の通信フロー情報の全レコードのうち、次の2つの判定式(1),(2)のうち少なくとも1つの判定式を満たすレコードから、各ホーム30に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成する。
【0048】
「カウントデバイス÷デバイス総数」>閾値X1 ・・・(1)
「カウントホーム÷ホーム総数」>閾値X2 ・・・(2)
但し、デバイス総数はホワイトリスト生成対象デバイス種のデバイスdevの総数である。閾値X1,X2は予め設定される所定値である。
【0049】
上記した判定式(1),(2)を用いることにより、少数派の通信パターンを示す通信フロー情報のレコードをホワイトリストに含めないようにすることができる。少数派の通信パターンは、例えばマルウェア等の不適切な通信による通信パターンである可能性が大きい。このため、上記した判定式(1),(2)を用いて生成されたホワイトリストによれば、マルウェア等の不適切な通信が許可されず、デバイスdevの安全な通信に寄与することができる。
【0050】
なお、デバイス総数が所定数未満である場合には、判定式(1)と判定式(2)の両方を満たすレコードから、各ホーム30に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成してもよい。一方、デバイス総数が所定数以上である場合には、判定式(1)又は判定式(2)を満たすレコードから、各ホーム30に適用するホワイトリスト生成対象デバイス種のホワイトリストを生成してもよい。
【0051】
上述した実施形態によれば、各ホーム30から各デバイスdevの通信フロー情報を収集し、ホワイトリスト生成対象デバイス種の通信フロー情報に基づいて、ホワイトリスト生成対象デバイス種に対して許可される通信を示すホワイトリストを生成することにより、各デバイス種の通信パターンに適する初期のホワイトリストを生成することができる。
【0052】
また、複数のホーム30やデバイスdevから収集された通信フロー情報に基づいてホワイトリストを生成することにより、高精度のホワイトリストを短期間で生成することができる。これは、例えばIoTデバイスのように、人の操作により振る舞いが変わるデバイスに対して特に効果が得られる。同じデバイスであっても振る舞いが異なれば、通信パターンも異なる可能性がある。このことから、同じデバイス種に関して、複数のホーム30やデバイスdevから通信フロー情報を収集して総合的に処理することにより、ホワイトリストの精度向上や効率的なホワイトリストの生成を図る効果が得られる。
【0053】
また、上述した実施形態によれば、マルウェア等の不適切な通信が許可されないホワイトリストを生成することができる。これにより、例えばゲートウェイ31に新規に接続されるデバイスdevがその接続前に既にマルウェアに感染していたとしても、当該マルウェアの不適切な通信が許可されないホワイトリストを生成することが可能になる。
【0054】
なお、上述した実施形態では、デバイス通信拠点としてホームを例に挙げたが、これに限定されない。デバイス通信拠点は、例えば会社のオフィスやイベント会場や店舗などであってもよい。
【0055】
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【0056】
また、上述した各装置の機能を実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disc)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
【0057】
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであってもよい。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であってもよい。
【符号の説明】
【0058】
1…通信システム、10…ホワイトリスト生成装置、11…フロー情報収集部、12…デバイス識別部、13…異常検知部、14…ホワイトリスト管理部、30…ホーム、31…ゲートウェイ、dev…デバイス、NW…通信ネットワーク