JP6400758B2 - 不正リモート管理からのコンピュータを保護するためのシステム及び方法 - Google Patents

不正リモート管理からのコンピュータを保護するためのシステム及び方法 Download PDF

Info

Publication number
JP6400758B2
JP6400758B2 JP2017028315A JP2017028315A JP6400758B2 JP 6400758 B2 JP6400758 B2 JP 6400758B2 JP 2017028315 A JP2017028315 A JP 2017028315A JP 2017028315 A JP2017028315 A JP 2017028315A JP 6400758 B2 JP6400758 B2 JP 6400758B2
Authority
JP
Japan
Prior art keywords
data
application
event
transfer
computer 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.)
Active
Application number
JP2017028315A
Other languages
English (en)
Other versions
JP2017228277A (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 JP2017228277A publication Critical patent/JP2017228277A/ja
Application granted granted Critical
Publication of JP6400758B2 publication Critical patent/JP6400758B2/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/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
    • G06F21/562Static detection
    • 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/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • 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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • 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/034Test or assess a computer or a system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1408Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
    • H04L63/1416Event detection, e.g. attack signature detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols

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

本開示は、概して、サイバーセキュリティの分野に関し、より詳細には、コンピュータを不正なリモート管理から保護するためのシステム及び方法に関する。
過去10年のコンピュータ技術の急速な発展と、さまざまな計算機器(パーソナルコンピュータ、ノートブック、タブレット、スマートフォン等)の広範な使用は、あらゆる可能な領域でこれらのデバイスを使用するための強力な刺激となった。膨大な数のタスク(インターネットサーフィンから銀行振込や電子文書トラフィックに至るまで)のために、これらのデバイス上で稼働する計算機器とソフトウェアの数の増加と平行して、悪意あるソフトウェアの量も急速に増加している。
現在、さまざまな種類の悪意あるプログラムに対応して、膨大な数の悪意あるプログラムの種類が存在する。その中には、ユーザのデバイス(ログインやパスワード、銀行の詳細、電子文書等)から個人及び機密データを盗むものもある。他にも、ブルートフォース方式を使ってパスワードを推測したり、サービス拒否(DoS)攻撃(DDOS)等の攻撃を他のコンピュータやコンピュータ・ネットワークに対して開始するために、ユーザのデバイスからいわゆるボットネットを形成するものもある。さらに、攻撃的な広告、有料購読、有料電話番号へのテキストメッセージの送信等を通じて有料コンテンツをユーザに提供する。
例えば、悪意あるプログラムのある1つのグループは、感染したユーザのコンピュータ上でリモート管理を実行する可能性がある。そのようなプログラムがユーザのコンピュータにインストールされた後、管理者権限を取得してユーザの機密情報へのアクセスを許可したり、ユーザのコンピュータ上で何らかの操作を実行したり、コンピュータ・ネットワークを通じてハッカーに働きかける。例えば、上記の種類のプログラムの1つは、ハッカーが自分のコンピュータ上で実行している行動を被害者のコンピュータ上で複製することができる。
上記のプログラムを検出する複雑さは、しばしば明示的な形式で悪意ある行動を実行しないことが原因であることがある(例えば、データを破壊するのではなく、代わりにDDOS攻撃等を構成する)。上記プログラムは、活動を一時的且つ不規則に実行する。また上記プログラム自身を管理者がクライアントコンピュータを制御するために使用する正当なアプリケーションとして提示する。
したがって、現在のアンチウイルスプログラムは、上記のプログラムの動作において悪意ある機能を認識しない可能性がある。また、既知のアンチウイルスプログラムは、リモート管理を実行するためにこれまで知られていない動作を持つアプリケーションを検出するタスクを処理できないことがある。又は遠隔管理を実現するアプリケーションは、それぞれのアプリケーションが完全に合法的な機能を有している。上記のアンチウイルスプログラムは、遠隔管理がユーザの許可で実行されているときに、悪意あるプログラムを検出したという誤ったアラームを生成する可能性がある。
本発明によれば、コンピュータを権限のない遠隔管理から保護するという問題を解決する。
本発明の一観点によれば、コンピュータで実施され且つコンピュータ・システムのリモート管理を検出する方法であって、傍受ステップと、第1決定ステップと、第1識別ステップと、第2決定ステップと、第3決定ステップと、第4決定ステップと、第2識別ステップと、分析ステップとを備え、前記傍受ステップでは、前記コンピュータ・システムのプロセッサを介して、前記コンピュータ・システムにおいて発生した1つ又は複数のイベントを傍受し、前記第1決定ステップでは、各傍受イベントのパラメータを決定し、前記第1識別ステップでは、前記決定されたパラメータに少なくとも基づいて、コンピュータ・ネットワーク内のアプリケーションによる第1データ転送又はコンピュータ・システムの周辺にあるデータ入力装置からのアプリケーションへの第2データ転送に関連するものとして識別し、前記第2決定ステップでは、前記傍受された2つのイベントを、前記第1及び第2データ転送に関連する特定された傍受イベントに少なくとも基づいて、互いに依存するものとして決定し、前記3決定ステップでは、前記2つの傍受イベントのパラメータの依存関係を定義する第1ルールを決定し、前記第4決定ステップでは、前記第1ルールと以前に作成された第2ルールとの類似度を決定し、前記第2識別ステップでは、所定の閾値を超える類似度を検出した場合に、前記第1ルール及び前記第2ルールに少なくとも基づいて少なくとも1つのアプリケーションを識別し、前記分析ステップでは、前記リモート管理アプリケーションを検出するための少なくとも1つのアプリケーションを分析する、方法が提供される。
好ましくは、前記1つ又は複数のイベントは、呼び出しステップと、第1転送ステップと、第2転送ステップと、第3転送ステップと、第4転送ステップのうち、少なくとも1つを含み、前記呼び出しステップは、コンピュータ・システムにインストールされたオペレーティング・システムのAPI機能のためのアプリケーションによる呼び出しをし、前記第1転送ステップは、プロセス間通信技術を介したアプリケーションのプロセス間でのデータ転送をし、前記第2転送ステップは、コンピュータ・システムのソフトウェアコンポーネントとハードウェアコンポーネントとの間のデータ転送をし、前記第3転送ステップは、コンピュータ・ネットワーク内のアプリケーションによるデータ転送をし、前記第4転送ステップは、少なくとも1つの周辺にあるデータ入力装置からのアプリケーションへのデータ転送をする。
好ましくは、前記周辺にあるデータ入力装置は、キーボードと、コンピュータマウスと、タッチスクリーンと、非接触タッチスクリーンコントローラのうち少なくとも1つを含む。
好ましくは、前記第1決定ステップは、傍受タイプと、第1識別子と、第2識別子と、先行イベントと、第3識別子と、データタイプと、データ量と、転送データのうち1つもしくは複数のパラメータを決定する方法であって、前記傍受タイプは、傍受された各イベントのタイプで、前記第1識別子は、コンピュータ・システムのオペレーティング・システムにおいて各傍受されたイベントを作成したアプリケーション又はプロセスの識別子で、前記第2識別子は、オペレーティング・システムで各代行受信イベントを作成したアプリケーション又はサービスの識別子で、前記先行イベントは、それぞれの傍受されたイベントに先行する少なくとも1つのイベントで、前記第3識別子は、転送されたデータのデータ送信元とデータ受信元の識別子で、前記データタイプは、転送されたデータのタイプで、前記データ量は、転送されたデータの量で、前記転送データは、直接的に転送されたデータである。
好ましくは、前記第2決定ステップは、時間閾値と、パラメータ相関の少なくとも1つを決定し、前記時間閾値は、第1の識別された傍受されたイベントの登録と第2の傍受されたイベントの登録との間に経過した時間の閾値で、前記パラメータ相関は、2つの傍受されたイベントのパラメータは、現在の傍受されたイベントよりも前に登録された特定された傍受されたイベントのパラメータとの相関である。
好ましくは、前記第3決定ステップは、ルール選択ステップと、係数計算ステップを備え、前記ルール選択ステップは、ルールを表すために行列形式又はベクトル形式のうちの少なくとも1つを選択し、前記係数計算ステップは、2つの傍受されたイベントのうちの1つのパラメータに基づいて、ルールの選択された表現に対する係数を計算する。
好ましくは、前記第4決定ステップは、ヒューリスティック分析と、構造分析のうち少なくとも1つを備え、前記ヒューリスティック分析では、コンピュータ・システムにおけるデータ転送の後に発生する動作、コンピュータ・ネットワークにおいて送信又は受信された動作の後のデータ、及びデータと動作との間の依存性のうち少なくとも1つを決定する、少なくとも1つのアプリケーションを分析し、前記構造分析は、少なくとも1つのアプリケーションの構造及びコンピュータ・ネットワークにおけるデータ転送を担うコード、コンピュータ・システムにおける動作の実行、及びコンピュータ・ネットワークにおけるデータの送信又は受信を分析する。
好ましくは、前記リモート管理アプリケーションの検出に応答して前記少なくとも1つのアプリケーションをブロックする第1ブロックステップを更に備え、前記第1ブロックステップは、第2ブロックステップと、第1除去ステップと、第2除去ステップの少なくとも1つを備え、前記第2ブロックステップは、少なくとも1つのアプリケーションとのコンピュータ・ネットワークにおけるデータ交換をブロックし、前記第1除去ステップは、コンピュータ・システムのRAMから少なくとも1つのアプリケーションを除去し、前記第2除去ステップはコンピュータ・システムの情報媒体から少なくとも1つのアプリケーションを除去する。
本発明の一観点によれば、コンピュータ・システムのリモート管理を検出するシステムであって、前記コンピュータ・システムの少なくとも1つのプロセッサを備え、前記プロセッサは、傍受ステップと、第1決定ステップと、第1識別ステップと、第2決定ステップと、第3決定ステップと、第4決定ステップと、第2識別ステップと、分析ステップとを実行するように構成され、前記傍受ステップでは、前記コンピュータ・システムのプロセッサを介して、前記コンピュータ・システムにおいて発生した1つ又は複数のイベントを傍受し、前記第1決定ステップでは、各傍受イベントのパラメータを決定し、前記第1識別ステップでは、前記決定されたパラメータに少なくとも基づいて、コンピュータ・ネットワーク内のアプリケーションによる第1データ転送又はコンピュータ・システムの周辺にあるデータ入力装置からのアプリケーションへの第2データ転送に関連するものとして識別し、前記第2決定ステップでは、前記傍受された2つのイベントを、前記第1及び第2データ転送に関連する特定された傍受イベントに少なくとも基づいて、互いに依存するものとして決定し、前記3決定ステップでは、前記2つの傍受イベントのパラメータの依存関係を定義する第1ルールを決定し、前記第4決ステップでは、前記第1ルールと以前に作成された第2ルールとの類似度を決定し、前記第2識別ステップでは、所定の閾値を超える類似度を検出した場合に、前記第1ルール及び前記第2ルールに少なくとも基づいて少なくとも1つのアプリケーションを識別し、前記分析ステップでは、前記リモート管理アプリケーションを検出するための少なくとも1つのアプリケーションを分析する、システムが提供される。
本発明の一観点によれば、コンピュータが実施可能且つコンピュータ・システムのリモート管理を検出するコードを記憶した不揮発性コンピュータ可読媒体であって、命令を備え、前記命令は、傍受ステップと、第1決定ステップと、第1識別ステップと、第2決定ステップと、第3決定ステップと、第4決定ステップと、第2識別ステップと、分析ステップとを実行するもので、前記傍受ステップでは、前記コンピュータ・システムのプロセッサを介して、前記コンピュータ・システムにおいて発生した1つ又は複数のイベントを傍受し、前記第1決定ステップでは、各傍受イベントのパラメータを決定し、前記第1識別ステップでは、前記決定されたパラメータに少なくとも基づいて、コンピュータ・ネットワーク内のアプリケーションによる第1データ転送又はコンピュータ・システムの周辺にあるデータ入力装置からのアプリケーションへの第2データ転送に関連するものとして識別し、前記第2決定ステップでは、前記傍受された2つのイベントを、前記第1及び第2データ転送に関連する特定された傍受イベントに少なくとも基づいて、互いに依存するものとして決定し、前記3決定ステップでは、前記2つの傍受イベントのパラメータの依存関係を定義する第1ルールを決定し、前記第4決ステップでは、前記第1ルールと以前に作成された第2ルールとの類似度を決定し、前記第2識別ステップでは、所定の閾値を超える類似度を検出した場合に、前記第1ルール及び前記第2ルールに少なくとも基づいて少なくとも1つのアプリケーションを識別し、前記分析ステップでは、前記リモート管理アプリケーションを検出するための少なくとも1つのアプリケーションを分析する、媒体が提供される。
本発明の例示的な側面に係る上述の簡略化した概要は、本発明の基本的な理解を提供するように機能するものである。この概要は、全ての企図された側面の広範な概要ではなく、全ての側面の重要な又は重要な要素を特定することも本発明の任意の又は全ての側面の範囲を描写することも意図されていない。唯一の目的は、以下の本発明のより詳細な説明の前置きとして、1つ又は複数の側面を簡略化した形で提示することである。前述の目的を達成するために、本発明の1つ又は複数の側面が記載され、これは特に特許請求の範囲において主張される特徴を含むものである。
コンピュータを不正な遠隔管理から保護するための例示的なシステムの構造図を示す。 コンピュータを不正な遠隔管理から保護する例示的な方法のフローチャートを示す。 本明細書に開示されたシステム及び方法を実装することができる、パーソナルコンピュータ又はサーバ等の汎用コンピュータ・システムの例を示す。
本発明の様々な側面を説明する際に、多くの用語及び定義を使用する。当業者であれば、以下の説明は例示的なものに過ぎず、決して限定するものではないことを理解するであろう。他の側面は、本開示の利益を有する当業者に容易に示唆されるであろう。以下、添付の図面に例示されている例示的な実装形態を詳細に参照する。同一の符号は、図面全体にわたって可能な範囲で使用され、以下の説明は、同じ又は同様の項目を参照するために使用される。
コンピュータ・システムのイベントとは、コンピュータ・システム内のアプリケーションによって実行されるアクションのグループを指してもよい。
コンピュータ・システムのイベントのパラメータとは、コンピュータ・システムのイベントの様々な属性のグループを含んでもよい。
図1は、不正な遠隔管理からコンピュータを保護するための例示的なシステムの構造図を示す。このシステムは、アクティビティ分析モジュール100、周辺にあるデータ入力装置101、コンピュータ・システム102、コンピュータ・ネットワーク103、パターン識別モジュール110、検索モジュール120、ルールライブラリ121、及び分析モジュール130を含む。
アクティビティ分析モジュール100は、以下のように構成されてもよい。
・コンピュータ・システム102で発生するイベントであり、以下の少なくとも1つを含む傍受されたイベントを傍受する。
・コンピュータ・システム102にインストールされたオペレーティング・システムのAPI機能のアプリケーションによる呼び出し
・プロセス間通信技術を用いたアプリケーション間のデータ転送
・コンピュータ・システム102のソフトウェアコンポーネントとハードウェアコンポーネントとの間のデータ転送
・コンピュータ・ネットワーク103におけるアプリケーションによるデータ転送
・周辺にあるデータ入力装置101からのアプリケーションへのデータ転送
・傍受された各イベントのパラメータを決定する。
・傍受されたイベントの決定されたパラメータを、パターン識別モジュール110に送る。
イベントの傍受は、コンピュータ・システム102にインストールされたドライバを介して実行してもよい。
例えば、アプリケーションによって呼び出されるオペレーティング・システムのアプリケーションプログラミングインタフェース(API)機能は、動作するための1つ又は複数の以下のAPI機能を含んでもよい。
・CreateFile、ReadFile、WriteFile等のファイルの使用
・ソケット、接続、受信、送信等のコンピュータ・ネットワークの使用
・ReadProcessMemory、WriteProcessMemory等のプロセスの使用
・PostMessage、SendMessage等のWindowsイベントの使用
例えば、コンピュータ・システム102のハードウェアコンポーネントは、以下のうちの少なくとも1つを含んでもよい。
・CD−RWドライブ、DWD−RWドライブ、BD−REドライブ等のオプティカルドライブ等の外部情報メディア
・グラフィックスアダプタ
・ゲームコントローラ
周辺にあるデータ入力装置101は、以下のうちの少なくとも1つを含んでもよい。
・キーボード
・コンピュータマウス
・タッチスクリーン
・非接触タッチスクリーンコントローラ
例えば、周辺にあるデータ入力装置101からアプリケーションに転送されるデータは、以下のうちの少なくとも1つを含んでもよい。
・キーボードから入力されたテキスト
・コンピュータマウス又はタッチスクリーンを介して実行されるカーソル移動の座標
・非接触タッチスクリーンコントローラによって受信される画像
イベントパラメータは、以下のうちの少なくとも1つを含んでもよい。
・イベントの種類
・オペレーティング・システムのイベント(プロセス識別子、PID)を作成したアプリケーション又はプロセスの識別子
・オペレーティング・システムでイベント(グローバル一意識別子、GUID)を作成したアプリケーション又はサービスの識別子
・上記のイベントの前のイベント
・データが転送される場合:
・データ送信元及びデータ受信元の独自の識別子であって、これには次のうち少なくとも1つを含んでもよい。
・コンピュータ・ネットワーク103内のデータ伝送に関与するサーバのネットワークアドレス
・コンピュータ・システム102のハードウェアコンポーネントのタイプ
・転送されるデータのタイプ
・転送されるデータの量
・直接転送されるデータ
例えば、イベントの種類は数値であってもよく、0x00は未知の種類のイベントに対応し、0x01はオペレーティング・システムのAPI機能のアプリケーションによる呼び出しを意味し、0x02はアプリケーションのプロセス間のデータ転送を意味し、0x03は周辺にあるデータ入力装置101等からのアプリケーションへのデータ転送を意味する、等である。
イベントのタイプは、少なくともコンピュータ・システム102にインストールされたドライバのどれがイベントを傍受したかに基づいて決定してもよい。例えば、イベントがキーボードドライバによって傍受された場合、そのイベントは、周辺にあるデータ入力装置101からのアプリケーションへのデータの転送に割り当てられる。したがって、傍受されるイベントのタイプは0x03に等しくてもよい。イベントがコンピュータ・ネットワーク103内のデータを転送するように設計されたネットワークデバイスのドライバによって傍受された場合、そのイベントはコンピュータ・ネットワーク103内のアプリケーションによるデータ転送に割り当てられる。したがって傍受されるイベントのタイプは0x04に等しくてもよい。すなわち、コンピュータ・システム102における同じイベントは、異なるドライバによって傍受され、結果として、同時にいくつかのタイプのイベントを含む可能性がある。例えば、IPCの補助によりアプリケーションからアプリケーションにデータを転送するイベントは、アプリケーションによって、イベントタイプ0x01を有するオペレーティング・システムのAPI関数(ReadProcessMemory、WriteProcessMemory)を呼び出し、またイベントタイプ0x02を有するプロセス間通信技術を使用するアプリケーションのプロセス間のデータ転送イベントでもある。
例えば、特定のイベントがお互いに続いてもよい。
・キーボード101からのテキストのMicrosoftLync(イベント#1)とローカルエリアコンピュータ・ネットワーク103(イベント#2)による同じテキストのその後の転送
・アプリケーションrecv(イベント#1)のアプリケーションRemoteAdminを呼び出し、関数WriteProcessMemory(イベント#2)のアプリケーションRemoteAdminを呼び出す
例えば、転送されるデータは、以下のタイプのうちの少なくとも1つを含んでもよい。
・ビデオクリップやオーディオレコーディング等のメディアデータ
・画像
・ページのHTMLコード、CSSスタイルシート等のインターネットページのコンポーネント
・データライブラリ
・アーカイブされたデータ
・周辺にあるデータ入力装置101から得られた行データ等の非構造化データ
転送されたデータのタイプを含む傍受されたイベントのパラメータは、そのイベントを傍受したドライバによって決定されてもよい。異なるイベントを傍受するように設計されたドライバは、同一のデータに対して異なる種類のイベントを決定してもよい。例えば、ユーザは、キーボード101を用いて、ワードプロセッサNotepad++のフィールドにJavaScriptコードを含むテキストを入力する。キーボードドライバは、キーボード101からアプリケーションNotepad++のプロセスへのデータ転送のイベントを傍受し、転送されたデータをフォーマットされていないテキスト、すなわち特定の文字セットとして解釈してもよい。その結果、API関数呼び出しのドライバは、アプリケーションNotepad++のプロセスの特定の仮想アドレスに書き込まれたデータを傍受し、インターネットウェブページの適切にフォーマットされたHTMLコード、すなわち特定のパラメータを有するタグのセットとして解釈してもよい。
パターン識別モジュール110は、以下のように構成されてもよい。
・コンピュータ・ネットワーク103内のアプリケーションによるデータ転送イベント、及び周辺にあるデータ入力装置101からアプリケーションへのデータ転送が発生したイベントのうち少なくとも1つの傍受されたイベントを、少なくとも1つの傍受されたイベントの受信されたパラメータ解析に基づいて特定する。
・傍受されたイベントのうち、識別されたイベントに依存する少なくとも1つのイベントについて、少なくとも以下のうち少なくとも1つによって前記傍受されたイベントの前記識別されたイベントへの依存性を決定する。
・識別されたイベントの登録とその後の傍受されたイベントの登録との間に経過した時間が、以前に確立された時間閾値よりも小さい事
・傍受されたイベントのパラメータは、前記の傍受されたイベントよりも前に登録された識別されたイベントのパラメータと相関する事
・少なくとも1つの決定されたイベントについて、識別されたイベントのパラメータに対する決定されたイベントのパラメータの依存性を記述するルールを形成する。
・決定されたイベントに関する情報と共に形成されたルールを検索モジュール120に送る。
傍受されたイベントの中のイベントの識別は、以下のうちの少なくとも1つに基づいて行われてもよい。
・イベントの種類
・アプリケーションの独自の識別子又はイベントを作成したアプリケーションのプロセス
例えば、以下の5つのイベントは傍受されてもよい。
(1)API関数recvのアプリケーションRemoteAdminによる呼び出し
(2)API関数sendのアプリケーションLyncによる呼び出し
(3)アプリケーションRemoteAdminからアプリケーションLyncへのテキストデータの転送
(4)キーボード101からアプリケーションLyncへのテキストデータの転送
(5)アプリケーションRemoteAdminからコンピュータ・ネットワーク103内のリモートサーバへのテキストデータの転送
傍受されたイベントのうち、周辺にあるデータ入力装置101及びコンピュータ・ネットワーク103内のデータ転送に関するイベント、すなわち(4)キーボード101からアプリケーションLyncへのテキストデータの転送、(5)アプリケーションRemoteAdminからコンピュータ・ネットワーク103内のリモートサーバへのテキストデータの転送を識別してもよい。識別されたイベント(4)及び(5)を使用して、API関数send(3)のアプリケーションLyncによる呼び出しの事象が決定されてもよく、転送されるデータのタイプ(テキスト)及びデータ転送が発生するサーバのネットワークアドレス等、API関数sendにより呼び出されるコンピュータ・ネットワーク103内のデータ転送のパラメータは、データタイプ(テキスト)等のイベント(4)のパラメータの変更、及びコンピュータ・ネットワーク103においてデータ転送が生じるサーバのインターネットプロトコル(IP)アドレス等のイベント(5)に依存する。
1つのイベントのパラメータの別のイベントのパラメータへの依存性を記述するルールは、少なくとも以下を含んでもよい。
・以下のように表される線形変換行列T:


ここでP1は以下のように表現されるイベント#1のパラメータのセットである

P2は以下のように表現されるイベント#2のパラメータのセットである。

・以下のように表される関数P2の係数のセット

ここでP1はイベント#1のパラメータ、P2はイベント#2のパラメータである。
あるイベントのパラメータの別のイベントのパラメータへの依存性を記述するルールの定式化は、以下の少なくとも1つを含むことができる。
・以下のルールを表現する方法の少なくとも1つを選択する。
・行列を用いる形式:この場合は1つのパラメータの別のパラメータへの依存性は、行列を用いた演算を介して表現することができる。
・ベクトルを用いる形式:この場合は1つのパラメータの別のパラメータへの依存性は、係数のセットを用いた演算によって表現することができる。
・イベントの指定されたパラメータに対して選択された表現に使用される係数を計算する。
検索モジュール120は、以下のように構成されてもよい。
・少なくとも1つの以前に作成されたルールとの類似度を、少なくとも前記ルールの比較に基づいてルールライブラリ121から決定する。前記ルールは、遠隔操作中のコンピュータ・システム102で発生するイベントのパラメータの依存性を定義することができる。
・決定された類似度が確立された閾値を超える場合、アクティビティ分析モジュール100によって傍受されたイベントを作成した少なくとも1つのアプリケーションを決定し、そのパラメータは、パターン識別モジュール110によって取得されたルールを定式化するために使用されてもよく、予め定められた少なくとも1つのルールとの類似性の判定された値が、確立された閾値より高くてもよい。
・少なくとも1つの決定されたアプリケーションを識別する情報を分析モジュール130に送信する。
事前に作成されたルールは、パターン識別モジュール110から得られたルールの係数に基づいて、ルールライブラリ121から選択してもよい。
事前に作成されたルールは、以下のようにパターン識別モジュール110によって定式化されたルールと同じ方法で作成されてもよい。
a)既知の遠隔管理アプリケーションが以前にインストールされたコンピュータ・システムにおいて、様々なイベントを傍受する。
b)インターセプトされたイベントについて、イベントのパラメータを決定する。
c)少なくともステップa)で傍受された事象について前のステップで決定されたパラメータの分析に基づいて、コンピュータ・ネットワークにおける前記遠隔管理アプリケーションによるデータ転送のイベント及び周辺にあるデータ入力装置からの前記遠隔管理アプリケーションへのデータ転送のイベントを、前記イベントの中から特定する。
d)ステップа)で傍受されたイベントのうち、前のステップで特定されたイベントに依存する可能性のある少なくとも1つのイベントを決定する。
e)前のステップで決定された少なくとも1つのイベントについて、前のステップで決定されたイベントのパラメータの、ステップc)で特定されたイベントのパラメータへの依存性を定義するルールを決定して作成する。
ルールの比較は、少なくとも確立された閾値と以下の値との比較を含んでもよい。
・以下のように、比較されるルールを記述する関数の畳み込みの結果を表す値。

