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

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

▶ エフ−セキュア コーポレーションの特許一覧

特開2023-177332コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法
<>
  • 特開-コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法 図1
  • 特開-コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法 図2
  • 特開-コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法 図3
  • 特開-コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法 図4
  • 特開-コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法 図5
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】公開特許公報(A)
(11)【公開番号】P2023177332
(43)【公開日】2023-12-13
(54)【発明の名称】コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法
(51)【国際特許分類】
   G06F 21/53 20130101AFI20231206BHJP
   G06F 21/56 20130101ALI20231206BHJP
【FI】
G06F21/53
G06F21/56 360
G06F21/56 380
【審査請求】未請求
【請求項の数】15
【出願形態】OL
【外国語出願】
(21)【出願番号】P 2023089667
(22)【出願日】2023-05-31
(31)【優先権主張番号】22176333.7
(32)【優先日】2022-05-31
(33)【優先権主張国・地域又は機関】EP
(71)【出願人】
【識別番号】511297708
【氏名又は名称】ウィズセキュア コーポレーション
(74)【代理人】
【識別番号】110001519
【氏名又は名称】弁理士法人太陽国際特許事務所
(72)【発明者】
【氏名】アキリーノ、ブロデリック
(72)【発明者】
【氏名】トゥルビン、パヴェル
(57)【要約】
【解決手段】コンピュータで実施される脅威検出方法であって、ネットワークノード又はエンドポイントなどのコンピュータにおいてアプリケーションが始動していると判断し、アプリケーションの始動をインターセプトし、アプリケーションのリスクレーティングを識別し、アプリケーションの識別されたリスクレーティングに基づいて、特定のリスクレーティング閾値を上回りアプリケーションのリスクレーティングが高い場合、及び/又はアプリケーションのリスクレーティングが未知である場合、コンピュータのスナップショットを作成し、アプリケーションのリスクレーティングの識別後にアプリケーションを実行させる。アプリケーションの実行時にアプリケーションがマルウェアであると判断した場合、アプリケーションを停止してマルウェアを除去し、コンピュータの前記スナップショットに基づいて、コンピュータに対して行った変更を元に戻す。
【選択図】図1
【特許請求の範囲】
【請求項1】
コンピュータ又はコンピュータネットワークにおいて、例えばコンピュータで実施される脅威検出方法であって、
ネットワークノード又はエンドポイントなどのコンピュータにおいてアプリケーションが始動していると判断することと、
前記アプリケーションの始動をインターセプトすることと、
前記アプリケーションのリスクレーティングを識別することと、
前記アプリケーションの識別された前記リスクレーティングに基づいて、ある特定のリスクレーティング閾値を上回るなど前記アプリケーションの前記リスクレーティングが高い場合、及び/又は前記アプリケーションの前記リスクレーティングが未知である場合、前記コンピュータのスナップショットを作成することと、
前記アプリケーションの前記リスクレーティングの識別後に前記アプリケーションを実行させることと、
前記アプリケーションの実行時に前記アプリケーションがマルウェアであると判断した場合、前記アプリケーションを停止して前記マルウェアを除去し、前記コンピュータの前記スナップショットに基づいて、前記コンピュータに対して行った変更を元に戻すことと、
を含む方法。
【請求項2】
前記アプリケーションの実行時に前記アプリケーションの挙動を少なくとも監視することによって、及び/又は前記アプリケーションのシグネチャに基づいて、前記アプリケーションがマルウェアであることを識別することを含む、請求項1に記載の方法。
【請求項3】
前記スナップショットは、少なくとも現在のシステム設定、アプリケーション設定、セキュリティ設定、DNS設定、スケジュールされたタスク、及び/又は前記コンピュータのバックアップもしくはシャドウコピーに関連する設定を含む、請求項1又は請求項2に記載の方法。
【請求項4】
前記コンピュータを元に戻すことは、前記コンピュータの前記設定を前記スナップショットに記憶した値に戻すことを含む、請求項1~請求項3のいずれか一項に記載の方法。
【請求項5】
前記マルウェアを除去することは、少なくともマルウェアプロセスを終了させることと、マルウェアコンポーネント及びファイルを示すレジストリ値を削除することとを含む、請求項1~請求項4のいずれか一項に記載の方法。
【請求項6】
前記アプリケーションの前記リスクレーティングがある特定の閾値レベルを下回る場合、及び/もしくは前記アプリケーションの前記リスクレーティングが許容できる場合は前記リスクレーティングのチェック後に、ならびに/又は前記スナップショットを使用することによって前記コンピュータが元に戻った後に、作成された前記スナップショットを削除することを含む、請求項1~請求項5のいずれか一項に記載の方法。
【請求項7】
前記アプリケーションの前記リスクレーティングを識別することは、前記コンピュータ及び/又は脅威検出ネットワークのバックエンドにおいてリスクレーティング及び/又はレピュテーションデータベースへのクエリを行うことを含む、請求項1~請求項6のいずれか一項に記載の方法。
【請求項8】
前記アプリケーションのリスクレーティングを識別すること、及び/又は前記アプリケーションがマルウェアであるか否かを識別することは、脅威検出ネットワークの前記コンピュータのユーザからの入力に基づいている、請求項1~請求項7のいずれか一項に記載の方法。
【請求項9】
前記アプリケーションのリスクレーティングは、前記アプリケーションの隔離決定又は隔離解除決定、及び/又は、システムのユーザから受信された過去のアプリケーション及び/又は脅威検出ネットワークのバックエンドによって収集された過去のアプリケーションの隔離決定又は隔離解除決定といった隔離履歴などのユーザ決定履歴に少なくとも部分的に基づいている、請求項1~請求項8のいずれか一項に記載の方法。
【請求項10】
前記コンピュータにおいて前記ユーザから受信した、前記アプリケーションの隔離解除要求及び/又は隔離要求などのユーザ決定履歴を脅威検出ネットワークに報告する、請求項1~請求項9のいずれか一項に記載の方法。
【請求項11】
前記アプリケーションによって呼び出されるファイル、システム構成値及び/又はネットワーク動作をインターセプトできるように、前記コンピュータにおけるセンサを使用する、請求項1~請求項10のいずれか一項に記載の方法。
【請求項12】
コンピュータ又はコンピュータネットワークにおける脅威検出のための構成であって、前記構成は少なくとも1つのコンピュータを備え、前記コンピュータは、
ネットワークノード又はエンドポイントなどのコンピュータにおいてアプリケーションが始動していると判断し、
前記アプリケーションの始動をインターセプトし、
前記アプリケーションのリスクレーティングを識別し、
前記アプリケーションの識別された前記リスクレーティングに基づいて、ある特定のリスクレーティング閾値を上回るなど前記アプリケーションの前記リスクレーティングが高い場合、及び/又は前記アプリケーションの前記リスクレーティングが未知である場合、前記コンピュータのスナップショットを作成し、
前記アプリケーションの前記リスクレーティングの識別後に前記アプリケーションを実行させ、
前記アプリケーションの実行時に前記アプリケーションがマルウェアであると判断した場合、前記アプリケーションを停止して前記マルウェアを除去し、前記コンピュータの前記スナップショットに基づいて、前記コンピュータに対して行った変更を元に戻す、
ように構成されている構成。
【請求項13】
請求項2~請求項11のいずれか一項に記載の方法を実行するように構成された、請求項12に記載の構成。
【請求項14】
コンピュータによって実行されると請求項1~請求項11のいずれか一項に記載の前記方法を前記コンピュータに実行させる命令を含む、コンピュータプログラム。
【請求項15】
請求項14に記載の前記コンピュータプログラムを含むコンピュータ可読媒体。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法に関する。
【背景技術】
【0002】
マルウェアの検出及びスキャンは、あらゆる種類のエンドポイント及びネットワークのセキュリティにとって重要な問題である。マルウェアの検出及びスキャンは一般に、例えばウイルス、トロイの木馬、ワーム又は他の種類のセキュリティ脅威など、コンピュータ及び/又は通信システム上のあらゆる種類のマルウェアを識別し、場合によっては駆除することに関する。
【0003】
アンチマルウェアファイルのスキャニングは一般にゆっくりしたプロセスであり、通常は、どの程度信頼性の高い結果を望むかによっても異なる。感染していない又は悪意のあるファイル又はアプリケーションを認識する方法で精度が最も高いものの1つは、管理された環境において分析対象のファイル又はアプリケーションを実行し、後でそのアプリケーションアクティビティを分析することである。マルウェアを検出した場合、デバイスからマルウェアを除去する必要がある。マルウェアの除去における重大な課題の1つは、マルウェアによって変更された設定を見出し、それらを、デバイス又はシステムのユーザ及び/又は管理者によって行われた正当な変更と区別することである。
【0004】
設定がマルウェアによって作成されたことを識別する典型的な方法は、例えば起動ポイントを見出すことによって、設定が何らかの形でドロップされたマルウェアを示しているかどうかを推測しようとすることである。しかしながら、コンピュータのようなデバイスやシステムには汎用的で種々雑多な設定が数多く存在する。マルウェア対策ソリューション又はソフトウェアによってマルウェアが検出された後にマルウェアが除去された場合、特にマルウェアの除去が汎用的なスクリプトによって行われた場合では、デバイス又はシステムの多くの汎用的な設定がシステムのデフォルトに戻されてしまう。これにより、システムがカスタム構成を有する場合はユーザに不都合が生じ、さらにはシステムの誤動作が生じる場合がある。
【0005】
したがって、マルウェアを確実に除去することもでき、マルウェアの除去後にデバイス又はシステムのユーザがデバイス又はシステムを構成する必要がなくなるような、効率的なマルウェア検出を可能にすることが望ましい。
【発明の概要】
【0006】
以下は、本発明の種々の実施形態のいくつかの態様の基本的な理解を提供するために、簡略化した概要を提示している。この概要は本発明の広範な概要ではない。これは、本発明の主要又は重要な要素を特定するようにも、本発明の範囲を定めるようにも意図したものではない。下記の概要は、本発明の例示実施形態のより詳細な説明の前段階として、本発明のいくつかの概念を簡略化した形で提示したものにすぎない。
【課題を解決するための手段】
【0007】
第1の態様によれば、本発明はコンピュータ又はコンピュータネットワークにおいて、例えばコンピュータで実施される脅威検出方法であって、この方法は、ネットワークノード又はエンドポイントなど、コンピュータにおいてアプリケーションが始動していると判断することと、アプリケーションの始動をインターセプトすることと、アプリケーションのリスクレーティングを識別することと、アプリケーションの識別されたリスクレーティングに基づいて、ある特定のリスクレーティング閾値を上回るなどアプリケーションのリスクレーティングが高い場合、及び/又はアプリケーションのリスクレーティングが未知である場合、コンピュータのスナップショットを作成することと、アプリケーションのリスクレーティングの識別後にアプリケーションを実行させることとを含む。アプリケーションの実行時にアプリケーションがマルウェアであると判断した場合、アプリケーションを停止してマルウェアを除去し、コンピュータの前記スナップショットに基づいて、コンピュータに対して行った変更を元に戻す。
【0008】
本発明の一実施形態において、この方法は、アプリケーションの実行時にアプリケーションの挙動を少なくとも監視することによって、及び/又はアプリケーションのシグネチャに基づいて、アプリケーションがマルウェアであることを識別することを含む。
【0009】
本発明の一実施形態において、スナップショットは、少なくとも現在のシステム設定、アプリケーション設定、セキュリティ設定、DNS設定、スケジュールされたタスク、及び/又はコンピュータのバックアップもしくはシャドウコピーに関連する設定を含む。
【0010】
本発明の一実施形態において、コンピュータを元に戻すことは、コンピュータの設定をスナップショットに記憶した値に戻すことを含む。
【0011】
本発明の一実施形態において、マルウェアを除去することは、少なくともマルウェアプロセスを終了させることと、マルウェアコンポーネント及びファイルを示すレジストリ値を削除することとを含む。
【0012】
本発明の一実施形態において、この方法は、アプリケーションのリスクレーティングがある特定の閾値レベルを下回る場合、及び/もしくはアプリケーションのリスクレーティングが許容できる場合はリスクレーティングのチェック後に、ならびに/又はスナップショットを使用することによってコンピュータが元に戻った後に、作成されたスナップショットを削除することを含む。
【0013】
本発明の一実施形態において、アプリケーションのリスクレーティングを識別することは、コンピュータ及び/又は脅威検出ネットワークのバックエンドにおいてリスクレーティング及び/又はレピュテーションデータベースへのクエリを行うことを含む。
【0014】
本発明の一実施形態において、アプリケーションのリスクレーティングを識別すること、及び/又はアプリケーションがマルウェアであるか否かを識別することは、脅威検出ネットワークのコンピュータのユーザからの入力に基づいている。
【0015】
本発明の一実施形態において、アプリケーションリスクレーティングは、アプリケーションの、ならびに/又は、システムのユーザから受信された過去のアプリケーション及び/もしくは脅威検出ネットワークのバックエンドによって収集された過去のアプリケーションの、例えば隔離決定又は隔離解除決定といった隔離履歴などのユーザ決定履歴に少なくとも部分的に基づいている。
【0016】
本発明の一実施形態において、コンピュータにおいてユーザから受信した、アプリケーションの隔離解除要求及び/又は隔離要求などのユーザ決定を脅威検出ネットワークに報告する。
【0017】
本発明の一実施形態において、アプリケーションによって呼び出されるファイル、システム構成値及び/又はネットワーク動作をインターセプトできるように、コンピュータにおけるセンサを使用する。センサは、コンピュータなどのデバイスの動作を観察するために使用可能であり、センサによって収集された情報を使用して、アプリケーション、ファイル及び/又はプロセスの悪意のある挙動を検出することができる。
【0018】
第2の態様によれば、本発明はコンピュータ又はコンピュータネットワークにおける脅威検出のための構成であって、この構成は少なくとも1つのコンピュータを備え、コンピュータは、ネットワークノード又はエンドポイントなど、コンピュータにおいてアプリケーションが始動していると判断し、アプリケーションの始動をインターセプトし、アプリケーションのリスクレーティングを識別し、アプリケーションの識別されたリスクレーティングに基づいて、ある特定のリスクレーティング閾値を上回るなどアプリケーションのリスクレーティングが高い場合、及び/又はアプリケーションのリスクレーティングが未知である場合、コンピュータのスナップショットを作成し、アプリケーションのリスクレーティングの識別後にアプリケーションを実行させるように構成されている。コンピュータは、アプリケーションの実行時にアプリケーションがマルウェアであると判断した場合、アプリケーションを停止してマルウェアを除去し、コンピュータのスナップショットに基づいて、コンピュータに対して行った変更を元に戻すように構成されている。
【0019】
本発明の一実施形態において、この構成は、本発明のいずれかの実施形態による方法を実行するように構成されている。
【0020】
第3の態様によれば、本発明は、コンピュータによって実行されると本発明による方法をコンピュータに実行させる命令を含むコンピュータプログラムに関する。
【0021】
第4の態様によれば、本発明は、本発明によるコンピュータプログラムを含むコンピュータ可読媒体に関する。
【0022】
本発明の解決法により、効率的なマルウェアスキャニングを実施してマルウェアを確実に除去することができ、これにより、デバイス及び/又はシステムの設定は、マルウェアがデバイス又はシステムの設定値に変更を加える前の値に戻される。また、これは、例えばアプリケーションもしくはファイルがマルウェアではないと検出された場合、及び/又は設定がスナップショットに基づいて既に元に戻されている場合など、解決法によって作成されたスナップショットがもはや不要となった場合にスナップショットが除去されるため、本発明の解決法を用いて効率的に行われる。本明細書におけるスナップショットという用語は、特定の時点におけるデバイス又はシステムの特定の設定値を記憶することを定義するために用いられる。
【0023】
構造及び動作方法の双方に関する本発明の種々の例示的で非限定的な実施形態は、その追加の目的及び利点と共に、添付の図面との関連で読まれた場合に、特定の例示的で非限定的な実施形態の以下の説明から最もよく理解されるであろう。
【0024】
「~を備える、含む(to comprise)」及び「~を含む(to include)」という動詞は、引用されていない特徴の存在を排除することもなければ必要とすることもない、開放式の限定として本文書で使用される。従属請求項に記載の特徴は、特に明記しない限り、互いに自由に組み合わせることができる。
【0025】
さらに、本文書全体を通して、「1つの(a)」又は「1つの(an)」、すなわち単数形の使用は複数形を排除しないことを理解されたい。
【0026】
本発明の実施形態は、添付の図面の図において限定ではなく例として示される。
【図面の簡単な説明】
【0027】
図1】本発明の例示的な実施形態を適用可能なコンピュータシステム又はコンピュータネットワークの構成を概略図として示している。
図2】本発明の解決法の例示実施形態を概略的に示している。
図3】本発明の解決法の例示実施形態を実行フロー図として示している。
図4】本発明の一実施形態による例示的な方法を示している。
図5】本発明の例示実施形態による構成の構造の例を概略図として示している。
【発明を実施するための形態】
【0028】
図1は、本発明の解決法を使用することのできる環境を示している。図1の解決法では、ローカルホスト1及びリモートエンティティ又はサーバ2がネットワーク3を介して接続されたシステム構成が提示されている。ここで、ホスト1は、マルウェアスキャニングが実行される単一のデバイス、ネットワークノード又はデバイスの組み合わせを含む任意のコンピュータ又は通信システムを例示している。スキャニングは、ホスト及び/又はサーバにおいて行うことができる。例えば、ホスト1は、パーソナルコンピュータ、パーソナル通信デバイス、ネットワーク対応デバイス、クライアント、ファイアウォール、メールサーバ、プロキシサーバ、データベースサーバなどを含むことができる。サーバ2は、単一のデバイス、ネットワークノード、又はデバイスの組み合わせを含む任意のコンピュータ又は通信システムを例示しており、その上でホスト1に対してマルウェアスキャニングを実行することができ、又は、任意のコンピュータ又は通信システムは、リスクレーティング及び/もしくはレピュテーション(評判)データなど、ホストにおいてマルウェアスキャニングを実行するために必要なデータをホスト1に提供することができる。例えば、サーバ2は、セキュリティエンティティ又はセキュリティプロバイダのバックエンドエンティティなどを含むことができ、サーバ2をクラウド実装などで実現することができる。
【0029】
本発明の例示実施形態によると、ホスト1における及び/又はサーバ2によるマルウェアスキャニングは、ホスト及び/又はサーバに配置することのできる仮想マシン又はエミュレータ環境などのマルウェア分析環境を使用して実現することができる。例えば、アンチウィルスソフトウェアなどのマルウェアスキャニングエージェント又はセンサをホスト1にインストール/配置してマルウェアスキャニングに使用することができる。本発明の一実施形態では、アプリケーションによって呼び出されるファイル、システム構成値及び/又はネットワーク動作を傍受することができるように、コンピュータにおけるセンサ又はエージェントが使用される。センサを用いてコンピュータなどのデバイスの動作を観察することができ、センサによって収集された情報を使用してアプリケーション、ファイル及び/又はプロセスの悪意のある挙動を検出することができる。
【0030】
本発明の一実施形態において、マルウェアスキャンニング環境、サービス及び/又はソフトウェアは、アプリケーションの開始及び終了、ならびに全ての異常なプロセスを検出して必要なアプリケーション及びプロセスに監視を付することができる。また、サービスが早期に開始される場合、サービスはユーザのアプリケーションの大部分を検出してこれを追跡することができる。本発明の一実施形態では、マルウェアスキャニングソフトウェア又はサービスが起動されると、これは実行中のアプリケーションインベントリを実行することができる。
【0031】
ネットワーク3は、例えばLAN、WLAN、イーサネット(登録商標)などの(有線又は無線)ローカルエリアネットワーク、WiMAX、GSM(登録商標)、UMTS、LTEなどの(有線又は無線)ワイドエリアネットワークなどを含む、任意のコンピュータ又は通信ネットワークを例示している。したがって、ホスト1及びサーバ2を異なる位置に配置することができるがその必要はない。例えば、ネットワーク3を任意の種類のTCP/IPベースのネットワークとすることができる。ネットワーク3を介するホスト1とサーバ2との間の通信を、例えばTCP/IPで伝送される任意の標準プロトコル又は独自のプロトコルを用いて実現することができ、このようなプロトコルでは、ホスト1におけるマルウェアスキャニングエージェント及びサーバ2におけるマルウェア分析サンドボックス又はアプリケーションをアプリケーション層上に/アプリケーション層として表すことができる。
【0032】
本発明の解決法では、デバイス、例えばコンピュータなどのホスト上のセンサ及び/又はマルウェアスキャニングエージェントは、ホストにおいてアプリケーションが始動していることを検出する。アプリケーションの始動をインターセプトし、アプリケーションのリスクレーティング(格付け)を識別する。アプリケーションの識別されたリスクレーティングに基づいて、ある特定のリスクレーティング閾値を上回るなどアプリケーションのリスクレーティングが高い場合、及び/又はアプリケーションのリスクレーティングが未知である場合、デバイスのスナップショットを作成する。アプリケーションのリスクレーティングの識別後にアプリケーションを実行させる。アプリケーションの実行中にアプリケーションがマルウェアであると判断した場合、アプリケーションを停止してマルウェアを除去し、ホストのスナップショットに基づいて、ホストに対して行った変更を元に戻す。本発明の一実施形態では、マルウェアスキャニング、リスクレーティング及び/又はレピュテーションデータベースを備えることができるサーバ2から要求(リクエスト)を行うことによってリスクレーティングを識別することができる。
【0033】
本発明の1つの例示実施形態において、本発明の解決法は、例えば下記のより詳細なステップのうち少なくとも1つを含むことができる。この例において、ホストにインストールされたマルウェア対策ソフトウェア、アプリケーション又はソリューションは、アプリケーションが実行されようとしていることを判断することができる。例えばリアルタイムモニタなどのマルウェア対策モニタはアプリケーションの実行をインターセプトし、アプリケーション又はファイルのリスクレーティングを、例えば実行可能と識別する。アプリケーションのリスクレーティングが、例えば特定の閾値を上回るなど高いか又は未知である場合、マルウェア対策アプリケーションはシステム設定のスナップショットを取得する。設定を、例えば下記の表に列挙した設定にすることができる。アプリケーションのリスクレーティングの識別後、アプリケーションの実行を許可する。しばらくして、挙動又はシグネチャにより、アプリケーションがマルウェアとして検出される。このため、マルウェアの除去を開始する。これは、例えば、マルウェアプロセスを終了することと、マルウェアコンポーネントを示すレジスタ値を削除することと、マルウェアプロセスよって作成及び/もしくは変更されたファイル、ならびに/又は検出したマルウェアに関連するファイルを削除することとを含むことができる。アプリケーションのリスクレーティングのチェック後に作成したスナップショットから、これらの設定を復元した。
【0034】
下記の表は、デバイス又はシステムのスナップショットの作成時に保存することのできる設定の例を示す。
【0035】
【表1】
【0036】
表は網羅的なものではなく例として与えられたものであり、マルウェアによって変更されたデバイス、システム、サービス及び/又はアプリケーションの任意の設定を、本発明の解決法において作成されたスナップショットに含めることができる。本発明の一実施形態では、デバイスの設定の一部のみがスナップショットに含まれる。
【0037】
アプリケーションのリスクレーティングを識別する際、例えば、異なるアプリケーション及びファイルのリスクレーティングのデータベースを作成するために異なるエンドポイントから情報を収集した脅威検出ネットワークのサーバなどのサーバから、リスクレーティングを問い合わせることができる。リスクレーティング情報は、例えばアプリケーションのレピュテーションに関する情報、及び/又は、例えばあるアプリケーションは悪意がないという情報、もしくはあるアプリケーションが悪意のある、すなわちマルウェアであるという情報を含むことができる。
【0038】
本発明の一実施形態において、マルウェアを除去することは、少なくとも、マルウェアプロセスを終了させることと、マルウェアのコンポーネント及びファイルを示すレジストリ値を削除することとを含む。
【0039】
本発明の一実施形態において、この方法は、アプリケーションのリスクレーティングがある特定の閾値レベルを下回る場合、及び/もしくはアプリケーションのリスクレーティングが許容できる場合は、リスクレーティングのチェック後に、ならびに/又はスナップショットを使用することによってコンピュータが元に戻った後に、作成されたスナップショットを削除することを含む。
【0040】
本発明の一実施形態において、この方法は、アプリケーションの実行時にアプリケーションの挙動を少なくとも監視することによって、及び/又はアプリケーションのシグネチャに基づいて、アプリケーションがマルウェアであることを識別することを含む。
【0041】
本発明の一実施形態において、悪意のあるアプリケーションを識別するために挙動ベースの検出を用いることができる。例えば、ホスト型侵入防止システム(HIPS)及びサンドボックスサービスなど、使用できるアプローチがいくつかある。
【0042】
ホスト型侵入防止システムはエンドポイントで実行され、個々の動作を個別に監視して評価する。ホスト型侵入防止システムはアプリケーションの全ての動作を収集し、それらをバックエンドサービスにアップストリームしてアプリケーションのリスクレーティングを構築することもできる。
【0043】
悪意のある挙動は、それ自体が害のない複数の動作の組み合わせを含みうるため、場合によっては、従来のホスト型侵入防止システムによって提供される保護は不十分となる場合がある。その結果、ホスト型侵入防止システムはより早期にブロックしなければならず、上流で異常ありと誤って検出したり挙動が不完全だったりすることがある。ホスト型侵入防止システムの性質のため、収集可能な動作の数を無期限に制限するプロセスを監視することもできない。ホスト型侵入防止システムが後でブロックすることを選択した場合は、マルウェアが既に何らかの損傷を引き起こしている可能性があるため遅すぎることがある。
【0044】
サンドボックスサービスの場合、通常はアプリケーションをバックエンドサービスにアップロードし、そこでアプリケーションを仮想マシン内で起動(detonate)させる。仮想マシン及びサンドボックスサービスは、エンドポイントやホストなどのローカルマシンにおいても使用できる。このサービスは仮想マシン内のアプリケーションの挙動を監視し、それを使用してアプリケーションのリスクレーティングを構築する。本発明の一実施形態では、例えばHyper-Vなどのハードウェア仮想化、ソフトウェア仮想化又はエミュレーションといった仮想化又はエミュレーションを利用することができる。仮想マシン又はエミュレータは、ローカルマシン又はLANサーバなどのサーバ上でオペレーティングシステムの仮想コピーを実行することができる。一実施形態では、ローカルマシンでのソフトウェアアプリケーションの始動に応答して、仮想マシン又はソフトウェアエミュレータの始動及び/又は初期化を行うことができる。ソフトウェアアプリケーションは仮想マシン又はソフトウェアエミュレータに渡される。アプリケーションのイベント及び/又は挙動を仮想マシン又はソフトウェアエミュレータにおいて分析し、アプリケーションの悪意のある挙動を決定する。仮想マシン又はソフトウェアエミュレータでのソフトウェアアプリケーションの検出された悪意のある挙動に基づき、悪意のある挙動及び仮想マシンについてローカルマシンに通知する。
【0045】
サンドボックスサービスは複数の動作をまとめて評価し、アプリケーション又はファイルをより長く監視することができるため、サンドボックスは特定の場合にはホスト侵入防止システムよりも良い選択肢に思えることがある。例えば、クラウドサービスとしてのサンドボックスは動作に費用がかかる場合があり、場合によっては、実際に起動させることのできる疑わしいサンプルが多すぎることがある。ターゲット攻撃で使用されるマルウェアは、ターゲットシステムにおいてサンドボックスとは異なって動作する場合もある。
【0046】
また、ユーザは、インストールしているアプリケーションに関して貴重な洞察を有する場合があり、本発明の一実施形態において、アプリケーションのリスクレーティングを識別すること、及び/又はアプリケーションがマルウェアであるかどうかは、脅威検出ネットワークのコンピュータのユーザからの入力に少なくとも部分的に基づいている。一実施形態では、レピュテーション及び/又はリスクレーティングのデータベースを作成するシステムによって、アプリケーション又はファイルに関するユーザの決定を収集することができる。
【0047】
本発明の一実施形態において、アプリケーションのリスクレーティングは、システムのユーザから受信した及び/又は脅威検出ネットワークのバックエンドによって収集されたアプリケーション及び/又は過去のアプリケーションに対する隔離の決定又は隔離解除の決定など、ユーザの決定履歴に少なくとも部分的に基づいている。本発明の一実施形態では、ユーザからコンピュータにおいて受信した、アプリケーションに対する隔離解除要求及び/又は隔離要求などのユーザの決定を脅威検出ネットワークに報告する。本発明の一実施形態において、ユーザの決定履歴は、特定のアプリケーションのリスクレーティング及び/又はレピュテーションの生成に使用される入力の1つである。ユーザ決定履歴は、過去に検出したアプリケーション及び現在のアプリケーションに対するユーザの決定を含むことができる。
【0048】
図2は、ファイル又はアプリケーションのリスクレーティングを決定するための情報をデバイスのユーザ及び/又はシステムのユーザから収集することができる、本発明の1つの例示実施形態を示している。以下に図2の実施形態のコンポーネント又は機能を示す。この解決法のためのコンポーネントは、本発明の一実施形態において、リアルタイムモニタ、サンドボックスユニット、少なくとも1つのアプリケーション及びユーザ決定履歴を含むことができる。
【0049】
本発明の一実施形態において、リアルタイムモニタは、アプリケーションを特定のリスク要因に基づいて分析すべきかどうかを決定し、アプリケーションの起点を追跡し、分析を開始し、及び/又は分析の結果を記録してそれらをバックエンドにアップストリーミングする役割を果たすことができる。
【0050】
本発明の一実施形態において、サンドボックスユニットは、アクセスを制限して及び/又はアクセスを非永続的にして所与のアプリケーションを実行することにより、アプリケーションのシステム全体の挙動を封じ込められた態様で追跡することを可能にする(アプリケーションによって行われた変更をロールバックすることができる)コンポーネントのグループとすることができる。アプリケーションをホスト上で実行することによって封じ込めを達成することができるが、アプリケーションの挙動が特定のヒューリスティックに一致した場合、ネットワークをスロットリング及び/又はフィルタリングすることができ、システム変更が元に戻される。あるいは、エンドポイント上で実行されている仮想マシンにおいてアプリケーションを起動させることができる。アプリケーションの挙動がヒューリスティックと一致しなかった場合にのみ、アプリケーションをホスト上で実行させることができる。ユニットはアプリケーションを隔離する役割を果たすことができ、アプリケーションがホスト上で既に実行されていた場合、例えば作成されたスナップショットに基づいてシステム変更を元に戻すこともできる。同様に、ユニットは、任意の隔離動作に対して取消(アンドゥ)を行う役割を果たすこともできる。仮想マシンにおいてマルウェア分析を行う場合、デバイス及び/もしくはシステムの設定を元に戻すこと、ならびに/又は検出したマルウェアを除去することは、必要とされない場合がある。
【0051】
例えば図2のアプリケーション(APP)を、脅威分析を必要とする特定のリスク要因に一致する実際のユーザ実行可能プログラムとすることができる。一実施形態において、アプリケーションに加えて又はアプリケーションの代わりに、ファイル、文書及び/又はスクリプトを本発明の解決法を用いて分析することができる。
【0052】
図2に示され、本発明の解決法において使用することができるユーザ決定履歴を、サンドボックスユニットのヒューリスティックによって捕捉されたアプリケーションのコレクションとすることができる。これは、アプリケーションのハッシュの情報、アプリケーションがヒューリスティックをトリガーした際の情報、及び、ユーザがアプリケーションを隔離状態に保ったか又は隔離を取り消すことを選択したかどうかの情報を含むことができる。この情報をバックエンドサービスによって使用し、ユーザの決定にどれだけの重みを与えるべきかを測定することができる。
【0053】
挙動レポートをデバイスからバックエンドのサーバに送信することができる。挙動レポートは、ダウンロードソース、コンポーネントのハッシュ及びロケーション、システム全体のファイル、レジストリ及びプロセス動作、ならびにユーザの洞察のうちの少なくとも1つを含むことができる。この情報は、ヒューリスティックの精度を著しく高めることができる。例えば、異なるデバイス又はエンドポイントから受信した複数の隔離解除レポートは、動作の特定の組み合わせがクリーンであることを示している。この情報を分析にフィードバックしてヒューリスティックの更新を生成し、同様の場合に再びトリガーするのを防ぐことができる。
【0054】
図3は、本発明の一実施形態による異なるコンポーネント又は機能の動作を示している。コンポーネントを、図2に関連して説明したものと本質的に同様のコンポーネントとすることができ、図3の解決法を使用して、ファイル又はアプリケーションのリスクレーティングを決定するための情報をシステムのユーザから収集することができる。この例において、リアルタイムモニタは特定のリスク要因に一致するアプリケーションに遭遇し、リアルタイムモニタはサンドボックスユニットにアプリケーションの分析を要求する。サンドボックスユニットは、例えば定期的にアプリケーションの挙動を監視又は収集し、ヒューリスティックのセットに対してそれらを評価する。次に、ヒューリスティックがトリガーされ、サンドボックスユニットはアプリケーションを隔離する。その後、分析結果(例えば、悪意あり又は悪意なし)をリアルタイムモニタに報告する。リアルタイムモニタはアプリケーションのユーザ決定履歴にレコードを追加し、その結果を隔離に設定する。次に、リアルタイムモニタは最新のユーザ決定履歴を収集する。任意の実施形態において、ユーザがアプリケーションの隔離解除を選択した場合、リアルタイムモニタはサンドボックスユニットに隔離解除の実行を要求することができる。次いで、サンドボックスユニットは所与の隔離動作を取り消すことができる。これに基づいて、リアルタイムモニタは、ユーザ決定履歴内のアプリケーションの対応する結果を許可状態に更新することができる。本発明の一実施形態において、リアルタイムモニタは、予め定められた期間の経過後、トリガーしたヒューリスティックルール及び最新のユーザ決定履歴の挙動レポート及び/又は識別情報をアップストリームすることができる。
【0055】
図3の例示的な流れは、本発明の解決法の一実施形態をどのように実施できるかの一例にすぎない。図2又は図3に示すリアルタイムモニタは別個の要素又はコンポーネントである必要はなく、本発明の解決法では、システム、マルウェア分析環境、ならびに/又はエンドポイント及び/もしくはサーバの機能にその機能を含むことができる。本発明の一実施形態では、リアルタイムモニタの機能を、例えばエンドポイントのアンチマルウェアソフトウェアなどのローカルホストにおいて実施することができる。
【0056】
図4は、本発明の一実施形態による例示的な方法を示している。この例示的な方法は、ネットワークノード又はエンドポイントなど、コンピュータにおいてアプリケーションが始動していると判断することと、アプリケーションの始動をインターセプトすることと、アプリケーションのリスクレーティングを識別することと、アプリケーションの識別されたリスクレーティングに基づいて、特定のリスクレーティング閾値を上回るなどアプリケーションのリスクレーティングが高い場合、及び/又はアプリケーションのリスクレーティングが未知である場合、コンピュータのスナップショットを作成することと、アプリケーションのリスクレーティングの識別後にアプリケーションを実行させることを含む。アプリケーションの実行時にアプリケーションがマルウェアであると判断した場合、アプリケーションを停止してマルウェアを削除し、コンピュータのスナップショットに基づいて、コンピュータに対して行った変更を元に戻す。
【0057】
図5に示すように、本発明の例示実施形態による構成510又は構成の少なくとも一部、例えばエンドポイント及び/又はサーバは、少なくとも1つのプロセッサ511及び少なくとも1つのメモリ512(また、場合によっては少なくとも1つのインターフェース513)を備えることができ、例えばバス514などによってこれらをそれぞれ動作上接続又は結合することができる。
【0058】
構成510のプロセッサ511は、メモリ512に記憶されたコンピュータプログラムコードを読み取ってこれを実行するように構成されている。プロセッサは、CPU(Central Processing Unit)、MPU(Micro Processor Unit)など、又はこれらの組み合わせによって表されることが可能である。構成510のメモリ512は、それぞれのプログラム、コンピュータ/プロセッサ実行可能命令、マクロもしくはアプレットなど、又はこれらの一部など、コンピュータプログラムコードを記憶するように構成されている。このようなコンピュータプログラムコードは、プロセッサ511によって実行されると、構成510が本発明の例示実施形態に従って動作することを可能にする。メモリ512は、RAM(Random Access Memory)、ROM(Read Only Memory)、ハードディスク、二次記憶デバイスなど、又はこれらのうちの2つ以上の組み合わせによって表されることが可能である。構成510のインターフェース513は、構成510の別の構成及び/又はユーザとインターフェースするように構成されている。すなわち、インターフェース513は、通信インターフェース(例えばモデム、アンテナ、送信機、受信機、トランシーバなどを含む)及び/又はユーザインターフェース(ディスプレイ、タッチスクリーン、キーボード、マウス、信号光、ラウドスピーカなど)を表すことができる。
【0059】
構成510は、例えば、図1のローカルエンティティもしくはホスト1など第1のノード(の一部)を表すことができ、又は、図1のリモートエンティティもしくはサーバ2など第2のノード(の一部)を表すことができる。図2図3のいずれか1つに記載のような手順を実行し、及び/又は機能を示すように、構成510を構成することができる。
【0060】
本発明の例示実施形態によれば、マルウェアの分析対象の電子ファイルを任意の電子ファイルとし、特に、任意の種類のアプリケーションファイルなど、ランナブル/実行可能部分を含む任意の電子ファイルを包含したものとすることができる。本発明の例示実施形態は、例えばAndroid(登録商標) Application Package(APK)、Portable Executable(PE)、Microsoft Soft Installer(MSI)のファイル、又は、アプリケーションソフトウェアもしくはミドルウェアをコンピュータ上に分散させる及び/もしくはインストールすることができる任意の他のフォーマットを含む、このような電子ファイルのいずれにも適用可能である。
【0061】
本発明の解決法を用いて収集したデータを、今後の使用に備えてデータベース又は類似した情報記憶用モデルに記憶することができる。
【0062】
一実施形態では、悪意のあるファイル、アプリケーション又はアクティビティが検出された場合、さらなるアクションをとってコンピュータ又はコンピュータネットワークを保護することができる。また、コンピュータ又は他のネットワークノードの設定を変更することによってアクションをとることができる。設定の変更としては、例えば、RAM内の情報を保存するために1つ以上のノード(コンピュータ又は他のデバイスとすることができる)のオフへの切替を防止すること、攻撃者を即座に遮断するために1つ以上のノードにおいてファイアウォールをオンに切替可能にすること、ネットワークノードのうちの1つ以上のネットワーク接続状態を減速又はブロック可能にすること、疑わしいファイルの除去もしくは隔離への配置を可能にすること、ネットワークノードからログを収集可能にすること、ネットワークノードにおいてコマンドのセットを実行可能にすること、脅威もしくは異常が検出され、1つ以上のノードのユーザにこれらのワークステーションが調査中であることを警告可能にすること、及び/又はシステムの更新もしくはソフトウェアパッチをセキュリティバックエンドからノードに送信可能にすることを挙げることができる。本発明の一実施形態では、これらの動作のうちの1つ以上を自動的に開始することができる。
【0063】
以上、本発明を好ましい実施形態について説明したが、これらの実施形態は例示にすぎず、特許請求の範囲がこれらの実施形態に限定されないことを理解されたい。当業者は、開示内容に鑑みて、添付の特許請求の範囲内にあると考えられる修正及び代替案を行うことができる。本明細書に開示又は例示される各特徴は、単独でも、又は本明細書に開示又は例示される任意の他の特徴との任意の適切な組み合わせでも、本発明に組み込むことが可能である。上記の説明において提供される例のリスト及びグループは、特に明記しない限り網羅的ではない。
図1
図2
図3
図4
図5
【手続補正書】
【提出日】2023-07-20
【手続補正1】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項1】
コンピュータ又はコンピュータネットワークにおいて、コンピュータで実施される脅威検出方法であって、
ネットワークノード又はエンドポイントなどのコンピュータにおいてアプリケーションが始動していると判断することと、
前記アプリケーションの始動をインターセプトすることと、
前記アプリケーションのリスクレーティングを識別することと、
前記アプリケーションの識別された前記リスクレーティングに基づいて、ある特定のリスクレーティング閾値を上回るなど前記アプリケーションの前記リスクレーティングが高い場合、及び/又は前記アプリケーションの前記リスクレーティングが未知である場合、前記コンピュータのスナップショットを作成することと、
前記アプリケーションの前記リスクレーティングの識別後に前記アプリケーションを実行させることと、
前記アプリケーションの実行時に前記アプリケーションがマルウェアであると判断した場合、前記アプリケーションを停止して前記マルウェアを除去し、前記コンピュータの前記スナップショットに基づいて、前記コンピュータに対して行った変更を元に戻すことと、
を含む方法。
【請求項2】
前記アプリケーションの実行時に前記アプリケーションの挙動を少なくとも監視することによって、及び/又は前記アプリケーションのシグネチャに基づいて、前記アプリケーションがマルウェアであることを識別することを含む、請求項1に記載の方法。
【請求項3】
前記スナップショットは、少なくとも現在のシステム設定、アプリケーション設定、セキュリティ設定、DNS設定、スケジュールされたタスク、及び/又は前記コンピュータのバックアップもしくはシャドウコピーに関連する設定を含む、請求項1に記載の方法。
【請求項4】
前記コンピュータを元に戻すことは、前記コンピュータの前記設定を前記スナップショットに記憶した値に戻すことを含む、請求項3に記載の方法。
【請求項5】
前記マルウェアを除去することは、少なくともマルウェアプロセスを終了させることと、マルウェアコンポーネント及びファイルを示すレジストリ値を削除することとを含む、請求項1に記載の方法。
【請求項6】
前記アプリケーションの前記リスクレーティングがある特定の閾値レベルを下回る場合、及び/もしくは前記アプリケーションの前記リスクレーティングが許容できる場合は前記リスクレーティングのチェック後に、ならびに/又は前記スナップショットを使用することによって前記コンピュータが元に戻った後に、作成された前記スナップショットを削除することを含む、請求項1に記載の方法。
【請求項7】
前記アプリケーションの前記リスクレーティングを識別することは、前記コンピュータ及び/又は脅威検出ネットワークのバックエンドにおいてリスクレーティング及び/又はレピュテーションデータベースへのクエリを行うことを含む、請求項1に記載の方法。
【請求項8】
前記アプリケーションのリスクレーティングを識別すること、及び/又は前記アプリケーションがマルウェアであるか否かを識別することは、脅威検出ネットワークの前記コンピュータのユーザからの入力に基づいている、請求項1に記載の方法。
【請求項9】
前記アプリケーションのリスクレーティングは、前記アプリケーションの隔離決定又は隔離解除決定、及び/又は、システムのユーザから受信された過去のアプリケーション及び/又は脅威検出ネットワークのバックエンドによって収集された過去のアプリケーションの隔離決定又は隔離解除決定といった隔離履歴などのユーザ決定履歴に少なくとも部分的に基づいている、請求項1に記載の方法。
【請求項10】
前記コンピュータにおいて前記ユーザから受信した、前記アプリケーションの隔離解除要求及び/又は隔離要求などのユーザ決定履歴を脅威検出ネットワークに報告する、請求項9に記載の方法。
【請求項11】
前記アプリケーションによって呼び出されるファイル、システム構成値及び/又はネットワーク動作をインターセプトできるように、前記コンピュータにおけるセンサを使用する、請求項1に記載の方法。
【請求項12】
コンピュータ又はコンピュータネットワークにおける脅威検出のための構成であって、前記構成は少なくとも1つのコンピュータを備え、前記コンピュータは、
ネットワークノード又はエンドポイントなどのコンピュータにおいてアプリケーションが始動していると判断し、
前記アプリケーションの始動をインターセプトし、
前記アプリケーションのリスクレーティングを識別し、
前記アプリケーションの識別された前記リスクレーティングに基づいて、ある特定のリスクレーティング閾値を上回るなど前記アプリケーションの前記リスクレーティングが高い場合、及び/又は前記アプリケーションの前記リスクレーティングが未知である場合、前記コンピュータのスナップショットを作成し、
前記アプリケーションの前記リスクレーティングの識別後に前記アプリケーションを実行させ、
前記アプリケーションの実行時に前記アプリケーションがマルウェアであると判断した場合、前記アプリケーションを停止して前記マルウェアを除去し、前記コンピュータの前記スナップショットに基づいて、前記コンピュータに対して行った変更を元に戻す、
ように構成されている構成。
【請求項13】
請求項2に記載の方法を実行するように構成された、請求項12に記載の構成。
【請求項14】
コンピュータによって実行されると請求項1に記載の前記方法を前記コンピュータに実行させる命令を含む、コンピュータプログラム。
【請求項15】
請求項14に記載の前記コンピュータプログラムを含むコンピュータ可読媒体。
【外国語明細書】