JP2019220132A - プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムおよび方法 - Google Patents

プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムおよび方法 Download PDF

Info

Publication number
JP2019220132A
JP2019220132A JP2018206539A JP2018206539A JP2019220132A JP 2019220132 A JP2019220132 A JP 2019220132A JP 2018206539 A JP2018206539 A JP 2018206539A JP 2018206539 A JP2018206539 A JP 2018206539A JP 2019220132 A JP2019220132 A JP 2019220132A
Authority
JP
Japan
Prior art keywords
pattern
event
threat
malicious program
computing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018206539A
Other languages
English (en)
Other versions
JP6861196B2 (ja
Inventor
エー. パヴリュシク ミハイル
A Pavlyushchik Mikhail
エー. パヴリュシク ミハイル
ジー. スロボドヤヌク ユーリー
G Slobodyanuk Yuri
ジー. スロボドヤヌク ユーリー
ヴィー. モナスティルスキー アレクセイ
V Monastyrsky Alexey
ヴィー. モナスティルスキー アレクセイ
ヴィー. マルティネンコ ウラジスラフ
V Martynenko Vladislav
ヴィー. マルティネンコ ウラジスラフ
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kaspersky Lab AO
Original Assignee
Kaspersky Lab AO
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US16/011,033 external-priority patent/US10839074B2/en
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2019220132A publication Critical patent/JP2019220132A/ja
Application granted granted Critical
Publication of JP6861196B2 publication Critical patent/JP6861196B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

【課題】悪意あるプログラムの挙動検出の質を上げるとともに誤検出数を低減するシステム及び方法を提供する。【解決手段】ティーチングモジュールは、パターンをアクティビティ監視部にロードして、そのパターンに対する第1使用モードを設定する201。その後、ティーチング期間中、アクティビティ監視部は、上記パターンからのイベントの検出に基づいて脅威を検出する204。イベントがユーザ行動の結果として発生したものであり205、またイベントが反復的性質を持つ場合206、ティーチングモジュールは、それらのイベントまたは類似するイベントを以後の検出から除外するパラメータをパターンに追加する207。ティーチング期間が終了すると、ティーチングモジュールは、プログラムの危険な挙動のパターンを第2使用モードに切り替える208。第2使用モードでは、修正されたパターン用いて脅威が検出され、取り除かれる。【選択図】図2

Description

本開示は、コンピュータシステムを悪意あるプログラムから保護するヒューリスティックな方法に関し、より具体的には、高いレベルの誤検出を伴うプログラムの危険な挙動のパターンを利用する方法に関する。
コンピュータシステムのアンチウィルス保護のための最新の解決策においては、数層の保護を設けるべきである。アンチウィルスアプリケーションは、標準的なシグネチャ検証、すなわち、アンチウィルスデータベースを用いた、未知の危険なプログラムの検索に加えて、挙動検出能力、すなわち、プログラムの挙動から脅威を認識する能力も有するべきである。そのような手法によって、新しい未知の脅威の効果的な検出が可能になる。
アクティビティ監視は、最近のアンチウィルス製品の一環であり、コンピュータシステムの事前保護を提供する。アクティビティ監視は、すべてのプログラムプロセスを監視して、それらの挙動を、悪意あるプログラムの特性モデルと比較する。検出された疑わしいプログラムは、例えば、自動的に隔離されてもよい。悪意あるプログラムのあるシステムを修復する際、監視によって収集された情報に基づいて、悪意あるプログラムによってオペレーティングシステム内で行われた行動をロールバックしてもよい。さらに、アクティビティ監視は、ファイルへのアクセスを常時制御して、ファイルへのアクセスが要求されると、アクティビティ監視は、そのファイルの一時的バックアップコピーを保存する。したがって、いかなるファイルに対する暗号化の試みがアンチウィルス製品によって検出された場合であっても、一時的バックアップコピーの存在によって、データは元の形態に復帰することができるであろう。
そのような脅威検出のための安全システムは、プログラムの危険な挙動のパターンを利用する。パターンは、ウィルス対策会社の専門家によって、手作業で開発されることが多く、アンチウィルス製品によって危険であるとして分類される一連のプログラム行動を含んでいる。プログラムの危険な挙動のパターンのうち、開発中のものとして、あるカテゴリのパターンは、悪意ある挙動の効果的な検出を、一連のスクリプトの中で可能にするが、それらのパターンを使用したとき、特定の環境において、誤検出(False Detection:FD)が発生するリスクがかなりある。しかし、高いレベルの誤検出にもかかわらず、そのようなパターンを使用することによって、アンチウィルス製品による、悪意あるプログラムの挙動検出の質を大幅に上げることができる。
本開示の各態様は、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させて、コンピュータシステムのグループ上のプログラムの危険な挙動のパターンを選択的に使用するように設計される。本開示の各態様の技術的成果には、プログラムの危険な挙動のパターンをユーザのコンピュータシステム上で用いる際の、脅威の誤検出数の低減が含まれる。
本開示の一つの態様によれば、コンピューティングシステム上の悪意あるプログラムを検出するための、コンピュータ上で実現される方法が提供される。方法は、悪意あるプログラムと関連するアクティビティとマッチするように構成された、悪意あるプログラムのパターンをロードすることを含む。悪意あるプログラムのパターンはサイレント使用モードで構成される。方法は、悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、検出された脅威を取り除く処置は実行しないことを含む、サイレント使用モードにおける悪意あるプログラムのパターンの使用を第1期間中に行うことによって、コンピューティングシステム上の脅威を検出することをさらに含む。方法は、イベントはユーザ行動の結果として発生し、またイベントは反復的性質を持つとの判定に対応して、検出されたイベントを以後の検出から除外するように構成された一つ以上のパラメータを悪意あるプログラムのパターンに追加すること、および第1期間の終了に対応して、悪意あるプログラムのパターンをアクティブ使用モードに切り替えることを含む。
他の態様においては、アクティブ使用モードにおける悪意あるプログラムのパターンの使用は、コンピュータシステム上の、悪意あるプログラムのパターンに対応する以後の脅威を検出すること、およびそれを取り除くための処置を実行することを含む。
他の態様においては、イベントは反復的性質を持つと判定することは、イベントが、所与の第2期間以内にしきい値回数を超えて検出されたかどうかを判定することを含む。
他の態様においては、イベントはユーザ行動の結果として発生したと判定することは、コンピューティングシステム上における、ユーザのコンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、およびユーザのコンピューティングシステムの入力装置との相互作用のうち、少なくとも一方を含むユーザのアクティビティを検出することを含む。
他の態様においては、方法は、コンピュータシステム内で発生するイベントを監視すること、および監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成することをさらに含み、イベントが反復的性質を持つかどうかの判定は、イベントログの解析に基づいて行われる。
他の態様においては、イベントはユーザ行動の結果として発生し、またイベントは反復的性質を持つとの判定に基づいて、検出された脅威は誤検出として特徴付けられる。
他の態様によれば、コンピューティングシステム上の悪意あるプログラムを検出するためのシステムが提供される。システムは、ユーザ行動を入力するように構成された入力装置、およびハードウェアプロセッサを含む。プロセッサは、悪意あるプログラムと関連するアクティビティとマッチするように構成された、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードし、悪意あるプログラムのパターンを第1期間中に使用することによって、コンピューティングシステム上の脅威を検出するように構成される。悪意あるプログラムのパターンをサイレント使用モードで使用することは、悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、検出された脅威を取り除く処置は実行しないことを含む。プロセッサは、イベントはユーザ行動の結果として発生し、またイベントは反復的性質を持つとの判定に対応して、検出されたイベントを以後の検出から除外するように構成された一つ以上のパラメータを悪意あるプログラムのパターンに追加し、第1期間の終了に対応して、悪意あるプログラムのパターンをアクティブ使用モードに切り替えるようにさらに構成される。
態様の他の例によれば、本明細書に開示する方法のうち任意のいずれかを実行するための、コンピュータ実行可能な命令を含む命令を格納するコンピュータ読み取り可能な媒体が提供される。
上記の、態様例の簡単な概要は、本開示の基本的な理解を提供するものである。この概要は、すべての熟考された態様の広範な概説ではなく、すべての態様の鍵となる要素や重要な要素を特定したり、本開示の任意またはすべての態様の範囲を規定したりすることを意図するものではない。その唯一の目的は、一つ以上の態様を、後述する本開示のより詳細な説明への前置きとして、簡易な形で提示することである。上述のことを達成するために、本開示の一つ以上の態様は、特許請求の範囲で説明され、かつ例示的に示される特徴を含んでいる。
本明細書に組み込まれ、その一部を構成する添付図面は、本開示の一つ以上の態様例を図示し、それらの原理および実施例を説明するために、詳細説明と共に供される。
図1Aは、態様例に係る、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムを示すブロック図である。 図1Bは、ユーザのコンピュータシステムをより詳細に示すブロック図である。 図2は、態様例に係る、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるための方法を示すフローチャートである。 図3は、態様例に係る、コンピュータシステムのグループ上のプログラムの危険な挙動のパターンを適応させるシステムを示すブロック図である。 図4は、態様例に係る、コンピュータシステムのグループ上のプログラムの危険な挙動のパターンを選択的に使用する方法を示すフローチャートである。 図5は、態様例に係る、開示されたシステムおよび方法を実現可能なコンピュータシステムのブロック図である。
本発明の目的と特徴、および、これら目的と特徴を達成する方法が、種々の実施形態例の紹介によって明らかにされるであろう。しかし、本発明は、以下に開示する種々の実施形態例に限られず、様々な形態で具現化されうる。説明において提示される要点は、当該技術分野の専門家による発明の総合的理解を助けるために必要な具体的詳細に過ぎず、本発明は、添付の特許請求の範囲に定義される。
アクティビティ監視モジュールは、ユーザのコンピュータシステム上で実行される大半のアンチウィルスアプリケーションの一部である。この構成要素は、起動されたプログラム(プロセス)のアクティビティを監視して、その行動の実時間解析を可能にする。例えば、システムレジスタが変えられるか、ブートセクタまたはファイルが変更された場合、発生したイベントに関する情報が特殊なデータベースに書き込まれる。このデータは、後ほど、コンピュータシステムを元の状態に復帰させるために用いられうる。加えて、アクティビティ監視モジュールは、プログラムの危険な挙動のパターンのセット、すなわち、未知の悪意あるソフトウェアを識別するために用いうる挙動のモデルを含む。さらに、アクティビティ監視モジュールは、アンチウィルスソフトウェアの他の構成要素と情報を交換し、一連のイベントの記憶を呼び起こすことによって、挙動の全体像を形成して、各個別プログラムとプログラムのグループの痕跡を登録し、さらに、現在のセッションだけでなく、プログラムの全ライフサイクルにわたって、プログラムの行動を監視する。これによって、悪意あるプログラムの検出精度が高められる。
プログラムの危険な挙動のパターン(すなわち、挙動ストリームシグネチャ(Behavior Stream Signature:BSS))は、イベントのグループを含んでおり、それがコンピュータシステムのコンテキストの中で発生すると、そのパターンに対応する脅威が検出されることになる。パターンが充足されるためには、アクティビティ監視モジュールが脅威を検出する必要がある。以下、本文において、簡単にするために、プログラムの危険な挙動のパターンを「パターン」と呼ぶこととする。パターン内に列挙されたイベントは、例えば、ファイル、ランダムアクセスメモリ(Random Access Memory:RAM)にロードされたデータ、または他のプロセスのような、オペレーティングシステム内の任意の所与のオブジェクトに対して、プロセスが相互作用する手段としてのシステムコールに関連してもよい。イベントは、ネットワークトラフィック、具体的には、特定の一連のデータのトラフィックにおける識別、またはその現在の特性の決定に関連してもよい。また、イベントは、RAMにロードされたコードの解析に関連してもよい。アクティビティ監視モジュールは、RAMの任意の所与の領域からデータを読み込んで、それに関する解析をすることができる。
パターン内に列挙されたイベントを、所与のイベントが適合すべきパラメータ(イベントパラメータ)を示すことによって明確化してもよい。それらのパラメータは、例えば、プロセスの識別子、メモリ内のアドレスおよびアドレス範囲、ファイル、その識別子およびディレクトリであってもよい。イベントに加えて、パターンも、例えば、条件および論理演算子を使用してもよく、それらによって、パターン内のイベントの発生の時間枠と順序を決定してもよい。さらに、アクティビティ監視モジュールは、ローカルおよびリモートの両方のアンチウィルスソフトウェアの他の構成要素と情報を交換してもよいため、他のセキュリティシステムへの検査要求、およびそれからの判定を含んでもよい。例えば、コンピュータシステム上で行動を実行中のプロセスが既知で信頼できるものかどうかを判定するために、パターンは、信頼できるプログラムをリストアップする要求を含んでもよい。
アクティビティ監視モジュールがパターンの全イベントを識別すると、そのパターンに対応する脅威の検出が発生する。言い換えれば、そのパターン内に列挙された全イベントが、コンピュータシステム内で発生し、それらのイベントが発生したことが、アクティビティ監視モジュールによって登録されている。パターン内に列挙されたイベントのセットは、特定の攻撃ベクトルを特徴付けており、それによって、サイバー攻撃や標的型サイバー攻撃の実行に使われた、コンピュータシステム内の悪意あるオブジェクトを見つけることができる。アクティビティ監視モジュールは、従来技術における任意の公知の方法で、コンピュータシステム内のイベントを監視する。例えば、ウィンドウズ(登録商標)ファミリーのオペレーティングシステムに関する特定の実施例において、対応するドライバフィルタをインストールすることによって、イベントを監視してもよい。
本開示の文脈において、パターンに対応する脅威は、悪意あるプログラムである。パターンを用いて発見された悪意あるプログラムは、所与の悪意あるプログラムに関連する実行可能ファイルなどのファイル、およびプロセスのうち、少なくとも一方、すなわち、コンピュータシステムのRAMにロードされた能動的に実行可能な悪意あるプログラムによって識別される。例えば、金をゆすり取るために、コンピュータシステム上のユーザにとって重要なデータを暗号化する様々な悪意あるプログラムであるランサムウェアなどの脅威を識別するための、素朴な、すなわち基本的なパターンは、元の形態で、「ファイルに変更を加える」イベントを含み、所与のプロセスによって開始された所与のファイルの変更によってトリガされる。そのようなパターンは、あまりにも大まかに形成されており、「ファイルに変更を加える」イベントはそれ自体が悪意あるものではないので、特定のコンピュータシステムに適応させなければ使用することはできない。結果として、このパターンを使用すると、大量の、偽陽性とも称される誤検出につながり、プログラムが間違って(実際にはそうでなくても)悪意あるものと特徴付けられる結果となる。本例は、当然、実例として提示したものに過ぎず、実際のパターンはそのように大まかに記述されておらず、多数のパラメータ、条件、および例外を含み、誤検出の数の大幅な低減を可能にするものである。
誤検出された脅威は、そのような(悪意ある)性質ではないにもかかわらず、対応するパターンによって悪意あるものと識別された信頼できるプログラムである。パターンを用いて検出された脅威が誤検出されたものかどうかは、追加的検証によって判定される。その一つが、アクティビティ監視モジュール、およびユーザ行動を監視するサブシステムを用いて実施される。この検証方法は後述するものとする。検出された脅威が誤検出されたものかを判定するもう一つの方法として、識別された脅威に対応するプログラムを、信頼できるプログラムのデータベースを用いて検証する方法がある。
上述のように、伝統的に、パターンは、ウィルス対策会社の専門家によって、手作業で開発される。パターンが作成されると、直ちにテストしてその効力、すなわち有効性を判定する必要があり、そのために、パターンはユーザの全コンピュータシステムにロードされ、サイレントモードで起動される。サイレント使用モード(すなわち、第1使用モード)は、あるパターンを用いるモードであり、そのモードでは、アクティビティ監視モジュールが、コンピュータシステム上のそのパターンに対応する脅威を検出するが、それを除去する処置は実行しない。それに応じて、アクティブ使用またはパターンアプリケーションモード(第2使用モード)は、パターンを用いるモードであり、そのモード中では、アクティビティ監視モジュールが、コンピュータシステム上のそのパターンに対応する脅威を検出して、それを除去する処置を実行する。パターンは、ユーザのコンピュータシステム上で、ある期間、サイレントモードで動作し、その間、そのパターンを用いてコンピュータシステム上で検出された脅威の統計がリモートサーバ上で収集される。統計は、少なくとも以下のデータを含む。脅威識別子、パターン識別子、および検出された脅威に関連するファイルおよびプロセスの名前とハッシュサム。これらの統計は、その後、ウィルス対策会社の専門家によって、解析され、そのパターンの使用の有効性を高めるような、すなわち、誤検出数の低減を可能にするような変更がパターンに加えられる。収集された統計の解析の過程で、パターンを用いて検出された脅威のすべてが、誤検出された脅威かどうかを調べるために、チェックされる。このチェックは、検出された脅威に関連するファイルおよびプロセスを、信頼できるファイルおよびプログラムのリストを用いてチェックすることによって実行することができる。更新されたパターンは、再び、ユーザのコンピュータシステム上にロードされ、再度、サイレントモードで起動される。パターンに対応する脅威の誤検出数がゼロに等しくなるか、収集された使用統計における所与の値を超えないようになるまで、このパターンの手動更新のサイクルが繰り返される。この後、これらのパターンはアプリケーションモードに切り替えられる。しかし、例えば、ユーザデータを暗号化する悪意あるプログラムを識別するためのパターンの場合のような、特定のパターンに対しては、脅威の誤検出のレベルをゼロに低減することはできないかもしれない。そのようなパターンに対しては、誤検出のレベルは、あるレベル(例えば、<3%)までしか低減できない。この誤検出レベルでは、本開示の態様を利用して、そのようなパターンをそれぞれの特定のコンピュータシステム上の使用に適応させることはできても、不定数のコンピュータシステム上でパターンを用いることは依然として不可能である。
本出願の文脈において、誤検出のレベルがゼロに等しくないパターンを用いるための方法が実行される。この方法では、コンピュータシステムのためのプログラムの危険な挙動のパターンのパラメータが変更され、それによって、そのパターンがユーザのコンピュータシステム上で、ある期間(ティーチング期間)、サイレントモードで使用される。ティーチング期間中、パラメータが、ティーチングモジュールを用いて、パターンに追加され、そのパラメータによって、次回の検出から、以下の条件を両方とも満たすイベントを除外することができる。イベントはユーザ行動の結果として発生したという条件、および、イベントは本質的に規則的である、すなわち、アクティビティ監視モジュールを使って所定回数を超えて登録されたという条件。この後、パターンはアプリケーションモードに切り替えられる。
特定のイベントがユーザ行動と関連するかをどうか判定するために、アクティビティ監視モジュールは、オペレーティングシステムのグラフィカルユーザインターフェースを使って入力インターフェースを利用したユーザの相互作用を監視する、ユーザ行動監視用サブシステムを含んでいる。オペレーティングシステムのインターフェースとは、ユーザがコンピュータのオペレーティングシステムまたはプログラムと相互作用をする手段および方法のことである。本開示の文脈において、グラフィカルユーザインターフェース(コンピュータとの相互作用が、絵文字、メニュー、ダイアログウィンドウなどを用いて組織付けられる)と入力インターフェース(ユーザのコンピュータとの相互作用の手段)とを区別してもよい。入力インターフェースは、例えば、キーボード、マウス、あるいは感覚制御要素などのデータ入力手段、およびデータの写真、映像、および音声キャプチャ手段、およびその他の手段であってもよい。ユーザ行動監視用サブシステムは、オペレーティングシステムのグラフィカルユーザインターフェースを使ったユーザの相互作用の過程で、入力インターフェースから来るコマンドを登録し、コンピュータシステムのコンテキストのどのイベントがユーザ行動の結果として発生したのかを判定する。
すなわち、本開示の態様では、プログラム的または自動的な挙動に起因する、悪意あるアクティビティであることを示唆しうる特定のイベントとは対照的に、ユーザ行動の結果として発生した特定のイベントは、正当な挙動であることを示唆するものとして特徴付けられる。例えば、アクティビティ監視モジュールは、ファイルの削除または修正に関連するイベントを検出して、そのイベントは、ユーザの、カーソルをファイルアイコンに誘導するマウス入力、ファイルアイコンを選択するマウス入力(例えば、<マウスクリック>)、およびユーザの削除を示すキーボード入力(例えば、<DELETE>キー)を含むユーザインターフェースとの相互作用の結果であると判定してもよい。この種のアクティビティは、悪意あるプログラムのパターンにマッチする可能性があるにもかかわらず、正当な挙動としてもよい。一方、そのようなユーザ行動がなければ、この種のアクティビティは(パターンにマッチする場合)、例えば、ファイルを削除または暗号化する、悪意あるプログラムの結果かもしれない。
図1Aおよび図1Bは、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムを示す。提案されたシステムのコンテキストにおいて、アンチウィルスアプリケーション100は、ユーザのコンピュータシステム{CS1、CS2,…、CSN}の一部において起動されている。アンチウィルスアプリケーション100は、アクティビティ監視モジュール101、およびティーチングモジュール102を含む。アンチウィルスアプリケーション100は、さらに、他のモジュール{モジュール1、モジュール2、…、モジュールN}を含み、他のモジュールには、特に、パターンとの連携の過程で、アクティビティ監視モジュール101が相互作用することができ、ティーチングモジュール102も相互作用することができる。さらに、アンチウィルスアプリケーション100は、「ファジーパターン」103のデータベースのようなウィルス対策会社のインフラストラクチャの要素、および複数のサービス104に通信可能に接続されている。「ファジーパターン」103のデータベースは、誤検出のレベルがウィルス対策会社の専門家によって特定レベルまで下げられたが、ゼロと等しくはない上記パターンと同じものを含む。サービス104は、アンチウィルスアプリケーション100によって遠隔使用される、すなわち、ウィルス対策会社のリモートサーバ上に存在する、ウィルス対策会社のインフラストラクチャの任意の要素であってもよい。
アクティビティ監視モジュール101は、プログラムの危険な挙動のパターンに対応する、ユーザのコンピュータシステム上の脅威を検出するように構成されている。アクティビティ監視モジュール101は、さらに、コンピュータシステム内で発生するイベントを監視し、そのようなイベントに関する統計データをまとめる。アクティビティ監視モジュール101は、イベントのリストとイベントのパラメータ(イベントパラメータについては、後に詳述する)を含むイベントログ111を生成してもよい。アクティビティ監視モジュール101は、ユーザ行動監視用サブシステムを含み、パターンに関連するイベントがコンピュータシステムのユーザによる行動の結果として発生したものかどうかを判定することを可能にし、ユーザの相互作用がグラフィカルユーザインターフェースの要素を用いて生じたものか、およびユーザがデータ入力手段を使用したのかのうち、少なくとも一方を確証する。アクティビティ監視モジュール101を使った上記事実の判定、および評価された行動の反復的性質から、それらのイベントが、脅威の誤検出をもたらしたもので、特定のパターンのコンテキストの中でのさらなる検出から除外すべきであるということを高確率で確証することができる。上記の、イベントの反復的性質は、ユーザ行動の結果として発生したイベントの反復的性質と一致する。このように、本開示の一変形態様における上記反復的性質を、アクティビティ監視モジュール101によって生成されるイベントログから確証することができる。
本開示の他の変形態様においては、アクティビティ監視モジュール101は、脅威検出統計(あるいは、単に、統計112)を収集するように構成されてもよい。統計112は少なくとも以下のデータを含みうる。脅威識別子、パターン識別子、および検出された脅威に関連するファイルおよびプロセスの名前とハッシュサム。さらに、統計112は、パターンを用いて脅威の検出をもたらした、コンピュータシステム上で発生したイベントおよびそのパラメータのリストを含む。パターン内のイベントは、ワイルドカードおよびその正規表現を用いて大雑把に記述してもよいが、統計は、コンピュータシステム上で発生したイベントに関する詳細を含む。例えば、プロセス"program.exe"は、以下の特性{A1、A2、…、Am}を持つファイル"c:\windows(登録商標)\file"への書き込みを実行した。特性には、例えば、環境変数、アクセス権、他のセキュリティシステムから、{モジュール1、…、モジュールN}のローカルセットから、またはリモートサービス104からの判定、およびその他の特性の値が含まれる。プロセス名、ファイル名、システムコールとその引数、および特性{A1、A2、…、Am}はすべてイベントパラメータである。
ティーチングモジュール102は、プログラムの危険な挙動のパターン110を、第1使用モード(サイレント使用モード110A)で実行するように構成されてもよい。第1使用モードでは、アクティビティ監視モジュール101は、上記パターンに対応するコンピュータシステム上の脅威を検出するが、それを取り除くための処置は実行しない(すなわち、検出された脅威を取り除くための処置を控える)。プログラムの危険な挙動のパターンを実行するために、ティーチングモジュール102は、プログラムの危険な挙動のパターンをアクティビティ監視モジュール101にロードして、そのパターンに対する上記使用モードを設定してもよい。さらに、ティーチングモジュール102は、プログラムの危険な挙動のパターンを第2使用モード(アクティブ使用モード110B)に切り替えてもよい。第2使用モードでは、アクティビティ監視モジュール101は、上記パターンに対応するコンピュータシステム上の脅威を検出して、それを取り除くための処置を実行する。さらに、ティーチングモジュール102は、アクティビティ監視モジュール101を使用して設定された上記の条件、すなわち、(1)イベントはユーザ行動の結果として発生したという条件、および(2)イベントは、所与の第2期間以内に所与の回数を超えて検出されたという条件を満たしたイベントを、以後の検出から除外するパラメータを、パターンに追加することによって、パターンを適応させる。すなわち、ティーチングモジュール102は、ユーザ行動の結果として発生したイベント、および所与の期間中にしきい値発生回数を超えて発生するイベントを除外するであろうパラメータを追加することによって、パターンを修正してもよい。
以後の検出からイベントを除外するパラメータは、以下に列挙するパラメータ、およびそれらの組み合わせのうちのどれであってもよい。システムコール、システムコールの引数、ファイル、アプリケーション、プロセス、またはそれらを識別するデータ、任意のセキュリティシステムに対する判定の要求、および論理演算。例えば、ユーザ行動の結果として発生し、所与の期間中にしきい値発生回数を超えて発生したイベントに関連する特定のシステムコールおよびシステムの引数の少なくとも一方とマッチするものを除外するために、ティーチングモジュールは、パターンを修正してもよい。他の一例においては、ユーザ行動の結果として発生し、所与の期間中にしきい値発生回数を超えて発生したイベント(例えば、一つ以上のファイルに変更を加えるためのイベント)に関連する一つ以上のファイルとマッチするものを除外するために、ティーチングモジュール102は、パターンを修正してもよい。他の一例においては、他のセキュリティシステムからの判定によって安全または信頼できることが示された任意のシステムコール、ファイル、アプリケーション、およびプロセスのうち少なくともどれかを除外するために、ティーチングモジュール102は、所与のパターンを修正してもよい。パラメータのさらなる態様については、後に詳述する。
他の変形態様においては、ティーチングモジュール102は、アクティビティ監視モジュール101によってコンピュータシステム上のパターンを用いてまとめられた統計112を解析してもよい。まとめられた統計の解析の過程で、ティーチングモジュールは、パターンに対する脅威の誤検出の数を計算する。悪意あるプログラムは脅威として特徴付けられ、信頼できるプログラムは誤検出された脅威として特徴付けられる。ティーチングモジュール102は、規定期間経過後、識別された脅威に対応するプログラムを、信頼できるプログラムのデータベースを用いてチェックすることによって、検出された脅威は誤検出された脅威であると判定する。解析結果から、ティーチングモジュール102は、所与のコンピュータシステム上のすべての誤検出された脅威を、例外として、プログラムの危険な挙動のパターンに追加することができる。
上述の、特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてプログラムの危険な挙動のパターンに追加することは、様々な方法で実施できる。本開示の一変形態様においては、誤検出された脅威(信頼できるプログラム)を以後のパターンを用いた検出から除外するために、ティーチングモジュール102は、パターンに変更113を導入する。特に、ティーチングモジュール102は、コンピュータシステム上で発生して、脅威の誤検出であるという結果に終わった(統計112からの)イベントのパラメータ、および対応するパラメータを伴った行動をパターンから除外するようにイベントパラメータをチェックする手順であるフィルタ、すなわち条件演算子を、パターンに対して全体的または部分的に追加する。一つの態様においては、ティーチングモジュールは、偽陽性と関連する任意のプロセス、またはプロセスやファイルの名前とマッチする名前を除外するパラメータを、プロセスによるファイル変更イベントとマッチするパターンに追加してもよい。例えば、プロセスの名前が"program1.exe"であり、ファイル名が"c:\program files\file_1"である場合を除き、「プロセスによってファイルに変更を加える」すべての行動はパターンの範囲内であるとみなされるであろう。
本開示の他の変形態様においては、コンピュータシステム上で発生した(統計からの)イベントが、以下の3つの条件のうち少なくとも2つを満たす場合、上述のようなティーチングモジュールは、それらのイベントのパラメータの少なくとも一部、および対応するパラメータを伴ったイベントをパターンから除外するようにイベントパラメータをチェックする手順であるフィルタ、すなわち条件演算子を、プログラムの危険な挙動のパターンに追加してもよい。第1条件は、イベントが、上記のパターンを用いて誤検出された脅威であるとアクティビティ監視モジュール101によって認識されたプログラムの行動であるという条件である。ただし、プログラムが誤検出された脅威であるとする判定は、ティーチングモジュール102を用いて、所与の期間(例えば、ティーチング期間と同じ期間)の経過後、プログラムを、信頼できるプログラムのデータベースを用いてチェックすることによって実行される。他の2つは、その成立が、アクティビティ監視モジュール101によって (ユーザ行動監視用サブシステムを用いて)判定される条件、すなわち、イベントはユーザ行動の結果として発生したという条件、およびイベントは、所与の第2期間以内に所与の回数を超えて検出されたという条件である。アクティビティ監視モジュール101(およびユーザ行動監視用サブシステム)は、コンピュータシステム内で発生するイベントを常時監視して、上述のイベントログを生成するため、第2期間は、ティーチング期間以上(ティーチング期間の開始時点からの計時期間以上)の長さであってもよい。このログを生成するプロセスも、パターンのティーチング期間の開始時点と連動していない。
他の変形態様においては、誤検出された脅威であると特徴付けられたプログラムを以後の検出から除外するために、ティーチングモジュール102は、そのプログラムを、信頼できるプログラムのリストに追加してもよい。リストは、例えば、コンピュータシステムにローカルに存在してもよい。さらに、ティーチングモジュール102は、このリストを用いてチェックするための手順をパターンに追加する。すなわち、パターンの実行時にプログラムがリストに含まれていれば、そのプログラムに関連する行動はそのパターンの範疇には入らない。
図2は、コンピュータシステムのためのプログラムの危険な挙動のパターンのパラメータを変更することによって、プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させる方法200のブロック図を示す。
この方法200によれば、ステップ201において、ティーチングモジュールは、プログラムの危険な挙動のパターンをアクティビティ監視モジュールにロードして、そのパターンに対する第1使用モードを設定する。第1使用モードでは、アクティビティ監視モジュールは、そのパターンに対応するコンピュータシステム上の脅威を検出するが、それを取り除くための処置は実行しない。
その後、所与の第1期間(ティーチング期間)中、ステップ202で設定された反復サイクル203〜206が実行される。ステップ204において、アクティビティ監視モジュールは、上記パターンに対応する脅威を検出する。脅威の検出は、上記パターンからイベントを検出した結果、生じたものである。ステップ207において、イベントはユーザ活動の結果として発生したものであり(ステップ205)、そのイベントは所与の第2期間以内に所与の回数を超えて検出されたものであると(ステップ206)判定されたことを受けて、ティーチングモジュールは、アクティビティ監視モジュールがステップ205および206でそれらの条件の成立を確証したイベントを、以後の検出から除外するパラメータを上記パターンに追加する。
規定の第1期間が(ステップ203で判定されたように)終了すると、ステップ208において、ティーチングモジュールは、プログラムの危険な挙動のパターンを第2使用モードに切り替える。第2使用モードでは、アクティビティ監視モジュールは、上記パターンに対応するコンピュータシステム上の脅威を検出して、それを取り除くための処置を実行する。
本開示の他の変形においては、コンピュータシステム上でパターンを選択的に使用する方法が実行され、それによって、企業サブネットのようなコンピュータシステムのグループ上で、規定期間(ティーチング期間)、パターンが使用される。パターンに対応する脅威の検出に関する統計が、上記グループの各コンピュータシステムからリモートセキュリティコントロールセンターに送信される。パターンを用いて脅威に分類されたプログラムのそれぞれは、ティーチング期間の経過後、他のセキュリティシステムを用いて再度チェックされる。特に、「ホワイトリスト」を用いて、プログラムのチャックが実施される。ホワイトリストは、信頼できるプログラム、およびそれらに対応するファイルとプロセスのリストである。様々なホワイトリストが各コンピュータシステムにローカルに、また、リモートセキュリティコントロールセンターに保存されて更新され、さらに、ウィルス対策会社側で更新可能なグローバルホワイトリストもある。したがって、パターンを用いて脅威に分類されたプログラムが、ティーチング期間の経過後、ホワイトリストに含まれていた場合、そのプログラムは誤検出された脅威とみなされる。コンピュータシステムに関してまとめられた脅威検出統計における脅威の誤検出数が、設定されたしきい値を超えないコンピュータシステムの各々に対して、リモートセキュリティコントロールセンターは、その特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてパターンに追加し、そのパターンはアプリケーションモードに切り替えられる。言い換えれば、ある期間にわたって、脅威の誤検出数がしきい値を超えない場合、そのようなパターンは、例えば、誤検出となった検出のパターンを例外に含めるために、特定のシステムに適応することができる。パターンを用いたスレッドの誤検出の数がしきい値を超える場合、そのようなパターンは特定のコンピュータシステムに適さないと結論付けてもよい。
図1に戻って、プログラムの危険な挙動のパターンを選択的に使用するための上述のシステムにおいて、コンピュータシステム{CS1、CS2,…、CSN}のグループがユーザ側に提供されている。このグループの各コンピュータシステム上では、各種モジュール{モジュール1、モジュール2、…、モジュールN}を含み、アクティビティ監視モジュール101を含むアンチウィルスアプリケーションが実行されている。コンピュータシステムのグループ上で実行中のアンチウィルスアプリケーション100の各々は、コンピュータシステムのグループのセキュリティを集中制御するように構成されたリモートセキュリティコントロールモジュール105に通信可能に接続されている。リモートセキュリティコントロールモジュール105は、ウィルス対策会社によって「ファジーパターン」のデータベース103として管理される上記インフラストラクチャの要素、および複数のサービス104に通信可能に接続されている。リモートセキュリティコントロールモジュール105は、ユーザ側のコンピュータシステム上で実行中として、図1に図示されているが、代替態様においては、リモートセキュリティコントロールモジュール105は、(破線の輪郭で表されるように)ウィルス対策会社側に展開されてもよい。
コンピュータシステムCSのグループの各コンピュータシステム上で実行中のアンチウィルスアプリケーション100の一部であるアクティビティ監視モジュール101は、ユーザのコンピュータシステム上の、プログラムの危険な挙動のパターンに対応する脅威を検出し、さらに、脅威検出統計を送信するように構成されてもよい。上述のように、統計は少なくとも以下のデータを含みうる。脅威識別子、パターン識別子、および検出された脅威に関連するファイルおよびプロセスの名前とハッシュサム。さらに、統計は、パターンを用いて脅威の検出をもたらした、コンピュータシステム上で発生したイベントおよびそのパラメータのリストだけでなく、コンピュータシステムのグループの中のコンピュータシステムの識別子も含んでもよい。
図3に示すように、本開示の文脈におけるリモートセキュリティコントロールモジュール105は、「ファジーパターン」のデータベース103からのパターン301と連携するように構成されている。リモートセキュリティコントロールモジュールを用いて、コンピュータシステムのグループの中の各コンピュータシステムに対するアクティビティ監視モジュール101にパターン301がロードされ、それに対する第1使用モードが設定される。第1使用モードでは、アクティビティ監視モジュールは、そのパターンに対応するコンピュータシステム上の脅威を検出するが、それを取り除くための処置は実行しない。さらに、リモートセキュリティコントロールモジュール105は、パターンに対応する脅威検出統計(あるいは、単に、統計302)の収集を可能にする。統計302は、コンピュータシステムのグループの中のコンピュータシステムごとに、設定された期間にわたってまとめられる。期間は経験的に選定される。この期間の経過後、リモートセキュリティコントロールモジュール105は、パターンを用いてコンピュータシステムのグループの中のコンピュータシステムごとにまとめられた脅威検出統計302の解析を実行する。各コンピュータシステムに対して、所与のコンピュータシステム上のパターンを用いてまとめられた統計のその部分だけに関して、解析が実行される。コンピュータシステムのグループの中の他のコンピュータシステム上のパターンを用いて得られた脅威検出統計は、この解析中は、考慮に入れられない。まとめられた統計の解析の過程で、コンピュータシステムごとの脅威の誤検出数が計算される。悪意あるプログラム(ファイル、プロセス)は脅威であり、信頼できるプログラム(ファイル、プロセス)は誤検出された脅威である。検出された脅威が誤検出された脅威であるとする判定は、上記の設定された期間の経過後に、リモートセキュリティコントロールモジュール105を用いて、識別された脅威に対応するプログラム(ファイル、プロセス)を、信頼できるプログラムのデータベースを使用してチェックすることによってなされる。解析結果から、コンピュータシステムに関してまとめられた脅威検出統計における脅威の誤検出数が、設定されたしきい値を超えないコンピュータシステムの各々に対して、リモートセキュリティコントロールモジュール105を用いて、以下の処置がとられる。特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてプログラムの危険な挙動のパターンに追加し、プログラムの危険な挙動のパターンを第2使用モードに切り替える。第2使用モードでは、コンピュータシステム上で実行されるアンチウィルスアプリケーションが上記パターンに対応する脅威を検出して、それを取り除くための処置を実行する。
他の変形態様においては、パターンを用いて誤検出された脅威と認識されたプログラムを以後の検出から除外するために、そのプログラムは、リモートセキュリティコントロールモジュール105(またはアクティビティ監視モジュール)によって、例えば、コンピュータシステムにローカルに存在する、信頼できるプログラムのリスト(ホワイトリスト304)に追加され、このリストを用いたチェック手順がパターンに追加される。プログラムがリストに含まれていれば、そのプログラムに関連する行動はそのパターンの範疇には入らない。
図4は、プログラムの危険な挙動のパターンを選択的に使用する方法400のブロック図を示す。この方法400によれば、ステップ401において、プログラムの危険な挙動のパターンが、コンピュータシステムのグループ上で、リモートセキュリティコントロールモジュールを用いて、第1モードで起動され、コンピュータシステム上で実行されるアンチウィルスアプリケーションが上記パターンに対応する脅威を検出するが、それを取り除くための処置は実行しない。パターンを起動するために、リモートセキュリティコントロールモジュール105は、プログラムの危険な挙動のパターンを、コンピュータシステムのグループのアクティビティ監視モジュールにロードして、このパターン対する上記利用モードを設定してもよい。脅威を取り除く処置には、悪意あるプログラムの除去、コンピュータシステムの復元、処置をするようユーザに要求、および悪意あるプログラムの隔離が含まれる。
ステップ402において、リモートセキュリティコントロールモジュール上で、上記パターンに対応する脅威に関する脅威検出統計が、上記グループ内のコンピュータシステムごとに、設定された期間にわたって、まとめられる。その後、ステップ403において、コンピュータシステムのグループ内のコンピュータシステムごとに(ステップ403〜407の反復サイクル)、リモートセキュリティコントロールモジュールは、(上記または当該技術分野で公知の適切な検証技術を用いて)誤検出数を決定する。
コンピュータシステムに関してまとめられた脅威検出統計における脅威の誤検出数が、設定されたしきい値を超えないコンピュータシステムの各々に対して、リモートセキュリティコントロールモジュールは、ステップ405において、特定のコンピュータシステムに対応するすべての誤検出された脅威を例外としてプログラムの危険な挙動のパターンに追加する。ステップ406において、リモートコントロールセキュリティモジュールは、プログラムの危険な挙動のパターンを第2使用モードに切り替える。第2使用モードでは、コンピュータシステム上で実行されるアンチウィルスアプリケーションが上記パターンに対応する脅威を検出して、それを取り除くための処置を実行する。
図5は、悪意あるスレッドを検出するためのシステムおよび方法の態様を態様例に従って実装されうるコンピュータシステム20を示すブロック図である。ここで留意すべきことは、コンピュータシステム20は、例えば、既述のコンピュータシステム(CS1〜CSN)と対応しうるということである。
図示のように、コンピュータシステム20(パーソナルコンピュータまたはサーバであってもよい)は、中央処理装置21、システムメモリ22、および、中央処理装置21に付随するメモリを含む各種システム構成要素を連結するシステムバス23を含む。当業者には理解されるように、システムバス23は、バスメモリまたはバスメモリコントローラ、周辺バス、および、他のいかなるバスアーキテクチャとも相互作用可能なローカルバスを備えていてもよい。システムメモリは固定記憶装置(ROM)24とランダムアクセスメモリ(RAM)25を含んでいてもよい。基本入出力システム(BIOS)26は、ROM24を用いてオペレーティングシステムをロードする際の手順などの、コンピュータシステム20の要素間の情報転送の基本的手順を記憶していてもよい。
コンピュータシステム20は、さらに、データを読み書きするためのハードディスク27、リムーバブル磁気ディスク29を読み書きするための磁気ディスクドライブ28、および、読み出し専用コンパクトディスク(Compact Disc Read-Only Memory:CD−ROM)、読み出し専用DVD(Digital Versatile Disc Read-Only Memory:DVD−ROM)、その他の光媒体などのリムーバブル光学ディスク31を読み書きするための光学ドライブ30を備えていてもよい。ハードディスク27、磁気ディスクドライブ28、および光学ドライブ30は、それぞれ、ハードディスクインターフェース32、磁気ディスクインターフェース33、および光学ドライブインターフェース34を介して、システムバス23と接続されている。ドライブおよび対応するコンピュータ情報媒体は、コンピュータシステム20のコンピュータ命令、データ構造体、プログラムモジュール、およびその他のデータを記憶するための、独立の電源で動作するモジュールである。
態様の一例は、システムバス23と接続されたハードディスク27、リムーバブル磁気ディスク29、およびリムーバブル光学ディスク31をコントローラ55を介して使用するシステムを備えている。コンピュータ読み取り可能な形式でデータの保存が可能な任意の種類の媒体56(半導体ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)など)を利用することもできることは、当業者には理解されるであろう。
コンピュータシステム20はファイルシステム36を有しており、その中には、オペレーティングシステム35の他に、追加的なプログラムアプリケーション37、その他のプログラムモジュール38、およびプログラムデータ39を保存することができる。コンピュータシステム20のユーザはキーボード40、マウス42、あるいは、その他、例えば、マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナなどが挙げられるがそれらに限られない当業者に公知の入力装置を使用して、コマンドおよび情報を入力することができる。そのような入力装置は、一般に、コンピュータシステム20に、システムバスと接続されたシリアルポート46を通して差し込まれるが、当業者は、入力装置を、例えば、限定はされないが、パラレルポート、ゲームポート、あるいはユニバーサルシリアルバス(Universal Serial Bus:USB)などの他の方法で接続してもよいことを理解するであろう。モニタ47または他の種類の表示装置も、ビデオアダプタ48などのインターフェースを介してシステムバス23と接続してもよい。パーソナルコンピュータは、モニタ47に加えて、スピーカ、プリンタなどの他の周辺出力装置(図示せず)を備えてもよい。
コンピュータシステム20を、一台以上のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境下で動作させてもよい。リモートコンピュータ49は、コンピュータシステム20の特徴説明の中で述べた上記要素のほとんどまたは全部を備えたローカルコンピュータワークステーションまたはサーバであってもよい。例えば、ルータ、ネットワークステーション、ピアデバイス、その他のネットワークノードなどが挙げられるがそれらに限られないその他の装置も、コンピュータネットワークの中に存在してもよい。
ネットワーク接続によって、ローカルエリアコンピュータネットワーク(Local-Area computer Network:LAN)50および広域コンピュータネットワーク(Wide-Area computer Network:WAN)を形成することができる。そのようなネットワークは企業コンピュータネットワークや社内ネットワークで利用され、一般に、インターネットにアクセス可能である。LANおよびWANのネットワークにおいては、パーソナルコンピュータ20は、ネットワークアダプタまたはネットワークインターフェース51を介してローカルエリアネットワーク50と接続されている。ネットワークを利用する場合、コンピュータシステム20は、インターネットのような広域コンピュータネットワークとの通信を可能にするモデム54またはその他の当業者に公知のモジュールを採用してもよい。モデム54は、内部装置であっても外部装置であってもよいが、シリアルポート46によってシステムバス23と接続してもよい。上記ネットワーク接続は、一台のコンピュータが通信モジュールを使って他のコンピュータとの接続を確立する、数多くの広く理解されている方法の非限定例であることは、当業者には理解されるであろう。
様々な態様において、本明細書で説明したシステムおよび方法は、ハードウェア、ソフトウェア、ファームウェア、あるいはそれらの任意の組み合わせの中に実現されてもよい。ソフトウェア中に実現された場合、非一時的なコンピュータ読み取り可能な媒体上に、一つ以上の命令またはコードとして記憶してもよい。コンピュータ読み取り可能な媒体には、データストレージが含まれる。一例として、限定はされないが、そのようなコンピュータ読み取り可能な媒体は、RAM、ROM、電気的消去可能プログラム可能読み出し専用メモリ(Electrically Erasable Programmable Read-Only Memory:EEPROM)、CD−ROM、フラッシュメモリ、あるいは他の種類の電気的、磁気的、または光学的記憶媒体、もしくは、所望のプログラムコードを命令やデータ構造体の形で運搬または記憶するために利用可能で、汎用コンピュータのプロセッサからアクセス可能な、その他の任意の媒体を含むことができる。
様々な態様において、本開示で説明したシステムおよび方法を、モジュールという観点で取り扱うことができる。本明細書で使われている用語「モジュール」とは、例えば、特定用途向け集積回路(Application Specific Integrated Circuit:ASIC)やフィールドプログラマブルゲートアレイ(Field-Programmable Gate Array:FPGA)によるハードウェアを用いて実現されるか、あるいは、例えば、マイクロプロセッサシステムと、(実行時に)マイクロプロセッサシステムを専用デバイスに変換するモジュールの機能性を実現する一連の命令によるハードウェアとソフトウェアの組み合わせとして実現された、実世界の装置、構成要素、または構成要素の配置のことである。モジュールは、特定の機能をハードウェアのみで促進し、その他の機能をハードウェアとソフトウェアの組み合わせによって促進する、上記2つの組み合わせとしても実現できる。特定の実現形態においては、少なくとも一部、場合によっては全部のモジュールが、(図5によって詳細に前述したような)コンピュータのプロセッサ上で実行されてもよい。したがって、各モジュールは各種の適切な構成の中に実現可能であり、本明細書に例示したいかなる特定の実現形態にも限定されるべきではない。
明確化のために、本明細書は各態様の定型的な特徴のすべてまでは示していない。本開示の実際の実現形態のいかなる開発においても、開発者の具体的目的を達成するために実現形態に特有の多くの決定をする必要があり、具体的目的は、実現形態ごとおよび開発者ごとに異なるということが理解されるであろう。そのような開発努力は複雑で多くの時間を要する可能性があるが、それにもかかわらず、本開示から利益を得る当業者にとって、定型的な技術的取り組みであることが理解される。
さらに、本明細書で用いている表現や用語は説明上のものであって、限定のためではなく、本明細書の用語や表現は、当業者が、当業者の知識と組み合わせて、本明細書が提供する教示や手引きの観点から解釈すべきものと理解すべきである。加えて、明示的記載がない限り、本明細書や請求の範囲におけるいかなる用語も、一般的でない、あるいは特別な意味を持つものとみなされることは意図されていない。
本明細書に開示された様々な態様は、本明細書で例示により言及された公知のモジュールの現在および将来の公知の均等物を包含する。また、態様および応用例を図示し、かつ、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの変更が可能であることは、この開示の利益を有する当業者には明らかであろう。

