JP6341964B2 - 悪意のあるコンピュータシステムを検出するシステム及び方法 - Google Patents

悪意のあるコンピュータシステムを検出するシステム及び方法 Download PDF

Info

Publication number
JP6341964B2
JP6341964B2 JP2016178478A JP2016178478A JP6341964B2 JP 6341964 B2 JP6341964 B2 JP 6341964B2 JP 2016178478 A JP2016178478 A JP 2016178478A JP 2016178478 A JP2016178478 A JP 2016178478A JP 6341964 B2 JP6341964 B2 JP 6341964B2
Authority
JP
Japan
Prior art keywords
computer system
computer
state
malicious
relationship
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.)
Active
Application number
JP2016178478A
Other languages
English (en)
Other versions
JP2017220195A (ja
Inventor
イー. アントノフ アレクセイ
イー. アントノフ アレクセイ
エム. ロマネンコ アレクセイ
エム. ロマネンコ アレクセイ
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
Application filed by Kaspersky Lab AO filed Critical Kaspersky Lab AO
Publication of JP2017220195A publication Critical patent/JP2017220195A/ja
Application granted granted Critical
Publication of JP6341964B2 publication Critical patent/JP6341964B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/552Detecting local intrusion or implementing counter-measures involving long-term monitoring or reporting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/566Dynamic detection, i.e. detection performed at run-time, e.g. emulation, suspicious activities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/554Detecting local intrusion or implementing counter-measures involving event detection and direct action
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Description

本出願は、米国特許法第119条(a)〜(d)(35USC 119(a)−(d))下の優先権の利益を主張する。2016年6月2日に出願されたロシア特許出願2016121877号は、本明細書中に参照として援用されるものとする。
本開示は、概してアンチウイルステクノロジーに関し、特に悪意のあるコンピュータシステムを検出するシステム及び方法に関する。
過去10年間のコンピュータテクノロジーの急速な発展と、様々なコンピューティングデバイス(パーソナルコンピュータ、ノートブック、タブレット、スマートフォンなど)の普及は、これらのデバイスを様々な分野で使用する大きなインセンティブとなっており、膨大な数の問題(インターネットサーフィンから銀行振込や電子文書の流通まで)を解決することができる。コンピュータデバイスの数の成長と並行して、これらのデバイス上で動作しているソフトウェアも、悪意のあるプログラムの数も急速に増加してきている。
現在、膨大な種類の悪意のあるプログラムが存在している。それらの内のいくつかは、ユーザーデバイスから個人情報及び機密データ(ログイン、パスワード、銀行情報、電子文書等)を盗むものである。他は、ユーザーデバイスをサービス拒否攻撃(DDOS)などの攻撃のボットネットにしたり、ブルートフォース方式を使用して他のコンピュータ又はコンピュータネットワーク上でパスワードをソートすることもできる。更に、侵入型広告、有料購読、有料電話番号へのSMSの送信等を通じて有料コンテンツをユーザに提案している。
特殊プログラム又はアンチウィルスアプリケーションは、悪意のあるプログラムを処理する(すなわち、悪意のあるプログラムを検出し、感染を防止し、悪意のあるプログラムに感染したコンピュータシステムを感染から回復させ、復元する)ために使用される。アンチウィルスプログラムは、以下のような悪意のあるプログラムのすべてを検出するために、様々な技術を採用している。
・署名分析−分析対象のプログラムの特定のコードセクションと、悪意のあるプログラムの署名データベースからの既知のコード(署名)との対応関係を検索する。
・ヒューリスティック分析−分析対象のプログラムの作業をエミュレートし、エミュレーションログ(API呼び出し、送信されたパラメータ、分析対象のプログラムのコードセクション等のデータを含む)を作成し、悪意のあるプログラムのエミュレーションデータベースからのデータを用いて作成されたログからのデータとの対応関係を検索する。
・ホワイトリスト及びブラックリスト-悪意のあるプログラム(ブラックリスト)のチェックサムのデータベース又は決定プログラム(ホワイトリスト)のチェックサムのデータベースにおいて分析対象のプログラム(又はその一部)の計算されたチェックサムを検索する。
・事前保護−分析対象のプログラムであってシステム内で実行されているプログラムのアプリケーションプログラミングインターフェイス(API)関数呼び出しをインターセプトし、分析対象のプログラム(API呼び出し、送信されたパラメータ、分析対象のプログラムのコードセクション等のデータを含む)のログを作成し、その作成されたログからのデータと、悪意のあるプログラムの呼び出しデータベースからのデータとの対応関係を検索する。
これらのアンチウイルスアプリケーションに対応して、悪意のあるプログラムは、以下のようなアンチウイルスプログラムによって感染したコンピュータシステム上のそれらの存在を検出するのを妨げるメソッドをますます利用している。
・署名分析を無効にするコードの難読化-元のテキスト(JavaScriptスクリプトなど)又はプログラムの実行可能コードを機能を保持する形に変換するが、解析、動作アルゴリズムの理解、及び逆コンパイル中の変更を妨げる。
・ヒューリスティック分析を無効にする動作の複雑化-プログラムのI/O作業結果に影響を与えず、しかもアンチウイルスプログラムによるエミュレーションを妨げる、多数のAPI関数呼び出し又は操作の使用。
・事前保護を無効にする外国のプログラムの動作の追跡-オペレーティングシステムにおける外国のプログラムの動作の絶え間ない追跡、アンチウイルスプログラムの検索、及びそれらに対する反作用(例えば、分析のための自己コードの隠蔽又は置換)。
コード生成器(ハッカーによって指定された機能を持つ悪意のあるプログラムを自動的に作成できる構築プログラム)、難読化プログラム(プログラムの実行可能コードを変更してその機能を変更せずに分析を複雑にするプログラム)、パッカー(プログラムに埋め込まれたプログラムモジュール、プログラムの実行可能コードを暗号化し、プログラムが起動するときに解読する)などの様々なリソースを利用することで、ハッカーは、多数の新しいバージョンのアンチウイルスによっては検出できない悪意のあるプログラムを素早く簡単に作成し、伝播することができる。
したがって、アンチウイルスがインストールされていても、ユーザのコンピュータにインストールされているすべてのアプリケーションの動作や構造を追跡するアンチウィルスが、悪意のあるアプリケーションの新しい変更や新種を検出しない可能性があるため、ユーザのコンピュータはウイルスに感染する可能性がある。悪意のあるプログラムは、ユーザのコンピュータ上に自身の存在を隠そうとする一方、悪意のあるプログラムを実行し続け、たとえ隠していてもコンピュータ上に存在し、トレースを残す。残されたトレースと、個々のアプリケーション及びコンピュータシステム全体の不規則な挙動によって、悪意のあるアプリケーションを識別する可能性がある。
選択されたコンピュータシステム(大企業の内部ネットワーク、企業のデータベース、バンキングやパスポートデータなどの集中管理された方法で保存された膨大な数の個人データ)を攻撃する技術である、ターゲットとされたサイバー攻撃(Advanced Persistent Threats、APT)の実行にあたり、ハッカーは、現代レベルの専門知識と豊富なリソースを持っていなければならず、さまざまな攻撃方法(情報、身体、欺瞞など)によって目標を達成する方法を作り出す必要がある。これらの目標は、通常、ターゲット組織のコンピュータテクノロジーインフラ内にその存在をインストールして伝播させ、情報の抽出、混乱、又は、提供されるタスク、プログラム、若しくはサービスの重要な側面への干渉を創り出す意図を達成すること、又は、将来これらの意図が実行されることを可能にする立場を取ること、を含んでいる。「先進的な持続的脅威」などのサイバー攻撃は、長時間にわたって目標を2回以上達成し、防御側が脅威への抵抗を示す努力に適応し、そうした意図を達成するために必要なレベルのターゲットインフラへの浸透度を維持することを狙いとしている。
例えば、企業の作業を妨害したり、情報システムの作業の効率を低下させたり、システムを完全に停止したりするためには、ハッカーは、そのコンピュータシステムの仕組み、使用しているハードウェア、防衛手段が使用されているハードウェア、及びそれらが所有する強みと弱みは何かを知らなければならない。そのような情報を準備することにより、ハッカーは、攻撃されているコンピュータシステム上で実行されているアンチウイルスアプリケーションには見えない悪意のあるプログラムを作成し、作成された悪意のあるプログラムであって、導入しても何ら痕跡を残さないプログラムを導入する方法を採用し得る。
そのような標的とされたサイバー攻撃を検出する基本的な原則は、保護されたコンピュータシステム上で実行される悪意のある活動の検出を含み得る。
既知の技術は、既知の悪意のあるアプリケーション(構造と動作の両方に関して)及び新しい悪意のあるアプリケーションを検出するタスクを既知の動作により処理することができる。これら既知の技術は、自分自身を覆い隠し、決して明示されないアプリケーションであって、既知の防御手段を無効にするよう設計されているアプリケーションを検出するタスクを適切に処理することができない。
したがって、悪意のあるコンピュータシステム、すなわち、悪意のある活動が、その悪意のある活動源が隠されたままであっても行われており、その悪意のあるアプリケーションそれ自体が既知の防御手段に対する有効な対策を提示するシステムを検出する問題を解決する必要がある。
本発明によれば、悪意のあるコンピュータシステムを検出するためのコンピュータ実装方法であって、収集工程と、決定工程と、判定工程と、確定工程と、分析工程とを備え、前記収集工程では、プロセッサにより前記コンピュータシステムの特性を収集し、前記決定工程では、収集した前記コンピュータシステムの特性間の関係を決定し、前記判定工程では、決定された関係に基いてコンピュータシステムの少なくとも1つの状態の時間依存性を判定し、前記確定工程では、判定された時間依存性に少なくとも基いて前記コンピュータシステムの前記少なくとも1つの状態を確定し、前記分析工程では、正当な又は悪意のあるコンピュータシステムを表す選択されたパターンに関連して、前記コンピュータシステムの前記少なくとも1つの状態をプロセッサにより分析して、コンピュータシステムの有害度を判定する、コンピュータ実装方法、が提供される。
好ましくは、前記収集工程は、前記コンピュータシステムのコンピューティングリソースの特性、前記コンピュータシステム上で動作するソフトウェアの特性、及び前記コンピュータシステム上で処理されるデータの特性のうちの少なくとも1つの特性を収集することを備える、請求項1に記載のコンピュータ実装方法、が提供される。
好ましくは、前記コンピュータシステムのコンピューティングリソースの特性は、前記コンピュータシステムのメインメモリの特性、前記コンピュータシステムの性能、及び前記コンピュータシステムが関連付けられているネットワーク環境の特性のうちの少なくとも1つを含む、請求項2に記載のコンピュータ実装方法、が提供される。
好ましくは、前記ソフトウェアの特性は、前記コンピュータシステム内で動作する1つ以上のアプリケーションの識別子、前記1つ以上のアプリケーションに関連するファイルの特性、前記1つ以上のアプリケーションの設定ファイルからの記録、及び前記1つ以上のアプリケーション間の関係のうちの少なくとも1つを含む、請求項2に記載のコンピュータ実装方法、が提供される。
好ましくは、前記コンピュータシステム上で処理されるデータの特性は、前記データ送信側及び受信側の識別子、前記データ種類、及びデータ送信方法のうちの少なくとも1つを含む、請求項2に記載のコンピュータ実装方法、が提供される。
好ましくは、関係は、第2特性の値が変化したときの第1特性の値の変化の関数として構成され、前記決定工程は、収集された特性の値を表す多次元空間を使用する工程、及び選択された特性の多次元空間における投影に少なくとも基いて前記コンピュータシステムの前記少なくとも1つの状態を決定する工程を備える、請求項1に記載のコンピュータ実装方法、が提供される。
好ましくは、前記判定工程は、時間の関数として前記コンピュータシステムの前記少なくとも1つの状態を記述する特性の値の変更のための規則を決定する工程を備える、請求項6に記載のコンピュータ実装方法、が提供される。
好ましくは、前記確定工程は、前記判定された時間依存性の分析及び特性の値の変更に従って、前記コンピュータシステムの非標準的な挙動を識別する工程を備える、請求項7に記載のコンピュータ実装方法、が提供される。
好ましくは、前記正当な又は悪意のあるコンピュータシステムを表す選択されたパターンは、パターンの少なくとも1つのデータベースから検索されるように構成され、各パターンは、前記コンピュータシステム特性の変更のために以前にトリガされた規則に対応する、請求項1に記載のコンピュータ実装方法、が提供される。
好ましくは、コンピュータシステムが正当であるか又は悪意のあるものであるかどうかを判定するために、コンピュータシステムの有害度と、選択された閾値とを比較する評価工程をさらに備える、請求項1に記載のコンピュータ実装方法、が提供される。
本発明の別の側面によれば、
悪意のあるコンピュータシステムを検出するためのシステムであって、少なくとも1つのハードウェアプロセッサを備え、前記ハードウェアプロセッサは、以下(1)〜(5)を行うように構成される、システム、が提供される。
(1)コンピュータシステムの特性を収集する。
(2)収集された前記コンピュータシステムの特性間の関係を決定する。
(3)決定された関係に基づいて前記コンピュータシステムの少なくとも1つの状態の時間依存性を判定する。
(4)少なくとも決定された時間依存性に基づいて前記コンピュータシステムの前記少なくとも1つの状態を確定する。
(5)正当な又は悪意のあるコンピュータシステムを表す選択されたパターンに関連して前記コンピュータシステムの前記少なくとも1つの状態を分析して、コンピュータシステムの有害度を判定する。
本発明の別の側面によれば、
悪意のあるコンピュータシステムを検出するためのコンピュータ実行可能命令を格納する不揮発性コンピュータ可読メディアであって、次に示す(1)から(5)の命令を含む、不揮発性コンピュータメディア、が提供される。
(1)コンピュータシステムの特性を収集する。
(2)前記コンピュータシステムの収集された特性間の関係を決定する。
(3)決定された関係に基いて前記コンピュータシステムの少なくとも1つの状態の時間依存性を判定する。
(4)判定された時間依存性に少なくとも基いて前記コンピュータシステムの前記少なくとも1つの状態を確定する。
(5)正当な又は悪意のあるコンピュータシステムを表す選択されたパターンに関連して前記コンピュータシステムの前記少なくとも1つの状態を分析して、前記コンピュータシステムの有害度を判定する。
添付の図面は、本明細書の一部として組み入れられ、この指定の一部を構成し、発明の詳細な説明とともに本発明の1つ又は複数の例面を説明し、それらの原理と実施を説明するのに役立ち得るものである。
図1は、本発明の態様による悪意のあるコンピュータシステムの検出のためのシステムの構造図を提示する。 図2は、本発明の態様による悪意のあるコンピュータシステムを検出する方法の構造図を示す。 図3は、本発明の態様を実施するためのコンピュータシステム、パーソナルコンピュータ又はサーバの一例を示す。
例示する実施形態は以下、システム、方法、及び悪意のあるコンピュータシステムを検出するコンピュータプログラム製品として説明される。当業者であれば、以下の記載はあくまでも例示であり、あらゆる制限をも意図するものではないことは当然に意味するところである。本発明が利益となる分野の当業者であれば、別例をも容易に示唆されることであろう。添付の図面ではその詳細を示すための参照符号が付されている。図面と以下の記載において、同一の又はそれに相当するものについては、同一の参照符号を用いるものとする。
本発明のさまざまな側面を説明するために、以下のようにいくつかの定義と概念が導入される。
悪意のあるアプリケーション(マルウェア、悪意のあるソフトウエア)には、コンピュータシステムのリソースを不正に使用したり、情報の所有者及び/又はコンピュータシステムの所有者に情報のコピー、歪み、削除、又は置換によって害を及ぼす(損害を与える)ことを目的として、コンピュータシステムのコンピューティングリソースやコンピュータシステムに保存されている情報に不正アクセスするように設計されたソフトウェアが含まれることがある。
悪意のある行為には、悪意のあるアプリケーションが実行中に実行される行為が含まれることがある。
悪意のあるコンピュータシステムには、悪意のある行為が行われているコンピュータシステムが含まれることがある。
正当なコンピュータシステムには、悪意のある行為が行われていないコンピュータシステムが含まれることがある。
コンピュータシステムの特性は、コンピュータシステムによって実行される動作の1つを決定するコンピュータシステムの様々な特性の集合を含むことができる。
例えば、本発明の態様によれば、コンピュータシステムの特性は、コンピュータシステムの動作速度を含んでもよく、コンピュータシステムが所定の動作を実行するために費やす時間を意味する。コンピュータシステムの動作速度は、少なくとも以下の特性のセットを含んでもよい。
・中央処理装置の性能(1秒あたりの動作数で測定)。
・メインメモリとのデータ交換速度(バイト/秒で測定)。
・外部記憶媒体とのデータ交換速度(バイト/秒で測定)。
特性の値は、リファレンスのコンピュータシステムの動作速度に対して標準化された無次元量である。
コンピュータシステムの別の特性は、コンピュータシステムにおいて同時に動作するアプリケーション数であってもよい。前の例とは異なり、この特性は、コンピュータシステムの1つのプロパティ、すなわち利用可能なメインメモリ(バイト単位で測定)によってのみ記述されてもよい。
コンピュータシステムの状態は、コンピュータシステムの利用可能なコンピューティングリソースの関数として、及び所定のデータセットに対して、コンピュータシステム上で実行中のアプリケーションの動作を記述できるコンピュータシステムの特性のセットを含んでもよい。
コンピュータシステム状態のパターンは、コンピュータシステム上で実行中のアプリケーションの動作のセットを記述するのに十分な既知のコンピュータシステムの特性の一部の予め準備されたセットを含んでもよい。
図1は、本発明の態様による悪意のあるコンピュータシステムの検出のためのシステムの構造図を示す。図示されているように、システムは、とりわけ、特性収集モジュール101、関係空間構築モジュール102、識別モジュール103、分析モジュール104、関係記憶装置111、及びパターン記憶装置112を含んでもよい。
1つの例示的な態様では、特性収集モジュール101は、以下をするように構成されてもよい。
・コンピュータシステムの特性を収集する。
・関係空間構築モジュール102に、収集した特性を送信する。
コンピュータシステムの特性は、以下を含んでもよいが、それらに限定されるものではない。
・コンピュータシステムのコンピューティングリソースの特性。
・コンピュータシステム上で実行されているソフトウェアの特性。
・コンピュータシステム上で処理されるデータの特性。
コンピュータシステムのコンピューティングリソースの特性は、以下を含んでもよいが、それらに限定されるものではない。
・コンピュータシステムのメインメモリ。
・コンピュータシステムの性能。
・ネットワーク環境の特性。
コンピュータシステム上で実行されているソフトウェアの特性は、以下を含んでもよいが、それらに限定されるものではない。
・コンピュータシステム内で実行されているアプリケーションの識別子だけでなく、識別されたアプリケーションに関連付けられたファイル(名前、実行可能ファイルへの完全パス、又は実行可能ファイルのチェックサム等)。
・コンピュータシステムで実行されているアプリケーションの設定ファイルからの記録(レジストリ内のエントリ、又はiniファイルのエントリ等)。
・どのアプリケーションがデータをやりとりするかを特徴付けるアプリケーション間の関係。
コンピュータシステム上で処理されるデータの特性は、以下を含んでもよいが、それらに限定されるものではない。
・データの送信側と受信側の識別子(例えば、データ交換が行われているアプリケーションの名前)。
・データ種類(例えば、データベースファイル、イメージ等)。
・データ転送方法(例えば、コンピュータネットワークによって送信されるデータ、又はプロセス間通信方法を使用してあるアプリケーションから別のアプリケーションに送信されるデータ)。
例えば、本発明の態様によれば、銀行の従業員は、クライアントパーソナルデータが格納されたデータベースを扱うためにパーソナルコンピュータを使用することができる。パーソナルコンピュータには、オペレーティングシステム「Windows10」、データベース「SQLServerManagementStudio」、ブラウザ「インターネットエッジ」、アプリケーションパッケージ「MicrosoftOffice」、及び様々なディベロッパーからの追加ユーティリティのセットがインストールされていてもよい。特性収集モジュール101は、以下の特性を収集するように構成することができる。
・ユーザのコンピュータシステムの様々なコンピューティングリソースの特性:
−利用可能なメインメモリの容量(例えば、8GB)。
−ローカル及びネットワークディスクの容量(例えば、ディスクドライブC:120GB、D:500GB、Z:10TB)。
−コンピュータシステムのCPUの性能(例えば、10GFLOP)。
−コンピュータネットワークのスループット(例えば、100Mbit/s)。
・ユーザのコンピュータシステム上で動作するソフトウェアの特性(「インターネットエッジ」の例):
−アプリケーションのインストールパス(例えば、C:\Program Files\Internet Edge\edge.exe, など)。
−インストール済みアプリケーションの開始頻度及び動作時間(例えば、セッション30回:8:30:17から8:34:05,8:46:56から9:01:30など)。
−実行されたインストール済みアプリケーションの機能の統計情報(例えば、WriteFile:13757、ReadFile:76446、CreateSocket:5561など)。
−インストール済みアプリケーションによるコンピュータシステムのコンピューティングリソースの使用統計。これらに限定されるものではないが、例えば以下のデータ。
*使用されたメインメモリの容量(例えば、1034MB)。
*コンピュータシステムのCPUの作業負荷レベル(例えば、7.56%)。
*データ交換が行われているネットワークアドレス(例えば、192.168.17.1、192.168.34.56など)。
*記憶媒体から読み込まれるデータ量又は記憶媒体に書き込まれるデータ量(例えば、データ入力:5641MB、データ出力:675MB)。
・ネットワーク環境の特性:
−データ交換が行われているネットワークアドレス(例えば、192.168.17.1、192.168.34.56など)。
−ネットワーク・アドレスでのデータ交換の速度(例えば、192.168.17.1:30MB/s、192.168.34.56:15MB/s)。
・ユーザーアクティビティ:
−どのアプリケーションがユーザによって起動されたか(例えば、SQLServerManagementStudio)。
−インストール済みアプリケーションのグラフィックインターフェースのどの要素が使用されたか(例えば、ダイアログ:ID=12145、ボタン:ID=17、87)。
例えば、特性収集モジュール101は、任意の所与の瞬間に、コンピュータシステムの現在の状態を一意的に定義するか、又は示す特性を収集することができる。すなわち、モジュール101は、インストール済みのすべてのアプリケーション、これらのアプリケーションに関連付けられたファイル、及びこれらのアプリケーションの動作中に発生したプロセスもまた決定し得る。。
関係空間構築モジュール102は、以下をするように構成してもよい。
・コンピュータシステムの得られた特性の間の関係を決定する。(ここで、関係は、別の特性の値の変更に対応するある特性の値の変更の関数であってもよい。)
・少なくとも決定された関係の分析に基づいて、コンピュータシステムの状態の時間依存性を判定する。(ここで、コンピュータシステムの状態は、判定された関係のセットによって特徴付けられてもよく、コンピュータシステムの状態の時間依存性は、時間の関数として、コンピュータシステムの状態を記述する特性の値の変化を記述する規則を含む。)
・判定されたコンピュータシステムの状態の時間依存性を識別モジュール103に送信する。
コンピュータシステムの状態の時間依存性を判定する際に得られたコンピュータシステムの特性であって、以前に判定された特性の間の関係の分析は、以下の工程を含んでもよいが、それらに限定されるものではない。
・時間依存性が既定されている他の特性に対するこの特性の既知の依存性を使用することによって、コンピュータシステムの状態の記述に含まれる1つの特性の値の変化の時間依存性を特定する工程。
・特定された上記特性の値の時間依存性に従って、上記特性の値の変化に対する規則を作成する工程。
判定された関係は、関係記憶装置111から得られた関係で補足されてもよく、また、判定された関係は、(例えば、コンピュータシステムの状態が変化したときの)次の関係の判定の際に用いるために、関係記憶装置111に保持されてもよい。
例えば、正当なコンピュータシステムの関係を上記のように保存し、それらを悪意のあるコンピュータシステムの関係と比較してもよい。
モジュール101によって収集されたすべての特性の値は、各次元が1つの特性を表す多次元空間の点の形態で表されてもよい。そのような場合のこれらの点の集合は、ある面を定義することができる。1つ以上の特性を選択することによって、選択された特性の空間内の投影をその表面から得ることができる。そのような投影がコンピュータシステム全体の状態を特徴付けることができる場合、得られた投影は、選択された特性に従ってシステムの状態の変化を特徴付けることができる。
例えば、選択された特性は、以下を含んでもよいが、それらに限定されるものではない。a)メインメモリの容量。
b)コンピュータシステムにおけるアプリケーションの動作開始の順序。
b)に従って起動された各アプリケーションは、a)の一定量のメインメモリを利用することができ、その結果、利用可能なメインメモリの容量は、新しいアプリケーションが起動されるたびに減少する。コンピュータシステム内で実行されているアプリケーション数に依存して、利用可能なメインメモリの容量の2次元関数を構築するために、以下のような特徴的な減少関数を得ることができる。