ここでf1はルール#1を数学的に表現する関数であり、f2はルール#2を数学的に表現する関数である。
ルールは、入力データと出力データとの間の所定の関係を含んでいてもよく、ここでいう所定の(決定性がある)とは関係が明確に定義され、曖昧性や不確実性が許容されないということである。したがって、ルールは、入力データと出力データとを関連付ける特定の関数fによって数学的に表現されてもよい
・以下のように、比較されるルールを記述する行列の要素のセットから構成される配列のたたみ込みの結果から成る値。

ここで{ak}は以下のように表現される、ルール#1を数学的に表現する行列Aの要素のセットである。

{bk}は以下のように表現される、ルール#2を数学的に表現する行列Bの要素のセットである。

ルールは入力データと出力データとの間に所定の関係を含んでもよいため、入力データを出力データに変換する行列Aによって数学的に表現することができる。
類似度は、少なくとも次のように決定された数を含んでもよい。
・2つのベクトルのスカラー積。各ベクトルは比較されるルールの係数の集合。
・事前に決定された畳み込みのパラメータの値。
例えばルール#1がa1=0.10,a2=0.3,a3=0.17という三つの係数で記述され、ルール#2がb1=0.5,b2=0.9,b3=0.21というルールで記述される場合、コンピュータ・ネットワーク103で受信されたデータの量に関連して、コンピュータ・ネットワーク103で送信されたデータの量の変化の関数を以下のように特徴付ける。