Claims (18)

  1. コンピューティングシステム上の悪意あるプログラムを検出するための、コンピュータ上で実現される方法であって、
    悪意あるプログラムと関連するアクティビティとマッチする、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードすることと、
    前記悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、前記検出された脅威を取り除く処置は実行しないことを含む、前記サイレント使用モードにおける前記悪意あるプログラムのパターンの使用を第1期間中に行うことによって、コンピューティングシステム上の前記脅威を検出することと、
    前記イベントはユーザの行動の結果として発生し、また前記イベントは反復的性質を持つとの判定に対応して、前記検出されたイベントを以後の検出から除外する一つ以上のパラメータを前記悪意あるプログラムのパターンに追加することと、
    前記第1期間の終了に対応して、前記悪意あるプログラムのパターンをアクティブ使用モードに切り替えることと、
    を含むことを特徴とする、方法。
  2. 前記アクティブ使用モードにおける前記悪意あるプログラムのパターンの使用は、前記コンピューティングシステム上の、前記悪意あるプログラムのパターンに対応する以後の脅威を検出すること、およびそれを取り除くための処置を実行することを含むことを特徴とする、請求項1に記載の方法。
  3. 前記イベントは反復的性質を持つと判定することは、前記イベントが、所与の第2期間以内にしきい値回数を超えて検出されたかどうかを判定することを含むことを特徴とする、請求項1に記載の方法。
  4. 前記イベントはユーザ行動の結果として発生したと判定することは、前記コンピューティングシステム上における、前記ユーザの前記コンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、および前記ユーザの前記コンピューティングシステムの入力装置との相互作用のうち、少なくとも一方を含む前記ユーザのアクティビティを検出することを含むことを特徴とする、請求項1に記載の方法。
  5. 前記コンピューティングシステム内で発生するイベントを監視すること、および
    前記監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成することをさらに含み、前記イベントが反復的性質を持つかどうかの判定は、前記イベントログの解析に基づいて行われることを特徴とする、請求項1に記載の方法。
  6. 前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの前記判定に基づいて、前記検出された脅威は誤検出として特徴付けられることを特徴とする、請求項1に記載の方法。
  7. コンピューティングシステム上の悪意あるプログラムを検出するためのシステムであって、
    ユーザ行動を入力する入力装置と、
    ハードウェアプロセッサと、
    を備え、
    前記ハードウェアプロセッサは、
    悪意あるプログラムと関連するアクティビティとマッチする、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードし、
    前記悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、前記検出された脅威を取り除く処置は実行しないことを含む、前記サイレント使用モードにおける前記悪意あるプログラムのパターンの使用を第1期間中に行うことによって、コンピューティングシステム上の前記脅威を検出し、
    前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの判定に対応して、前記検出されたイベントを以後の検出から除外する一つ以上のパラメータを前記悪意あるプログラムのパターンに追加し、
    前記第1期間の終了に対応して、前記悪意あるプログラムのパターンをアクティブ使用モードに切り替える
    ことを特徴とする、システム。
  8. 前記アクティブ使用モードにおいて前記悪意あるプログラムのパターンを使用する前記ハードウェアプロセッサは、さらに、前記コンピューティングシステム上の、前記悪意あるプログラムのパターンに対応する以後の脅威を検出して、それを取り除くための処置を実行することを特徴とする、請求項7に記載のシステム。
  9. 前記イベントは反復的性質を持つと判定する前記ハードウェアプロセッサは、さらに、前記イベントが、所与の第2期間以内にしきい値回数を超えて検出されたかどうかを判定することを特徴とする、請求項7に記載のシステム。
  10. 前記イベントはユーザの行動の結果として発生したと判定する前記ハードウェアプロセッサは、さらに、前記コンピューティングシステム上における、前記ユーザの前記コンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、および前記ユーザの前記コンピューティングシステムの前記入力装置との相互作用のうち、少なくとも一方を含む前記ユーザのアクティビティを検出することを特徴とする、請求項7に記載のシステム。
  11. 前記ハードウェアプロセッサは、さらに、
    前記コンピューティングシステム内で発生するイベントを監視し、
    前記監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成し、前記イベントが反復的性質を持つかどうかの判定は、前記イベントログの解析に基づいて行われることを特徴とする、請求項7に記載のシステム。
  12. 前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの前記判定に基づいて、前記検出された脅威は誤検出として特徴付けられることを特徴とする、請求項7に記載のシステム。
  13. コンピューティングシステム上の悪意あるプログラムを検出するためのコンピュータ実行可能な命令を含む非一時的なコンピュータ読み取り可能な媒体であって、
    悪意あるプログラムと関連するアクティビティとマッチする、サイレント使用モードで構成されたパターンである、悪意あるプログラムのパターンをロードし、
    前記悪意あるプログラムのパターンに対応する一つ以上のイベントの検出に基づいて脅威を検出するが、前記検出された脅威を取り除く処置は実行しないことを含む、前記サイレント使用モードにおける前記悪意あるプログラムのパターンの使用を第1期間中に行うことによって、コンピューティングシステム上の前記脅威を検出し、
    前記イベントはユーザの行動の結果として発生し、また前記イベントは反復的性質を持つとの判定に対応して、前記検出されたイベントを以後の検出から除外する一つ以上のパラメータを前記悪意あるプログラムのパターンに追加し、
    前記第1期間の終了に対応して、前記悪意あるプログラムのパターンをアクティブ使用モードに切り替える
    ための命令を含むことを特徴とする、非一時的なコンピュータ読み取り可能な媒体。
  14. 前記アクティブ使用モードにおいて前記悪意あるプログラムのパターンを使用するための命令は、前記コンピューティングシステム上の、前記悪意あるプログラムのパターンに対応する以後の脅威を検出して、それを取り除くための処置を実行するための命令を含むことを特徴とする、請求項13に記載の非一時的なコンピュータ読み取り可能な媒体。
  15. 前記イベントは反復的性質を持つと判定するための命令は、前記イベントが、所与の第2期間以内にしきい値回数を超えて検出されたかどうかを判定するための命令を含むことを特徴とする、請求項13に記載の非一時的なコンピュータ読み取り可能な媒体。
  16. 前記イベントはユーザ行動の結果として発生したと判定するための命令は、前記コンピューティングシステム上における、前記ユーザの前記コンピューティングシステムのグラフィカルユーザインターフェースの要素との相互作用、および前記ユーザの前記コンピューティングシステムの入力装置との相互作用のうち、少なくとも一方を含む前記ユーザのアクティビティを検出するための命令を含むことを特徴とする、請求項13に記載の非一時的なコンピュータ読み取り可能な媒体。
  17. 前記コンピューティングシステム内で発生するイベントを監視し、
    前記監視されたイベントおよび関連するイベントパラメータのリストを含むイベントログを生成するための命令をさらに含み、
    前記イベントが反復的性質を持つかどうかの判定は、前記イベントログの解析に基づいて行われることを特徴とする、請求項13に記載の非一時的なコンピュータ読み取り可能な媒体。
  18. 前記イベントはユーザ行動の結果として発生し、また前記イベントは反復的性質を持つとの前記判定に基づいて、前記検出された脅威は誤検出として特徴付けられることを特徴とする、請求項13に記載の非一時的なコンピュータ読み取り可能な媒体。