ここで、Mは、利用可能なメインメモリの容量であり、Nは、コンピュータシステム内で実行されているアプリケーションの数であり、
は、コンピュータシステム内で実行されているアプリケーションの平均数であり、コンピュータシステムがその機能を果たすことができる。得られた機能は、コンピュータシステムが変更されていない場合(例えば、新しいアプリケーションがインストールされていない場合)、又はコンピュータシステムがわずかに変更された場合(アプリケーションがインストールされたが、頻繁には使用されていないか、又はコンピュータシステムの動作にほとんど影響を与えない場合)にはほとんど変化しない可能性がある。
収集される各特性は、コンピュータシステムの動作時間に依存するいくつかの値を有しうる。このように判定された特性間の関係は、時間とともに変化する可能性がある。
例えば、メインメモリの容量は、画像処理又はパスワード推測アプリケーションがコンピュータシステム上で起動されるまで、コンピュータシステムのプロセッサによって実行される動作の数に全く依存しないことがある。しかし、そのようなアプリケーションの起動後には、プロセッサによって実行されている動作の数のメインメモリ容量への依存性が、以下の式で表されるように、逆となりうる。

ここで、Nは、実行されている動作の数を示す。
本発明の1つの例示的な態様によれば、時間依存性の分析は、悪意のあるソフトウェアがシステム内で実行されていることを示すコンピュータシステムの非標準的な動作を識別することができる可能性がある。例えば、特定の瞬間に先立つメインメモリ容量の変化は、(例えば、メインメモリの大容量が、実行中のアプリケーションの要求に応じてオペレーティングシステムによってめったに割り当てられないか又は開放されるかといった)低周期発振によって特徴付けられうるが、その後、これらの発振は、(例えば、メインメモリの小容量が、実行中のアプリケーションの要求に応じてオペレーティングシステムによって割り当てられたり開放されたりするといった)高周期発振となった。これは、メモリによってわずかな数の動作を実行するコンピュータシステムにおいてアプリケーションが実行を開始した後、その結果を他のアプリケーション又は別のアプリケーションに送信して、その結果をハードディスクに保存することを示すことができるが、これは正当なアプリケーションに特有の動作ではない。しかし、そのような動作は、特定の種類の悪意のあるアプリケーション(いわゆるトロイの木馬−ユーザーのコンピュータから機密データを収集する悪意のあるプログラム)とは区別される可能性がある。
例示的な一態様では、識別モジュール103は、以下をするように構成してもよい。
・コンピュータシステムの状態の取得された時間依存性の分析に少なくとも基づいて、コンピュータシステムの状態を判定する。
・コンピュータシステムの以下(1)、(2)の状態を表しうるパターンをパターン記憶装置112から選択する。
(1)正当なコンピュータシステムの状態。
(2)悪意のあるコンピュータシステムの状態。
・コンピュータシステムの判定された状態と選択されたパターンとを比較する。
・比較結果を分析モジュール104に送信する。
コンピュータシステムの状態は、以下により判定されてもよい。
・コンピュータシステムの変更のための以下(1)〜(3)の規則のいくつかをトリガする際の状態。
(1)アプリケーションの実行開始。
(2)アプリケーションの実行終了。
(3)以前に選択されたAPI関数の呼び出し。
・定期的に、定められた時点での状態。
例示的な一態様では、パターン記憶装置112は、コンピュータシステムの以前に選択された動作を特徴付けるコンピュータシステムの状態を含むコンピュータシステムの状態のパターンを保存することができる。
例えば、コンピュータシステムの状態のパターンは、アプリケーションのネットワーク動作を定義する特性のみを含んでもよく、コンピュータシステムの状態は、コンピュータネットワークにおいてデータを交換するときのコンピュータシステムの動作のみを特徴付けてもよい。
コンピュータシステムの状態のパターンは、コンピュータシステムの変更に起因して以前にトリガされた規則に依存してパターン記憶装置112から選択されてもよい。
例えば、アプリケーションがコンピュータシステム内で実行開始した場合、オペレーティングシステムにおけるアプリケーションの初期化を指定する特性を含むコンピュータシステムの状態のパターンが選択されうる。
コンピュータシステムの状態の比較の結果は、0(コンピュータシステムのこれらの特性の値が両方の状態で等しいとき、コンピュータシステムの両方の状態がコンピュータシステムの同一の特性のセットである場合)〜1(コンピュータシステムの第1状態が、コンピュータシステムの第2状態を含む特性と異なるコンピュータシステムの特性のセットである場合)の数値であってもよい。
例えば、コンピュータシステムの各状態は、コンピュータシステムの特性であり、コンピュータシステムの状態を特定するコンポーネントを含む多次元ベクトルとして表されてもよい。この場合、コンピュータシステムの2つの状態の比較は、各々がコンピュータシステムの状態の1つを表すことができる2つの多次元ベクトルのスカラー積を計算する工程を備えてもよく、この比較の結果は、1つのベクトルが他のベクトルとどれだけ異なるかを示す数(0は、コンピュータシステムの状態は同一であることを示し、±πは、コンピュータシステムの状態は最大限に異なることを示す。)であってもよい。
分析手段104は、以下をするように構成されてもよい。
・コンピュータシステムの状態と選択されたパターンとを比較して得られた結果の分析に少なくとも基づいて、コンピュータシステムの有害度を判定する。
・コンピュータシステムの有害度と選択された閾値とを比較した結果に基づいて、コンピュータシステムを悪意のあるものとして認識する判定を宣言する。
コンピュータシステムの有害度は、コンピュータシステムの状態の比較の結果として得られる以下によって特徴付けられる数値であってもよい。
・以前に判定された正当なコンピュータシステムとの差異度。
・以前に判定された悪意のあるコンピュータシステムとの類似度。
例えば、コンピュータシステムの特定の状態と、新しいソフトウェアがインストールされている正当なコンピュータシステムの以前に特定された状態との比較の結果、(高い確率でコンピュータシステムは正当である)0.01の有害度が計算されたが、一方で、悪意のあるアプリケーションが実行されている悪意のあるコンピュータシステムの以前に特定された状態と比較の結果、被害を受けたコンピュータのリモートコントロール(バックドア)に(高い有害性を示すが、コンピュータシステムを悪意のあるものと判定するには十分ではない)0.5の有害度をもたらすことが計算され、コンピュータシステム上でソフトウェアインストールが行われているという事実と共に0.9の有害度をもたらし、これは、分析されているコンピュータシステムが悪意があるものと判定される可能性があることを意味する。
関係記憶装置111は、以下をするように構成されてもよい。
・特性収集モジュール101によって収集されたコンピュータシステムの特性間の関係の格納する。
・関係空間構築モジュール102に、収集された関係を提供する。
パターン記憶装置112は、以下をするように構成されてもよい。
・以下(1)、(2)に示す以前に判定されたパターンを格納する。
(1)正当なコンピュータシステムの状態。
(2)悪意のあるコンピュータシステムの状態。
・識別モジュール103にパターンを提供する。
パターンは、以下のものを含んでもよい。
・選択されたセキュリティポリシー(例えば、コンピュータシステム上で何が、どのように行われることが許可されているか)に基づいてコンピュータシステムの状態から事前に選択されているパターン。
・ユーザーのコンピュータのアンチウイルススキャン結果(悪意のあるアプリケーションに感染していると認識されたコンピュータから、悪意のあるコンピュータシステムの状態を取得し、正当であると認められたコンピュータから、正当なコンピュータシステムの状態を取得する)に基づいて、ユーザーのコンピュータシステムの状態から事前に選択されているパターン。
・分析されるコンピュータシステムの以前に得られた状態(例えば、長い間コンピュータシステムに変更が加えられていない場合、又は変更が無視できる程度である場合)として事前に判定されるパターン。
1つの例示的な態様では、悪意のあるコンピュータシステムの検出は、ユーザ#1が長時間、MicrosoftWord文書を処理する作業をしたコンピュータシステムの分析に基づいてもよく、一方、所与の時点でユーザ#2(ハッカー)は、悪意のあるサイトを訪問したり、個人のユーザーデータを盗むように設計された悪意のあるアプリケーションをダウンロードして実行したりするなど、コンピュータシステム上でリモートで作業を開始している。
当初、コンピュータシステムは正当であった、すなわち、悪意のある行為は行われていなかった。MicrosoftWord文書を有するコンピュータシステムにおけるユーザ#1の作業中に、使用されるメインメモリの容量、コンピュータシステム上のユーザの動作に依存するCPUの作業負荷のレベル、ネットワーク接続のプロパティ、データが交換されるネットワークアドレス、コンピュータネットワークを介して送信されるデータの特性(容量、種類、構造など)などの、コンピュータシステムの特性の標準的な集合が存在し得る。これらの収集されたコンピュータシステムの特性から、ユーザ#1によって実行される動作、すなわちMicrosoftWord文書の処理に関連する特性(値の変更(MicrosoftWordによってネットワークディスクに転送されるデータ量、ユーザーがアクセスしたネットワークアドレス、ユーザーがダウンロードしたMicrosoftWord文書等)がMicrosoftWordの動作を特定する特性の値の変更に依存する特性など)をMicrosoftWordアプリケーション自体の動作によって記述する特性(例えば、MicrosoftWordの更新プログラムがダウンロードされたネットワークアドレス)が選択された。時間の経過とともに、正当なコンピュータシステムの状態は、コンピュータシステムの選択された特性のセットからなる収集されたデータに基づいて判定された。
所与の時点で得られた選択された特性のすべての値は、多次元空間に位置する点のセットとして表されてもよく、上記のように選択された各特性は、その空間の次元の1つを含み得る。この点のセットは、コンピュータシステムの正当な状態の1つを特徴付ける複数の点を有する空間の領域(「コンピュータシステムの正当な状態の領域」と呼ぶことができよう)を包含する閉鎖面(「コンピュータシステム状態の面」と呼ぶことができよう)を形成し得る。すなわち、これは、ユーザ#1の動作中に得られたコンピュータシステムの状態であり、一方、上記表面によって包含される領域外の点は、ユーザ#1によって実行されるものとは異なる動作を有するコンピュータシステムの状態を含むことができる。コンピュータシステム内のユーザ#1の任意の動作は、選択された特性の値を変更する可能性があり、結果として「コンピュータシステムの状態表面」に反映され得る。結果として、コンピュータシステムの過去の状態は、「コンピュータシステムの状態表面」#t1.1によって取得及び記述される得るし、コンピュータシステムの新しい状態は、「コンピュータシステムの状態表面」#t1.2によって取得及び記述され得る。1つの例示的な態様において、「コンピュータシステムの状態表面」#t2と「正当なコンピュータシステムの状態表面」t1との差異の程度は、時刻t1.2の時点におけるコンピュータシステムの有害度を特徴付けることができる。
あるいは、ユーザ#1がコンピュータシステムで作業していた際に、コンピュータシステムの状態と正当なコンピュータシステムの状態のパターンとの比較の結果は、コンピュータシステムに0.05の有害度をもたらすとすることがあり、悪意のあるコンピュータシステムの状態のパターンとの比較は、コンピュータシステムに0.01の有害度をもたらすとすることがある。したがって、ユーザ#1が作業していたコンピュータシステムは、正当であると判定される可能性がある。
ユーザー#2がコンピュータシステムで作業していた場合、悪意のあるサイトに定期的にアクセスし、それらのサイトから悪意のあるアプリケーションをダウンロードして実行する可能性がある。ユーザーの行動の変化はコンピュータシステムの挙動にも反映される可能性がある。なぜなら、遠隔地にあるファイルでの作業のために追加機能(例えば、ブラウザの起動、悪意のあるサイトへの侵入など)が使用され始めたからである。ある時点で、悪意のあるアプリケーションは、ネットワークアドレスの1つからコンピュータシステムにダウンロードされ、インストールされ、起動され、個人データを収集し、コンピュータネットワークを介して送信する可能性がある。このような動作は、コンピュータシステムの多くの特性の値の変更をもたらし、動作後のコンピュータシステムの状態に強く反映され得る。全ての特性の値が多次元空間の点を形成して表され、上記のようにコンピュータシステムの特性である場合、前述の悪意のあるアプリケーションがコンピュータシステムで動作していた時点での点から形成された表面(コンピュータシステムの現在の状態表面)は、コンピュータシステムが正当な状態であった時点での点から形成された表面(コンピュータシステムの正当な状態表面)とは著しく異なっていた。この差異は、「コンピュータシステムの正当な状態の領域」及び「コンピュータシステムの現在の状態の領域」が、それらの全領域と比較して小さな領域の共通領域を有するという事実に反映され得る。
コンピュータシステムの状態と正当なコンピュータシステムの状態のパターンとを比較した結果、コンピュータシステムの有害度が0.50であると判定及び計算され、悪意のあるコンピュータシステムの状態のパターンとを比較した結果、コンピュータシステムの有害度が0.80であるとされうる。したがって、ユーザ#2が作業していたコンピュータシステムは、悪意のあるコンピュータシステムであると判定される可能性がある。
図2は、本発明の例示的な一態様による悪意のあるコンピュータシステムの検出方法の構造図を示す。悪意のあるコンピュータシステムの検出方法の構造図は、コンピュータシステムの特性を識別及び収集するステップ201と、コンピュータシステムの特性間の関係を決定するステップ202と、コンピュータシステムの状態の時間依存性を判定するステップ203と、コンピュータシステムの状態を確定するステップ204と、コンピュータシステムの特性を比較するステップ205と、コンピュータシステムの有害度を判定するステップ206と、判定を宣言するステップ207とを含む。
より具体的には、図2を参照すると、ステップ201において、コンピュータシステムの特性は、識別及び収集されうる。
コンピュータシステムの特性は、以下を含んでもよいが、それらに限定されるものではない。
・コンピュータシステムのコンピューティングリソースの特性。
・コンピュータシステム上で実行されているソフトウェアの特性。
・コンピュータシステム上で処理されるデータの特性。
コンピュータシステムのコンピューティングリソースの特性は、以下を含んでもよいが、それらに限定されるものではない。
・コンピュータシステムのメインメモリ。
・コンピュータシステムの性能。
・ネットワーク環境の特性。
コンピュータシステム上で実行されているソフトウェアの特性は、以下を含んでもよいが、それらに限定されるものではない。
・コンピュータシステム内で実行されているアプリケーションの識別子だけでなく、識別されたアプリケーションに関連付けられたファイル(名前、実行可能ファイルへの完全パス、実行可能ファイルのチェックサムなど)。
・コンピュータシステムで実行されているアプリケーションの設定ファイル(レジストリ内のエントリ又はiniファイルのエントリなど)からの記録。
・どのアプリケーションがデータを交換し、どのように交換するかを特徴付けるアプリケーション間の関係。
コンピュータシステム上で処理されるデータの特性は、以下を含んでもよいが、それらに限定されるものではない。
・データの送信側及び受信側の識別子(例えば、データ交換が行われているアプリケーションの名称)。
・データの種類(例えば、データベースファイル、イメージなど)。
・データ転送方法(例えば、コンピュータネットワークによって行われるデータ転送、又はプロセス間通信の方法を使用したあるアプリケーションから別のアプリケーションへのデータ転送)。
ステップ202において、ステップ201で収集されたコンピュータシステムの特性間の、関係が決定されてもよく、ここで、関係は、別の特性の値の変更に対してある特性の値の変更の依存性を含みうる。
コンピュータシステムの状態の時間依存性を判定する際に、ステップ201で収集されたコンピュータシステムの特性間の関係であって、以前に決定された関係の分析は、以下の工程を含み得る。
・時間依存性がすでに定められている他の特性に対してこの特性の既知の依存性を用いて、コンピュータシステムの状態の記述に関わる1つの特性の値の変化の時間依存性を識別する工程
・上記特性の値の識別された時間依存性によって、上記特性の値の変化に対する規則を構成する工程
判定された関係は、関係記憶装置111から得られた関係で補足されてもよく、判定された関係は、関係記憶装置111に格納され、格納された関係が、関係の次の判定時(例えば、コンピュータシステムの状態が変化したとき)に用いられうる。
ステップ201で収集されたすべての特性の値は、各次元が1つの特性を表しうる多次元空間の点の形態で表すことができる。そのような点の収集は、特定の表面を特定しうる。必要な特性を選択することによって、特定された表面から、選択された特性の空間内の投影を得ることができる。記述された投影がコンピュータシステム全体の状態を特徴付ける場合、得られた投影は、選択された特性についてシステムの状態の変化を特徴付けることができる。
ステップ201で収集された各特性は、コンピュータシステムの動作時間に依存するいくつかの値を有する可能性がある。このように判定された特性間の関係はまた、時間の経過とともに変化する可能性がある。
ステップ203では、ステップ202で判定された関係の分析に基づいて、コンピュータシステムの状態について時間依存性を判定することができ、コンピュータシステムの状態は、このように判定された関係のセットによって特徴付けることができ、コンピュータシステムの状態の時間依存性は、時間の関数としてコンピュータシステムの状態を表す特性の値の変化を記述する規則を含むことができる。
時間依存性を分析することにより、コンピュータシステムの非標準的な動作を判定及び追跡することが可能になり、悪意のあるソフトウェアがシステム内で実行されていることが示される可能性がある。
ステップ204において、コンピュータシステムの状態は、ステップ203において判定されたコンピュータシステムの状態の時間依存性の分析に基づいて判定されてもよい。
コンピュータシステムの状態は、以下により判定されてもよい。
・コンピュータシステムの変更のための以下(1)〜(3)の規則のいくつかをトリガするときの状態。
(1)アプリケーションの実行開始。
(2)アプリケーションの実行終了。
(3)以前に選択されたAPI関数の呼び出し。
・定期的に、定められた時点での状態。
ステップ205では、コンピュータシステムの特性を比較することができる。より具体的には、コンピュータシステムの状態のパターンは、パターン(正当なコンピュータシステムの状態及び悪意のあるコンピュータシステムの状態)記憶装置112から選択され、ステップ204において判定されたコンピュータシステムの状態と比較することができる。
パターンは、以下に示すもので構成されてもよい。
・選択されたセキュリティポリシー(例えば、コンピュータシステム上で何が、どのように、行われることが許可されているか)に基づいてコンピュータシステムの状態から事前に選択されるパターン。
・ユーザーのコンピュータのアンチウイルススキャンの結果(悪質なアプリケーションに感染していると認識されたコンピュータから、悪質なコンピュータシステムの状態を取得し、正当であると認められたコンピュータから、正当なコンピュータシステムの状態を取得する)に基いて、ユーザーのコンピュータシステムの状態から事前に選択されるパターン。
・分析中のコンピュータシステムの以前に得られた状態として事前に決定されるパターン(例えば、長い間コンピュータシステムに変更が加えられていないか、又は行われた変更が無視できる場合)。
例示的な一態様では、コンピュータシステムの以前に選択された挙動を含むコンピュータシステムの状態を表すコンピュータシステムの状態のパターンをパターン記憶装置112に格納することができる。
コンピュータシステムの状態のパターンを、パターン記憶装置112から、コンピュータシステムの変更のために以前にトリガされた規則の関数として選択することもできる。
コンピュータシステムの状態の比較結果は、0(コンピュータシステムのこれらの特性の値が両方の状態で等しいとき、コンピュータシステムの両方の状態がコンピュータシステムの同一の特性のセットである場合)〜1(コンピュータシステムの第1状態が、コンピュータシステムの第2状態を含む特性と異なるコンピュータシステムの特性のセットである場合)の数値であってもよい。
ステップ206において、コンピュータシステムの有害度は、ステップ205で得られたコンピュータシステムの状態の比較結果の分析に基づいて判定されてもよい。
コンピュータシステムの有害度は、コンピュータシステムの状態の比較結果として得られる数値を含んでもよく、以下のものを含むがこれに限定されるものではない。
・以前に判定された正当なコンピュータシステムとの差異度
・以前に判定された悪意のあるコンピュータシステムとの類似度
ステップ207において、判定は決定され、選択された閾値と関連してステップ206で判定されたように、コンピュータシステムの有害度の比較結果に基づいて、コンピュータシステムを悪意があるものと識別することを宣言されうる。
図3は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータシステム(パーソナルコンピュータやサーバ等)の例を示している。例えば、コンピュータシステム20は、保護サーバ120又はシンクライアント110の1つ又は複数に対応し得る。図示の通り、コンピュータシステム20は、CPU21(シンクライアント110用ではないことに留意)と、システムメモリ22と、CPU21と関連付けられたメモリを含む様々なシステムコンポーネントを接続するシステムバス23とを含み得る。システムバス23は、バスメモリ又は、バスメモリコントローラ、周辺バス、及びローカルバスを次々含む従来より公知のあらゆるバス構造としても実現され得、これらはどのような他のバスアーキテクチャとも通信可能である。システムメモリは、リードオンリーメモリ(ROM)24及びランダムアクセスメモリ(RAM)25を含む。基本的な入出力システム(BIOS)26は、ROM24の使用によってオペレーティングシステムをロードする際等、パーソナルコンピュータ20の要素間の情報の伝達を担う基本的な手順を含む。
パーソナル・コンピュータ20は、データの読み書きのためのハードディスク27、取り外し可能な磁気ディスク29の読み書きのための磁気ディスクドライブ28、及びCD−ROM、DVD−ROM、その他の光学メディア等の光学ディスク31の読み書きのための光学式ドライブ30を含む。ハードディスク27、磁気ディスクドライブ28、及び光学式のドライブ30は、ハードディスクインターフェース32、磁気ディスクインターフェース33、及び光学式のドライブインターフェース34それぞれを横切るシステムバス23と接続される。ドライブ及び対応するコンピュータ情報メディアは、コンピュータ命令、データ構造体、プログラムモジュール、及びパーソナルコンピュータ20の他のデータのストレージのための電源依存のモジュールである。
本発明は、ハードディスク27、取り外し可能な磁気ディスク29及び取り外し可能な光ディスク31を用いるシステムの実装を提供するものだが、コンピュータに読み込み可能な形式でデータを保存できるソリッドステートドライブ、フラッシュメモリカード、デジタルのディスク、ランダムアクセスのメモリ(RAM)等の他のタイプのコンピュータ情報メディア56を使用してもよいことに留意されたし。また、これはコントローラ55を介してシステムバス23に接続される。
コンピュータ20は、ファイルシステム36を有し、記録されたオペレーティングシステム35の保持する。また追加のプログラムアプリケーション37、他のプログラムモジュール38、及びプログラムデータ39を有する。ユーザは、入力デバイス(キーボード40、マウス42)を用いてコマンドと情報をパーソナルコンピュータ20に入力することができる。他の入力デバイス(不図示):マイクロフォン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることもできる。そのような入力デバイスは、通常、システムバスに次々接続しているシリアルポート46を通じてコンピュータシステム20に差し込まれるが、それらは、他の方法例えばパラレルポート、ゲームポート、又は一般的なシリアルバス(USB)に接続される。ディスプレイ機器のモニタ47又は他のタイプは、また、ビデオアダプタ48等のインターフェースと交差するシステムバス23に接続している。モニタ47に加えて、パーソナルコンピュータは、スピーカー、プリンタ等の他の周辺の出力デバイス(不図示)を接続できる。
パーソナルコンピュータ20は、1つ又は複数のリモートコンピュータ49とのネットワーク接続を用いて、ネットワーク環境で操作することができる。リモートコンピュータ(又はコンピュータ)49は、パーソナルコンピュータ20の性質として説明した上述の要素全て又は上述の要素の大多数を有するパーソナルコンピュータ又はサーバでもある。ルータ、ネットワークステーション、ピア接続の機器、又は他のネットワークノード等の他の機器もまた、かかるコンピュータネットワークで存在し得るものである。
ネットワーク接続は、ローカルエリアコンピュータネットワーク(LAN)50及びワイドエリアコンピュータネットワーク(WAN)を形成することができる。そのようなネットワークは、企業のコンピュータネットワーク及び社内ネットワークで利用され、それらはたいていにインターネットにアクセスすることができる。LAN又はWANネットワークにおいて、パソコン20は、ネットワークアダプタ又はネットワークインターフェース51に交差するローカルエリアネットワーク50に接続されている。ネットワークが用いられる時には、パソコン20は、通信にインターネット等のワイドエリアコンピュータネットワークを実現するために、モデム54又は他のモジュールを使用することができる。内部又は外部の機器であるモデム54は、シリアルポート46によりシステムバス23と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法もあることに留意されたい。
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及びメソッドを実施し得る。ソフトウェアにおいて実装される場合は、メソッドは不揮発性コンピュータ可読メディアの1つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、RAM、ROM、EEPROM、CD−ROM、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
様々な態様において、本開示で説明されたシステム及び方法は、モジュールに関して扱うことができる。以下使用する用語「モジュール」は、ハードウェアを用いて実装される実世界の機器、コンポーネント、又はコンポーネント類を指すものとする。ここでいうハードウェアとは、例えば、特定用途向け集積回路(ASIC:ApplicationSpecificIntegratedCircuit)又はFPGA(Field−programmableGateArray)や、ハードウェアとソフトウェアの組み合わせ等によるものや、マイクロプロセッサシステム及びモジュールの機能を実行する指示のセットであって実行中にマイクロプロセッサシステムを特定の目的の機器に変換するものによるものである。モジュールは、ハードウェア単体により促進される一定の機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という2つの組み合わせとして実施されてもよい。特定の実施例では、モジュールの少なくとも一部、場合によってはすべてが、ユーザコンピュータ又はコンピューティングデバイスのプロセッサ(例えば、特性修正モジュール101、関係空間構築モジュール102、識別モジュール103、及び分析モジュール104を含む)を含む。したがって、各モジュールは、様々な適切な構成で実現することができ、本明細書に例示される特定の実装に限定されるべきではない。
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、態様及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。

