特許第6591504号(P6591504)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ セコム株式会社の特許一覧

<>
  • 特許6591504-パケットフィルタリング装置 図000002
  • 特許6591504-パケットフィルタリング装置 図000003
  • 特許6591504-パケットフィルタリング装置 図000004
  • 特許6591504-パケットフィルタリング装置 図000005
  • 特許6591504-パケットフィルタリング装置 図000006
  • 特許6591504-パケットフィルタリング装置 図000007
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6591504
(24)【登録日】2019年9月27日
(45)【発行日】2019年10月16日
(54)【発明の名称】パケットフィルタリング装置
(51)【国際特許分類】
   H04L 12/66 20060101AFI20191007BHJP
   G06F 13/00 20060101ALI20191007BHJP
【FI】
   H04L12/66 B
   G06F13/00 351Z
【請求項の数】6
【全頁数】12
(21)【出願番号】特願2017-166596(P2017-166596)
(22)【出願日】2017年8月31日
(65)【公開番号】特開2019-47239(P2019-47239A)
(43)【公開日】2019年3月22日
【審査請求日】2018年10月23日
(73)【特許権者】
【識別番号】000108085
【氏名又は名称】セコム株式会社
(74)【代理人】
【識別番号】110001210
【氏名又は名称】特許業務法人YKI国際特許事務所
(72)【発明者】
【氏名】細田 将
【審査官】 松崎 孝大
(56)【参考文献】
【文献】 特開2006−319693(JP,A)
【文献】 特開2009−239525(JP,A)
【文献】 特開2012−034273(JP,A)
【文献】 特開2014−099758(JP,A)
【文献】 米国特許出願公開第2017/0063861(US,A1)
【文献】 中国特許出願公開第1973513(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/66
G06F 13/00
(57)【特許請求の範囲】
【請求項1】
送信元の機器と送信先の装置とが関連付けられたホワイトリストに基づいて、受信したパケットの通過の可否を制御するパケットフィルタリング装置であって、
機器からパケットを受信したとき、前記ホワイトリストに当該機器と当該パケットの送信先の装置とが関連付けて登録されているならば当該パケットの通過を許可する通信制御手段と、
機器ごとに、当該機器から最初にパケットを受信したときから初期化期間に当該機器から受信したパケットの送信先の装置の数を計数し、当該計数した送信先の装置の数に応じて当該機器に対する最大接続先数を設定する最大接続数設定手段と、
機器からパケットを受信したとき、前記ホワイトリストに当該機器と当該パケットの送信先の装置とが関連付けて登録されておらず、前記ホワイトリストに当該機器を送信元として関連付けられている送信先の装置の数が当該機器に対する前記最大接続先数未満である場合、前記ホワイトリストに当該機器と当該パケットの送信先の装置とを関連付けて追加登録するホワイトリスト更新手段と、
を備えることを特徴とするパケットフィルタリング装置。
【請求項2】
請求項1に記載のパケットフィルタリング装置であって、
前記ホワイトリスト更新手段は、
受信したパケットの送信元の機器と送信先の装置との最終通信時刻を記録する処理と、
前記ホワイトリストにおいて、パケットの送信元の機器と送信先の装置との最終通信時刻から現在時刻までに至る時間がタイムアウト時間以上となっている場合、当該送信元の機器と当該送信先の装置との組み合わせを削除する処理と、
を行うことを特徴とするパケットフィルタリング装置。
【請求項3】
請求項1又は2に記載のパケットフィルタリング装置であって、
受信したパケットを解析することによって、当該パケットの送信元の機器の属性を識別する機器識別手段を備え、
前記最大接続数設定手段は、更に、前記機器識別手段にて識別された機器の属性に応じて当該機器に対する前記最大接続先数を設定することを特徴とするパケットフィルタリング装置。
【請求項4】
請求項1又は2に記載のパケットフィルタリング装置であって、
受信したパケットを解析することによって、当該パケットの送信元の機器の属性を識別する機器識別手段を備え、
前記機器識別手段にて識別された機器の属性に応じて当該機器に対する前記初期化期間を設定することを特徴とするパケットフィルタリング装置。
【請求項5】
請求項1〜4のいずれか1項に記載のパケットフィルタリング装置であって、
前記最大接続数設定手段は、受信したパケットの送信先の装置が通信を禁止する送信先として予め記憶されたブラックリストの装置に合致する場合、当該パケットの送信元の機器に対する前記最大接続先数を減ずることを特徴とするパケットフィルタリング装置。
【請求項6】
請求項1〜5のいずれか1項に記載のパケットフィルタリング装置であって、
前記ホワイトリスト更新手段は、すべての機器からの通信が許可されている送信先の装置が予め記録されたマスターホワイトリストに基づいて、受信したパケットの送信先の装置が前記マスターホワイトリストに登録されている場合、当該パケットの送信元の機器と送信先の装置とを前記ホワイトリストに追加登録しないことを特徴とするパケットフィルタリング装置。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、パケットの通信を制御するパケットフィルタリング装置に関する。
【背景技術】
【0002】
従来から、ネットワークに接続されたコンピュータなどの機器間におけるパケット通信を制限するパケットフィルタリング装置(レイヤ3のファイアウォール)が知られている(特許文献1)。例えば、パケットフィルタリング装置は、通過を許可(または不許可)するパケットのIPアドレス、プロトコル、ポート番号等の条件(フィルタリング条件)を予め設定及び記憶しておき、通過するパケットのヘッダ部に含まれるIPアドレス、プロトコル、ポート番号等がこの条件に合致しているか否かによってパケットの通過の可否を制御する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−261788号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ところで、近年、PC等の通信端末だけでなく、多様な機器に通信機能を持たせ、インターネットへの接続や機器間の相互通信等を行うIoT(Internet of Things)機器が世の中において普及しつつある。これに伴って、これらのIoT機器への不正アクセスなどによって生じうる脅威も懸念されつつある。例えば、IoT機器への不正アクセスによって「乗っ取り」されたり、「ウイルス感染」したりする場合など、当該IoT機器を介して外部ネットワークが不正アクセスされる危険性がある。
【0005】
このような脅威に対して、パケットフィルタリング型ファイアウォールは有効であるが、フィルタリング条件の設定に多大な手間を要する問題がある。すなわち、IoT機器の数や種類が増加するほど、IoT機器毎に通信を許可するアクセス先の設定数も増加し、専門的な知識を持たない利用者がフィルタリング条件を適切に設定して、維持管理していくことが困難である。
【0006】
そこで、本発明は、利用者等による専門的な知識や設定操作を必要とすることなく、フィルタリング条件(ホワイトリスト)を設定することが可能なパケットフィルタリング装置を提供することを目的とする。
【課題を解決するための手段】
【0007】
本発明の1つの態様は、送信元の機器と送信先の装置とが関連付けられたホワイトリストに基づいて、受信したパケットの通過の可否を制御するパケットフィルタリング装置であって、機器からパケットを受信したとき、前記ホワイトリストに当該機器と当該パケットの送信先の装置とが関連付けて登録されているならば当該パケットの通過を許可する通信制御手段と、機器ごとに、当該機器から最初にパケットを受信したときから初期化期間に当該機器から受信したパケットの送信先の装置の数を計数し、当該計数した送信先の装置の数に応じて当該機器に対する最大接続先数を設定する最大接続数設定手段と、機器からパケットを受信したとき、前記ホワイトリストに当該機器と当該パケットの送信先の装置とが関連付けて登録されておらず、前記ホワイトリストに当該機器を送信元として関連付けられている送信先の装置の数が当該機器に対する前記最大接続先数未満である場合、前記ホワイトリストに当該機器と当該パケットの送信先の装置とを関連付けて追加登録するホワイトリスト更新手段と、を備えることを特徴とするパケットフィルタリング装置である。
【0008】
ここで、前記ホワイトリスト更新手段は、受信したパケットの送信元の機器と送信先の装置との最終通信時刻を記録する処理と、前記ホワイトリストにおいて、パケットの送信元の機器と送信先の装置との最終通信時刻から現在時刻までに至る時間がタイムアウト時間以上となっている場合、当該送信元の機器と当該送信先の装置との組み合わせを削除する処理と、を行うことが好適である。
【0009】
また、受信したパケットを解析することによって、当該パケットの送信元の機器の属性を識別する機器識別手段を備え、前記最大接続数設定手段は、更に、前記機器識別手段にて識別された機器の属性に応じて当該機器に対する前記最大接続先数を設定することが好適である。
【0010】
また、受信したパケットを解析することによって、当該パケットの送信元の機器の属性を識別する機器識別手段を備え、前記機器識別手段にて識別された機器の属性に応じて当該機器に対する前記初期化期間を設定することが好適である。
【0011】
また、前記最大接続数設定手段は、受信したパケットの送信先の装置が通信を禁止する送信先として予め記憶されたブラックリストの装置に合致する場合、当該パケットの送信元の機器に対する前記最大接続先数を減ずることが好適である。
【0012】
また、前記ホワイトリスト更新手段は、すべての機器からの通信が許可されている送信先の装置が予め記録されたマスターホワイトリストに基づいて、受信したパケットの送信先の装置が前記マスターホワイトリストに登録されている場合、当該パケットの送信元の機器と送信先の装置とを前記ホワイトリストに追加登録しないことが好適である。
【発明の効果】
【0013】
本発明によれば、利用者等による操作を必要とすることなく、フィルタリング条件(ホワイトリスト)を設定することが可能なパケットフィルタリング装置を提供することができる。
【図面の簡単な説明】
【0014】
図1】本発明の実施の形態における通信システムの構成を示す図である。
図2】本発明の実施の形態におけるパケットフィルタリング装置の構成を示す図である。
図3】本発明の実施の形態における機器リストを示す図である。
図4】本発明の実施の形態におけるホワイトリストを示す図である。
図5】本発明の実施の形態における機器属性リストを示す図である。
図6】本発明の実施の形態における通信制御処理を示すフローチャートである。
【発明を実施するための形態】
【0015】
本発明の実施の形態における通信システム100は、図1に示すように、機器102(102a〜102c)、パケットフィルタリング装置(いわゆるファイアウォール)104及びサーバ106(106a〜106c)を含んで構成される。なお、本発明における「装置」は、本実施の形態における機器102とサーバ106とを含むものとする。
【0016】
機器102は、パケットフィルタリング装置104を介してネットワーク(インターネット等)108に接続される。例えば、機器102とパケットフィルタリング装置104は家庭内等の小規模なLAN(Local Area Network)を構成しているものとすることができる。また、サーバ106もネットワーク108に接続される。これによって、機器102とサーバ106は、パケットフィルタリング装置104及びネットワーク108を介して相互に接続される。
【0017】
なお、機器102とパケットフィルタリング装置104との間の接続、パケットフィルタリング装置104とネットワーク108との間の接続及びネットワーク108とサーバ106との間の接続は、有線であってもよいし、無線であってもよい。
【0018】
機器102は、ネットワーク108に接続可能な装置である。機器102は、いわゆるIoT機器とすることができる。機器102の機能は、特に限定されるものではなく、例えば、テレビ、録画機器、冷蔵庫、洗濯機、エアコン等の様々な機能を有する機器とすることができる。機器102は、ネットワーク108を介してサーバ106に接続されることによってサーバ106と通信を行う。機器102は、例えば、内蔵されているセンサーで検出された測定値をサーバ106へ送信したり、サーバ106から制御の為の情報を取得したりするために通信を行う。
【0019】
サーバ106は、いわゆるコンピュータの基本構成を備え、機器102と通信することで情報を管理したり、機器102を制御したりする装置である。サーバ106は、ネットワーク108を介して機器102と接続される。サーバ106は、例えば、機器102の製造会社、販売会社等の管理センタに配置され、機器102からパケットを受信することによって情報を収集したり、機器102に対してパケットを送信することによって制御プログラム(ファームウェア)や制御用情報を提供したりする管理コンピュータとすることができる。
【0020】
パケットフィルタリング装置104は、機器102とサーバ106との通信においてデータを中継する通信機器である。本実施の形態では、パケットフィルタリング装置104は、機器102からサーバ106へ送信されるパケットの通過を許可又は不許可とする機能を有する。パケットフィルタリング装置104は、ルータとしての機能を有してもよい。
【0021】
ここで、機器102とサーバ106との通信は、パケットを用いて行われる。パケットには、送信元である機器102を識別する機器IDと送信先となるサーバ106を識別するサーバIDとが含まれる。例えばTCP/IPに則った場合、機器ID及びサーバIDは、IPアドレスとすることができる。
【0022】
なお、機器IDは、機器102のIPアドレスに限定されるものではなく、機器102のMACアドレスを用いてもよい。この場合、機器102とパケットフィルタリング装置104とがルータを介さずに直接接続されているものとする。また、サーバIDは、サーバ106のIPアドレスに限定されるものではなく、サーバ106のドメイン名を用いてもよい。この場合、パケットフィルタリング装置104は、受信したパケットの送信先IPアドレスを用いてDNSサーバに対してドメイン名を問い合わせることによってサーバ106のドメイン名を取得したり、機器102とサーバ106との間でやり取りされたDNS応答を参照することによりサーバ106のドメイン名を取得したりするものとすればよい。
【0023】
パケットフィルタリング装置104は、図2に示すように、制御部10、記憶部12、出力部14、入力部16及び通信部18を含んで構成される。制御部10は、パケットフィルタリング装置104によるパケットの通信制御を統合的に制御する。記憶部12は、パケットフィルタリング装置104の制御に必要なデータを記憶する記憶手段である。記憶部12は、例えば、半導体メモリ、ハードディスク等とすることができる。記憶部12は、後述する機器リスト12a及びホワイトリスト12bを記憶する。出力部14は、パケットフィルタリング装置104での処理に関する情報を外部へ出力する手段である。出力部14は、例えば、パケットフィルタリング装置104の状態やパケットフィルタリング装置104で処理されるパケットに関する情報、例えば後述するようにパケットフィルタリング装置104におけるパケットの破棄に関する情報を表示するディスプレイとすることができる。入力部16は、パケットフィルタリング装置104へ情報を入力するための手段である。入力部16は、例えば、キーボードやポインティングデバイス等とすることができる。なお、出力部14及び入力部16は、DVDやメモリカードなどの可搬記憶媒体との間で情報を読み書きできるデバイスであってもよい。通信部18は、機器102やサーバ106とのパケットの交換を仲介するインターフェースである。例えばTCP/IPに則った場合、通信部18は、ネットワーク間におけるIPパケットの交換を行う。
【0024】
機器リスト12aは、図3に示すように、パケットの送信元である機器102を特定する機器ID、当該機器102から最初にパケットが送信された時刻を示す初回通信時刻、及び当該機器102に対して接続が許される送信先の数を示す最大接続先数を関連付けたデータベースである。
【0025】
ホワイトリスト12bは、図4に示すように、パケットの送信元である機器102を特定する機器ID、当該機器102からのパケットの送信が許可された送信先のサーバ106を特定するサーバID、及び当該機器102と当該サーバ106の最終通信時刻を関連付けたデータベースである。ここで最終通信時刻とは、機器102とサーバ106との間で最後に通信した時刻であり、より具体的には、パケットフィルタリング装置104が機器102から受信したパケットをサーバ106へ送信(転送)した最新の時刻である。
【0026】
制御部10は、ホワイトリスト更新手段10a、最大接続数設定手段10b及び通信制御手段10cとして機能する。
【0027】
ホワイトリスト更新手段10aは、ホワイトリスト12bの登録内容を更新する処理を行う。ホワイトリスト更新手段10aは、機器102からパケットを受信すると、所定の登録条件を満たした場合、当該機器102の機器IDに関連付けて当該パケットの送信先であるサーバ106のサーバIDをホワイトリスト12bに登録する。ここで、ホワイトリスト12bへの登録条件は、当該機器102に関連してホワイトリスト12bに登録された送信先であるサーバ106の数が後述の最大接続先数未満である場合とすることが好適である。すなわち、機器102からパケットを受信したとき、ホワイトリスト12bに当該機器102と当該パケットの送信先のサーバ106とが関連付けて登録されておらず、当該機器102を送信元として関連付けられている送信先のサーバ106の数が当該機器102に対する最大接続先数未満である場合にホワイトリスト12bに当該機器102と当該パケットの送信先のサーバ106とを関連付けて登録する。
【0028】
また、ホワイトリスト更新手段10aは、既にホワイトリスト12bに登録されている機器102及びサーバ106の組み合わせについての最終通信時刻から現在時刻に至る時間が所定のタイムアウト時間以上となっている場合、当該機器102と当該サーバ106との組み合わせをホワイトリスト12bから削除する処理を行う。当該処理は、パケットフィルタリング装置104が機器102からパケットを受信する毎に行ってもよいし、機器102の各々について設定されている最大接続先数を超えてホワイトリスト12bにサーバ106が登録されている場合のみに行うようにしてもよいし、所定の期間おきに行うようにしてもよい。
【0029】
最大接続数設定手段10bは、機器102の各々についてホワイトリスト12bに登録され得るサーバ106の最大数を示す最大接続先数を設定する。本実施の形態では、最大接続数設定手段10bは、パケットフィルタリング装置104が機器102から最初にパケットを受信した時刻から初期化期間に当該機器102から受信したパケットの送信先となったサーバ106の数を計数し、当該計数した送信先の数に応じて当該機器102に対する最大接続先数を設定する。最大接続数設定手段10bは、図3に示すように、設定された最大接続先数を設定対象となる機器102の機器IDに関連付けて機器リスト12aに登録する。
【0030】
ここで、初期化期間は、予め設定された固定値とすることができる。また、初期化期間は、機器102毎に設定するようにしてもよい。例えば、図5に示す機器属性リストを記憶部12に予め登録しておき、当該機器属性リストを参照して機器102の機器属性に応じて初期化期間を設定してもよい。例えば、パケットを送信した機器102がA社製機器であれば初期化期間を1日(24時間)として設定し、B社製機器であれば初期化期間を18時間として設定する。また、パケットを送信した機器102が機器属性リストのいずれの属性にも該当しない場合はデフォルト値である3時間として初期化期間を設定する。なお、機器102の属性は、特に限定されるものではないが、例えば、機器の型番、機器の製造会社、機器の製造バージョン(ファームウェアバージョン)等とすることができる。そして、機器102の属性は機器102から送信されるパケットを解析することによって判定する。例えば、パケットに含まれるMACアドレスのベンダーコードを利用する、IPパケットのヘッダ情報を利用する、HTTPアクセスにおいてリクエストに含まれるヘッダの情報を利用する等の方法がある。これにより、制御部10は、機器識別手段として機能する。
【0031】
また、機器102に対する最大接続先数は、所定の通信許可マージンを用いて設定することができる。通信許可マージンは、ファームウェアの供給元のサーバの変更などによって、初期期間の経過後に初めて接続され得る正規の接続先の数を見越して設定される。このマージンの設定により初期化期間経過後の正規の接続先を手間なくホワイトリストに追加できる。例えば、最大接続数設定手段10bは、最初にパケットを受信した時刻から初期化期間に当該機器102から受信したパケットの送信先となったサーバ106の数を計数し、当該計数した送信先の数に通信許可マージンを加算・乗算などの演算をすることによって最大接続数を求めるものとする。なお、通信許可マージンは管理者等によって予め設定された固定値とすることができる。また、通信許可マージンは、機器102毎に設定するようにしてもよい。例えば、図5に示す機器属性リストを記憶部12に予め登録しておき、当該機器属性リストを参照して判定した機器102の属性に応じて通信許可マージンを設定してもよい。機器102の機器属性の判定方法は、上記のとおりである。
【0032】
また、通信許可マージンは、機器102の属性に応じて過去のパケットの送信先の数の履歴に基づいて設定するようにしてもよい。例えば、機器102の種類に応じて、過去において同じ種類の機器102が初期化期間内に通信した送信先のサーバ106の数に基づいて通信許可マージンを設定してもよい。また、機器102の製造会社に応じて、過去において同じ製造会社の機器102が初期化期間内に通信した送信先のサーバ106の数から通信許可マージンを設定してもよい。他の属性についても同様である。
【0033】
最大接続数設定手段10bは、初期化期間内において機器102毎に受信したパケットの送信先の数に対して通信許可マージンの値を演算して最大接続先数を設定する。演算は、特に限定されるものではないが、初期化期間内に機器102毎に受信したパケットの送信先の数が増加すると最大接続先数も増加するようなものであることが好適である。演算方法は、例えば、加算、乗算、除算等や通信許可マージンを引数とする所定の関数とすればよい。
【0034】
通信制御手段10cは、パケットフィルタリング装置104において受信された機器102からのパケットを解析してパケットの通信の可否を制御する。通信制御手段10cは、パケットのヘッダ情報に基づいて、パケットの送信元の機器102と送信先のサーバ106を識別する。通信がTCP/IPに則っている場合、識別処理には、パケットのIPアドレスを用いて識別し当該IPアドレスを機器102の機器ID、及び送信先のサーバ106のサーバIDとして用いることができる。ただし、これに限定されるものではなく、送信元の機器102の機器IDとしてMACアドレスを用いてもよい。また、送信先のサーバ106のサーバIDとして、ドメイン名を用いてもよい。さらに、IPアドレス(又はドメイン名)とポート番号との組を送信元の機器102の機器ID、又は送信先のサーバ106のサーバIDとして用いてもよい。また、ポート番号を識別に用いる場合、ポート番号別に最大接続数を管理してもよい。
【0035】
次に、通信制御手段10cは、送信元の機器102が機器リスト12aに登録されていなければ、当該機器102を機器リスト12aに新たに登録すると共に、当該機器102に関連付けて当該パケットの受信時刻を初回通信時刻として登録する。そして、当該パケットの通過を許可し、当該パケットを送信先となっているサーバ106へ送信する。また、通信制御手段10cは、機器102からパケットを受信したとき、ホワイトリスト12bに当該機器102と当該パケットの送信先のサーバ106とが関連付けて登録されていれば、当該パケットの通過を許可し、当該パケットを当該サーバ106へ送信する。さらに、通信制御手段10cは、当該パケットの受信時刻を最終通信時刻として、当該機器102の機器IDと当該サーバ106のサーバIDに関連付けてホワイトリスト12bに登録する。
【0036】
以下、図6に示すフローチャートを参照して、通信システム100におけるパケットの送受信処理について説明する。本実施の形態では、一般的なIoT機器のように、パケットフィルタリング装置104に対して機器102が新たに接続され、電源が投入されることによって自動でサーバ106へパケットを送信する通信が開始されるものとする。当該通信制御処理は、パケットフィルタリング装置104において機器102からパケットが受信した時に実行される処理であり、受信したパケットを送信先となるサーバ106へ転送するか否かを制御する処理である。
【0037】
ステップS10では、受信されたパケットの送信元の機器102と送信先のサーバ106が識別される。通信制御手段10cは、受信されたパケットのヘッダ情報などを参照して、パケットの送信元の機器102と送信先のサーバ106とを識別する。
【0038】
ステップS12では、受信されたパケットの送信元の機器102が機器リスト12aに既に登録されているか否かが判定される。通信制御手段10cは、受信されたパケットの送信元の機器102が機器リスト12aに既に登録されていればステップS16に処理を移行させ、登録されてなければステップS14に処理を移行させる。
【0039】
ステップS14では、機器リスト12aにパケットの送信元の機器102を登録する。通信制御手段10cは、機器リスト12aに当該機器102の機器IDを新たに登録すると共に、当該パケットの受信時刻を初回通信時刻として登録する。その後、処理をステップS32に移行させる。
【0040】
一方、ステップS16では、ホワイトリスト12bにおいてパケットの送信元の機器102と送信先のサーバ106が関連付けて登録されているか否かが判定される。通信制御手段10cは、ホワイトリスト12bにパケットの送信元の機器102の機器IDと送信先のサーバ106のサーバIDとが関連付けて登録されていればステップS34に処理を移行させ、登録されていなければステップS18に処理が移行される。
【0041】
ステップS18では、現在時刻が初回通信時刻から初期化期間内であるか否かが判定される。最大接続数設定手段10bは、機器リスト12aからパケットの送信元の機器102に関連付けて登録されている初回通信時刻を読みだし、初回通信時刻から現在時刻までの経過時間を算出する。そして、最大接続数設定手段10bは、経過時間が初期化期間以下であればステップS32に処理を移行させ、そうでなければステップS20に処理を移行させる。なお、初期化期間は、上記のように設定される。
【0042】
ステップS20では、パケットの送信元の機器102に対して最大接続先数が設定されているか否かが判定される。最大接続数設定手段10bは、機器リスト12aにおいてパケットの送信元の機器102に対して最大接続先数が設定されていればステップS24に処理を移行させ、設定されていなければステップS22に処理を移行させる。
【0043】
ステップS22では、最大接続先数が設定される。最大接続数設定手段10bは、パケットの送信元の機器102から最初にパケットを受信したときから初期化期間に当該機器102からパケットの送信先となったサーバ106の数を計数する。そして、最大接続数設定手段10bは、当該計数されたサーバ106の数に応じて当該機器102に対する最大接続先数を設定する。設定方法は、上記のとおりである。最大接続数設定手段10bは、設定された最大接続先数を当該機器102の機器IDに関連付けて機器リスト12aに登録する。その後、ステップS24に処理を移行させる。
【0044】
ステップS24では、ホワイトリスト12bにおいてパケットの送信元の機器102に対応して登録されているサーバ106の数が最大接続先数未満であるかが判定される。ホワイトリスト更新手段10aは、ホワイトリスト12bにおいてパケットの送信元の機器IDに関連付けて登録されているサーバIDの数が最大接続先数未満であればステップS32に処理を移行させ、そうでなければステップS26に処理を移行させる。
【0045】
ステップS26では、ホワイトリスト12bにおいてパケットの送信元の機器102に対してタイムアウトとなったサーバ106が関連付けられているか判定される。ホワイトリスト更新手段10aは、ホワイトリスト12bにおいてパケットの送信元の機器IDに関連付けて登録されているサーバIDの最終通信時刻と、現在時刻とに基づいて所定のタイムアウト時間以上経過しているサーバIDが存在しているか否かを判定する。存在する場合、すなわちパケットの送信元の機器102との通信がタイムアウト時間以上行われていないサーバ106が存在する場合、ステップS30に処理を移行させ、存在しなければステップS28に処理を移行させる。
【0046】
ステップS28では、パケットフィルタリング装置104にて受信されたパケットが破棄される。すなわち、当該パケットの送信元の機器102と送信先のサーバ106とが関連付けられてホワイトリスト12bに登録されておらず、さらにホワイトリスト12bに追加登録できる最大接続先数を超えており、タイムアウトしたサーバ106も存在しない場合、通信制御手段10cはパケットの通信を許可せず、当該パケットを破棄する。このとき、パケットを破棄したことを示す情報を出力部14にて出力したり、パケットの送信元の機器102に通知したりするようにしてもよい。
【0047】
一方、ステップS30では、タイムアウトしたサーバ106を削除する処理を行う。ホワイトリスト更新手段10aは、パケットの送信元の機器102との通信がタイムアウト時間以上行われていないサーバ106をホワイトリスト12bから削除する。その後、処理をステップS32に移行させる。
【0048】
ステップS32では、ホワイトリスト12bに新たに追加登録を行う。ホワイトリスト更新手段10aは、現在処理対象とされているパケットの送信元の機器102の機器IDと、送信先のサーバ106のサーバIDとの組を新たにホワイトリスト12bに登録する。その後、処理をステップS34に移行させる。
【0049】
ステップS34では、パケットが送信先のサーバ106に送信される。通信制御手段10cは、通信対象のパケットを送信先のサーバ106へ転送する。そして、通信制御手段10cは、ホワイトリスト12bにおいてパケットの送信元の機器102の機器IDと送信先のサーバ106のサーバIDに関連付けてパケットの送信時刻を最終通信時刻として登録又は更新する。
【0050】
以上のように、一般的に、IoT機器等では正規なアクセス先(パケットの送信先)は総数が限られており、かつ最初の利用時から短い期間におよそすべての正規のアクセス先との通信が行われる。また機器102が攻撃者によって不正アクセスされて制御を乗っ取られてしまった場合、攻撃者は自身の身元を隠すなどの目的で頻繁にアクセス先を変更することが多く、その結果アクセス先数が異常に増えるのが一般的である。そこで、本実施の形態では、新たにパケットフィルタリング装置104に接続された機器102について、最初のパケットの通信時刻から初期化期間内に通信が行われたアクセス先(送信先のサーバ106)の数を計数し、当該計数値に基づいて機器102の各々に対してアクセス先(パケットの送信先)となるサーバ106の最大接続先数を設定する。そして、当該最大接続先数の範囲内でホワイトリスト12bに通信が許可される機器102とサーバ106と登録される。これらの処理を自動的に行うことにより、機器102毎にアクセス先として許可されるサーバ106の総数を制限して管理する。このように、利用者等による操作を必要とすることなく、フィルタリング条件(ホワイトリスト)を設定することが可能となり、後に攻撃者によって機器102の制御を乗っ取られるような場合が生じても適切に当該通信を制限することが可能なパケットフィルタリング装置104を提供することができる。
【0051】
なお、機器102から最初のパケットを受信した初回通信時刻においてタイマーを稼働させ、初回通信時刻から初期化期間を経過したか否かを常に監視しておき、初期化期間を経過したときに最大接続数設定手段10bによる最大接続数の設定処理を開始するようにしてもよい。
【0052】
また、すべての機器102からの通信が許可されている送信先のサーバ106のサーバIDが予め記録されたマスターホワイトリストに基づいてパケットの通信の許可・不許可を制御するようにしてもよい。マスターホワイトリストは、予め記憶部12に記憶させておけばよい。パケットの送信先となるサーバ106のサーバIDがマスターホワイトリストに登録されている場合、通信制御手段10cは、ホワイトリスト12bの登録内容に関わらず、当該パケットの通信を許可する。また、パケットの送信先となるサーバ106がマスターホワイトリストに登録されている場合、ホワイトリスト更新手段10aは、当該パケットの送信元の機器102の機器IDと送信先のサーバ106のサーバIDとをホワイトリスト12bに追加登録しないようにすることが好適である。マスターホワイトリストに、DNS、NTPサーバなどインターネットの使用に対して必要性が高く、多くの機器102で登録されているサーバ106を登録することで、各機器102におけるこれら共通の通信先への許可に関するタイムアウトなどの処理を大幅に省くことができる。また、マスターホワイトリストを用いることによって計数された各機器102の接続先(サーバ106)の数は、各機器102に固有の接続先となるため、機器102毎により最適化された最大接続数が設定されることが期待される。
【0053】
また、パケットの送信先のサーバ106が通信を禁止する送信先として予め記憶されたブラックリストに基づいてパケットの許可・不許可を制御するようにしてもよい。ブラックリストは、予め記憶部12に記憶させておけばよい。パケットの送信先となるサーバ106のサーバIDがブラックリストに登録されている場合、通信制御手段10cは、当該パケットについては通信を許可せず、破棄する処理とする。また、最大接続数設定手段10bは、当該パケットの送信元の機器102に対して設定されている最大接続先数を減ずる処理を行うことが好適である。これにより、ブラックリストに登録されているようなリスクのあるサーバ106への通信を試みた機器102に対して許可される接続先数を制限することができる。これにより、IoT機器の接続時における通信上のセキュリティをより一層高めることができる。
【符号の説明】
【0054】
10 制御部、10a ホワイトリスト更新手段、10b 最大接続数設定手段、10c 通信制御手段、12 記憶部、12a 機器リスト、12b ホワイトリスト、14 出力部、16 入力部、18 通信部、100 通信システム、102 機器、104 パケットフィルタリング装置、106 サーバ、108 ネットワーク。
図1
図2
図3
図4
図5
図6