JP2018206539A 2018-06-18 2018-11-01 プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムおよび方法 Active JP6861196B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US16/011,033 2018-06-18
US16/011,033 US10839074B2 (en) 2017-10-19 2018-06-18 System and method of adapting patterns of dangerous behavior of programs to the computer systems of users

Publications (2)

Publication Number Publication Date
JP2019220132A true JP2019220132A (ja) 2019-12-26
JP6861196B2 JP6861196B2 (ja) 2021-04-21

Family

ID=69096692

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018206539A Active JP6861196B2 (ja) 2018-06-18 2018-11-01 プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムおよび方法

Country Status (1)

Country Link
JP (1) JP6861196B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7465237B2 (ja) 2020-06-26 2024-04-10 アクロニス・インターナショナル・ゲーエムベーハー アプリケーションにおける挙動の異常を検出するシステム、方法およびコンピュータ可読媒体

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211293A (ja) * 2008-03-03 2009-09-17 Nec Corp 通信制御システム、通信制御方法、及び通信制御用プログラム
JP2013065168A (ja) * 2011-09-16 2013-04-11 Kddi Corp アプリケーション解析装置およびプログラム
JP2014513834A (ja) * 2011-04-18 2014-06-05 ファイヤアイ インク マルウェア検出のための電子メッセージ分析
US20160366161A1 (en) * 2015-06-15 2016-12-15 Stealth Security, Inc. Passive security analysis with inline active security device
JP2017010258A (ja) * 2015-06-22 2017-01-12 富士通株式会社 不正操作監視装置、不正操作監視方法および不正操作監視システム
US9794287B1 (en) * 2016-10-31 2017-10-17 International Business Machines Corporation Implementing cloud based malware container protection

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009211293A (ja) * 2008-03-03 2009-09-17 Nec Corp 通信制御システム、通信制御方法、及び通信制御用プログラム
JP2014513834A (ja) * 2011-04-18 2014-06-05 ファイヤアイ インク マルウェア検出のための電子メッセージ分析
JP2013065168A (ja) * 2011-09-16 2013-04-11 Kddi Corp アプリケーション解析装置およびプログラム
US20160366161A1 (en) * 2015-06-15 2016-12-15 Stealth Security, Inc. Passive security analysis with inline active security device
JP2017010258A (ja) * 2015-06-22 2017-01-12 富士通株式会社 不正操作監視装置、不正操作監視方法および不正操作監視システム
US9794287B1 (en) * 2016-10-31 2017-10-17 International Business Machines Corporation Implementing cloud based malware container protection

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
安藤槙悟ほか: "通信の遷移に着目した不正ダイレクトの検出によるWebサイト検知システムの提案", 情報処理学会研究報告, JPN6020025727, 5 July 2011 (2011-07-05), JP, pages 205 - 210, ISSN: 0004307396 *
山内雅明ほか: "スマートホームIoTにおけるユーザ行動の学習に基づく異常検知手法", 信学技報, JPN6020025724, 7 December 2017 (2017-12-07), JP, pages 73 - 78, ISSN: 0004307395 *
酒井崇裕ほか: "侵入挙動の反復性を用いたボット検知方式", 情報処理学会論文誌, JPN6020025729, 15 September 2010 (2010-09-15), JP, pages 1591 - 1599, ISSN: 0004307397 *

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP7465237B2 (ja) 2020-06-26 2024-04-10 アクロニス・インターナショナル・ゲーエムベーハー アプリケーションにおける挙動の異常を検出するシステム、方法およびコンピュータ可読媒体