ここでyはコンピュータ・ネットワーク103で送信されるデータの量を表し、xはコンピュータ・ネットワーク103で受信されたデータの量を表し、{p}は係数のセットを表す。
ルール#1と#2の類似度は以下のように計算されてもよい。

この式は前述の場合においてw=0.0434を与える。w=0.0の場合、ルールは同一であり、w=1.0の場合、ルールは異なる可能性がある。ルールの類似性の基準として、確立された閾値wthreshold=0.1を用いる。したがって、上記の比較したルール#1及び#2は類似している可能性がある。
検索モジュール120によって決定された少なくとも1つのアプリケーションを識別する情報は、以下のうちの少なくとも1つを含んでもよい。
・アプリケーション又はアプリケーションによって作成されたプロセスの独自の識別子
・実行可能アプリケーションファイルへのパス
・アプリケーションの名前
分析モジュール130は以下のように構成されてもよい。
・受け取った情報から識別されたアプリケーションを分析する。ここで、周辺にあるデータ入力装置101からのデータ転送のイベントのパラメータに関するコンピュータ・ネットワーク103内の前述のアプリケーションによるデータ転送のイベントのパラメータの依存性は、分析中に決定される。
・少なくとも分析中の依存関係の存在に基づいて、リモート管理アプリケーションの検出に関する判定を行う。
・遠隔管理アプリケーションの検出に関して判明した判定の結果に基づいて、前述のアプリケーションをブロックする。
アプリケーションの分析は、以下のうちの少なくとも1つを含んでもよい。
・アプリケーションのヒューリスティック分析。その間、次のことが決定される。
・周辺にあるデータ入力装置101からどのデータを転送するか。
・コンピュータ・システム102におけるデータ転送後にどのような動作が起こるか。
・この後にどのデータがコンピュータ・ネットワーク103において送信又は受信されるか
・決定されたデータとアクションとの間の依存性
・アプリケーションの構造及びデータの転送を担うコードの検索の分析
・コンピュータ・ネットワーク103におけるデータの転送
・コンピュータ・システム102における動作の実行
・コンピュータ・ネットワーク103におけるデータの送信又は受信
例えば、アプリケーションの構造を分析する際に、以下の原因となる実行可能コードを検索してもよい。
・コンピュータ・ネットワーク103におけるデータの送信又は受信。
・コンピュータ・システム102における動作の実行。
ただし、周辺にあるデータ入力装置101からのデータの受信には関連していないもの、またそれは以下のような疑似コードによって定義されてもよい。
recv(<server>、<command>)
switch(<command>)
case<action−id>:<action>
...
case<action−id>:<action>
このようなアプリケーション作業の編成は、コンピュータ・ネットワーク103内のサーバとデータを交換し、コンピュータ・システム102内でアクションを実行し、周辺にあるデータ入力装置101から受信しているデータを何ら処理することがない遠隔管理アプリケーションの特徴としてもよい。
アプリケーションのブロックは、以下のうち少なくとも1つを含んでもよい。
・アプリケーションの関与を伴ってコンピュータ・ネットワーク内のデータ交換をブロックする
・RAMからのアプリケーションの削除
・コンピュータ・システム102を構成する情報媒体(ハードドライブ等)からのアプリケーションの削除
例えば、アプリケーションRemoteAdminが遠隔管理アプリケーションであると判定された場合、分析モジュール130は、ネットワーク・パケットがコンピュータ・ネットワーク103のサーバに、及びサーバから遠隔管理アプリケーションに送信されないように、ファイアウォールを設定することができる(例えば、対応する動作パラメータを割り当てる等)。したがって、RemoteAdminアプリケーションは、コンピュータ・システム102内では機能することができるが、コンピュータ・ネットワーク103内でコマンドを受信したりデータを送信したりすることができず、アプリケーションが安全なアプリケーションであることを示すことができる。
本発明の態様によれば、少なくとも正当なアプリケーションRemoteAdmin及び悪意あるアプリケーションBackdoor.Win32.Agentの2つの遠隔管理アプリケーションがインストールされるコンピュータ・システム102を含む遠隔管理をブロックするためのシステムが考えられる。アプリケーションRemoteAdminは、ユーザのコンピュータのリモート管理を目的としている場合があり、その間ユーザはこのアプリケーションの制御に参加し、その作業を監視することができる。アプリケーションBackdoor.Win32.Agentも同様に、ユーザのコンピュータのリモート管理を目的としている場合もあるが、RemoteAdminとは異なり、インターフェース要素のデモンストレーションを通じて周辺装置のデータ入力装置101からのデータを受信せずに、秘密にユーザの許可なしに行うことができる。
アプリケーションRemoteAdminの作動中、アクティビティ分析モジュール100は、以下のイベントを傍受することができる。
・ユーザがアプリケーションの作業をセットアップすることができる場合、コンピュータマウス101からRemoteAdminアプリケーションへのデータの転送
・socket、send、recv等のサーバとのネットワーク接続を確立することに関連する関数の呼び出し
・SendMessage、SendDlgItemMessage等の、コンピュータ・システム102内で動作するアプリケーションへのメッセージの送信に関連する機能の呼び出し。
・ローカルエリアコンピュータ・ネットワーク103を介したサーバからのデータの受信。
すべての傍受されたイベントについて、以下からイベントのパラメータを選ぶことができる。
・カーソルの座標及びコンピュータマウス101上で押されたキーの識別子。
・接続が確立されるサーバのネットワークアドレス。
・サーバーから受信しているデータ量。
・次のような他のアプリケーションに送信されるメッセージの種類。
・アプリケーションの識別子
・メッセージの識別子
・メッセージのコンテキストでアプリケーションに送信されるデータ
イベントのパラメータが選別された後、パターン識別モジュール110は、以前に傍受されたアプリケーションRemoteAdminのイベントから、コンピュータ・ネットワーク103におけるデータ転送の事象、及び周辺にあるデータ入力装置101からのデータ転送の事象を識別してもよい。これらのイベントは、ネットワーク接続が以前に確立されている可能性のあるサーバからのデータの送受信、及びユーザがそのアプリケーションの作業をセットアップしているときにコンピュータマウス101からRemoteAdminアプリケーションへのデータ転送のイベントである。
次に、パターン識別モジュール110は、残りの傍受されたイベントから、以前に識別されたイベントに依存し得るイベントを決定してもよい。これは、サーバから受信したデータをコンピュータ・システム102内で動作するアプリケーションに送信するためのSendMessage関数を呼び出すイベントであることを示す。アプリケーションに送信されるこのタイプのメッセージは、例えば、コンピュータマウスで実行されたユーザのアクション等、RemoteAdminアプリケーションの設定に依存してもよく、アプリケーションに送信されるデータは、コンピュータ・ネットワーク103を通じてサーバから受信したデータに依存してもよい。決定されたイベントのパラメータの、以前に識別されたイベントに対する依存性は、以下の形式で表現されてもよい。

