JP6416835B2 - 不要なソフトウェアの検出システム及び方法 - Google Patents

不要なソフトウェアの検出システム及び方法 Download PDF

Info

Publication number
JP6416835B2
JP6416835B2 JP2016167565A JP2016167565A JP6416835B2 JP 6416835 B2 JP6416835 B2 JP 6416835B2 JP 2016167565 A JP2016167565 A JP 2016167565A JP 2016167565 A JP2016167565 A JP 2016167565A JP 6416835 B2 JP6416835 B2 JP 6416835B2
Authority
JP
Japan
Prior art keywords
application
files
computer
file
applications
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
JP2016167565A
Other languages
English (en)
Other versions
JP2017208057A (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 JP2017208057A publication Critical patent/JP2017208057A/ja
Application granted granted Critical
Publication of JP6416835B2 publication Critical patent/JP6416835B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/16Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
    • 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
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/03Indexing scheme relating to G06F21/50, monitoring users, programs or devices to maintain the integrity of platforms
    • G06F2221/033Test or assess software

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Mathematical Physics (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Computing Systems (AREA)
  • Algebra (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Description

(関連出願の相互参照)
本出願は、米国特許法第119条(a)〜(d)(35USC 119(a)−(d))下の優先権の利益を主張する。2016年5月20日に出願されたロシア特許出願2016119520号は、本明細書中に参照として援用されるものとする。
本願は、概してアンチウィルス・テクノロジーに関し、特にコンピュータ・デバイス上の不要なソフトウェアを検出するシステム及び方法に関する。
近年のコンピュータの処理パワーは増加しているので、コンピュータにおいて使用されるソフトウェア(コンピュータプログラム又は単にプログラムと呼ぶ)の複雑さもかなり増している。最もしばしば、現代のソフトウェアがメインプログラムの実行可能なファイルだけではなく、補助ユーティリティ、データライブラリ、リソース(例えば、アイコンやマルチメディアデータ)等の多くのファイルを含んでいる。
ユーザのコンピュータ上に近年のソフトウェアが適切にインストールされるように、特別なインストールプログラムが用いられ、これは、インストールされるソフトウェアの微調整と、他のプログラム及び基礎となるオペレーティングシステムとの協調動作(インターワーキング)に係る相性調整と、追加のユーティリティのインストールとを提供するものである。
ユーザのコンピュータにユーザが所望するプログラムをインストールする際に、しばしばユーザが必要ではない追加のプログラムがインストールされてしまうことがしばしばある。例えば、アンチウィルスソフト等、既にユーザのコンピュータに何らかのものがインストールされている場合や、又は例えば、ユーザが全く使っていないEメールサービスのステータスを追跡するブラウザの補足機能等が挙げられる。
便利だが不要なプログラムを除き、いくつかのインストーラプログラムは、危険の可能性があるソフトウェア(リスクウェア)や現実に危険を伴うソフトウェア(マルウェア)と同様に、いわゆる「不要なソフトウェア」をインストールしてしまう。
一般的にコンピュータ・ネットワーク(特に、インターネット)が発達したため、何らかのプログラムが、インストール直前にコンピュータネットワークからダウンロードされるか、又は、個々のインストーラは、サーバエンドでユーザそれぞれに与えられることに留意されたい。そのようなインストーラは、ユーザは、コンピュータアプリケーションが配布されるサイト上で選択するプログラムを含みうるもので、それは、再度、上述の問題点を引き起こすものである。つまり、ユーザにとって必要ではない多くのプログラムが、ユーザのコンピュータにインストールされてしまい、潜在的に危険なものや有害なものも考えられうる。
不要なソフトウェアのインストールを検出するに際して問題となるのは、多くのインストーラプログラムで、ユーザの同意を得た上で上述のプログラムをインストールするという事実にある。ユーザは普通、自身がインストールしているものやその目的を意識していないのである。例えば、あるインストーラプログラムでは、追加のプログラムをインストールする旨をユーザーに提示していることがある。このように提示されると、ユーザは、実際インストールする必要がなくてもインストールするという選択をする傾向があるからである。
不要なソフトウェアの検出において、悪意のあるプログラムに対処する標準的な方法、すなわち、例えば、署名や経験則の使用による検出によって不要なソフトウェアを除去するというものが用いられる。
潜在的に脅威となるソフトウェアや悪意のあるソフトウェアを検出するための既知の技術が使用されるものの、これは、しばしばユーザのコンピュータにインストールされた不要なソフトウェアを検出することができない。
本発明は、不要なソフトウェアの検出に係る問題を解決するものである。
本発明は、他の特徴にあっては、ユーザーのコンピュータ又はコンピュータ・デバイス上のアプリケーションのアンチウィルス・スキャンと、不要なソフトウェアの検出をすることを意図している。
本発明に係るシステム及び方法によって、コンピュータ・システムにおける不要なアプリケーションを検出することができる。
一実施形態によれば、計算デバイス上の、不要なアプリケーションを検出するためのコンピュータ・システムは、収集モジュールを備え、前記収集モジュールは、前記コンピュータ・システムにインストールされたアプリケーションを取得し、前記取得されたアプリケーションを作成している少なくとも1つのファイルを検出し、前記検出されたファイルと同じコンピュータ・システムにある少なくとも1つの他のファイルと、前記検出されたファイルとの関係(後述する(1)〜(4)のうち少なくとも2つの条件が満たされる場合は、2つのファイルは関係しているものとする)についての情報を収集し、前記収集された情報を検索モジュールに送信するように構成される。前記検索モジュールは、少なくとも1つの見つかったファイルを含んでいる少なくとも1つのアプリケーションであって前記収集モジュールにより取得されたアプリケーションと同じコンピュータ・システムにインストールされているアプリケーションを検出し、前記見つかったアプリケーションを特定する情報をスキャンモジュールに送信するように構成される。前記検索モジュールは、少なくとも1つの見つかったファイルを含んでいる少なくとも1つのアプリケーションであって前記収集モジュールにより取得されたアプリケーションと同じコンピュータ・システムにインストールされているアプリケーションを検出し、前記見つかったアプリケーションを特定する情報をスキャンモジュールに送信するように構成される。前記スキャンモジュールは、前記取得されたアプリケーション及び前記取得された情報から特定されたアプリケーションの使用の頻度であってコンピュータ・システムのアプリケーションにより実行された動作の回数として規定される使用頻度を判定し、前記取得されたアプリケーション及び前記取得された情報から特定されたアプリケーションの使用の頻度を比較することで、前記取得されたアプリケーションを不要なアプリケーションであると決定するように構成される。
<条件>
(1)前記ファイルは、同じアプリケーションにより作成される。
(2)前記ファイルは同じネットワークアドレスからコンピュータにロードされる。
(3)前記ファイルの修正に係る時間間隔は、選択された閾値よりも小さい。
(4)前記ファイルは同一又は類似の属性若しくはデータを有している。
別の実施形態によれば、前記ファイルの修正に係る時間間隔の閾値は、1秒未満、1秒〜1分、及び1分〜10分の少なくとも1つである。
スキャンされるアプリケーションを作り出し且つこれに関係するファイルの、コンピュータ・システムへのインストールに係る時間間隔は、閾値であって1秒未満、1秒〜1分、及び1分〜10分の少なくとも1つである閾値よりも小さい。
別の実施形態によれば、前記コンピュータ上の前記ファイルを作成する前記アプリケーションは、インストールするプログラムである。
別の実施形態によれば、前記判定工程は、次に掲げる(1)〜(4)の少なくとも1つの頻度を判定することを備える。
(1)前記コンピュータ・デバイスへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションを実行する。
(2)前記コンピュータ・デバイスのオペレーティングシステムのAPI(Application−Programmingインターフェース)を、それぞれのアプリケーションが呼び出す。
(3)前記コンピュータ・デバイスへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションに関連付けられているファイルを修正する。
(4)それぞれアプリケーションのインタ−フェースを用いて、それぞれのアプリケーションとのデータ通信を行うための動作を起こす。
別の実施形態によれば、コンピュータ・デバイスにインストールされた1つ又は複数の不要なアプリケーションを検出する、コンピュータで実行可能な方法であって、
取得工程と、検出工程と、ファイル特定工程と、アプリケーション特定工程と、判定工程と、決定工程とを備え、前記取得工程では、前記コンピュータ・デバイスのプロセッサを介して、前記コンピュータ・デバイスにインストールされた第1アプリケーションと関連付けられている情報を取得し、前記検出工程では、第1アプリケーションと関連付けられている第1ファイルを検出し、前記ファイル特定工程では、選択された条件に少なくとも基づいて、第1ファイルと関連し且つ前記コンピュータ・デバイスにインストールされた第2ファイルを特定し、前記アプリケーション特定工程では、第1及び第2ファイルのうちの少なくとも1つを使って前記コンピュータ・デバイスにインストールされた第2アプリケーションを特定し、前記判定工程では、第1及び第2アプリケーションそれぞれの使用頻度を判定し、前記決定工程では、前記使用頻度に基づいて、第1アプリケーションが不要なアプリケーションであるか否かを決定する。
別の実施形態によれば、コンピュータ・デバイスにインストールされた1つ又は複数の不要なアプリケーションを検出するためのシステムであって、少なくとも1つのプロセッサを備え、前記プロセッサは、前記コンピュータ・デバイスにインストールされた第1アプリケーションと関連付けられている情報を取得第1アプリケーションと関連付けられている第1ファイルを検出し、選択された条件に少なくとも基づいて、第1ファイルと関連付けられている第2ファイルを特定し、第1及び第2ファイルの少なくとも1つを使って前記コンピュータ・デバイスにインストールされた第2アプリケーションを特定し、第1及び第2アプリケーションそれぞれの使用頻度を判定し、前記使用頻度に基づいて、第1アプリケーションが不要なアプリケーションであるか否かを決定する、ように構成される。
上述した実施形態の簡単な説明は、本発明の基本的な理解を提供するのに役立つ。この概要は、全ての考えられる側面の詳細な展望ではなく、全ての側面の鍵となるものや決定的な要素を特定することを意図していないし、本発明の全ての側面を描写することも意図していない。その唯一の目的は、前置きとして、1つ又は複数の側面を表し、その後、本発明のより詳細な説明に続くものである。これを達成するため、本発明の1つ又は複数の側面が説明されて、特許請求の範囲においても主張される。
本発明の実施形態に係り、コンピュータ・デバイス上の不要なソフトウェアを検出するのためのシステム例の概要を示している。
本発明の実施形態に係り、コンピュータ・デバイス上の不要なソフトウェアを検出するの方法例の概要を示している。
本発明の実施形態に係り、コンピュータ・デバイスにインストールされたファイルとアプリケーションに基づいて、インストールされたパッケージの再構成の概要を示している。
本発明に係るシステム及び方法が実現可能なコンピュータ・システム、パーソナル・コンピュータ、又はサーバの例を示している。
添付の図面は、本明細書の一部として組み入れられ、この指定の一部を構成し、発明の詳細な説明とともに本発明の1つ又は複数の例面を説明し、それらの原理と実施を説明するのに役立ちうるものである。
例示する実施形態は以下、コンピュータ・デバイス上の不要なソフトウェアを検出するシステム、方法、コンピュータプログラム製品として説明される。当業者であれば、以下の記載はあくまでも例示であり、あらゆる制限をも意図するものではないことは当然に意味するところである。本発明が利益となる分野の当業者であれば、別例をも容易に示唆されることであろう。添付の図面ではその詳細を示すための参照符号が付されている。図面と以下の記載において、同一の又はそれに相当するものについては、同一の参照符号を用いるものとする。
本発明の様々な実施形態を説明するために、以下の通り定義や概念を説明する。
不要なアプリケーションとは、ユーザの「意識的な」参加なしにコンピュータ又はコンピュータ・デバイスにインストールされたアプリケーションであって、明らかに悪意のある動作をするものではないものの動作中にユーザに不便をきたすものである(広告素材という侵入的なデモを用いて、基礎となるオペレーティングシステムやコンピュータ又はコンピュータ・デバイスのアプリケーションについてのユーザ設定を変更すること、例えばブラウザのスタートページを変更する等)。コンピュータ・システムの動作実行におけるユーザの「意識的な」参加とは、実行されている動作の性質とこれらの動作に伴う結果との理解が含まれうる。
不要なファイルとは、不要なアプリケーションを作り出すファイルを含みうる。
正当なアプリケーションとは、アンチウィルス・スキャンを実行する際の不要でないアプリケーションを含みうる。
正当なファイルは、正当なアプリケーションを作り出すファイルを含みうる。
図1は、本発明の実施形態に係り、コンピュータ・デバイス上の不要なソフトウェアを検出するのためのシステム例の概要を示している。不要なソフトウェアの検出のためのシステムの概要は、ファイル及びアプリケーションの記憶部101、ユーザ動作履歴の記憶部102、収集モジュール111、検索モジュール112、及びスキャンモジュール113を備える。
ファイル及びアプリケーションの記憶部101は、以下(1)〜(3)をするように構成される。
(1)ユーザのコンピュータにインストールされたアプリケーションを記憶する。
(2)ユーザのコンピュータにインストールされたアプリケーションに関連付けられているファイルを記憶する。
(3)当該アプリケーション及びファイルを収集モジュール111に提示する。
ユーザ動作履歴の記憶部102は、以下(1)〜(3)をするように構成される。
(1)ドライバ(コンピュータマウス、キーボード等)の補助によりコンピュータ・システムにインストールされたアプリケーションにおけるユーザの動作を追跡する。
(2)当該追跡された動作を記憶する。
(3)当該記憶された情報をスキャンモジュール113に提示する。
例えば、ブラウザのプラグインである「アドブロック」のグラフィックのインターフェースを使用しているユーザは、プラグインの何らかのパラメータをインストールできて、ユーザは、テキストデータを入力したり、インターフェース上の要素(押ボタン、スライダ等)を操作することができる。ユーザ動作履歴の記憶部102は、コンピュータマウスとキーボードのドライバの補助によって、上述のプラグイン「アドブロック」のユーザの動作を追跡し、追跡された動作に係る情報(ボタンが押された時間、テキスト入力、グラフィック・インタフェースの動作時間、ユーザに操作される要素の識別等)を保存する。
収集モジュール111は、以下(1)〜(4)をするように構成される。
(1)コンピュータ・システムにインストールされているアプリケーションをファイル及びアプリケーションの記憶部101から取得する。
(2)当該取得されたアプリケーションに関連付けられている少なくとも1つのファイルを検出する。
(3)当該検出されたファイルと同じコンピュータ・システムにある少なくとも1つの他のファイルと、検出されたファイルとの関係(後述のうち少なくとも2つの条件が満たされる場合は、2つのファイルは関係しているものとする)についての情報を収集する。
(4)当該収集された情報を検索モジュール112に送信する。

<条件>
・ファイルは、同じアプリケーションにより作成された。
・ファイルは同じネットワークアドレスからコンピュータにダウンロードされた。
・ファイルの修正に係る時間間隔は、選択された閾値よりも小さい。
・ファイルは同一又は類似の属性若しくはデータを有している。
・1つのファイル(第1ファイル)は、データであって第2ファイルに含まれているデータとの類似係数が、選択された閾値よりも大きいデータを含みうる。
・互いに異なる複数のファイルの属性は、互いに一致している。
・ファイルのパスは、同じレジストリ・ブランチにあるレジストリ・キーの値の範囲に入りうる。
・ファイルについての情報を含むレジストリ・エントリの修正に係る時間間隔は、所定の閾値よりも小さい。
アプリケーションと関連付けられているファイルは、このファイルのパスを示すウィンドウズ・レジストリのエントリを分析することにより、アプリケーションの起動を担うファイルと同じパスを有するファイルの検索結果として検索されうる。
ファイルの修正に係る時間間隔の閾値は、1秒未満、1秒〜1分、及び1分〜10分の少なくとも1つである。
スキャンされるアプリケーションに関連付けられているファイルの、コンピュータ・システムへのインストールに係る時間間隔は、閾値であって1秒未満、1秒〜1分、及び1分〜10分の少なくとも1つである閾値よりも小さい。
例えば、「illustrator.exe」及び「Bridge.exe」というファイルは、様々なアプリケーションと関連付けられうる。「アドビ・イラストレータCS6」及び「アドビ・ブリッジCS6」は、両方とも「アドビ・クリエイティブスイート」というグラフィックスパッケージに属する。「illustrator.exe」及び「Bridge.exe」というファイルは、2015年11月10日の14時32分15.171秒と2015年11月10日14時32分16.025秒という、事実上同じ時間にそれぞれ作成される。これは、1秒未満の違いであり、「アドビ・イラストレータCS6」及び「アドビ・ブリッジCS6」というアプリケーションが、同時にインストールされたことを意味する。したがって、「illustrator.exe」及び「Bridge.exe」というファイルは、お互いに関連付けられると決定されうる。
コンピュータのファイルを作成しているアプリケーションは、インストーラプログラムでありうる。
例えば、「word.exe」及び「excel.exe」といったファイルは、それぞれ 「マイクロソフト・ワード2013」及び「マイクロソフト・エクセル2013」というアプリケーションの一部であるが、「マイクロソフト・オフィス2013」というインストール・パッケージ(インストールプログラムであって「office2013.msi」というファイルの起動を開始するもの)を作動させたことで、コンピュータ・システムにおいて作成されたものである。したがって、少なくともコンピュータ・システムにおいてそれらが同じアプリケーション(「マイクロソフト・オフィス2013」というインストール・パッケージ)により作成されたので、「word.exe」及び「excel.exe」というファイルが関係していると決定されうる。
別の例として、「マカフィー・アンチウィルス・プラス」というアンチウィルスパッケージのファイルのうちの1つであって、「アドビ・フラッシュ」、及び「mcafee.exe」というアプリケーションのドライバである「flash21.0.0.197.dll」というファイルについても同様に説明がつく。両方のファイルは、ブラウザを作動させ且つ「adobe.com」というサイトを訪問し、ActiveXを使用することでコンピュータ・システムにおいて作成されたものである。ユーザによる設定又はデフォルト設定で、によって、インストール・パッケージが訪問されたサイト上で動的に形成される。従って、「flash21.0.0.197.dll」及び「mcafee.exe」というファイルは、関係していると決定されうる。なぜなら、それらのファイルは同じネットワークアドレスからコンピュータ・システムにダウンロードされたからである。
ファイルに含まれているデータは、ファイルのリソース(ダイアログウィンドウ、イメージ、ビデオ及びオーディオレコーディングを含むメディアデータ等といったグラフィック・インタフェース要素の構造の説明等)であるかもしれない。
例えば、ファイルリソースに蓄えられたJPEGとPNGイメージであってこれらが類似の色情報を有するものは、同様であると考えられうる。より詳細には、イメージの個々のピクセルは、色をRGBフォーマットで記憶することができて、色はYUV表現に変換される。すべての蓄えられたイメージは、そのイメージに係る個々のチャネルY、U、Vについて、互いに比較されて、すべてのピクセルの間の色分布のヒストグラムが決定され且つ形成されうる。それぞれのイメージに対して、3つの256次元のベクトルが取得され、そこから内積の数値を決定する。かかる内積は、イメージの類似の度合いを示すもので、0に近いほどより類似の度合いが高い。
ファイルリソースに記憶された録音音声であって類似のサウンドデータを有するものも、同様であると考えられる。例えば、録音音声(録音音声はサウンドブロックのセットを含みうる)の各ブロックは、サウンドデータが与えられた瞬間に音の特徴に関する情報(周波数や長さ)を記憶し、録音音声のすべてのブロックの選択された特徴(周波数等)のセットは、N次元ベクトルを有する。かかる2つのベクトルの内積の数値は、2つの録音音声の類似の度合いが示すもので、0に近いほど類似の度合いが高い。
ファイルリソースに記憶された撮影動画についても、これはフレームとサウンドトラックのセットを含みうるので、上述したイメージや録音音声と同様の方法で、類似の度合いを決定することができる。
ダイアログウィンドウ間の類似度は、ダイアログウィンドウの様々なグラフィック要素に関連付けられたデータの類似度によって決定されうる。例えば、少なくとも2つのダイアログウィンドウと関係する情報は、特徴セットであってN次元ベクトルを表し且つ各メトリックがダイアログウィンドウのグラフィックの要素の特徴のうちの1つと関係するという、ダイアログウィンドウのグラフィックの要素の特徴セットを表しうる。かかる2つベクトルの内積の数値が決定され、2つのダイアログウィンドウが少なくとも2つのダイアログウィンドウの類似の度合いを示すもので、0に近いほど類似の度合いが高い。
例えば、アプリケーション「マイクロソフト・ワード」のすべてのファイルは、アプリケーション「マイクロソフト・エクセル」のファイルと、以下によって関連付けられる。
・デジタル署名(「マイクロソフト・ワード」と「マイクロソフト・エクセル」を作り出している実行可能なファイルのリソースのうちの1つ)。
・ソフトウェアのメーカー(マイクロソフト)のメーカー。
・ファイルシステムにおけるインストールに係る共通パス(「C:¥Programs File¥マイクロソフト・オフィス2013」)。
検索モジュール112は、以下(1)及び(2)をするように構成される。
(1)収集モジュール111により取得されたアプリケーションと同じコンピュータ・システムにインストールされているアプリケーションであって、収集モジュール111により見つけられた少なくとも1つのファイルを含んでいる少なくとも1つのアプリケーションを検出する。
(2)検出されたアプリケーションを特定する情報をスキャンモジュール113に送信する。
検出されたアプリケーションを特定する情報は、少なくとも以下の(1)〜(3)を含みうる。
(1)個々のアプリケーションの識別子(例えば、コンピュータ・システムにインストールされたアプリケーションについての情報を含んでいるレジストリ・ブランチに蓄えられた個々のアプリケーションの名前)。
(2)個々のアプリケーションに関連付けられたファイルのパス。
(3)個々のアプリケーションをコンピュータ・システムにおいて起動させるためのルール(例えば、実行可能なファイルのパスとスタートキーとを含んでいる開始ライン)。
スキャンモジュール113は、以下(1)及び(2)をするように構成される。
(1)収集モジュール111より取得されたアプリケーションと検索モジュール112により取得された情報から特定されたアプリケーションとの使用頻度(コンピュータ・システムのアプリケーションにより実行された行動の数)を判定する。
(2)収集モジュール111により取得されたアプリケーションと検索モジュール112により取得された情報から特定されたアプリケーションとの使用頻度との比較に基づき、収集モジュール 111により取得されたアプリケーションを不要なアプリケーションとして検出する。
アプリケーションの使用頻度とは、以下(1)〜(4)の何れかでありうる。
(1)アプリケーションについて、コンピュータ・システムにインストールされてからアンチウィルス・スキャンを実行されるまでのアプリケーションの実行頻度。
(2)コンピュータ・システム上での動作中における、アプリケーションによるオペレーティングシステムのAPI(Application−Programmingインターフェース)機能の呼び出し頻度。
(3)アプリケーションについて、コンピュータ・システムでファイルが作成されてからアンチウィルス・スキャンを実行するまでにアプリケーションに関連付けられたそのファイルの修正頻度。
(4)データをアプリケーションに送信するため、アプリケーションのインタフェース要素を用いて実行される動作の頻度。
収集モジュール111により得られたアプリケーションと検索モジュール112により取得された情報により特定されたアプリケーションとの使用頻度は、以下(1)〜(3)のように実行される。
(1)個々のアプリケーションの使用頻度は、上述の頻度のうちの1つ又は複数から成り、多次元のベクトルであってその成分がアプリケーションの使用頻度を構成している頻度のうちの1つを表すベクトルとして表現される。例えば、θ={θ,θ,・・・θ}であり、各成分は以下を表している。
・θ:アプリケーションの使用頻度
・θ:アプリケーションについて、コンピュータ・システムにインストールされてからアンチウィルス・スキャンを実行されるまでの起動頻度。
・θ:コンピュータ・システム上での動作中における、アプリケーションによるオペレーティングシステムのAPI(Application−Programmingインターフェース)機能の呼び出し頻度。
・θ:アプリケーションについて、コンピュータ・システムでファイルが作成されてからアンチウィルス・スキャンを実行するまでにアプリケーションに関連付けられたそのファイルの修正頻度。
・θ:データをアプリケーションに送信するため、アプリケーションのインタフェース要素を用いて実行される動作の頻度。
(2)2つのベクトルの内積を計算する。これは、個々のベクトルがアプリケーションの使用頻度を表すものであり、上述のものである。つまり、ω=〈θ、φ〉=θ×φ+θ×φ+・・・+θ×φである。ただし、
・θ:アプリケーション#1の使用頻度
・φ:アプリケーション#2の使用頻度
である。
(3)計算された値が、選択された閾値と比較され、当該計算された値が閾値よりも大きいときは、収集モジュール111により取得されたアプリケーションが不要であると決定されうる。
例えば、カスタムアセンブリインストール・パッケージの補助によってインストールされたアプリケーション「マイクロソフト・ワード」及び「アドブロック・プラス」の使用頻度が、同時にいくつかの特徴のグループとなりうる。
マイクロソフト・ワードについて、
(1)アプリケーションを実行する頻度(例えば1日ごと等)
(2)アプリケーションにデータを送信するためにアプリケーションのインタフェース要素を用いて実行された動作の頻度(ユーザがテキストをタイプしている場合に1秒あたり1回等)。
アドブロック・プラスについて
(3)アプリケーションを実行する頻度(例えば1日あたり10回等)
(4)アプリケーションにデータを送信するためにアプリケーションのインタフェース要素を用いて実行された動作の頻度(ユーザがアプリケーション設定を変更している場合に1秒あたり0.0000034回等)。
マイクロソフト・ワード及びアドブロック・プラスの、得られた使用頻度の比較結果は、ベクトルの内積として表される数値である。
ω=〈θ,φ〉=θφ+θφ
ここで、
・ω:マイクロソフト・ワードθとアドブロック・プラスφの使用の頻度の比較の結果。
・θ:マイクロソフト・ワードの実行頻度
・φ:アドブロック・プラスの実行頻度
・θ:マイクロソフト・ワード・アプリケーションのインタフェース要素を用いて実行された動作の頻度
・φ:アドブロック・プラス・アプリケーションのインタフェース要素を用いて実行された動作の頻度
アプリケーションの使用頻度は、アプリケーションがどの程度積極的に使用されているかだけではなく、どの程度ユーザが「意識的に」がそのアプリケーションを使用するかを示しうる。例えば、コンピュータ・システムにインストールされたアプリケーションがグラフィック・インタフェースを有しているが、ユーザがそれを使っていない(すなわち、キーボード、マウス、又は別のマニピュレータによってグラフィック・インタフェースの要素で動作させない)場合、そのアプリケーションは不要であると高確率で断言できる。そのようなアプリケーションが、他のアプリケーションとともにそのインストール・パッケージからインストールされた場合には、かかるアプリケーションが不要であると断言できる。こうして、様々なコンピュータ及び様々なユーザに対する同一のアプリケーションが、適当なものであったり不要であったりと決定することができる。
以下、本発明の実施形態に係り、ユーザのコンピュータ又はコンピュータ・デバイスにおける不要なソフトウェアを検出するための例示的なシステムを説明する。
コンピュータ・システムにおいて、不要なアプリケーションがないかの検索は、コンピュータ・システムのアンチウィルス・スキャンの定期実行について確立されたセキュリティ方針に少なくとも基づいて開始しうる。収集モジュール111は、ファイル及びアプリケーションの記憶部101により提供されるデータ(特に、レジストリ・ブランチに入力されたデータであってコンピュータ・システムにインストールされたアプリケーションについての情報を含んでいるデータ)に少なくとも基づいて、ブラウザ用プラグインである「ヤンデックス・ツールバー」というアプリケーションを検出できる。レジストリに入力されたブラウザ設定において、「ヤンデックス・ツールバー」についてのエントリが確立され、「ヤンデックス・ツールバー」というアプリケーションに関連付けられたファイルへのパスを示し、「グーグル・クローム」というブラウザ用のプラグイン機能を実行する(「C:¥Program Files¥Google¥Chrome¥Plugins¥ytbar.exe」)。
更に検索モジュール102は、このファイルとコンピュータ・システムに関連付けられた他のファイルとの関係に基づいて、「ytbar.exe」というファイルに係る情報を収集しうる。この目的のために、以下の動作の何れかが実行されうる。
・1分未満の「ytbar.exe」の作成時間とは異なる作成時間であるファイルの検索が実行される。
・「ytbar.exe」と同じディレクトリ(又は似たような名前のディレクトリ、例えば「..¥Chrome¥Plugins¥ytbar.exe」と「..¥Firefox¥Plugins¥ytbar2.exe」)に位置するファイルの検索が実行される。
結果として、別の数ダースのファイルであって、現在調査中の「ytbar.exe」又は類似のパスとしてコンピュータ・システムにあるファイルを同時に検出しうる。どのアプリケーションが、「ヤンデックス・ツールバー」及び「K−Liteコーデック」という検出されたファイルと関連付けられるかが決定されうる。
アプリケーションが、それらのメイクアップに含められているファイルを通じてお互いに関係があると決定された後に、スキャンモジュール103は、検出されたアプリケーションの使用頻度を更に判定しうる。
例えば、#1「K−Liteコーデック」が、コーデックグループでありビデオ及びオーディオファイルとともに動作するもの(主にエンコードとデコード)であるといった結果が得られうる。
そして、以下(1)〜(3)が決定されうる。
(1).dllライブラリである、アプリケーションのファイル「K−Liteコーデック」は 、1日あたり30回起動された。
(2)アプリケーションのビデオ及びオーディオファイルとともに動作し、ユーティリティの実行可能な.exeファイルから成っている「K−Liteコーデック」が1日あたり2回実行された。
(3)「K−Liteコーデック」アプリケーションのファイルのうちの1つであるユーティリティ(「GraphStudioNext64.exe」)は、コントロール要素を含むむグラフィック・インタフェースを有し、ユーザは、「GraphStudioNext64.exe」というファイルを毎回起動するために、そのコントロール要素を15回用いて、インタラクションを図る(ボタンを押してパラメータを入力)。
得られたデータから、アプリケーション「K−Liteコーデック」が積極的に動作し、ユーザにより定期的に使用されると判定されうる。ブラウザのためのプラグインである#2「ヤンデックス・ツールバー」は、グラフィック・インタフェースを有し、ユーザに、天気予報、Eメールサービス等の様々なサービスへの急速なアクセスを提供する。
そして、以下(1)及び(2)が決定されうる。
(1)アプリケーション「ヤンデックス・ツールバー」のファイルが、1日あたり25回(ブラウザが起動した回数と一致)実行された。
(2)アプリケーション「ヤンデックス・ツールバー」のグラフィック・インタフェースでは、アプリケーションにデータを送信するためにインターフェース要素を用いてなんらの動作も一度も実行されていない。
得られたデータから、アプリケーション「ヤンデックス・ツールバー」が以下(1)(2)であることが決定されうる。
(1)アプリケーション「K−Liteコーデック」とともに同じインストール・パッケージ(K−Liteコーデックパック・メガ)からインストールされたものであること。
(2)インストールされているが、ユーザには使用されていないこと。
したがって、アプリケーション「ヤンデックス・ツールバー」が不要であり、コンピュータ・システムから取り除かれるべきであることが決定される。
図2は、本発明の実施形態に係り、ユーザのコンピュータ又はコンピュータ・デバイス上の不要なソフトウェアを検出する方法200の例示的なフローチャートを示している。
不要なソフトウェアを検出する方法200は、スキャン実行のためにアプリケーションが得られる収集モジュール111により実行されるステップ201と、少なくとも1つのスキャン中のアプリケーションに関連付けられたファイルを検出することができる収集モジュール111によって実行されるステップ202と、検出されたファイルに関係するファイルに対して検索を実行することができる検索モジュール112によって実行されるステップ203と、アプリケーションが決定される検索モジュール112によって実行されるステップ204と、アプリケーションの使用頻度が決定されるスキャンモジュール113によって実行されるステップ205と、スキャン中のアプリケーションが、不要なアプリケーションであると決定することができるスキャンモジュール113によって実行されるステップ206と、を含みうる。
ステップ201では、コンピュータ・システムにインストールされているアプリケーションは、ファイル及びアプリケーションの記憶部101から取得されうる。
ステップ202では、スキャン中の少なくとも1つのアプリケーションに関連付けられたファイルが検出されうる。
アプリケーションに関連付けられたファイルが、少なくとも1つのアプリケーションに関係するファイルへのパスを示すウィンドウズ・レジストリのエントリ分析によって、少なくとも1つのアプチケーションの起動を担うファイルと同じパスにあるファイルの検索結果として、検出されうる。
ステップ203では、ステップ202において上述のファイルと関係するファイルとして特定されうるコンピュータ・システムにおいて検索が実行され、もし以下の条件(1)〜(8)のうちの最低2つが満たされるならば2つのファイルは関係するものとする。
(1)ファイルが同じアプリケーションにより作成された。
(2)ファイルが同じネットワークアドレスからコンピュータにダウンロードされた。
(3)ファイル修正に係る時間間隔が所定の閾値未満である。
(4)同一種類のファイルである(例えば、ファイルの種類が、実行可能なファイル.exe、ライブラリ.dll、アーカイブ.zip、ビデオ.avi等)。
(5)1つのファイルが、第2ファイルに含まれているデータの類似係数が、選択された閾値よりも大きいデータを含む。
(6)どちらのファイルもファイルの属性が類似又は同一である。
(7)ファイルの位置へのパスが、同じレジストリ・ブランチに位置するレジストリ・キーの値の範囲においてファイルのパスがある。
(8)ファイルについての情報を含んでいるレジストリのエントリの修正に係る時間間隔が、所定の閾値未満である。
ファイル修正に係る時間間隔に係る閾値は、1秒未満、1秒〜1分、及び1分〜10分の少なくとも何れかである。
スキャン中のアプリケーション及びこれに関係するファイルを作っているファイルのコンピュータ・システムのインストールの時間間隔は、選択された閾値未満であり、当該選択された閾値は、1秒未満、1秒〜1分、及び1分〜10分の少なくとも何れかである。
コンピュータのファイルを作成しているアプリケーションは、インストールプログラム(インストーラ)でありうる。
ファイルに含まれているデータは、ファイルのリソース(ダイアログウィンドウ、イメージ、ビデオ、録音音声等のメディアデータを含むグラフィック・インタフェース要素の構造説明等)であるかもしれない。
ステップ204では、ステップ203において特定され且つ決定された少なくとも1つのファイルを含む少なくとも1つのアプリケーションが検出されうる。そのアプリケーションは、ステップ201において発見されたアプリケーションと同じコンピュータ・システムにインストールされている。
検出されたアプリケーションについての情報は、少なくとも以下(1)〜(3)の何れかを含みうる。
(1)個々のアプリケーションの識別子(例えば、コンピュータ・システムにインストールされたアプリケーションについての情報を含んでいるレジストリ・ブランチに蓄えられた個々のアプリケーションの名前)。
(2)個々のアプリケーションに関連付けられたファイルへのパス。
(3)コンピュータ・システムにおける個々のアプリケーションの起動のルール(例えば、実行可能なファイルと起動キーのパスを含むスタートライン)。
ステップ205では、ステップ201において取得された少なくとも1つのアプリケーションと、ステップ204において検出されたアプリケーションの使用頻度が判定される。かかるアプリケーションの使用頻度は、選択された時間期間でのコンピュータ・システムのアプリケーションにより実行された所定の動作の回数を示している。
アプリケーションの使用頻度は、以下(1)〜(4)の何れかである。
(1)コンピュータ・システムのそのインストールの瞬間から、アプリケーションのアンチウィルス・スキャンを実行する瞬間までアプリケーションの実行頻度。
(2)コンピュータ・システムにおいて動作中のアプリケーションによるオペレーティング・システムのAPI機能の呼び出しの頻度。
(3)コンピュータ・システムにおけるこれらの作成の瞬間から、アプリケーションのアンチウィルス・スキャンを実行する瞬間までの、そのアプリケーションに関連付けられたファイルの修正頻度。
(4)行動の頻度がアプリケーションにデータを転送するアプリケーショのインターフェース要素を用いて実行された動作の頻度。
ステップ206では、少なくともステップ201において取得されたアプリケーションとステップ204に検出されたアプリケーションとの使用頻度の比較に基づいて、ステップ201において取得されたアプリケーションが、不要なアプリケーションであると認定される。
ステップ201において取得されたアプリケーション及びステップ204において検出されたアプリケーションの使用頻度の比較は、以下(1)〜(3)のように実行されうる。
(1)ステップ205において取得された個々のアプリケーションの使用頻度は、上記頻度のうちの1つ又は複数から成り且つ多次元ベクトルとして表されうるもので、その成分は、アプリケーションの使用頻度から成る頻度のうちの1つを表しうる。例えば、
・θ={θ,θ,・・・θ
・θ:アプリケーションの使用頻度
・θ:アプリケーションについて、コンピュータ・システムにインストールされてからアンチウィルス・スキャンを実行されるまでの起動頻度。
・θ:コンピュータ・システム上での動作中における、アプリケーションによるオペレーティングシステムのAPI(Application−Programmingインターフェース)機能の呼び出し頻度。
・θ:アプリケーションについて、コンピュータ・システムでファイルが作成されてからアンチウィルス・スキャンを実行するまでにアプリケーションに関連付けられたそのファイルの修正頻度。
・θ:データをアプリケーションに送信するため、アプリケーションのインタフェース要素を用いて実行される動作の頻度。
(2)2つのベクトルの内積を計算する。これは、個々のベクトルがアプリケーションの使用頻度を表すものであり、上述のものである。つまり、ω=〈θ、φ〉=θ×φ+θ×φ+・・・+θ×φである。ただし、
・θ:アプリケーション#1の使用頻度
・φ:アプリケーション#2の使用頻度
である。
(3)計算された値が、選択された閾値と比較され、当該計算された値が閾値よりも大きいときは、ステップ201において取得されたアプリケーションが不要であると決定されうる。
図3は、本発明の実施形態に係り、ユーザのコンピュータ又はコンピュータ・デバイスにインストールされたファイルとアプリケーションに基づく、インストール・パッケージの再構成の概要を示している。
コンピュータ・システムにおいて作成されたファイル及びコンピュータ・システムにインストールされたアプリケーションに基づくインストール・パッケージの再構成に係る構成図は、コンピュータ・システムに正当な及び不要なアプリケーションをインストールするようにデザインされたインストール・パッケージ300と、正当なファイル301と、不要なファイル302と、正当なアプリケーション311と、不要なアプリケーション312と、これらの互いに直接的な関係321と、間接的な関係322と、を含みうる。
1つのアプリケーションの構成が、第2アプリケーションの動作中に作成されたファイルを含む場合には、直接的な関係によって2つのアプリケーションが関係しているといえる。
本発明の実施形態によれば、アプリケーションの動作中にファイルが作成された場合には、直接的な関係によってアプリケーションとファイルとが関係しているといえる。
アプリケーションであってその構成に第2ファイルを含むアプリケーションの動作中に1つのファイルが作成された場合には、直接的な関係により2つのファイルが関係しているといえる。
両方のアプリケーションが、その動作中に共通のデータを使用する場合には、間接的な関係によりこの2つのアプリケーションが関係しているといえる。例えば、アプリケーション「マイクロソフト・ワード」と「マイクロソフト・エクセル」は、異なるアプリケーションであるが、操作中に、それらは、レジストリに入力された同じパラメータ(デフォルトの文書の保存場所のパス、スペルチェック設定等)を使用する。
アプリケーションであってその構成に2つのファイルを含むアプリケーションが間接的な関係により関係する場合には、間接的な関係によりこの2つのファイルが関係しているといえる。
アプリケーションが、別のアプリケーションであってその構成にファイルを含むアプリケーションと間接的な関係により関係する場合は、そのアプリケーションとそのファイルは、間接的な関係により関係しているといえる。
インストール・パッケージ300に基づいて不要なアプリケーション312がインストールされてからかなりの時間が経過しているため、その後不要なアプリケーションに対するスキャンが実行されうる(例えば、アンチウィルスを用いる)。正当なアプリケーション311と不要なアプリケーション312とは実際的には大差がないので、それらの検出と識別は、アンチウィルスアプリケーションにとってとても難しい。たとえそうでも、不要なアプリケーション312がインストールされた元となるインストール・パッケージ300そのものは、少なくともその動作(経験則に基づく分析を用いる)又はその構造の分析(署名の分析を用いる)に基づき、これを検出したときは不要であると識別しうる。しかし、アプリケーションをコンピュータ・システムにインストールするタスクを実行した後に、インストール・パッケージ300はしばしば除去される(自動的又はユーザによって)。これにより、その分析が不可能になっていまう。本発明の実施形態によれば、直接的な関係321によってお互いに関連したファイルを含み且つコンピュータ・システムにインストールされた既存のアプリケーションの分析を実行することによって、間接的な関係322を再構成することを介してインストール・パッケージ300又はアプリケーションのインストールにおける動作を再構成しうる。コンピュータ・システムにおいて生成されたファイル301、302及びコンピュータ・システムにおいてインストールされ且つ動作するアプリケーション311、312の、直接的な関係321及び間接的な関係322の分析に基づいて、ファイル及びアプリケーションが選択されうる。このファイル及びアプリケーションは、コンピュータ・システムのファイル301、302を作成するために使用されたインストール・パッケージの動作又はコンテンツにおいて同一のインストール・パッケージ300から構成される。取得されたインストール・パッケージ300の署名又は経験的な分析の結果、コンピュータ・システムのインストール・パッケージ300によってインストールされた不要なアプリケーションを明らかにすることができる。
図3を参照すると、例えば、ステップ1として、すべての関連したファイル(正当なファイル301及び不要なファイル302の両方を含む、ただし検出時には判別できないかもしれない)が検出され得、以下(1)〜(6)の所定の条件が満たされるならば2つのファイルが関係するといえる。
(1)ファイルが同じアプリケーションにより作成された。
(2)ファイルが同じネットワークアドレスからコンピュータにダウンロードされた。
(3)ファイル修正に係る時間間隔が所定の閾値未満である;
(4)どちらのファイルもファイルの属性が類似又は同一である。
(5)ファイルの位置へのパスが、同じレジストリ・ブランチに位置するレジストリ・キーの値の範囲においてファイルのパスがある。
(6)ファイルについての情報を含んでいるレジストリのエントリの修正に係る時間間隔が、所定の閾値未満である。
アプリケーションと関連付けられているファイルは、このファイルのパスを示すウィンドウズ・レジストリのエントリを分析することにより、アプリケーションの起動を担うファイルと同じパスを有するファイルの検索結果として検索されうる。
スキャン中のアプリケーションに関連付けられたファイル及びこれに関係するファイルがコンピュータ・システムにインストールされる時間間隔は、選択された閾値未満である。
コンピュータのファイルを作成しているアプリケーションは、インストールプログラム(インストーラ)でありうる。
次にステップ2では、検出されたファイル及びアプリケーション間での依存関係を識別することができる。このアプリケーションは、その構成にファイルを作成することに加わったアプリケーションに関連付けられたファイル(直接的な関係321)だけでなく間接的な関係322によるファイルを含む。
例えば、ステップ1においてファイル「data.dat」及び「data.ini」が検出され且つ同時に作成されるとともに、ステップ2において、アーカイブファイル「data.dat」及び「data.ini」を保存しているアーカイブ「app.zip」というファイルが特定される。特定されたアーカイブは、ステップ1の実行時にコンピュータ・システムが使用しない「app.exe」も含みうる。このファイルは、間接的な関係322により「data.dat」及び「data.ini」というファイルと関係すると考えられる。
ステップ2は、ステップ1において発見された全てのファイルに対して、ステップ1において関係するアプリケーション及びファイルが1つでも発見されるまでイタレーション処理が続けられる。コンピュータ・システムにおいてステップ1及びステップ2で発見された他のファイルより早く作成されたファイルは、ステップ2において発見された他のアプリケーションより早くコンピュータ・システムにインストールされたアプリケーションと同様に、インストール・パッケージ300と関係するといえる。
ステップ3では、識別されたインストール・パッケージ300に対してアンチ・ウィルススキャンが実行されうる。上述のアンチ・ウィルスアプリケーションのツールによる不要なアプリケーションを発見する方法では、不要なアプリケーションと正当なアプリケーションとが実際的に見分けがつかずこれが課題である。それらは、コンピュータ・システムに悪意のある動作を実行するわけではないからである。たとえそうでも、不要なアプリケーションがコンピュータ・システムにインストールされているときには、所定の動作が実行される必要があり(例えば、ユーザがのインストールまたはインストールの条件をキャンセルしないように)、これはすでにアンチ・ウィルスアプリケーションによって検出されているはずである。アンチウィルス・スキャンの結果、インストール・パッケージ300が、不要なアプリケーションをインストールする可能性があると認められうるならば、そこにインストールされた全てのアプリケーション及び作成された全てのファイル、そして不要なアプリケーション312を識別するためのステップ1において発見されたファイルに至るまで、分析が実行されうる。具体的には、発見されたアプリケーションとファイルの使用頻度が判定される。アプリケーションの使用頻度とは、所定時間におけるコンピュータ・システムのアプリケーションにより実行された何らかの動作の回数を示すもので、以下(1)〜(4)の何れかでありうる。
(1)アプリケーションについて、コンピュータ・システムにインストールされてからアンチウィルス・スキャンを実行されるまでのアプリケーションの実行頻度。
(2)コンピュータ・システム上での動作中における、アプリケーションによるオペレーティングシステムのAPI(Application−Programmingインターフェース)機能の呼び出し頻度。
(3)アプリケーションについて、コンピュータ・システムでファイルが作成されてからアンチウィルス・スキャンを実行するまでにアプリケーションに関連付けられたそのファイルの修正頻度。
(4)データをアプリケーションに送信するため、アプリケーションのインタフェース要素を用いて実行される動作の頻度。
使用頻度が選択された閾値未満であるアプリケーションは、不要なアプリケーションであると決定される。
例えば、ブラウザのためのプラグイン「アドビ・フラッシュプレーヤー」及びアンチウィルスソフトである「マカフィー・アンチウィルス・プラス」という2つのアプリケーションが、「アドビ・フラッシュ・インストーラ」というインストール・パッケージを介してコンピュータ・システムにインストールされたとする。「マカフィー・アンチウィルス・プラス」の使用頻度が0であったのに対して、「アドビ・フラッシュプレーヤー」の使用頻度は、1日100回以上に達していた。これら使用頻度と選択された閾値(0.25に近い値)とを比較することによって、「マカフィー・アンチウィルス・プラス」というアンチウィルスソフトは不要であると決定されうる。「マカフィー・アンチウィルス・プラス」がこのように使用頻度が低いのは、ユーザが、これを使用していないことを示しているといえる。
図4は、実施形態に係り本発明のシステムと方法が実装できる汎用コンピュータ・システム(パーソナル・コンピュータやサーバ等)の例を示している。図示の通り、コンピュータ・システム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と接続される。かかるネットワーク接続は、単なる一例であり、ネットワークの正確な構成を示すものではない。すなわち、技術の通信モジュールによって、あるコンピュータから他のコンピュータへの接続を確立する他の方法(Bluetooth接続等)もあることに留意されたい。
様々な実施形態において、ハードウェア、ソフトウェア、ファームウェア、又はこれらのあらゆる組み合わせにおいて、ここで説明されたシステム及び方法を実施し得る。ソフトウェアにおいて実装される場合は、方法は不揮発性コンピュータ可読メディアの1つ又は複数の指示又はコードとして保存され得る。コンピュータ可読メディアは、データストレージを含む。あくまでも例であり限定するものではないが、そのようなコンピュータ可読メディアは、RAM、ROM、EEPROM、CD−ROM、フラッシュメモリ、若しくは他のタイプの電気、磁気、光学式の記憶媒体、又はその他のメディアであってもよい。すなわち、これらによって指示又はデータ構造体という形で、要求されたプログラムコードを運ぶか又は保存することができ、汎用コンピュータのプロセッサによってアクセスすることができる。
様々な実施形態で、本発明のシステム及び方法が、モジュールとして実装され得る。ここで用語「モジュール」は、実世界の機器、コンポーネント、又はハードウェアを用いて実装されたコンポーネント配置であり、例えばASIC(Application Specific Integrated Circuit)、FPGA(Field−Programmable Gate Array)等の、又は例えばモジュールの機能を実行するマイクロプロセッサシステムや指示セットによる等、ハードウェアとソフトウェアの組み合わせとして実装され得る。これらは、実行中にマイクロプロセッサシステムを特定の機器に変換する。モジュールは、ハードウェア単体により促進される何らかの機能とハードウェア及びソフトウェアの組み合わせによって促進される他の機能という2つの組み合わせとして実施されてもよい。モジュールの少なくとも一部又は全部は、汎用コンピュータのプロセッサにおいて実行できる(図6において詳述したもの等)。したがって、各モジュールは様々な適当な構成で実現することができて、ここに例示した特定の実装に限られるものではない。
なお、実施形態の通常の機能のうちの全てをここで開示しているわけではない。本発明の何れの実施形態を開発する場合においてでも、開発者の具体的な目標を達成するためには多くの実施に係る特別な決定が必要であり、これらの具体的な目標は実施形態及び開発者ごとに異なることに留意されたし。そのような開発努力は、複雑で時間を要するものであるが、本発明の利益を享受し得る当業者にとってはエンジニアリングの日常であると理解されたい。
更に、本明細書で使用される用語又は表現は、あくまでも説明のためであり、限定するものではない。つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語又は表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであると留意されたし。明示的な記載がない限り、明細書又は特許請求の範囲内における任意の用語に対して、珍しい又は特別な意味を帰することは意図されていない。
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。更に、態様及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。

Claims (20)

  1. コンピュータ・デバイスにインストールされた1つ又は複数の不要なアプリケーションを検出する、コンピュータで実行可能な方法であって、
    取得工程と、検出工程と、ファイル特定工程と、アプリケーション特定工程と、判定工程と、決定工程とを備え、
    前記取得工程では、前記コンピュータ・デバイスのプロセッサを介して、前記コンピュータ・デバイスにインストールされた第1アプリケーションと関連付けられている情報を取得し、
    前記検出工程では、第1アプリケーションと関連付けられている第1ファイルを検出し、
    前記ファイル特定工程では、選択された条件に少なくとも基づいて、第1ファイルと関連し且つ前記コンピュータ・デバイスにインストールされた第2ファイルを特定し、
    前記アプリケーション特定工程では、第1及び第2ファイルのうちの少なくとも1つを使って前記コンピュータ・デバイスにインストールされた第2アプリケーションを特定し、
    前記判定工程では、第1及び第2アプリケーションそれぞれの使用頻度を判定し、
    前記決定工程では、前記使用頻度に基づいて、第1アプリケーションが不要なアプリケーションであるか否かを決定する、
    コンピュータで実行可能な方法。
  2. 前記選択された条件は、次に掲げる(1)〜(4)の少なくとも1つである、請求項1に記載のコンピュータで実行可能な方法。
    (1)2つのファイルである第1及び第2ファイルは、同じアプリケーションにより作成されたものである。
    (2)第1及び第2ファイルは、同じネットワークアドレスから前記コンピュータ・デバイスにロードされたものである。
    (3)第1及び第2ファイルの修正に係る時間間隔は、選択された閾値よりも小さい。
    (4)第1及び第2ファイルは、同一又は類似の属性若しくはデータを有する。
  3. 前記選択された閾値は、1秒未満、1秒〜1分、及び1分〜10分の少なくとも1つである、請求項2に記載のコンピュータで実行可能な方法。
  4. 前記検出工程は、
    第1アプリケーションと関連付けられているファイルの場所であるパスを示すウィンドウズ・レジストリのエントリを分析し、
    第1アプリケーションの起動を担う少なくとも1つのファイルと同じパスである第1ファイルを特定する、
    請求項1に記載のコンピュータで実行可能な方法。
  5. 少なくとも、
    第1及び第2ファイルにより共有された特徴セットを特定し、前記特徴セットそれぞれのN次元ベクトルを決定し、これら少なくとも2つのN次元ベクトルの内積に基づいて、第1及び第2ファイルの類似度を決定することで、
    第1及び第2ファイルの同一又は類似の属性若しくはデータを決定することを更に備える、
    請求項2に記載のコンピュータで実行可能な方法。
  6. 前記アプリケーション特定工程は、次に掲げる(1)〜(3)の少なくとも1つに基づく、請求項1に記載のコンピュータで実行可能な方法。
    (1)前記コンピュータ・デバイスにインストールされたアプリケーションを特定するためレジストリ・ブランチに保存された情報。
    (2)第1及び第2ファイルであってそれぞれに対応するアプリケーションに関連付けられている第1及び第2ファイルのパス
    (3)前記コンピュータ・デバイスにインストールされたアプリケーションそれぞれを起動するためのルール。
  7. 前記判定工程は、次に掲げる(1)〜(4)の少なくとも1つの頻度を判定することを備える、請求項1に記載のコンピュータで実行可能な方法。
    (1)前記コンピュータ・デバイスへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションを実行する。
    (2)前記コンピュータ・デバイスのオペレーティングシステムのAPI(Application−Programmingインターフェース)を、それぞれのアプリケーションが呼び出す。
    (3)前記コンピュータ・デバイスへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションに関連付けられているファイルを修正する。
    (4)それぞれアプリケーションのインタ−フェースを用いて、それぞれのアプリケーションとのデータ通信を行うための動作を起こす。
  8. コンピュータ・デバイスにインストールされた1つ又は複数の不要なアプリケーションを検出するためのシステムであって、
    少なくとも1つのプロセッサを備え、
    前記プロセッサは、
    前記コンピュータ・デバイスにインストールされた第1アプリケーションと関連付けられている情報を取得し、
    第1アプリケーションと関連付けられている第1ファイルを検出し、
    選択された条件に少なくとも基づいて、第1ファイルと関連付けられている第2ファイルを特定し、
    第1及び第2ファイルの少なくとも1つを使って前記コンピュータ・デバイスにインストールされた第2アプリケーションを特定し、
    第1及び第2アプリケーションそれぞれの使用頻度を判定し、
    前記使用頻度に基づいて、第1アプリケーションが不要なアプリケーションであるか否かを決定する、ように構成される、
    システム。
  9. 前記選択された条件は、次に掲げる(1)〜(4)の少なくとも1つである、請求項8に記載のシステム。
    (1)2つのファイルである第1及び第2ファイルは、同じアプリケーションにより作成されたものである。
    (2)第1及び第2ファイルは、同じネットワークアドレスから前記コンピュータ・デバイスにロードされたものである。
    (3)第1及び第2ファイルの修正に係る時間間隔は、選択された閾値よりも小さい。
    (4)第1及び第2ファイルは、同一又は類似の属性若しくはデータを有する。
  10. 前記選択された閾値は、1秒未満、1秒〜1分、及び1分〜10分の少なくとも1つである、請求項9に記載のシステム。
  11. 第1ファイルの検出において、前記プロセッサは、
    第1アプリケーションと関連付けられているファイルの場所であるパスを示すウィンドウズ・レジストリのエントリを分析し、
    第1アプリケーションの起動を担う少なくとも1つのファイルと同じパスである第1ファイルを特定する、ように構成される、
    請求項8に記載のシステム。
  12. 前記プロセッサは、少なくとも、
    第1及び第2ファイルにより共有された特徴セットを特定し、前記特徴セットそれぞれのN次元ベクトルを決定し、これら少なくとも2つのN次元ベクトルの内積に基づいて、第1及び第2ファイルの類似度を決定することで、
    第1及び第2ファイルの同一又は類似の属性若しくはデータを決定するように構成される、請求項8に記載のシステム。
  13. 第2アプリケーションの特定において、前記プロセッサは、次に掲げる(1)〜(3)の少なくとも1つに基づくように構成される、請求項8に記載のシステム。
    (1)前記コンピュータ・デバイスにインストールされたアプリケーションを特定するためレジストリ・ブランチに保存された情報。
    (2)第1及び第2ファイルであってそれぞれに対応するアプリケーションに関連付けられている第1及び第2ファイルのパス
    (3)前記コンピュータ・デバイスにインストールされたアプリケーションそれぞれを起動するためのルール。
  14. 前記使用頻度の判定において、前記プロセッサは、次に掲げる(1)〜(4)の少なくとも1つを備えるように構成される、請求項8に記載のシステム。
    (1)前記コンピュータ・デバイスへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションを実行する。
    (2)前記コンピュータ・デバイスのオペレーティングシステムのAPI(Application−Programmingインターフェース)を、それぞれのアプリケーションが呼び出す。
    (3)前記コンピュータ・デバイスへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションに関連付けられているファイルを修正する。
    (4)それぞれアプリケーションのインタ−フェースを用いて、それぞれのアプリケーションとのデータ通信を行うための動作を起こす。
  15. コンピュータに実行可能なコードを保存する不揮発性コンピュータ可読媒体であって、
    前記コードは、少なくとも1つのコンピュータに
    前記少なくとも1つのコンピュータのプロセッサを介して、前記少なくとも1つのコンピュータにインストールされた第1アプリケーションと関連付けられている情報を取得し、
    第1アプリケーションと関連付けられている第1ファイルを検出し、
    選択された条件に少なくとも基づいて、第1ファイルと関連し且つ前記少なくとも1つのコンピュータにインストールされた第2ファイルを特定し、
    第1及び第2ファイルのうちの少なくとも1つを使って前記少なくとも1つのコンピュータにインストールされた第2アプリケーションを特定させ、
    第1及び第2アプリケーションそれぞれの使用頻度を判定し、
    前記使用頻度に基づいて、第1アプリケーションが不要なアプリケーションであるか否かを決定する、ことを実行させる
    コンピュータ可読媒体。
  16. 前記選択された条件は、次に掲げる(1)〜(4)の少なくとも1つである、請求項15に記載のコンピュータ可読媒体。
    (1)2つのファイルである第1及び第2ファイルは、同じアプリケーションにより作成されたものである。
    (2)第1及び第2ファイルは、同じネットワークアドレスから前記少なくとも1つのコンピュータにロードされたものである。
    (3)第1及び第2ファイルの修正に係る時間間隔は、選択された閾値よりも小さい。
    (4)第1及び第2ファイルは、同一又は類似の属性若しくはデータを有する。
  17. 第1ファイルの検出は、
    第1アプリケーションと関連付けられているファイルの場所であるパスを示すウィンドウズ・レジストリのエントリを分析し、
    第1アプリケーションの起動を担う少なくとも1つのファイルと同じパスである第1ファイルを特定する、
    請求項15に記載のコンピュータ可読媒体。
  18. 少なくとも、
    第1及び第2ファイルにより共有された特徴セットを特定し、前記特徴セットそれぞれのN次元ベクトルを決定し、これら少なくとも2つのN次元ベクトルの内積に基づいて、第1及び第2ファイルの類似度を決定することで、
    第1及び第2ファイルの同一又は類似の属性若しくはデータを決定することを、
    前記少なくとも1つのコンピュータに実行させるコードを更に備える、請求項16に記載のコンピュータ可読媒体。
  19. 第2アプリケーションの特定は、次に掲げる(1)〜(3)の少なくとも1つに基づく、請求項15に記載のコンピュータ可読媒体。
    (1)前記少なくとも1つのコンピュータにインストールされたアプリケーションを特定するためレジストリ・ブランチに保存された情報。
    (2)第1及び第2ファイルであってそれぞれに対応するアプリケーションに関連付けられている第1及び第2ファイルのパス
    (3)前記少なくとも1つのコンピュータにインストールされたアプリケーションそれぞれを起動するためのルール。
  20. 前記使用頻度の判定は、次に掲げる(1)〜(3)の少なくとも1つを前記少なくとも1つのコンピュータに実行させるコードを更に備える、請求項15に記載のコンピュータ可読媒体。
    (1)前記少なくとも1つのコンピュータへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションを実行する。
    (2)前記少なくとも1つのコンピュータのオペレーティングシステムのAPI(Application−Programmingインターフェース)を、それぞれのアプリケーションが呼び出す。
    (3)前記少なくとも1つのコンピュータへのインストールからアンチウィルス・スキャンまで、それぞれのアプリケーションに関連付けられているファイルを修正する。
    (4)それぞれアプリケーションのインタ−フェースを用いて、それぞれのアプリケーションとのデータ通信を行うための動作を起こす。
JP2016167565A 2016-05-20 2016-08-30 不要なソフトウェアの検出システム及び方法 Active JP6416835B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2016119520A RU2634177C1 (ru) 2016-05-20 2016-05-20 Система и способ обнаружения нежелательного программного обеспечения
RU2016119520 2016-05-20
US15/213,826 2016-07-19
US15/213,826 US10255431B2 (en) 2016-05-20 2016-07-19 System and method of detecting unwanted software

Publications (2)

Publication Number Publication Date
JP2017208057A JP2017208057A (ja) 2017-11-24
JP6416835B2 true JP6416835B2 (ja) 2018-10-31

Family

ID=60153990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016167565A Active JP6416835B2 (ja) 2016-05-20 2016-08-30 不要なソフトウェアの検出システム及び方法

Country Status (4)

Country Link
US (2) US10255431B2 (ja)
JP (1) JP6416835B2 (ja)
CN (1) CN107403093B (ja)
RU (1) RU2634177C1 (ja)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2634177C1 (ru) * 2016-05-20 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения нежелательного программного обеспечения
JP2018109910A (ja) * 2017-01-05 2018-07-12 富士通株式会社 類似度判定プログラム、類似度判定方法および情報処理装置
JP6866645B2 (ja) 2017-01-05 2021-04-28 富士通株式会社 類似度判定プログラム、類似度判定方法および情報処理装置
CN108055582A (zh) * 2017-12-14 2018-05-18 深圳市雷鸟信息科技有限公司 应用安装方法及智能电视
CN109464805A (zh) * 2018-10-11 2019-03-15 北京奇虎科技有限公司 恶意程序检测方法、装置、电子设备和存储介质
KR102317833B1 (ko) * 2019-10-31 2021-10-25 삼성에스디에스 주식회사 악성 코드 탐지 모델 학습 방법 및 이를 이용한 탐지 방법

Family Cites Families (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6941135B2 (en) * 2001-08-13 2005-09-06 Qualcomm Inc. System and method for temporary application component deletion and reload on a wireless device
US7203343B2 (en) * 2001-09-21 2007-04-10 Hewlett-Packard Development Company, L.P. System and method for determining likely identity in a biometric database
US7243245B2 (en) * 2003-06-20 2007-07-10 International Business Machines Corporation Method and system for performing automatic startup application launch elimination
US20050091535A1 (en) * 2003-10-24 2005-04-28 Microsoft Corporation Application identity for software products
US7765592B2 (en) * 2004-01-10 2010-07-27 Microsoft Corporation Changed file identification, software conflict resolution and unwanted file removal
US20050268112A1 (en) * 2004-05-28 2005-12-01 Microsoft Corporation Managing spyware and unwanted software through auto-start extensibility points
US8321910B1 (en) * 2005-01-21 2012-11-27 Trend Micro, Inc. Determining the source of malware
US20060212940A1 (en) * 2005-03-21 2006-09-21 Wilson Michael C System and method for removing multiple related running processes
US7739682B1 (en) * 2005-03-24 2010-06-15 The Weather Channel, Inc. Systems and methods for selectively blocking application installation
US9235703B2 (en) * 2005-09-30 2016-01-12 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Virus scanning in a computer system
US7840958B1 (en) * 2006-02-17 2010-11-23 Trend Micro, Inc. Preventing spyware installation
US8181244B2 (en) * 2006-04-20 2012-05-15 Webroot Inc. Backward researching time stamped events to find an origin of pestware
US20070294767A1 (en) * 2006-06-20 2007-12-20 Paul Piccard Method and system for accurate detection and removal of pestware
US20080028466A1 (en) * 2006-07-26 2008-01-31 Michael Burtscher System and method for retrieving information from a storage medium
US8775333B1 (en) * 2008-08-20 2014-07-08 Symantec Corporation Systems and methods for generating a threat classifier to determine a malicious process
US8473607B2 (en) * 2008-09-02 2013-06-25 Belarc, Inc. System and method for software usage discovery
US8701192B1 (en) * 2009-06-30 2014-04-15 Symantec Corporation Behavior based signatures
RU2449348C1 (ru) * 2010-11-01 2012-04-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ для антивирусной проверки на стороне сервера скачиваемых из сети данных
US8413244B1 (en) * 2010-11-11 2013-04-02 Symantec Corporation Using temporal attributes to detect malware
US8781985B2 (en) * 2010-12-14 2014-07-15 Microsoft Corporation Addressing system degradation by application disabling
JP5560213B2 (ja) * 2011-02-10 2014-07-23 株式会社Nttドコモ 情報提供サーバ及び情報提供方法
US8181247B1 (en) * 2011-08-29 2012-05-15 Kaspersky Lab Zao System and method for protecting a computer system from the activity of malicious objects
RU2486588C1 (ru) * 2012-03-14 2013-06-27 Закрытое акционерное общество "Лаборатория Касперского" Система и способ эффективного лечения компьютера от вредоносных программ и последствий их работы
US20130326499A1 (en) * 2012-05-31 2013-12-05 Microsoft Corporation Automatically installing and removing recommended applications
JP6050972B2 (ja) * 2012-06-29 2016-12-21 株式会社Nttドコモ 情報処理装置、情報通知方法及びプログラム
JP6223740B2 (ja) * 2013-07-25 2017-11-01 京セラ株式会社 電子機器、プログラムおよび電子機器の制御方法
US10021169B2 (en) * 2013-09-20 2018-07-10 Nuance Communications, Inc. Mobile application daily user engagement scores and user profiles
US9471624B1 (en) * 2013-12-26 2016-10-18 Quixey, Inc. Method for recommending applications for deletion
US9773112B1 (en) * 2014-09-29 2017-09-26 Fireeye, Inc. Exploit detection of malware and malware families
US9483643B1 (en) * 2015-03-13 2016-11-01 Symantec Corporation Systems and methods for creating behavioral signatures used to detect malware
US9619649B1 (en) * 2015-03-13 2017-04-11 Symantec Corporation Systems and methods for detecting potentially malicious applications
RU2618947C2 (ru) * 2015-06-30 2017-05-11 Закрытое акционерное общество "Лаборатория Касперского" Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал
RU2634177C1 (ru) * 2016-05-20 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения нежелательного программного обеспечения
US10104431B2 (en) * 2016-06-30 2018-10-16 Verizon Patent And Licensing Inc. Methods and systems for resolving recording conflicts in a hybrid cloud-local digital video recording system

Also Published As

Publication number Publication date
US10671720B2 (en) 2020-06-02
US20190171810A1 (en) 2019-06-06
US20170337371A1 (en) 2017-11-23
US10255431B2 (en) 2019-04-09
CN107403093A (zh) 2017-11-28
RU2634177C1 (ru) 2017-10-24
CN107403093B (zh) 2020-04-14
JP2017208057A (ja) 2017-11-24

Similar Documents

Publication Publication Date Title
JP6416835B2 (ja) 不要なソフトウェアの検出システム及び方法
RU2454714C1 (ru) Система и способ повышения эффективности обнаружения неизвестных вредоносных объектов
US9547765B2 (en) Validating a type of a peripheral device
CN109145600B (zh) 使用静态分析元素检测恶意文件的系统和方法
EP2955658B1 (en) System and methods for detecting harmful files of different formats
KR101832533B1 (ko) 획득된 파일의 평판 검사 기법
US8079085B1 (en) Reducing false positives during behavior monitoring
US8732587B2 (en) Systems and methods for displaying trustworthiness classifications for files as visually overlaid icons
US10691739B2 (en) Multi-label content recategorization
JP6400758B2 (ja) 不正リモート管理からのコンピュータを保護するためのシステム及び方法
US20150229673A1 (en) Apparatus and method for diagnosing malicious applications
JP6290297B2 (ja) 変更または破損した外部デバイスを検出するためのシステム及び方法
CN107203717B (zh) 在虚拟机上执行文件的防病毒扫描的系统和方法
JP6577399B2 (ja) 望ましくないプログラムのインストール及び実行を予防するシステム及び方法
US20190147163A1 (en) Inferential exploit attempt detection
JP2013543624A (ja) コンピュータシステムの分析方法および装置
US20070074172A1 (en) Software problem administration
US20180341770A1 (en) Anomaly detection method and anomaly detection apparatus
US20090193411A1 (en) Method and system for assessing deployment and un-deployment of software installations
RU2665910C1 (ru) Система и способ обнаружения вредоносного кода в адресном пространстве процессов
WO2023067665A1 (ja) 解析機能付与方法、解析機能付与装置及び解析機能付与プログラム
EP3246840B1 (en) System and method of detecting unwanted software
JPWO2019049478A1 (ja) コールスタック取得装置、コールスタック取得方法およびコールスタック取得プログラム
JP7416255B2 (ja) 学習装置、学習方法および学習プログラム
KR102465307B1 (ko) 화이트 리스트 생성 방법 및 이를 수행하는 사용자 단말, 컴퓨터 판독 가능한 기록 매체 및 컴퓨터 프로그램

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170817

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180828

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181004

R150 Certificate of patent or registration of utility model

Ref document number: 6416835

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