(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公表特許公報(A)
(11)【公表番号】
(43)【公表日】2024-03-21
(54)【発明の名称】サイバーセキュリティ脅威に対するエンドポイント検出及び応答
(51)【国際特許分類】
G06F 21/52 20130101AFI20240313BHJP
G06F 21/62 20130101ALI20240313BHJP
【FI】
G06F21/52
G06F21/62
【審査請求】未請求
【予備審査請求】未請求
(21)【出願番号】P 2023561872
(86)(22)【出願日】2022-04-07
(85)【翻訳文提出日】2023-10-27
(86)【国際出願番号】 CA2022050534
(87)【国際公開番号】W WO2022213202
(87)【国際公開日】2022-10-13
(32)【優先日】2021-04-09
(33)【優先権主張国・地域又は機関】US
(81)【指定国・地域】
(71)【出願人】
【識別番号】522160147
【氏名又は名称】フィールド・エフェクト・ソフトウェア・インコーポレイテッド
(74)【代理人】
【識別番号】100145403
【氏名又は名称】山尾 憲人
(74)【代理人】
【識別番号】100135703
【氏名又は名称】岡部 英隆
(72)【発明者】
【氏名】ホーランド,マシュー
(57)【要約】
コンピューティングデバイス上でのコード実行を制御することは、悪意のあるコードが実行されることを防止し得る。コード実行を制御するために、コンピューティングデバイス上のコードパッケージのコンテキスト情報が維持され得る。コンテキスト情報は、コンピューティングデバイスの初期化時に、又はコードパッケージに対する変更が行われた場合に生成され得る。コンテキスト情報は、コードパッケージが実行を許可されるべきかどうかを迅速に評価するために、アクセス制御リスト(ACL)及び/又は実行制御リスト(ECL)とともに使用され得る。
【特許請求の範囲】
【請求項1】
コンピューティングデバイスのオペレーティングシステム(OS)内でコード実行をセキュリティ保護及び制御するための方法であって、前記方法が、前記コンピューティングデバイスにおいて実装され、かつ、
前記コンピューティングデバイス上のコードパッケージのコンテキスト情報を維持することであって、
コードパッケージのコンテキスト情報を判定し、前記コンピューティングデバイス上に記憶することであって、前記コードパッケージの各々について、前記コンテキスト情報が、前記それぞれのコードパッケージの状態及び前記それぞれのコードパッケージの1つ以上の属性に関する情報を含む、判定及び記憶すること、並びに
前記コンテキスト情報に対する変更について、前記コンピューティングデバイス上で実行されるコードパッケージを監視し、前記コンテキスト情報に対する任意の変更を用いて前記記憶されたコンテキスト情報を更新すること、である、維持することを含み、
前記コンテキスト情報を維持することとは独立して、
アクセサコードパッケージに関連付けられているOSイベントの通知を受信すること、
前記OSイベントを、少なくとも1つのエントリを指定するアクセス制御リスト(ACL)又は実行制御リスト(ECL)と照合しようと試みることであって、各エントリが、検証条件を定義するOSイベント及び関連付けられているイベントコンテキストを含む、試みること、並びに一致が発生する場合、
前記アクセサコードパッケージに関連付けられているコンテキスト情報を取り出すこと、
前記取り出されたコンテキスト情報を、前記一致したACL/ECLエントリ内で指定された前記イベントコンテキストに対して検証すること、及び
前記取り出されたコンテキスト情報の検証時に、前記一致したACL/ECLリストエントリ内で指定されたアクションを遂行すること、を行う、方法。
【請求項2】
前記ACLが、前記アクセサコードパッケージによってリソースにアクセスするための1つ以上の条件を定義し、前記ECLが、前記アクセサコードパッケージを実行するための1つ以上の条件を定義する、請求項1に記載の方法。
【請求項3】
前記ACL/ECLが、
プロセス実行制御リスト、
プロセスアクセス制御リスト、
ヒューリスティックアクセス制御リスト、
モジュール実行制御リスト、
リムーバブルドライブアクセス制御リスト、
ファイル読み取り/書き込みアクセス制御リスト、及び
レジストリアクセス制御リスト、のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項4】
前記一致した制御リストエントリに関連付けられている前記アクションが、
前記OSイベントのアクセスをブロックすること、
前記OSイベントのアクセスを許可すること、
前記OSイベントの前記アクセスの場所を通知すること、
前記OSイベントの実行をブロックすること、
前記OSイベントの実行を許可すること、
前記OSイベントの前記実行の場所を通知すること、
前記OSイベントのプロセスを中断すること、及び
前記OSイベントの前記プロセスをブロックすること、のうちの少なくとも1つを含む、請求項1に記載の方法。
【請求項5】
前記ACL/ECLが、複数のACL又はECLを含む、請求項1に記載の方法。
【請求項6】
前記ACL/ECLが、ポリシー構造において定義され、前記ポリシー構造が、
1つ以上のACL/ECL、及び
前記ポリシー構造の前記検証された1つ以上のACL/ECLに基づいて遂行されるアクションを指定するポリシー情報を定義する、請求項1に記載の方法。
【請求項7】
前記ポリシー構造が、前記ポリシー構造のACL/ECL間の関係の指標を更に含む、請求項6に記載の方法。
【請求項8】
前記ポリシー構造に追加する1つ以上の追加のACL/ECLを受信することと、
前記1つ以上の追加のACL/ECLを前記ポリシー構造の前記複数の制御リストと組み合わせることと、を更に含む、請求項6に記載の方法。
【請求項9】
前記1つ以上のACL/ECLが、1つ以上のポリシー構造において指定される、請求項8に記載の方法。
【請求項10】
前記ポリシー構造から削除する1つ以上のACL/ECLの指標を受信することと、
前記示された1つ以上のACL/ECLを前記ポリシー構造から除去することと、を更に含む、請求項6に記載の方法。
【請求項11】
前記コンテキスト情報は、プロセスバイナリが署名されているかどうかの指標を含む、請求項1に記載の方法。
【請求項12】
前記コードパッケージが、
プロセス、
動的ライブラリ、及び
ドライバ、のうちの1つ以上を含む、請求項1に記載の方法。
【請求項13】
コンピューティングデバイスであって、
命令を実行するためのプロセッサと、
前記プロセッサによって実行されたときに、請求項1から12のいずれか一項に記載の前記方法を遂行するように前記コンピューティングデバイスを構成する命令を記憶するメモリと、を備える、コンピューティングデバイス。
【請求項14】
コンピューティングデバイスのプロセッサによって実行されたときに、請求項1から12のいずれか一項に記載の前記方法を遂行するように前記コンピューティングデバイスを構成する命令を記憶する非一時的コンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
(関連出願の相互参照)
本出願は、米国仮特許出願第63/173,033号に対する優先権の利益を主張するものであり、その全内容は参照により本明細書に組み込まれる。
【0002】
(発明の分野)
本開示は、サイバーセキュリティに関し、特に、エンドポイント上のサイバーセキュリティ脅威を検出し、それに応答するための機能に関する。
【背景技術】
【0003】
サイバーセキュリティは、コンピュータ関連のセキュリティ脅威を防止又は軽減しようと試みるものである。脅威は、例えば、ウイルス、マルウェア、ランサムウェアなどの様々な形態をとり得る。セキュリティ脅威は、典型的には、悪意のあるコードの実行を含む。全ての脅威が悪意のあるコードの実行に関与するわけではない可能性があるが、悪意のあるコードの実行を検出し、場合によっては防止することによって、セキュリティ脅威の一部分を防止又は軽減することができる。
【0004】
悪意のあるコードの実行を防止する手法は、プロセスのシグネチャを判定して、プロセスのシグネチャが既知の悪意のあるプロセスに関連付けられたシグネチャと一致するかどうかを判定することを含み得る。これらの手法は、いくつかのセキュリティ脅威を検出する際に有用であり得るが、新しい脅威に対して全てのエンドポイント上で署名を維持することは、困難であり得る。加えて、アクションが発生するたびにプロセスを評価しなければならないことは、エンドポイントにとって計算コストが高くなる可能性がある。
【0005】
サイバーセキュリティ脅威を検出し、場合によってはそれに応答するための代替の、追加の、及び又は改善されたプロセスが望ましい。
【図面の簡単な説明】
【0006】
本開示の更なる特徴及び利点は、添付の図面と組み合わせて、以下の詳細な説明から明らかになるであろう。
【
図1】セキュリティ脅威を軽減するためのエンドポイントシステムを描示する。
【
図2】セキュリティ脅威を軽減するためのエンドポイント方法を描示する。
【発明を実施するための形態】
【0007】
本開示によれば、コンピューティングデバイスのオペレーティングシステム(operating system、OS)内で、コード実行をセキュリティ保護及び制御するための方法が提供され、方法は、コンピューティングデバイスにおいて実装され、かつ、コンピューティングデバイス上のコードパッケージのコンテキスト情報を維持することであって、コードパッケージのコンテキスト情報を判定し、コンピューティングデバイス上に記憶することであって、コードパッケージの各々について、コンテキスト情報が、それぞれのコードパッケージの状態及びそれぞれのコードパッケージの1つ以上の属性に関する情報を含む、判定及び記憶すること、並びにコンテキスト情報に対する変更について、コンピューティングデバイス上で実行するコードパッケージを監視し、コンテキスト情報に対する任意の変更を用いて、記憶されたコンテキスト情報を更新すること、である、維持することを含み、コンテキスト情報を維持することとは独立して、アクセサコードパッケージに関連付けられているOSイベントの通知を受信すること、OSイベントを、少なくとも1つのエントリを指定するアクセス制御リスト(access control list、ACL)又は実行制御リスト(execution control list、ECL)と照合しようと試みることであって、各エントリが、OSイベント及び検証条件を定義する関連するイベントコンテキストを含む、試みること、並びに一致が発生する場合、アクセサコードパッケージに関連付けられたコンテキスト情報を取り出すこと、取り出されたコンテキスト情報を、一致したACL/ECLエントリ内で指定されたイベントコンテキストに対して検証すること、及び取り出されたコンテキスト情報の検証時に、一致したACL/ECLリストエントリ内で指定されたアクションを遂行すること、を行う。
【0008】
本方法の更なる実施形態によれば、ACLは、アクセサコードパッケージによってリソースにアクセスするための1つ以上の条件を定義し、ECLは、アクセサコードパッケージを実行するための1つ以上の条件を定義する。
【0009】
本方法の更なる実施形態によれば、ACL/ECLは、プロセス実行制御リスト、プロセスアクセス制御リスト、ヒューリスティックアクセス制御リスト、モジュール実行制御リスト、リムーバブルドライブアクセス制御リスト、ファイル読み取り/書き込みアクセス制御リスト、及びレジストリアクセス制御リスト、のうちの少なくとも1つを含む。
【0010】
本方法の更なる実施形態によれば、一致した制御リストエントリに関連付けられているアクションは、OSイベントのアクセスをブロックすること、OSイベントのアクセスを許可すること、OSイベントのアクセスの場所を通知すること、OSイベントの実行をブロックすること、OSイベントの実行を許可すること、OSイベントの実行の場所を通知すること、OSイベントのプロセスを中断すること、及びOSイベントのプロセスをブロックすること、のうちの少なくとも1つを含む。
【0011】
本方法の更なる実施形態によれば、ACL/ECLは、複数のACL又はECLを含む。
【0012】
本方法の更なる実施形態によれば、ACL/ECLは、ポリシー構造内で定義され、ポリシー構造は、1つ以上のACL/ECL、並びにポリシー構造の検証された1つ以上のACL/ECLに基づいて遂行されるアクションを指定するポリシー情報を定義する。
【0013】
本方法の更なる実施形態によれば、ポリシー構造は、ポリシー構造のACL/ECL間の関係の指標を更に含む。
【0014】
本方法の更なる実施形態によれば、本方法は、ポリシー構造に追加するための1つ以上の追加のACL/ECLを受信することと、1つ以上の追加のACL/ECLをポリシー構造の複数の制御リストと組み合わせることと、を更に含む。
【0015】
本方法の更なる実施形態によれば、1つ以上のACL/ECLは、1つ以上のポリシー構造内で指定される。
【0016】
本方法の更なる実施形態によれば、方法は、ポリシー構造から除去する1つ以上のACL/ECLの指標を受信することと、示された1つ以上のACL/ECLをポリシー構造から除去することと、を更に含む。
【0017】
本方法の更なる実施形態によれば、コンテキスト情報は、プロセスバイナリが署名されているかどうかの指標を含む。
【0018】
本方法の更なる実施形態によれば、コードパッケージは、プロセス、動的ライブラリ、及びドライバ、のうちの1つ以上を含む。
【0019】
本開示によれば、コンピューティングデバイスが更に提供され、コンピューティングデバイスは、命令を実行するためのプロセッサと、プロセッサによって実行されたときに、上で説明される方法を遂行するようにコンピューティングデバイスを構成する命令を記憶するメモリと、を備える。
【0020】
本開示によれば、コンピューティングデバイスのプロセッサによって実行されたときに、上で説明される方法を遂行するようにコンピューティングデバイスを構成する命令を記憶する、更なる非一時的コンピュータ可読媒体が存在する。
【0021】
エンドポイントは、例えば、パーソナルコンピュータ、ラップトップ、サーバ、モバイルコンピューティングデバイスなどを含むコンピューティングデバイスを備え得る。以下で更に説明するように、異なる脅威に対するエンドポイント保護は、アクセス制御リスト(ACL)及び実行制御リスト(ECL)のセットを使用することによって提供される。エンドポイント検出及び応答(endpoint detect and respond、EDR)機能は、エンドポイントの各々で動作し、ホスト上のコードパッケージに関するコンテキスト情報を維持するように、エンドポイントを監視することができる。コードパッケージは、ロード及び実行され得るコードのパッケージを提供し、例えば、プロセス、動的ライブラリ、ドライバなどを含み得る。コンテキスト情報は、コードパッケージについての情報を、例えば、エンドポイントのブート時に一度判定することを許可し、特定のアクションが許可されるべきか、ブロックされるべきか、又は何らかの他のアクションが取られるべきかを評価するときに、複数回使用される。あるアクションを取るかどうかの判定は、1つ以上のポリシー構造として提供され得るACL/ECLを使用して定義され得る。ポリシー構造は、オペレータが脅威を容易に定義し、自動的にアクションを取ることを許可する。ポリシー構造は、エンドポイントに容易に配布され、コンテキスト情報を使用してオペレーティングシステムイベントを評価する際に使用され得る。
【0022】
EDR機能は、オペレータが脅威を容易に定義し、自動的にアクションを取ることを許可するように設計されたACL及びECLの特殊化されたセットを利用する自動化されるアクティブ検出及びブロック特徴のセットを提供する。EDRシステムは、リアルタイム観察に基づいており、複雑さよりも単純さを利用する。この手法には多くの利点があるが、ACL/ECLが単純であり、実際の脅威がどのように詳述及び追跡されるかを反映するように構造化されることを含む。更に、ACL/ECLは、複雑なイベント相関を必要とせずに迅速な意思決定を可能にする。ACL/ECLは、マルウェア「ピンチポイント」と概念的に整合され、脅威を迅速に識別し、複雑さを伴わずに破壊することを許可する。ACL/ECLは、ランサムウェアから標準的なマルウェア、複雑な高度永続的脅威(advanced persistent threat、APT)技法に及ぶ全てのタイプの脅威を識別及び追跡するために使用することができる。ACL/ECLはまた、ACL/ECLの違反に基づいてブロック又は通知し、その後の、プロセス、スレッド、ドライバ、動的ライブラリなど、及び脅威の終了又は中断をトリガするために使用することもできる。
【0023】
EDR機能は、状態機械を使用して、ホスト上のコードパッケージについての事前定義された結論の並列セットを維持し得る。例えば、コードパッケージバイナリが署名され、キャッシュされ、ホストブートの期間中、又はそのバイナリが変更されるまで維持されるかどうかの状態。コンテキスト情報を維持することにより、高価な処理がホストのブートごとに1回だけ遂行されるように強制する1回決定による多数回アクションのパターンが可能になる。これは、重い処理又は予想外の結果につながる場合が多い複雑な様式でイベントの範囲を処理する必要性を回避する。進行中のオペレーティングシステムオブジェクト/アクティビティセンサを使用して、コードパッケージの状態機械及びそれらのコードパッケージに関する属性を維持し得る。オブジェクト/アクティビティセンサは、Windows及びmacOS(登録商標)上のセキュリティ指向API(すなわち、セキュリティ追跡を目的とするAPI)によって動かされ得る。
【0024】
コードパッケージ及び属性の状態を維持することに加えて、EDR機能はまた、1つ以上のACL/ECLに対してOSイベントを処理し、OSイベントをブロックし、許可し、又はOSイベントに対して他のアクションを取ることができる。1つ以上のACL/ECLは、1つ以上のポリシーオブジェクト内で定義することができる。ポリシーオブジェクトを使用して、様々なACL/ECL構成を、例えば、アンチランサムウェア、マルウェアデータ収集、マルウェアパーシステンスベクトル、Microsoft officeの使用、Libre Officeの使用、会計士ソフトウェアアクセス、法務ソフトウェアアクセス、医療ソフトウェアアクセス、標準的なWindowsのワークステーションヒューリスティック保護、標準的なWindowsサーバのヒューリスティック保護などの運用構成に直観的に一致するポリシーとして定義し得る。
【0025】
図1は、セキュリティ脅威を軽減するためのエンドポイントシステムを描示する。システムは、コンピュータ100として描示されているが、EDR機能は、他のエンドポイントデバイス上に提供され得る。
図1には描示されていないが、エンドポイントコンピュータ100は、命令を実行する1つ以上のプロセッサと、命令及びデータを記憶するメモリと、を備える。メモリに記憶された命令は、プロセッサによって実行されたときに、様々な機能102を提供するようにエンドポイントコンピュータを構成する。機能102は、プロセス106を実行する機能を提供するオペレーティングシステム104を含む。プロセス106は、例えば、プロセスがどこから生じたか、それが署名されているかどうかなど、それらに関連付けられた様々な属性を有し得る。プロセスは、例えば、ファイルシステム108にアクセスすることを含む、様々な機能を遂行することができる。
図1ではプロセスとして描示されているが、実行可能コードのパッケージは、プロセス、スレッド、動的、ライブラリ、ドライバ、カーネルドライバなどを含むことが可能である。
【0026】
OS機能104は、例えば、プロセスの実行、ファイルへのアクセス、表示の制御などのイベントを処理するイベント処理機能110を有し得る。OS機能はまた、EDR機能112を含み得る。オペレーティングシステム104の一部として提供されるものとして描示されているが、EDR機能は、OSの一部である必要はなく、代わりに、プロセス106のうちの1つのようにOS上で実行され得る。
【0027】
EDR機能112は、ホストを監視し、ホスト上のプロセス又は他の実行可能コードパッケージについての情報を維持する並行状態モニタ114を備え得る。並行状態モニタ114は、1つ以上のOSオブジェクト/アクティビティセンサを使用して、プロセス又はコードパッケージに関するコンテキスト情報を維持し得る。コンテキスト情報は、ファイル、データベース、状態機械、又は他の構造などの何らかの構造に記憶され得る(116)。コンテキスト情報は、プロセスに関する状態情報及び属性を含む。
【0028】
状態情報は、アクセス/実行制御機能118によって使用され得る。アクセス/実行制御機能118は、OSイベントの通知を受信し、1つ以上のポリシー120に記憶され得る1つ以上のACL/ECLとともに状態情報を使用する。アクセス/実行制御機能は、OSイベントを1つ以上のACL/ECL又は1つ以上のACL/ECLを指定するポリシーと照合する。OSイベントがポリシー又はACL/ECLと一致する場合、イベントに関連付けられているアクセサプロセス又は実行可能コードパッケージは、一致したポリシー又はACL/ECLに従って検証される。本明細書で更に説明されるように、アクセス/実行制御機能は、様々な関係で互いにリンクされ得る複数のACL/ECLに基づいて、OSイベントを検証することができる。ACL/ECLの検証において違反があったかどうかに基づいて、アクセス/実行制御119は、OSイベントをブロックすること、OSイベントの通常の処理を継続することを許可すること、若しくはOSイベントを許可するがイベントをログ記録すること、及び/又はイベントの通知を1つ以上の場所に送信すること、を含む様々なアクションを取ることができる。EDR機能112は、イベントをログ記録するとともに通知を提供し得るログ/通知機能122を含み得る。
【0029】
図2は、セキュリティ脅威を軽減するためのエンドポイント方法を描示する。方法200は、ホスト上に存在するコードパッケージの状態及び属性の状態機械を維持するために、プロセス状態更新を監視し(202)、コンテキスト情報を生成する(204)第1のプロセスを含む。これは、プロセス状態更新を監視するものとして描示されているが、ブート時に最初に状態情報を生成するために、ブート中に発生し得る。監視は、プロセス又は実行可能コードパッケージに対する何らかの変更が発生した場合に、コンテキスト情報を更新するために連続的に行われ得る。
【0030】
上で説明されるようにコンテキスト情報を維持することと同時に、方法200は、OSイベントを受信し得る(206)。次いで、OSイベントは、例えば、ポリシー内で指定された1つ以上のACL/ECLであり得る1つ以上の制御リストと照合され得る(208)。OSイベントが制御リストと一致する場合、OSイベントのアクセサプロセスのコンテキスト情報が取り出され(210)、一致した制御リストに対してアクセサプロセスを検証するために使用され得る(212)。検証に基づいて、OSイベントに対してアクションを取ることができる(214)。アクションとしては、例えば、OSイベントが通常通りに処理されることを許可すること、OSイベントが更に処理されることからブロックすること、OSイベントに関連付けられたプロセスを強制終了又は中断すること、及びOSイベントをログ記録すること又はOSイベントの通知を送信することが挙げられる。
【0031】
図3は、並行状態モニタの詳細を描示する。並行状態モニタ112は、例えば、プロセス又はコードパッケージに関するコンテキスト情報を判定することができ(304)、これは、複数のプロセス/コードパッケージに関して最初に行われ得る。例えば、ホストのブートプロセス中に、ホスト上の様々なプロセス又はコードパッケージのコンテキスト情報を判定することができる。判定されたコンテキスト情報は記憶され(306)、次いで、並行状態モニタは、コードパッケージの状態及び/又は属性に対する変更を監視し得る(308)。状態及び/又は属性に対する何らかの変更が検出された場合、又は新しいコードパッケージが検出された場合、状態情報を更新及び記憶し得る(306)。
【0032】
図4は、アクセス/実行制御の詳細を描示する。アクセス/実行制御機能118は、OSイベントを受信し得る(402)。オペレーティングシステムイベントが発生すると、ACL/ECLルックアップが発生して、そのイベントがいずれかのACL/ECLと一致するかどうかを判定する(404)。一致するエントリが存在する場合(404での「はい」)、このエントリは、ACL/ECLに対するOSイベントを検証するために評価され(406)、これは、コンテキスト情報を使用してACL/ECLエントリ及び関係を処理することによって行われ得る。ACL/ECLの検証は、アクセサプロセス/コードパッケージの状態を確かめるために、状態機械を使用して行われ得る。アクセサがACL/ECLの規定に違反する場合、違反が発生する(408)。違反が発生した場合(408での「はい」)、イベントに対する応答アクションが判定され、これは、違反の通知を送信すること又はイベントをブロックすること(410)のいずれかとして描示されている。違反の結果としてアクセサがブロックされるべき場合(410での「ブロック」)、イベントはブロックされる(412)。
図4には描示されていないが、通知及び/又はログは、イベントをブロックする際に生成され得る。イベントをブロックした後、アクセサプロセス又は実行中のコードパッケージを中断又は強制終了すべきかどうかが判定され得る(414)。実行中のコードパッケージが中断又は強制終了されるべきである場合(414での「はい」)、アクセサは中断又は強制終了される(416)。実行中のコードパッケージを中断又は強制終了すべきでない場合(414での「いいえ」)、処理は完了する(418)。OSイベントの通知又はブロックに戻り(410)、違反が通知されるべきである場合(410での「通知」)、通知が発行され(420)、かつ/又は違反がログ記録され、OSイベントの処理が継続する(422)。同様に、OSイベントがいずれのACL/ECLにも一致しない場合(404での「いいえ」)、又はACL/ECLの違反がない場合(408での「いいえ」)、OSイベント処理は継続する(422)。
【0033】
上で説明されるように、EDR機能を使用して、1つ以上のACL/ECLに対してOSイベントを検証し得る。制御リストは、ポリシーオブジェクト内に記憶されるか、又は他の方法で指定され得る。EDR機能は、プロセス変更通知及び/又はネットワーク状態変化通知を提供することを含み得、この変更通知は、poll+diffsモデルではなくプッシュモデルを使用し得る。EDR機能は、セッション変更通知を更に提供し得、この変更通知は、セッション変更に非常に費用がかかる可能性がある時間ベースのポーリングを回避するために、poll+diffsを行うためにログイン/ログアウトイベントに関連付けられているプッシュトリガを使用し得る。プロセス及びネットワーク関連のOSイベントを特に参照して説明されているが、EDR機能は、生成され得る任意のOSイベントとともに使用され得ることが理解されよう。
【0034】
以下で更に説明されるように、制御リストは、複数の異なるタイプの制御リストを含み得る。EDR機能は、異なるタイプの制御リストを処理するための機能を含み得る。例えば、EDR機能は、許可リスト又はブロックリストのいずれかを利用して、プロセスが実行することをブロックされることを許可する、プロセスECLを扱うための機能であり得る。これは、固有の実行ファイルが動作することをブロックするための一時的なメカニズムを提供することを意図している。例えば、典型的なワークステーションは、「reg.exe」又は「regedit.exe」を実行することを決して望まない可能性があり、あるいは、固有のマルウェアインスタンスが、ネットワーク上の別のホスト上で見られたときにブロックされる必要がある可能性がある。プロセスACLを扱うための機能は、プロセスアクセス関係が許可リスト又はブロックリストを介して定義/制御されることを許可する。これは、プロセスインジェクション又は予想外のプロセス空間アクセスなどの試みを停止することを意図している。ヒューリスティックACLを扱う機能は、プラットフォーム固有のヒューリスティックが、許可リスト又はブロックリストを介して制御されることを許可する。これは、検出を無効にするために使用されるプロセス起動メカニズムに関連付けられている様々なヒューリスティックなど、いくつかのよりプラットフォーム固有の挙動を捕捉することを意図している。モジュールECLを扱うための機能は、許可リスト又はブロックリストのいずれかを利用して、ユーザモード/カーネルモードモジュールがメモリにロードされるのをブロックすることを許可する。これは、署名されていないモジュールが固有のプロセスにロードされること、又は悪意のある行為を試みる「rundll.exe」の悪意のある利用などの行為を防止するメカニズムを提供することを意図している。ネットワーク監視機能は、ネットワークモニタがIPv4/IPv6及びUDP/TCPトラフィックを監視するように配置されることを許可し、メッセージフローを、ユーザモードで現在存在する既存の「ネットワーク通知API」に統合する。リムーバブルドライブACLを扱う機能は、リムーバブルドライブがシリアル番号によってブロックされる(又は許容される)ことを許可する。これはまた、ドライブがブロックされたときに通知を送信する。ファイル読み取り/書き込みACLを扱うための機能は、固有の読み取り/書き込みACLが(ファイル拡張子に基づいて)ファイルタイプに配置されることを許可する。特定のプログラムへのファイルアクセスをロックダウンするために、セキュリティプロバイダがホストネットワーク(すなわち、コンテンツにアクセスするためにどのプログラムが使用されるか)について知ることを許可することが意図されている。これは、ランサムウェア保護に対するバックアップとして有用であり得るが、マルウェアヒューリスティックを識別するためにも使用され得る。レジストリACLを取り扱うための機能は、ACLがレジストリキー、値、及びキーツリー上に配置されることを許可する。これは、永続的なマルウェアのインストールをブロックするために特定の場所でレジストリをロックダウンすることを意図しており、新しい自動開始プログラムがホストに追加されたときを認識するためのリモート「AutoRuns」モニタとして使用することもできる。可能なブロック条件について特定の例が上記で使用されたが、あるイベントをブロックするかどうかを判定するときに、他のデータが使用され得ることが理解されよう。
【0035】
EDR機能は、上で説明されるように、1つ以上の一致する制御リストに従ってOSイベントを処理し得る。制御リストは、アクセス制御リスト及び実行制御リストを含み得る。制御リストは、1つ以上のポリシー内で指定され得る。ポリシーは、以下で更に説明するように、ポリシーオブジェクトによって提供され得る。
【0036】
図5は、ポリシーオブジェクトを描示する。ポリシーオブジェクト502は、ポリシー情報504を含み得、これは、ポリシー名、ID、バージョン情報、及び可能性のある違反に関連付けられているアクション、並びにポリシーフラグなどのポリシー情報504を含み得る。ポリシーオブジェクトはまた、1つ以上のACL/ECL506及びACL/ECL508間の1つ以上の関係を含み得る。
【0037】
ポリシー情報は、例えば、ポリシーIDを含み得、これは、最大64個のポリシーが顧客セットにわたって定義及び使用されることを可能にする、64ビットのビットフラグ値であり得る。各フラグの意味は、事前定義され得る。ポリシーは、一度に複数のフラグを引用することによってEDR機能から設定又は削除することができるので、エンドポイントにおいて効力のあるポリシーを更新するための複合更新メッセージが可能であり、これは、メッセージトラフィックを低減するのに役立ち得る。加えて、全てのACL/ECLの取り扱いは、複数のポリシーの概念を尊重し、したがって、それらを適宜組み合わせる/マージする。ポリシー情報は、ポリシーIDによって識別されるようなポリシーのバージョンを識別する64ビット値であり得るポリシーバージョンを更に含み得る。ポリシー情報は、更に含み得る。例えば、ポリシープラットフォームの指標であり、これは、フラグであり得る、その値は、ポリシーが互換可能であるプラットフォームを示し、誤ったプラットフォーム上での偶発的なポリシー展開からの悪い結果を回避することが意図される。ポリシー情報は、ポリシーメタデータフラグなどの追加データを更に含み得、その値は、ポリシーの意図についての記述情報を含む。そのような情報は、主に情報的であり得るが、発行され得るポップアップ、syslog、Windows Event Logなどのホスト側通知のタイプを考慮し得る。
【0038】
ポリシーオブジェクトは、1つ以上のACL及び/又はECLに関するACL/ECL情報を含み得る。ACL及びECLは、例えば、プロセス実行関係、実行チェーンなどに対する実行制御を提供して、どのプロセスがどのような状況下で動作し得るかを定義するプロセスECLを含む、様々な異なるタイプを含むことができる。プロセスACLは、例えば、プロセスインジェクションへの前段階として「メモリ書き込み」権限を有するハンドルを開くなど、他のプロセスにアクセスするプロセスに関するアクセス制御を提供し得る。ヒューリスティックACLは、NTFSトランザクションロールバックを使用してプロセスをディスク上の別の実行可能ファイルに関連付けられているものとして偽装するWindows技法など、プラットフォーム固有の技法に対する制御を提供し得る。モジュールECLは、ユーザモードモジュール及びカーネルモジュールモジュールがプロセスメモリ空間にマッピングされるときに、それらのモジュールに対する制御を提供し得る。レジストリACLは、レジストリキーへのアクセス、特に特定のレジストリ値の書き込み、又はシステムリソースに関連付けられているキーの削除に対する制御を提供し得る。ファイルACL(読み取り及び書き込み)は、ディスク上のファイルの読み取り/書き込み/名前変更/削除に対する制御を提供し、予想されるアプリケーション挙動をファイルタイプに関連付け得る。リムーバブルドライブACLは、ホストに挿入されたリムーバブルドライブに対する制御を提供し得る。
【0039】
上で言及されるように、EDRポリシー構成は、エンドポイントエージェント上でポリシーを組み合わせること、及びそれらを一緒に良好に機能させることを容易にするように実装され得る。例えば、次のような小さな例を考える:
1. 0x0000000000004000のIDを有する「Microsoft Office」と呼ばれるファイル書き込みACLポリシーは、<MSOFFICE_ROOT>\winword.exeによって以下のファイルタイプがアクセスされ得ることを示す:
a.「.doc」
b.「.docx」
c.「.docm」
2. 0x0000000010000000のIDを有する「Libre Office」と呼ばれるファイル書き込みACLポリシーは、<LIBREOFFICE_ROOT>\swriter.exeによって以下のファイルタイプがアクセスされ得ることを示す:
a.「.doc」
b.「.docx」
c.「.doct」
d.「.dot」
【0040】
両方のポリシーがエンドポイントエージェントに適用されるとき、ファイル書き込みACLリスティングは、以下の組み合わされたポリシーデータを示すことになる(上記の2つのポリシーIDを組み合わせる太字のポリシーID値に留意されたい):
●0x0000000010004000-「.doc」
〇<MSOFFICE_ROOT>\winword.exe
〇<LIBREOFFICE_ROOT>\swriter.exe
●0x0000000010004000-「.docx」
〇<MSOFFICE_ROOT>\winword.exe
〇<LIBREOFFICE_ROOT>\swriter.exe
●0x0000000000004000-「.docm」
〇<MSOFFICE_ROOT>\winword.exe
●0x0000000010000000-「.doct」
〇<LIBREOFFICE_ROOT>\swriter.exe
●0x0000000010000000-「.dot」
〇<LIBREOFFICE_ROOT>\swriter.exe
【0041】
ポリシーのタイプに依存して、いくつかのポリシーは組み合わされるか、又は別々に保たれる。ポリシーが組み合わされるか又は別個に保たれるかの最重要点は、組み合わせるべきデータポイントが存在するかどうかに依存する。
【0042】
組み合わされたポリシーは、それらが記述するデータに基づいて重複され得る。例えば、2つのファイル書き込みACLポリシーの上記の説明は、共通ファイルタイプの重複する保護を有する。両方のポリシーが適用されるとき、それらの保護は、両方のポリシーが、このケースではファイル拡張子である同じデータピボットポイントの周りに適用されるように組み合わされる。組み合わされたポリシーは、それらが正確に同じであり、両方が適用され、次いで一方が除去された場合、除去されなかった一方がそのまま残るというポイントまで保護される。上で説明されるポリシータイプのうち、組み合わされたポリシータイプには、ファイルACL、レジストリACL、及びリムーバブルドライブACLが含まれる。
【0043】
たとえそれらが類似のものを記述していても、別々のファイルが並んで追加される。例えば、一方のプロセスECLポリシーが<WINDOWS(登録商標)>\System32\cmd.exeが動作することをブロックされたケースを記述し、別のプロセスECLポリシーが<WINDOWS(登録商標)>\System32\cmd.exeに追加の制約を有していた場合、両方の制約がアクティブになる。加えて、一方のポリシーが通知するように示され、違反され、次に別のポリシーがアクションをブロックするように示された場合、ブロックアクションは、それがより高いシステムインパクトを有するために有効になり、発行された任意のプロセスECLログは、両方のポリシーが違反を有したことを示す。この手法は、組み合わせが発生し得る好適なデータポイントを有しないエンティティに対して必要とされる。別個のポリシーは、プロセスECL、プロセスACL、モジュールECL、及びヒューリスティックACLを含む。
【0044】
ポリシーは、ポリシーの違反が発生した場合に遂行される異なるアクションに関連付けられ得る。例えば、ポリシーに割り当てることができる3つのアクション、すなわち、ポリシーのタイプに応じて異なる効果を有し得る違反を通知すること、又は違反をブロックすること、及び確認された一致がないとき、又は「不明なリスト一致」と称される不一致を通知することが存在し得る。例えば、以下を含む所望のアクションを指定するためにフラグを使用し得る:
●NOTIFY_ON_VIOLATION-許可リストが一致しない形態、又はブロックリストエントリが明確に一致する形態のいずれかで、ポリシーが明示的に違反されたときにログが生成されることを示す。
●BLOCK_ON_VIOLATION-このフラグは、許可リストが一致しない形態、又はブロックリストエントリが明確に一致する形態のいずれかで、ポリシーが明示的に違反されたときにアクションが明確にブロックされることを示す。加えて、ブロックイベントの概要を示すログが生成される。
●NOTIFY_ON_UNKNOWN-LISTUNKNOWN-フラグは、ポリシーが許可リストとブロックリストの両方の組み合わせであり、いずれのリストも違反されていないときにログが生成されることを示し、これは、所与のイベントが「不明なカテゴリ」に入ったことを示す。不明なリストについては、次のセクションで更に考察される。
【0045】
ホスト上でアクションを実行又は遂行するために、何が許可されるか、及び何が許可されないかを記述するポリシーを定義することに関する課題は、ポリシーが常に経験の定義であり、何が知られているかである。しかしながら、顧客ネットワーク/ホスト上で発生する不思議な又は予想外のことが常に存在し、EDRポリシーソリューションは、知られているものを最大限に活用し、知られていないものを提供することが意図されている。それとともに、一致又は一致の欠如に関して何をすべきかを記述する以下の3つのECL/ACLカテゴリが定義されている。
●許可リスト-これらのリストは、所与のECL/ACLタイプに対して許容される固有のイベントを概説する。
●ブロックリスト-これらのリストは、所与のECL/ACLタイプに対して許容されない固有のイベントを概説する。
●不明なリスト-このリストは、実際にはリストではなく、許可リストとブロックリストの両方が使用されるが、所与のイベントがどちらにも一致しない場合のキャッチオールである。
【0046】
上記の定義が与えられると、以下に記載されるいくつかのECL/ACLタイプについてこれらのリストを利用することができる4つのモードが存在する。
●許可リストのみ-許可リストは、何が明示的に許容されるかを定義し、一致しないものは全てポリシー違反とみなされる。
●ブロックリストのみ-ブロックリストは、何が明示的に許容されないかを定義し、一致するものは全てポリシー違反とみなされる。全ての不一致イベントが許容される。
●許可リスト+ブロックリスト、不明なリスト通知有効化-許可リストは、何が明示的に許容されるかを定義し、ブロックリストは、何が明示的に許容されないかを定義する。許可リスト一致が発生せず、かつブロックリスト一致が発生しない場合、アクションが許容され、不明なリスト通知としてマークされたログが生成される。これは、特にACLが違反をブロックするようにマークされている場合に、オペレータが不明なリスト違反を追跡して、ホスト活動を必ずしもブロックすることなく予想外の挙動について学習するのを助けることを許可することが意図されている。
●許可リスト+ブロックリスト、不明なリスト通知無効化-許可リストは、何が明示的に許容されるかを定義し、ブロックリストは、何が明示的に許容されないかを定義する。許可リストの一致が発生せず、ブロックリストの一致が発生しない場合、アクションは許容される。
【0047】
上で説明されるように、ポリシーは、様々なフラグを含み得る。フラグは、例えば、所与のECL/ACLオブジェクトインスタンスの一部であるフィールド及びデータタイプを記述すること、ポリシー違反が発生したときにどのようなアクションを取るべきかを記述すること、ポリシー違反ごとに、どのフィールド及びデータタイプが違反されたかを記述すること、を含む、様々な目的のために、EDRを介して、使用され得る。フラグは、ECL/ACLを処理する際に使用するための様々な異なる情報を提供し得る。例えば、フラグは、例えば、ファイルの名前及び/又は場所、ファイル、プロセス、モジュール、レジストリキーなどのECL/ACLのエンティティの特性、並びに取るべきアクションなどの広範囲の情報のために含まれ得る。
【0048】
EDRポリシーは、それらが適用されているホストについてのいかなる情報も知らないポリシーを容易にするために、プラットフォーム/ソフトウェア/ユーザキーワードを活用し得る。例えば、プロセスc:\Windows\System32\cmd.exeを記述するプロセスECLポリシーは、どのルートドライブWindowsがインストールされているかを知る必要がある。あるケースでは、それはC:であるが、そうである必要はない。そのため、キーワードの概念が導入され、これにより、このポリシーは、<WINDOWS(登録商標)>\System32\cmd.exeとして定義され得、<WINDOWS(登録商標)>キーワードが動的に変換され、動作時に、C:\Windowsなどのホスト固有の値に置き換えられる。これは、ポリシー存続期間中の重要な時間にのみ遂行され、この手法による関連するパフォーマンスヒットがないことを確実にする。
【0049】
EDRエンドポイントエージェント機能は、単純な又は深いプロセス実行関係を定義するために、一連の基準及び任意選択的なレベルの複雑さを使用してプロセスブロックを許可する機能を提供する。様々なキーワード又はプレースホルダが使用され、固有のデバイス上の実際の値で置き換えられ得る。例えば、ルールは、「<WINDOWS(登録商標)>」、「<PROGRAM_FILES>」、及び「<OFFICE_ROOT>」などのキーワードを使用して定義し得、これらは、特定のデバイス上の実際のパスと置き換え得る。プロセス実行は、最高レベルのブロックリスト駆動型の個々のエントリとして定義される。ブロックリストの対象になったプロセス実行のグループは、以下の高レベル構造を有し得るプロセスECLポリシー内で管理され得る:
●ポリシーフラグ+バージョン
+
●プロセスECL 1
●プロセスECL 2
●プロセスECL 3
...
●プロセスECL n
【0050】
このオブジェクトは、記述ポリシー情報を、単一のポリシーオブジェクトとして移動するプロセスECLのグループに関連付ける能力を提供する。プロセスECLには以下の2つのカテゴリがある:
●子プロセス駆動型は、プロセス実行の深さを、7などのあるレベル数まで定義するために使用され得、プロセスECLのタイプは、プロセス作成時に評価され、作成チェーンが子プロセスの開始を許容されているかどうかを確認することが意図されており、プロセスの乱用を捕捉することが意図されている。例えば、これは、powershell.exeがexplorer.exeによって開始された場合にのみ、その使用を許容するために使用することができる。実行されているプロセスが正当な(悪意のない)実行チェーンからのものであることを確かめる必要がある場合、これらは、非常に複雑になる可能性がある。
●作成者プロセス駆動型を使用して、特定のプロセスが子プロセスに関して作成することができるものを定義することができ、これは、作成者の元の意図を超えてアクセスするために使用されているソフトウェアを検出することを意図している。例えば、これは、同じディレクトリ内に常駐するプロセスのみなど、Microsoft Officeインストールディレクトリ内の任意のプロセスが実行することができるものを制限するために使用することができる。
【0051】
上記に加えて、他の全てのECL/ACLは、どのプロセスが特定のリソースにアクセスすることができる/できないかを識別するためのデータ記述子としてプロセスECLを使用する。例えば、レジストリACLは、特定のレジストリキー/値にアクセスすることができる/できないプロセスを記述するProcessEclPolicyListであるオブジェクトメンバを有する。プロセスECLオブジェクトは、EDRポリシーの一部として全てのECL/ACLを定義するコンテキストにおいて重要である。
【0052】
この新しいプロセスブロック能力に関連付けられているインターフェースは、以下の通りである:
●プロセスECLポリシーの追加/更新-エージェントによって実施される新しいプロセスECLポリシーを追加するか、又は既存のプロセスECLポリシーを修正するために使用される。ポリシー重複は、単純なポリシー管理を許可するように意図されたエージェントによって丁寧に扱われる。
〇入力:ProcessEclPolicyList
〇出力:なし
●プロセスECLポリシーの除去-エージェントから既存のプロセスECLポリシーを除去する。
〇入力:PolicyRemove
〇出力:なし
●プロセスECLのリスティング-エージェントによって現在実施されているプロセスECLをリスティングする。
〇入力:なし
〇出力:ProcessEclPolicyList
●プロセスECLログのフラッシュ-プロセスECL違反(通知又はブロック違反)によって生成された任意のプロセスECLログをフラッシュする。
〇入力:なし
〇出力:ProcessEclLogList
【0053】
プロセスECL特徴に加えて、プロセス通知は、短寿命プロセスを見逃す可能性があるユーザモードにおけるポーリング機構ではなく、正確なプロセス開始/停止通知のためにEDRコンポーネント内で実装され得る。これらの通知は、EDRコンポーネントに投入され、特別なメッセージを介して変更通知レイヤに送信され得る。
【0054】
プロセスECLオブジェクトの単一インスタンスは、プロセスインスタンスを記述し、単一ファイル文字列値(全ての文字列比較は大文字と小文字を区別しない)、ファイルハッシュ値、及び場合によっては、そのファイル名/場所及び/又はハッシュ値によってプロセスを指定するための一連の署名状態フラグ、並びにその状態/属性、例えば、署名済み/未署名、信頼できるか又は信頼できないか、証明書が失効しているかどうかなどから構成することができる。プロセスECLオブジェクトは、親又は作成者の関係を通じて、他のプロセスECLにリンクすることができる。
【0055】
固有のプロセス文字列が指定されておらず、ハッシュが設定されていない場合、プロセス文字列は、「全てのプロセス」を示すために「*」の値であると想定されるか、又はそれに設定され得る。このケースでは、全てのプロセスは、指定された署名フラグに対してチェックされる。
【0056】
コマンドライン情報は、プロセス実行意図を記述する追加の実行条件を識別するのに非常に役立ち得る。例えば、rundll32.exeは、任意のDLLをロードして動作させるために使用することができ、これらのDLLを確かめることは非常に有用であり得る。別の例は、powershell.exeが符号化されたコンテンツで実行されているかどうかを確かめることである。コマンドラインアーティファクトを指定するために、コマンドラインアーティファクトオブジェクトの1つ以上のインスタンスをプロセスECLオブジェクトに追加することができる。
【0057】
親プロセス情報及び作成者プロセス情報を記述するためにプロセスECLを利用することは、ネイティブプロセスの固有の悪用(すなわち、環境寄生型攻撃)を識別するために非常に固有であり得るポリシーを構築することを許可する。親プロセスと作成者プロセスとの間の差異/区別に留意することが重要である。作成者プロセスは、新しいプロセスを開始する実際のプロセスである。親プロセスは、新しいプロセスによって継承される一組のハンドルを提供する場合、又はしない場合があるプロセスである。多くの場合、親は作成者でもあると想定されるが、それらは異なるプロセスである可能性があり、どの親が新しいプロセスを開始することを決定しているかを評価するとき、評価されるべきは作成者プロセスである(親ではない)。
【0058】
プロセスECLオブジェクトのセットがプロセスECLポリシーリスト内に提供されるとき、各プロセスECLオブジェクトは、プロセスECLポリシーリスト全体のコンテキスト内で一意であるべき一意のID値を有し得る。この値は、平坦化された(ワイヤ上の)プロセスECLの一部であるプロセスECL間の関係を相関させるために使用され、このリストは、エージェント内のメモリ内にあるときに垂直方向に拡張することができる。これらの関係は、ポリシーオブジェクト内に記憶される。関係情報は、ポリシー構造内の各レベルにおける各プロセスECL内で関連付けられている関係オブジェクトとして提供され得る。関係情報は、プロセスECLオブジェクト間の関係に関する以下の情報を有し得る:
●プロセスレコードID-作成されたプロセスの一意のIDを識別する。
●親レコードID-新しく作成されたプロセスの親であるプロセスの一意のIDを識別する。
●作成者レコードID-新しく作成されたプロセスの作成者であるプロセスの一意のIDを識別する。この値は、任意選択的であるが、親レコードID及び作成者レコードIDのうちの少なくとも一方、又は両方が指定されるべきである。
【0059】
検出及びブロックのために一致が所望される以下の例を考える:
●ターゲットプロセス-C:\Windows\System32\WindowsPowerShell\v1.0\powershell.exe
●作成者プロセス-署名されたプロセスでなければならない
●親プロセス-cmd.exe
●親プロセスの作成者cmd.exe-署名されていなければならない
【0060】
図6は、例示的なACL/ECL関係を描示する。
図6に描示される関係は、上で説明される検出及びブロックプロセスを表している。描示されるように、検出及びブロックの例は、以下の値を有する4つのプロセスECLオブジェクト602、606、608、612、及び2つの親プロセス・オブジェクト604、610の定義を必要とする。
プロセスECL 1 602
RecordId=1
プロセス文字列=“<WINDOWS(登録商標)>\System32\WindowsPowerShell\v1.0\powershell.exe”
フラグ=BLOCK_ON_VIOLATION FILE_PATH
プロセスECL 3 606
RecordId=2
プロセス文字列=“*”
フラグ=FILE_SIGNED
プロセスECL 2 608
RecordId=3
プロセス文字列=“cmd.exe”
フラグ=FILE_NAME
プロセスECL 4 612
RecordId=4
プロセス文字列=“*”
フラグ=FILE_SIGNED
親プロファイル1 604
プロセスレコードID=1
作成者レコードID=2
親レコードID=3
親プロファイル2 610
プロセスレコードID=3
作成者レコードID=4
親レコードID=0
【0061】
図7は、例示的なポリシーオブジェクトを描示する。ポリシーオブジェクト700は、ポリシー情報702と、1つ以上のプロセスECL 704a、704b、704cを含むプロセスECLリスト704と、を含む。ポリシーオブジェクト700は、ECL間の1つ以上の関係706a、706bを含む関係プロファイルリスト706を更に含み得る。ポリシーオブジェクトは、1つ以上のポリシーバージョン708a、708bを含むポリシーバージョンリスト708を更に含み得る。プロセスECL管理に関連する構造は、主に、実世界の脅威が高レベルで、又は非常に固有のレベルでモデル化され得ることを確実にするためにモデルに柔軟性を提供する必要があるため、EDRの最も複雑な態様である。
【0062】
ポリシーオブジェクト又は構造は、1つ以上のプロセスECLポリシーを含み得、単一のオブジェクトとして移動するように意図されている。この構造のインスタンスは、エンドポイントエージェントに適用することができ、これは、エージェントに対する単一のポリシー、いくつかのポリシー、又は全てのプロセスECLポリシーのいずれかを含む。EDRエンドポイントは、それを処理することが可能であるが、それを処理することが所望され得る。これは、複雑に見え得るが、エンドポイントのEDR管理機能内に到着したときに構造最適化を容易にするように設計されており、プロセスECL構造セットが他のECL/ACLカテゴリをサポートするために完全に再使用されることを容易にする。これは、データモデル内の一貫性の尺度を保持するだけでなく、EDRの全てにわたって非常に豊富なレベルの記述性も保証する。プロセスECLが違反されると、ログが生成され、中央サーバなどの1つ以上の場所に転送され得る。
【0063】
上記は、プロセスECLポリシーオブジェクトの詳細について説明している。上で説明されるように、EDR機能は、異なるポリシータイプを処理し得る。様々なポリシーオブジェクトの構造は、プロセスECLポリシーオブジェクトの構造と同様であるが、モジュール、ヒューリスティック、ファイルシステム、レジストリ、又はリムーバブルドライブなどのそれぞれの要素への実行又はアクセスを制御するためのそれぞれのACL又はECLを記述する。
【0064】
ACL/ECLのためのポリシーオブジェクト構造は、単純な関係と複雑な関係の両方が記述され、したがってEDR機能によって制御されることを許可する機構を提供する。エンドポイントで最新の保護を維持するために、ポリシーをEDR機能に追加し、EDR機能から削除することができる。更に、ACL/ECLを検証する際に使用される必要なコンテキスト情報が、状態/属性情報を1回判定するためにプロセスを評価する並列プロセスによって維持され、その後、ACL/ECLポリシーが検証されるときに状態/属性情報を複数回再使用することができるので、ポリシーオブジェクト及びACL/ECLは、動作時に処理するのが簡単である。
【0065】
特定の構成要素及び工程が説明されてきたが、個々に説明された構成要素及び工程は、より少ない構成要素若しくは工程に一緒に組み合わされ得るか、又は工程は、連続的に、非連続的に、若しくは同時に遂行され得ることが企図される。更に、特定の順序で発生するものとして上記で説明したが、本教示を考慮した当業者は、他の工程に対するある工程の特定の順序が変更され得ることを理解するであろう。同様に、個々の構成要素又は工程は、複数の構成要素又は工程によって提供され得る。本教示を考慮する当業者は、本明細書に説明される構成要素及びプロセスが、例示的な実施例として本明細書に説明される具体的な実装形態以外の、ソフトウェア、ファームウェア、及び/又はハードウェアの種々の組み合わせによって提供され得ることを理解するであろう。
【0066】
様々な実施形態の技法は、ソフトウェア、ハードウェア、及び/又はソフトウェアとハードウェアの組み合わせを使用して実装され得る。様々な実施形態は、装置、例えば、通信システム又はデータ記憶システムにおいて使用され得るノードを対象とする。様々な実施形態はまた、非一時的機械、例えば、コンピュータ、可読媒体、例えば、ROM、RAM、CD、ハードディスクなどを対象とし、これらは、機械、例えば、プロセッサを制御して、説明された1つ以上の方法の工程のうちの1つ、複数、又は全てを実施するための機械可読命令を含む。
【0067】
いくつかの実施形態は、コンピュータ又は複数のコンピュータに、様々な機能、工程、行為及び/又は動作、例えば、上で説明される工程のうちの1つ又は複数又は全てを実装させるためのコードを含むコンピュータ可読媒体を備えるコンピュータプログラム製品を対象とする。実施形態に応じて、コンピュータプログラム製品は、遂行される各工程に対して異なるコードを含むことができ、かつ時には含む。したがって、コンピュータプログラム製品は、方法、例えば、通信デバイス、例えば、ワイヤレス端末又はノードを動作させる方法の各個々の工程のためのコードを含むことができ、かつ時には含む。コードは、RAM(ランダムアクセスメモリ)、ROM(読み出し専用メモリ)、又は他のタイプの記憶デバイスなどのコンピュータ可読媒体上に記憶された機械、例えば、コンピュータ実行可能命令の形態であり得る。コンピュータプログラム製品を対象とすることに加えて、いくつかの実施形態は、上で説明される1つ以上の方法の様々な機能、工程、行為、及び/又は動作のうちの1つ以上を実装するように構成されたプロセッサを対象とする。したがって、いくつかの実施形態は、本明細書で説明する方法の工程の一部又は全部を実装するように構成されたプロセッサ、例えば、CPUを対象とする。プロセッサは、例えば、通信デバイス又は本出願において説明される他のデバイスにおいて使用するためのものであり得る。
【0068】
上で説明される様々な実施形態の方法及び装置に関する多数の追加の変形形態は、上の説明を考慮すれば当業者には明らかであろう。そのような変形は、範囲内であると考えられるべきである。
【国際調査報告】