ここでTはアプリケーションRemoteAdminによってコンピュータ・システム102にインストールされた他のアプリケーションに送信されるメッセージのタイプであり、PはアプリケーションRemoteAdminによってコンピュータ・システム102にインストールされた他のアプリケーションに送信されるデータの量であり、Mは、コンピュータマウス101の動きのパラメータであり、Dは、サーバからコンピュータ・ネットワーク103を介してアプリケーションRemoteAdminによって受信されたデータの量であり、{K}は係数のセットである。
サーバからアプリケーションに受信されたデータの送信のための関数SendMessageを呼び出すイベントについて得られた依存性に少なくとも基づいて、上記の決定された依存性を定義するルールを定式化することができる。例えば、[数12]に示した依存性を表す式においては、係数はk1=0.85,k2=0.19,k3=0.21,k4=0.47と計算される。
検索モジュール120は、例えばコンピュータ・システム102にインストールされたアプリケーションに送信されたメッセージのタイプや、メッセージの補助により前記アプリケーションによって送信されたデータ量といった、事前に定式化されたルールと同じパラメータによって記述された依存性を示すルールを、ルール121のライブラリから決定したり選択してもよい。前記二つのルールに決定されても良く、係数はそれぞれ以下に等しい。
・k11=0.71,k12=0.19,k13=0.31,k14=0.97
・k21=0.85,k22=0.65,k23=0.01,k24=0.47
ルールが選択された後、検索モジュール120は、公式化されたルールと選択されたルールとの類似度係数を以下のように決定してもよい。
・w1=1.1606
・w2=1.069
前記決定されたルールと前記選択されたルールとの類似度の前記決定された係数の平均値である類似性の合計係数は以下のようになる。
・w_total=1.1148
確立された閾値としてw_threshold=1.5が与えられると、得られた類似度wtotal=1.1148は傍受された事象が遠隔管理されているコンピュータ・システムの事象として分類されない可能性があり、結果としてアプリケーションRemoteAdminが正当である可能性がある。
アプリケーションBackdoor.Win32.Agentの作業中、アクティビティ分析モジュール100は、以下のイベントを傍受してもよい。
・ソケット、送信、受信等のサーバとのネットワーク接続の確立に関連する機能の呼び出し
・SendMessage、SendDlgItemMessage等の、コンピュータ・システム102で動作するアプリケーションへのメッセージの送信に関連する機能の呼び出し
・OpenProcess、ReadProcessMemory等のコンピュータ・システム102にインストールされた他のアプリケーションによって占有されているメモリ領域からのデータの受信に関する機能の呼び出し
・コンピュータ・ネットワーク103を介したサーバからのデータの受信
・コンピュータ・ネットワーク103を介したサーバへのデータの送信
全ての傍受されたイベントについて、以下からイベントのパラメータを選択してもよい。
・接続が確立されるサーバのネットワークアドレス
・サーバーから受信しているデータ量
・サーバーに送信されるデータの量
・次のような他のアプリケーションに送信されるメッセージの種類
・アプリケーションの識別子
・メッセージの識別子
・メッセージのコンテキストでアプリケーションに送信されるデータ
・データの読み取りが発生するメモリ領域を占有するアプリケーションの識別子
・データの読み取りが発生するメモリ領域のパラメータ
イベントのパラメータが決定された後、パターン識別モジュール110は、前に傍受されたアプリケーションBackdoor.Win32Agentのイベントから、コンピュータ・ネットワーク103におけるデータ転送のイベント、及び周辺にあるデータ入力装置101からのデータ転送のイベントを識別してもよい。例えば、これらは、ネットワーク接続が以前に確立されたサーバからのデータの送信及び受信のイベントを含むことができるが、周辺にあるデータ入力装置101からのデータの送信のイベントが特定されることはない。具体的には、イベントは事前に確立された時間閾値よりも遅れることなく、ある事象が別の事象の後に続く場合に互いに関連し得る。イベント間で事前に確立された時間閾値よりも大きい時間が経過した場合であっても、後のイベントのパラメータが以前のイベントのパラメータと相関する場合、イベント同士は依存関係がある可能性がある。
パターン識別モジュール110は、さらに、残りの傍受されたイベントから、少なくとも(イベント#2がイベント#1が発生した後の指定された時間よりも遅れて発生しないといった時間的な)基準に基づいて識別されたイベントに依存するイベントを決定してもよい。 1)サーバから受信したデータをコンピュータ・システム102内で実行中のアプリケーションに送信するためのSendMessage機能の呼び出しのイベント。前記の例では、アプリケーションに送信されるイベントのタイプは、サーバからコンピュータ・ネットワーク103を介してBackdoor.Win32Agentによって受信されたデータの量に依存してもよい。各イベントは、それ自体の、しばしば個々の容量のデータがコンピュータ・ネットワークを介して送信されること、すなわちタイプTとタイプDの依存性が常に発生することによって特徴付けられる。従って、以前に識別されたイベントに対する決定されたイベントのパラメータの依存性は、以下のように線形形式で表すことができる。

ここでTはアプリケーションBackdoor.Win32Agentによってコンピュータ・システム102にインストールされた他のアプリケーションに送信されるメッセージのタイプであり、Dはサーバからコンピュータ・ネットワーク103を介してアプリケーションBackdoor.Win32Agentによって受信されたデータの量であり、{K}は係数の集合である。
サーバからアプリケーションに受信されたデータを送信するための関数SendMessageを呼び出すイベントについて得られた依存性に基づいて、前記の決定された依存性を定義するルールを定式化することができ、例えば[数13]の係数の数値は以下のように計算することができる。
・k1=0.97
・k2=0.89
2)コンピュータ・システム102にインストールされたアプリケーションによって占有されるメモリ領域から(ReadProcessMemory関数を呼び出すことによって)データを読み出すイベント。1つの側面によれば、読み取られるデータの量は、コンピュータ・ネットワーク103内のサーバからBackdoor.Win32Agentによって受信されたメモリアドレスに依存してもよい。例えば、以前に識別されたイベントに対する決定されたイベントのパラメータの依存性は、以下の形式で表現してもよい。