Claims (18)

  1. 悪意のあるコンピュータシステムを検出するためのコンピュータ実装方法であって、
    収集工程と、決定工程と、判定工程と、確定工程と、分析工程とを備え、
    前記収集工程では、プロセッサにより前記コンピュータシステムの特性を収集し、
    前記決定工程では、収集した前記コンピュータシステムの特性間の関係を決定し、
    前記判定工程では、決定された関係に基いてコンピュータシステムの少なくとも1つの状態の時間依存性を判定し、
    前記確定工程では、判定された時間依存性に少なくとも基いて前記コンピュータシステムの前記少なくとも1つの状態を確定し、
    前記分析工程では、正当な又は悪意のあるコンピュータシステムを表す選択されたパターンに関連して、前記コンピュータシステムの前記少なくとも1つの状態をプロセッサにより分析して、コンピュータシステムの有害度を判定する、
    コンピュータ実装方法。
  2. 前記収集工程は、前記コンピュータシステムのコンピューティングリソースの特性、前記コンピュータシステム上で動作するソフトウェアの特性、及び前記コンピュータシステム上で処理されるデータの特性のうちの少なくとも1つの特性を収集することを備える、請求項1に記載のコンピュータ実装方法。
  3. 前記コンピュータシステムのコンピューティングリソースの特性は、前記コンピュータシステムのメインメモリの特性、前記コンピュータシステムの性能、及び前記コンピュータシステムが関連付けられているネットワーク環境の特性のうちの少なくとも1つを含む、請求項2に記載のコンピュータ実装方法。
  4. 前記ソフトウェアの特性は、前記コンピュータシステム内で動作する1つ以上のアプリケーションの識別子、前記1つ以上のアプリケーションに関連するファイルの特性、前記1つ以上のアプリケーションの設定ファイルからの記録、及び前記1つ以上のアプリケーション間の関係のうちの少なくとも1つを含む、請求項2に記載のコンピュータ実装方法。
  5. 前記コンピュータシステム上で処理されるデータの特性は、前記データ送信側及び受信側の識別子、前記データ種類、及びデータ送信方法のうちの少なくとも1つを含む、請求項2に記載のコンピュータ実装方法。
  6. 関係は、第2特性の値が変化したときの第1特性の値の変化の関数として構成され、前記決定工程は、収集された特性の値を表す多次元空間を使用する工程、及び選択された特性の多次元空間における投影に少なくとも基いて前記コンピュータシステムの前記少なくとも1つの状態を決定する工程を備える、請求項1に記載のコンピュータ実装方法。
  7. 前記判定工程は、時間の関数として前記コンピュータシステムの前記少なくとも1つの状態を記述する特性の値の変更のための規則を決定する工程を備える、請求項6に記載のコンピュータ実装方法。
  8. 前記確定工程は、前記判定された時間依存性の分析及び特性の値の変更に従って、前記コンピュータシステムの非標準的な挙動を識別する工程を備える、請求項7に記載のコンピュータ実装方法。
  9. 前記正当な又は悪意のあるコンピュータシステムを表す選択されたパターンは、パターンの少なくとも1つのデータベースから検索されるように構成され、各パターンは、前記コンピュータシステム特性の変更のために以前にトリガされた規則に対応する、請求項1に記載のコンピュータ実装方法。
  10. コンピュータシステムが正当であるか又は悪意のあるものであるかどうかを判定するために、コンピュータシステムの有害度と、選択された閾値とを比較する評価工程をさらに備える、請求項1に記載のコンピュータ実装方法。
  11. 悪意のあるコンピュータシステムを検出するためのシステムであって、
    少なくとも1つのハードウェアプロセッサを備え、
    前記ハードウェアプロセッサは、以下(1)〜(5)を行うように構成される、システム。
    (1)コンピュータシステムの特性を収集する。
    (2)収集された前記コンピュータシステムの特性間の関係を決定する。
    (3)決定された関係に基づいて前記コンピュータシステムの少なくとも1つの状態の時間依存性を判定する。
    (4)少なくとも決定された時間依存性に基づいて前記コンピュータシステムの前記少なくとも1つの状態を確定する。
    (5)正当な又は悪意のあるコンピュータシステムを表す選択されたパターンに関連して前記コンピュータシステムの前記少なくとも1つの状態を分析して、コンピュータシステムの有害度を判定する。
  12. 前記コンピュータシステムの特性を収集するために、前記少なくとも1つのプロセッサは、前記コンピュータシステムのコンピューティングリソースの特性、前記コンピュータシステム上で動作するソフトウェアの特性、及びコンピュータシステム上で処理されるデータの特性のうちの少なくとも1つの特性を収集するようにさらに構成される、請求項11に記載のシステム。
  13. 前記コンピュータシステムのコンピューティングリソースの特性は、前記コンピュータシステムのメインメモリの特性、前記コンピュータシステムの性能、及び前記コンピュータシステムが関連付けられているネットワーク環境の特性のうちの少なくとも1つを含み、
    前記コンピュータシステム上で動作するソフトウェアの特性は、前記コンピュータシステム内で動作する1つ以上のアプリケーションの識別子、前記1つ以上のアプリケーションに関連するファイルの特性、前記コンピュータシステム内で動作する前記1つ以上のアプリケーションの設定ファイルからの記録、及び前記1つ以上のアプリケーション間の関係のうちの少なくとも1つを含み、
    前記コンピュータシステム上で処理されるデータの特性は、前記データ送信側及び受信側の識別子、前記データ種類、及びデータ送信方法のうちの少なくとも1つを含む、請求項11に記載のシステム。
  14. 関係は、第2特性の値が変化したときの第1特性の値の変化の関数として構成され、
    前記正当な又は悪意のあるコンピュータシステムを表す選択されたパターンは、パターンの少なくとも1つのデータベースから検索されるように構成され、各パターンは、前記コンピュータシステムの特性の変更のために以前にトリガされた規則に対応し、
    前記コンピュータシステムの収集された特性間の関係を決定するために、前記少なくとも1つのプロセッサは、前記収集された特性の値を表すために多次元空間を使用し、選択された特性の多次元空間における投影に少なくとも基づいて前記コンピュータシステムの前記少なくとも1つの状態を判定するようにさらに構成される、請求項11に記載のシステム。
  15. 前記決定された関係に基づいて前記コンピュータシステムの前記少なくとも1つの状態の時間依存性を判定するために、前記少なくとも1つのプロセッサは、時間の関数として前記コンピュータシステムの少なくとも1つの状態を記述する特性の値の変更のための規則を決定するようにさらに構成される、請求項14に記載のシステム。
  16. 前記判定された時間依存性に少なくとも基づいて前記コンピュータシステムの前記少なくとも1つの状態を確定するために、前記少なくとも1つのプロセッサは、前記判定された時間依存性の分析及び前記特性の値の変更に従って、前記コンピュータシステムの非標準的な挙動を識別するようにさらに構成される、請求項15に記載のシステム。
  17. 前記少なくとも1つのプロセッサは、前記コンピュータシステムの有害度と、選択された閾値とを比較して評価するようにさらに構成され、前記コンピュータシステムが正当であるか又は悪意のあるものであるかどうかを判定する、請求項11に記載のシステム。
  18. 悪意のあるコンピュータシステムを検出するためのコンピュータ実行可能命令を格納する不揮発性コンピュータ可読メディアであって、次に示す(1)から(5)の命令を含む、不揮発性コンピュータメディア。
    (1)コンピュータシステムの特性を収集する。
    (2)前記コンピュータシステムの収集された特性間の関係を決定する。
    (3)決定された関係に基いて前記コンピュータシステムの少なくとも1つの状態の時間依存性を判定する。
    (4)判定された時間依存性に少なくとも基いて前記コンピュータシステムの前記少なくとも1つの状態を確定する。
    (5)正当な又は悪意のあるコンピュータシステムを表す選択されたパターンに関連して前記コンピュータシステムの前記少なくとも1つの状態を分析して、前記コンピュータシステムの有害度を判定する。
