(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-10-11
(45)【発行日】2022-10-19
(54)【発明の名称】セッションセキュリティ分割およびアプリケーションプロファイラ
(51)【国際特許分類】
G06F 21/55 20130101AFI20221012BHJP
G06F 21/62 20130101ALI20221012BHJP
【FI】
G06F21/55
G06F21/62
(21)【出願番号】P 2021157853
(22)【出願日】2021-09-28
(62)【分割の表示】P 2020140221の分割
【原出願日】2016-01-19
【審査請求日】2021-09-28
(32)【優先日】2015-08-14
(33)【優先権主張国・地域又は機関】US
(32)【優先日】2015-01-20
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】517255773
【氏名又は名称】サイエンプティブ テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ロバート パイク
【審査官】宮司 卓佳
(56)【参考文献】
【文献】特表2006-526843(JP,A)
【文献】米国特許出願公開第2005/0249341(US,A1)
【文献】特開2009-232111(JP,A)
【文献】米国特許出願公開第2005/0188222(US,A1)
【文献】中国特許出願公開第101232399(CN,A)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 21/55
G06F 21/62
(57)【特許請求の範囲】
【請求項1】
アプリケーションセッションをプロファイルする、コンピュータによって実行される方法であって、
アプリケーションについての複数のアプリケーションセッションを監視することに基づいて、前記複数のアプリケーションセッションに対応する複数の持続時間を判定するステップと、
前記複数の持続時間を前記アプリケーションについてのアプリケーションセキュリティプロファイルに記憶するステップと、
前記セキュリティプロファイルにおける前記複数の持続時間に基づいて、前記アプリケーションについての第1のタイムリミットおよび第2のタイムリミットを判定するステップであって、前記第1のタイムリミットは、前記第2のタイムリミットよりも短く、前記アプリケーションについての新たなアプリケーションセッションの接続時間が前記第1のタイムリミットに到達するとき、前記新たなアプリケーションセッションに対してセキュリティアクションが実行され、前記新たなアプリケーションセッションの前記接続時間が前記第2のタイムリミットに到達するとき、前記アプリケーションについての前記新たなアプリケーションセッションに対して異なるセキュリティアクションが実行される、ステップと、
を備えたことを特徴とする方法。
【請求項2】
前記セキュリティプロファイルにおける前記複数の持続時間に基づいて、前記アプリケーションについての第3のタイムリミットを判定するステップを更に備え、前記第3のタイムリミットは、前記第2のタイムリミットよりも長い、ことを特徴とする請求項1に記載の方法。
【請求項3】
前記第1のタイムリミット、前記第2のタイムリミット、および前記第3のタイムリミットの各々は、前記複数の持続時間から判定されるような最長持続時間の倍数に基づいて計算される、ことを特徴とする請求項2に記載の方法。
【請求項4】
前記第1のタイムリミット、前記第2のタイムリミット、および前記第3のタイムリミットの各々は、前記複数の持続時間から判定されるような平均持続時間の倍数に基づいて計算される、ことを特徴とする請求項2に記載の方法。
【請求項5】
別のアプリケーションについての別の複数の持続時間を監視するステップと、
前記別のアプリケーションについての別のアプリケーションセキュリティプロファイルを生成するステップと、
前記別のアプリケーションについての第3のタイムリミットおよび第4のタイムリミットを判定するステップと、
を更に備えた、ことを特徴とする請求項1に記載の方法。
【請求項6】
前記セキュリティアクションおよび前記異なるセキュリティアクションのうちの1つまたは複数は、第1のホストデバイスと関連付けられた他のアプリケーションセッションから前記新たなアプリケーションセッションを分離することを含む、ことを特徴とする請求項1に記載の方法。
【請求項7】
前記新たなアプリケーションセッションを分離することは、前記新たなアプリケーションセッションを第2のホストデバイスに移動することを含む、ことを特徴とする請求項6に記載の方法。
【請求項8】
前記新たなアプリケーションセッションを分離することは、前記第1のホストデバイス上で前記新たなアプリケーションセッションを維持すること、および他のアプリケーションセッションが前記第1のホストデバイスと確立されることを防止することを含む、ことを特徴とする請求項6に記載の方法。
【請求項9】
記憶した命令を含む非一時的コンピュータ可読媒体であって、前記命令は、1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、
アプリケーションについての複数のアプリケーションセッションを監視することに基づいて、前記複数のアプリケーションセッションに対応する複数の持続時間を判定させ、
前記複数の持続時間を前記アプリケーションについてのアプリケーションセキュリティプロファイルに記憶させ、
前記セキュリティプロファイルにおける前記複数の持続時間に基づいて、前記アプリケーションについての第1のタイムリミットおよび第2のタイムリミットを判定させ、前記第1のタイムリミットは、前記第2のタイムリミットよりも短く、前記アプリケーションについての新たなアプリケーションセッションの接続時間が前記第1のタイムリミットに到達するとき、前記新たなアプリケーションセッションに対してセキュリティアクションが実行され、前記新たなアプリケーションセッションの前記接続時間が前記第2のタイムリミットに到達するとき、前記アプリケーションについての前記新たなアプリケーションセッションに対して異なるセキュリティアクションが実行される、
ことを特徴とする非一時的コンピュータ可読媒体。
【請求項10】
前記命令は更に、前記1つまたは複数のプロセッサに、前記セキュリティプロファイルにおける前記複数の持続時間に基づいて、前記アプリケーションについての第3のタイムリミットを判定させ、前記第3のタイムリミットは、前記第2のタイムリミットよりも長い、ことを特徴とする請求項9に記載の非一時的コンピュータ可読媒体。
【請求項11】
前記第1のタイムリミット、前記第2のタイムリミット、および前記第3のタイムリミットの各々は、前記複数の持続時間から判定されるような最長持続時間の倍数に基づいて計算される、ことを特徴とする請求項10に記載の非一時的コンピュータ可読媒体。
【請求項12】
前記第1のタイムリミット、前記第2のタイムリミット、および前記第3のタイムリミットの各々は、前記複数の持続時間から判定されるような平均持続時間の倍数に基づいて計算される、ことを特徴とする請求項10に記載の非一時的コンピュータ可読媒体。
【請求項13】
前記命令は更に、前記1つまたは複数のプロセッサに、
別のアプリケーションについての別の複数の持続時間を監視させ、
前記別のアプリケーションについての別のアプリケーションセキュリティプロファイルを生成させ、
前記別のアプリケーションについての第3のタイムリミットおよび第4のタイムリミットを判定させる、
ことを特徴とする請求項9に記載の非一時的コンピュータ可読媒体。
【請求項14】
前記セキュリティアクションおよび前記異なるセキュリティアクションのうちの1つまたは複数は、第1のホストデバイスと関連付けられた他のアプリケーションセッションから前記新たなアプリケーションセッションを分離することを含む、ことを特徴とする請求項9に記載の非一時的コンピュータ可読媒体。
【請求項15】
前記新たなアプリケーションセッションを分離することは、前記新たなアプリケーションセッションを第2のホストデバイスに移動することを含む、ことを特徴とする請求項14に記載の非一時的コンピュータ可読媒体。
【請求項16】
前記新たなアプリケーションセッションを分離することは、前記第1のホストデバイス上で前記新たなアプリケーションセッションを維持すること、および他のアプリケーションセッションが前記第1のホストデバイスと確立されることを防止することを含む、ことを特徴とする請求項14に記載の非一時的コンピュータ可読媒体。
【請求項17】
アプリケーションセッションをプロファイルするシステムであって、
1つまたは複数のプロセッサと、
命令を記憶した非一時的コンピュータ可読媒体と、を備え、前記命令は、前記1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、
アプリケーションについての複数のアプリケーションセッションを監視することに基づいて、前記複数のアプリケーションセッションに対応する複数の持続時間を判定させ、
前記複数の持続時間を前記アプリケーションについてのアプリケーションセキュリティプロファイルに記憶させ、
前記セキュリティプロファイルにおける前記複数の持続時間に基づいて、前記アプリケーションについての第1のタイムリミットおよび第2のタイムリミットを判定させ、前記第1のタイムリミットは、前記第2のタイムリミットよりも短く、前記アプリケーションについての新たなアプリケーションセッションの接続時間が前記第1のタイムリミットに到達するとき、前記新たなアプリケーションセッションに対してセキュリティアクションが実行され、前記新たなアプリケーションセッションの前記接続時間が前記第2のタイムリミットに到達するとき、前記アプリケーションについての前記新たなアプリケーションセッションに対して異なるセキュリティアクションが実行される、
ことを特徴とするシステム。
【請求項18】
前記1つまたは複数のプロセッサによって実行されるとき、前記1つまたは複数のプロセッサに、前記セキュリティプロファイルにおける前記複数の持続時間に基づいて、前記アプリケーションについての第3のタイムリミットを判定させる命令を更に含み、前記第3のタイムリミットは、前記第2のタイムリミットよりも長い、ことを特徴とする請求項17に記載のシステム。
【請求項19】
前記第1のタイムリミット、前記第2のタイムリミット、および前記第3のタイムリミットの各々は、前記複数の持続時間から判定されるような最長持続時間の倍数に基づいて計算される、ことを特徴とする請求項18に記載のシステム。
【請求項20】
前記第1のタイムリミット、前記第2のタイムリミット、および前記第3のタイムリミットの各々は、前記複数の持続時間から判定されるような平均持続時間の倍数に基づいて計算される、ことを特徴とする請求項18に記載のシステム。
【発明の詳細な説明】
【技術分野】
【0001】
1.発明の技術分野
本開示は、リソースへの不正アクセスに対するコンピュータセキュリティに関し、より具体的には、アプリケーションをプロファイルすることおよびそれらのアプリケーションのセッションおよび接続をセキュリティ階層に分割することに関する。
【0002】
(関連特許の相互参照)
本出願は、2015年1月20日に出願された米国特許仮出願第62/105,685号明細書の優先権を主張し、その開示内容は、その全体が参照により組み込まれる。
【背景技術】
【0003】
2.発明の技術分野
ネットワーク通信において、ファイヤーウォールおよび侵入検知防止システムを含む、ソフトウェアおよびハードウェアの多くのセキュリティ形式がある。しかしそれらの形式はすべて、規則が正しく適用されなければ、不正アクセスの機会を開くことになるという1つの核心問題に対して欠陥がある。インターネットにさらされると、アプリケーションをホストしているサーバへのリモートアクセスを可能にし得る、今日のオペレーティングシステムおよびアプリケーションも多数のバグを有する。
【発明の概要】
【発明が解決しようとする課題】
【0004】
既存のファイヤーウォールは、パケットインスペクションをサポートする。インスペクションは、ファイヤーウォールの設定に適用される規則に基づいており、アプリケーションスタックに伝送する能力がなく、そしてアプリケーションスタックがセキュリティスタックに伝送する能力に制限があるため、能動学習に制限がある。ファイヤーウォールは通常、ホストに接続する度に膨大なオーバーヘッドを生成し、および適用される規則が多すぎると、スケールに問題が生じる可能性があるため、規則の数の削減に努める。
【課題を解決するための手段】
【0005】
本開示の実施形態は、ハッカーがセキュアなリソースへの不正アクセスの取得を防止する、ハッカーに対するオンラインセキュリティを提供する知的方法を含む。一実施形態において、リソースへの不正アクセスに対するセキュリティの方法が開示されている。第1のクライアントと第1のホストデバイスの第1のアプリケーションとの間で確立された第1のアプリケーションセッションが検出される。第1のアプリケーションは、第1のアプリケーションのセキュリティをセキュリティ階層に分割する第1の複数のセキュリティタイムリミットと関連付けられる。第1のクライアントと第1のアプリケーションとの間で確立された第1のアプリケーションセッションの持続時間がモニタされる。1つまたは複数の第1のセキュリティアクションは、第1の複数のセキュリティタイムリミットのうちの或るセキュリティタイムリミットに到達する第1のアプリケーションセッションの持続時間に応答して第1のアプリケーションセッションに対して実行される。1つまたは複数の第2のセキュリティアクションは、第1の複数のセキュリティタイムリミットのうちの別のセキュリティタイムリミットに到達する第1のアプリケーションセッションの持続時間に応答して第1のアプリケーションセッションに対して実行される。
【0006】
一実施形態において、セキュリティタイムリミットは、機械学習プロセスを通じて確立される。そのプロセスは、第1のセッション持続時間データを作成する第1のアプリケーションに対応する複数の前のアプリケーションセッションの持続時間をモニタすることを含むことができる。第1の複数のセキュリティタイムリミットはその後、複数の前のアプリケーションセッションの第1のセッション持続時間データに基づいて判定される。
【0007】
一実施形態において、方法はさらに、第2のクライアントと少なくとも1つのサーバの第2のアプリケーションとの間で確立された第2のアプリケーションセッションを検出することであって、第2のアプリケーションが、第2のアプリケーションのセキュリティをセキュリティ階層に分割する第2の複数のセキュリティタイムリミットと関連付けられることと、第2のクライアントと第2のアプリケーションとの間で確立された第2のアプリケーションセッションの持続時間をモニタすることと、複数のセキュリティタイムリミットのうちの或るセキュリティタイムリミットに到達する第2のアプリケーションセッションの持続時間に応答して第2のアプリケーションセッションに対する1つまたは複数の第1のセキュリティアクションを実行することと、複数のセキュリティタイムリミットのうちの別のセキュリティタイムリミットに到達する第2のアプリケーションセッションの持続時間に応答して第2のアプリケーションセッションに対する1つまたは複数の第2のセキュリティアクションを実行することを備える。
【0008】
一実施形態において、第1のセキュリティアクションまたは第2のセキュリティアクションのうちの1つは、IPルックアップ、ディープパケットインスペクション、不正な形式のパケット検出、またはハニーポットセキュリティセンサの有効化のうちの1つを含む。一実施形態において、第1のセキュリティアクションまたは第2のセキュリティアクションのうちの1つは、第1のアプリケーションセッションを少なくとも1つのホストデバイスと関連付けられた他のアプリケーションセッションから分離することを含む。第1のアプリケーションセッションを分離することは、第1のアプリケーションセッションを第2のホストデバイスに移動することを備えることができる。第1のアプリケーションセッションを分離することはまた、第1のホストデバイス上の第1のアプリケーションセッションを維持すること、および他のアプリケーションセッションが第1のホストデバイスと確立されることを防止することも備えることができる。
【0009】
一実施形態において、オンラインセキュリティの方法はまた、アプリケーションセッションに確立される接続に適用することもできる。他の実施形態は、命令を格納する非一時的なコンピュータ可読媒体を含む。命令は、少なくとも1つのプロセッサがリソースへの不正アクセスを防止するオペレーションを実施することにより実行可能である。
【図面の簡単な説明】
【0010】
【
図1】実施形態にかかる、セッション/接続分割を有するネットワーク化された通信システムのブロック図である。
【
図2】実施形態にかかる、異なるセキュリティ階層に分割されたアプリケーションセッション/接続の図である。
【
図3】実施形態にかかる、異なるセキュリティ階層に分割された異なるアプリケーションのアプリケーションセッション/接続の図である。
【
図4】実施形態にかかる、アプリケーションセッション/接続の分離を示す図である。
【
図5】別の実施形態にかかる、アプリケーションセッション/接続の分離を示す図である。
【
図6】実施形態にかかる、
図1からのセッション/接続マネージャモジュールのブロック図である。
【
図7】実施形態にかかる、アプリケーションのセッション/接続をプロファイルし、タイムリミットを学習するための方法のフローチャートである。
【
図8】実施形態にかかる、セッション/接続分割セキュリティのための方法のフローチャートである。
【
図9】実施形態にかかる、コンピュータデバイスのハードウェアアーキテクチャを示す図である。
【発明を実施するための形態】
【0011】
本開示のいくつかの実施形態についてこれより詳細に言及し、それらの例を添付図面で示す。なるべく同種の参照番号を図面に使用して、同種の機能性を示し得ることに留意されたい。本開示の実施形態を示す図面は、説明のみを目的にする。本明細書に示した構造および方法の代替的実施形態を本明細書に記載の開示原理、または予想される(touted)利益から逸脱しない範囲で用いてもよいという以下の説明から当業者には容易に理解されよう。
【0012】
セキュアリングオンラインアプリケーションの特徴は、機械レベルのセキュリティの学習に基づき、セキュリティシステムが平均的アプリケーションセッションフローをプロファイルすることを可能にする。平均的アプリケーションセッションフローは、マルチ段階のトリガリングセッションのトリガリングポイントを変更することができる。セッションの継続が長いほど、セッションが危険にさらされるリスクがますます高くなる。本開示の実施形態は、セッションをプロファイルして、時間または状態に応じて、異常なパケットフローのセッションを分析することまたは制御された分析セキュリティサンドボックスの再生のためのパケットフローを複製することなどにより、セキュリティアクションを開始する。
【0013】
本開示の実施形態は、ハッカーがバックエンドデータセットにアクセスすることを防止するおよび進行中の任意のデータセットへのアクセスを防止するためにアプリケーションをプロファイルするセキュリティシステムプラットフォームのコンポーネントに関する。本開示の実施形態はまた、アプリケーションおよびネットワークで発見されたさまざまなアプリケーションセッションを単一のセッション内のセキュリティ階層/セグメントに分割して、経時的にセキュリティ階層/セグメントごとのセキュリティレベルを強化する。より詳細には、本開示の実施形態は、より高いセキュリティソリューションのセキュリティレベルをエスカレートすることを用いて権限のないリソースへのアクセスを防止することができる。本開示の実施形態はまた、接続をセキュリティ階層に分割して、経時的にセキュリティ階層ごとのセキュリティレベルを強化することもできる。
【0014】
図1は、実施形態にかかる、セッション接続分割セキュリティを有するネットワーク化された通信システムのブロック図である。システムは、いくつかのクライアントデバイス105、ネットワーク110、ルータ115、ファイヤーウォール120、ロードバランサ125、フロントエンドサーバ130、バックエンドサーバ135、およびデータベース140などのコンピュータデバイスは、ネットワーク110経由でクライアント105によってアクセスされるデータセンターを形成することができる。説明を容易にするために2つのクライアント105と2つのフロントエンドサーバ130のみを
図1に示している。他の実施形態において、より多い数のクライアントデバイス105およびフロントエンドサーバ130になることもある。
【0015】
クライアントデバイス105は、とりわけスマートフォン、タブレットコンピュータ、ラップトップコンピュータおよびデスクトップコンピュータなどのコンピュータデバイスになり得る。ユーザは、タッチスクリーンまたはマウスおよびキーボードなどのインタフェースを通じてクライアントデバイス105のソフトウェアと対話する。クライアントデバイス105は、ユーザがアプリケーションセッションおよび、フロントエンドサーバ130によってホストされたさまざまなアプリケーションとの接続を確立することによって制御される。
【0016】
フロントエンドサーバ130は、1つまたは複数のプロセッサを含むことができるサーバクラスのコンピュータデバイスであり、オペレーティングシステムを実行する。サーバ130は、いくつかのソフトウェアアプリケーション150をホストし、また本明細書ではホストデバイスと呼ぶこともできる。例えば、アプリケーション150は、クレジットカード支払いアプリケーション150A、ウェブサイト150B、およびオンラインバンキングアプリケーション150Cをホストすることができる。アプリケーション150をホストするホストデバイスの他の例は、汎用家電、電話機、タブレット、飛行機の飛行管制システムなどであってよい。
【0017】
クライアントデバイス105は、ネットワーク110、ルータ115、ファイヤーウォール、およびロードバランサ125経由でアプリケーション150のネットワーキング接続C1-C6を確立することができる。接続は、クライアントデバイス105とサーバ150のソケット間の双方向通信チャネルとして使用される。接続は、或る時点でハンドシェイクを使用するまたは時にはハンドシェイクプロセスを使用しないなどにより確立され、そして後の時点で終了する。接続は、プロトコルによって定義されるいくつかの状態を含むことができる。接続例のうちの1つのタイプは、開放型システム間相互接続(OSI)モデルのトランスポート層の下の伝送制御プロトコル(TCP)接続である。
【0018】
クライアントデバイス105はまた、接続C1-C6を介してアプリケーション150のアプリケーションセッションS1-S6も確立する。アプリケーションセッションは、所与のアプリケーションの2以上の通信エンティティ間の対話型情報交換である。アプリケーションセッションは、或る時点で確立され、そして後の時点で終了する。アプリケーションセッション中、情報を要求するまたは要求に応答する1つまたは複数のメッセージは、セッションのために確立された接続を介して各方向に送信され得る。セッションの状態(例えば、ログイン、ログアウト、アイドル、アップロード、ダウンロード、探索、既存データの操作または更新、データの破壊または除去、アラームのトリガ、タイムカウンタ状態、鍵適合、鍵変更、リスク因子の状態)は、フロントエンドサーバ130Aまたはクライアントデバイス105のいずれかによって維持され得る。一実施形態において、アプリケーションセッションは、トランスポート層の上にあるOSIセッション層のセッションである。セッションの例は、とりわけHTTPセッション、FTPセッション、およびSMTPセッションになり得る。
【0019】
一例として、ユーザがクライアントデバイス105Aにクレジットカードを通すと、クレジットカード認証セッション(例えば、S1、S2)が開始され、クライアントデバイス105Aは、クレジットカード支払いアプリケーション150Aとの接続およびセッションを確立する。クレジットカード支払いアプリケーション150Aは、クライアントデバイス105Aと通信してクレジットカード番号を取得し、クライアントデバイス105Aから入金する。クレジットカード支払いアプリケーション150Aは次に、クレジットカード番号が支払いを処理するのに十分な信用があるかどうかを判定するためにバックエンドサーバ135経由でデータベース140にアクセスする。クレジットカード支払いアプリケーション150Aは次に、クライアントデバイス105Aに肯定/否定応答を提供する。接続およびセッションは次に、応答をクライアントデバイス105Aに提供した後に終了する。
【0020】
別の例では、ユーザがURLをクライアント105Bのブラウザに入力すると、ウェブフォームセッション(例えば、S3、S4)が開始される。クライアントデバイス105Bは、ウェブサイト150Bとセッションを確立する。フロントエンドサーバ130A(即ち、ウェブサーバ)は、複数のセッションを処理することができる。フロントエンドサーバ130Aは、セッションごとのタイムカウンタで開始する。ユーザは、セッションが閉じる前にフォームに記入する時間量xを有する。異なるフロントエンドサーバ130Bは、ウェブフォームデータに記入するのに時間を要するため、最初のセッションからフォーム提出(submission)を処理することができる。
【0021】
さらなる例では、ユーザがクライアントデバイス105Bのモバイルバンキングアプリケーションを開くと、オンラインバンキングセッション(例えば、S5、S6)が開始されて、クライアントデバイス105Bは、オンラインバンキングアプリケーション150Cと接続およびセッションを確立する。オンラインバンキングアプリケーション150Cは、クライアントデバイス105Cと通信してクライアントデバイス105Cから認証情報を取得する。ひとたび認証されると、クライアントデバイス105Cは、口座残高を要求し、預金の小切手のコピーをアップロードし、他のバンキング要求を行う。バンキングアプリケーション150Cは、これらの要求を処理するバックエンドサーバ135経由でデータベース140に格納された口座情報にアクセスすることができる。
【0022】
バックエンドサーバ135は、データベース140に格納されたデータへのアクセスを提供する。アプリケーション150のいずれもバックエンドサーバ135にデータを要求することができ、バックエンドサーバはその後、データベース140からデータを読み出してデータをアプリケーション150に提供する。バックエンドサーバ135の例にSQLサーバがある。ハッカーは、ハッキングしたセッションまたは接続を通じてデータベース140のデータにアクセスしようと試みることが多く、セッション/接続マネージャモジュール152は、ハッカーがデータに上手くアクセスする前にこれらのハッキングされたセッションおよび接続を検出しようと試みる。ハッキングされたセッションの場合、ハッカーは、セッションのタイムラインを延長し、そこからリスク因子が増加し、セッション/接続マネージャモジュール152は、セキュリティを強化してアラートをトリガすることができる。
【0023】
セッション/接続マネージャモジュール152は、ハッキングされたセッション/接続に対するセキュリティを提供する。各セッション/接続に対し、セッション/接続マネージャモジュール152は、セキュリティ階層がトリガされる異なる時間にセッション/接続を分割する。セッション/接続が時間によってセキュリティ階層に分割されるように強制することにより、異なるアクションは、単一のセッション/接続の分割階層に基づいてトリガされる。各階層では、セッション/接続マネージャモジュール152は、1つまたは複数のセキュリティアクションをセッション/接続に適用する。一実施形態において、セキュリティアクションは、処理装置(例えば、プロセッサまたはコントローラまたはカスタムアプリケーション特定集積回路)上でセキュリティアクションのソフトウェアプログラムコードを実行することによってセッション/接続に対して適用される。
【0024】
セキュリティアクションは、セッションからのデータを分析することによってハッカーを検出するまたはハッカーがハッキングを上手く完了することを防止するように設計されたアクションになり得る。セキュリティアクションの例は、IPルックアップ、ハニーポットセンサの起動、セッション/接続の分離、ディープパケットインスペクション、セッション/接続の包含、セキュリティ警告、セッション/接続のトレース、セッション/接続の記録、機械学習をセッション/接続に適用すること、およびセッション/接続の完全制御/警告および終了を含むことができる。先のセキュリティ階層は、異なる規則を含む場合があり、誤検出(false positives)を削減するセキュリティアクションがほとんどもしくは全くないように構成される可能性がある一方、後のセキュリティ階層は、よりリソースに集中したセキュリティアクションを含む場合がある。後のセキュリティ階層では、セッション/接続マネージャモジュール152は、ルータ115、ファイヤーウォール120またはロードバランサ125などの他のデバイスに、ハイリスクのセキュリティセッション/接続を通知することができ、他のデバイスがセキュリティアクションをセッション/接続に適用するようにさせる。
【0025】
セッション/接続マネージャモジュール152は、セッション/接続の持続時間をモニタし、そしてひとたびセッション/接続持続時間が或るセキュリティタイムリミットに到達すると、セキュリティをあるセキュリティ階層から次のセキュリティ階層に進展させる。通常のほとんどのセッション/接続は、セキュリティタイムリミットに到達する前に完了することが期待される。ハッキングされたセッション/接続のみがセキュリティタイムリミットを超えることが期待される。よりリソースに集中したセキュリティアクションは従って、セッションがハッキングされるリスクがより高いセッション/接続のみに適用される。その結果、セキュリティ階層の経時的な増加は、ハッカーに対するハイレベルのセキュリティをさらに維持しながら、セッションの特定の時間期間内でセキュリティ階層を系統的に増加させることによってフロントエンドサーバ130の、プロセッサおよびメモリなどのコンピュータハードウェアの計算負荷を削減することによってフロントエンドサーバ130の機能性を改善する技術的優位性を有する。
【0026】
異なる時間間隔に異なるセキュリティアクションを有することはまた、ツールが通常のセッションとハッキングされたセッションがどうであるかを理解し、それに応じてセッションの状態を終了し、追跡し、トレースし、記録し、エスカレートし、分析することを可能にする。さらに、接続およびセッションは、最終的にハッカーが出ていくまたは追い出すことに基づいてセッションの最後に終了する。ハッカーが戻ると、ハッカーの以前のハッキングの企てによってプロファイルされた或るフィンガープリントデータを使用して、ハッカーを識別し、そしてシステムが、どのようにハッカーがホストまたはバックエンドシステムへの自分のアクセス権をエスカレートしようとしているかを学習しながら、記録をトリガするまたはより多くのセキュリティセンサを適用する、リスクレベルを直ちにエスカレートすることができる。ひとたび接続されたセッション状態が除去される/終了すると、機械学習は、発見されたセキュリティホール(hole)を自己修正して、セッションを終了してハッカーの侵入を防ぐことができる。
【0027】
セキュリティタイムリミットは、アプリケーション150の各タイプで異なってもよい。一実施形態において、セッション/接続マネージャモジュール152は、機械学習プロセスを経て各アプリケーションに別個にセキュリティタイムリミットを判定する。学習プロセスは、アプリケーションの以前のセッション/接続持続時間をモニタし、セッション/接続持続時間からセッション/接続持続時間データを作成し、セッション/接続持続時間データを、アプリケーションセキュリティプロファイルデータベース154のアプリケーションセキュリティプロファイルに格納する。アプリケーションのセッション/接続のセキュリティタイムリミットは次に、結果的に各アプリケーション150が最適にテイラードされたセキュリティタイムリミットとなる、アプリケーションのアプリケーションセキュリティプロファイルのセッション/接続持続時間データから判定される。他の実施形態において、ハッキングされたセッションタイムリミットを、ユーザのリスク因子および設定に応じてさらなる機械学習のために延長することができる。
【0028】
ネットワーク110は、クライアント105とルータ115との間の通信経路を表す。ネットワーク110は、有線ネットワーク、無線ネットワーク、または有線ネットワークと無線ネットワークの組み合わせを含むことができる。ネットワーク110は、ネットワーク110とファイヤーウォール120との間のデータパケットを経路指定するネットワーキングデバイスである。ファイヤーウォール120は、データトラフィックをフィルタにかけて、或るデータパケットがファイヤーウォールの規則に合わなければ、それらのデータパケットを遮断することができる。ロードバランサ125は、アプリケーショントラフィックを多数のサーバ130に分散する。
【0029】
一実施形態において、セッション/接続マネージャモジュール152は、ソフトウェア命令、ハードウェア論理、またはソフトウェアとハードウェアの組み合わせとして実装されてもよい。一実施形態において、セッション/接続マネージャモジュール152は、ルータ115、ファイヤーウォール120、ロードバランサ125、またはバックエンドサーバ135など、システムのどこでも配置され得る。他の実施形態において、セッション/接続マネージャモジュール152の機能は、いくつかのコンピュータデバイスに分散され得る。
【0030】
次に
図2について、実施形態にかかる、アプリケーションセッションまたは接続が異なるセキュリティ階層に分割された図を示している。
図2のセッション/接続は、4つのセキュリティ階層:セキュリティ階層A202、セキュリティ階層B204、セキュリティ階層C206、およびセキュリティ階層D208に分割される。各セキュリティ階層は、セッション/接続の長さが増加する時にセッション/接続に適用される上位レベルのセキュリティを表す。各連続したセキュリティ階層は、異なるセキュリティタイムリミットに到達するアプリケーションセッション/接続の持続時間によってトリガされる。各セキュリティ階層は、固有のセキュリティアクションが行われる、いくつかのセキュリティ段階(即ち、セキュリティサブ階層)を含む。一般的に言えば、セッション/接続の状態は、異なる段階を有し、強化されたセッション/接続のセキュリティが増加し、セキュリティアクションが時間の経過とともに適用される。
【0031】
セキュリティ階層A202は、9秒の長さである。セキュリティ階層A202中、最小数のセキュリティアクション(例えば、セキュリティアクションが無いまたはセキュリティアクションがほとんど無い)がセッション/接続に適用される。セキュリティアクションは一般的に、通常のほとんどのアプリケーションセッション/接続が、セキュリティ階層A202が終わる前に完了することが期待される理由で、セキュリティ階層A202中に必要ない。
【0032】
ひとたびセッション/接続がセキュリティ階層Aの9秒のタイムリミットに到達すると、セキュリティレベルは、セキュリティ階層A202からセキュリティ階層B204に強化される。セキュリティ階層B204は、9秒の長さであり、セキュリティ階層B204中に基本セキュリティアクションがアプリケーションセッション/接続に適用される。例えば、セキュリティ階層Bの段階4中、クライアントデバイス105のIPアドレスを検索して、そのアドレスが疑わしいアドレスであるかどうかを判定することができる。IPアドレスは、そのアドレスが或る国に由来するかどうかまたはIPアドレスがプロキシサーバであるかどうか疑わしい場合もあり、あるいは所定の因子分析の結果、そのIPが疑わしいというフラグが立つ。IPアドレスが疑わしい場合、セキュリティレベルは、直ちにセキュリティ階層C206に引き上げられる間、セキュリティ段階5と6のいずれのセキュリティアクションも省かれる。
【0033】
別の例として、セキュリティ階層Bの段階5中、ハニーポットセキュリティセンサを起動することができる。ハニーポットセキュリティセンサは、偽造データおよび非実データを包含するファイルフォルダに添付される。偽造データのフォルダは、フォルダのファイルがアクセスされるまたはフォルダが開かれると、セキュリティアラートを作成するセキュリティセンサをフォルダに添付させることができる。例えば、ディレクトリ構造は、フォルダ“/home/user1/” “/home/user2/” “/home/user3/”を含むことができる。実データは、“/home/user3/”のみに格納されるが、“/home/user1/” や“/home/user2/”ディレクトリには格納されない。ディレクトリツリーにアクセスするハッカーは、どのディレクトリが実データを包含するかおよびどのディレクトリが偽造データを含むか知らない。従って、ハッカーは、セッション/接続中にハニーポットフォルダを恐らく開き、ハニーポットセキュリティセンサをトリガする。
【0034】
ひとたびセッション/接続がセキュリティ階層B204の9秒のタイムリミット(即ち、セッション/接続の開始から18秒のタイムリミット)に到達すると、セキュリティレベルは、セキュリティ階層B204からセキュリティ階層C206に強化される。セキュリティ階層C206は、9秒の長さであり、中間のセキュリティアクションは、セキュリティ階層C206中にアプリケーションセッション/接続に適用される。例えば、セキュリティ階層C206の段階7中、アプリケーションセッション/接続を他のアプリケーションセッションから分離することができる。セッション/接続の分離は、後に
図4および
図5を参照して説明される。
【0035】
別の例として、セキュリティ階層C206の段階8中、ディープパケットインスペクションは、データパケットが疑わしいかどうかを判定するためにアプリケーションセッション/接続のデータパケットで行われる。データパケットは、それらのデータパケットがプロトコル異常、SQLインジェクション、または不正な形式のパケットを含むと判定されるかどうか疑われる。
【0036】
別の例として、セキュリティ階層C206の段階9中、他のネットワーキングデバイス(例えば、ルータ115、ファイヤーウォール120またはロードバランサ125)は、ハイリスクセッションが通知される。他のネットワーキングデバイスは次に、ハイリスクセッションのデータのデバイス自身の分析を開始して、この情報をセッション/接続マネージャモジュール152に戻す。
【0037】
ひとたびセッション/接続がセキュリティ階層C206の9秒のタイムリミット(即ち、セッション/接続の開始から27秒のタイムリミット)に到達すると、セキュリティレベルは、セキュリティ階層C206からセキュリティ階層D208に強化される。セキュリティ階層C206は、9秒の長さであり、進展したセキュリティアクションは、セキュリティ階層D208中にアプリケーションセッション/接続に適用される。例えば、セキュリティ階層C206の段階10中、実データへのアクセスを遮断して偽造データへのアクセスのみを許可する、アプリケーションセッション/接続を包含することができる。セキュリティ階層206の段階11中、警告、トレースおよび記録を行うことができる。警告は、電子メールまたはSMSテキストなど、潜在的にハッキングされたセッションをネットワーキング管理者に通知することを伴う。トレースは、ファイルディレクトリがアプリケーションセッション中にアクセスされた順序など、アプリケーションセッション中に行われるアクションのフローをトレースすることを伴う。記録は、さらなる調査のための第三者ツールによる後のオフライン分析のトレース中に獲得されるデータを格納することを伴う。セッション/接続を段階12の最後で終了することもできる。
【0038】
セキュリティ階層および段階はすべて、
図2の同じ持続時間を有するように示されている。他の実施形態において、セキュリティ階層および段階は、異なる持続時間を有することができる。
図2において、数個のセキュリティ階層の数個のセキュリティアクションしか示されていないが、
図2に示した他のセキュリティアクションを他のセキュリティ段階中に行うこともできる。さらに、セキュリティアクションは、異なる順序で、
図2に示した段階とは異なるセキュリティ段階中に適用されてもよい。
【0039】
さらに、セキュリティを時間によってセキュリティ階層に分割することは、必ずしもセッション/接続マネージャモジュール152が常に高いセキュリティを実行することを防止することではない。セキュリティ規則の異なるセットは単純に、異なるセキュリティ階層202、204、206および208中に適用されてよい。これは、誤検出を防止する一方、さらにコンピュータリソースが、典型的にはハッキングされてないセッション/接続よりも長く続く、ハッキングされたセッション/接続に重点が置かれることも可能にする。例えば、セキュリティ階層B204はまた、IPルックアップインジケータが疑わしいIPである場合にのみ、ディープパケットインスペクションを適用する規則のセットを含むことができる。
【0040】
図3は、実施形態にかかる、異なるセキュリティ階層に分割された異なるアプリケーションのアプリケーションセッション/接続の図を示している。セキュリティ階層の長さは、アプリケーションのタイプに応じて異なる。クレジットカード処理アプリケーション150Aの場合、セキュリティ階層は、9秒の長さであり、各セキュリティ段階は、3秒の長さである。ウェブアプリケーション150Bの場合、セキュリティ階層は、90秒の長さであり、各セキュリティ段階は、30秒の長さである。オンラインバンキングアプリケーション150Cの場合、セキュリティ階層は、9分の長さであり、各セキュリティ段階は、3分の長さである。
【0041】
クレジットカードの例について、普通に機能するクレジットカード処理アプリケーション150Aは通常、5-10秒以内でトランザクションを処理し、5-10秒で承認されたまたは拒否されたクレジット回答を与える。本開示の実施形態は、平均のクレジットカードトランザクションのアプリケーション150Aをプロファイルして、平均のクレジットカードトランザクション時間からシステムの時間ベースのセッション/接続タイムリミットを算定する。
【0042】
セキュリティ階層で行われるセキュリティアクションは、アプリケーションに関係なくアプリケーションにわたって同じにすることができる。例えば、IPルックアップは、3つのすべてのアプリケーションのセキュリティ階層中に発生させることができる。
【0043】
図4は、実施形態にかかる、アプリケーションセッションの分離を示す図である。
図5は、別の実施形態にかかる、アプリケーションセッションの分離を示す図である。
図4と
図5の両方は、
図2の段階7からのセッション/接続分離セキュリティアクションを示す。
【0044】
図4のセッション/接続分離は、元のサーバのハイリスクセンサ/接続を維持することによりおよびサーバ130Aと確立した他のセッション/接続を完了させる一方、任意の新しいセッション/接続がそのサーバ130Aのアプリケーション150と確立されることを防止することにより発生する。最初に、アプリケーション150と確立された6つのセッションS1-S6、および対応する接続C1-C6がある。次にセッションS3が通常でない長さの時間期間開いていて、分離しなければならないことを判定する。セッションS3を分離するために、セッションS1、S2、S4、S5およびS6は、完了することを許可される。しかしながら、どの新しいセッションもサーバ130Aと確立されることを許可されない。最終的に、セッションS3は、サーバ130Aのアプリケーション150と確立される唯一のセッションであり、それによりセッションS3および接続C3を分離する。
【0045】
あるいは、ハイリスクセッションS3を分離するために、他方のセッション(S1、S2、S4、S5、S6)は、フロントエンドサーバ130Aから別のフロントエンドサーバ130Bに移動されて、より高いリスクセッションS3または接続によって危険にさらされるデータを保護するようにできる。より高いリスクのセッション時間は、通常許可される時間を超えて延長し、さらにセキュリティアクションは、セッション対して行われる:そのアクションの分析が処理され、パケットが記録され、より深化したモニタリングを開始し、起きたことまたは起きていたことをトレースして追跡するために完全なソースデータを用いて終了する。動的アクセス制御リスト(ACL)は、より高いリスクのセッションS3が任意のタイプの広範な探索、走査またはより大規模なデータセットのダウンロードを行うことを遮断するために導入される。データベース140への接続もセッションのリスク因子に応じてすべて除去されるまたは限定され得る。セッションS3と関連付けられたIPアドレスも記録することができ、クライアント105は、再接続を強制される場合もある。セッションS3が確立される第2の時間のセッション/接続マネージャモジュール152は、ハッカーのセッションS3のアクティビティを記録する完全な記録モードである。ハッカーのセッションS3はまた、ハッカーが実際には有していない時にデータを見つけたと思わせるように騙すために偽データを示すように操作されることもできる。バックエンドデータベース140はまた、本物にするまたは偽造データベースに置き換えることもできる。
【0046】
図5のセッション/接続分離は、サーバ間のセッション/接続を移動することによって発生する。最初に、6つのセッションS1-S6およびフロントエンドサーバ130Aのアプリケーション150と確立された対応する接続C1-C6がある。次にセッションS3が通常でない長さの時間期間開いていて、分離しなければならないことを判定する。セッションS3を分離するために、セッションS3および接続C3は、フロントエンドサーバA130Aから異なるフロントエンドサーバB130Bに移動される。残りのセッションS1、S2、S4、S5およびS6と接続C1、C2、C4、C5およびC6は、影響を受けず、フロントエンドサーバ130Aに存続する。
【0047】
図5に示すように、セッションに時間に応じて、セッションS3および接続C3の状態は、セッションホップまたはミラーリング(mirror)を行うことによって別のサーバB130Bに移動され得る。アップストリームデバイス(例えば、ルータ115、ファイヤーウォール120、ロードバランサ125)もまた、その移動を通知される。これによりユーザのセッション/接続を切断するまたはユーザが完全状態の移動が起きたことを検出することをせずに完全なセッション/接続の移行が可能になる。ハッカーがこの例ではフロントエンドサーバ130Aに接続されていて、サーバ130Aを危険にさらすリモートスクリプトをアップロードしたならば、セッション/接続ホップは、以前のサーバ130Aのアプリケーションビットを変更されたままにして、ハッカーのセッション/接続が機能することが防止されるまたは防止される可能性がある。セッション/接続ホップまたはフェイルオーバーは、ホップに基づいてアラートの作成を開始することができ、さらに状態変更のマルチレベルも有する。
【0048】
さらに、フロントエンドサーバB130Bは、専用セキュリティサーバであってもよい。専用セキュリティサーバは、リアルタイムですべてのセッション/接続パケットを記録する能力を含み、上記のように、ハッカーがどのようにシステムに入り込むかを分析するためにパケットの再生を可能にする。
【0049】
図6は、実施形態にかかる、
図1からのセッション/接続マネージャモジュール152のブロック図である。セッション/接続マネージャモジュール152は、セッション/接続モニタリングモジュール605、アプリケーションプロファイラモジュール610、セキュリティレベル進展モジュール615、セキュリティアクションモジュール620およびタイムリミット判定モジュール625を含む。一実施形態において、各モジュールは、コンピュータ可読媒体に格納されたソフトウェア命令として実装される。
【0050】
セッション/接続モニタリングモジュール605は、アプリケーション150またはネットワークトラフィックをモニタするか、または新しいアプリケーションセッション/接続がクライアント105のいずれかとアプリケーション150のいずれかとの間で確立された時に検出する。ひとたび新しいアプリケーションセッション/接続が検出されると、セッション/接続モニタリングモジュール605は、セッションの持続時間を示すセッション/接続のセッション/接続カウンタを維持する。別個のセッション/接続カウンタは、セッション/接続の持続時間を別個に追跡できるように、セッション/接続ごとに維持される。任意の所与の時間に、セッション/接続モニタリングモジュール605は、複数のアプリケーション150の複数のセッション/接続をモニタリングすることができる。セッション/接続モニタリングモジュール605はまた、アプリケーションセッション/接続が確立されるアプリケーション150のタイプを特定することもできる。
【0051】
アプリケーションプロファイラモジュール610は、セッション/接続の時間期間を獲得して、アプリケーションセキュリティプロファイル154のセッション/接続持続時間データを作成するための学習プロセスを実装する。一実施形態において、アプリケーションプロファイラモジュール610は、アプリケーション150のセッション/接続のセッション/接続持続時間を獲得する。アプリケーション150のセッション/接続持続時間データを作成するためにセッション/接続持続時間が処理される。セッション/接続持続時間データの例は、(1)アプリケーションセッション/接続の最短観察持続時間、(2)アプリケーションセッション/接続の最長観察持続時間、(3)アプリケーションセッション/接続の平均観察持続時間、(4)アプリケーションセッション/接続の実持続時間、およびその他の関連する持続時間データを含む。セッション/接続持続時間データは次に、アプリケーション150のアプリケーションセキュリティプロファイルに格納される。異なるアプリケーション150プロセスは、各アプリケーション150がそれ自身の固有のアプリケーションセキュリティプロファイルを有するように反復される。
【0052】
アプリケーションプロファイラモジュール610はまた、セッション/接続がハッキングされたと見なされるか否か、セッション/接続持続時間と関連するアプリケーションセキュリティプロファイルにどれが格納されたかを示すハッキング状態情報を獲得することもできる。セッション/接続は、ハッキング例えば、ハッカーがシステム内のハニーポットをトリガしているかどうかまたは他のセキュリティがトリガしたかどうかを考慮する。
【0053】
タイムリミット判定モジュール625は、アプリケーションセキュリティプロファイルのセッション/接続持続時間データにアクセスして、セキュリティタイムリミットがあるセキュリティ階層と次のセキュリティ階層に分離されていることを判定するためにデータを使用する。アプリケーションのセキュリティタイムリミットは、そのアプリケーションのみのセッション/接続持続時間データから得られる。従って、アプリケーションA150Aのセキュリティタイムリミット、アプリケーションB150Bのセキュリティタイムリミット、アプリケーションC150Cのセキュリティタイムリミットは、すべて異なる。
【0054】
セキュリティタイムリミットは、所定の数式を使用して以前に獲得されたセッション/接続持続時間データから得ることができる。セッションのセキュリティタイムリミットは、セッション持続時間データから計算され、そして接続のセキュリティタイムリミットは、接続持続時間データから計算される。例えば、アプリケーションのセッションのセキュリティタイムリミットは、アプリケーションのセッションの平均持続時間の倍数(例えば、2×、6×、8×、10×)として計算され得る。別の例として、アプリケーションのセッションのタイムリミットは、アプリケーションのセッションの最長観察セッション持続時間の倍数(例えば、1×、2×、3×、4×)として計算され得る。アプリケーション150の各タイプは従って、その特定のアプリケーションのセッション/接続特性を最適に反映するセキュリティタイムリミットを有する。
【0055】
タイムリミット判定モジュール620はまた、同様のプロセスを使用してあるセキュリティ段階と別のセキュリティ段階に分離するタイムリミットを判定することもできる。ハッキング状態情報をさらに使用して、通常のセッション/持続時間の持続時間がハッキングされたセッション/接続とどのように異なるかを学習することができ、今度はそれがセキュリティタイムリミットの設定に使用される。
【0056】
セキュリティレベル進展モジュール210は、あるセキュリティ階層から別のセキュリティ階層への進展を制御する。所与のセッションでは、セキュリティレベル進展モジュール210は、セッション/接続持続時間をそのセッションに確立されたタイムリミットと比較する。ひとたび比較が、セッション/接続持続時間が対応するタイムリミットに到達したことを示すと、セキュリティレベル進展モジュール210は、セキュリティ階層を上位のセキュリティ階層に進展させる。
【0057】
一実施形態において、アプリケーションセッション/接続の持続時間は、アプリケーションセッションの開始から測定される全体の持続時間である。セキュリティ階層ごとにタイムリミットもまた、アプリケーションセッションの開始から測定される。別の実施形態において、アプリケーションセッション/接続の持続時間は、単一のセキュリティ階層内のアプリケーションセッション/接続の持続時間を表す部分的持続時間になり得る。タイムリミットはまた、個々のセキュリティ階層の最大タイムリミットにもなり得る。
【0058】
セキュリティアクションモジュール620は、フロントエンドサーバ130、バックエンドサーバ135およびデータベース140を悪意のセッションによるハッキングに対してセキュアにするさまざまなセキュリティアクションを実行するまたは開始する。以前に説明したように、セキュリティアクションの例は、IPルックアップ、ハニーポットセンサの起動、セッション/接続の分離、ディープパケットインスペクション、セッションの包含、セキュリティ警告、セッション/接続のトレースおよびセッション/接続の記録である。異なるセキュリティアクションは、各セキュリティ階層において行われ、そしてタイムリミットに到達するセッション/接続の持続時間によってトリガされる。いくつかの実施形態において、セキュリティアクションのうちの1つまたは複数を暗号化されたセッションデータに行うことができる。
【0059】
一実施形態において、セキュリティアクションモジュール620は、セキュリティ開始要求をアップストリームまたはダウンストリームデバイスに送信することによってセキュリティアクションを開始することができ、それにより他のデバイスにセキュリティアクションを実行させる。例えば、ルータ115、ファイヤーウォール120、ロードバランサ125、またはバックエンドサーバ135は、セキュリティアクションモジュール620によって起動される、セキュリティアクションを行う機能性を含むことができる。セキュリティアクションモジュール620はまた、セキュリティアクションの結果、他のデバイスから通信を受信することもできる。
【0060】
図7は、実施形態にかかる、アプリケーションセッションをプロファイルする方法のフローチャートである。フローチャートは、セッション/接続マネージャモジュール152のオペレーションを表すことができる。いくつかの実施形態において、フローチャートのステップは、図に示した順序とは異なる順序で行われてもよい。
【0061】
ステップ702において、アプリケーションのアプリケーションセッション/接続が検出される。ステップ704において、セッション/接続の持続時間がモニタされて獲得される。ステップ706において、セッション/接続持続時間データは、獲得されたセッション/接続持続時間から作成される。セッション/接続持続時間データは、アプリケーションと関連するアプリケーションセキュリティプロファイルに格納される。ステップ708において、ひとたび十分なセッション/接続持続時間データが以前に確立されたセッション/接続に使用可能になれば、セキュリティプロファイルは、アクセスされて、セキュリティタイムリミットは、セキュリティプロファイルのセッション/接続持続時間データから判定される。セキュリティタイムリミットは、或るセキュリティ階層と別のセキュリティ階層との時間境界を示す。
【0062】
図7のプロセスは、異なるアプリケーション(例えば、150A、150B、150C)がアプリケーションセキュリティプロファイルの大規模セットおよびアプリケーションのセキュリティを、セキュリティリスクの強化されるレベルを表す異なるセキュリティ階層に分割するアプリケーションごとの異なるセキュリティタイムリミットを作成するために数回反復される。
【0063】
図8は、実施形態にかかる、セッション/接続分割セキュリティのための方法のフローチャートである。フローチャートは、典型的には
図7のフローチャートの後に発生するセッション/接続マネージャモジュール152のオペレーションを表すことができる。いくつかの実施形態において、フローチャートのステップは、図に示した順序とは異なる順序で行われてもよい。
【0064】
ステップ805において、クライアント105とアプリケーション150との間で確立されたアプリケーションセッション/接続が検出される。ステップ810において、アプリケーションセッション/接続に対応するアプリケーション150が特定される。ステップ825において、アプリケーションセッション/接続の持続時間がモニタされる。ステップ830において、アプリケーションセッション/接続のセキュリティレベルは、アプリケーションセッション/接続の持続時間がそのアプリケーションに判定されたセキュリティタイムリミットに到達する時に経時的に強化される。ステップ830において、いくつかのサブステップ840-870に分割され得る。
【0065】
ステップ840において、セキュリティは最初に、セキュリティ階層A202など、最低のセキュリティ階層に設定される。最低のセキュリティ階層A202中、セキュリティ規則の最小セットによって定義された最小数のセキュリティアクションが行われる。
【0066】
ステップ845において、セッション/接続持続時間は、最初のセキュリティタイムリミットと比較される。ステップ850において、セッション/接続持続時間が最初のセキュリティタイムリミットに到達したならば、セキュリティは、セキュリティ階層B204に強化される。セキュリティ階層B204中、基本セキュリティ規則によって定義された基本セキュリティアクションがトリガされて、アプリケーションセッション/接続に適用される。基本セキュリティアクションは、アプリケーションセッション/接続に対する基本セキュリティアクションを実行することによって適用される。
【0067】
ステップ855において、セッション/接続持続時間は、基本セキュリティタイムリミットと比較される。ステップ860において、セッション/接続持続時間が基本セキュリティタイムリミットに到達したならば、セキュリティは、セキュリティ階層C206に強化される。セキュリティ階層C206中、中間セキュリティ規則によって定義された中間セキュリティアクションがトリガされて、アプリケーションセッション/接続に適用される。中間データセキュリティアクションは、アプリケーションセッション/接続に対して基本中間データセキュリティアクションを実行することによって適用される。
【0068】
ステップ865において、セッション/接続持続時間は、中間セキュリティタイムリミットと比較される。ステップ870において、セッション/接続持続時間が中間セキュリティタイムリミットに到達したならば、セキュリティは、セキュリティ階層D208に強化される。セキュリティ階層C208中、進展したセキュリティ規則のセットによって定義された進展したセキュリティアクションがトリガされて、アプリケーションセッション/接続に適用される。進展したセキュリティアクションは、アプリケーションセッション/接続に対する進展したセキュリティアクションを実行することによって適用される。
【0069】
図8に示したプロセスは、クライアント105のいずれかとアプリケーション150A、150Bまたは150Cのいずれかとの間で確立されたアプリケーションセッション/接続ごとに反復され、それにより各アプリケーション150A、150Bまたは150Cにテイラードされる、ハッカーに対する時間ベースのセキュリティを提供する。
【0070】
本開示の実施形態は、以下の利点を有することができる。アプリケーションセッション/接続をプロファイルすることによってより良いセキュリティ決定を行う知識を増やす。アプリケーションセッション/接続をセキュリティ階層に相関させることは、より正しく判断できる(enlightened)セキュリティおよび意思決定に基づくことを可能にできる。相関したデータの分析の強化によってタイムリーな応答および完全なネットワークが危険にさらされる前にイシュ―(issue)を封じ込めることが可能になる。データセンターのすべてのデバイスとのセキュリティ統合のためのアプリケーションをプロファイルすることは、ネットワークにおけるハッカー制御の阻止(containing)を改善する。時間段階のセッション/接続は、新しいレベルのセキュリティ分析を開く。より深化した分析は、ハッカーがプラットフォームにアクセスするために自分達のハッキングを何度も繰り返さなければならないように行うことができる。システムがハッキングされればますます、アプリケーション、プラグ接続され得るOSまたはプロトコルのホールをセンサが捕捉する機会が増える。
【0071】
図9は、実施形態にかかる、ルータ115、ファイヤーウォール120、ロードバランサ125、クライアントデバイス105、フロントエンドサーバ130、またはバックエンドサーバ135など、コンピュータデバイスのハードウェアアーキテクチャを示している。一実施形態において、コンピュータデバイスは、プロセッサ902、メモリ903、ストレージモジュール904、入力モジュール(例えば、キーボード、マウスその他)906、ディスプレイモジュール907および通信インタフェース905、バス901を通じてデータおよび制御信号を互いに交換することなどのコンポーネントを含むコンピュータである。ストレージモジュール904は、1つまたは複数の非一時的なコンピュータ可読ストレージ媒体(例えば、ハードディスクまたはソリッドステートドライブ)として実装されて、本明細書に記載のセキュリティ特徴を実装するメモリ903と一体のプロセッサ902によって実行されるソフトウェア命令940(例えば、モジュール)を格納する。ソフトウェア命令の例は、ソフトウェアコードまたはプログラムコードになり得る。オペレーティングシステムソフトウェアおよび他のアプリケーションソフトウェアもまた、プロセッサ902上で実行するストレージモジュール904に格納されてよい。
【0072】
本開示を読んだ後、当業者は、セッション/接続分割セキュリティの付加的な代替設計をさらに認識することができる。従って、本開示の特定の実施形態およびアプリケーションが説明されているが、開示が本明細書に開示された正確な構造およびコンポーネントに限定されないことを理解されたい。当業者には明らかであろうさまざまな修正、変更および変形形態は、添付の特許請求の範囲で定義された本開示の精神および範囲から逸脱しない範囲で本明細書の本開示の方法および装置の配置、オペレーションおよび詳細に対して行われてもよい。