ここでDはメモリアドレスAで読み出されたデータの量であり、Aは、コンピュータ・ネットワーク103内のサーバからBackdoor.Win32Agentによって取得されたデータが格納されているメモリアドレスであり、{K}は係数のセットである。
関数ReadProcessMemoryを呼び出すイベントに対して得られた依存性に少なくとも基づいて、前記の決定された依存性を定義するルールを定式化することができ、例えば、[数14]の係数の数値は以下のように計算することができる。
・k1=0.47
・k2=0.98
・k3=1.43
検索モジュール120は、以前に公式化されたルールと同じパラメータの依存性を記述するルールのルール121のライブラリから、決定し選択してもよい。例えば、係数はそれぞれ以下に等しい。
・k1=0.99,k2=0.87
・k1=0.53,k2=0.98,k3=1.21
ルールが選択された後、検索モジュール120は、公式化されたルールと選択されたルールとの類似度の係数を以下のように決定してもよい。
・w1=1.7346
・w2=2.9398
公式化されたルールと選択されたルールとの類似度の上記決定された係数の平均値である類似性の合計係数は以下のようになる。
・wtotal=2.3372
確立された閾値としてwthreshold=1.5が与えられれば、得られた類似度wtotal=2.3372は、傍受されたイベントが遠隔的に管理されているコンピュータ・システムのイベントとして分類され得ることを示す。
上記与えられた公式は単なる例であり、特定の実施例であり、得られた傍受事象のパラメータを経験的に記述している任意の数式を使用して、ルールの類似度係数を計算することができることを理解されたい。
その後、分析モジュール130は、アプリケーションの構造の分析を実行し、以下に関する実行可能なコードを決定する。
・コンピュータ・ネットワーク103におけるデータの送信又は受信
・コンピュータ・システム102における動作の実行
ただし、以下には関連しないコードとする。
・周辺にあるデータ入力装置101からのデータの受信
必要な機能を備えたアプリケーションの実行可能コードの検索は、以下のようにして行ってもよい。
1.アプリケーションの解析されるコードのセグメントは、例えば、機械コードから(例えば、プログラミング言語のアセンブラの)コマンドのセットに翻訳される。
2.結果のコマンドのセットでは、必要な機能を担うコマンドに対して検索を実行する。例えば、コンピュータ・ネットワークへのデータの送信は、API関数の送信等によって行う。
3.コマンドに送信されているパラメータを決定し、分析する。
4.パラメータが、例えば、所与のサーバへのデータの送信等の確立された条件を満たしている場合、分析されたコードセグメントが要求された機能性を担うことが考えられる。
そのようなコードは特定され、その擬似コードは以下のようになっている。
recv(<server>,<command>)
switch(<command>)
case'killapp':<closes the application running in the computer system 102>
case'sendpasswords':<sends passwords discovered on the computer system 102 through the computer network 103>
このようなアプリケーションの動作の編成は、コンピュータ・ネットワーク103内のサーバとデータを交換し、コンピュータ・システム102内でアクションを実行し、周辺にあるデータ入力装置101から受信しているデータを処理しない遠隔管理アプリケーションの特性としてもよい。
図2は、コンピュータを不正な遠隔管理から保護するための例示的な方法を提示する。本方法は、イベントを傍受するステップ201、イベントのパラメータを決定するステップ202、イベントを識別するステップ203、イベントを決定するステップ204、ルールを定式化するステップ205、類似性の値を決定するステップ206、アプリケーションを決定するステップ207、アプリケーションを分類するステップ208、判定を下すステップ209、及びアプリケーションをブロックするステップ210からなる。
ステップ201において、コンピュータ・システム102において発生したイベントを傍受してもよく、傍受されたイベントは、以下のうちの少なくとも1つを含んでもよい。
・オペレーティング・システムのAPI機能のアプリケーションによる呼び出し
・プロセス間通信技術を使用したアプリケーションのプロセス間のデータ転送
・コンピュータ・システムのソフトウェアとハードウェアコンポーネント間でのデータ転送
・コンピュータ・ネットワーク103内のアプリケーションによるデータ転送
・周辺にあるデータ入力装置101からのアプリケーションへのデータ転送
イベントの傍受は、コンピュータ・システム102にインストールされたドライバの補助により行われる。
周辺にあるデータ入力装置101は、以下のうちの少なくとも1つを含んでもよい。
・キーボード
・コンピュータマウス
・タッチスクリーン
・非接触タッチスクリーンコントローラ
ステップ202では、ステップ201で傍受された各イベントのパラメータが決定されてもよい。
前記イベントパラメータは、以下のうちの少なくとも1つを含んでもよい。
・イベントの種類。
・オペレーティング・システムのイベント(プロセス識別子、PID)を作成したアプリケーション又はプロセスの識別子。
・オペレーティング・システムでイベント(グローバル一意識別子、GUID)を作成したアプリケーション又はサービスの識別子。
・上記のイベントの前のイベント。
・転送されるデータの場合について、
・データ送信元及びデータ受信元の固有の識別子。これには少なくとも以下のうち1つを含んでもよい。
・コンピュータ・ネットワーク103内のデータ伝送に関与するサーバのネットワークアドレス
・コンピュータ・システム102のハードウェアコンポーネントのタイプ
・転送されるデータのタイプ。
・転送されるデータの量。
・直接転送されるデータ。
ステップ203において、ステップ201で傍受されたイベントの中に、少なくともステップ201で傍受されたイベントのステップ202で決定されたパラメータの分析に基づいて、特定されたコンピュータ・ネットワーク103内のアプリケーションによるデータの転送のイベントと、周辺にあるデータ入力装置101からのアプリケーションへのデータ転送のイベントとが含まれてもよい。
傍受されたイベントの中でイベントの識別は、少なくとも、以下のうち少なくとも1つに基づいて起こってもよい。
・イベントの種類。
・アプリケーション又はイベントを作成したアプリケーションのプロセスの独自の識別子。
ステップ204において、ステップ201で傍受されたイベントの中で、ステップ203で特定されたイベントに依存する少なくとも1つのイベントが判定されてもよく、識別されたイベントに対する傍受されたイベントの依存性は、少なくとも以下によって決定される。
・識別されたイベントの登録とそれに続く傍受されたイベントの登録との間に経過した時間が、以前に確立された時間しきい値よりも短い。
・傍受されたイベントのパラメータが、前述の傍受されたイベントより前に登録された識別されたイベントのパラメータと相関する。
ステップ205において、ステップ203において特定されたイベントのパラメータに基づいてステップ204において決定されたイベントのパラメータの依存性を決定するステップ204において決定された少なくとも1つのイベントに対してルールを決定し形成してもよい。
あるイベントのパラメータの、別のイベントのパラメータに対する依存性を定義するルールは、少なくとも以下から構成されてもよい。
・以下のように表される線形変換行列T。


ここでP1は以下のように表現されるイベント#1のパラメータのセットである

P2は以下のように表現されるイベント#2のパラメータのセットである。

・以下のように表される関数P2の係数のセット