JP2016178478A 2016-06-02 2016-09-13 悪意のあるコンピュータシステムを検出するシステム及び方法 Active JP6341964B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2016121877 2016-06-02
RU2016121877A RU2634181C1 (ru) 2016-06-02 2016-06-02 Система и способ обнаружения вредоносных компьютерных систем
US15/215,116 2016-07-20
US15/215,116 US10372907B2 (en) 2016-06-02 2016-07-20 System and method of detecting malicious computer systems

Publications (2)

Publication Number Publication Date
JP2017220195A JP2017220195A (ja) 2017-12-14
JP6341964B2 true JP6341964B2 (ja) 2018-06-13

Family

ID=60154053

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016178478A Active JP6341964B2 (ja) 2016-06-02 2016-09-13 悪意のあるコンピュータシステムを検出するシステム及び方法

Country Status (4)

Country Link
US (1) US10372907B2 (ja)
JP (1) JP6341964B2 (ja)
CN (1) CN107463841B (ja)
RU (1) RU2634181C1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10681073B2 (en) 2018-01-02 2020-06-09 International Business Machines Corporation Detecting unauthorized user actions
RU2724800C1 (ru) * 2018-12-28 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения источника вредоносной активности на компьютерной системе
RU2724710C1 (ru) * 2018-12-28 2020-06-25 Акционерное общество "Лаборатория Касперского" Система и способ классификации объектов вычислительной системы
RU2739866C2 (ru) * 2018-12-28 2020-12-29 Акционерное общество "Лаборатория Касперского" Способ обнаружения совместимых средств для систем с аномалиями
US11108790B1 (en) * 2019-04-30 2021-08-31 Rapid7, Inc. Attack signature generation
KR102244128B1 (ko) * 2020-10-19 2021-04-23 (주)시큐레이어 컴퓨팅 리소스 수용량에 기반한 네트워크 공격 강도 측정 기법을 사용하는 네트워크 호스트 공격 탐지 방법 및 장치

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5090415B2 (ja) 2003-10-10 2012-12-05 シャープ株式会社 再生装置、ビデオデータの再生方法、制御プログラム、及びコンテンツ記録媒体
US7673341B2 (en) 2004-12-15 2010-03-02 Microsoft Corporation System and method of efficiently identifying and removing active malware from a computer
CN1988541A (zh) * 2005-12-19 2007-06-27 国际商业机器公司 确定恶意工作负荷模式的方法和装置
US8065728B2 (en) * 2007-09-10 2011-11-22 Wisconsin Alumni Research Foundation Malware prevention system monitoring kernel events
EP2081356A1 (en) 2008-01-18 2009-07-22 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Method of and telecommunication apparatus for SIP anomaly detection in IP networks
JP5009244B2 (ja) * 2008-07-07 2012-08-22 日本電信電話株式会社 マルウェア検知システム、マルウェア検知方法及びマルウェア検知プログラム
EP2157526B1 (en) * 2008-08-14 2014-04-30 Assa Abloy Ab RFID reader with embedded attack detection heuristics
JP5413010B2 (ja) * 2009-07-17 2014-02-12 日本電気株式会社 分析装置、分析方法およびプログラム
US8566943B2 (en) * 2009-10-01 2013-10-22 Kaspersky Lab, Zao Asynchronous processing of events for malware detection
JP5329451B2 (ja) 2010-01-27 2013-10-30 三洋電機株式会社 非水系二次電池
RU2420793C1 (ru) * 2010-03-02 2011-06-10 Закрытое акционерное общество "Лаборатория Касперского" Система и способ определения потенциально вредоносных программ на основе контроля целостности файлов с использованием временных отметок
US8925101B2 (en) * 2010-07-28 2014-12-30 Mcafee, Inc. System and method for local protection against malicious software
US9094291B1 (en) * 2010-12-14 2015-07-28 Symantec Corporation Partial risk score calculation for a data object
RU2486588C1 (ru) * 2012-03-14 2013-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ эффективного лечения компьютера от вредоносных программ и последствий их работы
US20140053267A1 (en) * 2012-08-20 2014-02-20 Trusteer Ltd. Method for identifying malicious executables
EP2959658A1 (en) * 2013-02-22 2015-12-30 Adaptive Mobile Security Limited Dynamic traffic steering system and method in a network
EP2785009A1 (en) 2013-03-29 2014-10-01 British Telecommunications public limited company Method and apparatus for detecting a multi-stage event
RU2531861C1 (ru) * 2013-04-26 2014-10-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
US9213807B2 (en) * 2013-09-04 2015-12-15 Raytheon Cyber Products, Llc Detection of code injection attacks
US9607146B2 (en) * 2013-09-18 2017-03-28 Qualcomm Incorporated Data flow based behavioral analysis on mobile devices
MY181777A (en) * 2013-11-11 2021-01-06 Adallom Inc Cloud service security broker and proxy
RU2571723C2 (ru) 2013-12-05 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для снижения нагрузки на операционную систему при работе антивирусного приложения
US20150039513A1 (en) * 2014-02-14 2015-02-05 Brighterion, Inc. User device profiling in transaction authentications
EP3123868B1 (de) * 2015-07-25 2018-09-12 DMK Deutsches Milchkontor GmbH Verfahren zur herstellung von milchprodukten mit definiertem lactosegehalt
US11848940B2 (en) * 2015-08-28 2023-12-19 The Boeing Company Cumulative trajectory of cyber reconnaissance indicators
US10097581B1 (en) * 2015-12-28 2018-10-09 Amazon Technologies, Inc. Honeypot computing services that include simulated computing resources

