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

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

▶ ビョス インコーポレーテッドの特許一覧

特許7140845ネットワーク接続をセキュアにするためのデバイスおよび方法
<>
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図1
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図2
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図3
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図4
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図5
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図6
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図7
  • 特許-ネットワーク接続をセキュアにするためのデバイスおよび方法 図8
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-09-12
(45)【発行日】2022-09-21
(54)【発明の名称】ネットワーク接続をセキュアにするためのデバイスおよび方法
(51)【国際特許分類】
   H04L 12/22 20060101AFI20220913BHJP
   H04L 12/66 20060101ALI20220913BHJP
   H04L 43/02 20220101ALI20220913BHJP
【FI】
H04L12/22
H04L12/66
H04L43/02
【請求項の数】 40
(21)【出願番号】P 2020560628
(86)(22)【出願日】2019-01-16
(65)【公表番号】
(43)【公表日】2021-05-13
(86)【国際出願番号】 IB2019050347
(87)【国際公開番号】W WO2019142115
(87)【国際公開日】2019-07-25
【審査請求日】2022-01-14
(31)【優先権主張番号】62/618,457
(32)【優先日】2018-01-17
(33)【優先権主張国・地域又は機関】US
【早期審査対象出願】
(73)【特許権者】
【識別番号】520265848
【氏名又は名称】ビョス インコーポレーテッド
(74)【代理人】
【識別番号】100112737
【弁理士】
【氏名又は名称】藤田 考晴
(74)【代理人】
【識別番号】100136168
【弁理士】
【氏名又は名称】川上 美紀
(74)【代理人】
【識別番号】100196117
【弁理士】
【氏名又は名称】河合 利恵
(72)【発明者】
【氏名】マティアス デイビッド カッツ
(72)【発明者】
【氏名】クリスチャン アミチェリ
【審査官】羽岡 さやか
(56)【参考文献】
【文献】米国特許出願公開第2015/0319137(US,A1)
【文献】米国特許出願公開第2007/0162587(US,A1)
【文献】特開2016-171453(JP,A)
【文献】特表2015-530783(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 12/00-69/40
(57)【特許請求の範囲】
【請求項1】
クライアント計算デバイスとネットワークとの間の通信を仲介するためのネットワーク・セキュリティ・デバイスであって、
パケット・ヘッダの構造およびコンテンツに関するパラメータを定義するパケット・ヘッダ検証ルールを記憶するメモリと、
前記クライアント計算デバイスおよび前記ネットワークに接続するための通信インターフェースと、
前記メモリおよび前記通信インターフェースと相互接続されたプロセッサであって、
前記クライアント計算デバイスに送信するための前記ネットワークからの着信パケットを受信したことに応答して、該着信パケットから着信ヘッダを抽出することと、
前記パケット・ヘッダ検証ルールに従って前記着信ヘッダの構造およびコンテンツの検証を実行することであって、
前記着信パケットの前記着信ヘッダから現在のルーティング経路を取得することと、
前記メモリから、前記ネットワーク・セキュリティ・デバイスによって前記ネットワークから前記クライアント計算デバイスに通信された前のパケットに関連付けられる記憶されたルーティング経路を取得することと、
前記記憶されたルーティング経路と前記現在のルーティング経路が、前記パケット・ヘッダ検証ルールにおいて定義されたしきい値数の類似ポイントを含むかどうかを決定することと、
該現在のルーティング経路の1つまたは複数のロケーションが、前記パケット・ヘッダ検証ルールにおいて定義された制限付きロケーション・リスト上のロケーションに一致するかどうかを決定することと、
(1)前記記憶されたルーティング経路および前記現在のルーティング経路がしきい値数の類似ポイントを含むことが決定されたとき、及び(2)前記現在のルーティング経路の前記ロケーションのいずれも前記制限付きロケーション・リスト上の前記ロケーションに一致しないとき、前記着信ヘッダの前記検証が成功したことを決定すること
により検証を実行することと、
前記着信ヘッダの検証の成功に応答して、前記クライアント計算デバイスに前記着信パケットを送信することと
を行うように構成された、プロセッサと
を備えるネットワーク・セキュリティ・デバイス。
【請求項2】
前記プロセッサが、前記着信ヘッダの検証の成功に応答して、前記メモリに前記現在のルーティング経路を記憶するようにさらに構成された請求項に記載のネットワーク・セキュリティ・デバイス。
【請求項3】
前記プロセッサが、
前記メモリからセッション情報を取得することと、
前記着信パケットの前記着信ヘッダから応答シーケンスを取得することと、
該応答シーケンスが前記セッション情報に対応するとき、前記着信ヘッダの前記検証が成功したことを決定することと
によって、前記着信ヘッダの前記検証を実行するように構成された請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項4】
前記プロセッサが、
前記着信ヘッダの前記構造において利用される通信プロトコルを識別することと、
該識別された通信プロトコルが、前記パケット・ヘッダ検証ルールにおいて定義されたベースライン通信プロトコルに一致するとき、前記着信ヘッダの前記検証が成功したことを決定すること
とによって、前記着信ヘッダの前記検証を実行するように構成された請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項5】
前記ネットワークに接続するための前記クライアント計算デバイスからの要求に応答して、前記プロセッサが、
ネットワーク情報を取得することと、
前記メモリに記憶された予備検証ルールに基づいて前記ネットワーク情報に対する予備検証を実行することと、
予備検証の成功に応答して、前記ネットワークに接続するように前記通信インターフェースを制御することと
を行うように構成された請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項6】
前記プロセッサが、
前記ネットワークにおいて利用される通信プロトコルを識別することと、
前記予備検証ルールに従って、前記識別された通信プロトコルを検証することと
によって、前記予備検証を実行するように構成された請求項に記載のネットワーク・セキュリティ・デバイス。
【請求項7】
前記プロセッサが、
ネットワーク・ルーティング経路を取得し、前記メモリに該ネットワーク・ルーティング経路を記憶することと、
前記予備検証ルールに従って、前記ネットワーク・ルーティング経路を検証することと
によって、前記予備検証を実行するように構成された請求項に記載のネットワーク・セキュリティ・デバイス。
【請求項8】
前記プロセッサが、
前記ネットワークに送信するための前記クライアント計算デバイスからの発信パケットを受信したことに応答して、該発信パケットから発信ヘッダを抽出することと、
前記パケット・ヘッダ検証ルールに従って前記発信ヘッダの構造およびコンテンツの検証を実行することと、
前記発信ヘッダの検証の成功に応答して、前記ネットワークに前記発信パケットを送信することと
を行うようにさらに構成された請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項9】
前記プロセッサが、
前記発信パケットの前記発信ヘッダから現在のルーティング経路を取得することと、
該現在のルーティング経路の1つまたは複数のロケーションが、前記パケット・ヘッダ検証ルールにおいて定義された制限付きロケーション・リスト上のロケーションに一致するかどうかを決定することと、
前記現在のルーティング経路の前記ロケーションのいずれも前記制限付きロケーション・リスト上の前記ロケーションに一致しないとき、前記発信ヘッダの前記検証が成功したことを決定することと
によって、前記発信ヘッダの前記検証を実行するように構成された請求項に記載のネットワーク・セキュリティ・デバイス。
【請求項10】
前記プロセッサが、
前記メモリから、記憶されたネットワーク・トラフィック量データを取得することと、
現在のネットワーク・トラフィック量を検出することと、
前記記憶されたネットワーク・トラフィック量データおよび前記現在のネットワーク・トラフィック量がしきい値類似度の範囲内であるかどうかを決定することと、
前記決定が肯定的であるとき、前記検証が成功したことを決定することと
によって、ネットワーク使用検証を実行するようにさらに構成された請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項11】
前記メモリに前記現在のネットワーク・トラフィック量を記憶することをさらに含む請求項10に記載のネットワーク・セキュリティ・デバイス。
【請求項12】
前記現在のネットワーク・トラフィック量が、個々のポートによるトラフィック、指定されたホストへのまたは指定されたホストからのトラフィック、指定されたネットワークへのまたは指定されたネットワークからのトラフィック、および指定された地理的領域へのまたは指定された地理的領域からのトラフィックのうちの1つまたは複数を備える請求項10に記載のネットワーク・セキュリティ・デバイス。
【請求項13】
前記プロセッサが、パーセンテージ差および標準偏差差のうちの1つまたは複数に基づいて、前記記憶されたネットワーク・トラフィック量データおよび前記現在のネットワーク・トラフィック量がしきい値類似度の範囲内であるかどうかを決定する請求項10に記載のネットワーク・セキュリティ・デバイス。
【請求項14】
前記通信インターフェースが、暗号化された通信プロトコルを利用するようにさらに構成された請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項15】
前記プロセッサが、
ドメイン・ネーム・システム(DNS)要求に応答して、前記メモリから信頼されたドメイン・ネーム・サーバのあらかじめ記憶されたアドレスを取り出すことと、
前記暗号化された通信プロトコルを介して前記信頼されたドメイン・ネーム・サーバに前記DNS要求を転送するように前記通信インターフェースを制御することと
を行うようにさらに構成された請求項14に記載のネットワーク・セキュリティ・デバイス。
【請求項16】
前記プロセッサが、前記暗号化された通信プロトコルを使用して前記通信インターフェースを介して集中コマンド・センターと通信するようにさらに構成された請求項14に記載のネットワーク・セキュリティ・デバイス。
【請求項17】
前記プロセッサが、前記集中コマンド・センターからの切断コマンドの受信に応答して、前記ネットワークから切断するように前記通信インターフェースを制御するようにさらに構成された請求項16に記載のネットワーク・セキュリティ・デバイス。
【請求項18】
前記プロセッサが、前記集中コマンド・センターからのリセット・コマンドの受信に応答して、前記デバイスを出荷時設定にリセットするようにさらに構成された請求項16に記載のネットワーク・セキュリティ・デバイス。
【請求項19】
前記メモリが、前記クライアント計算デバイスによって実行可能なダッシュボード・アプリケーションをさらに記憶する請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項20】
前記プロセッサが、検証の不成功に応答して、前記ダッシュボード・アプリケーションを介して前記クライアント計算デバイスにおいて指示を与えるように構成された請求項19に記載のネットワーク・セキュリティ・デバイス。
【請求項21】
前記プロセッサが、検証の不成功に応答して、前記ネットワークから切断するように前記通信インターフェースを制御するように構成された請求項1に記載のネットワーク・セキュリティ・デバイス。
【請求項22】
クライアント計算デバイスとネットワークとの間の通信を仲介する方法であって、
パケット・ヘッダの構造およびコンテンツに関するパラメータを定義するパケット・ヘッダ検証ルールを記憶する工程と、
前記クライアント計算デバイスおよび前記ネットワークに接続する工程と、
前記クライアント計算デバイスに送信するための前記ネットワークからの着信パケットを受信したことに応答して、該着信パケットから着信ヘッダを抽出し、前記パケット・ヘッダ検証ルールに従って前記着信ヘッダの構造およびコンテンツの検証を実行する工程であって、
前記着信パケットの前記着信ヘッダから現在のルーティング経路を取得することと、
メモリから、前記ネットワーク・セキュリティ・デバイスによって前記ネットワークから前記クライアント計算デバイスに通信された前のパケットに関連付けられる記憶されたルーティング経路を取得することと、
前記記憶されたルーティング経路と前記現在のルーティング経路が、前記パケット・ヘッダ検証ルールにおいて定義されたしきい値数の類似ポイントを含むかどうかを決定することと、
該現在のルーティング経路の1つまたは複数のロケーションが、前記パケット・ヘッダ検証ルールにおいて定義された制限付きロケーション・リスト上のロケーションに一致するかどうかを決定することと、
(1)前記記憶されたルーティング経路および前記現在のルーティング経路がしきい値数の類似ポイントを含むことが決定されたとき、及び(2)前記現在のルーティング経路の前記ロケーションのいずれも前記制限付きロケーション・リスト上の前記ロケーションに一致しないとき、前記着信ヘッダの前記検証が成功したことを決定すること
により検証を実行する工程と、
前記着信ヘッダの検証の成功に応答して、前記クライアント計算デバイスに前記着信パケットを送信する工程と
を有する方法。
【請求項23】
前記着信ヘッダの前記構造において利用される通信プロトコルを識別し、
該識別された通信プロトコルが、前記パケット・ヘッダ検証ルールにおいて定義されたベースライン通信プロトコルに一致するとき、前記着信ヘッダの前記検証が成功したことを決定すること
によって、前記着信ヘッダの前記検証を実行する請求項22に記載の方法。
【請求項24】
前記ネットワークに接続するための前記クライアント計算デバイスからの要求に応答して、前記方法が、
ネットワーク情報を取得する工程と、
記憶された予備検証ルールに基づいて前記ネットワーク情報に対する予備検証を実行する工程と、
予備検証の成功に応答して、前記ネットワークに接続する工程と
を有する請求項22に記載の方法。
【請求項25】
前記ネットワークにおいて利用される通信プロトコルを識別し、
前記予備検証ルールに従って、前記識別された通信プロトコルを検証すること
によって、前記予備検証を実行する請求項24に記載の方法。
【請求項26】
ネットワーク・ルーティング経路を取得し、該ネットワーク・ルーティング経路を記憶し、
前記予備検証ルールに従って、前記ネットワーク・ルーティング経路を検証すること
によって、前記予備検証を実行する請求項24に記載の方法。
【請求項27】
前記ネットワークに送信するための前記クライアント計算デバイスからの発信パケットを受信したことに応答して、該発信パケットから発信ヘッダを抽出する工程と、
前記パケット・ヘッダ検証ルールに従って前記発信ヘッダの構造およびコンテンツの検証を実行する工程と、
前記発信ヘッダの検証の成功に応答して、前記ネットワークに前記発信パケットを送信する工程と
を有する請求項22に記載の方法。
【請求項28】
前記発信パケットの前記発信ヘッダから現在のルーティング経路を取得し、
該現在のルーティング経路の1つまたは複数のロケーションが、前記パケット・ヘッダ検証ルールにおいて定義された制限付きロケーション・リスト上のロケーションに一致するかどうかを決定し、
前記現在のルーティング経路の前記ロケーションのいずれも前記制限付きロケーション・リスト上の前記ロケーションに一致しないとき、前記発信ヘッダの前記検証が成功したことを決定すること
によって、前記発信ヘッダの前記検証を実行する請求項27に記載の方法。
【請求項29】
記憶されたネットワーク・トラフィック量データを取得し、
現在のネットワーク・トラフィック量を検出し、
前記記憶されたネットワーク・トラフィック量データおよび前記現在のネットワーク・トラフィック量がしきい値類似度の範囲内であるかどうかを決定し、
前記決定が肯定的であるとき、前記検証が成功したことを決定すること
によって、ネットワーク使用検証を実行する請求項22に記載の方法。
【請求項30】
前記現在のネットワーク・トラフィック量を記憶する工程を有する請求項29に記載の方法。
【請求項31】
前記現在のネットワーク・トラフィック量が、個々のポートによるトラフィック、指定されたホストへのまたは指定されたホストからのトラフィック、指定されたネットワークへのまたは指定されたネットワークからのトラフィック、および指定された地理的領域へのまたは指定された地理的領域からのトラフィックのうちの1つまたは複数を有する請求項29に記載の方法。
【請求項32】
パーセンテージ差および標準偏差差のうちの1つまたは複数に基づいて、前記記憶されたネットワーク・トラフィック量データおよび前記現在のネットワーク・トラフィック量がしきい値類似度の範囲内であるかどうかを決定する工程を有する請求項29に記載の方法。
【請求項33】
暗号化された通信プロトコルを利用する工程を有する請求項22に記載の方法。
【請求項34】
ドメイン・ネーム・システム(DNS)要求に応答して、信頼されたドメイン・ネーム・サーバのあらかじめ記憶されたアドレスを取り出す工程と、
前記暗号化された通信プロトコルを介して前記信頼されたドメイン・ネーム・サーバに前記DNS要求を転送する工程と
を有する請求項33に記載の方法。
【請求項35】
前記暗号化された通信プロトコルを使用して集中コマンド・センターと通信する工程を有する請求項34に記載の方法。
【請求項36】
前記集中コマンド・センターからの切断コマンドの受信に応答して、前記ネットワークから切断する工程を有する請求項35に記載の方法。
【請求項37】
前記集中コマンド・センターからのリセット・コマンドの受信に応答して、出荷時設定にリセットする工程を有する請求項35に記載の方法。
【請求項38】
前記クライアント計算デバイスによって実行可能なダッシュボード・アプリケーションを記憶する工程を有する請求項22に記載の方法。
【請求項39】
検証の不成功に応答して、前記ダッシュボード・アプリケーションを介して前記クライアント計算デバイスにおいて指示を与える工程を有する請求項38に記載の方法。
【請求項40】
検証の不成功に応答して、前記ネットワークから切断する工程を有する請求項22に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本明細書は、一般に、ネットワーク・デバイスに関し、より詳細には、ネットワーク接続をセキュアにするためのデバイスおよび方法に関する。
【背景技術】
【0002】
インターネットはユビキタスである。人々は、どこからでも、すなわち、家庭およびオフィス、ならびにホテル、コーヒー・ショップおよびレストランなど、公共の場所からインターネットに接続することができる。公衆ネットワークはセキュリティ対策を採用していないことがあり、したがって、ユーザおよびユーザのデバイスにセキュリティ脅威を呈し得る。
【発明の概要】
【0003】
本明細書の一態様は、クライアント計算デバイスとネットワークとの間の通信を仲介するためのネットワーク・セキュリティ・デバイスを対象とする。ネットワーク・セキュリティ・デバイスは、パケット・ヘッダの構造およびコンテンツに関するパラメータを定義するパケット・ヘッダ検証ルールを記憶するメモリを含む。ネットワーク・セキュリティ・デバイスは、クライアント計算デバイスおよびネットワークに接続するための通信インターフェースをさらに含む。ネットワーク・セキュリティ・デバイスは、メモリおよび通信インターフェースと相互接続されたプロセッサをさらに含む。プロセッサは、クライアント計算デバイスに送信するためのネットワークからの着信パケットを受信したことに応答して、着信パケットから着信ヘッダを抽出するように構成される。プロセッサは、パケット・ヘッダ検証ルールに従って着信ヘッダの構造およびコンテンツの検証を実行するようにさらに構成される。プロセッサは、着信ヘッダの検証の成功に応答して、クライアント計算デバイスに着信パケットを送信するようにさらに構成される。
【0004】
以下の図を参照しながら、実装形態について説明する。
【図面の簡単な説明】
【0005】
図1】ネットワーク接続をセキュアにするための例示的なシステムの概略を示す図である。
図2図1のシステムにおけるネットワーク・セキュリティ・デバイスのいくつかの内部構成要素のブロック図を示す図である。
図3図1のシステムにおいてネットワーク接続の予備検証を実行する例示的な方法のフローチャートを示す図である。
図4図1のシステムにおいてパケット・ヘッダ検証を実行する例示的な方法のフローチャートを示す図である。
図5図1のシステムにおいてネットワーク使用検証を実行する例示的な方法のフローチャートを示す図である。
図6】集中コマンド・センターと通信しているネットワーク接続をセキュアにするための例示的なシステムを示す図である。
図7】例示的なポータブル・ネットワーク・セキュリティ・デバイスの斜視図を示す図である。
図8図1のシステムにおけるダッシュボード・アプリケーションの例示的なユーザ・インターフェースを示す図である。
【発明を実施するための形態】
【0006】
現在のネットワーク・セキュリティ手段は複雑であり、適切にセット・アップし、使用するために高いレベルの技術的洗練を必要とし得る。コンピュータ・セキュリティに対する潜在的な脅威および攻撃を緩和することは、許容できるレベルの保護を確立するための高いレベルの知識をしばしば必要とする。さらに、ネットワークをセキュアにする多くの方法は、既知のセキュリティ問題に一致するパターンを検出するに過ぎない。これらの方法は、異なる脅威を相乗的に分析することができず、ユーザまたはカウンタに脅威を通知するための十分な手段を与えない。
【0007】
ネットワーク・セキュリティ・デバイスは、ネットワーク・セキュリティ・デバイスに接続された計算デバイスにネットワーク・セキュリティを与えることができる。特に、ネットワーク・セキュリティ・デバイスはユーザのデバイスとネットワークとの間のインラインであり得、ユーザのデバイスはネットワーク・セキュリティ・デバイスを介してネットワークと対話し得る。ネットワーク・セキュリティ・デバイスは、したがって、通信における脅威を自律的に分析し、検出し、その脅威に応答することを含めて、ネットワークとユーザのデバイスとの間の通信を仲介し得る。ネットワーク・セキュリティ・デバイス・セキュリティ機能は、盗聴検出および防止、ドメイン・ネーム・システム攻撃検出および防止、侵入検出および防止、地理的アクセス・フィルタ、トラフィック量監視および制御、直接攻撃検出、暗号化された通信、および予備ネットワーク検証のうちの1つまたは複数を含むことができる。ネットワーク・セキュリティ・デバイスは、ユーザのデバイスが危険にさらされているかどうかを決定するためにネットワーク情報を分析し、比較し、処理し、検証する。ネットワーク・セキュリティ・デバイスは、ネットワーク・セッション中に受信された未加工情報の詳細な識別情報を使用し、識別された攻撃の重大度および影響に従ってそれらの攻撃に重みを割り当て、適切に応答する。デバイスは、接続ポート、オペレーティング・システムなどにかかわらず、デバイスが複数のデバイスにセキュリティ機能を与えることを可能にする、技術アグノスティックであるように構成され得る。
【0008】
図1は、ネットワーク接続をセキュアにするための例示的なシステム100を示す。システム100は、ネットワーク・セキュリティ・デバイス120を介してネットワーク130に接続するためのクライアント計算デバイス110を含む。クライアント計算デバイス110は、タブレット、スマート・フォン、ラップトップ・コンピュータ、または他の好適なデバイスなど、モバイル計算デバイスであり得る。いくつかの例では、クライアント計算デバイス110は、デスクトップ・コンピュータ、キオスクなどの計算デバイスであり得る。一般に、クライアント計算デバイス110は、ネットワーク130など、ネットワーク上で通信することが可能な計算デバイスである。クライアント計算デバイス110は通信リンク115を介してネットワーク・セキュリティ・デバイス120に接続される。通信リンク115は、有線または無線、または有線と無線の組合せであり得る。例えば、通信リンク115は、クライアント計算デバイス110上に設けられたユニバーサル・シリアル・バス(USB)、イーサネット、または他の好適なポートを介したネットワーク・セキュリティ・デバイス120からクライアント計算デバイス110への有線接続を含むことができる。特に、ネットワーク・セキュリティ・デバイス120は、通信リンク115を介してクライアント計算デバイス110のためのネットワーク・インターフェースとして働くように構成される。
【0009】
ネットワーク130は、1つまたは複数のルータ、スイッチ、無線アクセス・ポイントなどによって定義されたローカル・エリア・ネットワーク(LAN)のうちのいずれか1つまたは任意の組合せを含むことができる。ネットワーク130はまた、セルラー・ネットワークとインターネットとを含む任意の好適なワイド・エリア・ネットワーク(WAN)を含み得る。ネットワーク・セキュリティ・デバイス120は通信リンク125を介してネットワーク130に接続される。通信リンク125は、イントラネット、ローカル・エリア・ネットワーク、ワイド・エリア・ネットワーク、Wi-Fiネットワーク、短距離無線ネットワーク、インターネット、そのようなネットワークの組合せなど、IPネットワークを含み得る。通信リンク125は、直接リンク、またはローカル・エリア・ネットワークとワイド・エリア・ネットワークの両方を含む1つまたは複数のネットワークを横断するリンクであり得る。
【0010】
ネットワーク・セキュリティ・デバイス120(本明細書で単にデバイス120とも呼ぶ)は、クライアント計算デバイス110とネットワーク130との間の通信を仲介するように構成される。特に、デバイス120は、セキュアな通信を与えるために脅威および攻撃を監視する。次に図2を参照すると、ネットワーク・セキュリティ・デバイス120のいくつかの内部構成要素の概略が示されている。
【0011】
ネットワーク・セキュリティ・デバイス120は、プロセッサ200と、メモリ204など、非一時的コンピュータ可読記憶媒体と、通信インターフェース208とを含む。プロセッサ200は、中央処理ユニット(CPU)、マイクロコントローラ、マイクロプロセッサ、処理コア、フィールドプログラマブル・ゲート・アレイ(FPGA)などを含み得る。プロセッサ200は、複数の協働するプロセッサを含み得る。プロセッサ200は、本明細書で説明した機能を実現するための命令を実行するためにメモリ204と協働し得る。特に、プロセッサ200は、クライアント計算デバイス110とネットワーク130との間のセッションのセキュリティ状態についての決定を自律的に行うために、ネットワークおよびパケット情報、ならびにネットワーク・トラフィックを分析するように構成される。プロセッサ200は、修正アクションを行うように構成され得る。プロセッサ200は、ネットワーク情報と、パケット情報と、ネットワーク・トラフィックと、セッション履歴と、オペレータ構成とに基づいてセキュリティ状態および適切な修正アクションを決定するために1つまたは複数の人工知能および/または機械学習技法を実装し得る。
【0012】
メモリ204は、揮発性メモリ(例えば、ランダム・アクセス・メモリすなわちRAM)と不揮発性メモリ(例えば、読取り専用メモリすなわちROM、電気的消去可能プログラマブル読取り専用メモリすなわちEEPROM、フラッシュ・メモリ)の組合せを含み得る。メモリ204のうちのすべてまたはいくつかはプロセッサ200と一体化され得る。特に、メモリ204は、プロセッサ200によって実行可能な複数のコンピュータ可読命令をそれぞれ含む複数のアプリケーションを記憶する。プロセッサ200による命令の実行は、本明細書で説明する様々なアクションを実行するようにネットワーク・セキュリティ・デバイス120を構成する。メモリ204に記憶されるアプリケーションは、クライアント計算デバイス110とネットワーク130との間の通信を仲介するためのネットワーク・セキュリティ・アプリケーション212、ならびにネットワーク・セキュリティ・デバイス120のセキュリティ機能を管理するためのダッシュボード・アプリケーション216を含む。メモリ204は、検証ルールを記憶するリポジトリ220をさらに含む。特に、検証ルールは、パケット・ヘッダ検証ルール、予備検証ルール、ネットワーク使用検証ルールなどを含むことができる。例えば、パケット・ヘッダ検証ルールは、セキュアな接続を確立するためにクライアント計算デバイス110とネットワーク130との間で通信されるパケット・ヘッダの構造およびコンテンツに関するパラメータおよび基準を定義する。
【0013】
ネットワーク・セキュリティ・デバイス120は、プロセッサ200と相互接続された通信インターフェース208をさらに含む。通信インターフェース208は、ネットワーク・セキュリティ・デバイス120が、通信リンク115を介したクライアント計算デバイス110、および通信リンク125を介したネットワーク130など、他の計算デバイスと通信することを可能にする好適なハードウェア(例えば、送信機、受信機、ネットワーク・インターフェース・コントローラなど)を含む。通信インターフェース208の特定の構成要素は、ネットワーク・セキュリティ・デバイス120がその上で通信するネットワークまたは他のリンクのタイプに基づいて選択される。例えば、通信インターフェース208は、クライアント計算デバイス110と通信するための有線USB接続と好適な送信機および受信機の両方、ならびにネットワーク130と通信するためのネットワーク・インターフェース・コントローラを含み得る。
【0014】
動作において、いくつかの実装形態では、通信インターフェース208は、暗号化された通信プロトコルを利用するように構成され得る。例えば、メモリ204は、通信インターフェース208が暗号化された通信を送信することを可能にするための暗号化方式をあらかじめ記憶し得る。いくつかの実装形態では、デバイス120は、例えば、信頼されたドメイン・ネーム・システム(DNS)サーバ(例えば、デバイス120の外部のDNSサーバ)のアドレスを記憶するDNSサーバを、メモリ204にさらにホストすることができる。したがって、通信中に、DNS要求に応答して、プロセッサ200は、メモリ204から信頼されたDNSサーバのあらかじめ記憶されたアドレスを取り出すように構成され得る。プロセッサ200は、次いで、暗号化された通信プロトコルを介して信頼されたDNSサーバにDNS要求を転送するように通信インターフェースを制御し得る。したがって、DNS要求は、クライアント計算デバイス110および信頼されたDNSサーバのロケーションにかかわらず暗号化され得る。したがって、第三者がDNSトラフィックを観測することを防止し、フィッシングおよび/またはDNSポイズニング脅威を妨害し得る。さらに、DNS情報は、信頼されたソースから受信されたものとして検証され得る。他の実装形態では、通信インターフェース208は、1つまたは複数の仮想プライベート・ネットワーク(VPN)サーバへのVPNを確立するようにさらに構成され得る。いくつかの実装形態では、通信インターフェース208は、異なる通信リンクを介して通信するための複数の通信インターフェースを含むことができる。
【0015】
次に図3を参照すると、クライアント計算デバイス110とネットワーク130との間の仲介された通信を初期化するための例示的な方法300が示されている。システム100における方法300の実行とともに、特に、図1および図2に示された構成要素を参照しながら、方法300について説明する。他の実装形態では、方法300は他の好適なシステムによって実行され得ることが企図される。特に、方法300は、クライアント計算デバイス110とネットワーク130との間の接続のスパン中の一連の通信(すなわち、ネットワークとクライアント計算デバイスとの間の送信)によって定義されるセッションを開始する。セッションは、ネットワーク・セキュリティ・デバイス120によって仲介されるクライアント計算デバイス110とネットワーク130との接続によって定義され得る。
【0016】
方法300はブロック305で開始され、デバイス120は、ネットワーク130に接続するためのクライアント計算デバイス110からの要求を受信する。例えば、インターネットに接続するための要求は、ダッシュボード・アプリケーション216との対話によってなど、クライアント計算デバイス110のオペレータによって開始され得る。例えば、ダッシュボード・アプリケーション216は、オペレータがネットワーク接続を構成することを可能にするためのユーザ・インターフェースを与え得る。例えば、ダッシュボード・アプリケーション216は、対話型ウェブ・ポータルとしてクライアント計算デバイス110上のウェブ・ブラウザに現れ得る。ダッシュボード・アプリケーション216に対する認証はログイン証明などを介して実行され得る。いくつかの例では、2次認証(例えば、ワン・タイム・パスワード、一体化された近距離通信(NFC)チップ・リーダーによる信号の周期的検出など)も実装され得る。
【0017】
いくつかの例では、デバイス120は、ネットワーク130に接続する人々を識別および/または認証するためのパスワードおよび/または他の手段を必要とするゲートウェイにアクセスすることによってネットワーク130に接続し得る。いくつかの実装形態では、ネットワーク・セキュリティ・デバイス120は、ダッシュボード・アプリケーション216を介して、オペレータがゲートウェイに対するログイン資格証明を確立するか、または他の認証を与えるための手段を与え得る。いくつかの実装形態では、デバイス120は、オペレータ入力を必要とすることなしにゲートウェイとの将来の接続が確立されることを可能にするために、メモリ204に(例えば、ゲートウェイ識別子などによって)ゲートウェイに関連するログイン資格証明を記憶し得る。したがって、ダッシュボード・アプリケーション216は、いずれか1つまたは複数のネットワークのためのそのような資格証明の記憶および管理をサポートし得る。
【0018】
ネットワーク130に接続するための要求に応答して、デバイス120はブロック310に進む。ブロック310において、デバイス120、特にプロセッサ200はネットワーク情報を取得する。ネットワーク情報は、ネットワークに対するルーティング情報、ネットワークにおいて利用される通信プロトコル、ネットワーク・トラフィック情報などを含むことができる。例えば、デバイス120は、ネットワーク130にテスト・パケットを送信し、テスト・パケットに対する応答に基づいてルーティング情報、通信プロトコル、およびネットワーク・トラフィック情報を抽出し得る。
【0019】
ブロック315において、デバイスは、メモリ204に記憶された予備検証ルールに基づいてネットワーク情報の予備検証を実行する。例えば、予備検証ルールはパケット・ヘッダ検証ルールのサブセットであり得るか、または予備検証ルールは別個のルール・セットであり得る。予備検証ルールは、ブロック310において取得されたルーティング情報、通信プロトコル、ネットワーク・トラフィック情報、および他のネットワーク情報のための許容できる規格および許容できない規格を定義し得る。
【0020】
いくつかの実装形態では、デバイス120は、割り当てられたセキュリティ・レベルに基づいて複数の予備検証ルールを記憶し得る。したがって、予備検証を実行する前に、ブロック315において、デバイス120は、割り当てられたセキュリティ・レベルを決定し得る。例えば、デバイス120はデフォルト・セキュリティ・レベルを有し得るか、またはカスタム・セキュリティ・レベルがダッシュボード・アプリケーション216を介してクライアント計算デバイス110のオペレータによって確立され得る。いくつかの例では、クライアント計算デバイス110のオペレータのログイン資格証明に基づいて、クライアント計算デバイス110の識別子に基づいて(すなわち、異なるデバイスに異なるセキュリティ・レベルが割り当てられ得る)、各セッションに基づいてなど、異なるセキュリティ・レベルが割り当てられ得る。ダッシュボード・アプリケーション216は、したがって、オペレータが上記の識別子のいずれかに関連してセキュリティ・レベルを設定または変更するためのクライアント計算デバイス110におけるユーザ・インターフェースを与え得る。
【0021】
予備検証を実行するために、デバイス120は、ネットワークにおいて利用される通信プロトコルを識別し、それらのプロトコルを予備検証ルールにおいて定義された許容できるベースライン通信プロトコルと比較し得る。したがって、予備検証を実行するために、デバイス120は、ネットワークにおいて利用される通信プロトコルを識別し得る。例えば、デバイス120は、どのタイプの通信プロトコルが使用されるかを決定するために、ネットワークからのデータ送信の構造をあらかじめ記憶された通信プロトコル構造と比較し得る。検証を実行するために、デバイス120は、識別された通信プロトコルを予備検証ルールにおいて定義されたベースライン通信プロトコルと比較し得る。例えば、予備検証ルールは1つまたは複数の許容できる通信プロトコルまたはベースライン規格を定義し得る。予備検証ルールは1つまたは複数の許容できない通信プロトコルをさらに定義し得る。デバイス120が、識別された通信プロトコルが許容できるベースライン規格を満たすか、または許容できるベースライン規格に一致することを決定したとき、デバイス120は、予備検証が成功したことを決定し得る。識別された通信プロトコルが許容できないことが決定された(例えば、通信プロトコル自体がクライアント計算デバイス110とネットワーク130との間の通信に対する脅威または攻撃を示す)場合、デバイス120は、予備検証が不成功であったことを決定し得る。例えば、より低いセキュリティ・レベルでは、依然として予備検証の成功を可能にしながら、セッションの持続時間にわたって監視するために、いくつかの通信プロトコルにフラグが付けられ得る。より高いセキュリティ・レベルでは、同じ通信プロトコルは、予備検証が不成功であったことを決定し、即時のアクション(例えば、ネットワーク130への接続を防ぐこと)を行うようにデバイス120に促し得る。
【0022】
別の例では、予備検証を実行するために、デバイス120は、ネットワーク・ルーティング経路を取得し、予備検証ルールに従って、ルーティング経路のポイントのロケーションに基づいてネットワーク・ルーティング経路を検証し得る。特に、ルーティング経路上のポイントは地理的ロケーションに関連し得る。いくつかの地理的ロケーションは、クライアント計算デバイス110とネットワーク130との間の通信に対する潜在的な脅威または攻撃を示し得る。したがって、予備検証ルールは、地理的ロケーションに制限レベルを関連付ける制限付きロケーション・リストを定義し得る。以下の表1は、メモリ204に記憶される例示的な制限付きロケーション・リストを示す。
【表1】
【0023】
上記に示したように、制限付きロケーション・リストは、地理的ロケーションと、地理的ロケーションの制限レベルとを含む。例えば、いくつかのロケーションは、例えば、さらなる検証ルールなどに基づいて制限付きアクセスを有し得る。他のロケーションはアクセスを有せず、それによって、所与のロケーションによってルーティングされたネットワーク130とクライアント計算デバイス110との間の通信が終了されるべきであることを示し得る。いくつかの実装形態では、制限付きロケーション・リストは、各地理的ロケーションまたは各制限レベルに対応して行われるべき1つまたは複数のアクションをさらに定義することができる。いくつかの実装形態では、IPアドレス(例えば個々のアドレスおよび/または範囲)またはドメイン・ネームに基づいて制限レベルが割り当てられ得る。いくつかの実装形態では、制限付きロケーション・リストは、制限レベル(すなわち制限付きアクセス、アクセス禁止など)を有する地理的ロケーションのみを含み得、リスト上にないロケーションは制限レベルを有しないこと(すなわち制限なし)が決定され得る。
【0024】
したがって、予備検証を実行するために、デバイス120は、現在のルーティング経路の1つまたは複数のロケーションが制限付きロケーション・リスト上のロケーションに一致するかどうかを決定し得る。現在のルーティング経路のロケーションのいずれも制限付きロケーション・リスト上の制限付きロケーションに一致しないとき、検証が成功したことが決定される。すなわち、ロケーションのいずれも制限レベルを有しない(例えば、「制限なし」の指示を有するか、または制限付きロケーション・リスト上にない。)。より低いセキュリティ・レベルでは、「制限付きアクセス」の制限レベルは、デバイスが、セッションの持続時間にわたって監視するためのフラグを地理的ロケーションに付けながら、予備検証が成功したことを決定することを可能にし得る。より高いセキュリティ・レベルでは、「制限付きアクセス」の制限レベルは、予備検証が不成功であったことを決定するようにデバイスに促し得る。
【0025】
ブロック320において、デバイス120は、予備検証の結果に基づいて、割り当てられたセキュリティ・レベルに従って検証が成功したかどうかを決定する。検証が成功した場合、デバイス120はブロック325に進む。
【0026】
ブロック325において、デバイス120はネットワーク130に接続し得る。特に、プロセッサ200は、ネットワーク130に接続するように通信インターフェース208を制御し得る。デバイス120は、メモリ204にネットワーク情報をさらに記憶し得る。特に、セッションのブロック310において取得されたネットワーク情報は、接続の初期化の時点の構成のスナップショットを与え得る。したがって、初期構成からのある変化は、以下でさらに説明するように、脅威または攻撃であることが決定され得る。
【0027】
ブロック320において、デバイス120が、検証が不成功であったことを決定した場合、デバイス120はブロック330に進む。ブロック330において、デバイス120は、ネットワーク130に接続するための要求を拒否する。
【0028】
次に図4を参照すると、通信を仲介するための例示的な方法400が示されている。特に、方法400はデータ・パケットの完全性を検証するためのものである。システム100における方法400の実行とともに、特に、図1および図2に示された構成要素を参照しながら、方法400について説明する。他の実装形態では、方法400は他の好適なシステムによって実行され得ることが企図される。
【0029】
ブロック405において、ネットワーク・セキュリティ・デバイス120は、セッション中のネットワーク130とクライアント計算デバイス110との間の送信のためのパケットを受信する。例えば、パケットは、ネットワーク130に送信するためのクライアント計算デバイス110からの発信パケットであり得るか、またはパケットは、クライアント計算デバイス110に送信するためのネットワーク130からの着信パケットであり得る。
【0030】
ブロック410において、ネットワーク・セキュリティ・デバイス120、特にプロセッサ200はパケットのヘッダを抽出する。特に、パケットはヘッダと本体とを含む。パケット・ヘッダは、パケット識別および配信のためのアドレス指定情報および他の制御情報を含むことができる。例えば、パケット・ヘッダは、パケットがパケットのソースからパケットの宛先に移動した際の経路を識別するためのルーティング情報を含むことができる。パケット・ヘッダは、(例えば、要求に対する応答などとして)セッションにおけるパケットのコンテキストの識別を可能にするための順序付け情報をさらに含むことができる。一般に、パケット・ヘッダは、パケット・ヘッダ中に含まれる様々な情報の標準の長さ、サイズ、順序、およびフォーマッティングを含む標準インターネット通信プロトコルに従ってフォーマットされ得る。パケットは、宛先に配信されるべき情報を含んでいる本体またはペイロードをさらに含む。したがって、ブロック410において、デバイス120は、さらなる処理および検証のためのアドレス指定情報および制御情報を含んでいるヘッダを抽出する。
【0031】
ブロック415において、ネットワーク・セキュリティ・デバイス120、特にプロセッサ200は、ブロック410において抽出されたヘッダの構造およびコンテンツの検証を実行する。特に、検証は、メモリ204に記憶されたパケット・ヘッダ検証ルールに基づいて実行され得る。パケット・ヘッダ検証ルールは、ブロック410において抽出されたパケット・ヘッダの許容できる構造および/またはコンテンツについての1つまたは複数のルールを指定し得る。例えば、ルールは、ヘッダにおいて定義されるルーティング経路、ヘッダにおいて定義される順序付け情報、ヘッダにおいて使用される通信プロトコルの構造などに基づき得る。
【0032】
予備検証ルールと同様に、デバイス120は、割り当てられたセキュリティ・レベルに関連するパケット・ヘッダ検証ルールを記憶し得る。したがって、検証を実行する前に、デバイス120は、割り当てられたセキュリティ・レベルを決定し得る。いくつかの実装形態では、異なるセキュリティ・レベルが予備検証に割り当てられ得、セッションの持続時間にわたってパケット・ヘッダ検証が実行され得る。
【0033】
一例では、ネットワーク・セキュリティ・デバイス120は、パケットの現在のルーティング経路に基づいて検証を実行するように構成され得る。特に、現在のルーティング経路は、パケットがパケットのソースからパケットの宛先に(例えば、ソース計算デバイスからネットワーク130を介してクライアント計算デバイス110に)移動した際の経路を定義し得る。現在のルーティング経路は、パケットが通信された際の1つまたは複数のポイント(例えば、ルータ、アクセス・ポイントなどを表す)を含むことができる。ポイントは、インターネット・プロトコル(IP)アドレス、ロケーション、および他の識別情報に関連付けられ得る。
【0034】
いくつかの例では、現在のルーティング経路の検証は、セッションにわたるルーティング経路の一貫性に関して行われ得る。特に、検証を実行するために、ネットワーク・セキュリティ・デバイス120は、最初に、メモリ204から、記憶されたルーティング経路を取得するように構成され得る。例えば、記憶されたルーティング経路は、リポジトリ220に、またはセッション固有のデータを記憶するためのキャッシュに記憶され得る。特に、記憶されたルーティング経路は、デバイス120によってネットワーク130からクライアント計算デバイス110に通信された前のパケットに関連付けられ得る。例えば、前のパケットは、(例えば、方法300中のクライアント計算デバイス110とネットワーク130との間の接続の初期化に関する)セッションのための初期ルーティング経路を決定するためのテスト・パケットであり得るか、または前のパケットは、セッションの持続時間にわたって送信される別のデータ・パケットであり得る。
【0035】
デバイス120は、着信パケットの現在のルーティング経路を記憶されたルーティング経路と比較するように構成され得る。特に、データ・パケットのルーティング経路は、一般に、セッションの持続時間にわたって静的であることが予想される。すなわち、クライアント計算デバイス110とネットワーク130との間で送信されるデータ・パケットは、一般に、同じルーティング経路をたどる。したがって、現在のルーティング経路と記憶されたルーティング経路とがしきい値類似度(例えば、しきい値数の共有ポイントまたは類似ポイント、しきい値パーセンテージの共有ポイントまたは類似ポイントなど)を有する場合、デバイス120は、検証が成功したことを決定し得る。しきい値類似度は、メモリ204に記憶されるパケット・ヘッダ検証ルールにおいて定義され得る。現在のルーティング経路と記憶されたルーティング経路とがしきい値類似度を有しない場合、デバイス120は、検証が不成功であったことを決定し、それによって、クライアント計算デバイス110とネットワーク130との間の通信に対する潜在的攻撃または攻撃を示し得る。いくつかの実装形態では、パケット・ヘッダ検証ルールは、異なるセキュリティ・レベルについて異なるしきい値類似度を定義し得る。
【0036】
いくつかの実装形態では、現在のルーティング経路は、例えば、ルーティング経路における変化を追跡するために、2つ以上の記憶されたルーティング経路と比較され得る。さらなる実装形態では、着信ヘッダの検証の成功に応答して(すなわち、現在のルーティング経路と記憶されたルーティング経路との比較の成功に基づいて)、デバイス120は、将来の着信パケットのルーティング経路との比較のためにメモリに現在のルーティング経路を記憶し得る。
【0037】
例えば、デバイス120からのルーティング経路における最初の3つのホストはローカル・ネットワークに属することが仮定され得、したがって、最初の3つのホストの識別情報への変更はセキュリティに対する攻撃または脅威として受け取られ得る。一貫性としきい値類似度とに基づくルーティング経路の検証は、したがって、ネットワーク・セキュリティ・デバイス120が侵入を自律的に検出し、防止することを可能にする。さらに、プロセッサ200は、ルーティング経路における差分の重大度および影響を評価するためにそれらの差分を分析するように構成され得る。
【0038】
他の例では、現在のルーティング経路の検証はルーティング経路上のポイントのロケーションに基づき得る。したがって、パケット・ヘッダ検証ルールは、地理的ロケーションに制限レベルを関連付ける制限付きロケーション・リストを定義し得る。いくつかの実装形態では、制限付きロケーション・リストは、予備検証のために使用されるリストと同じであり得るが、他の例では、予備検証ルールおよびパケット・ヘッダ検証ルールは、異なるそれぞれの制限付きロケーション・リストを定義し得る。
【0039】
したがって、検証を実行するために、デバイス120は、現在のルーティング経路の1つまたは複数のロケーションが制限付きロケーション・リスト上のロケーションに一致するかどうかを決定し得る。現在のルーティング経路のロケーションのいずれも制限付きロケーション・リスト上の制限付きロケーションに一致しないとき、検証が成功したことが決定される。すなわち、ロケーションのいずれも制限レベルを有しない(例えば、「制限なし」の指示を有するか、または制限付きロケーション・リスト上にない)とき、検証が成功したことが決定される。いくつかの実装形態では、制限付きロケーション・リストは、セキュリティ・レベルまたはセッションに基づいて変動し得る。例えば、ダッシュボード・アプリケーション216は、オペレータが地理的ロケーションをリストに追加する、もしくはリストから削除するか、またはリスト上の地理的ロケーションの制限レベルを変更するためのクライアント計算デバイス110におけるユーザ・インターフェースを与え得る。さらに、ユーザ・インターフェースは、オペレータが、ルーティング経路上のポイントのロケーションが所与の地理的ロケーションに一致することが決定された時に基づいて行われるべき1つまたは複数のアクションを定義することを可能にし得る。ジオコーディング(geocoding)またはロケーション情報に基づくそのような地理的フィルタは、したがって、デバイスが、潜在的な脅威または攻撃を自律的に評価し、それらの潜在的な脅威または攻撃をオペレータに警告することを可能にする。
【0040】
いくつかの例では、デバイス120は、パケットの順序付け情報に基づいて検証を実行するように構成され得る。特に、順序付け情報は、セッションにおけるパケットのコンテキストの識別を可能にし得る。例えば、パケットは、クライアント計算デバイス110からの要求(例えばダウンロードなど)に対する応答の一部として、クライアント計算デバイス110への送信用であり得る。したがって、順序付け情報は、そのようなものとしてパケットを識別する応答シーケンスを含むことができる。
【0041】
検証を実行するために、デバイス120は、最初に、例えば、メモリ204に記憶されたキャッシュからセッション情報を取得し得る。セッション情報は、例えば、セッション開始時間、セッション識別子、初期化情報(例えば初期ルーティング経路など)、クライアント計算デバイス110によって送信された要求およびネットワーク130から受信された応答を示し得る。デバイス120は、受信されたパケットのヘッダから応答シーケンスをさらに取得し得る。デバイス120は、次いで、応答シーケンスがセッション情報に対応するかどうかを決定し得る。例えば、デバイス120は、応答シーケンスが、クライアント計算デバイス110によって送信された要求に正確に応答するかどうかを決定し得る。他の例では、デバイス120は、ネットワーク130から応答がすでに受信されているかどうかを決定し得る。デバイス120が、応答シーケンスがセッション情報に対応することを決定したとき、デバイス120は、検証が成功したことをさらに決定し得る。デバイス120が、応答シーケンスがセッション情報に対応していない(例えば、応答がすでに受信されている、応答シーケンスが要求に対応していないなど)ことを決定したとき、デバイス120は、検証が不成功であったことをさらに決定する。デバイス120は、したがって、クライアント計算デバイス110とネットワーク130との間のセッションのコンテキストにおけるパケットの妥当性を自律的に決定し得る。
【0042】
またさらなる例では、デバイス120は、パケットの通信プロトコルに基づいて検証を実行するように構成され得る。特に、パケット・ヘッダは、パケット・ヘッダに含まれる情報の一般的に容認される長さ、サイズ、順序、および他のフォーマッティングを含む標準インターネット通信プロトコルに従ってフォーマットされ得る。したがって、検証を実行するために、デバイス120は、パケット・ヘッダの構造において利用される通信プロトコルを識別し得る。例えば、デバイス120は、どのタイプの通信プロトコルが使用されるかを決定するために、パケット・ヘッダの構造をあらかじめ記憶された通信プロトコル構造と比較し得る。検証を実行するために、デバイス120は、識別された通信プロトコルをパケット・ヘッダ検証ルールにおいて定義されたベースライン通信プロトコルと比較し得る。例えば、ベースライン通信プロトコルは、1つまたは複数の許容できる通信プロトコルを識別し得る。いくつかの実装形態では、パケット・ヘッダ検証ルールは、許容できない通信プロトコルをさらに識別し得る。識別された通信プロトコルがベースライン通信プロトコルに一致するとき、検証が成功したことが決定され得る。識別された通信プロトコルがベースライン通信プロトコルに一致しないとき、検証が不成功であったことが決定され得る。他の実装形態では、識別された通信プロトコルが許容できないことが決定された(例えば、利用される通信プロトコル自体がクライアント計算デバイス110とネットワーク130との間の通信に対する脅威または攻撃を示す)とき、やはり検証が不成功であったことが決定され得る。
【0043】
いくつかの実装形態では、検証は、(例えば、ルーティング経路一貫性、ロケーション、順序付け、および構造に基づく)2つ以上のタイプの検証の組合せであり得る。例えば、デバイス120は、検証が成功したことを決定するために、すべてのタイプの検証が成功することを必要とし得る。他の例では、デバイス120は、(例えば、1つの検証を実行し、次いで後続の検証を実行するなど)検証のタイプに優先度または順序を付け得る。必要とされる検証または検証のタイプ、ならびに検証の順序付けは、例えば、割り当てられたセキュリティ・レベルに基づいて定義され得る。さらに、成功した検証と不成功であった検証の組合せがセキュリティ脅威の重大度を決定し得る。複数の検証の管理は、以下でさらに説明するように、エラー処理プロシージャによって、またはエラー処理プロシージャとともに処理され得る。
【0044】
例えば、パケット・ヘッダ検証は、請求によらない着信トラフィックをブロックするデバイス120のファイアウォールの使用を介してなど、直接攻撃の識別とさらに組み合わせられ得る。さらに、デバイス120は、クライアント計算デバイス110を走査するプロセス(例えばポート走査)、ならびに既知のエクスプロイトおよびフィンガープリンティングの試みを検出し得る。例えば、ネットワーク130からデバイス120において受信された請求によらないかまたはその他の理由で未知の要求は、ランダム応答を受け得る。
【0045】
ブロック420において、ネットワーク・セキュリティ・デバイス120は、ブロック415において実行された検証が成功したかどうかを決定する。検証が成功したことが決定された場合、ネットワーク・セキュリティ・デバイスはブロック425に進む。
【0046】
ブロック425において、ネットワーク・セキュリティ・デバイス120、特にプロセッサ200は、パケットをパケットの宛先(すなわちネットワーク130またはクライアント計算デバイス110)に送信するように通信インターフェース208を制御する。
【0047】
検証が不成功であったことが決定された場合、ネットワーク・セキュリティ・デバイス120はエラー処理プロシージャのためのブロック430に進む。エラー処理プロシージャは、割り当てられたセキュリティ・レベル、実行された検証の1つまたは複数のタイプ、検出された特定のエラー条件、または上記の組合せに基づいて変動し得る。例えば、ルーティング経路におけるいくつかの地理的ロケーション、またはいくつかの通信プロトコルの検出は、マルウェアなど、脅威の存在を肯定的に示し得、したがって、ネットワーク・セキュリティ・デバイス120は、ネットワーク130とクライアント計算デバイスとの間の通信を終了し得る。特に、プロセッサ200は、ネットワーク130から切断するように通信インターフェース208を制御し得る。
【0048】
他の例では、検証の不成功は、ネットワーク130の条件における無害の変化または別の悪意のないイベントを示し得る。例えば、クライアント計算デバイス110のオペレータは、高帯域幅アプリケーション(例えば、ビデオ・ストリーミング、大きいファイルのダウンロードなど)を使用することを開始し得、したがって、ネットワーク使用量が増加し得る。したがって、検証の不成功に応答して、ネットワーク・セキュリティ・デバイス120は、例えば、異なるタイプの検証に基づいて、第2の検証を実行するように構成され得る。他の例では、デバイス120は、別の検証の不成功に応答して、さらなるアクションが行われ得る(例えば、接続が終了され得る)ように、より高いセキュリティ・レベルを割り当て得る。
【0049】
いくつかの実装形態では、ネットワーク・セキュリティ・デバイス120は、エラー条件が検出され、エラー条件に応答してデバイス120によってアクションが行われた(例えば、接続が終了された、セキュリティ・レベルが引き上げられたなど)ことのクライアント計算デバイス110における指示をさらに与え得る。デバイス120は、エラー条件が検出されたことの電子メール、テキスト・メッセージ、または他の好適な通知など、別のタイプの通知を与えるようにさらに構成され得る。
【0050】
次に図5を参照すると、通信を仲介するための例示的な方法500が示されている。特に、方法500は、ネットワーク使用検証を実行するためのものである。システム100における方法500の実行とともに、特に、図1および図2に示された構成要素を参照しながら、方法500について説明する。他の実装形態では、方法500は他の好適なシステムによって実行され得ることが企図される。
【0051】
方法500は、例えば、セッション中のネットワーク130とクライアント計算デバイス110との間の送信のためのパケットの受信に応答して、ブロック505において開始される。他の例では、方法500は、所定の時刻に、または所定の間隔で開始され得る。例えば、デバイス120は、時刻を追跡するおよび/または所定の間隔の経過を追跡するための独立したリアルタイム・クロックを含み得る。ブロック505において、ネットワーク・セキュリティ・デバイス120は、メモリ204から、記憶されたネットワーク・トラフィック量データを取得する。記憶されたネットワーク・トラフィック量データは、個々のポートによるトラフィック、指定されたホストへのまたは指定されたホストからのトラフィック、指定されたネットワークへのまたは指定されたネットワークからのトラフィック、および指定された地理的領域へのまたは指定された地理的領域からのトラフィックのうちの1つまたは複数を含み得る。特に、記憶されたネットワーク・トラフィック量データは、方法500の前の反復の平均または合計トラフィック量を示し得る。記憶されたネットワーク・トラフィック量データは、指定された時間間隔にわたる移動平均および/または別個の間隔にわたる平均であり得る。いくつかの実装形態では、記憶されたネットワーク・トラフィック量データは、いくつかの時間間隔にわたって取得された複数の測定値を含むことができる。
【0052】
ブロック510において、デバイス120は現在のネットワーク・トラフィック量を検出する。特に、デバイス120は、個々のポートによるトラフィック、指定されたホストへのまたは指定されたホストからのトラフィック、指定されたネットワークへのまたは指定されたネットワークからのトラフィック、および指定された地理的領域へのまたは指定された地理的領域からのトラフィックのうちの1つまたは複数の対応する現在の測定値を検出し得る。
【0053】
ブロック515において、デバイス120は、記憶されたネットワーク・トラフィック量データと現在のネットワーク・トラフィック量とがしきい値類似度の範囲内であるかどうかを決定するために、記憶されたネットワーク・トラフィック量データを現在のネットワーク・トラフィック量と比較する。例えば、しきい値類似度は、パーセンテージ差、標準偏差差、または絶対値差のうちの1つまたは複数に基づき得る。特に、メモリ204は、適用すべきしきい値類似度を定義するネットワーク・トラフィック・ルールを記憶し得る。例えば、しきい値類似度は、異なる時間間隔、異なるタイプの量、異なるセキュリティ・レベルなどに基づいて変動し得る。
【0054】
一例では、ネットワーク・トラフィック・ルールは、前に記録された平均に対する150%の量の増加が有意である(すなわち、150%の量の増加はしきい値類似度要件を満たさないことがある)ことを定義し得る。他の例では、しきい値類似度は、125%、175%、200%または他の値として定義され得る。さらなる例では、量の増加が前の平均を1標準偏差または2標準偏差だけ超過する場合、その量の増加は有意である(すなわち、しきい値類似度要件を満たさない)と考えられ得る。さらなる例では、(例えば、すべてのポートにわたって測定される)総トラフィック量の50%の増加が有意であると考えられ得、一方、個々のポートからのトラフィックの増加のためのしきい値は25%であり得る。複数のしきい値および平均が同じタイプのトラフィックに適用し得る。例えば、(例えば、すべてのポートにわたって測定される)総ネットワーク・トラフィック量が500ミリ秒と2秒の両方にわたって測定され得、しきい値類似度がいずれかのまたは両方の間隔にわたって定義され得る。いくつかの実装形態では、より低いしきい値類似度(すなわち、記憶されたネットワーク・トラフィック量データと現在のネットワーク・トラフィック量データとがより類似することを必要とする)が、より低いセキュリティ・レベルにおいて適用されるしきい値類似度に対してより高いセキュリティ・レベルにおいて適用され得る。
【0055】
ブロック520において、デバイス120は、記憶されたネットワーク・トラフィック量データと現在のネットワーク・トラフィック量とが指定されたしきい値の範囲内であるかどうかを決定する。決定が肯定的であるとき、デバイス120はブロック525に進む。
【0056】
ブロック525において、デバイス120は、ネットワーク使用検証が肯定的であることを決定する。いくつかの実装形態では、デバイス120は、メモリ204に現在のネットワーク・トラフィック量を記憶することができる。
【0057】
ブロック520において、決定が否定的である場合、デバイス120はブロック530に進む。ブロック530において、デバイス120は、ネットワーク使用検証が否定的であることを決定し、エラー処理プロシージャに進み得る。
【0058】
図6は、それぞれのクライアント計算デバイス610-1、610-2、および610-3に、およびそれぞれのネットワーク630-1、630-2、および630-3に接続された複数のネットワーク・セキュリティ・デバイス620-1、620-2、および620-3(一般的にデバイス620と呼ばれ、総称してデバイス620と呼ばれる。この名称は本明細書の他の場所で使用される)を含む、例示的なシステム600を示す。システム600において、ネットワーク・セキュリティ・デバイス620は、暗号化された通信リンク655-1、655-2、および655-3を介して集中コマンド・センター650にさらに接続される。集中コマンド・センター650は、サーバ上でホストされ得、ネットワーク・セキュリティ・デバイス620のフリートを管理するように構成され得る。
【0059】
動作において、ネットワーク情報、パケット・ヘッダ情報、ネットワーク・トラフィックなどの検証の不成功の識別などによって、デバイス620によって脅威が検出されると、検証の結果が、さらなる分析または処理のために、暗号化された通信リンク655によって集中コマンド・センター650に通信され得る。いくつかの実装形態では、すべての検証が、成功にかかわらず、分析、さらなる処理、またはログ記録のために集中コマンド・センター650に送信され得る。集中コマンド・センター650のオペレータは、したがって、ネットワーク・セキュリティ・デバイス620のフリートの監督を行い得る。
【0060】
ネットワーク・セキュリティ・デバイス620は、脅威が検出されると、フリートの集中制御を可能にするための集中コマンド・センター650からのコマンドに応答するようにさらに構成され得る。例えば、ネットワーク・セキュリティ・デバイス620のプロセッサは、集中コマンド・センター650からの切断コマンドの受信に応答して、ネットワーク・セキュリティ・デバイス620のそれぞれのネットワーク630から切断するようにネットワーク・セキュリティ・デバイス620の通信インターフェースを制御するように構成され得る。他の例では、プロセッサは、集中コマンド・センター650からのリセット・コマンドの受信に応答して、デバイス620を出荷時設定にリセットするように構成され得る。すなわち、リセットは、デバイス620のメモリからすべての記憶された構成設定(例えば、オペレータ資格証明、ネットワーク資格証明、カスタム・セキュリティ・レベル設定など)を消去し得る。
【0061】
図7は、スタンドアロン・ポータブル・デバイスとしての例示的なネットワーク・セキュリティ・デバイス700を示す。ネットワーク・セキュリティ・デバイス700は、プロセッサおよびメモリ(図示せず)、ならびに無線ネットワーク通信のためのアンテナ(図示せず)を格納する本体710を含む。ネットワーク・セキュリティ・デバイス700は、ホスト・コンピュータのUSBレセプタクルと係合し、それによって、デバイス700からホスト・コンピュータへの接続を与えるように構成されたUSBコネクタ720をさらに含む。他の実装形態では、コネクタ720は、デバイス700とホスト・コンピュータとの間の有線接続を与えるようにホスト・コンピュータのレセプタクルと好適に係合するための異なる構成を有し得る。ネットワーク・セキュリティ・デバイス700は、したがって、ネットワーク・セキュリティ機能を与えながら、ポータブル(例えば、ポケット、ハンドバッグ、またはブリーフケースの中などで簡便に携行されるほど十分に小さい)であり得る。他の実装形態では、ネットワーク・セキュリティ・デバイスの機能は計算デバイスに一体化され得る。
【0062】
図8は、クライアント計算デバイス110のディスプレイ上に提示されるダッシュボード・アプリケーション216の例示的なユーザ・インターフェース800を示す。例えば、ダッシュボード・アプリケーション216は、ユーザ・インターフェース800を生成するためにクライアント計算デバイス110によって実行可能であり得る。ユーザ・インターフェース800は、ユーザが、ネットワーク・セキュリティ・デバイス120に対するネットワーク接続、セキュリティ設定をセット・アップし、認証を行う(例えば、資格証明を与える)ことを可能にするための対話型ポータルを含み得る。
【0063】
ユーザ・インターフェース800は、(例えば、ネットワークを介して)デバイスが接続される国を示す対話型マップをさらに含み得る。対話型マップは、例えば、異なる色、パターンなどの描写を介して、履歴データに対する現在のデータのさらなる情報を与え得る。対話型マップは、さらなる異なる色、パターンなどの描写を介して制限付きアクセス・リスト上で識別される国をさらに示し得る。
【0064】
ユーザ・インターフェース800は、ネットワークのヒートマップ、未加工の攻撃試みおよびそれらの攻撃試みのソースのリスト、それぞれの個々の攻撃試みの未加工の組合せ情報の分析による高レベル攻撃の識別、およびクライアント計算デバイス110をセキュアにするために行われたアクションの履歴およびその履歴に関連付けられる意思決定のうちの1つまたは複数を提示するようにさらに構成され得る。ユーザ・インターフェース800は、セッション中に確立された接続の数、セッションの持続時間にわたる総ネットワーク・トラフィック、平均使用速度、システム・リソース消費量、システム・ログなど、セッション情報を示す対話型ウェブ・ポータルをさらに与え得る。
【0065】
ユーザ・インターフェース800は、ユーザに通知とアラートとを与えるための、ならびにデバイス120によって検出されたイベントの重大度のレベルに従ってデバイス120によって行われるアクションを反映する、通知領域をさらに与えられ得る。例えば、アクションは、ユーザ・インターフェース800において通知を与えること、クライアント計算デバイス110においてデスクトップ通知を与えること、クライアント計算デバイス110において音声アラートを与えること、およびネットワーク130からデバイス120を自動的に切断することのうちの1つまたは複数を含み得る。いくつかの実装形態では、ユーザ・インターフェース800は、検出されたイベントに対応する通知およびアクションのタイプを(例えば、通知を却下することによって)管理するための構成オプションを与え得る。
【0066】
ネットワーク・セキュリティ・デバイスは、したがって、クライアント計算デバイスとネットワークとの間の通信を仲介し得る。ネットワーク・セキュリティ・デバイスは、ネットワーク情報を分析し、比較し、処理し、検証し、異なる結果を組み合わせ、接続が危険にさらされているかどうかを決定し得る。特に、ネットワーク・セキュリティ・デバイスは、ネットワーク・セッション中に受信された未加工情報の詳細な識別情報を使用し、その情報の分析によって、識別された脅威の重大度および影響に従ってそれらの脅威に重みを割り当てる。したがって、攻撃が行われたとき、ネットワーク・セキュリティ・デバイスは、各攻撃ベクトルを分離し、分析し、各攻撃ベクトルのための重みを設定し、それらの重みを互いに相互参照し得る。したがって、ネットワーク・セキュリティ・デバイスは、強い攻撃ベクトルの組合せと比較して、弱い攻撃ベクトルの組合せに直面したとき、異なって反応し得る。さらに、ネットワーク・セキュリティ・デバイスは、組み合わせられたとき、クライアント計算デバイスへのおよびクライアント計算デバイスからの通信に重大な脅威を呈する、異なる重みをもつベクトルの組合せに相応して応答し得る。ネットワーク・セキュリティ・デバイスは、セッション中にこれらの検証および識別を動的に、常時、自律的に(すなわち、オペレータの監督または承認を必要とすることなしに)実行し得る。
【0067】
請求項の範囲は、上記の例に記載された実施形態によって限定されるべきでなく、説明全体に一致する最も広い解釈を与えられるべきである。
図1
図2
図3
図4
図5
図6
図7
図8