ここでP1はイベント#1のパラメータ、P2はイベント#2のパラメータである。
あるイベントのパラメータの別のイベントのパラメータへの依存性を記述するルールの定式化は、以下の少なくとも1つを含むことができる。
・ルールを表現する形式の少なくとも1つを選択する。
・行列を用いる形式。この場合は1つのパラメータの別のパラメータへの依存性は、行列を用いた演算を介して表現することができる
・ベクトルを用いる形式。この場合は1つのパラメータの別のパラメータへの依存性は、係数のセットを用いた演算によって表現することができる。
・イベントの指定されたパラメータに対して選択された表現に使用される係数を計算する。
ステップ206において、少なくとも1つの以前に作成されたルールとステップ205で策定されたルールの類似度は、少なくとも前述のルールの比較に基づいて決定されてもよく、遠隔管理の間にコンピュータ・システム102で発生するイベントのパラメータの依存性を決定してもよい。
以前に作成されたルールは、少なくともパターン識別モジュール110から得られたルールの係数に基づいて、ルールライブラリ121から選択してもよい。
以前に作成されたルールは、パターン識別モジュール110によって定式化されたルールと同じ方法、即ち以下の方法で作成されてもよい。
a)既知の遠隔管理アプリケーションが以前にインストールされたコンピュータ・システムにおいて、様々なイベントを傍受する。
b)インターセプトされたイベントについて、イベントのパラメータを決定する。
c)少なくともステップa)で傍受された事象について前のステップで決定されたパラメータの分析に基づいて、コンピュータ・ネットワークにおける前記遠隔管理アプリケーションによるデータ転送のイベント及び周辺にあるデータ入力装置からの前記遠隔管理アプリケーションへのデータ転送のイベントを、前記イベントの中から特定する。
d)ステップа)で傍受されたイベントのうち、前のステップで特定されたイベントに依存する可能性のある少なくとも1つのイベントを決定する。
e)前のステップで決定された少なくとも1つのイベントについて、前のステップで決定されたイベントのパラメータの、ステップc)で特定されたイベントのパラメータへの依存性を定義するルールを決定して作成する。
ルールの比較は、少なくとも確立された閾値と以下の値との比較を含んでもよい。
・以下のように、比較されるルールを記述する関数の畳み込みの結果を表す値。

ここでf1はルール#1を数学的に表現する関数であり、f2はルール#2を数学的に表現する関数である。
ルールは入力データと出力データとの間の所定の関係を含んでいてもよく、所定の(決定性がある)というのは関係が明確に定義されている、すなわち曖昧性や不確実性が許容されないということである。したがってしたがって、ルールは、入力データと出力データとを関連付ける特定の関数fによって数学的に表現されてもよい
・以下のように、比較されるルールを記述する行列の要素のセットから構成される配列のたたみ込みの結果から成る値。

ここで{ak}は以下のように表現される、ルール#1を数学的に表現する行列Aの要素のセットである。

{bk}は以下のように表現される、ルール#2を数学的に表現する行列Bの要素のセットである。

ルールは入力データと出力データとの間に所定の関係を含んでもよいため、入力データを出力データに変換する行列Aによって数学的に表現することができる。
類似度は、少なくとも次のように決定された数を含んでもよい。
・2つのベクトルのスカラー積。各ベクトルは比較されるルールの係数の集合。
・事前に決定された畳み込みのパラメータの値。
ステップ207において、ステップ206で決定された類似度が確立された閾値を超えるとき、ステップ201で傍受されたイベントを作成した少なくとも1つのアプリケーションを決定してもよく、ステップ202で決定されたパラメータはステップ205でルールを作成するのに用いられ、前のステップで決定された類似度は、以前に作成された少なくとも1つのルールに対して、確立された閾値より高くてもよい。
ステップ208において、ステップ207で決定されたアプリケーションが分析され、周辺にあるデータ入力装置101からのデータ転送のイベントのパラメータに対するコンピュータ・ネットワーク103における前記アプリケーションによるデータ転送のイベントのパラメータの依存性は、分析の間に決定されてもよい。
アプリケーションの分析は、以下のうちの少なくとも1つを含んでもよい。
・アプリケーションのヒューリスティック分析。その間、次のことが決定される。
・周辺にあるデータ入力装置101からどのデータを転送するか。
・コンピュータ・システム102におけるデータ転送後にどのような動作が起こるか。
・この後にどのデータがコンピュータ・ネットワーク103において送信又は受信されるか
・決定されたデータとアクションとの間の依存性
・アプリケーションの構造及びデータの転送を担うコードの検索の分析
・コンピュータ・ネットワーク103におけるデータの転送
・コンピュータ・システム102における動作の実行
・コンピュータ・ネットワーク103におけるデータの送信又は受信
ステップ209において、少なくともステップ208で実行された分析の間の依存性の存在の決定に基づいて、遠隔管理アプリケーションの検出の判定を下してもよい。
ステップ210において、ステップ207において決定されたアプリケーションを、遠隔管理アプリケーションの検出に関してステップ209において下された判定結果に基づいてブロックしてもよい。
アプリケーションのブロックは、少なくとも以下のうちの少なくとも1つを含んでもよい。
・アプリケーションの関与を伴ったコンピュータ・ネットワーク内のデータ交換のブロック
・RAMからのアプリケーションの削除
・コンピュータ・システム102を構成する情報媒体(ハードドライブ等)からのアプリケーションの削除
図3は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータ・システム(パーソナル・コンピュータやサーバ等)の例を示している。図示の通り、コンピュータ・システム20は、CPU21と、システムメモリ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は、図4に示すように、コンピュータ・システム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つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる(図3において詳述したもの等)。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
本明細書で開示された様々な側面は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、側面及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。

