JP2020013532A - コンピュータシステムにおける不正行為を検出するためのシステム及び方法 - Google Patents

コンピュータシステムにおける不正行為を検出するためのシステム及び方法 Download PDF

Info

Publication number
JP2020013532A
JP2020013532A JP2018227133A JP2018227133A JP2020013532A JP 2020013532 A JP2020013532 A JP 2020013532A JP 2018227133 A JP2018227133 A JP 2018227133A JP 2018227133 A JP2018227133 A JP 2018227133A JP 2020013532 A JP2020013532 A JP 2020013532A
Authority
JP
Japan
Prior art keywords
graph
information objects
relationships
objects
fraud
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2018227133A
Other languages
English (en)
Other versions
JP7264631B2 (ja
JP2020013532A5 (ja
Inventor
アイ. スーメンコフ イゴール
I Soumenkov Igor
アイ. スーメンコフ イゴール
ワイ. ゴロワノフ セルゲイ
Y Golovanov Sergey
ワイ. ゴロワノフ セルゲイ
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 JP2020013532A publication Critical patent/JP2020013532A/ja
Publication of JP2020013532A5 publication Critical patent/JP2020013532A5/ja
Application granted granted Critical
Publication of JP7264631B2 publication Critical patent/JP7264631B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • 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
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9024Graphs; Linked lists
    • 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
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/02Knowledge representation; Symbolic representation
    • G06N5/022Knowledge engineering; Knowledge acquisition
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • Evolutionary Computation (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Computer And Data Communications (AREA)

Abstract

【課題】効率的にコンピュータシステムの不正行為を検出するためのシステム及び方法を提供する。【解決手段】不正行為を検出するための方法200は、コンピュータシステムについての複数の情報オブジェクトを収集し210、該複数の情報オブジェクト間の複数の関係を決定する220。該複数の情報オブジェクト及び該複数の関係に基づいて少なくとも第1の中間グラフ及び第2の中間グラフを作成し230、該少なくとも第1及び第2の中間グラフに基づいて最終グラフを作成する240。そして、類似度閾値に基づいて該最終グラフに類似した、不正行為率が割り当てられた少なくとも1つの既存のグラフをグラフデータベースから選択し250、該少なくとも1つの既存のグラフに基づいて不正行為を決定する260。【選択図】図2

Description

(関連出願)
本出願は、引用によりその全てが本明細書に組み込まれる、2018年6月29日出願のロシア特許出願第2018123685号の利益を請求する。
(技術分野)
実施態様は、一般に、情報安全性保障技術に関し、より具体的には、コンピュータシステムにおける不正行為の検出に関する。
(背景)
過去10年間のコンピュータ技術の急速な発展は、様々なコンピューティングデバイス(パーソナルコンピュータ、ノートブック、タブレット、スマートフォンなど)の幅広い普及と共に、様々な活動分野において非常に多数のタスク(インターネットサーフィンから銀行振込及び電子文書/記録管理まで)のためにこのようなデバイスを使用する強力なインセンティブとなってきている。コンピューティングデバイスの数及びこのようなデバイス上で動作するソフトウェアの量の増加と並行して、これらのデバイス及び技術を利用する不正プログラムの数も急増している。
現在、多数の異なる種類の不正プログラムが存在する。一部のプログラムは、ユーザのデバイスから個人データ及び信用データ(例えば、ログイン及びパスワード、銀行情報、電子文書)を盗み取る。他のプログラムは、DDoS(分散型サービス妨害)などの攻撃を実行するため、又は他のコンピュータやコンピュータネットワークへの転送を伴うパスワードの徹底的な(総当たり攻撃による)クラッキングのために、ユーザのデバイスを利用して、いわゆるボットネットを構築する。さらに他のプログラムは、押し付け広告、有料購読、及び電話番号へのテキストメッセージの送信(texting to toll number)などを通じて、ユーザに有料コンテンツを提示する。
上記の脅威に対抗するために、いくつかのアンチウイルスプログラムが考案されている。しかしながら、ある状況では、アンチウイルスプログラムは有効ではない。例えば、コンピュータシステムにおけるターゲットを絞ったサイバー攻撃の場合(APT-持続的標的型攻撃)、及びアンチウイルスプログラムがコンピュータシステムで動作していない(例えば、インストールされていなかった、又は無効にされた)場合にシステムが感染すると、アンチウイルスプログラムは無効であり得る。
特定の状況では、コンピュータシステムが感染しているか否かの決定には、コンピュータシステムの状態の資源消費分析、コンピュータシステムの挙動ログの分析、コンピュータネットワーク上で送受信されるデータの分析、ユーザ操作の分析などが必要である。多くの場合、上述の作業は、手動で行われるため、時間がかかり、労力を要する。
米国特許第8,225,041号は、性能履歴管理方法及びシステムを説明している。例えば、コンピュータシステムの動作特性が分析され、その結果が、該コンピュータシステムにおいてデータ間のリンクを構築するために使用される。構築されるリンクに基づいて、コンピュータシステムの性能履歴が復元される。米国特許第8,225,041号は、コンピュータシステムで収集された散乱データの復元及びリンキングの取り扱いには成功しているが、検出されたデータ間のリンクに基づいてコンピュータシステムの状態の分析を取り扱うことはできない。一般に、米国特許第8,225,041号のような方法及びシステムによって作成されるグラフにおけるオブジェクトは、オブジェクトの方向又は配列のみを示す単純なオブジェクトとして処理される。数学的手法は、一切考慮されない。このようなシステムは、このようなタスクの複雑さが、オブジェクト数の増加と共に非線形に増大するため、不正行為を検出するには不十分である。
従って、任意の時点又は任意の実行時におけるコンピュータシステムの状態の決定を使用してより効率的にコンピュータシステムの不正行為を検出する必要がある。
(概要)
一実施態様では、コンピュータシステムにおける不正行為を検出するためのシステムは、少なくとも1つのプロセッサのコンピューティングハードウェア及び該少なくとも1つのプロセッサに動作可能に結合されたメモリを備えるコンピューティングプラットフォーム;並びに命令を含み、該命令は、該コンピューティングプラットフォーム上で実行されると、収集ツール、グラフ作成ツール、検索ツール、分析ツールを該コンピューティングプラットフォームに実装させ、該収集ツールは、該コンピュータシステムについての複数の情報オブジェクトを収集し、かつ該複数の情報オブジェクト間の複数の関係を決定するように構成され、該グラフ作成ツールは、該複数の情報オブジェクト及び該複数の関係に基づいて少なくとも第1の中間グラフ及び第2の中間グラフを作成するように構成され、該第1及び第2の中間グラフは、頂点としての該複数の情報オブジェクト及び辺としての該複数の関係で形成され、かつ該グラフ作成ツールは、該少なくとも第1及び第2の中間グラフに基づいて最終グラフを作成するように構成され、該最終グラフは、該第1の中間グラフからの少なくとも1つの頂点、及び該第2の中間グラフからの少なくとも1つの頂点、及び該第1の中間グラフからの少なくとも1つの頂点と該第2の中間グラフからの少なくとも1つの頂点とを接続する少なくとも1つの辺を含み、該検索ツールは、類似度閾値に基づいて該最終グラフに類似した、不正行為率が割り当てられた少なくとも1つの既存のグラフをグラフデータベースから選択するように構成され、該分析ツールは、該少なくとも1つの既存のグラフに基づいて不正行為を決定するように構成されている。
一実施態様では、コンピュータシステムにおける不正行為を検出するための方法は、該コンピュータシステムについての複数の情報オブジェクトを収集するステップ;該複数の情報オブジェクト間の複数の関係を決定するステップ;該複数の情報オブジェクト及び該複数の関係に基づいて少なくとも第1の中間グラフ及び第2の中間グラフを作成するステップであって、該第1及び第2の中間グラフが、頂点としての該複数の情報オブジェクト及び辺としての該複数の関係で作成される、該ステップ;該少なくとも第1及び第2の中間グラフに基づいて最終グラフを作成するステップであって、該最終グラフが、該第1の中間グラフからの少なくとも1つの頂点、及び該第2の中間グラフからの少なくとも1つの頂点、及び該第1の中間グラフからの少なくとも1つの頂点と該第2の中間グラフからの少なくとも1つの頂点とを接続する少なくとも1つの辺を含む、該ステップ;類似度閾値に基づいて該最終グラフに類似した、不正行為率が割り当てられた少なくとも1つの既存のグラフをグラフデータベースから選択するステップ;並びに該少なくとも1つの既存のグラフに基づいて不正行為を決定するステップを含む。
一実施態様では、コンピュータシステムの特性を決定するためのシステムは、少なくとも1つのプロセッサのコンピューティングハードウェア及び該少なくとも1つのプロセッサに動作可能に結合されたメモリを備えるコンピューティングプラットフォーム;並びに命令を含み、該命令は、該コンピューティングプラットフォーム上で実行されると、グラフ作成ツール、分析ツールを該コンピューティングプラットフォームに実装させ、該グラフ作成ツールは、該コンピュータシステムについての複数の情報オブジェクト及び該複数の情報オブジェクト間の複数の関係を受信し、頂点としての該複数の情報オブジェクトの少なくとも2つ及び辺としての該複数の関係の少なくとも1つを含む第1のグラフを作成し、該複数の情報オブジェクトの少なくとも2つを含む第2のグラフを作成し、該第1のグラフ及び該第2のグラフに基づいて統合グラフを作成するように構成され、該統合グラフは、該第1のグラフと該第2のグラフとの間で共有される全ての同一の情報オブジェクトを含み、かつ該分析ツールは、該統合グラフに基づいて該コンピュータシステムの特性を決定するように構成されている。
上記概要は、それぞれの例示された実施態様又はその主題の全ての実施を説明するものではない。図面及び以下の詳細な説明は、様々な実施態様をより具体的に例証する。
(図面の簡単な説明)
本発明の主題は、添付の図面に関連する様々な実施態様の以下の詳細な説明を考慮することによってより完全に理解することができる。
図1は、一実施態様による、コンピュータシステムにおける不正行為を検出するためのシステムのブロック図である。 図2は、一実施態様による、コンピュータシステムにおける不正行為を検出するための方法のフローチャートである。 図3は、一実施態様による、コンピュータシステムのオブジェクト間のリンクの分析に基づいて作成されたグラフの例示的なブロック図である。 図4は、実施態様を実施するように構成されたコンピュータシステムのブロック図である。
様々な実施態様は、様々な変更及び変形形態が容易であり、これらの詳細は、図面に例として示され、詳細に説明される。しかしながら、請求項に係る発明を説明される特定の実施態様に限定するものではないことを理解されたい。逆に、特許請求の範囲によって規定される主題の精神及び範囲内に入る全ての変更、等価物、及び代替物を包含するものとする。
(図面の詳細な説明)
一実施態様では、機能的関係は、それぞれのオブジェクトの変化が互いに同時に起こるオブジェクト間のある種の関連(関係)を意味する。機能的関係では、因果関係の主な指標が存在しない、特に生産性が存在しない(オブジェクトが互いに生産しない)、時間の非対称性が存在しない(オブジェクトが共存する、これらの一方が他方に先行しない)、及び不可逆性が存在しない。
図1を参照すると、一実施態様による、コンピュータシステムにおける不正行為を検出するためのシステム100のブロック図が示されている。一実施態様では、システム100は、一般に、収集ツール110、学習済み選択モデル112、グラフ作成ツール120、グラフデータベース131、検索ツール130、及び分析ツール140を含む。任意に、システム100は、再学習ツール150を含んでもよい。説明されるように、システム100は、コンピュータシステムのオブジェクト111上で動作し、1つ以上の判断141を含む。
収集ツール110は、コンピュータシステムのオブジェクト111(以降、「オブジェクト」と呼ぶ)についての情報(以降、「オブジェクトについての情報」と呼ぶ)を収集し、収集した情報の分析に基づいてオブジェクト111間の関係を決定するように構成されている。一実施態様では、各関係は、関係の信頼度に一致する。一実施態様では、収集ツール110は、収集したオブジェクト111についての情報及び決定された関係についての情報をグラフ作成ツール120に送信するようにさらに構成されている。
例えば、収集ツール110によるコンピュータシステムのオブジェクトについての情報の収集(gathering)又は収集(collecting)は、コンピュータシステムにインストールされた特殊用途のドライバを使用して、ネットワーク上でプロセスなどの間に送信されるデータを確実に傍受することによって行うことができる。
一実施態様では、オブジェクト111は:ファイル;ネットワークパケット;ウェブサイト;物理的及び仮想の両方のランダムアクセスメモリのページ;プロセス及びプロセスに関連したオペレーティングシステムのオブジェクト;オペレーティングシステムのイベント;オペレーティングシステムのログ又はアプリケーションのログ内のエントリ;MFT(マスタファイルテーブル)内のエントリ;又はオペレーティングシステムのレジストリ内のエントリを含み得る。
例えば、オブジェクト111としての機能を果たすウェブサイトは、アドレス、例えば、「http://google.com」又は「http://files.downloads.com/chrome.exe」であり得る。
さらに別の例では、「system.evtx」オペレーティングシステムのログは、オブジェクト111として以下のエントリを含む:
Figure 2020013532
「system.evtx」オペレーティングシステムのログは、システムのイベントを記述する「key」−「value」対の組み合わせを含む。
一実施態様では、オブジェクト111についての情報は、オブジェクト111を一意に特徴付けることができるデータを表し、オブジェクト111と別のオブジェクト111との間の関係の存在に関する結論を出す根拠として使用することができる。
以下の例は、オブジェクト111についての情報を例示する。一例では、ファイルについての情報は、ファイル名、ファイルへのパス、又はファイルサイズを含み得る。別の例では、プロセスについての情報は、プロセスID、親及び子プロセスのID、又はプロセスを作成したアプリケーション名を含み得る。別の例では、ネットワークパケットについての情報は、ネットワークパケットの受信若しくは送信アドレス、ネットワークパケットのサイズ、ネットワークパケットに含まれるデータのタイプ、サイズ、若しくは重畳、又はネットワークパケットを送受信するアプリケーション名を含み得る。別の例では、ランダムアクセスメモリのページは、ランダムアクセスメモリのページのタイプ、サイズ、若しくはフラグ、ランダムアクセスメモリのページ内のデータのサイズ、位置、タイプ、若しくは重畳、又はプロセスのID、及び指定されたランダムアクセスメモリのページ内のデータを用いて作業する又は該データを操作するアプリケーション名を含み得る。別の例では、オペレーティングシステムのログ内のエントリは値などのキーを含むことができ、パラメータ名が該キーとしての機能を果し、パラメータの値が該値としての機能を果たす。
例えば、オペレーティングシステムのレジストリ(オペレーティングシステムのログの1つとして表示することができる)は、次のエントリを含み得る:
Figure 2020013532
この例では、「ImagePath」フィールド名は、キーとしての機能を果たし、値の対「field type」−「REG_EXPAND_SZ%」、「field value」−「systemroot%\KtknjRrl.exe」は、キーの値としての機能を果たす。
さらに別の実施態様では、オブジェクト111間の関係は、論理的又は機能的関係である。特定の一実施態様では、例えば、オブジェクト間の関係は2項関係であり得る。論理的関係は、2つのオブジェクト111が一緒に使用される場合に生じ得るが、互いに無関係である可能性がある(例えば、ネットワークパケット及びオペレーティングシステムのイベント「write file to disc」)。機能的関係は、1つのオブジェクト111がもう1つのオブジェクト111(例えば、ウェブサイト及びネットワークパケット)の分析のために使用される場合に生じ得る。
さらに別の実施態様では、2つのオブジェクト111間の関係は、少なくとも第1のオブジェクトが第2のオブジェクトによって提供されるデータを処理するときに条件が満たされた場合に確立される。例えば、ある場合には第1のプロセスが第2のプロセスのメモリからデータを読み取るプロセス間通信(IPC)では、プログラムがそれ自体の動作のためにDLLライブラリを使用するときなどに、第1のオブジェクトが第2のオブジェクトを使用する。別の例では、プログラムが2つの独立したDLLライブラリ(すなわち、一方のライブラリの機能が他方のライブラリの機能を使用しないDLLライブラリ)を使用する場合など、第1及び第2のオブジェクトが第3のオブジェクトによって使用される。別の例では、上述のオブジェクトは、該オブジェクトを特徴付ける少なくとも1つの同一のパラメータ、例えば、パラメータとしての機能を果たすファイル名を有し得る。
この例を続けて、サービスが作成されると、以下が実行される:まず、「KtknjRrl.exe」ファイルがハードドライブに書き込まれ;これについての情報がMFTに書き込まれる:
Figure 2020013532
加えて、実行された動作についてのデータが、イベントログに書き込まれる:
Figure 2020013532
さらに、作成されたサービスについてのデータがレジストリに書き込まれる:
Figure 2020013532
3つ全てのエントリが、MFT、イベントログ、及びレジストリの共通パラメータとしての機能を果たす「KtknjRrl.exe」ファイル名によって統合される。
さらに別の例では、「chrome.exe」ブラウザを使用するユーザが、「http://files.com」ウェブサイトから「drivers.zip」アーカイブをダウンロードする。次いで、ユーザは、WinZipアプリケーションを使用してアーカイブからdriver.sysファイルを検索する。この例では、「driver.sys」ファイルが、「drivers.zip」ファイルに直接関連し、「chrome.exe」ブラウザに間接的に関連すると判断することができる。従って、以下は、オブジェクト111である:オブジェクト番号1:「chrome.exe」ブラウザ;オブジェクト番号2:「drivers.zip」アーカイブ;オブジェクト番号3;「driver.sys」ファイル;オブジェクト番号4:「http://files.com」ウェブサイト。
一般に、以下の関係は、前述の例で確認することができる:
Figure 2020013532
オブジェクト111間の関係を示すさらに別の例では、ウィンドウズオペレーティングシステムの様々なサービスは、それらの動作についてのデータを、「[entry id] [time] [process] [event] [parameters]」の形式で「system.evtx」オペレーティングシステムのログに書き込む。従って、オペレーティングシステムのログは、以下のエントリを含み得る:
Figure 2020013532
この場合、システムの実施態様は、接続された2つの異なるオブジェクト111;具体的には、同じ「data.dat」ファイルが30秒差で書き込まれて読み込まれるという所定の条件が満たされていたため、「hsayy.exe」プロセスが「explorer.exe」プロセスに関連すると判断することができる。
さらに別の実施態様では、2つのオブジェクト111間の関係の信頼度は、1つのオブジェクト111がもう1つのオブジェクト111と論理的又は機能的関係を有する確率を特徴付けることができる。一実施態様では、信頼度は数値を含み得る。
例えば、関係の信頼度は、0.0〜1.0の範囲の有効な数値であり得、0.0の値は、オブジェクト111が完全に無関係であることを意味し、1.0の値は、上述のオブジェクト111間に関係が存在することを保証する。
従って、オブジェクト111間の関係の信頼度が最大可能値でない(例えば、上述の例では1.0ではない)場合、オブジェクト111間の関係の決定は確率的であり、この関係は、多くの場合、厳密ではないが、上述のオブジェクト111間の関係についての蓄積された経験及び統計データに基づいて決定される。一例では、0.1秒差以内で作成される(例えば、ソフトウェアのインストール中に作成される)2つのオブジェクト111が互いに関連しているというステートメントがたとえ仮定であったとしても、これは、オペレーティングシステムの機能及び様々なソフトウェアのインストールについての大量の蓄積された統計データに基づいて高い信頼度を有する。
さらに別の実施態様では、収集したオブジェクト111間の決定された関係の信頼度が所定の閾値を超えた場合にのみ、収集したオブジェクト111及び決定された関係についての情報の収集ツール110からグラフ作成ツール120への転送が行われる。
さらに別の実施態様では、収集ツール110によって情報が収集され、かつそれらの間の関係が決定されるオブジェクト111が、学習済み選択モデル112を用いて選択される。学習済み選択モデル112は、機械学習法を用いて、その挙動(悪意がある又は安全)が事前に分かっているコンピュータシステムを構成する学習サンプルに基づいて、事前に構築することができる。従って、選択されるオブジェクト111の数が最小限にされ、かつオブジェクト111及びそれらの間の関係についての情報の分析に基づいて分析ツール140によってなされる決定の精度が最大化される。このアプローチにより、なされる決定(複数可)の精度を維持しながら、コンピュータシステムにおける不正行為を検出するために必要なコンピューティング資源(メモリ、プロセッサ時間など)の消費の削減が可能となる。
続いて、オブジェクト111自体(オブジェクトについての情報)及びオブジェクト111間の関係の両方が、コンピュータシステムにおける不正行為の検出に使用されるため、複数の特定されたオブジェクト111及び該特定されたオブジェクト111間の複数の特定された関係をグラフの要素として表すと好都合である。一実施態様では、グラフは、特別に開発された広範囲の多機能理論(グラフの理論)を用いて処理することができる数学的オブジェクトであり、さらに分析を数学的問題の解決に単純化する。
グラフは、多数のグラフの頂点及び一連の辺、すなわち、頂点の対間の接続部を含み得る理論数学的オブジェクトである。例えば、多数の頂点は、複数のオブジェクト111によって表すことができる一方、一連の辺は、特定されたオブジェクト111間の複数の論理的及び機能的関係によって表すことができる。
異なる分野のアプリケーションでは、グラフの種類は、方向、関係数の制限、及び頂点又は辺についてのさらなるデータが異なり得る。数学及び情報科学における実際的な関心を表す多数の構造をグラフによって表すことができる。例えば、コンピュータシステムを有向グラフを用いてシミュレーションすることができ、該有向グラフでは、上述のように、頂点がオブジェクト111を表し(該オブジェクト111についての情報であるパラメータの組み合わせで示される)、辺(有向辺)がオブジェクト111間の論理的及び機能的関係である。特定の実施態様では、各辺(関係)は、重み付けされた有向グラフを作成できるように重み(関係の信頼度)を割り当てることができる。
従って、グラフ作成ツール120は、得られる関係についての情報に基づいて少なくとも2つのグラフを作成するように構成されている。実施態様では、グラフ(複数可)の直径は、指定されたパラメータよりも小さくすることができる。特定の実施態様では、これらは名前付き中間グラフである。一実施態様では、オブジェクト111は、グラフの頂点を表し、特定された関係は、グラフの辺を表す。グラフ作成ツール120は、第1及び第2のグラフの両方からの少なくとも1つの頂点及び前記頂点を接続する1つの辺を最終グラフが有するように、中間グラフに基づいて該最終グラフを作成するようにさらに構成されている。グラフ作成ツール120は、作成した最終グラフを検索ツール130及び/又は分析ツール140に送信するようにさらに構成されている。
次いで、例えば、クライアントの分散システムとして定義されたコンピュータシステムでは、各クライアントから収集したオブジェクト111及びこのようなオブジェクト111間の特定された関係に基づいて、グラフが各クライアント用に作成される。次いで、作成された最終グラフが、グラフの辺(すなわち、オブジェクト111間の関係)の数を減少させるために最適化される。
例えば、グラフが最適化されると、所定の特性を有する頂点(例えば、指定されたパラメータを有する指定された種類のオブジェクト)、所定の特性を有する辺(例えば、オブジェクト作成時間に基づいたオブジェクト間の関係)、又は重複した辺を含め、特定の構成要素をグラフから除外することができる。
さらに別の実施態様では、最終グラフの辺間の交点の数が最小限にされ、グラフの辺間の交点の数(グラフの交点の数)は、有限集合間の交点のグラフとしてのグラフの表現における要素の最小数、又は同等に、全てのグラフの辺をカバーするために必要なクリックの最小数である。
代替の一実施態様では、グラフ作成ツール120は、得られた関係についての情報に基づいてグラフを作成するように構成され、該グラフの直径が所定のパラメータよりも小さくなるように、該グラフの頂点が、オブジェクト111によって表され、該グラフの辺が、特定された関係によって表され、該グラフは、第1及び第2のグラフからの少なくとも1つの頂点及び該頂点を接続する1つの辺を含む。グラフ作成ツール120は、作成された最終グラフを検索ツール130及び/又は分析ツール140に送信するようにさらに構成されている。
さらに別の実施態様では、グラフ作成ツール120は、複数の中間グラフ(すなわち、少なくとも3つ)に基づいて複数の最終グラフ(すなわち、少なくとも2つ)を作成するように構成されている。実施態様では、最終グラフの数は、指定する又は予め決定することができる。
例えば、分散システム(例えば、ローカルエリアネットワークに分類されるパーソナルコンピュータ)であるコンピュータシステムの分析の間に、各コンピュータ(実際、コンピュータシステムの独立した要素)用に複数のグラフが作成される。次いで、各コンピュータ用に作成されたグラフに基づいて、それぞれに対して1つの最終グラフが作成され、作成された最終グラフの全てが、検索ツール130に送信される。
さらに別の例では、分散システムであるコンピュータシステムでは、該コンピュータシステムのオブジェクト111についての情報に基づいてグラフを作成することができる。実施態様では、ユーザ名及びそれらの各IPアドレスを利用することができ、これらは、「security.evtx」オペレーティングシステムのログのエントリに含まれる。結果として、例えば、以下の一連の動作(有向グラフ)が生じる:
ユーザ#1がコンピュータ#1上にファイルを作成した→ …
… →ユーザ#1が認証をコンピュータ#2から送信した→ …
… →コンピュータ#2上で、ユーザ#1がユーザ#2から非個人化された→ …
… →ユーザ#2が認証をコンピュータ#3から送信した、以下同様に続く。
従って、既存のシステムによって示されるオブジェクトの方向又は順序のみを有する単純なオブジェクトとしてグラフオブジェクトを処理する問題は、グラフオブジェクト及びそれらの関係の上述の動作及び処理によって解決される。さらに、システム及び方法は、上述の最適化によって資源の利用の問題(オブジェクト数の増加によるグラフの複雑さの非線形的な増大)を解決する。
検索ツール130は、得られたグラフに対する類似度が所定のレベルを超えている少なくとも1つのグラフをグラフデータベース131から選定又は選択するように構成されている。このような一実施態様では、コンピュータシステムのアクティビティの事前に作成されたグラフをグラフデータベース131に保存することができ、各グラフには、アクティビティの分析に基づいて不正行為率が割り当てられる。検索ツール130は、選定又は選択されたグラフを分析ツール140に送信するようにさらに構成されている。
一実施態様では、グラフデータベース131に、コンピュータシステムから選択されたオブジェクト111に基づいて作成された、既知の不正行為を有するグラフが事前に補足される。この場合、このようなグラフは、上記の収集ツール110及びグラフ作成ツール120を用いて作成される。
さらに別の実施態様では、グラフデータベース131に、選択モデル112の機械学習に使用される学習サンプルに含まれるコンピュータシステムから選択されたオブジェクト111に基づいて作成されたグラフが補足される。
さらに別の実施態様では、グラフデータベース131は、上記のように作成されたグラフではなく、グラフの機能、動作、若しくは重畳、又は両方を保存する。この場合、検索ツール130は、グラフ作成ツール120から受信したグラフに基づいて機能をさらに計算し、そして該グラフの計算した機能とデータベースに保存されたグラフの機能とを比較することによってグラフデータベース131で検索を行う。一実施態様では、ファジーハッシュが、グラフの計算された機能として使用される。
さらに別の実施態様では、グラフ作成ツール120は、グラフの同形の程度を決定し、かつ該同形の程度に基づいてグラフ間の類似度を決定するように構成されている。
分析ツール140は、グラフ作成ツール120及び検索ツール130から受信したグラフの分析結果に基づいて、コンピュータシステムにおける不正行為の同定の判断141を行うように構成されている。
一実施態様では、コンピュータシステムにおける不正行為の同定の判断141は、グラフデータベースに存在する少なくとも1つのグラフの不正率及びこのグラフの作成されたグラフに対する類似度の分析によってなされる。例えば、分析中のコンピュータシステムにおける最終的な不正率は、以下の式を用いて計算することができる:
Figure 2020013532
式中、
wは、分析中のコンピュータシステムにおける不正率であり;
wjは、グラフデータベース131から選択されたグラフjの不正率であり;
c{i,j}は、作成されたグラフiとグラフデータベース131から選択されたグラフjとの間の類似度であり;
Nは、分析中のコンピュータシステム用に作成されたグラフの数であり;
Mは、グラフデータベース131から選択されたグラフの数である。
別の例では、分析中のコンピュータシステムにおける不正率wは、0.0(コンピュータシステムに不正行為が存在しない)〜1.0(コンピュータシステムに不正行為が存在した)の範囲であり得る。上述の不正率wmが、所定の値(例えば、0.75)を超えると、分析ツール140は、不正行為が分析中のコンピュータシステムで検出されたと判断することができる。
さらに別の実施態様では、分析ツール140は、作成されたグラフの分析に基づいて、コンピュータシステムにおける不正行為の源であるオブジェクト111を特定するように構成されている。
任意の再学習ツール150は、分析ツール140によってなされた判断141に基づいて選択モデル112を再学習するように構成されている。一実施態様では、不正についての同じコンピュータシステムの次の分析の間に、収集ツール110によって選択されたオブジェクト111の分析に基づいたグラフ作成ツール120によるグラフの作成が最適化される。例えば、選択されたオブジェクト111の数が最小限にされる一方、オブジェクト111についての情報の分析及びオブジェクト111間の関係に基づいて分析ツール140によってなされる判断の精度が最大化される。別の例では、(例えば、分析ツール140の第2の段階における)グラフ作成ツール120によるグラフの作成でのコンピューティング資源の消費は、(例えば、分析ツール140の第1の段階における)非再学習済みモデルを使用して選択される場合よりも少ない。
動作中に、システム100を利用して、コンピュータシステムにおける不正行為を以下の例を用いて検出することができる。ユーザは、以下の連続動作を行う;第1に、該ユーザは、パスワードを入力して遠隔コンピュータに接続する。次いで、ユーザは、新しいサービスを作成し、該サービスは、コンピュータシステムに以下の変化を引き起こす:サービスの作成がレジストリを修正する;サービスがPowershellを起動する;そしてPowershellがファイルを作成する。
次いで、収集ツール110が、コンピュータシステムのオブジェクト111についての情報を収集する:
・オブジェクト#1−ログ内のエントリ;
・オブジェクト#2−ログ内のエントリ;
・オブジェクト#3−レジストリ内のキー;
・オブジェクト#4−ログ内のエントリ;
・オブジェクト#5−ファイルシステムでのファイルの作成。
グラフ作成ツール120が、収集したオブジェクト111に基づいて、以下のデータを使用して関係を作成する:
オブジェクト#1(ログ内のエントリ)→[ユーザ名による関係]→…
… → オブジェクト#2(レジストリ内のキー)→[サービス名による関係]→ …
… → オブジェクト#3(レジストリ内のキー)→[レジストリキー内のファイル名による関係]→ …
… → オブジェクト#4(ログ内のエントリ)→[ログ内のファイル名による関係]→ …
… → オブジェクト#5(ファイルシステムでのファイルの作成)。
図2を参照すると、一実施態様による、コンピュータシステムにおける不正行為を検出するための方法200のフローチャートが示されている。方法200は、コンピュータシステムのオブジェクトについての情報が収集されるステージ210;該オブジェクト間の関係が特定されるステージ220;グラフが作成されるステージ230;最終グラフが作成されるステージ240;グラフが選択されるステージ250;不正行為についての判断がなされるステージ260;及び選択モデルが再学習されるステージ270を含む。
より具体的には、ステージ210において、コンピュータシステムのオブジェクト111についての情報が収集される。一実施態様では、オブジェクト111の選択は、学習済み選択モデル112を用いて行われる。
ステージ220において、オブジェクト111間の関係が、収集された情報の分析に基づいて決定される。ある実施態様では、各関係は、信頼度に一致する。特定の一実施態様では、関係の信頼度が所定の閾値よりも低いオブジェクト111が不正のさらなる分析から除外される。これにより、不正についてコンピュータシステムを分析するために使用されるコンピューティング資源の削減が可能となる。
ステージ230において、少なくとも2つの(中間)グラフが、(関係の決定された信頼度の使用を含む)特定された関係に基づいて作成される。一実施態様では、中間グラフ(複数可)の直径は、指定されたパラメータよりも小さくすることができる。オブジェクト111は、グラフの頂点として表され、特定された関係は、グラフの辺を表す。
ステージ240において、最終グラフは、既に作成された中間グラフに基づいて作成される。一実施態様では、最終グラフは、第1及び第2の両方のグラフからの少なくとも1つの頂点並びに頂点を接続する1つの辺を含む。
ステージ250において、作成された最終グラフに対する類似度が所定のレベルを超えている少なくとも1つのグラフが、グラフデータベース131から選択される。それぞれの事前に作成されたグラフは、コンピュータシステムの前記アクティビティの分析に基づいて割り当てられ、グラフデータベース131に保存された不正行為率を含むことができる。
ステージ260において、コンピュータシステムにおける不正行為の検出についての判断が、作成されたグラフ及び選択されたグラフの分析結果に基づいてなされる。
ステージ270において、学習済み選択モデル112が、ステージ260でなされた判断141に基づいて再学習されるため、不正についての同じコンピュータシステムの次の分析の間に、ステージ210で選択されたオブジェクト111の分析に基づいてステージ230でのグラフの作成のために少なくとも以下が行われることになる:選択されているオブジェクト111の数が最小限にされる一方、オブジェクト111についての情報の分析及び該オブジェクト111間の関係に基づいてステージ260でなされる判断の精度が最大化される;並びに/又はステージ230でのグラフの作成でのコンピューティング資源の消費が、非再学習済みモデルを使用する場合に選択されるオブジェクト111を使用したグラフの作成での消費よりも少ない。
図3を参照すると、一実施態様による、コンピュータシステムのオブジェクト間のリンクの分析に基づいて作成されたグラフの例示的なブロック図が示されている。コンピュータシステムのオブジェクト111間の関係の分析に基づいたグラフの作成のための例示的な線図は、最初に作成されたグラフ310及び320、統合グラフ330、並びに最適化されたグラフ340を含む。各グラフにおいて、コンピュータシステムのオブジェクト301、302、303は、グラフの頂点としての機能を果たす。
この場合、オブジェクト301は、異なるオブジェクトとしてみなすことができる(便宜上、該オブジェクトは、実質上異なるが、1つのインデックスで分類される)が、オブジェクト302と303は同一である。最初のグラフ310及び320は、収集したオブジェクト301、302、303の分析及び該オブジェクト間の特定された関係に基づいて作成される。
図3では、実線の辺は、オブジェクト111間の機能的関係を示し、点線の辺は、論理的関係を示し、矢印は、連結しているオブジェクト及び連結されたオブジェクトを示している(すなわち、矢印は、第1のオブジェクト111に関連することになった第2のオブジェクト111に対する関係を作成した該第1のオブジェクト111から出ている)。例えば、ファイルがアーカイブから選択される場合は、矢印は、選択されるファイルに対するアーカイブからの機能的関係を示すことになる。
本明細書に記載されるように、収集ツール110を使用して、コンピュータシステムのオブジェクト111についての情報を収集する。コンピュータシステムが複数の独立した構成要素(例えば、クライアント及びサーバ)から構成される一実施態様では、異なる独立した構成要素から収集したオブジェクト111は、独立とみなすこともできる。複数の最初のグラフは、このように作成することができる。
コンピュータシステムが単一である(唯1つの独立した構成要素を含む)別の例では、全ての収集したオブジェクト111は、従属とみなすことができる。しかしながら、収集したオブジェクト111は、複数の比較的独立した群(少数の関係を有する)に分けることもでき、これらの群用に複数の最初のグラフ(各群に1つのグラフ)を作成することができる。
コンピュータシステムの遠隔(バックドア)制御を可能にする不正プログラムが動作しているコンピュータシステムでは、「オーナー」からコマンドを受信する該不正プログラムは、不正又は無許可の動作をすることができる。例えば、不正プログラムは、2つの異なるコマンド、「文書を暗号化する」及び「パスワードを取得する」を受信することができる。両方の動作は、独立しており、不正プログラムの異なるモジュールによって行うことができる。このようなコンピュータシステムの分析の間に、2つの独立したグラフを作成することができる。第1のグラフでは、オブジェクト111は、殆どがファイル(文書)によって表される。第2のグラフでは、オブジェクト111は、オペレーティングシステムのログ内のエントリによって表される。いずれにせよ、2つのグラフ間の関係は、ネットワークアクティビティ(オペレーティングシステムのログにも反映される)によって、アクティビティの源(不正プログラムモジュール)によって、アクティビティ開始時間によって、ネットワークパケットなどによって追跡することが可能である。
グラフ作成ツール120は、最初のグラフ310及び320が少なくとも2つの同一又は同様のオブジェクト111(同様のオブジェクトは、少なくとも1つのパラメータが指定の値を超えない程度に値が異なるオブジェクトである)を(それらの頂点として)含むように該最初のグラフ310及び320を作成する。例えば、最初のグラフ310は、2つの同一のオブジェクト303を含む。
統合グラフ330は、既に作成された最初のグラフ310及び320に基づいて作成される。グラフ作成ツール120は、統合グラフ330を作成する基礎として使用される全ての最初のグラフに存在する全ての同一又は同様のオブジェクト111を含むように該統合グラフ330を作成する。例えば、統合グラフ330は、最初のグラフ310及び320に存在する全てのオブジェクト302及び303を含む。
統合グラフ330は、検索ツール130が次の分析を行うことができる最終グラフとみなすことができる。しかしながら、コンピュータシステムにおける不正行為を検出するためのシステムが、コンピュータ資源(グラフデータベースにおける空間、グラフを作成するため、検索するため、及び分析するためのコンピューティング資源など)に関してあまり要求しないように、グラフ作成ツール120は、ある実施態様では、統合グラフ330の最適化を行い、最適化グラフ340を作成する。
最適化グラフ340は、既に作成された統合グラフ330に基づいて作成される。グラフ作成ツール120は、全ての最初のグラフ及び統合グラフ340に存在する全ての同一又は同様のオブジェクト111を含むように最適化グラフを作成する。例えば、最適化グラフ340は、最初のグラフ310及び320並びに統合グラフ330に存在する全てのオブジェクト302及び303を含む。この場合、上述のオブジェクト111に関連しない全てのオブジェクト及び関係(頂点及び辺)を、最適化グラフ340から削除することができる(これらは、白抜きの円301としてマークされる)。従って、最適化後、上述のオブジェクト302及び303に加えて、オブジェクト304を検出することができ、これらのオブジェクト間に関係が確立され、この関係は、最初のグラフ310及び320の作成(又は分析)の早期には検出不可能であった。例示されているように、最適化グラフ340は、統合グラフ330よりもコンパクトであるため、最適化グラフでの次の作業は、最初のグラフ310及び320又は統合グラフ330での作業よりも好都合である。
図4を参照すると、本明細書に記載される本発明の態様を様々な実施態様に従って実施することができるコンピュータシステム400をより詳細に例示する線図が示されている。
コンピュータシステム400は、1つ以上の処理ユニット421、システムメモリ422、及びシステムバス423を備えるパーソナルコンピュータ420などのコンピューティングデバイスを含むことができ、該パーソナルコンピュータ420は、1つ以上の処理ユニット421に接続されたメモリを含む様々なシステムの構成要素を備える。様々な実施態様では、処理ユニット421は、コンピュータ可読媒体に保存された情報を処理することができる複数の論理コアを備えることができる。システムバス423は、バスメモリ又はバスメモリコントローラ、周辺バス、及びローカルバスを含む、関連する技術レベルで公知の任意のバス構造として実現され、任意の他のバスアーキテクチャと相互作用することができる。システムメモリは、読み出し専用メモリ(ROM)424などの不揮発性メモリ、又はランダムアクセスメモリ(RAM)425などの揮発性メモリを含み得る。基本入出力システム(BIOS)426は、例えばROM424を使用するオペレーティングシステムのブート中に、パーソナルコンピュータ420の要素間での情報の転送を確実にする基本プロシージャを含む。
次に、パーソナルコンピュータ420は、データの読み出し及び書き込みのためのハードドライブ427、取り外し可能な磁気ディスク429に対する読み出し及び書き込みのための磁気ディスクドライブ428、並びにCD-ROM、DVD-ROM、及び他の光学媒体などの取り外し可能な光学ディスク431に対する読み出し及び書き込みのための光学ドライブ430を有する。ハードドライブ427、磁気ドライブ428、及び光学ドライブ430はそれぞれ、ハードドライブインターフェイス432、磁気ドライブインターフェイス433、及び光学ドライブインターフェイス434を介してシステムバス423に接続されている。ドライブ及び対応するコンピュータ情報媒体は、コンピュータ命令、データ構造、プログラムモジュール、及びパーソナルコンピュータ420についての他のデータを保存するためのエネルギーに依存しない手段を表す。
描かれているシステムは、ハードドライブ427、取り外し可能な磁気ドライブ429、及び取り外し可能な光学ドライブ430を含むが、コントローラ455を介してシステムバス423に接続された、データをコンピュータ可読形式で保存することができる、他のタイプのコンピュータ媒体(半導体ドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)など)を使用することが可能であることを理解されたい。
コンピュータ420は、記録されたオペレーティングシステム435が保存されているファイルシステム436、並びに追加のプログラムアプリケーション437、他のプログラムエンジン438、及びプログラムデータ439を備える。ユーザは、入力装置(キーボード440、マウス442)を使用してコマンド及び情報をパーソナルコンピュータ420に入力することができる。マイクロホン、ジョイスティック、ゲームコンソール、スキャナなどの他の入力装置(不図示)も使用することができる。このような入力装置は、通常は、システムバスに接続されているシリアルポート446を介してコンピュータシステム420に接続されるが、該入力装置は、例えば、パラレルポート、ゲームポート、又はユニバーサルシリアルバス(USB)を使用する異なる方法で接続することもできる。モニタ447又は別のタイプの表示装置も、ビデオアダプタ448などのインターフェイスを介してシステムバス423に接続される。モニタ447に加えて、パーソナルコンピュータ420は、例えばスピーカ、プリンタなどの他の周辺出力装置(不図示)を装備することができる。
パーソナルコンピュータ420は、ネットワーク環境で動作することができ;この場合、該パーソナルコンピュータ420は、1つ又はいくつかの他の遠隔コンピュータ449とのネットワーク接続を使用する。遠隔コンピュータ(複数可)449は、同様のパーソナルコンピュータ又はサーバであり、これらは、図4に示されているパーソナルコンピュータ420の内容を前に説明したときに注目した上記の要素の殆ど又は全てを有する。コンピューティングネットワークは、ルータ、ネットワークステーション、ピアリング装置、又は他のネットワークノードなどの他の装置も有することができる。
ネットワーク接続は、ローカルエリアネットワーク(LAN)450及びワールドエリアネットワーク(WAN)を構成することができる。このようなネットワークは、企業のコンピュータネットワーク又は企業のイントラネットに使用され、通常はインターネットへのアクセスを有する。LAN又はWANネットワークでは、パーソナルコンピュータ420は、ネットワークアダプタ又はネットワークインターフェイス451を介してローカルエリアネットワーク450に接続される。ネットワークを使用する場合、パーソナルコンピュータ420は、インターネットなどのワールドエリアネットワークに接続するためのモデム454又は他の手段を使用することができる。内部又は外部装置であるモデム454は、シリアルポート446を介してシステムバス423に接続される。これらのネットワーク接続は、単なる例であり、必ずしも正確なネットワーク構成を反映しない、すなわち、実際にはコンピュータ間の技術的通信手段を使用する接続を確立する他の手段が存在することを明らかにするべきである。
システム、装置、及び方法の様々な実施態様が、本明細書で説明された。これらの実施態様は、単に例として示されたものであり、請求項に係る発明の範囲を限定することを意図するものではない。さらに、説明された実施態様の様々な特徴は、多数のさらなる実施態様を生み出すために様々な方法で組み合わせることができることを理解されたい。さらに、様々な材料、寸法、形状、構成、及び位置などが、開示された実施態様での使用について説明されたが、開示された以外の他の実施態様も、請求項に係る発明の範囲を逸脱することなく利用することができる。
関連技術の一般的な技術者であれば、本発明の主題が、上記のどの個々の実施態様に例示されている特徴の数よりも少ない特徴を有し得ることを理解されよう。本明細書に記載の実施態様は、本発明の主題の様々な特徴を組み合わせることができる方法の網羅的な提示を意味するものではない。従って、実施態様は、相互に排他的な特徴の組み合わせではなく;むしろ、様々な実施態様は、当業者に理解される、異なる個々の実施態様から選択される異なる個々の特徴の組み合わせを含み得る。さらに、一実施態様に関して説明された要素は、特段の記載がなければ、たとえこのような実施態様に説明されていない場合でも他の実施態様で実施することができる。
従属請求項は、特許請求の範囲において、1つ以上の他の請求項との特定の組み合わせを指し得るが、他の実施態様は、従属請求項とそれぞれの他の従属請求項の主題との組み合わせ、又は1つ以上の特徴と他の従属請求項若しくは独立請求項との組み合わせも含み得る。特定の組み合わせが意図されないという記載がない限り、このような組み合わせが本明細書で提案される。
上記の文献の引用による全ての組み込みは、本明細書での明確な開示に反する主題が組み込まれないように制限される。上記の文献の引用による全ての組み込みは、文献に含まれる請求項が本明細書での引用により組み込まれないようにさらに制限される。上記の文献の引用による全ての組み込みは、本明細書に含まれるという明確な記載がない限り、文献で示されるどの定義も本明細書での引用により組み込まれないようになおさらに制限される。
特許請求の範囲の解釈をする目的で、特定の用語「〜のための手段」又は「〜のためのステップ」が請求項に記載されていない限り、米国特許法の第112条(f)項の規定が発動されないことを明確に意図する。

Claims (20)

  1. コンピュータシステムにおける不正行為を検出するためのシステムであって:
    少なくとも1つのプロセッサのコンピューティングハードウェア及び該少なくとも1つのプロセッサに動作可能に結合されたメモリを備えるコンピューティングプラットフォーム;並びに
    命令を含み、該命令が、該コンピューティングプラットフォーム上で実行されると、収集ツール、グラフ作成ツール、検索ツール、分析ツールを該コンピューティングプラットフォームに実装させ、
    該収集ツールが、
    該コンピュータシステムについての複数の情報オブジェクトを収集し、かつ
    該複数の情報オブジェクト間の複数の関係を決定するように構成され、
    該グラフ作成ツールが、
    該複数の情報オブジェクト及び該複数の関係に基づいて少なくとも第1の中間グラフ及び第2の中間グラフを作成するように構成され、該第1及び第2の中間グラフが、頂点としての該複数の情報オブジェクト及び辺としての該複数の関係で形成され、かつ該グラフ作成ツールが、
    該少なくとも第1及び第2の中間グラフに基づいて最終グラフを作成するように構成され、該最終グラフが、該第1の中間グラフからの少なくとも1つの頂点、及び該第2の中間グラフからの少なくとも1つの頂点、及び該第1の中間グラフからの少なくとも1つの頂点と該第2の中間グラフからの少なくとも1つの頂点とを接続する少なくとも1つの辺を含み、
    該検索ツールが、
    類似度閾値に基づいて該最終グラフに類似した、不正行為率が割り当てられた少なくとも1つの既存のグラフをグラフデータベースから選択するように構成され、
    該分析ツールが、該少なくとも1つの既存のグラフに基づいて不正行為を決定するように構成されている、前記システム。
  2. 前記複数の情報オブジェクトが、ファイル、ネットワークパケット、ウェブサイト、ランダムアクセスメモリ(RAM)のページ、システムプロセス、オペレーティングシステムのオブジェクト、オペレーティングシステムのイベント、オペレーティングシステムのログ内のエントリ、アプリケーションのログ内のエントリ、マスタファイルテーブル(MFT)内のエントリ、又はオペレーティングシステムのレジストリ内のエントリの少なくとも1つである、請求項1記載のシステム。
  3. 前記収集ツールが、前記複数の情報オブジェクトの2つの間の関係の信頼度を、該複数の情報オブジェクトの2つのうちの第1の情報オブジェクトが該複数の情報オブジェクトの2つのうちの第2の情報オブジェクトに対して論理的又は機能的関係を有する確率を特徴付ける数値として決定することによって複数の関係の少なくとも1つを決定するようにさらに構成されている、請求項1記載のシステム。
  4. 前記収集ツールが、前記信頼度が信頼閾値を超えている場合に、前記複数の情報オブジェクト及び前記複数の関係を前記グラフ作成ツールに送信するようにさらに構成されている、請求項3記載のシステム。
  5. 前記複数の情報オブジェクトが、学習済み選択モデルを使用して選択され、該学習済み選択モデルが、既知の不正を有する学習サンプルによって既に学習されている、請求項1記載のシステム。
  6. 前記コンピューティングプラットフォーム上で実行される前記命令が、該コンピューティングプラットフォームに再学習ツールをさらに実装させ:
    該再学習ツールが、
    前記収集ツールによって収集された前記複数の情報オブジェクトを該収集ツールの第1の段階から該収集ツールの第2の段階にかけて削減すること、及び
    前記グラフ作成ツールの資源の消費を該収集ツールの第1の段階から該収集ツールの第2の段階にかけて削減することによる不正行為の決定に基づいて前記学習済み選択モデルを再学習させるように構成されている、請求項4記載のシステム。
  7. 前記グラフ作成ツールが、少なくとも、情報オブジェクト間の関係を減らすこと、所定のオブジェクト特性を有する情報オブジェクトを除外すること、所定の関係特性を有する関係を除外すること、重複関係を除外すること、又は関係線間の交点の数を最小限にすることによって前記最終グラフを最適化するようにさらに構成されている、請求項1記載のシステム。
  8. 前記グラフデータベースに、前記複数の情報オブジェクト及び既知の不正行為に基づいてグラフが追加される、請求項1記載のシステム。
  9. 前記分析ツールが、前記少なくとも1つの既存のグラフの前記不正行為率及び該少なくとも1つの既存のグラフの前記最終グラフに対する類似度を分析することによって不正行為を決定するように構成されている、請求項1記載のシステム。
  10. 前記不正行為率が:
    Figure 2020013532
    によって計算され、
    式中、wが、分析中の前記コンピュータシステムにおける不正行為率であり;
    wjが、前記グラフデータベースから選択されたグラフjの不正行為率であり;
    c{i,j}が、グラフiと該グラフデータベースから選択された該グラフjとの間の類似度であり;
    Nが、分析中の該コンピュータシステム用に作成されたグラフの数であり;
    Mが、該グラフデータベースから選択されたグラフの数である、請求項9記載のシステム。
  11. 前記第1及び第2の中間グラフが、指定された直径よりも小さいグラフの直径に従って作成される、請求項1記載のシステム。
  12. コンピュータシステムにおける不正行為を検出するための方法であって:
    該コンピュータシステムについての複数の情報オブジェクトを収集するステップ;
    該複数の情報オブジェクト間の複数の関係を決定するステップ;
    該複数の情報オブジェクト及び該複数の関係に基づいて少なくとも第1の中間グラフ及び第2の中間グラフを作成するステップであって、該第1及び第2の中間グラフが、頂点としての該複数の情報オブジェクト及び辺としての該複数の関係で作成される、該ステップ;
    該少なくとも第1及び第2の中間グラフに基づいて最終グラフを作成するステップであって、該最終グラフが、該第1の中間グラフからの少なくとも1つの頂点、及び該第2の中間グラフからの少なくとも1つの頂点、及び該第1の中間グラフからの少なくとも1つの頂点と該第2の中間グラフからの少なくとも1つの頂点とを接続する少なくとも1つの辺を含む、該ステップ;
    類似度閾値に基づいて該最終グラフに類似した、不正行為率が割り当てられた少なくとも1つの既存のグラフをグラフデータベースから選択するステップ;並びに
    該少なくとも1つの既存のグラフに基づいて不正行為を決定するステップを含む、前記方法。
  13. 複数の関係の少なくとも1つを決定するステップが、前記複数の情報オブジェクトの2つの間の関係の信頼度を、該複数の情報オブジェクトの2つのうちの第1の情報オブジェクトが該複数の情報オブジェクトの2つのうちの第2の情報オブジェクトに対して論理的又は機能的関係を有する確率を特徴付ける数値として決定するステップを含む、請求項12記載の方法。
  14. 前記複数の情報オブジェクトが、学習済み選択モデルを使用して選択され、該学習済み選択モデルが、既知の不正を有する学習サンプルによって既に学習されている、請求項12記載の方法。
  15. 収集された前記複数の情報オブジェクトを削減すること及び資源の消費を削減することによる不正行為の決定に基づいて前記学習済み選択モデルを再学習させるステップをさらに含む、請求項14記載の方法。
  16. 少なくとも、情報オブジェクト間の関係を減らすこと、所定のオブジェクト特性を有する情報オブジェクトを除外すること、所定の関係特性を有する関係を除外すること、重複関係を除外すること、又は関係線間の交点の数を最小限にすることによって前記最終グラフを最適化するステップをさらに含む、請求項12記載の方法。
  17. 不正行為を決定するステップが、前記少なくとも1つの既存のグラフの不正行為率及び該少なくとも1つの既存のグラフの前記最終グラフに対する類似度を分析するステップを含む、請求項12記載の方法。
  18. 前記第1及び第2の中間グラフが、指定された直径よりも小さいグラフの直径に従って作成される、請求項12記載の方法。
  19. コンピュータシステムの特性を決定するためのシステムであって:
    少なくとも1つのプロセッサのコンピューティングハードウェア及び該少なくとも1つのプロセッサに動作可能に結合されたメモリを備えるコンピューティングプラットフォーム;並びに
    命令を含み、該命令が、該コンピューティングプラットフォーム上で実行されると、グラフ作成ツール、分析ツールを該コンピューティングプラットフォームに実装させ、
    該グラフ作成ツールが、
    該コンピュータシステムについての複数の情報オブジェクト及び該複数の情報オブジェクト間の複数の関係を受信し、
    頂点としての該複数の情報オブジェクトの少なくとも2つ及び辺としての該複数の関係の少なくとも1つを含む第1のグラフを作成し、
    該複数の情報オブジェクトの少なくとも2つを含む第2のグラフを作成し、
    該第1のグラフ及び該第2のグラフに基づいて統合グラフを作成するように構成され、該統合グラフが、該第1のグラフと該第2のグラフとの間で共有される全ての同一の情報オブジェクトを含み、かつ
    該分析ツールが、
    該統合グラフに基づいて該コンピュータシステムの特性を決定するように構成されている、前記システム。
  20. 前記グラフ作成ツールが、
    前記第1のグラフと前記第2のグラフとの間で共有される前記同一の情報オブジェクトに無関係の全ての情報オブジェクト及び関係を除外すること;並びに
    該第1のグラフにも該第2のグラフにも存在しなかった情報オブジェクト間の少なくとも1つの新たな関係を決定することによって、前記統合グラフに基づいて最適化グラフを作成するように構成されている、請求項19記載のシステム。
JP2018227133A 2018-06-29 2018-12-04 コンピュータシステムにおける不正行為を検出するためのシステム及び方法 Active JP7264631B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2018123685A RU2697958C1 (ru) 2018-06-29 2018-06-29 Система и способ обнаружения вредоносной активности на компьютерной системе
RU2018123685 2018-06-29
US16/146,142 US11163881B2 (en) 2018-06-29 2018-09-28 Systems and methods for detecting malicious activity in a computer system
US16/146,142 2018-09-28

Publications (3)

Publication Number Publication Date
JP2020013532A true JP2020013532A (ja) 2020-01-23
JP2020013532A5 JP2020013532A5 (ja) 2021-10-14
JP7264631B2 JP7264631B2 (ja) 2023-04-25

Family

ID=67733833

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018227133A Active JP7264631B2 (ja) 2018-06-29 2018-12-04 コンピュータシステムにおける不正行為を検出するためのシステム及び方法

Country Status (3)

Country Link
US (2) US11163881B2 (ja)
JP (1) JP7264631B2 (ja)
RU (1) RU2697958C1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11588832B2 (en) * 2019-08-02 2023-02-21 Crowdstrike, Inc. Malicious incident visualization
CN111124675B (zh) * 2019-12-11 2023-06-20 华中科技大学 一种面向图计算的异构存内计算设备及其运行方法
US11503047B2 (en) 2020-03-13 2022-11-15 International Business Machines Corporation Relationship-based conversion of cyber threat data into a narrative-like format
US20210286879A1 (en) * 2020-03-13 2021-09-16 International Business Machines Corporation Displaying Cyber Threat Data in a Narrative
WO2024117925A1 (ru) * 2022-11-30 2024-06-06 Публичное Акционерное Общество "Сбербанк России" Предотвращение получения несанкционированного доступа к корпоративной сети

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157650A (ja) * 2003-11-25 2005-06-16 Matsushita Electric Ind Co Ltd 不正アクセス検知システム
JP2006155124A (ja) * 2004-11-29 2006-06-15 Savant:Kk 監視プログラム、これを記憶したコンピュータ読み取り可能な記録媒体、並びに前記監視プログラムが格納されたサーバ及び監視装置
JP2009288883A (ja) * 2008-05-27 2009-12-10 Internatl Business Mach Corp <Ibm> ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム
JP2012083909A (ja) * 2010-10-08 2012-04-26 Kddi Corp アプリケーション特性解析装置およびプログラム
JP2015011695A (ja) * 2013-07-02 2015-01-19 セコム株式会社 通信照合装置及びアプリケーション検査装置
JP2015511101A (ja) * 2012-03-22 2015-04-13 ロス アラモス ナショナル セキュリティー,リミテッド ライアビリティー カンパニーLos Alamos National Security,Llc 計算機ネットワークにおいて調整グループ攻撃を識別する異常検出
WO2015141220A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 情報処理装置及び監視方法
JP2016206943A (ja) * 2015-04-22 2016-12-08 株式会社日立製作所 サイバー攻撃分析装置及びサイバー攻撃分析方法
WO2017046805A1 (en) * 2015-09-17 2017-03-23 Tower-Sec Ltd. Systems and methods for detection of malicious activity in vehicle data communication networks
US20170132498A1 (en) * 2015-11-11 2017-05-11 Adobe Systems Incorporated Structured Knowledge Modeling, Extraction and Localization from Images
JP2017097698A (ja) * 2015-11-26 2017-06-01 富士通株式会社 グラフ処理プログラム、グラフ処理方法、および情報処理装置
US20170300690A1 (en) * 2016-04-15 2017-10-19 Sophos Limited Endpoint malware detection using an event graph
US20170337375A1 (en) * 2015-06-29 2017-11-23 Juniper Networks, Inc. Identifying malware based on a relationship between a downloader file and a downloaded file
JP2018501694A (ja) * 2014-11-21 2018-01-18 シマンテック コーポレーションSymantec Corporation 無認可のネットワーク侵入から保護するシステム及び方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6687732B1 (en) * 1998-09-28 2004-02-03 Inktomi Corporation Adaptive traffic bypassing in an intercepting network driver
WO2006007415A2 (en) * 2004-06-16 2006-01-19 Regents Of The University Of Colorado Nonlinear adaptive control of resource-distribution dynamics
JP5123641B2 (ja) * 2007-10-31 2013-01-23 株式会社日立製作所 性能履歴の管理方法および性能履歴の管理システム
RU91213U1 (ru) * 2009-10-01 2010-01-27 ЗАО "Лаборатория Касперского" Система автоматического составления описания и кластеризации различных, в том числе и вредоносных, объектов
US8799190B2 (en) 2011-06-17 2014-08-05 Microsoft Corporation Graph-based malware classification based on file relationships
US8931092B2 (en) * 2012-08-23 2015-01-06 Raytheon Bbn Technologies Corp. System and method for computer inspection of information objects for shared malware components
US9413773B2 (en) 2013-03-14 2016-08-09 Cybereason Inc. Method and apparatus for classifying and combining computer attack information
US9148441B1 (en) 2013-12-23 2015-09-29 Symantec Corporation Systems and methods for adjusting suspiciousness scores in event-correlation graphs
US9886581B2 (en) 2014-02-25 2018-02-06 Accenture Global Solutions Limited Automated intelligence graph construction and countermeasure deployment
US9225730B1 (en) 2014-03-19 2015-12-29 Amazon Technologies, Inc. Graph based detection of anomalous activity
US20160057159A1 (en) * 2014-08-22 2016-02-25 Syracuse University Semantics-aware android malware classification
US9736173B2 (en) 2014-10-10 2017-08-15 Nec Corporation Differential dependency tracking for attack forensics
US9967265B1 (en) 2015-09-29 2018-05-08 EMC IP Holding Company LLC Detecting malicious online activities using event stream processing over a graph database
US10015192B1 (en) 2015-11-06 2018-07-03 Cisco Technology, Inc. Sample selection for data analysis for use in malware detection
US10572537B2 (en) * 2016-04-13 2020-02-25 International Business Machines Corporation Efficient graph optimization
US9967267B2 (en) 2016-04-15 2018-05-08 Sophos Limited Forensic analysis of computing activity
RU2635276C1 (ru) * 2016-06-24 2017-11-09 Акционерное общество "Лаборатория Касперского" Безопасная аутентификация по логину и паролю в сети Интернет с использованием дополнительной двухфакторной аутентификации
US10313365B2 (en) 2016-08-15 2019-06-04 International Business Machines Corporation Cognitive offense analysis using enriched graphs
US20180069937A1 (en) 2016-09-02 2018-03-08 VeriHelp, Inc. Event correlation and association using a graph database
KR101764674B1 (ko) 2017-01-06 2017-08-03 한국인터넷진흥원 침해 자원에 대한 그래프 데이터베이스 생성 방법 및 그 장치
US10523691B2 (en) 2017-01-06 2019-12-31 Cisco Technology, Inc. Graph prioritization for improving precision of threat propagation algorithms
US10572658B2 (en) 2017-01-23 2020-02-25 Paypal, Inc. Identifying computer behavior using visual data organization and graphs
US10205735B2 (en) 2017-01-30 2019-02-12 Splunk Inc. Graph-based network security threat detection across time and entities
US10839098B2 (en) * 2017-04-07 2020-11-17 International Business Machines Corporation System to prevent export of sensitive data
US10983995B2 (en) * 2017-06-15 2021-04-20 Crowdstrike, Inc. Information retrieval using automata
RU2654151C1 (ru) * 2017-08-10 2018-05-16 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов
US10853487B2 (en) * 2017-08-11 2020-12-01 Nec Corporation Path-based program lineage inference analysis
US10841333B2 (en) * 2018-01-08 2020-11-17 Sophos Limited Malware detection using machine learning

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005157650A (ja) * 2003-11-25 2005-06-16 Matsushita Electric Ind Co Ltd 不正アクセス検知システム
JP2006155124A (ja) * 2004-11-29 2006-06-15 Savant:Kk 監視プログラム、これを記憶したコンピュータ読み取り可能な記録媒体、並びに前記監視プログラムが格納されたサーバ及び監視装置
JP2009288883A (ja) * 2008-05-27 2009-12-10 Internatl Business Mach Corp <Ibm> ネットワーク・ノードを分類する情報処理装置、情報処理システム、情報処理方法およびプログラム
JP2012083909A (ja) * 2010-10-08 2012-04-26 Kddi Corp アプリケーション特性解析装置およびプログラム
JP2015511101A (ja) * 2012-03-22 2015-04-13 ロス アラモス ナショナル セキュリティー,リミテッド ライアビリティー カンパニーLos Alamos National Security,Llc 計算機ネットワークにおいて調整グループ攻撃を識別する異常検出
JP2015011695A (ja) * 2013-07-02 2015-01-19 セコム株式会社 通信照合装置及びアプリケーション検査装置
WO2015141220A1 (ja) * 2014-03-20 2015-09-24 日本電気株式会社 情報処理装置及び監視方法
JP2018501694A (ja) * 2014-11-21 2018-01-18 シマンテック コーポレーションSymantec Corporation 無認可のネットワーク侵入から保護するシステム及び方法
JP2016206943A (ja) * 2015-04-22 2016-12-08 株式会社日立製作所 サイバー攻撃分析装置及びサイバー攻撃分析方法
US20170337375A1 (en) * 2015-06-29 2017-11-23 Juniper Networks, Inc. Identifying malware based on a relationship between a downloader file and a downloaded file
WO2017046805A1 (en) * 2015-09-17 2017-03-23 Tower-Sec Ltd. Systems and methods for detection of malicious activity in vehicle data communication networks
US20170132498A1 (en) * 2015-11-11 2017-05-11 Adobe Systems Incorporated Structured Knowledge Modeling, Extraction and Localization from Images
JP2017097698A (ja) * 2015-11-26 2017-06-01 富士通株式会社 グラフ処理プログラム、グラフ処理方法、および情報処理装置
US20170300690A1 (en) * 2016-04-15 2017-10-19 Sophos Limited Endpoint malware detection using an event graph

Also Published As

Publication number Publication date
US20220035917A1 (en) 2022-02-03
US11163881B2 (en) 2021-11-02
RU2697958C1 (ru) 2019-08-21
JP7264631B2 (ja) 2023-04-25
US20200004964A1 (en) 2020-01-02

Similar Documents

Publication Publication Date Title
US11188649B2 (en) System and method for classification of objects of a computer system
JP2020013532A (ja) コンピュータシステムにおける不正行為を検出するためのシステム及び方法
JP6731988B2 (ja) 訓練された機械学習モデルを使用することで悪意のあるファイルを検出するシステムおよび方法
US8856937B1 (en) Methods and systems for identifying fraudulent websites
RU2679785C1 (ru) Система и способ классификации объектов
RU2659737C1 (ru) Система и способ управления вычислительными ресурсами для обнаружения вредоносных файлов
US11880455B2 (en) Selecting a detection model for detection of a malicious file
CN109948335B (zh) 用于检测计算机系统中的恶意活动的系统和方法
RU2654151C1 (ru) Система и способ обнаружения вредоносных файлов с использованием обученной модели обнаружения вредоносных файлов
JP2019079493A (ja) 機械学習を用いる悪意のあるファイルを検出するシステムおよび方法
US20160299971A1 (en) Identifying Search Engine Crawlers
CN113497786B (zh) 一种取证溯源方法、装置以及存储介质
Liang et al. An unknown trojan detection method based on software network behavior
RU2724800C1 (ru) Система и способ обнаружения источника вредоносной активности на компьютерной системе
RU2673708C1 (ru) Система и способ машинного обучения модели обнаружения вредоносных файлов
RU2587424C1 (ru) Способ контроля приложений
Michalas et al. MemTri: A memory forensics triage tool using bayesian network and volatility
Dumitrasc et al. User behavior analysis for malware detection
EP3674943A1 (en) System and method of detecting a source of malicious activity in a computer system
EP3674948B1 (en) System and method for classification of objects of a computer system

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20210902

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210902

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20220628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220705

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20221003

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221226

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230413

R150 Certificate of patent or registration of utility model

Ref document number: 7264631

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150