Also Published As

Publication number Publication date
JP6861196B2 (ja) 2021-04-21

Similar Documents

Publication Publication Date Title
US10984097B2 (en) Methods and apparatus for control and detection of malicious content using a sandbox environment
RU2571723C2 (ru) Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
EP3474174B1 (en) System and method of adapting patterns of dangerous behavior of programs to the computer systems of users
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
EP2169582B1 (en) Method and apparatus for determining software trustworthiness
US7895448B1 (en) Risk profiling
EP2515250A1 (en) System and method for detection of complex malware
US8561179B2 (en) Method for identifying undesirable features among computing nodes
WO2012022225A1 (zh) 一种基于云安全的主动防御方法
KR101086203B1 (ko) 악성 프로세스의 행위를 판단하여 사전에 차단하는 악성프로세스 사전차단 시스템 및 방법
US20170061126A1 (en) Process Launch, Monitoring and Execution Control
US20190147163A1 (en) Inferential exploit attempt detection
RU2531565C2 (ru) Система и способ анализа событий запуска файлов для определения рейтинга их безопасности
US11003772B2 (en) System and method for adapting patterns of malicious program behavior from groups of computer systems
JP6861196B2 (ja) プログラムの危険な挙動のパターンをユーザのコンピュータシステムに適応させるシステムおよび方法
WO2020027956A1 (en) Listen mode for application operation whitelisting mechanisms
KR101880689B1 (ko) 악성코드 진단장치 및 방법
RU2665909C1 (ru) Способ избирательного использования шаблонов опасного поведения программ
RU2652448C1 (ru) Система и способ адаптирования шаблонов опасного поведения программ к компьютерным системам пользователей
JP2005234849A (ja) 監視装置及び監視方法及びプログラム
JP2023177332A (ja) コンピュータ又はコンピュータネットワークにおける脅威検出の構成及び方法
CN117914582A (zh) 一种进程挖空攻击的检测方法、装置、设备及存储介质
CN113569239A (zh) 恶意软件分析方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200629

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20201012

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20210323

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210329

R150 Certificate of patent or registration of utility model

Ref document number: 6861196

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250