Claims (20)

  1. コンピュータで実施され且つコンピュータ・システムのリモート管理を検出する方法であって、
    傍受ステップと、第1決定ステップと、第1識別ステップと、第2決定ステップと、第3決定ステップと、第4決定ステップと、第2識別ステップと、判定ステップとを備え、
    前記傍受ステップでは、前記コンピュータ・システムのプロセッサを介して、前記コンピュータ・システムにおいて発生した複数のイベントを傍受し、
    前記第1決定ステップでは、各傍受イベントのパラメータを決定し、
    前記第1識別ステップでは、前記決定されたパラメータに少なくとも基づいて、コンピュータ・ネットワーク内のアプリケーションによる第1データ転送又はコンピュータ・システムの周辺にあるデータ入力装置からのアプリケーションへの第2データ転送に関連するものとして識別し、
    前記第2決定ステップでは、前記傍受された複数のイベントのうちの2つを、前記第1及び第2データ転送に関連する特定された傍受イベントに少なくとも基づいて、互いに依存するものとして決定し、
    前記3決定ステップでは、前記2つの傍受イベントのパラメータの依存関係を定義する第1ルールを決定し、
    前記第4決定ステップでは、前記第1ルールと以前に作成された第2ルールとの類似度を決定し、
    前記第2識別ステップでは、所定の閾値を超える類似度を検出した場合に、前記第1ルール及び前記第2ルールに少なくとも基づいて少なくとも1つのアプリケーションを識別し、
    前記判定ステップでは、少なくとも1つのアプリケーションについて、リモート管理のためのアプリケーションか否かの判定を行う、
    方法。
  2. 記複数のイベントは、呼び出しステップと、第1転送ステップと、第2転送ステップと、第3転送ステップと、第4転送ステップのうち、少なくとも1つを含み、
    前記呼び出しステップは、コンピュータ・システムにインストールされたオペレーティング・システムのAPI機能のためのアプリケーションによる呼び出しをし、
    前記第1転送ステップは、プロセス間通信技術を介したアプリケーションのプロセス間でのデータ転送をし、
    前記第2転送ステップは、コンピュータ・システムのソフトウェアコンポーネントとハードウェアコンポーネントとの間のデータ転送をし、
    前記第3転送ステップは、コンピュータ・ネットワーク内のアプリケーションによるデータ転送をし、
    前記第4転送ステップは、少なくとも1つの周辺にあるデータ入力装置からのアプリケーションへのデータ転送をする、
    請求項1に記載の方法。
  3. 前記周辺にあるデータ入力装置は、キーボードと、コンピュータマウスと、タッチスクリーンと、非接触タッチスクリーンコントローラのうち少なくとも1つを含む、
    請求項2に記載の方法。
  4. 前記第1決定ステップは、傍受タイプと、第1識別子と、第2識別子と、先行イベントと、第3識別子と、データタイプと、データ量と、転送データのうち1つもしくは複数のパラメータを決定する方法であって、
    前記傍受タイプは、傍受された各イベントのタイプで、
    前記第1識別子は、コンピュータ・システムのオペレーティング・システムにおいて各傍受されたイベントを作成したアプリケーション又はプロセスの識別子で、
    前記第2識別子は、オペレーティング・システムで各代行受信イベントを作成したアプリケーション又はサービスの識別子で、
    前記先行イベントは、それぞれの傍受されたイベントに先行する少なくとも1つのイベントで、
    前記第3識別子は、転送されたデータのデータ送信元とデータ受信元の識別子で、
    前記データタイプは、転送されたデータのタイプで、
    前記データ量は、転送されたデータの量で、
    前記転送データは、直接的に転送されたデータである、
    請求項1に記載の方法。
  5. 前記第2決定ステップは、時間閾値と、パラメータ相関の少なくとも1つを決定し、
    前記時間閾値は、第1の識別された傍受されたイベントの登録と第2の傍受されたイベントの登録との間に経過した時間の閾値で、
    前記パラメータ相関は、前記2つの傍受イベントのパラメータは、現在の傍受されたイベントよりも前に登録された特定された傍受されたイベントのパラメータとの相関である、
    請求項1に記載の方法。
  6. 前記第3決定ステップは、ルール選択ステップと、係数計算ステップを備え、
    前記ルール選択ステップは、ルールを表すために行列形式又はベクトル形式のうちの少なくとも1つを選択し、
    前記係数計算ステップは、前記2つの傍受イベントのうちの1つのパラメータに基づいて、ルールの選択された表現に対する係数を計算する、
    請求項1に記載の方法。
  7. 前記第4決定ステップは、ヒューリスティック分析と、構造分析のうち少なくとも1つを備え、
    前記ヒューリスティック分析では、コンピュータ・システムにおけるデータ転送の後に発生する動作、コンピュータ・ネットワークにおいて送信又は受信された動作の後のデータ、及びデータと動作との間の依存性のうち少なくとも1つを決定する、少なくとも1つのアプリケーションを分析し、
    前記構造分析は、少なくとも1つのアプリケーションの構造及びコンピュータ・ネットワークにおけるデータ転送を担うコード、コンピュータ・システムにおける動作の実行、及びコンピュータ・ネットワークにおけるデータの送信又は受信を分析する、
    請求項1に記載の方法。
  8. 前記判定に応答して前記少なくとも1つのアプリケーションをブロックする第1ブロックステップを更に備え、
    前記第1ブロックステップは、第2ブロックステップと、第1除去ステップと、第2除去ステップの少なくとも1つを備え、
    前記第2ブロックステップは、少なくとも1つのアプリケーションとのコンピュータ・ネットワークにおけるデータ交換をブロックし、
    前記第1除去ステップは、コンピュータ・システムのRAMから少なくとも1つのアプリケーションを除去し、
    前記第2除去ステップはコンピュータ・システムの情報媒体から少なくとも1つのアプリケーションを除去する、
    請求項1に記載の方法。
  9. コンピュータ・システムのリモート管理を検出するシステムであって、前記コンピュータ・システムの少なくとも1つのプロセッサを備え、
    前記プロセッサは、傍受ステップと、第1決定ステップと、第1識別ステップと、第2決定ステップと、第3決定ステップと、第4決定ステップと、第2識別ステップと、判定ステップとを実行するように構成され、
    前記傍受ステップでは、前記コンピュータ・システムのプロセッサを介して、前記コンピュータ・システムにおいて発生した複数のイベントを傍受し、
    前記第1決定ステップでは、各傍受イベントのパラメータを決定し、
    前記第1識別ステップでは、前記決定されたパラメータに少なくとも基づいて、コンピュータ・ネットワーク内のアプリケーションによる第1データ転送又はコンピュータ・システムの周辺にあるデータ入力装置からのアプリケーションへの第2データ転送に関連するものとして識別し、
    前記第2決定ステップでは、前記傍受された複数のイベントのうちの2つを、前記第1及び第2データ転送に関連する特定された傍受イベントに少なくとも基づいて、互いに依存するものとして決定し、
    前記3決定ステップでは、前記2つの傍受イベントのパラメータの依存関係を定義する第1ルールを決定し、
    前記第4決ステップでは、前記第1ルールと以前に作成された第2ルールとの類似度を決定し、
    前記第2識別ステップでは、所定の閾値を超える類似度を検出した場合に、前記第1ルール及び前記第2ルールに少なくとも基づいて少なくとも1つのアプリケーションを識別し、
    前記判定ステップでは、少なくとも1つのアプリケーションについて、リモート管理のためのアプリケーションか否かの判定を行う、
    システム。
  10. 記複数のイベントは、呼び出しステップと、第1転送ステップと、第2転送ステップと、第3転送ステップと、第4転送ステップのうち、少なくとも1つを含み、
    前記呼び出しステップは、コンピュータ・システムにインストールされたオペレーティング・システムのAPI機能のためのアプリケーションによる呼び出しをし、
    前記第1転送ステップは、プロセス間通信技術を介したアプリケーションのプロセス間でのデータ転送をし、
    前記第2転送ステップは、コンピュータ・システムのソフトウェアコンポーネントとハードウェアコンポーネントとの間のデータ転送をし、
    前記第3転送ステップは、コンピュータ・ネットワーク内のアプリケーションによるデータ転送をし、
    前記第4転送ステップは、少なくとも1つの周辺にあるデータ入力装置からのアプリケーションへのデータ転送をする、
    請求項9に記載のシステム。
  11. 前記周辺にあるデータ入力装置は、キーボードと、コンピュータマウスと、タッチスクリーンと、非接触タッチスクリーンコントローラのうち少なくとも1つを含む、
    請求項10に記載のシステム。
  12. 前記第1決定ステップは、傍受タイプと、第1識別子と、第2識別子と、先行イベントと、第3識別子と、データタイプと、データ量と、転送データのうち1つもしくは複数のパラメータを決定する方法であって、
    前記傍受タイプは、傍受された各イベントのタイプで、
    前記第1識別子は、コンピュータ・システムのオペレーティング・システムにおいて各傍受されたイベントを作成したアプリケーション又はプロセスの識別子で、
    前記第2識別子は、オペレーティング・システムで各代行受信イベントを作成したアプリケーション又はサービスの識別子で、
    前記先行イベントは、それぞれの傍受されたイベントに先行する少なくとも1つのイベントで、
    前記第3識別子は、転送されたデータのデータ送信元とデータ受信元の識別子で、
    前記データタイプは、転送されたデータのタイプで、
    前記データ量は、転送されたデータの量で、
    前記転送データは、直接的に転送されたデータである、
    請求項9に記載のシステム。
  13. 前記第2決定ステップは、時間閾値と、パラメータ相関の少なくとも1つを決定し、
    前記時間閾値は、第1の識別された傍受されたイベントの登録と第2の傍受されたイベントの登録との間に経過した時間の閾値で、
    前記パラメータ相関は、前記2つの傍受イベントのパラメータは、現在の傍受されたイベントよりも前に登録された特定された傍受されたイベントのパラメータとの相関である、
    請求項9に記載のシステム。
  14. 前記第3決定ステップは、ルール選択ステップと、係数計算ステップを備え、
    前記ルール選択ステップは、ルールを表すために行列形式又はベクトル形式のうちの少なくとも1つを選択し、
    前記係数計算ステップは、前記2つの傍受イベントのうちの1つのパラメータに基づいて、ルールの選択された表現に対する係数を計算する、
    請求項9に記載のシステム。
  15. 前記第4決定ステップは、ヒューリスティック分析と、構造分析のうち少なくとも1つを備え、
    前記ヒューリスティック分析では、コンピュータ・システムにおけるデータ転送の後に発生する動作、コンピュータ・ネットワークにおいて送信又は受信された動作の後のデータ、及びデータと動作との間の依存性のうち少なくとも1つを決定する、少なくとも1つのアプリケーションを分析し、
    前記構造分析は、少なくとも1つのアプリケーションの構造及びコンピュータ・ネットワークにおけるデータ転送を担うコード、コンピュータ・システムにおける動作の実行、及びコンピュータ・ネットワークにおけるデータの送信又は受信を分析する、
    請求項9に記載のシステム。
  16. 前記判定に応答して前記少なくとも1つのアプリケーションをブロックする第1ブロックステップを更に備え、
    前記第1ブロックステップは、第2ブロックステップと、第1除去ステップと、第2除去ステップの少なくとも1つを備え、
    前記第2ブロックステップは、少なくとも1つのアプリケーションとのコンピュータ・ネットワークにおけるデータ交換をブロックし、
    前記第1除去ステップは、コンピュータ・システムのRAMから少なくとも1つのアプリケーションを除去し、
    前記第2除去ステップはコンピュータ・システムの情報媒体から少なくとも1つのアプリケーションを除去する、
    請求項9に記載のシステム。
  17. コンピュータが実施可能且つコンピュータ・システムのリモート管理を検出するコードを記憶した不揮発性コンピュータ可読媒体であって、命令を備え、
    前記命令は、傍受ステップと、第1決定ステップと、第1識別ステップと、第2決定ステップと、第3決定ステップと、第4決定ステップと、第2識別ステップと、判定ステップとを実行するもので、
    前記傍受ステップでは、前記コンピュータ・システムのプロセッサを介して、前記コンピュータ・システムにおいて発生した複数のイベントを傍受し、
    前記第1決定ステップでは、各傍受イベントのパラメータを決定し、
    前記第1識別ステップでは、前記決定されたパラメータに少なくとも基づいて、コンピュータ・ネットワーク内のアプリケーションによる第1データ転送又はコンピュータ・システムの周辺にあるデータ入力装置からのアプリケーションへの第2データ転送に関連するものとして識別し、
    前記第2決定ステップでは、前記傍受された複数のイベントのうちの2つを、前記第1及び第2データ転送に関連する特定された傍受イベントに少なくとも基づいて、互いに依存するものとして決定し、
    前記3決定ステップでは、前記2つの傍受イベントのパラメータの依存関係を定義する第1ルールを決定し、
    前記第4決ステップでは、前記第1ルールと以前に作成された第2ルールとの類似度を決定し、
    前記第2識別ステップでは、所定の閾値を超える類似度を検出した場合に、前記第1ルール及び前記第2ルールに少なくとも基づいて少なくとも1つのアプリケーションを識別し、
    前記判定ステップでは、少なくとも1つのアプリケーションについて、リモート管理のためのアプリケーションか否かの判定を行う、
    媒体。
  18. 記複数のイベントは、呼び出しステップと、第1転送ステップと、第2転送ステップと、第3転送ステップと、第4転送ステップのうち、少なくとも1つを含み、
    前記呼び出しステップは、コンピュータ・システムにインストールされたオペレーティング・システムのAPI機能のためのアプリケーションによる呼び出しをし、
    前記第1転送ステップは、プロセス間通信技術を介したアプリケーションのプロセス間でのデータ転送をし、
    前記第2転送ステップは、コンピュータ・システムのソフトウェアコンポーネントとハードウェアコンポーネントとの間のデータ転送をし、
    前記第3転送ステップは、コンピュータ・ネットワーク内のアプリケーションによるデータ転送をし、
    前記第4転送ステップは、少なくとも1つの周辺にあるデータ入力装置からのアプリケーションへのデータ転送をする、
    請求項17に記載のコンピュータ可読媒体。
  19. 前記第2決定ステップは、時間閾値と、パラメータ相関の少なくとも1つを決定し、
    前記時間閾値は、第1の識別された傍受されたイベントの登録と第2の傍受されたイベントの登録との間に経過した時間の閾値で、
    前記パラメータ相関は、前記2つの傍受イベントのパラメータは、現在の傍受されたイベントよりも前に登録された特定された傍受されたイベントのパラメータとの相関である、
    請求項17に記載のコンピュータ可読媒体。
  20. 前記判定に応答して前記少なくとも1つのアプリケーションをブロックする第1ブロックステップを更に備え、
    前記第1ブロックステップは、第2ブロックステップと、第1除去ステップと、第2除去ステップの少なくとも1つを備え、
    前記第2ブロックステップは、少なくとも1つのアプリケーションとのコンピュータ・ネットワークにおけるデータ交換をブロックし、
    前記第1除去ステップは、コンピュータ・システムのRAMから少なくとも1つのアプリケーションを除去し、
    前記第2除去ステップはコンピュータ・システムの情報媒体から少なくとも1つのアプリケーションを除去する、
    請求項17に記載のコンピュータ可読媒体。