Also Published As

Publication number Publication date
CN107463841A (zh) 2017-12-12
JP2017220195A (ja) 2017-12-14
CN107463841B (zh) 2020-12-04
US20170351859A1 (en) 2017-12-07
RU2634181C1 (ru) 2017-10-24
US10372907B2 (en) 2019-08-06

Similar Documents

Publication Publication Date Title
JP6341964B2 (ja) 悪意のあるコンピュータシステムを検出するシステム及び方法
CN109684832B (zh) 检测恶意文件的***和方法
Chen et al. Stormdroid: A streaminglized machine learning-based system for detecting android malware
Javaheri et al. Detection and elimination of spyware and ransomware by intercepting kernel-level system routines
Feizollah et al. A review on feature selection in mobile malware detection
Alazab Profiling and classifying the behavior of malicious codes
RU2595511C2 (ru) Система и способ ограничения работы доверенных приложений при наличии подозрительных приложений
EP3420489B1 (en) Cybersecurity systems and techniques
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
KR102160659B1 (ko) 하드웨어-기반 마이크로-아키텍처 데이터를 이용한 이상 프로그램 실행의 검출
CN107066883B (zh) 用于阻断脚本执行的***和方法
US9218461B2 (en) Method and apparatus for detecting malicious software through contextual convictions
US20190141075A1 (en) Method and system for a protection mechanism to improve server security
Zhao et al. Malicious executables classification based on behavioral factor analysis
JP6400758B2 (ja) 不正リモート管理からのコンピュータを保護するためのシステム及び方法
US9239922B1 (en) Document exploit detection using baseline comparison
Shan et al. Growing grapes in your computer to defend against malware
Amer Permission-based approach for android malware analysis through ensemble-based voting model
US10601867B2 (en) Attack content analysis program, attack content analysis method, and attack content analysis apparatus
Alsaleh et al. gextractor: Towards automated extraction of malware deception parameters
EP3252645B1 (en) System and method of detecting malicious computer systems
Ham et al. Vulnerability monitoring mechanism in Android based smartphone with correlation analysis on event-driven activities
Jawhar A Survey on Malware Attacks Analysis and Detected
Emmah et al. Review of malware and techniques for combating zero-day attacks
Shankarpani et al. Computational intelligent techniques and similarity measures for malware classification

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180420

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: 20180508

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180515

R150 Certificate of patent or registration of utility model

Ref document number: 6341964

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250