(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023010967
(43)【公開日】2023-01-20
(54)【発明の名称】rootレベルアクセス攻撃を防止する方法および測定可能なSLAセキュリティおよびコンプライアンスプラットフォーム
(51)【国際特許分類】
G06F 21/55 20130101AFI20230113BHJP
G06F 21/57 20130101ALI20230113BHJP
【FI】
G06F21/55
G06F21/57
【審査請求】未請求
【請求項の数】20
【出願形態】OL
(21)【出願番号】P 2022187347
(22)【出願日】2022-11-24
(62)【分割の表示】P 2021576332の分割
【原出願日】2020-06-19
(31)【優先権主張番号】62/865,083
(32)【優先日】2019-06-21
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】62/865,080
(32)【優先日】2019-06-21
(33)【優先権主張国・地域又は機関】US
(71)【出願人】
【識別番号】517255773
【氏名又は名称】サイエンプティブ テクノロジーズ インコーポレイテッド
(74)【代理人】
【識別番号】110001243
【氏名又は名称】弁理士法人谷・阿部特許事務所
(72)【発明者】
【氏名】ロバート パイク
(72)【発明者】
【氏名】ガリー ゼランコ
(72)【発明者】
【氏名】ブライアン グリーン
(57)【要約】
【課題】ターゲットデバイスにおける変更を検出する。
【解決手段】管理者レデンシャルを有するユーザによって実行されるターゲットデバイスでの変更を検出し、複数の認証ユーザのデバイスに要求メッセージを送信し、要求メッセージは、検出された変更が承認されたかどうかの指示を認証ユーザに要求し、複数の認証ユーザのデバイスから複数の応答メッセージを受信し、複数の応答メッセージのそれぞれは、検出された変更が対応する認証ユーザによって承認されているかどうかを示し、非承認を示す複数の応答メッセージの閾値数に少なくとも基づいて、検出された変更が非承認であることを決定し、ターゲットデバイスに前の状態にロールバックさせる、システム。
【選択図】
図5
【特許請求の範囲】
【請求項1】
プロセッサと、
命令を格納するコンピュータ可読媒体と、
を含むシステムであって、
前記命令は、前記プロセッサに実行されると、前記プロセッサに、
管理者クレデンシャルを有するユーザによって実行されるターゲットデバイスでの変更を検出することと、
複数の認証ユーザのデバイスに要求メッセージを送信することであって、前記要求メッセージは、前記検出された変更が承認されたかどうかの指示を前記認証ユーザに要求する、ことと、
前記複数の認証ユーザの前記デバイスから複数の応答メッセージを受信することであって、前記複数の応答メッセージのそれぞれは、前記検出された変更が前記対応する認証ユーザによって承認されているかどうかを示す、ことと、
非承認を示す前記複数の応答メッセージの閾値数に少なくとも基づいて、前記検出された変更が非承認であることを決定することと、
前記ターゲットデバイスに前の状態にロールバックさせることと、
をさせる、システム。
【請求項2】
前記コンピュータ可読媒体は、前記プロセッサに、
前記ターゲットデバイス上で動作する検出実行可能オペレーティングから、前記検出された変更が前記ターゲットデバイスのオペレーティングシステムへの変更であることを示すメッセージを受信すること、
をさせる命令をさらに含む、請求項1に記載のシステム。
【請求項3】
前記メッセージは、前記検出された変更が例外リストに含まれない前記ターゲットデバイスの前記オペレーティングシステムへの変更であることを示す、請求項2に記載のシステム。
【請求項4】
前記メッセージは、前記検出された変化の記述を含む、請求項2に記載のシステム。
【請求項5】
前記プロセッサに前記ターゲットデバイスを前の状態にロールバックさせることをさせる前記命令は、前記プロセッサに、
前記ターゲットデバイスにロールバックする命令メッセージを送信すること、
をさせる命令を含む、請求項1に記載のシステム。
【請求項6】
前記プロセッサに前記ターゲットデバイスを前の状態にロールバックさせることをさせる前記命令は、前記プロセッサに、
前記ターゲットデバイスに、前記ターゲットデバイスのオペレーティングシステムの現在のコピーを、既知の良好な状態である前記オペレーティングシステムの以前に記録されたコピーと置き換えること、
をさせる命令を含む、請求項1に記載のシステム。
【請求項7】
前記プロセッサに前記検出された変更が非承認であることを決定させる前記命令は、前記プロセッサに、
非承認を示す前記複数の応答メッセージの少なくとも3つの応答メッセージに基づいて、前記検出された変更が非承認であると決定すること、
をさせる命令を含む、請求項1に記載のシステム。
【請求項8】
前記コンピュータ可読媒体は、前記プロセッサによって実行されると、前記プロセッサに、
前記ターゲットデバイスでの複数の変更を検出することと、
前記複数の認証ユーザの前記デバイスに第2の要求メッセージを送信することであって、前記第2の要求メッセージは、前記複数の変更が承認されたかどうかの指示を前記認証ユーザに要求する、ことと、
をさせる命令をさらに格納する、請求項1に記載のシステム。
【請求項9】
前記コンピュータ可読媒体は、前記プロセッサによって実行されると、前記プロセッサに、
前記複数の認証ユーザの前記デバイスからの前記第2の要求メッセージに対する複数の応答に基づいて、前記複数の変更の1つまたは複数が非承認であることを決定することと、
前記ターゲットデバイスに、前記複数の変更の前記1つまたは複数の非承認の変更をロールバックさせることと、
をさせる命令をさらに格納する、請求項8に記載のシステム。
【請求項10】
前記コンピュータ可読媒体は、前記プロセッサによって実行されると、前記プロセッサに、
前記複数の認証ユーザの前記デバイスからの前記第2の要求メッセージに対する複数の応答に基づいて、前記複数の変更の1つまたは複数が非承認であることを決定することと、
前記ターゲットデバイスに前記複数の変更をロールバックさせることと、
をさせる命令をさらに格納する、請求項8に記載のシステム。
【請求項11】
管理者クレデンシャルを有するユーザによって実行されるターゲットデバイスでの変更を検出することと、
複数の認証ユーザのデバイスに要求メッセージを送信することであって、前記要求メッセージは、前記検出された変更が承認されたかどうかの指示を前記認証ユーザに要求する、ことと、
前記複数の認証ユーザの前記デバイスから複数の応答メッセージを受信することであって、前記複数の応答メッセージのそれぞれは、前記検出された変更が前記対応する認証ユーザによって承認されているかどうかを示す、ことと、
非承認を示す前記複数の応答メッセージの閾値数に少なくとも基づいて、前記検出された変更が非承認であることを決定することと、
前記ターゲットデバイスに、前記ターゲットデバイスに前の状態にロールバックするように指示させることと、
を含む方法。
【請求項12】
前記ターゲットデバイス上で動作する検出実行可能オペレーティングから、前記検出された変更が前記ターゲットデバイスのオペレーティングシステムへの変更であることを示すメッセージを受信すること、をさらに含む請求項11に記載の方法。
【請求項13】
前記メッセージは、前記検出された変更が例外リストに含まれない前記ターゲットデバイスの前記オペレーティングシステムへの変更であることを示す、請求項12に記載の方法。
【請求項14】
前記メッセージは前記検出された変化の記述を含む、請求項12に記載の方法。
【請求項15】
前記ターゲットデバイスにロールバックする命令メッセージを送信すること、をさらに含む、請求項11に記載の方法。
【請求項16】
前記ターゲットデバイスに、前記ターゲットデバイスのオペレーティングシステムの現在のコピーを、既知の良好な状態である前記オペレーティングシステムの以前に記録されたコピーと置き換えること、をさらに含む請求項11に記載の方法。
【請求項17】
非承認を示す前記複数の応答メッセージの少なくとも3つの応答メッセージに基づいて、前記検出された変更が非承認であると決定すること、をさらに含む請求項11に記載の方法。
【請求項18】
前記ターゲットデバイスでの複数の変更を検出することと、
前記複数の認証ユーザの前記デバイスに第2の要求メッセージを送信することであって、前記第2の要求メッセージは、前記複数の変更が承認されたかどうかの指示を前記認証ユーザに要求する、ことと、
をさらに含む請求項11に記載の方法。
【請求項19】
前記複数の認証ユーザの前記デバイスからの前記第2の要求メッセージに対する複数の応答に基づいて、前記複数の変更の1つまたは複数が非承認であることを決定することと、
前記ターゲットデバイスに、前記複数の変更の前記1つまたは複数の非承認の変更をロールバックさせることと、
をさらに含む請求項18に記載の方法。
【請求項20】
前記複数の認証ユーザの前記デバイスからの前記第2の要求メッセージに対する複数の応答に基づいて、前記複数の変更の1つまたは複数が非承認であることを決定することと、
前記ターゲットデバイスに前記複数の変更をロールバックさせることと
をさらに含む請求項18に記載の方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、rootレベルアクセス攻撃を防止する方法および可観測なSLAセキュリティおよびコンプライアンスプラットフォームに関する。
【背景技術】
【0002】
関連出願の相互参照
本出願は、2019年6月21日に出願された米国仮特許出願第62/865083号および2019年6月21日に出願された米国仮特許出願第62/865080号に対する優先権を主張し、これらは両方ともその全体が本明細書に組み込まれる。
【0003】
管理者アカウントまたはrootアカウントは、デバイス、オペレーティングシステム(OS)、またはシステム上で実行されるアプリケーションを完全に制御する。管理者がマシンにログインすると、管理者のユーザアカウントは、特権を有する「adminまたはadministrator」グループアカウントに配置され、管理者であるためのそのような動作および義務を実行する。悪意のある攻撃者がオペレーティングシステムまたはアプリケーションに侵入したとき、攻撃者は、トラックをクリーンアップし、攻撃者が望むデバイスまたはネットワークに対するアクションを何であれ実行するために必要とされるすべての必要な変更を実行可能とするため、管理者アカウントを使用してこの管理者特権を獲得しようと試み得る。
【0004】
さらに、現代のコンピュータネットワークは絶えずセキュリティ侵害にさらされている。多様な攻撃ベクトルが存在し、多様な軽減方法が実装され、これらの攻撃を回避または回復する。しかしながら、コンピュータのシステムを所有するエンティティは、しばしば、それらのコンピュータに対する攻撃を見抜く力に欠ける。管理者は、攻撃が発生した後の攻撃の時間枠の推定値を提供することのみが可能で、悪意のある行為者が極秘または機密データにアクセスすることが以前に成功した行為について企業が顧客に通知することが知られている。したがって、欠けているのは、デバイスへのrootアクセスを制御して攻撃を検出および回復する方法、および様々な攻撃が発生する時間枠およびこれらの攻撃から回復する時間枠を測定する方法である。
【0005】
したがって、欠如しているのは、root攻撃を防止し、デバイスのシステム内でコンプライアンスを測定することが可能なシステムである。
【発明の概要】
【0006】
本明細書では、ターゲットデバイスにおける変更を検出する管理システムが開示される。管理システムは、要求メッセージをマルチユーザ認証プールの認証ユーザの認証デバイスに送信し、検出された変更が承認されるかの指示を認証ユーザから得る。管理システムは、検出された変更が対応する認証ユーザによって承認されているかを示す複数の応答メッセージをマルチユーザ認証プールの認証デバイスから受信し、非承認を示す少なくとも3つの複数の応答メッセージに基づいて、検出された変更が非承認であることを受信する。変更が非承認であるという決定に応答して、命令メッセージが管理対象のデバイスに送信され、管理対象のデバイスに前の状態にロールバックするように命令する。
【0007】
本明細書では、ネットワーク内の1つまたは複数の管理デバイスに関するメトリックを測定するコンプライアンスモニタがさらに開示される。コンプライアンスモニタは、測定トラッカーによって検出された情報に基づいてログを生成し、生成されたログに基づく報告を受信者に送信する。コンプライアンスモニタはまた、測定されたメトリックが関連付けられた閾値測定値を超えることを示す1つまたは複数の測定トラッカーに基づいて、1つまたは複数のセキュリティアクションを開始する。
【図面の簡単な説明】
【0008】
【
図1】一実施形態による、rootレベル攻撃を監視し、被管理デバイス上でのコンプライアンスを測定するための被管理ネットワークを示す図である。
【
図2】一実施形態による、
図1の管理ライブラリを有する管理システムおよび被管理デバイスの詳細図を示すブロック図である。
【
図3】一実施形態による、被管理ネットワーク310の中央被管理クラスタを示すブロック図である。
【
図4】一実施形態による、
図1のコンプライアンスモニタをより詳細に示すブロック図である。
【
図5】一実施形態による、rootレベル攻撃を監視および防止するための処理を示す流れ図である。
【
図6】一実施形態による、被管理デバイスのセット上でのコンプライアンスを測定するための処理を示す流れ図である。
【
図7】一実施形態による、例示的なコンピューティングデバイスを示すブロック図である。
【0009】
例示のみを目的として、様々な非限定的な実施形態は、図面に示され、詳細な説明に記載される。
【発明を実施するための形態】
【0010】
図面および以下の説明は、単なる例示としての好ましい実施形態に関する。当業者は、本明細書に開示される構造および方法の代替実施形態を、開示されるものの原理から逸脱することなく採用され得る実行可能な代替物として認識し得る。
【0011】
ここで、いくつかの実施形態を詳細に参照し、その例を添付の図面に示す。実行可能な限り、類似または同様の参照番号が図中で使用され、類似または同様の機能を示し得ることに留意されたい。図面は、説明のみを目的として、開示されたシステム(または方法)の実施形態を示す。当業者は、本明細書に説明される原理から逸脱することなく、本明細書に図示される構造および方法の代替実施形態が採用され得ることを、以下の説明から容易に認識するであろう。
【0012】
概要:
rootまたは管理者ユーザまたはグループが、オペレーティングシステム(OS)上で望ましくないまたは認証されていない変更を行うことを防止するシステムを実装することが可能である。代わりに、全体的な管理は、現在、リアルタイムポリシー駆動型システム内に多様なユーザを有するという極めて重要なシナリオを満たす必要があり、OSまたはリモートレベルで実行されるすべての変更を処理する。多様なユーザがそれらの変更にサインオフしない限り、認証されていない変更は許可されない。
【0013】
ハッカーは、コンピュータの所有権を取得すると、ハッカーは、エスカレートして、管理者パスワードを算出する。今日、ハッカーが、管理者パスワードでログインすると、ファイアウォールルールの変更に入り、それらを開くことが可能である。管理者はマシンをフルコントロールしてそれらの変更を行うので、OS内のルール変更が取り込まれ、適用される。攻撃が適用される場合、OSカーネルは選択肢を有さず、ローカルOS内でそれらの変更を受け入れる。しかしながら、マシンの外部と同様にマシン内の監視サービスは、変更状態を起動させ、それが機械の既知の良好な状態と一致していないので、直ちに変更をロールバックする。これらのロールバック変更は強制的に行われ、警報がセキュリティシステムに送信され、ここでセキュリティオペレーションセンターが変更に対して警報を受け得る。警報を受けると、セキュリティシステムは、様々な管理承認リスト上の多様なユーザに警告および/またはメッセージを送信し得、多様なユーザはその後、変更を受け入れることが可能である。代替方法として、変更が受け入れられない場合、システムは、変更を侵入としてログし、警告、警報、またはセンサを起動し得る。
【0014】
システムのアップグレードおよびパッチの場合にも課題が生じる。通常、rootユーザは、システム上で任意のアクションを実行する特権を有するので、いつでもパッチ変更を受け入れることが許可される。しかしながら、これにより、ハッカーは、パッチアップグレード中に生じ得る数百万の変更内に気付かれることなく、コアOSに変更を加えるであろう。これは、どのプラットフォームに対してもファイルベースの変更管理を行うことを不可能にし、リアルタイムで変更を検出する。しかしながら、一実施形態では、これが発生するのを防ぐために、セキュリティシステムが実装され、異なる処理におけるこれらの変更のみを許可し、本番状態にあるOSに対していかなる変更も厳密に許可しないようにする。すべての変更は、管理者だけで本番システムに変更を適用することができないように、様々な管理承認リスト内のユーザを介して制御され承認されなければならない。これは、セキュリティシステムが任意の変更を検出し、検出漏れエラーおよび誤検出エラーを低減することを可能にする。
【0015】
悪意のある攻撃者がコンピュータの任意のローカル監視サービスを無効にしようと試みる場合、セキュリティシステムは、変更を検出することができる(例えば、ローカル監視サービスは、ハートビート信号をセキュリティシステムに送信することに失敗する場合があり、またはpingに応答しない場合があり得る)。変更を検出すると、セキュリティシステムは、(例えば、ハッカーがアクセスできないファームウェアまたは他の場所に記憶された再構築ルーチンを介して)コンピュータ上のソフトウェア層をワイプし再インストールすることによって、コンピュータの再構築を開始し得る。これにより、システムは元の状態に戻る。
【0016】
ロールバックは、既知の良好な状態であるものに中心に制御される。既知の良好な状態シグネチャーの複合コピー(3以上)を有することによって、1つのコピーが状態から外れると、他のコピーはそれを元の状態に戻す。rootユーザは状態を変更することが可能であるが、そのローカルコピーを変更することのみ可能である。様々な管理承認リスト上でユーザによる承認を介して中央で実行された変更がある場合、これは、良好な状態シグネチャーの複合コピーを変更する。したがって、全てのコピーを変更することによってのみ、システムは変更を受け入れる。さらに、他のコピーは、悪意のある攻撃者がアクセスできるコンピュータ内に格納されていない。これにより、攻撃者がシグネチャーのこれらのコピーにアクセスすることが不可能になる。
【0017】
複合ユーザ管理承認システムは、様々なユーザが、セキュリティシステムを介してこれらのユーザに提示されるダッシュボードユーザインターフェース内でサインオフすることを要求する。承認システムはまた、特別なグループを含んでもよい。例えば、セキュリティオペレーションセンターでは、12人の作業員が勤務しており、これらのうちの2/3が、任意の変更を承認するために必要とされ得る。しかしながら、オペレーションを案内され、および/または顧客は、最終的な承認を提供することを更に要求される場合がある。
【0018】
様々な管理承認リスト上のすべてのユーザ(例えば、3人のユーザ)が変更を承認すると、コンピュータは認証されたリリース状態(ARS)になる。加えて、コンピュータは、認証されたプロビジョニング状態(APS)に置かれてもよい。この状態は、様々な管理承認リスト上のユーザが各変更を承認することを必要とせずに、様々な変更が行われることを可能にする。代わりに、すべての変更が行われ、その後、すべての変更が即座にサインオフすることが可能であるように、コンピュータはARS状態に切り替えられる。APS状態は、すべての変更を依然として追跡するが、リアルタイムでマシンのロックダウンまたはロールバック変更を強制しない。
【0019】
加えて、コンピュータは、認証されたメンテナンス状態(AMS)に置かれてもよい。これは、構築が行われ、テストが実行される場所である。この状態は、非追跡状態の目的として使用され、一般に、サーバに展開される構成を受信するのを待機しているサーバに使用される。これらのコンピュータは、典型的には、アプリケーションが適用される前に在庫管理可能なプール内にある。この状態でパッチを適用し、新たなOSを構築する。
【0020】
様々な管理承認リスト上の承認ユーザへのいかなる攻撃も防止するために、セキュリティシステムは、Internet Protocol(IP)署名シナリオを使用し、承認は、使用されるパスワードおよびキーと同様に、あるIP制限内で行われなければならない。したがって、ユーザが、IPの許可されたリスト上にないインターネット上のIPから承認しようとした場合、セキュリティシステムは、ユーザ承認が無効なネットワークソースからのものであるというセンサを起動する。virtual private network(VPN)が利用可能であったとしても、それは、承認を付与しないようにロックすることが可能である。
【0021】
さらに、新しいセットの測定および技術を使用して、今日の環境で直面する問題に対処することが可能である。これらの新しい測定値は今日存在せず、これらの単位の任意の組み合わせは、実際に測定され報告されることが可能な新しいレベルの「セキュリティサービスレベル合意」が可能になる。これはまた、任意のタイプのコンプライアンスシナリオの測定可能な報告のための新しいレベルのセキュリティ報告を可能にする。これは、すべての新しいレベルのセキュリティを強化し、現在の技術が既存の環境内でどれほどうまくまたは弱く展開されているかを明らかにすることが可能である。
【0022】
いくつかの実施形態では、これらは以下の測定値を含む。
【0023】
Mean Time To Detection, MTTD(検出平均時間):検出システムがハッカーを検出することが可能となる時間まで、ハッカーがネットワークに接続された時間を測定するコア技術。これは、秒単位で測定されるカウンタを含んでもよい。MTTDは、今日世界が直面している最も困難なシナリオの1つである。測定は、オペレーティングシステム(OS)/アプリケーション/データベースまたはサービスに損傷がある状態にあるマシンに、接続が確立された時間またはアプリケーションが適用された時間を計算する。本技術は、その他の主要な特許を活用して、MTTD時間に基づいてその状態を動的に変更することを可能にする。SLAは、この新しい測定技術から構築することが可能である。この状態で設計されたカウンタは、機械学習を使用してさらに分析することが可能であり、様々なソースIP、mac、WWN、プロトコルなどのロギング、警告、スクリプト、報告、および相関機械学習などの他のソフトウェア要素を起動することも可能である。
【0024】
Mean Time To Isolation, MTTI(分離平均時間):ハッカーが検出された後、ハッカーが環境リソースに対してさらなる損傷を行うことから分離するのにかかる時間までの時間を測定するためのコア技術。これは、秒単位で測定されるカウンタを含んでもよい。この測定は、すべての接続された状態およびリソースがフィルタリングされて、分離する時間に対する検出時間を計算し、ハッカーがそれらのセキュリティ侵害された状態の間にリソースにアクセスすることを防止する。問題を認識してから分離までの計算された時間は、ほぼリアルタイムであるべきであるが、今日の技術では、反応時間はすべて手動であり、人間によって駆動される。この技術は、何百万ものソースからのリアルタイムハッキングに対する自動応答を同時に行うことを可能にする。リアルタイムカウンタおよびカウンタの結果に基づく応答に対して、自動攻撃または機械駆動攻撃に対する防御を無用にする。カウンタは、アプリケーションまたはOSタイプごとに動的である。それは、聖燭節の日に応答するためのリアルタイムでの学習を構築することを目的とする。分離時間は、ハッキングされたイベントの応答時間を測定する際の重要なカウンタである。この新しい測定ツールによって実行されるアクションはまた、ハッカーのアクションにリアルタイムで応答し、今日の市場における任意の比較可能な技術よりも速く攻撃を管理する。SLAは、ハッカーに対するより強力な防御を可能にするこの新しい測定から構築することが可能である。
【0025】
Hacker Investigation Tracking Time, HITT:ハッカーのアクションを記録し、ハッカーのソースを追跡しながら、ハニーポットおよび他のルアーによって、ハッカーがシステムに留まる時間の長さを決定するためのトラッカー。これは、秒単位で測定されるカウンタを含んでもよい。この測定は、ハッカーが追い出されるか、または単に放置される時間まで、ハッカーが分離されるまでの時間を計算する。この新しいレベルの測定はまた、ハッカーを騙すことに寄与し、他のリソースがハッカーのトラックを記録し追跡するために使用されている間に、ハッカーが関与し続ける閲覧を捕捉するために偽のデータを動的に提示することによって、ハッカーがより多くの偽のデータに関与し続ける。新しい測定ツールはまた、サブ秒のシナリオで時間に基づく新しいレベルのSLAを可能にする。例えば、カウンタ測定値は30.6秒であるが、ミリ秒単位で測定することが可能である。
【0026】
Mean Time To Repair, MTTR(修復平均時間):ハッカーが立ち去ったか、または追い出された後、OS/アプリケーション/データベースを修復するために測定された時間。これは、秒単位で測定されるカウンタを含んでもよい。
【0027】
Mean Time To Service, MTTS:サービスの回復時間は、OS/アプリケーション障害によるサービス途絶の場合に測定される必要がある。この測定は、サービスがオフラインであり、構成要素(VM、コンテナ化システム、物理マシンなど)がセッション要求に応答するのに利用可能でない時間を計算する。MTTSは、主にサービス可用性性及び稼働時間メトリックを監視及び管理する。これは、データ出力を有する機械学習要素全体に寄与する。
【0028】
これらの測定トラッカーまたはカウンタは、上述の検出時間を測定することが可能であり、任意の統合アプリケーション上の任意のOSに対するセキュアサービスを介して有効化することが可能である。カウンタは、センサの組み合わせに基づいて調整可能であるが、以下に限定されない。
1)OS/アプリケーション構築完了;2)前記システムがサービスを開始し、ユーザまたは要求のためのトラフィックを受け入れるとき;3)アプリケーション固有またはサービス固有のセンサ(例えば、カウンタは、何らかの特定のアプリケーション処理が開始する際に起動される。);4)ユーザのログイン;5)ファイルシステムへのアクセス、ポートへのアクセス、ログエントリー、完全性チェッカー、簡単なアップタイムクロック;または、6)その他。
ユーザ活動/システム自動化活動は、測定可能なカウンタの一部であってもよい。
センサは、互いに、または既存のサードパーティセンサまたはカウンタと統合されることが可能である。
【0029】
一実施形態では、カウンタは、OSがプロビジョニングされた、または既知の良好な状態に復元された時点から開始される。OSがサービスのために利用可能なプールに配置されると、OSへの接続は、現在、サービスのために「利用可能な」プールに配置される。別の実施形態では、調整可能なアルゴリズムに基づいてカウンタが動的に初期化され、割り当てられ、上記の時間の任意の組合せを測定する。これらの初期化は、システムに対してローカルであるか、集中化されるか、または多様なシステムにわたって分散され得、セキュリティキーを使用して実装され得る。
【0030】
別の実施形態では、起動されたハニーポットおよびトラックとしてシステム上に配置された偽のリソースに基づいてカウンタを初期化し得る。例えば、通常の動作中に通常はアクセスされないOS内の偽のフォルダは、悪意のある攻撃中にボット又は人間によってアクセスされ得る。追加のハニーポットは、ユーザアカウントの形態であってもよい。例えば、システムは、10以上のユーザアカウントを有してもよく、そのうちの6つは、カウンタを起動するセンサであるハニーポットである。これらの偽のユーザアカウントのいずれかがアクセスされる場合、システムは、ハッカーがシステムにアクセスしたと決定する。adminはrootグループの一部であるが、rootおよび他の管理者アカウントはすべて、ロールを起動するセンサ、SLAモニタ、マシン発行の状態、および開始するカウンタであり得る。
【0031】
別の実施形態では、稼働中のプールに入ると、カウンタを開始し得る。OS/アプリケーションへの各接続はプロファイルされ、測定される。カウンタに組み込まれたセンサを起動することが可能である。
【0032】
別の実施形態では、システムの任意の修正が、カウンタのうちの1つまたは複数を起動し得、カウンタは開始される。いくつかの場合では、システムは、OSが稼働中である間、インラインでのパッチングを許可しないことがある。インラインでのパッチングにより、ファイルシステムおよびOSの構成要素に対する多すぎる変更が、検出されるべき(カウンタを起動し得る)多すぎる検出漏れおよび誤検出を引き起こすことを可能にする。代わりに、パッチはオフラインで行い得、検出される検出漏れおよび誤検出の数を減少させる。これは、精度が99%以上に達することを可能にする。
【0033】
システムは、外部から監視され得、ファイアウォールまたは他のロードバランサを通して許可されたアクセスを介して外部システムにローカルシステムを監視させることによって、カウンタを起動すべきかを決定し得る。制御時間またはアクセス時間もまた、リモートで監視されてもよい。
【0034】
一実施形態では、OSの電源がオフになったとき、または起動されたセンサに基づいてリソースアクセスを示す動的アクセス制御リスト(動的ACL)に基づいて、カウンタを停止する、すなわち、イベントの終了または終わりを検出し得る。例えば、ローカルWebサーバにおいてrootログインが検出され、OSに変更を加えようとしている場合、データベースへの接続は動的に解除される。
【0035】
ハニーポットリソースの使用の場合、これらのファイルまたはリソースへのアクセスは、システムの分離などのアクション応答を起動し得、システムをハッキングされた状態に設定するであろう。これにより、最終的にOSが完全に再構築され、ハッカーは動的に生成されたハニーポットOSに捕らえられる。再構築後にハッキングインシデントが終了するので、再構築後にカウンタを終了し得る。OSの再構築は、システム上の既存のソフトウェア層のワイプ、およびソフトウェア層の元の状態への再イメージング、再構築、および/または再インストールを含み得る。ローリングシステムにおけるOSの稼働時間は、アプリケーションに合わせて調整される。OSの例示的な寿命は、通常、最大約30分に制限されるが、10秒ほどの短さとすることも可能である。OS標準構成の寿命が10秒であり、サービス上で測定されたSLAが30秒である場合、実際のローリング時間は20秒になる。OSは、SLAに基づいて再構築され、したがって、OS内にあるすべての脅威は、そのSLA期間内に実行される必要があるので、無関係になることを強いられる。悪意のある活動からのすべてのトラフィックは、特定のパターンを検出する機械学習アルゴリズムを介して分析され得、さらに攻撃に関連する情報を決定し得る。
【0036】
システムは、コンテキスト機械学習をサポートし得、カウンタを停止し得ると共に、システムのホストまたはファームウェア(例えば、BIOS)への動的な呼び出しとしてデバイスに対する制御をし得、サーバをリブートし得、またはシステムが仮想マシン(VM)である場合にはVMをリブートし得、またはシステムがコンテナ化された環境におけるコンテナである場合にはコンテナを再構築し得る。これらの場合のいずれにおいても、ハッカーによるシステムへのアクセスは終了しており、したがって、ハッカーがそのSLA時間内に更なる攻撃を行うことは不可能である。サーバの再構築は、アクセスのための時間期間を短縮することを可能にするので、ハッカーが、システムにさらなる損傷を引き起こすことは不可能である。
【0037】
そのようなカウンタの1つの例示的な用途は、クレジットカード取引を処理するシステムのためのものである。そのような用途では、上述した任意の平均時間対する所望の最大時間を示すSLA閾値は、各取引の計算された取引時間に基づいてもよい。機械学習または他のアルゴリズムが、クレジットカード取引の最小および最大取引時間を決定するために適用されてもよく、SLAは、TTD、TTI、TTC、およびTTHのための最大および/または最小時間を設定するために、これらの測定値の周辺で動的に構築されてもよい。
【0038】
分割セッション状態にあるノードは、それらのカウンタを順方向に進め得る。同じメモリ/セッション状態の多様なノードを有することは、物理デバイスにわたってすべてのSLAカウンタを進めるであろう。これはまた、接続/セッション/複製活動のすべての形態を測定するのに役立つであろう。
【0039】
カスタムSLAカウンタは、その設計された出力を理解する今日の任意の監視技術によって監視され、ピックアップされることが可能である。
【0040】
SLAカウンタは他のカウンタと組み合わせることが可能であり、セキュリティ姿勢を改善することが可能であると共に、外部機械学習処理内の高度な機械学習能力も可能にする。
【0041】
MTTD、MTTI、MTTH、MTTSのツールは、統合することが可能なログを生成し得る。ログデータは、各ツールの時間枠および測定値の追跡を実行する。ログデータは、さらなる分析のために任意のデータベースタイプにおいて分析することが可能である分析パフォーマンスカウンタのように集中化することが可能である。
【0042】
測定可能なSLAは、報告要素に関連付けられ得る。測定カウンタは、アプリケーションの必要性に基づいて最小から最大の範囲をカスタマイズするためのアプリケーション認識ポイントを提供する。カウンタは、時間間隔のすべてのレベルでイベントを生成するために使用することも可能である。
【0043】
これらの新しいカウンタが、測定可能なセキュリティコンプライアンスを有する現在のセキュリティ測定可能なSLAを使用して、セキュリティコンプライアンスシナリオ全体を変更することができるので、これらの統合されたカウンタを有することは、コンプライアンスに対するセキュリティスタンスを根本的に改善することが可能である。
【0044】
セキュリティコンプライアンスは、どちらかと言うと、今日では、ほとんどの企業が標準のセットに基づいてコンプライアンスを遵守しているかまたは遵守していないかを決める処理である。システムまたはプラットフォームがコンプライアンスを遵守しているかを検証することを外部の人間駆動の処理ではなく、リアルタイムで測定することが可能であるようにするために、上記で使用されるカウンタは、新しいレベルのコンプライアンスを切り開く。それは、検出時間が第1の時間閾値未満でなければならず、分離時間が第2の時間閾値未満でなければならず、ハッキング時間(すなわち、MTTH))が第3の所定の時間閾値未満でなければならないコンプライアンスレベルカウンタで、測定の新しいレベルを切り開く。これらの新しいカウンタが満たされて測定される場合、システムは、測定されるようにコンプライアンスを遵守している。これは、上記に含まれるカウンタのようないかなる形態のリアルタイム測定も実行しない人間レベルの質問によって駆動される従来のポリシーとは対照的である。
【0045】
さらに、従来のシステムでは考慮されていなかった問題には、これらのシステムが、コンピューティングシステムおよびそのOSが稼働中に存続することを長期間許容したことがあった。これにより、これらのシステムは、潜在的な攻撃者がシステム内に存在しことを常に考慮しなければならない。対照的に、上述のようにシステムを再構築することによって、このローリングシステムアーキテクチャは、平均時間を数秒および数分に短縮し、これを使用してSLAを計算し得る。
【0046】
これらのシステムに関するさらなる詳細は、
図1-
図7を参照して以下に説明される。
【0047】
例示的なシステム:
図1は、一実施形態による、rootレベル攻撃を監視し、被管理デバイス上のコンプライアンスを測定するための被管理ネットワーク100を示す。図示されるように、
図1は、ネットワーク110、被管理デバイス120A-120N(一般に、被管理デバイス120と称される)、管理システム130、マルチユーザ認証プール140、コンプライアンスモニタ150、およびファイアウォール160を示す。要素の特定の配置および数がここに示されているが、他の実施形態では、アイテムの配置およびレイアウトが異なる。例えば、コンプライアンスモニタ150および/またはファイアウォール160は、管理システム140の構成要素とし得る。一実施形態では、本明細書で説明される要素のうちの1つまたは複数は、ファームウェア、field programmable gate array(FPGA)、集積回路、チップ、SoC、または他のハードウェアデバイスで実装される。
【0048】
有線、無線、またはそれらの組み合わせであることが可能なネットワーク110は、少なくとも図示される要素間の通信を可能にし、インターネット、LAN、VLAN(例えば、VPNを伴う)、WAN、または他のネットワークを含み得る。一実施形態では、ネットワーク110は、Secure Hypertext Transfer Protocol(HTTPS)、Transmission Control Protocol/Internet Protocol(TCP/IP)、Uniform Resource Locators(URLs)、およびDomain Name System(DNS)などの標準的な通信技術および/またはプロトコルを使用する。別の実施形態では、エンティティは、上記で説明されるものの代わりに、またはそれに加えて、カスタムおよび/または専用データ通信技術を使用することが可能である。一実施形態では、ネットワーク110上のすべての通信が管理システム130によって監視される。したがって、ネットワーク110上の要素と他の外部ネットワークとの間の任意の通信は、安全であるか、トンネリングされているか、平文であるか、またはそれ以外であるかにかかわらず、ファイアウォール160などのファイアウォールによってゲーティングされ得る。この方法を使用して、管理システム130は、任意の変更についてネットワーク上の活動を監視することが可能である。
【0049】
被管理デバイス120A-120Nは、互いに通信し、場合によってはネットワーク110を介して外部ネットワーク上のデバイスと通信するコンピューティングデバイスである。これらのデバイスは、コンピュータ可読命令を実行することが可能な任意のタイプのデバイスを含み得、
図7を参照して以下で説明される構成要素を含むアーキテクチャを有し得る。例えば、それらは、スマートフォン、Internet of Things(IOT)デバイス、ワイヤレスデバイス、スマートスピーカー、ウェアラブルデバイス、タブレット、仮想/人工/複合現実デバイス、デスクトップコンピュータ、ラップトップ、サーバコンピュータ、ワイヤレスアクセスポイント、ルータ、ダム端末などを含み得る。被管理デバイス120は、介在するネットワークを介さずにネットワーク110に直接接続してもよいし、外部ネットワークを介してネットワーク110に接続してもよい。これは、ネットワークトンネル(例えば、VPN)などの安全な通信方法を使用して達成し得る。一実施形態では、被管理デバイスが外部ネットワークを介してネットワーク110に接続すると、任意のネットワークとのそのすべての通信が管理システム130によって監視される。
【0050】
一実施形態では、各被管理デバイス120は、実行可能ファイル124を実行するのに使用され得るオペレーティングシステム(OS)122を含み得る。各被管理デバイス120はまた、オペレーティングシステム122および実行可能ファイル124を使用して実行されるアクティビティを監視し、オペレーティングシステム122の使用中に検出される任意の変更を元に戻すために、管理システム130と通信するために使用される管理ライブラリ126を含み得る。
【0051】
被管理デバイス120におけるオペレーティングシステム122は、使用される基本システムソフトウェアを提供するコンピュータ可読命令のセットであり、コンピュータハードウェア、ハードウェアリソース、ソフトウェアリソースを管理し、管理デバイス120によって実行される実行可能ファイル124に共通インターフェースおよびサービスのセットを提供する。オペレーティングシステムの例は、WINDOWS(登録商標)、LINUX(登録商標)ベースのオペレーティングシステム、FreeBSD、OS X(登録商標)などを含む。実行可能ファイル124はまた、オペレーティングシステム122を介して被管理デバイス120によって実行されることが可能であるが、機能するためにオペレーティングシステム122によって提供されるサービスおよびインターフェースとも通信する、コンピュータ可読命令のセットである。オペレーティングシステム122はまた、オペレーティングシステム122および/または実行可能ファイル124の設定を構成し、ユーザまたは他のデータ(例えば、データベースファイル、メディアファイル、テキストファイルなど)を記憶するのに使用され得る非実行可能コンピュータ可読情報を表すデータ125を含み得る。データ125はオペレーティングシステム122の一部であるように示されているが、いくつかのデータ125は、OS非依存であってもよく、異なるオペレーティングシステム122が被管理デバイス120に使用された場合であっても利用することが可能である。オペレーティングシステム122、実行可能ファイル124、およびデータ125のためのコンピュータ可読命令および情報は、被管理デバイス120に、またはネットワーク110を介して被管理デバイス120によってアクセスされることが可能なリモート位置に常駐する記憶媒体上に記憶され得る。
【0052】
オペレーティングシステム122は、オペレーティングシステム122のコア機能を提供するオペレーティングシステム122のコンピュータ可読命令の一部であるカーネルを有する。これは、典型的には、ハードウェアリソースへのインターフェースを提供すること、仮想メモリインターフェースを提供すること、オペレーティングシステム122上で実行されている多様な実行可能なプログラム124間でコンテキストを切り替えること、およびファイルへのアクセス、ハードウェアリソース(例えば、ネットワークアクセス、信用されたプラットフォームモジュールアクセス、外部I/O(入力/出力)アクセスなど)等のオペレーティングシステム122によって提供されるリソースへの様々なレベルのセキュリティアクセスを提供することを含む。カーネルは、典型的には、ユーザ許可方式に基づいてアクセスを制限し、それによって、rootまたは管理者ユーザは、オペレーティングシステム122が提供することが可能なすべてのリソースへの完全なアクセスを有し、他のユーザは、これらのリソースへのより制限的なアクセスの異なるセットを有する。各ユーザに与えられるアクセスは、それらの許可のセットである。各ユーザには、システム上のユーザアカウントが提供され、ユーザは、何らかのクレデンシャル認証システム(例えば、ユーザ名/パスワード、回転トークン、バイオメトリクス)を介してアクセスすることが可能である。このユーザアカウントは、アクセスされると、前述の許可をユーザに提供する。より制限的な許可を有するユーザは、リソースの小さなサブセットのみにアクセスするように制限されているので、より制限的な許可を有するユーザは、オペレーティングシステム122上で多くの望ましくないアクションを実行することが不可能である。しかしながら、管理者、root、またはシステムユーザアカウントは、多くのアクションを実行することが可能であり、そのうちのいくつかは、承認されていないと見なされるかもしれない。rootアカウントへのアクセスは、通常、認証されたユーザによってアクセスされる場合、必ずしも被管理デバイス120にセキュリティリスクをもたらすとは限らない。しかしながら、この同じrootアカウントが、オペレーティングシステム122のコードの脆弱性を介して、またはrootアカウントの認証されたユーザのクレデンシャル認証をセキュリティ侵害することによって、悪意のあるユーザによってアクセスされる場合、悪意のあるユーザは、被管理デバイス120への無制限のアクセスを有し、悪意のある攻撃者によって使用されるセキュリティ侵害されたユーザアカウントが、ネットワーク上の他のデバイスにアクセスに使用されることが可能な場合、潜在的に被管理ネットワーク110上の他のデバイスへの無制限のアクセスを有するので、このことは、被管理デバイス120に重大な脅威をもたらす。同様に、システムアカウントを使用して、悪意のあるコードを含む、オペレーティングシステムに対する無認証のパッチまたはアップグレードが発生する場合がある。これらの制限されていないユーザアカウントによって引き起こされる変更は、非承認である場合があり、機密情報(例えば、機密であるデータ125)を被管理ネットワーク100内の記憶装置から盗むこと、ネットワーク110内にバックドアアクセスを作成すること、ネットワーク110上のデバイスに機能を停止させることなどのネガティブな結果をもたらす場合がある。
【0053】
これらのタイプの変更を軽減するために、各被管理デバイス120は、管理ライブラリ126をさらに含み、オペレーティングシステム122内のアクティビティを監視し、変更が検出された場合、管理ライブラリ126は、例えば、被管理デバイス120を以前の既知の状態にロールバックすることによって変更を修正することが可能である。管理ライブラリ126は、被管理デバイス120およびオペレーティングシステムへの任意の変更を監視するオペレーティングシステム122内の実行可能ファイル124として実行される1つまたは複数の検出バイナリを導入することによって、この機能を実行し得る。任意の変更が、被管理デバイス120に対して許容可能/承認される変更の例外リストの外にある場合、1つまたは複数の検出バイナリは、変更が検出されたことを示す警告/メッセージを管理ライブラリ126または管理システム130に送信し得る。変更が認証されていないと決定される場合、管理ライブラリ126は、未承認の変更によって引き起こされた任意の変更を元に戻し得る。管理ライブラリ126は、管理システム130から受信したメッセージから変更が認証されていないと決定してもよい。変更を元に戻すために、管理ライブラリ126は、オペレーティングシステム122、ならびに任意の関連付けられた実行可能ファイル124およびデータ125をより前の状態にロールバックし得る。これは、関連する実行可能ファイル124およびデータを含む現在のオペレーティングシステム122を、オペレーティングシステム122の以前のイメージで置換することによって実行され得る。システムの以前のイメージは、対応する電子記憶装置に以前に格納され、既知の良好な状態にあるオペレーティングシステム122、実行可能ファイル124、およびデータ125の以前の状態の正確なコピーである。このタイプのロールバックは、さらなる悪意のあるアクティビティが被管理デバイス120のオペレーティングシステム122内で発生することを防止する。代替として、管理ライブラリ126は、例外リストの外にある変更が検出された瞬間にロールバックを実行し、承認されたと決定される場合、変更を被管理デバイスに戻すことを適用する。管理ライブラリ126に関するさらなる詳細は、以下の
図2-
図6を参照して提供される。
【0054】
管理システム130は、ネットワーク110上の任意の被管理デバイス120における変更のメッセージをそれらの管理ライブラリ126から受信し、変更にどのように応答するかに関する命令を含むメッセージで被管理デバイス120上の管理ライブラリ126に命令する。上述のように、管理ライブラリ126から検出された変更の任意の指示は、管理システム130に送信され得る。これらの変更は、例外リスト上にないなかったものであり得る。このメッセージは、場合によっては回転キーを介して暗号化し得る。それに応答して、管理システム130は、その被管理デバイス120の例外リストに基づいて、報告された変更が例外リスト内に例外としてリストされているかを決定し得る。変更が例外リストにリストされている場合、管理システム130は、変更を許可することを示すメッセージをその被管理デバイス120の管理ライブラリ126に送信し得る。例外リストは、どのタイプのアクセス、どのくらいの程度/量、およびどのタイプのリソースが許容可能であるかに関するルールを含み得る。一方、報告された変更が例外リストにリストされていない場合、管理システム130は、1つまたは複数のメッセージを、その変更が許容可能であるかを決定する、すなわち、変更が承認されているかを決定するマルチユーザ認証プール140に送信し得る。他の実施形態では、管理システム130は代わりに、例外リストをチェックすることなく、被管理デバイス120からの可能な変更のすべての受信されたメッセージについて、マルチユーザ認証プール140からの承認を要求するメッセージを送信し得る。
【0055】
マルチユーザ認証プール140は、管理対象デバイス120から報告された変更を承認または非承認することが可能な許可ユーザのセットである。これらの認証ユーザは、管理者、システムオペレータ、顧客、セキュリティ専門家などであり得る。マルチユーザ認証プール140の各認証ユーザは、認証デバイス142A-142C(一般に、認証許可デバイス142)などの認証デバイスを有し得る。ここでは3つのデバイスが示されているが、他の実施形態では、プール140は、より多くのデバイスおよび承認認証を有する関連付けられたユーザを含むことが可能である。これらの認証デバイス142は、コンピューティングデバイス(
図7を参照して以下で説明されるものなど)であり、それら自体が被管理デバイス120であり得る。各認証デバイス142は、出力デバイスの標準セット(例えば、ディスプレイ、オーディオ出力、ワイヤレスインターフェース)のうちのいずれか1つを介して、報告された変更の説明をデバイスのユーザに知らせることが可能である。認証デバイス142はまた、例えば、クレデンシャル143A-143Cを介してユーザを認証するための入力をユーザから受信し、報告された変更が承認であったかまたは非承認であったかを示す入力をユーザから受信することが可能である。この入力は、入力デバイスの標準セット(例えば、キーボード、マウス、タッチスクリーン)のうちのいずれか1つを介して受信され得る。各認証デバイス142は、何らかの通知方法(例えば、音声、触覚、視覚、または他の出力)を介して、特定の被管理デバイス120について変更が検出されたことをユーザに警告し得る。ユーザは、自身を認証するために自身のクレデンシャル143を入力し得る。これらのクレデンシャルは、被管理デバイス120に関してユーザを認証するのに使用されるクレデンシャルと同様であってもよい。それらは、暗号化鍵、証明書、バイオメトリックなどを含み得る。証明書は、マルチファクタ認証処理を含み得る。これらのクレデンシャル143は、照合のために管理システム130に送信されてもよく、またはローカルに照合されてもよく、その後、認証デバイス142は、変更の説明を認証デバイス142のユーザに出力する。認証ユーザには、認証デバイス142を介して、変更の説明が提示される。これは、ログファイル情報、アクセスタイプの記述、アクセスを実行するのに使用されるユーザアカウント、アクセスされるリソース、検出される特定のエラー(例えば、通信の損失)などを含み得る。
【0056】
認証デバイス142の各ユーザは、報告された変更を承認するための設定時間量を有し得、その後、管理システム130は、デフォルトで、ユーザが変更を承認しないと仮定する。さらに、管理システム130が、変更が承認されたと決定し、変更を継続することを許可するように管理ライブラリ126に命令する前に、認証デバイス142の閾値数のユーザが変更を承認しなければならない。閾値数の承認に達していない場合、または閾値数の非承認メッセージが受信される場合、管理システム130は、管理ライブラリ126に変更を非承認にするように命令する。この修正は、例えば、前述のように変更をロールバックすることを含み得る。代替として、変更が管理ライブラリ126によって先にロールバックされる場合、管理ライブラリは変更を元に戻さない。代替として、管理システム130は、マルチユーザ認証プール140のあるパーセントのユーザから承認を受信する場合にのみ、変更が承認されると決定し、あるパーセントのユーザから非承認メッセージを受信する場合には、変更が非承認であると決定する。システムをロールバックするために管理ライブラリ126にメッセージを送信することに加えて、管理システム130は、変更が検出された被管理デバイス120への外部ネットワークアクセスをブロックするためにファイアウォール160にメッセージを送信すること、問題となっている被管理デバイス120との通信をブロックするように他の被管理デバイス120の管理ライブラリ126に命令することなど、他のアクションを起動し得る。
【0057】
この処理は多くの利点を有する。承認されていないと考えられる任意の変更を承認するために1人より多いユーザが必要とされるので、承認能力を有する任意の個々のユーザの認証デバイス142をセキュリティ侵害することによっては、システム全体はセキュリティ侵害されない。さらに、システムが、タイムアウトし、必要な数の承認を受信しない場合にはいかなる変更も承認しないので、継続的なユーザの承認および認証がなくても機能し続け、攻撃者からの安全を維持し続けることが可能となる。最後に、承認処理は、究極的には人間とともに存在するので、このことは、自動化された承認システムが報告された変更の不正確な行動分析を実行することを可能にする問題を回避する。自動化されたシステムは、実際に悪意のある変更が許容可能であると決定するようにシステムを欺くために、脆弱性を対象とすることが可能である。例えば、リソースアクセスは、実際にはアクセスパターンがシステムを欺くように意図的に設計され、実際に悪意がある場合に、ヒューリスティックまたは機械学習システムが、アクセスパターンが通常のアクセスパターンに類似していると決定するような方法で作成されてもよい。様々な人間ユーザのセットに任意の変更を承認させることによって、自動行動分析システムを欺く攻撃ベクトルと、個々の管理者承認ユーザのデバイスをセキュリティ侵害する攻撃ベクトルとの両方が軽減される。管理システム130および様々なユーザ/管理承認処理に関する更なる詳細は、
図2-
図3および
図5を参照して以下に説明される。
【0058】
一実施形態では、被管理ネットワーク100は、1つまたは複数のトラッカーを計算して、service level agreement(SLA)を有する管理対象ネットワーク100のコンプライアンスのレベルを決定するコンプライアンスモニタ150をさらに含む。攻撃の何ヶ月も後に、組織ネットワークおよびデバイスの多数をセキュリティ侵害する行為が検出されると、これは、科学捜査分析の能力、任意の盗まれたデータ(例えば、データ125)の回復、および悪意のある攻撃者の捕捉を妨げる。したがって、任意のSLA要件に違反しているかを迅速に追跡する能力は有用である。ここで、SLAは、被管理ネットワーク100を管理/所有するエンティティがそのクライアントのいずれかに配信することを目的とする様々な測定可能なレベルのサービスに関して、被管理ネットワーク100と任意の顧客との間の合意を記述する。このSLAに対する違反は、攻撃などの承認されていない変更が被管理ネットワーク100上で発生したことを示し得る。コンプライアンスモニタ150は、SLAに関連付けられたメトリックを追跡し得、SLAに違反したかを決定する。追跡され得る測定値は、1)攻撃の検出、2)攻撃の分離、3)システムにおける攻撃者の存続、4)システムへの修復、5)サービスの回復時間、および6)SLAメトリックへの準拠への復帰の平均時間を含む。測定値のいずれか1つが閾値を超えたことに応答して、コンプライアンスモニタ150は、管理システム130にメッセージを送信し得、管理システム130は、上述のようにマルチユーザ認証プール140にメッセージを送信し得る。管理システム130が、マルチユーザ認証プール140のユーザが閾値の報告された違反を承認しないと決定する場合、管理システム130は、影響を受けた被管理デバイス120に対して、ロールバックすることなどによる是正措置を開始し得る。
【0059】
このコンプライアンス監視方法を使用して、被管理ネットワーク110は、システム内で測定されたメトリックがSLA閾値内に留まることが保証されることを確信することを可能にする。追跡されたメトリックが、SLA違反を起動する、または最終的にはSLA違反を起動することになる閾値を超えると測定される場合、システムは、影響を受けたシステムを迅速な方法でロールバックするなどの是正措置をとることが可能である。これは、SLA違反が発生しない(または非常に一時的にのみ発生する)ことを保証する。これは、攻撃者に対してより安定で耐性のあるサービスを顧客に提供し、攻撃または他の変更が検出するのに何ヶ月もかかり得る既存のシステムよりも望ましいものである。コンプライアンスモニタ150に関するさらなる詳細は、
図4および
図6を参照して以下で説明される。
【0060】
一実施形態では、被管理ネットワーク100はまた、ネットワーク110に向けられるネットワークトラフィック、およびネットワーク110から外部ネットワーク162に出るネットワークトラフィックを管理することが可能であるファイアウォール160を含む。一実施形態では、管理システム130が、被管理デバイス120が承認されていない変更を示していると決定した場合に、ファイアウォール160は、被管理デバイス120による外部ネットワーク162へのネットワークアクセス(インバウンドおよびアウトバウンドの両方)をブロックする要求を管理システム130から受信する。ネットワークアクセスをブロックするために、ファイアウォール160は、(例えば、ネットワークアドレス、ネットワークポート、他のヘッダ情報、ペイロード情報を介して)外部ネットワーク162への/からのネットワークデータのソースおよび宛先を決定するために、ディープパケットインスペクションなどのネットワークパケットおよびトラフィックに対する分析を実行してもよく、承認されていない変更が検出された被管理デバイス120からの、または同じ被管理デバイス120に向けられた任意の識別されたネットワークトラフィックをドロップしてもよい。別の実施形態では、ファイアウォール160は、識別されたネットワークトラフィックのログを取り得る。ファイアウォール160はまた、例えば、被管理デバイス120が悪意のあるユーザを追跡または引き付けるように構成されたデバイス(例えば、ハニーポット)である場合に、管理システム130からの命令に基づいて、宛先への任意の識別されたネットワークトラフィックを許可または選択的に許可し得る。
【0061】
一実施形態では、ファイアウォール160自体が被管理デバイス120であり、ファイアウォール160自体のオペレーティングシステム、実行可能ファイル、およびデータの変更を監視して、任意のユーザが承認されていないファイアウォール160上での変更を引き起こしているかを決定する管理ライブラリ126を含む。もしそうである場合、ファイアウォール160上の管理ライブラリ126は、管理システム130にメッセージを送信し得、それに応答して、変更が非承認である場合、管理システム130は、被管理デバイス120について上述した処理と同様に、ファイアウォール160にそのオペレーティングシステム、実行可能ファイル、およびデータをロールバックさせ得る。このようにして、ファイアウォール160自体も、任意の認証されていないrootレベル攻撃または他のユーザ攻撃からも保護される。
【0062】
例示的な管理システム:
図2は、一実施形態による、
図1の管理システム130及び管理ライブラリ126を有する被管理デバイスの詳細
図200を示すブロック図である。
図2は、デバイスモードイニシャライザ230、変更検出器232、マルチユーザ認証サブシステム234、再構築マネージャ236、デバイスイメージ記憶装置238、およびローリング置換マネージャ240を有する管理システム130を示す。管理システム130は、1つまたは複数の接続210A-210N(一般に、接続210と称される)を介して被管理デバイス120の管理ライブラリ126と通信する。これらは、パスの故障またはセキュリティ侵害の場合における一次接続および様々なバックアップ接続を含む。
【0063】
デバイスモードイニシャライザ230は、被管理デバイス120の要件に基づいて、またマルチユーザ認証プール140のユーザからの承認に基づいて、被管理デバイス120をいくつかの異なる状態のうちの1つに初期化する。デバイスモードイニシャライザ230は、必要な承認をマルチユーザ認証プール140から受信し得、被管理デバイス120を前述の状態のうちの1つの状態に置き得る。この必要な承認は、ユーザの閾値数による承認、ユーザの閾値パーセントによる承認、および/またはプール内のユーザの特別なグループによる承認であってもよい。これに応答して、デバイスモードイニシャライザ230は、その状態に対応する構成設定を有する被管理デバイス120および被管理デバイス120用の管理ライブラリ126を構成する。
【0064】
一実施形態では、被管理デバイス120は、リリース状態、プロビジョニング状態、またはメンテナンス状態にあることが可能である。これらは、それぞれ、認証されたリリース状態(ARS)、認証されたプロビジョニング状態(APS)、および認証されたメンテナンス状態(AMS)と称してもよい。
【0065】
リリース状態では、デバイスモードイニシャライザ230は、被管理デバイス120を通常動作モードに設定するように構成する。これは、被管理デバイス120において検出された任意の変更が、管理システム130を起動するモードであり、上述のように、マルチユーザ認証プール140の閾値数のユーザ(例えば、少なくとも3ユーザ)からの承認を要求する。
【0066】
プロビジョニング状態では、管理システム130が行われた任意の変更を依然として追跡し得るが、デバイスモードイニシャライザ230は、変更ごとにマルチユーザ認証プール140からの承認を常に要求することなく、被管理デバイス120に変更を行うことを可能にするように管理システム130を構成する。この状態は、被管理デバイス120を最初に構成する、すなわちプロビジョニングするときに使用され得る。プロビジョニングが完了すると、デバイスモードイニシャライザ230は、プロビジョニングが完了したことを通知され得(例えば、ユーザインターフェースからの入力を介して)、被管理デバイス120をリリース状態に変換する前に、マルチユーザ認証プール140の閾値数のユーザからの承認を要求し得る。プロビジョニング中にログされた任意の変更は、承認のために、この期間中にマルチユーザ認証プール140のユーザにさらに報告してもよい。代替として、デバイスモードイニシャライザ230は、マルチユーザ認証プール140の閾値数のユーザからメッセージを受信し得、被管理デバイス120をリリース状態に変換し得る。このプロビジョニング状態は、初期段階中に被管理デバイス120に対して多数の変更を行う必要がある場合に使用され得る。
【0067】
デバイスモードイニシャライザ230は、メッセージを受信し得、管理デバイス120をメンテナンス状態に変換し得る。この状態では、被管理デバイス120の追跡は実行されず、被管理デバイス120に対するいかなる変更についても承認は要求されない。この状態を開始するために、デバイスモードイニシャライザ230は、任意の変更の追跡を停止するように、被管理デバイスの管理ライブラリ126を構成する。さらに、デバイスモードイニシャライザ230は、被管理デバイス120を無視するように管理システム130を構成する。この状態は、(信頼できる個人によって実行される)テスト、構成、パッチング、および他のメンテナンスタスクのために使用され得る。加えて、この状態では、被管理デバイス120は、被管理ネットワーク100内の残りの装置から切断されてもよい。したがって、この状態は、応答しないまたはセキュリティ侵害されていると疑われる被管理デバイス120においてもアクティブ化され得る。
【0068】
変更検出器232は、デバイス上の管理ライブラリ126を介して、または直接的な手段を介して、被管理デバイス120から任意の変更を検出する。変更検出器232は、被管理デバイス120の管理ライブラリ126から、検出された任意の変更に関するメッセージを受信し得る。具体的には、変更は、管理ライブラリ126の検出器224が検出してもよい。加えて、変更検出器232が被管理デバイス120の変更を直接検出してもよい。これは、被管理デバイス120との1つまたは複数の接続210を分析することによって、および被管理デバイス120の検出器224から受信されたメッセージを分析することによって、変更を検出することを含み得る。
【0069】
一実施形態では、変更検出器232は、被管理デバイスとの1つまたは複数の接続210の変更を検出する。管理システム130は、いくつかの場合では、被管理デバイス120との1つより多い接続、すなわち、1つより多い論理または物理層ネットワーク経路を維持し得る。例えば、管理システム130は、無線接続および2つの異なる有線接続を使用して被管理デバイス120に接続してもよく、または(例えば、ネットワーク110におけるルーティングテーブル内の異なるエントリを介して)被管理デバイス120への1つより多い経路を維持してもよい。変更検出器232が、これらの接続のいずれかが中断されていると決定する場合、変更検出器232は、変更が発生したと決定し得る。変更検出器232はまた、被管理デバイス120からこれらの接続210上で1つまたは複数のメッセージを受信し得る。これらのメッセージは、ハートビートメッセージであってもよい。ハートビートメッセージはさらに、回転キーを介して暗号化されてもよい。各接続は、異なる回転キーで暗号化された異なるタイプのハートビートメッセージを受信し得る。変更検出器232が任意の1つの接続上で1つまたは複数のハートビートメッセージを受信しない場合、またはハートビートメッセージが(例えば、間違った回転キーを使用して)不適切に暗号化されている場合、変更検出器232は、変更が発生したと決定し得る。
【0070】
変更検出器232はまた、被管理デバイス120によって送受信された他のメッセージを分析し得、変更が生じたかどうかを判定し得る。これは、デバイスの管理ライブラリ126によって変更が検出されたことを示す被管理デバイス120からのメッセージを含み得る。これらのメッセージは、回転キーを使用して署名されてもよく、何らかの既知の方法を使用して認証されてもよく、または標準フォーマットであってもよい。変更検出器232が、メッセージのシグネチャー、認証方法、および/またはフォーマットが予想される結果と一致しないと決定する場合、変更検出器232は、変更が検出されたと決定し得る。
【0071】
変更検出器232はまた、ネットワークを使用して被管理デバイス120によって行われた他の変更を分析し得る。これらの変更は、ネットワークを使用して被管理デバイス120によって送信または受信されるメッセージを含み得る。変更検出器232は、スイッチ、ルータ、ハブ、アクセスポイント、およびファイアウォール160などの他のネットワークスイッチング機器の1つまたは複数のネットワークインフラストラクチャデバイスへのアクセスを有し得、これらのネットワークインフラストラクチャデバイスを通過するネットワークトラフィックを分析することが可能であり、被管理デバイス120によって送受信されるメッセージを抽出することが可能となる。
【0072】
また、変更検出器232は、例えば、標準的なネットワークプロトコルを介して、ネットワーク要求を被管理デバイス120に送信することによって、被管理デバイス120に能動的に問い合わせ得、被管理デバイス120からの応答が変更したかを決定し得る。そうである場合、変更検出器232は、変更が生じたことを検出する。例えば、管理ライブラリ126が、不正な攻撃者に知られていない秘密(例えば、プライベートキー値)に基づいて暗号化された、またはそれを含む所定のメッセージで応答することを可能とするために、変更検出器232は、暗号化されたメッセージを被管理デバイス120に送信し得る。変更検出器232が、被管理デバイス120からの応答が所定の応答から変更された(たとえば、秘密を含まない)と決定する場合、変更検出器232は、変更が検出されたと決定し得る。
【0073】
別の実施形態では、変更検出器232はまた、リモートアクセスプロトコル(例えば、Telnet、リモートデスクトップ、SSH)を使用して、被管理デバイス120にリモートでアクセスすることによって被管理デバイス120に問い合わせる。変更検出器232は、このリモートアクセスを使用し得、様々なコマンド実行し得、被管理デバイス120のオペレーティングシステム122とインターフェースし得、チェックのセットを実行し得る。これらのチェックに対する応答が所定の応答セットから変更される場合(例えば、クエリーが誤った応答または無応答をもたらす)、変更検出器232はまた、被管理デバイス120で変更が検出されたと判定し得る。
【0074】
変更検出器232が、上述したような直接的なテストによって、または変更が検出されたことを示すメッセージを被管理デバイス120の管理ライブラリ126から受信することによって、変更が検出されたと決定する場合、変更検出器232は、発生をログし得、変更のログを有するメッセージをマルチユーザ認証サブシステム234に送信し得、変更が承認されたかを決定し得る。このメッセージは、変更検出器232によって検出された、または管理ライブラリ126から変更検出器232によって受信された、管理デバイス120によって示された変更の記述を含み得る。
【0075】
一実施形態では、変更検出器232は、例外リスト内の任意の例外に一致するそれらの変更をマルチユーザ認証システム234に報告しない。例外リストは、既に承認されており、メッセージをマルチユーザ認証サブシステム234に送信することによる追加の承認を必要としない、すべての変更のリストを含む。変更は、変更検出器232によって解釈されることが可能な様々なルールを使用して定義され得、承認を要求することから除かれた/排除された変更を決定し得る。これらのルールは、例えば、リソースタイプ、ネットワーク、ファイル、プロトコル、ファイルアクセス、I/Oアクセス、アプリケーション名、時間範囲、ユーザアカウント、期待される応答、暗号化タイプ、および事前承認された変更を定義するために必要とされる任意の他のルールを示し得る。例外リストは、ユーザ定義であってもよいし、機械学習手段を使用して生成されてもよい。一実施形態では、例外リストを生成するために、被管理デバイス120がプロビジョニング状態にある間に、その通常動作中に発生すると予想される被管理デバイス120によって行われた変更が、変更検出器232によってログされる。これらは、その後、マルチユーザ認証サブシステム234を介してマルチユーザ認証プール140から承認されると、例外リストに記録される。これらの変更は、トランザクションログ、一時フォルダ、外部データベース、メモリ内のキャッシュ位置、ウェブページファイルの読み取りなどに対する変更を含み得る。これらは、被管理デバイス120の通常動作中に発生すると予想されるすべての変更である。
【0076】
マルチユーザ認証サブシステム234は、マルチユーザ認証プール140に問い合わせ、検出された変更がマルチユーザ認証プール140のユーザによって承認されるかを決定する。これを達成するために、マルチユーザ認証サブシステム234は、マルチユーザ認証プール140の認証ユーザの認証デバイス142にメッセージを送信し得る。マルチユーザ認証サブシステム234は、各メッセージとともに、遭遇時間、変更が検出された被管理デバイス120の識別情報、変更が検出されたユーザアカウントなど、変更なしおよびメタデータにおいて示される変更の記述を含み得る。マルチユーザ認証サブシステム234は、変更が承認されたかを示す応答を1つまたは複数の認証デバイス142から受信し得る。マルチユーザ認証サブシステム234は、(例えば、誤ったクレデンシャルによって)認証ユーザにおける認証が失敗した認証デバイス142から到着する、またはこれらの認証デバイス142におけるネットワークアドレスもしくは他の基準が特定の基準と一致しない、マルチユーザ認証プール140内のユーザから受信される承認メッセージを無視し得る。例えば、認証デバイス142がネットワークトンネルを使用せずにネットワーク110に接続され、被管理ネットワーク100のネットワークアドレスの範囲内にあるネットワークアドレスを有する場合、マルチユーザ認証サブシステム234は、認証デバイス142からの承認メッセージのみを考慮してもよい。マルチユーザ認証サブシステム234はまた、メッセージとともに提供されたクレデンシャル、認証方法、暗号化、メッセージシグネチャー、および/または証明書を検証し得、承認メッセージが真正であるか、且つ承認/非承認メッセージを送信することを認証されたユーザからのものであるかを決定し得る。一実施形態では、マルチユーザ認証プール140の特定のユーザに対する通常の認証処理からの任意の逸脱は、承認のためにプール内の他のユーザに報告されてもよい。必要な承認が受信されない場合、または非承認が受信される場合、マルチユーザ認証サブシステム234は、その特定のユーザのアカウントがさらなる変更を承認することができないように削除または一時停止し、および/またはその特定のユーザによって使用される認証デバイスを再構築するように再構築マネージャ236に命令し得る。
【0077】
マルチユーザ認証サブシステム234は、変更に示された変更に対して必要な承認が提供されるかを決定する。この必要な承認は、変更を承認する認証されたユーザの閾値数、変更を承認する承認されたユーザの総数のパーセント、および/または変更を承認する認証されたユーザのユーザの特定のサブセット(例えば、チームリード、マネージャ、顧客)であってもよい。必要な承認が受信される場合、マルチユーザ認証サブシステム234は、承認をログし、管理ライブラリ126にメッセージを送信し得、変更を継続/進行することを可能にし得る。変更が承認される場合、マルチユーザ認証サブシステム234は、承認をログし、さらに、被管理デバイス120における例外リストを修正することが可能であり、被管理デバイス120における例外リストに変更を含めることも可能である。これは、管理システム130における変更検出器232によってアクセスされた例外リスト、または管理ライブラリ126における例外リストを修正することを含み得、承認された変更に一致するルールも含み得る。例えば、変更がネットワークトラフィックの特定のセットを含んでいた場合、マルチユーザ認証サブシステム234は、例外リストを修正し得、検出されたネットワークトラフィックと一致するタイプ、ヘッダ情報、ソース、宛先、および他の特性を有するネットワークトラフィックが、承認された変更として許可されるべきであることを示し得る。別の例として、変更がデータの特定の領域(例えば、特定のデータベース)へのアクセスを含んでいたとすると、マルチユーザ認証サブシステム234は、ルールを含む例外リストを修正し得、被管理デバイス120上の実行可能ファイルによるそのデータへのアクセスを許可し得る。
【0078】
逆に、マルチユーザ認証サブシステム234が設定された期間内(例えば、1分)に必要な承認を受信しない場合、マルチユーザ認証サブシステム234は、変更が承認されていないと決定し、非承認をログし得る。また、マルチユーザ認証サブシステム234は、必要な数の非承認を受信する場合、変更が非承認されたと決定してもよい。例えば、ユーザの閾値数、またはユーザのパーセント、および/またはユーザの特別なグループは、マルチユーザ認証サブシステム234に非承認メッセージを送信してもよい。そのような場合、変更が再び生じることを防止し、被管理デバイス120を修復するために、マルチユーザ認証サブシステム234は、非承認結果をログしてもよく、被管理デバイス120の再構築が要求されることを、再構築マネージャ236に示してもよい。
【0079】
再構築マネージャ236は、被管理デバイス120において変更が検出され、承認の必要なセットがその変更におけるマルチユーザ認証プール140のユーザから受信されない場合に、被管理デバイス120の状態を以前の既知の良好な状態に復元する。再構築マネージャ236は、実行可能ファイル124およびデータ125を含む被管理デバイス120のオペレーティングシステム122のコピーをデバイスイメージ記憶装置238内にデバイスイメージとして記憶し得る。デバイスイメージは、不揮発性メモリに記憶されたオペレーティングシステム122に関連するデータだけでなく、揮発性メモリにあるオペレーティングシステム122に関連するデータ、例えば、オペレーティングシステム122に割り当てられたランダムアクセスメモリの状態も含み得る。各デバイスイメージは、被管理デバイス120のオペレーティングシステム122、実行可能ファイル124、およびデータ125を含むバイナリデータの1:1コピーであってもよい。再構築マネージャ236は、被管理デバイスが解放状態に切り替えられた後に、被管理デバイス120の管理ライブラリ126からデバイスイメージに関するデータを受信し得る。したがって、管理デバイス120が通常動作のための状態に置かれるたびに、被管理デバイス120に関するソフトウェアおよびデータのコピーが、再構築マネージャ236によってデバイスイメージストア238にデバイスイメージとして記憶され得る。再構築マネージャ236はまた、デバイスイメージのシグネチャーを生成し、それが既知の良好な状態にある被管理デバイス120のデバイスイメージであることを示し得る。代替として、デバイスイメージは、マルチユーザ認証プール140のユーザからの必要な承認を介して、既知の良好な状態にあるものとして示され得る。
【0080】
再構築マネージャ236はまた、報告された変更がマルチユーザ認証プール140から必要な承認を受け取るたびに、デバイスイメージのコピーを記憶し得る。これらのイメージはまた、署名され、示され得る。再構築マネージャ236はまた、被管理デバイス120のデバイスイメージを定期的に記録し得、被管理デバイス120で発生する定期的な変更を記録し得る。デバイスイメージは、管理システム130に記憶されるように示されているが、他の実施形態では、デバイスイメージは、管理ライブラリ126に記憶され得、デバイスイメージを表す大量のデータ転送という不必要なネットワークの使用を回避し得る。
【0081】
マルチユーザ認証サブシステム234がマルチユーザ認証プール140のユーザによって承認されていないと決定する変更が変更検出器232によって検出される場合、再構築マネージャ236は、その被管理デバイス120に関する記録されたデバイスイメージを使用して、被管理デバイス120のロールバックをより前の状態に開始し得る。より前の状態およびその状態に関するデバイスイメージは、変更が検出される前の被管理デバイス120の状態を記録する。したがって、被管理デバイス120上のこのより前の状態のデバイスイメージを使用することによって、変更は元に戻され、被管理デバイス120は既知の良好な状態に復元される。再構築マネージャ236は、管理ライブラリ126の再構築層226に命令を送信して、被管理デバイス120におけるすべての処理を終了させ、次いで、オペレーティングシステム、実行可能ファイル、およびデータをより前の状態のデバイスイメージからのデータに置換することによって、ロールバックを開始する。現在のデータが記憶されている電子記憶装置を識別し、その電子記憶装置上のデータをデバイスイメージからのデータと置換するように、再構築マネージャ236は、再構築層226に命令し得る。再構築マネージャ236はまた、被管理デバイス120の揮発性記憶装置をデバイスイメージに格納された状態に復元し得る。続いて、被管理デバイスのオペレーティングシステム122をブートアップまたは開始して動作を再開するように、再構築マネージャ236は、再構築層226に命令し得る。被管理デバイス120をリリース状態に入るように、再構築マネージャ236はまた、管理ライブラリ126に指示し得る。続いて、再構築マネージャ236は、検出された変更に応答してロールバックが完了したことをログに示し得る。再構築マネージャ236は、ロールバック処理全体をログし得る。
【0082】
いくつかの場合では、ロールバックは成功しない。これは、処理における何らかのエラーに起因するか、または被管理デバイス120がセキュリティ侵害されるときにあり得る。これが生じる場合、再構築マネージャ236は、デバイスモードイニシャライザ230にメッセージを送信し得、被管理デバイス120をメンテナンス状態に入らせ得る。この状態では、影響を受けた被管理デバイス120との通常の通信が終了する。再構築マネージャ236はまた、ロールバックが失敗し、被管理デバイス120が保守状態にあることを示すメッセージを、管理者、またはマルチユーザ認証プール140の1人または複数のユーザに送信し得る。
【0083】
一実施形態では、管理システム130は、ローリング置換マネージャ240も含み、ローリング置換マネージャ240は、被管理デバイス120の現在のオペレーティングシステム122、実行可能ファイル124、およびデータ125を、デバイスイメージ記憶装置238または管理ライブラリ126に記憶され得るデバイスイメージと定期的に置換する。デバイスイメージは定期的に更新され得、パスワード、暗号化キー、追加パッチなどを変更し得、その結果、デバイスイメージは、最新であり、以前に利用された攻撃ベクトルを使用してセキュリティ侵害される可能性が低いソフトウェアを含む。再構築マネージャ236によって実行される方法と同様に、被管理デバイス120上の現在のソフトウェアおよびデータを、選択されたデバイスイメージからのデータおよびソフトウェアと置換するように、ローリング置換マネージャ240は、被管理デバイス120の再構築層226に命令する。被管理デバイス120のデータを定期的に置換することによって、システムが頻繁にきれいにワイプされ、攻撃者によって行われたいかなる修正も含まず、システムに入って望ましくない変更を引き起こすために使用されることが可能な既知の良好なコピーでリフレッシュされるので、悪意のあるユーザは、システム内の足場を得ることができない。
【0084】
ここで、被管理デバイス120を参照すると、(実行可能ファイル124およびデータ125とともに)オペレーティングシステム122をロールバックおよび/または再構築することができるようにするため、被管理デバイス120上の管理ライブラリ126は、被管理デバイス120のオペレーティングシステム122から分離されていてもよい。管理ライブラリ126は、ハイパーバイザ、仮想マシンマネージャ、別個のOS、ファームウェアなどとして存在し得る。管理ライブラリ126は、変更が検出された場合に再構築することも可能である。これは、管理システム130に、被管理デバイスの低レベルファームウェアまたは他の構成ユーティリティ(例えば、UEFI BIOS)にリモートでアクセスさせることによって達成され得、管理ライブラリ126のソフトウェアの現在のコピーを削除し、既知の良好なバージョンまたは更新されたバージョンをインストールし得る。インストールされると、管理ライブラリ126は、様々な要素を含み、被管理デバイス120の監視を容易にする。図示のように、管理ライブラリ126は、デバイスモードコンフィギュレータ220、コンフィギュレーション設定222、検出器224、および再構築層226を含む。
【0085】
管理ライブラリ26上のデバイスモードコンフィギュレータ220は、管理システム130から被管理デバイス120に関する指示された状態に基づいて、被管理デバイス120を構成する。上述したように、これらは、リリース状態、プロビジョニング状態、およびメンテナンス状態であってもよい。リリース状態では、デバイスモードコンフィギュレータ220は、検出器224を、オペレーティングシステム122内のすべての変更を検出し、任意の変更を管理システム130に報告するように構成する。プロビジョニング状態では、デバイスモードコンフィギュレータ220は、すべての変更も検出するが、いかなる変更も直ちに報告しないように検出器224を構成する。代わりに、デバイスモードコンフィギュレータ220は、被管理デバイスがリリース状態に遷移されると、発生した任意の変更を報告するように検出器224を構成する。最後に、メンテナンス状態では、デバイスモードコンフィギュレータ220は、検出器224のいかなる変更も検出しないように構成する。各状態において、デバイスモードコンフィギュレータ220は、検出器224のための設定をコンフィギュレーション設定222に記憶することによって、検出器224の動作を構成し得る。
【0086】
検出器224は、被管理デバイス120における変更を監視し、管理システム130の変更検出器232に任意の変更を報告する。これを達成するために、検出器224は、オペレーティングシステムの外部で別個の処理として(例えば、ハイパーバイザとして、ファームウェア内でなど)実行し得、またはオペレーティングシステム内で1つまたは複数の実行可能ファイル(例えば、実行可能ファイル124)として実行し得る。検出器224は、オペレーティングシステム122上で実行されたすべての変更を監視するアクセスを有する。
【0087】
一般に、オペレーティングシステム122上の変更は、ユーザアカウントによる、オペレーティングシステム122によって提供されるリソースへの任意のアクセスを指し得る。このアクセスは、オペレーティングシステム122における任意の以前の挙動と異なり得る。アクセスは、読み取り、書き込み、送信、受信、実行、許可の修正、設定の変更などを含み得る。オペレーティングシステムによって提供されるリソースは、サービス、ライブラリ、アプリケーションプログラミングインターフェース、ドライバ、ハードウェアインターフェースなどのオペレーティングシステムによって提供される任意の論理サービスと共に、ネットワークリソース、メモリリソース、入力/出力リソース(例えば、キーボード、マウス、プリンタ、ディスプレイ)、プロセッサリソース(例えば、CPU、GPU、特別な目的のプロセッサ)、記憶装置リソースなどの、オペレーティングシステム122が公開することが可能である被管理デバイス120の任意の物理リソースを含む。上述したように、ユーザアカウントは、
図1におけるオペレーティングシステム122を参照するオペレーティングシステム内の構造体であり、このユーザアカウントは、クレデンシャルを有するユーザが、オペレーティングシステム122内の特定の許可をユーザアカウントにアクセスすることを許可し、オペレーティングシステム122によって提供される特定のリソースに対して特定のタイプのアクセスを実行する。通常、ユーザはユーザアカウントにアクセスするが、場合によっては、オペレーティングシステム自体がユーザアカウントを利用し得、アップグレードまたはパッチなどの様々なアクティビティを実行し得る。そのようなユーザアカウントは、システムアカウントと呼ばれ得る。変更はまた、リソースのユーザによる任意のアクセスの省略または拒否を含み得る。したがって、例えば、アクセスが以前に発生した場合(例えば、ハートビート信号の送信)、後でのこのアクセスの省略は変更である。別の例として、デバイスが特定のネットワーク接続を介してアクセスを以前に許可していたが、現在は応答しないか、またはアクセスを拒否する場合、これは変更である。
【0088】
検出器224は、様々なアプリケーションプログラミングインターフェース、システムコール、シェルスクリプト、シェルコマンド、ライブラリ、低レベルI/O監視、低レベルネットワーク監視を使用して、または他の方法を使用して、オペレーティングシステム122内で発生するあらゆる変更を監視する。検出された各変更に関して、検出器224は、この変更を管理システム130の変更検出器232に報告し得る。次に、これは、前述のマルチユーザ承認処理を起動し、オペレーティングシステムの再構築をさせ得る。検出器224はまた、任意の検出された変更をログし得、同様に非除外変更であると決定されない変更をログし得る。
【0089】
一実施形態では、検出器224は、すべての検出された変更を変更検出器232に報告しなくてもよい。代わりに、検出器は、変更を例外リストに示された変更と比較する。この例外リストは、変更検出器232の例外リストと同様であってもよく、コンフィギュレーション設定222に記憶されてもよい。例外リストは、どの変更、すなわちどのリソースに対してどのユーザによるどのタイプのアクセスが、変更検出器232に報告される必要がなく、したがってマルチユーザ認証プール140による承認を必要としない例外であるかを示す。最初に例外リストを構成するために、管理システム130または管理ライブラリ126は、通常動作中に被管理デバイス120のすべての以前にログされた変更の分析を実行するように要求され得る。これは、プロビジョニング状態中に行われ得る。この分析の後、遭遇した最も一般的なまたは最も頻繁な変更の報告が提供され得る。この報告から、特定の変更が、遭遇の頻度、アクセスタイプ、使用されるユーザアカウント、またはいくつかの他の要因に基づいて自動的に選択され、例外リストの一部として示され得る。代替として、マルチユーザ認証プール140などの管理者は、例外リストに含めるべき変更を選択し得る。例外リストはまた、管理システム130に関する上述した例外リストと同様な方法で生成され得る。
【0090】
別の実施形態では、検出器224は、オペレーティングシステム122だけでなく、ファームウェア(BIOS、UEFI)などのオペレーティングシステム122ではない被管理デバイス120の他の構成要素でも発生する変更を検出し、これらの要素にも変更を報告する(変更は例外リストに関連付けることもできるが)。
【0091】
再構築層226は、管理システム130からの指示に応答して、記憶されているデバイスイメージを用いてオペレーティングシステム122を再構築する。再構築マネージャ236またはローリング置換マネージャ240のいずれかからの要求に応答して、再構築層226は、再構築マネージャ236およびローリング置換マネージャ240を参照して上述したように、現在のオペレーティングシステム122を、既知の良好な状態であるオペレーティングシステム122のデバイスイメージに置換し得る。再構築層は、オペレーティングシステム122の一部ではなく、オペレーティングシステムの外部に(例えば、ハイパーバイザ、ファームウェアの一部などとして)存在する。これにより、それ自体が消去または除去されることなく、オペレーティングシステム122を操作することが可能となる。オペレーティングシステム122の外部の層に再構築層226が存在するので、オペレーティングシステム122にアクセスするユーザが、フルユーザ権限を有していても再構築層226にアクセスすることは不可能である。再構築層226は、被管理デバイス120に関連付けられた電子記憶装置およびメモリ内に記憶された任意のデータを消去することが可能であり、被管理デバイス120のプロセッサによる任意の実行を停止することが可能である。再構築層226は、同じ電子記憶装置およびメモリに書き込むことが可能であり、被管理デバイス120のプロセッサに、ブートアップシーケンスを入力させるか、または電子記憶装置から特定の命令セットをロードおよび実行させることが可能である。これにより、再構築層226は、現在の実行を停止し、現在のオペレーティングシステム122をデバイスイメージからのデータで除去/置換し、次いで、被管理デバイス120のプロセッサに、新たにイメージ化されたオペレーティングシステム122を起動させることが可能である。再構築層226は、管理システム130からのシステムの再構築の指示に応答して、この動作を行ってもよい。
【0092】
一実施形態では、デバイスイメージの各ブロックを電子記憶装置に書き込むことによってシステム全体を再構築する代わりに、再構築層226は、電子記憶装置に記憶された現在のデータとデバイスイメージとの間の差分またはデルタを決定し、デバイスイメージに示されたデータに戻されるようにデバイスイメージから変更したデータのブロックのみを電子記憶装置に書き込み得る。これにより、オペレーティングシステム122をロールバックするのに必要な時間を大幅に短縮し得る。別の実施形態では、再構築層226は、管理システム130によって指定され得る以前のデバイスイメージを含む電子記憶装置の別個の物理ボリュームまたは論理ボリュームを準備し得る。オペレーティングシステム122をロールバックまたは再構築する管理システム130からの要求に応答して、再構築層226は、被管理デバイス120を(論理的にまたは物理的接続を介して)現在の電子記憶装置から切断し、被管理デバイス120を、既に書き込まれたデバイスイメージを含む別個のボリュームに接続し得る。これにより、被管理デバイス120を既知の良好な状態の装置イメージに瞬時に切り替えることが可能となる。切替え後、再構築層226は、現在オフラインである物理/論理ボリューム上のデバイスイメージを、既知の良好な状態の同じデバイスイメージ(または管理システム130によって提供または指示された別のデバイスイメージ)に書き換え得る。
【0093】
例示的なクラスタ:
図3は、一実施形態による、被管理ネットワーク310の中央管理クラスタ300を示すブロック図である。いくつかの場合では、被管理ネットワークの管理は、デバイスの単一の組織またはローカルネットワークに単に限定されなくてもよく、それぞれがそれら自体の被管理ネットワークを有する様々な組織の間に分散されていてもよい。これらの個々のネットワークすべてを一括管理するために、被管理クラスタ300が図示のように組織化される。ここで、マルチユーザ認証プール自体のセットを有する各被管理ネットワーク310または320の代わりに、被管理ネットワーク内の被管理デバイス、例えば、被管理デバイス350の変更から、管理システム、例えば、管理システム360によって検出された任意の変更が、代わりに、被管理ネットワークの階層内のより上位の被管理ネットワークに報告される。したがって、例えば、被管理ネットワーク310Aは、被管理ネットワーク320Aの管理システムに任意の変更を報告する。他の被管理ネットワーク310は、被管理ネットワーク320のうちの少なくとも1つに報告し、次に、報告を受けた被管理ネットワークは、階層内のさらに上の別の被管理ネットワークに報告する。最終的に、すべての変更は、それ自体がマルチユーザ認証プール335を含む一次管理システム330に報告される。このプールの機能は、マルチユーザ認証プール140と同様であるが、単一の被管理ネットワーク上のアクティビティからの変更を承認する代わりに、このプールは、被管理ネットワークの様々なランクにわたる変更を承認し得る。プールが変更を承認しない場合、非承認であることの指示は、被管理ネットワークのそれぞれの管理システムのそれぞれに送信されて、変更を生成した任意のデバイスのロールバック、または非承認である変更に一致する任意の変更の修正を引き起こし得る。一方、変更が承認される場合、この情報は、被管理クラスタ300内の各被管理ネットワークに伝搬される。承認された場合、変更はまた、変更が検出された関連する被管理デバイスまたは被管理ネットワークの例外リストに追加し得る。ネットワーク間のすべての通信は、異なるネットワーク間で不正メッセージが受け入れられないように、例えば、暗号化、ローリング暗号化、または他の手段を介して保護される。
【0094】
各被管理ネットワークはまた、それらが親である任意の被管理ネットワークにおける変更を検出し得る。例えば、
図2の変更検出器323および被管理デバイス120と同様に、各被管理ネットワークの各管理システムは、以前に許可された接続の拒否などの任意の変更を検出するために、子ネットワークからハートビート信号を受信し、子ネットワークをプローブし、子ネットワークへの接続をチェックすることなどをし得る。子ネットワークにおいて承認されていない変更が検出される場合、親ネットワークの管理システムは、子ネットワークの管理システムのロールバックを含む、子ネットワークの全ての構成要素のロールバックを引き起こし得る。これは、被管理デバイス120のオペレーティングシステム122のロールバックと同様に行い得る。例えば、管理システムのソフトウェアを、その子ネットワークに対する管理システムの既知の良好な状態を有するデバイスイメージ内のソフトウェアに置き換えるために、親ネットワークの管理システムは、子ネットワーク内の管理システムを実行するコンピューティングデバイスにデバイスイメージを送信することを可能にする低レベルファームウェアまたはユーティリティにアクセスし得る。さらに、親ネットワークは、子ネットワークの管理システムソフトウェアを定期的に再構築するだけでなく、子ネットワークの管理システムソフトウェアのデバイスイメージを定期的に作成してもよい。
【0095】
各被管理ネットワークは階層内で密に結合されており、最終的な制御は「最終的な」一次管理システム330によってのみ許可されるので、クラスタ300内の任意のコンポーネントに対する任意の攻撃は容易に検出され、ロールバック処理を使用して変更が戻される。さらに、一次管理システム330のユーザのみが変更を承認することが可能なので、様々な子ネットワーク内の任意のデバイスまたはシステムへのrootアクセスまたは特権アクセスを有する任意のユーザは、これらの変更が迅速に元に戻されるので、いかなる永続的な変更を生じさせることは不可能である。一次システムがセキュリティ侵害されるかまたはオフラインにされる場合、これもまた、クラスタ300に影響を及ぼさない、なぜなら、これは、単に新たな変更が非承認であることを意味するからであり、既存のアクティビティが引き続き許可されることが可能であり、クラスタ300全体が動作し続けることを可能にする。
【0096】
例示的なコンプライアンスモニタ:
図4は、一実施形態による、
図1のコンプライアンスモニタ150をさらに詳細に示すブロック図である。コンプライアンスモニタ150は、上述のように、被管理ネットワーク100が以前に合意されたSLAまたはサービスレベル合意に準拠しているかを決定するのに使用され得る。一実施形態では、コンプライアンスモニタ150は、様々なトラッカー412-420を含むコンプライアンス測定セット410、ならびにコンプライアンス時間検出器430、非コンプライアンスエンフォーサ440、および測定ロガー450を含む。コンプライアンスモニタ150は、被管理デバイス120の管理ライブラリ126における測定エンジン470に接続され得、コンプライアンス測定セット440のトラッカーによる様々なSLAメトリックの測定を容易にし得る。
【0097】
コンプライアンス測定セット410は、被管理ネットワーク110の様々なメトリックを追跡する様々なトラッカーを含む。これらのメトリックは、SLAが満たされている(すなわち、実施されている)かを決定するのに使用され得る。一実施形態では、コンプライアンス測定セット410は、MTTD(検出平均時間)トラッカー412、MTTI(分離平均時間)トラッカー414、HITT(ハッカー調査トラッキング時間)トラッカー416、MTTR(修復平均時間)トラッカー418、およびMTTS(サービス平均時間)トラッカー420を含む。各トラッカーによって生成されたメトリックは、その後、さらなる処理のために、コンプライアンス時間検出器430、非コンプライアンスエンフォーサ440、および測定ロガー450に送信される。トラッカーの特定の構成がここに示されているが、他の実施形態では、コンプライアンス測定セット410は、SLAが実施することが意図されるメトリックのタイプに基づいて、より多いまたはより少ない数のトラッカーを含んでもよい。
【0098】
MTTDトラッカー412は、悪意のあるユーザからの攻撃から攻撃の検出までに被管理ネットワーク100が要する平均時間、すなわち、被管理ネットワーク100において変更が発生した後にその変更を検出するのに要する時間を追跡する。これらは例外リストにリストされなかった変更のみであり得る。この平均時間を決定するために、MTTDトラッカー412は、管理システム130によって検出され、マルチユーザ認証プール140によって必要な承認が与えられなかった各変更の発生を識別し得る。これらのイベントのそれぞれにおいて、MTTDトラッカー412は、管理システム130によって生成されたログにアクセスすることによって承認されていないと決定された、発生した特定の変更をさらに判定し、変更が最初に発生したときをログ情報から決定し得る。例えば、変更がオペレーティングシステム122内の何らかのリソースへのアクセスである場合、MTTDトラッカー412は、変更中に発行された任意のコマンドに関連付けられたタイムスタンプ、またはアクセスされたリソースに関連付けられたタイムスタンプに従って、そのアクセスがいつ最初に発生したかを決定し得る。MTTDトラッカー412は、様々なシステムログ(例えば、システムコールログ)内の発行されたコマンドに関連付けられたタイムスタンプを見つけ得る。MTTDトラッカー412は、アクセスされたリソースに関連付けられたログ内で、またはそのリソースに関して最後にアクセスされたタイムスタンプに基づいて、アクセスされたリソースに関連付けられたタイムスタンプを見つけ得る。例えば、ネットワークリソースは、送信/受信されたネットワークデータと送信のタイムスタンプとを示すログを含み得る。別の例として、ファイルリソースは、最後にアクセスされたタイムスタンプを示すファイルシステムタイムスタンプを含んでもよい。MTTDトラッカー412は、これらのインシデントのそれぞれに関して、変更検出器232がイベントを検出し、そのことをマルチユーザ認証プール140に報告した時刻と、その変更に関するアクセスが最初に発生した時刻に関連付けられたタイムスタンプとの間の時間差を計算する。この差は、この特定のイベントにおける検出までの時間である。次いで、MTTDトラッカー412は、全ての検出された変更イベントに関する検出値までの時間の平均、ローリング平均(例えば、5時間ローリング平均)、確率分布、または他の統計的分析を決定し得る。これは、検出平均時間(MTTD)メトリックである。代替として、個々の被管理デバイス120ごとに検出平均時間を算出してもよい。その場合、個々の被管理デバイスの検出平均時間は、その被管理デバイス120に関して検出された変更の検出時間の平均のみを含む。検出までの平均時間が閾値(例えば、SLAに示される閾値)未満であることは、被管理ネットワーク100が脅威を迅速に検出していることを示し得、これは望ましいことである。逆に、検出までのより長い平均時間は、被管理ネットワーク100が変更を適切に検出していないことを示し得、改善が、検出を高速化するのに必要とされ得る。
【0099】
MTTIトラッカー414は、被管理ネットワーク100の分離までの平均時間を追跡する。分離までの平均時間は、被管理ネットワーク100における変更の検出とその変更の分離または修復との間にかかる平均時間を測定する。これは、例外リストに示されなかった変更にのみ適用し得る。この値を測定するために、MTTIトラッカー414は、変更検出器232が除外されない変更を検出した場合のインスタンス、および変更がマルチユーザ認証プール140のユーザによる必要な承認を受信しなかった場合のインスタンスを識別し得る。MTTIトラッカー414は、変更検出器232によって生成されたログにアクセスし得、変更の検出/識別が発生したタイムスタンプを決定し得る。これは、承認がマルチユーザ認証プール140に提出される前に、変更検出器232が最初に変更を識別する時間であり得る。MTTIトラッカー414は、変更の修正がいつ発生するかのタイムスタンプをさらに追跡する。この場合、修復は、変更が検出された被管理デバイス120のロールバックであってもよい。MTTIトラッカー414は、再構築マネージャ236によって生成されたログにアクセスし得、ロールバックがいつ完了するか(または被管理デバイス120のオペレーティングシステム122がいつ停止するか)を決定し得る。検出のタイムスタンプとロールバックが完了するときのタイムスタンプとの間の差は、分離までの時間としてよい。MTTIトラッカー414はさらに、検出された変更の各インスタンスに関する計算された差の平均、ローリング平均(例えば、5時間ローリング平均)、確率分布、または他の統計分析を決定し、分離の平均時間のメトリックを決定する。代替として、分離までの平均時間は、個々の被管理デバイス120ごとの分離までの時間イベントについて計算されてもよい。この分離までの平均時間は、被管理ネットワーク100が検出された脅威にいかに迅速に応答するかを示し得る。分離までの平均時間が閾値(例えば、SLAに規定された閾値)未満であるほどに短いことは、被管理ネットワーク100の応答時間が良好であることを示し得る。平均時間が長いほど、被管理ネットワーク100が脅威に応答するのに長すぎて調査が必要であることを示し得る。
【0100】
HITTトラッカー416は、ハッカー調査トラッキング時間を追跡する。これは、悪意のあるユーザが被管理ネットワーク100内または単一の被管理デバイス120内に留まっている時間を追跡するトラッカーである。この情報を追跡するために、HITTトラッカー416は、MTTDトラッカー412と同様に、被管理ネットワーク100または被管理デバイス120で発生する承認されていない変更の第1のインスタンスのタイムスタンプを決定し得る。HITTトラッカー416はさらに、この変更に関連付けられたユーザアカウントを決定する。HITTトラッカー416は、そのユーザアカウントが任意の追加の承認されていない変更を引き起こすかを決定する。HITTトラッカー416は、そのユーザアカウントによって引き起こされた最後の承認されていない変更を決定する。悪意のあるユーザが攻撃を停止したので、または修正が行われてアクセスが(例えば、ロールバックを介して)ブロックされたので、さらなる非承認である変更は行われない。次いで、HITTトラッカー416は、最初の承認されていない変更と最後の承認されていない変更との間の時間差を決定する。これは、ハッカー調査トラッキング時間メトリックであり、悪意のあるユーザが被管理ネットワーク100または被管理デバイス120内にどれだけ長く留まっているかを示す。HITTトラッカー416は、ハニーポットシステムとともに動作し得る。ハニーポットは、攻撃のための正当なターゲットとして働く、コンピューティングデバイス、仮想マシンなどの被管理ネットワーク100上の要素であるが、実際には、実際の価値のある情報をまったく含まないリソースを有するダミーターゲットである。このようなハニーポットは、攻撃者を誘うのに使用される。したがって、ハッキング時間を調査するメトリックは、悪意のあるユーザがハニーポットリソースにアクセスするのに費やす時間を記録してもよい。
【0101】
メトリックを調査するこのハッキング時間は、悪意のある攻撃者が被管理ネットワーク100にどのくらい留まっているかを決定するのに使用され得る。この時間は、被管理ネットワーク100が、攻撃者が探索しようと試みる様々な潜在的に利用可能な脆弱性を有することを示し得るので、より長い時間値は、望ましくないことがある。
【0102】
MTTRトラッカー418は、被管理デバイス120に関する修復平均時間を追跡する。被管理デバイス120の修復は、必要な承認を受けなかったデバイスで検出された変更による被管理デバイスの修復のことに関する。修復されると、悪意のある攻撃者は、被管理ネットワーク100から「追い出される」。この修復処理は、例えば、上述のようなデバイスのロールバックを含み得る。それはまた、被管理デバイスにおける1つまたは複数の修復ツールの実行を含み得、変更によって行われた任意の望ましくない変更を元に戻し得る。MTTRトラッカー418は、被管理デバイス120の再構築のために、再構築マネージャ236によって生成されたログにアクセスすることによって、この修復時間を追跡し得る。これらのログは、ロールバックがいつ開始されたか、およびロールバックがいつ完了したか、すなわち、オペレーティングシステム122がいつ停止されたか、ならびに既知の良好なデバイスイメージが管理対象デバイス120の電子記憶装置に書き込まれて直前のオペレーティングシステム122および関連データを置換した後にオペレーティングシステム122がいつ起動されたかに関する情報を含み得る。MTTRトラッカー418は、ロールバックが完了した時点とロールバックが開始された時点との差を決定することによって、被管理デバイス120の修復時間を決定する。MTTRトラッカー418は、修復メトリックの平均時間を決定するために、修復/ロールバックされた各管理対象装置に関する、修復時間の平均、ローリング平均(例えば、5時間ローリング平均)、確率分布、または他の統計分析をさらに決定し得る。代替として、MTTRトラッカー418は、被管理ネットワーク100上のすべての被管理デバイス120の修復平均時間を決定してもよい。
【0103】
MTTSトラッカー420は、被管理ネットワーク100の組織の責任または所有権を有する顧客/クライアントに対する被管理ネットワーク100によって提供されるサービスの回復までの平均時間を追跡する。MTTSトラッカー420は、被管理デバイス120における変更の検出及びそのデバイスの修復に起因して、被管理デバイス120によって提供されるサービスが利用できない全体時間を追跡し得る。したがって、この時間は、検出の時間から、修復、例えばロールバックが完了し、被管理デバイス120が再び利用可能になり、サービスを提供するようになる時間までの時間期間を含み得る。MTTSトラッカー420は、変更検出器232および再構築マネージャ236によって生成されたログにアクセスすることによって、この時間を計算し得、被管理デバイスのロールバックが完了したタイムスタンプと、変更検出器232が最終的なロールバックを引き起こした変更を最初に検出したときとの間の差を決定し得る。MTTSトラッカー420は、他のトラッカーと同様に、すべての記録されたサービス停止に関する様々なサービス回復時間の平均または他の統計的分析を決定し得、特定のサービスに関するサービスメトリックの平均時間を生成し得る。
【0104】
ここでは示されていないが、コンプライアンス測定セット410は、追加のトラッカーを含み得、サービスレベル合意に関連する他のメトリックを追跡し得る。これらのメトリックは、被管理デバイス上で実行する特定の処理(すなわち、実行可能ファイル)の初期化および終了、ユーザアカウントログインおよびログオフセッション、様々なファイルシステムアクセス、ネットワークアクセス、特定のログエントリー、稼働時間チェック、完全性チェックなどを追跡することに関連し得る。SLAが、測定されるべき特定のメトリックを必要とする場合、トラッカーは、コンプライアンス測定セット410の一部として初期化され得、このメトリックを追跡する。
【0105】
コンプライアンス時間検出器430は、被管理ネットワーク100全体におけるコンプライアンス時間を検出する。コンプライアンス時間検出器430は、被管理ネットワーク100がSLAを有するコンプライアンスを遵守しなくなってから、被管理ネットワーク100がSLAを有するコンプライアンスを遵守するように戻るまでの時間期間を決定する。上述のように、SLAは、被管理ネットワーク100の様々なメトリックがある閾値範囲内にあるべきであることを要求する。例えば、検出までの平均時間は、30秒未満であることが必要とされ得る。コンプライアンス時間検出器430は、コンプライアンス測定セット410のトラッカーによって測定されるメトリックを使用し得、追跡されたメトリックのいずれかがSLAにおいて示される合意された閾値を超えるときを決定し得、同じトラッカーがSLAによって要求される閾値内にあるメトリック値を報告するまでの時間量をさらに決定し得る。この時間差は、コンプライアンス時間検出器430によって、コンプライアンスまでの時間として決定し得る。コンプライアンス時間検出器430は、被管理ネットワークに関するコンプライアンスまでの平均時間をさらに決定するために、メトリックがSLAにおいて必要とされる閾値を超える各インスタンスに関して計算されるコンプライアンスまでの異なる時間の平均、ローリング平均、確率分布、または他の統計分析を決定し得る。
【0106】
非コンプライアンスエンフォーサ440は、コンプライアンス測定セット410またはコンプライアンス時間検出器の任意のトラッカーが、SLAによって必要とされる閾値を超える、または何らかの他の所定の閾値を超える値を示すことに応答して、様々なアクションを実行する。非コンプライアンスエンフォーサ440は、SLAで定義された閾値を超えた特定の追跡メトリックに依存するアクションを選択し得る。あるメトリックの場合、追跡メトリックの閾値数が、それぞれそれらのSLAで定義された閾値を超えるとき、ある時間期間にわたって複数回メトリックが閾値を超える場合、または少なくとも最小時間期間にわたってメトリックが閾値を超える場合に、非コンプライアンスエンフォーサ440は、閾値を超えるメトリックを有する被管理デバイス120のロールバック/再構築を開始し得る、例えば、被管理デバイスの修復メトリックの平均時間が閾値を超える場合、これは、デバイスのロールバックが十分に迅速に発生していないことを示し得、したがって、これに応答して、非コンプライアンスエンフォーサ440は、この被管理デバイス120のロールバックを開始するように管理システム130に要求し得る。別の例として、コンプライアンス時間検出器が、コンプライアンスまでの時間が1日より長くにわたってSLAで定義された閾値を超えたことを示す場合、これは、サービス攻撃の拒否または他の問題などの被管理ネットワーク100内の重大な問題を示し得る。これに応答して、非コンプライアンスエンフォーサ440は、被管理ネットワーク100全体におけるすべてのデバイスのロールバックを引き起こし得る。
【0107】
他の実施形態では、閾値を超えるメトリックに応じて、非コンプライアンスエンフォーサ440は、他の是正措置を実行し得る。例えば、非コンプライアンスエンフォーサ440は、変化が検出されるセッション、およびそのセッションに関連するメトリックが閾値を超えるセッションに、ディープパケットインスペクション、奇形パケット検出、ブロッキングセッションアクティビティなど、セッションに対する様々なセキュリティアクションを実行させ得る。非コンプライアンスエンフォーサ440は、そのセッションのメトリックが閾値をさらに超え続けるにつれて、エスカレートし、追加のセキュリティアクションを追加し得る。一実施形態では、非コンプライアンスエンフォーサ440は、例外リストにない変更にのみ応答し得る。
【0108】
いくつかの実施形態では、メトリックをSLA由来の閾値と比較する代わりに、非コンプライアンスエンフォーサ440は、機械学習または他の統計的分析方法を使用し得、閾値を決定し得る。非コンプライアンスエンフォーサ440は、過去のメトリック値にアクセスし得、この情報に基づいて各メトリックに関する閾値を決定し得る。例えば、非コンプライアンスエンフォーサ440は、メトリックの閾値を、メトリックの履歴値の5日間のローリング平均の150%に設定し得る。
【0109】
任意のアクションを実行する前に、非コンプライアンスエンフォーサ440はまた、検出された変更を承認または非承認するときに
図2を参照して説明されたような変更検出器232によって実行される処理と同様に、アクションの承認のためにマルチユーザ認証プール140にメッセージを送信し得る。
【0110】
測定ロガー450は、コンプライアンス測定セット410のトラッカー、例えばトラッカー412-420によって、およびコンプライアンス時間検出器430よって追跡されたメトリックをログする。測定ロガー450は、この情報を経時的に記録し得る。測定ロガー450はまた、被管理ネットワークの被管理デバイス120のいずれかに対して実行され得る、ロールバック、セキュリティアクションなどの任意の是正措置をログし得る。要求に応じて、測定ロガー450は、被管理ネットワーク100に関するこれらの追跡されたメトリックの報告を経時的に生成し得る。この情報を使用して、管理者または他のエンティティは、現在および過去の履歴のコンプライアンス率、コンプライアンスレベル、および被管理ネットワークに関するSLAへの遵守を決定することが可能である。これはまた、エンティティが、システムが準拠していないか、およびシステムが何らかの是正措置を必要とするかを迅速に判断することを可能にする。この進歩した洞察をシステムに入れ込むことにより、組織が、ネットワーク上で何らかの問題が発生したかを迅速に決定することを可能にする。これは有利に働き、現在のシステムとは対照的であり、それによって、組織は、それらのシステムがセキュリティ侵害されたことをかなり後でのみしか認識し得、攻撃がまだ検出されていないこの潜伏期間中に攻撃者が追加の損害を引き起こすことを可能にする現在のシステムとは対照的である。続いて、これにより、組織は、多くの場合重大なデータ破損または他の問題を示すレターまたはメッセージを、そのサービスにおいて影響を受けるすべてのユーザに発行する。しかしながら、これらのメトリックを迅速に追跡し、メトリックが閾値を超えるときに発生する自動ロールバックを理解する能力を有するので、組織はもはやそのような否定的なシナリオに直面する必要がない。
【0111】
例示的なフロー:
図5は、一実施形態による、rootレベル攻撃を監視および防止するための処理を示す流れ図である。一実施形態では、流れ図に記述された動作は、管理システム130によって実行される。動作の特定のセットが本明細書に記載されているが、他の実施形態では、動作の配置及び数は変化する。
【0112】
管理システム130は、ターゲットデバイスで変更を検出する(510)。これは、
図2を参照して上述したように、変更検出器232を介して達成し得る。
【0113】
管理システム130は、検出された変更が承認されるかの指示を認証ユーザから、マルチユーザ認証プールの認証ユーザの認証デバイスに要求メッセージを送信する(520)。これにより、管理システム130が、その変更を継続することを許可されるべきか、または何らかの是正措置が必要とされるかを決定することを可能にする。
【0114】
管理システム130は、検出された変更が対応する認証ユーザによって承認されているかを示す複数の応答メッセージをマルチユーザ認証プールの認証デバイスから受信する(530)。管理システム130は、非承認を示す複数の応答メッセージのうちの少なくとも3つに基づいて、検出された変更が非承認であると決定する(540)。即座に少なくとも3人のユーザから承認/非承認メッセージを要請することによって、システムは、単一のユーザのシステムがセキュリティ侵害にさらされる単一の障害点を回避することが可能になる。
【0115】
管理システム130は、変更が非承認であるという決定に応答して、ターゲットの被管理デバイスに前の状態にロールバックするように命令する命令メッセージをターゲットの被管理デバイスに送信する(550)。
【0116】
図6は、一実施形態による、被管理デバイスのセット上でのコンプライアンスを測定するための処理を示す流れ図である。一実施形態では、流れ図に記載される動作は、コンプライアンスモニタ150によって実行される。動作の特定のセットが本明細書に記載されているが、他の実施形態では、動作の配置及び数は変化する。
【0117】
コンプライアンスモニタ150は、ネットワーク内の1つまたは複数の被管理デバイスに関するメトリックを測定する(610)。これらは、
図4を参照して上述したトラッカーのいずれか1つによって測定され得る。コンプライアンスモニタは、測定トラッカーによって検出された情報に基づいてログを生成し、生成されたログに基づく報告を受信者に送信する。これは、例えば、上述の測定ロガー450によって実行され得る。コンプライアンスモニタ150はまた、測定されたメトリックが関連付けられた閾値測定値を超えることを示す1つまたは複数の測定トラッカーに基づいて、1つまたは複数のセキュリティアクションを開始する(630)。これらのセキュリティアクションは、上述のように非コンプライアンスエンフォーサ440によって実行され得る。
【0118】
コンピューティングマシンアーキテクチャ:
図7は、コンピュータ可読媒体から命令を読み取り、それらをプロセッサ(またはコントローラ)内で実行することが可能な例示的なコンピューティングマシンの構成要素を示すブロック図である。本明細書で説明されるコンピュータは、
図7に示される単一のコンピューティングマシン、仮想マシン、
図7に示されるコンピューティングマシンの多様なノードを含む分散コンピューティングシステム、またはコンピューティングデバイスの任意の他の適切な構成を含み得る。本明細書で説明されるコンピュータは、前の図で説明された要素のいずれかによって使用され得、説明される機能を実行し得る。
【0119】
例として、
図7は、本明細書で説明する処理のうちの任意の1つまたは複数をマシンに実行させるための、コンピュータ可読媒体に記憶され得る命令724(例えば、ソフトウェア、プログラムコード、またはマシンコード)が実行され得るコンピュータシステム700の例示的な形態のコンピューティングマシンの概略表示を示す図である。いくつかの実施形態では、コンピューティングマシンは、スタンドアロンデバイスとして動作するか、または他のマシンに接続(例えば、ネットワーク化)され得る。ネットワーク化された展開では、マシンは、サーバ-クライアントネットワーク環境内のサーバマシンまたはクライアントマシンの収容能力内で、またはピアツーピア(または分散)ネットワーク環境内のピアマシンとして動作し得る。
【0120】
図7に記載されるコンピューティングマシンの構造は、上記の図に示される任意のソフトウェア、ハードウェア、または組み合わせられた構成要素に対応し得る。
図7は、様々なハードウェア要素およびソフトウェア要素を示すが、上記の図に記載された構成要素の各々は、追加の要素またはより少ない要素を含み得る。
【0121】
例として、コンピューティングマシンは、パーソナルコンピュータ(PC)、タブレットPC、セットトップボックス(STB)、携帯情報端末(PDA)、セルラーフォン、スマートフォン、ウェブアプライアンス、ネットワークルータ、インターネットオブシングス(IoT)デバイス、スイッチまたはブリッジ、もしくはそのマシンによって行われるべきアクションを指定する命令724を実行することが可能な任意のマシンであり得る。さらに、単一のマシンのみが示されているが、「マシン」という用語はまた、命令724を個々にまたは一緒に実行するマシンの任意の集合を含み、本明細書で論じられる方法のうちの任意の1つまたは複数を実行するものと解釈されるべきである
例示的なコンピュータシステム700は、バス708を介して、互いに通信するように構成された1つまたは複数のプロセッサ(一般に、プロセッサ702)(例えば、中央処理装置(CPU)、グラフィックス処理装置(GPU)、デジタルシグナルプロセッサ(DSP)、1つまたは複数の特定用途向け集積回路(ASIC)、1つまたは複数の無線周波数集積回路(RFIC)、またはこれらの任意の組合せ)と、メインメモリ704と、静的メモリ706とを含む。コンピュータシステム700は、グラフィックスディスプレイユニット710(例えば、プラズマディスプレイパネル(PDP)、液晶ディスプレイ(LCD)、プロジェクタ、または陰極線管(CRT))をさらに含み得る。コンピュータシステム700はまた、英数字入力デバイス712(例えば、キーボード)、カーソル制御デバイス714(例えば、マウス、トラックボール、ジョイスティック、モーションセンサ、または他のポインティング機器)、記憶ユニット716、信号生成デバイス718(例えば、スピーカー)、およびネットワークインターフェースデバイス720を含み得、それらもまた、バス708を介して通信するように構成される。
【0122】
記憶ユニット716は、本明細書で説明する方法または機能のうちの任意の1つまたは複数を具現化する命令724が記憶されたコンピュータ可読媒体722を含む。命令724はまた、コンピュータシステム700によるその実行中に、メインメモリ704内又はプロセッサ702内(例えば、プロセッサのキャッシュメモリ内)に完全に又は少なくとも部分的に存在し得、メインメモリ704およびプロセッサ702もまたコンピュータ可読媒体を構成する。命令724は、ネットワークインターフェースデバイス720を介して、ネットワーク726上で送信または受信され得る。
【0123】
コンピュータ可読媒体722は、例示的な実施形態では単一の媒体であるように示されているが、「コンピュータ可読媒体」という用語は、命令(例えば、命令724)を記憶することが可能な単一の媒体または多様な媒体(例えば、集中型もしくは分散型データベース、または関連付けられたキャッシュおよびサーバ)を含むものと解釈されるべきである。コンピュータ可読媒体は、マシンによる実行のための命令(例えば、命令724)を記憶することが可能であり、且つ本明細書で開示される方法のうちの任意の1つまたは複数をマシンに実行させる任意の媒体を含み得る。コンピュータ可読媒体は、ソリッドステートメモリ、光学媒体、および磁気媒体の形態のデータリポジトリを含み得るが、これらに限定されない。コンピュータ可読媒体は、信号または搬送波などの一時的媒体を含まない。
【0124】
さらなる考慮事項:
特定の実施形態は、例えば、上記の図に示されるように、論理または多くの構成要素、エンジン、モジュール、もしくは機構を含むものとして本明細書で説明される。エンジンは、ソフトウェアモジュール(例えば、コンピュータ可読媒体上に具現化されたコード)またはハードウェアモジュールのいずれかを構成し得る。ハードウェアエンジンは、特定の動作を実行することが可能な有形のユニットであり、特定の方法で構成または配置され得る。例示的な実施形態では、1つまたは複数のコンピュータシステム(例えば、スタンドアローン、クライアントまたはサーバコンピュータシステム)またはコンピュータシステムの1つまたは複数のハードウェアエンジン(例えば、プロセッサまたはプロセッサのグループ)は、本明細書で説明する特定の動作を実行するように動作するハードウェアエンジンとしてソフトウェア(たとえば、アプリケーションまたはアプリケーション部分)によって構成され得る。
【0125】
様々な実施形態において、ハードウェアエンジンは、機械的または電子的に実装され得る。例えば、ハードウェアエンジンは、例えば、フィールドプログラマブルゲートアレイ(FPGA)または特定用途向け集積回路(ASIC)などの専用プロセッサとして恒久的に構成され専用回路または論理を含み得、特定の動作を実行し得る。ハードウェアエンジンはまた、ソフトウェアによって一時的に構成された(例えば、汎用プロセッサまたは別のプログラマブルプロセッサ内に包含されるような)プログラマブル論理または回路を含み得、特定の動作を実行し得る。ハードウェアエンジンを機械的に、専用の恒久的に構成された回路で、または一時的に構成された回路(例えば、ソフトウェアによって構成された)で実装するという決定は、コストおよび時間の考慮事項によって決定され得ることが理解されよう。
【0126】
本明細書で説明する例示的な方法の様々な動作は、関連する動作を実行するように一時的に(例えば、ソフトウェアによって)構成されるか、または永続的に構成される、1つまたは複数のプロセッサ、例えば、プロセッサ702によって、少なくとも部分的に実行され得る。一時的または永続的に構成されているかにかかわらず、そのようなプロセッサは、1つまたは複数の動作または機能を実行するように動作するプロセッサ実装エンジンを構成し得る。本明細書で言及されるエンジンは、いくつかの例示的な実施形態では、プロセッサ実装エンジンを含み得る。
【0127】
特定の動作の実行は、単一のマシン内に存在するだけでなく、多数のマシンにわたって展開された1つまたは複数のプロセッサ間で分散され得る。いくつかの例示的な実施形態では、1つまたは複数のプロセッサまたはプロセッサ実装モジュールは、単一の地理的位置(例えば、ホーム環境、オフィス環境、またはサーバファーム内)に配置され得る。他の例示的な実施形態では、1つまたは複数のプロセッサまたはプロセッサ実装モジュールは、多数の地理的位置にわたって分散され得る。
【0128】
本開示を読めば、当業者は、本明細書に開示された原理による同様のシステムまたはプロセスのためのさらなる代替的な構造設計および機能設計を理解するであろう。したがって、特定の実施形態および用途が図示および説明されているが、開示される実施形態は、本明細書に開示される正確な構造およびコンポーネントに限定されないことを理解されたい。当業者には明らかである様々な修正、変更、および変形が、添付の特許請求の範囲において定義される本開示の精神および範囲から逸脱することなく、本明細書で開示される方法および装置の配置、動作、および詳細において行われ得る。