JP2017028315A 2016-06-24 2017-02-17 不正リモート管理からのコンピュータを保護するためのシステム及び方法 Active JP6400758B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2016125280A RU2634173C1 (ru) 2016-06-24 2016-06-24 Система и способ обнаружения приложения удалённого администрирования
RU2016125280 2016-06-24
US15/386,423 2016-12-21
US15/386,423 US9811661B1 (en) 2016-06-24 2016-12-21 System and method for protecting computers from unauthorized remote administration

Publications (2)

Publication Number Publication Date
JP2017228277A JP2017228277A (ja) 2017-12-28
JP6400758B2 true JP6400758B2 (ja) 2018-10-03

Family

ID=60153940

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017028315A Active JP6400758B2 (ja) 2016-06-24 2017-02-17 不正リモート管理からのコンピュータを保護するためのシステム及び方法

Country Status (5)

Country Link
US (2) US9811661B1 (ja)
EP (1) EP3261012B1 (ja)
JP (1) JP6400758B2 (ja)
CN (1) CN107547495B (ja)
RU (1) RU2634173C1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2651196C1 (ru) * 2017-06-16 2018-04-18 Акционерное общество "Лаборатория Касперского" Способ обнаружения аномальных событий по популярности свертки события
US10949211B2 (en) * 2018-12-20 2021-03-16 Vmware, Inc. Intelligent scheduling of coprocessor execution
CN109523270B (zh) * 2018-12-21 2021-05-25 维沃移动通信有限公司 一种信息处理方法及终端设备
US11580234B2 (en) 2019-06-29 2023-02-14 Intel Corporation Implicit integrity for cryptographic computing
US11403234B2 (en) 2019-06-29 2022-08-02 Intel Corporation Cryptographic computing using encrypted base addresses and used in multi-tenant environments
US11575504B2 (en) 2019-06-29 2023-02-07 Intel Corporation Cryptographic computing engine for memory load and store units of a microarchitecture pipeline
US11250165B2 (en) 2019-12-20 2022-02-15 Intel Corporation Binding of cryptographic operations to context or speculative execution restrictions
CN111680293B (zh) * 2020-06-11 2024-01-16 天翼安全科技有限公司 基于互联网的信息监控管理方法、装置及服务器
US11669625B2 (en) 2020-12-26 2023-06-06 Intel Corporation Data type based cryptographic computing
US11580035B2 (en) 2020-12-26 2023-02-14 Intel Corporation Fine-grained stack protection using cryptographic computing

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6993582B2 (en) * 1996-07-30 2006-01-31 Micron Technology Inc. Mixed enclave operation in a computer network
US7168093B2 (en) * 2001-01-25 2007-01-23 Solutionary, Inc. Method and apparatus for verifying the integrity and security of computer networks and implementation of counter measures
US6990515B2 (en) * 2002-04-29 2006-01-24 International Business Machines Corporation Secure method and system to prevent internal unauthorized remotely initiated power up events in computer systems
JP4159100B2 (ja) * 2006-04-06 2008-10-01 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報処理装置による通信を制御する方法およびプログラム
RU2321055C2 (ru) * 2006-05-12 2008-03-27 Общество с ограниченной ответственностью Фирма "Анкад" Устройство защиты информации от несанкционированного доступа для компьютеров информационно-вычислительных систем
US7620992B2 (en) 2007-10-02 2009-11-17 Kaspersky Lab Zao System and method for detecting multi-component malware
WO2009151888A2 (en) * 2008-05-19 2009-12-17 Authentium, Inc. Secure virtualization system software
JP5011234B2 (ja) * 2008-08-25 2012-08-29 株式会社日立情報システムズ 攻撃ノード群判定装置およびその方法、ならびに情報処理装置および攻撃対処方法、およびプログラム
US8522348B2 (en) * 2009-07-29 2013-08-27 Northwestern University Matching with a large vulnerability signature ruleset for high performance network defense
JP2011053893A (ja) * 2009-09-01 2011-03-17 Hitachi Ltd 不正プロセス検知方法および不正プロセス検知システム
CN101739337B (zh) * 2009-12-14 2012-06-20 北京理工大学 一种基于聚类的软件漏洞序列特征的分析方法
US9705899B2 (en) 2010-01-26 2017-07-11 Bae Systems Information And Electronic Systems Integration Inc. Digital filter correlation engine
US8978136B2 (en) * 2011-02-17 2015-03-10 Terremark Worldwide, Inc. Systems and methods for detection and suppression of abnormal conditions within a networked environment
US8776241B2 (en) * 2011-08-29 2014-07-08 Kaspersky Lab Zao Automatic analysis of security related incidents in computer networks
CN102567534B (zh) * 2011-12-31 2014-02-19 凤凰在线(北京)信息技术有限公司 互动产品用户生成内容拦截系统及其拦截方法
ES2439803B1 (es) * 2012-04-19 2014-10-29 Universitat Politècnica De Catalunya Procedimiento, sistema y pieza de código ejecutable para controlar el uso de recursos de hardware de un sistema informático
RU2514140C1 (ru) 2012-09-28 2014-04-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов
US8630204B1 (en) * 2012-10-03 2014-01-14 LiveQoS Inc. System and method for a TCP mapper
US8990944B1 (en) * 2013-02-23 2015-03-24 Fireeye, Inc. Systems and methods for automatically detecting backdoors
US9009782B2 (en) * 2013-08-19 2015-04-14 Freescale Semiconductor, Inc. Steering traffic among multiple network services using a centralized dispatcher
US9451043B2 (en) * 2013-09-13 2016-09-20 Evie Labs, Inc. Remote virtualization of mobile apps
CN103440459B (zh) * 2013-09-25 2016-04-06 西安交通大学 一种基于函数调用的Android恶意代码检测方法
CN103561004B (zh) * 2013-10-22 2016-10-12 西安交通大学 基于蜜网的协同式主动防御系统
US20150205962A1 (en) 2014-01-23 2015-07-23 Cylent Systems, Inc. Behavioral analytics driven host-based malicious behavior and data exfiltration disruption
RU2571721C2 (ru) * 2014-03-20 2015-12-20 Закрытое акционерное общество "Лаборатория Касперского" Система и способ обнаружения мошеннических онлайн-транзакций
US9509708B2 (en) 2014-12-02 2016-11-29 Wontok Inc. Security information and event management
CN105184160B (zh) * 2015-07-24 2018-05-18 哈尔滨工程大学 一种基于API对象调用关系图的Android手机平台应用程序恶意行为检测的方法
CN105550584A (zh) * 2015-12-31 2016-05-04 北京工业大学 一种Android平台下基于RBAC的恶意程序拦截及处置方法

Also Published As

Publication number Publication date
US20180052996A1 (en) 2018-02-22
EP3261012B1 (en) 2019-10-16
CN107547495B (zh) 2020-12-11
US10095865B2 (en) 2018-10-09
JP2017228277A (ja) 2017-12-28
US9811661B1 (en) 2017-11-07
RU2634173C1 (ru) 2017-10-24
CN107547495A (zh) 2018-01-05
EP3261012A1 (en) 2017-12-27

Similar Documents

Publication Publication Date Title
JP6400758B2 (ja) 不正リモート管理からのコンピュータを保護するためのシステム及び方法
US11240262B1 (en) Malware detection verification and enhancement by coordinating endpoint and malware detection systems
US20200366694A1 (en) Methods and systems for malware host correlation
RU2706896C1 (ru) Система и способ выявления вредоносных файлов с использованием модели обучения, обученной на одном вредоносном файле
JP5972401B2 (ja) 攻撃分析システム及び連携装置及び攻撃分析連携方法及びプログラム
CN109586282B (zh) 一种电网未知威胁检测系统及方法
Zhao et al. Malicious executables classification based on behavioral factor analysis
WO2016160599A1 (en) System and method for threat-driven security policy controls
US10142343B2 (en) Unauthorized access detecting system and unauthorized access detecting method
KR100985074B1 (ko) 선별적 가상화를 이용한 악성 코드 사전 차단 장치, 방법 및 그 방법을 실행하는 프로그램이 기록된 컴퓨터로 읽을 수 있는 기록매체
EP3252647B1 (en) System and method of detecting malicious files on a virtual machine in a distributed network
JP6341964B2 (ja) 悪意のあるコンピュータシステムを検出するシステム及び方法
CN112532631A (zh) 一种设备安全风险评估方法、装置、设备及介质
JP6383445B2 (ja) 保護されたアプリケーションへのアクセスを阻止するシステム及び方法
JP7320462B2 (ja) アクセス権に基づいてコンピューティングデバイス上でタスクを実行するシステムおよび方法
CN110659478B (zh) 在隔离的环境中检测阻止分析的恶意文件的方法
RU2587424C1 (ru) Способ контроля приложений
EP3252645B1 (en) System and method of detecting malicious computer systems
US10552626B2 (en) System and method for selecting a data entry mechanism for an application based on security requirements
WO2020161780A1 (ja) 行動計画推定装置、行動計画推定方法、及びコンピュータ読み取り可能な記録媒体
JP6687844B2 (ja) マルウエア解析装置、マルウエア解析方法及びマルウエア解析プログラム
EP3151149B1 (en) System and method for blocking execution of scripts
Lee USB Hardware Trojan Horse Device Attack

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180605

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180808

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180905

R150 Certificate of patent or registration of utility model

Ref document number: 6400758

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