JP6577399B2 - 望ましくないプログラムのインストール及び実行を予防するシステム及び方法 - Google Patents

望ましくないプログラムのインストール及び実行を予防するシステム及び方法 Download PDF

Info

Publication number
JP6577399B2
JP6577399B2 JP2016064920A JP2016064920A JP6577399B2 JP 6577399 B2 JP6577399 B2 JP 6577399B2 JP 2016064920 A JP2016064920 A JP 2016064920A JP 2016064920 A JP2016064920 A JP 2016064920A JP 6577399 B2 JP6577399 B2 JP 6577399B2
Authority
JP
Japan
Prior art keywords
program
undesirable
user
computer
actions
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
JP2016064920A
Other languages
English (en)
Other versions
JP2017021773A (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 JP2017021773A publication Critical patent/JP2017021773A/ja
Application granted granted Critical
Publication of JP6577399B2 publication Critical patent/JP6577399B2/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/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/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
    • 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/52Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
    • G06F21/53Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
    • 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/561Virus type analysis
    • 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/567Computer malware detection or handling, e.g. anti-virus arrangements using dedicated hardware
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6245Protecting personal data, e.g. for financial or medical purposes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • 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
    • 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
    • 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/1425Traffic logging, e.g. anomaly detection
    • 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/1441Countermeasures against malicious traffic

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Virology (AREA)
  • Human Computer Interaction (AREA)
  • Bioethics (AREA)
  • Medical Informatics (AREA)
  • Databases & Information Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)

Description

本開示は、2015年6月30日に出願されたロシア特許出願第2015125976の関連出願であり、米国特許法第119条でこの出願に基づく優先権を主張し、本明細書中に参考として援用する。
本開示は、一般的にコンピュータセキュリティの分野に関するものであり、より具体的には、望ましくないプログラムをインストール及び実行することを防止する、システム及び方法に関するものである。
多くのコンピュータユーザは、悪意あるプログラム(マルウェアとしても知られている)における操作により、もたらされる結果に頻繁に直面しており、それは、ユーザのコンピュータをブロックし、個人データの盗難、スパムの配布、その他の悪質なアクションを引き起こすものである。現段階で、アンチウイルス業界は、まだ確立しておらず、未知の悪意あるプログラムに対して効果的に対抗することができるアンチウイルス技術(例えば、エミュレーション、動作解析、及びアプリケーション制御等)は発展段階である。そのようなアンチウイルス技術により、多くの場合は、マルウェアによるユーザコンピュータへの感染のリスクを下げ、又は、感染によって引き起こされる被害を軽減することができる。
悪意のあるプログラム、アプリケーション(悪質なアクションを直接実装しているものではないが、頻繁に、ユーザを困らせ、ユーザにとって不要なアクションが生じるように強いられるもの)の発展に伴い、例えば、その機能的特徴が無用となるようにプログラムのライセンスを支払うことは、最近、より一般的になっている。このようなアプリケーションは、多くの場合、望ましくないプログラム、ペストウェア(pestware)、又はジャンクウェア(junkware)と呼ばれている。私たちは、概して望ましくないプログラムと呼ぶことにしている。
これらの望ましくないプログラムの望ましくないアクションは、以下を含むが、それに限定されない。
・ブラウザのホームページ、検索エンジン、及び、ブラウザ-アドオン(プラグイン)ができる全てのインストール、における認可されてない変更。これは多くの場合、ブラウザの不要な操作を導くものである。これらは、最も一般的な望ましくないアクションである。
・多くの場合、フェイクAV(FakeAV)、フェイクアンチウイルスと呼ばれ、分類されるアプリケーション。一方でそれは、ユーザ又は自分のデータに害を引き起こすことはないが、他方で、それは、役に立たない特徴をもつ機能のライセンス購入をしつこく提案する(それは、動作はするが、実際には、どんな利益も有さない)。
・最適化プログラム。実際に有用なユーティリィティと同様に、それは、(一時的なファイル、レジスタの未使用なブランチ等を削除することによって)オペレーティング・システムの操作を最適化する。多くの有料の最適化プログラムがあり、有用なアクションを実行しないが、実行している「有用な」アクションをユーザに通知するインターフェースを含むのみである。
・望ましくないソフトウェアのリストの中に多く見られる特徴は、さらに、スパイウェアプログラムであり、それは、ユーザが知ることなく、ユーザとユーザのコンピュータに関するデータを収集できる。ユーザが自主的にそのようなソフトウェアをインストールする状況は、ほとんどの場合、注意欠如の可能性がある。
望ましくないプログラムは、通常、ほとんどの国で犯罪刑法制裁を発動することができるような犯罪となるアクション(例えば、悪意あるプログラムの配布又はスパムの送信)を行わない。且つ、それらはまた、正規のプログラム(グラフィカル・インターフェース、ライセンス契約等)にあるすべての兆候を持っている。それにもかかわらず、ユーザは、自分の操作において頻繁に不満を感じている。つまり、プログラムが、そのインターフェースのウィンドウを常に表示し、又は、必要である機能特性を十分に満たすものではないことに対して、ユーザは不満を感じている。従って、ユーザがプログラムの削除を望み、二度とインストールしたくないという結果をもたらすことになる。
そのようなプログラムを検出及び除去するための手段は、現在すでに知られている。例えば、望ましくないプログラムを削除するためのユーティリティにおいて、Microsoft(登録商標)という会社は、ユーザに、それらの「望ましくないこと(不快)」指標(グラフィカル・ユーザインターフェース(GUI)の欠乏、プログラムの操作に関する情報の欠如、広告の表示等)を示すことによって、望ましくないプログラムを区別するオプションを提供する。
しかしながら、このような技術は、特定の欠陥もありえ、例えば、それらは、望ましくないプログラムのインストール、又は、実行された変更の取り消し("ロールバック")を防止することはできない。
したがって、ユーザのための望ましくない機能的特徴を含む、プログラムの操作を検出及びブロックするため、より効果的な解決が必要とされている。
望ましくないプログラムのインストール及び実行を防止するシステム及び方法が開示されている。1つの例示的態様で、システムは、以下の工程を用いて、コンピュータへのプログラムのインストールを制御する。
コンピュータへの未知のプログラムのインストールを検出する工程と、
未知のプログラムのインストールを停止する工程と、
安全な環境で、未知のプログラムを実行する工程と、
ユーザが知ることなくプログラムにより実行されたアクション(コンピュータにある個人ユーザデータにアクセスするアクション、及び、コンピュータの他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与えるアクション)を含む、未知のプログラムの望ましくないアクションを検出する工程と、
プログラムにおける検出された望ましくないアクションに基づいて、未知のプログラムが望ましくないものであるかどうかを判断する工程と、
未知のプログラムが望ましくないと判断された場合、コンピュータにその望ましくないプログラムのインストールを許可又は禁止するかどうかについてユーザが選択できるように示す工程と、
未知のプログラムが、望ましくないと判断されなかった場合、コンピュータに未知のプログラムのインストールを許可する工程を含む。
1つの例示的な態様では、未知のプログラムが望ましくないものであるかを判断するために、システムは、検出された望ましくないアクションに対して、数値的重みを割り当てることができる。ここで、ユーザが知ることなく実行された、望ましくないアクションは、他の望ましくないアクション(他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与えるアクション)よりも大きな数値的重みを有する。
1つの例示的な態様では、未知のプログラムが望ましくないものであるかを判断するために、システムは、検出された望ましくないアクションに対して、数値的重みを増加することができる。そして、全ての検出された望ましくないアクションの数値的重みの合計が、所定の閾値を超える場合、未知のプログラムが望ましくないと特定される。
他の例示的態様では、システムは、コンピュータに未知のプログラムのインストールを許可又は禁止するかについて、ユーザの選択をさらに保存することができ、ユーザのコンピュータへの同じプログラムのインストール又は実行における、その後の試みがあった場合、再度ユーザに示すことなく、保存されたユーザ選択を自動的に実行する。
他の例示的な態様では、コンピュータに望ましくないプログラムのインストールを許可することは、システムが、プログラムにおける1つ又は複数の検出された望ましくないアクションを実行することをさらに防止することができる。
他の例示的な態様では、プログラムにおける1つ又は複数の検出された望ましくないアクションの実行を防止する工程は、
アクティブである望ましくないGUI要素の存在について、プログラムインストーラーのグラフィカル・ユーザ・インターフェース(GUI)を解析する工程と、
プログラムインストーラーの検出された望ましくないGUI要素をアクティブでない状態にする工程を含む。
他の例示的な態様では、望ましくないアクションは、ネットワーク設定の変更、ブラウザ設定の変更、コンピュータのデスクトップでのアイコンの作成、及びポップアップ・ウィンドウのアクティブ化のうち少なくとも1つをさらに含むことができる。
他の例示的な態様では、システムは、コンピュータにインストールされた未知のプログラムを検出することによる手段、コンピュータで未知のプログラムによって実行された望ましくないアクションを識別することによる手段を含む、手段によってプログラムの実行を制御することができる。
ここで、望ましくないアクションは、以下のうち少なくとも1つのアクションを含み、
それは、ユーザが知ることのないプログラムによって実行されるアクション、
コンピュータで、個人ユーザデータにアクセスするアクション、
及び、コンピュータの他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与えるアクション、
プログラムにおける識別された望ましくないアクションに基づいて、未知のプログラムが望ましくないものであるかどうか判断する。未知のプログラムが、望ましくないと判断された場合、コンピュータで望ましくないプログラムの実行を許可又は禁止するかどうかについてユーザが選択できるように示し、未知のプログラムが望ましくないと判断されなかった場合、コンピュータにおいて未知のプログラムの実行が許可される。
他の例示的な態様では、システムは、コンピュータで未知のプログラムの実行を許可又は禁止するかについて、ユーザの選択をさらに保存することができ、そして、ユーザのコンピュータで同じプログラムの実行における、その後の試みがあった場合、ユーザに再度示すことなく、その保存されたユーザの選択を自動的に実行する。
他の例示的な態様では、コンピュータで望ましくないプログラムの実行を許可することは、システムが、プログラムにおける1つ又は複数の検出された望ましくないアクションを実行することを防止することができる。
他の例示的な態様では、プログラムにおける1つ又は複数の検出された望ましくないアクションの実行を防止するために、システムは、アクティブである状態の望ましくないGUI要素の存在について、プログラムインストーラーのグラフィカル・ユーザ・インターフェース(GUI)をさらに解析でき、プログラムインストーラーの検出された望ましくないGUI要素をアクティブでない状態にする。
例示的態様における上記の簡単な概要は、本開示の基本的な理解を提供するのに役立つ。本概要は、すべての企図される態様の広範な概観ではなく、すべての態様の主要又は重要な要素を特定することは意図されておらず、本開示の任意の範囲又は全ての態様を線引きすることも意図されている。その唯一の目的は、以下の開示のより詳細な説明の前置きとして、簡略化された形式で、1つ又は複数の態様を提示することである。前述の達成のために、本開示における、1つ又は複数の態様は、説明され、特に特許請求の範囲で指摘された特徴を含む。
添付の図面は、本明細書の中に組み込まれ、本明細書の一部を構成し、本開示の1つ又は複数の例示的態様を例示しており、詳細な説明と共に、それらの原理及び実装を説明するのに役立つ。
図1は、ユーザのコンピュータ・システムに、望ましくないプログラムのインストールと実行を防止する例示的なシステムを示す。 図2Aは、望ましくないプログラムのインストールを防止する例示的な方法を示す。 図2Bは、望ましくないアクションの取り消しと共に、望ましくないプログラムのインストールを防止する例示的な方法を示す。 図2Cは、潜在的に望ましくないプログラムのインストーラーのウィンドウの例を示す。 図3は、望ましくないプログラムの実行を防止する例示的な方法を示す。 図4は、開示されたシステム及び方法を実装することができる汎用コンピュータ・システムの一例を示す。
実施の態様は、望ましくないプログラムのインストール及び実行を防止する、システム、方法、及びコンピュータプログラム製品の事例において本明細書に記載されている。当業者は、以下の説明が単なる例示であり、決して限定であることを意図するものではないことを理解するであろう。他の態様は、この開示の利益を有する当業者に容易に示唆されるものである。添付の図面に示されるように、参照は、例示的態様の実装について詳細に説明される。同じ参照指標は、同一または同様の項目を参照するために、図面と以下の説明全体を通じて可能な限り、用いられる。
図1は、ユーザのコンピュータ・システムに、望ましくないプログラムのインストールと実行を防止する例示的なシステムを示す。ユーザ150は、コンピュータにインストールされた他のプログラム110(例えば、ブラウザのChrome又はInternet Explorer、テキストエディタのNotepad又はWord等、それは、さらに、「ソフトウェア」又は「サードパーティ製ソフトウェア」として以下参照される)を使用し、システム100は、ソフトウェア110の他に、オペレーティング・システム(OS)120のコンポーネントをさらに含み、それらのコンポーネントは、それぞれ他のデバイス(例えば、プリンタ、ネットワークサービス等)の間で、プログラムとユーザの相互作用に対して責任を負っている。
また、システム100は、サードパーティ製のソフトウェア110とその設定(例えば、そのホームページを変更することによって、ブラウザに対してプラグインの形で)を変更できる望ましくないソフトウェア130を含むことができ、それは、(例えば、情報の収集を行うために、ドライバフィルタをインストールすることによって)オペレーティング・システムOS120のコンポーネントの変更を取り入れることができ、又は、(例えば、FakeAVプログラムの形で)それぞれの種類の情報をユーザ150に定期的に示すことができる。望ましくないソフトウェア130を削除するために、OS120のコンポーネント、及び、オペレーティング・システムのグラフィカル・インターフェースでのユーザ150の作業において、サードパーティ製のソフトウェア110での変更を評価する検出器140が使用される。1つの例示的な態様では、検出器140は、アンチウイルスのソフトウェアとして実装されてもよく、又は、他のコンポーネントとして、後者に含まれてもよい。
図2Aは、望ましくないプログラムのインストールを防止する例示的方法を示す。工程210において、システム100は、未知のソフトウェアをインストールしようとする試みを検出する。未知のソフトウェアは、次の兆候の1つを有する任意のソフトウェアでありえる。
・ソフトウェアの製造元のデジタル署名を有していない。
・許可されたアプリケーションのホワイトリスト、又は、少なくとも1つのアンチウイルスソフトウェアの製造元でのマルウェアリストのどちらかに含まれていない。
1つの例示的な態様では、検出された、未知のソフトウェアをインストールするという試みは、検出器140の手段によって、任意のファイル(インストーラー)のオープンの実行を傍受するという形態をとっている。さらに他の例示的な態様では、オープンされたファイルの属性、名前(例えばSETUP.EXE)、サイズ、デジタル署名、ディスクにおける見かけの日付等は、チェックできる。これらの属性に応じて、与えられたファイルをチェックする必要性が判断される。この技術の実現の例は、同じ所有者である米国特許7392544により開示されており、参照により本明細書に組み込まれる。実行可能ファイルのオープンを傍受することは、画像ローダーを用いて、ローディングを傍受することよって実現することができる。
未知のソフトウェアをインストールしようとする試みを検出した後、工程220で、システム100は、安全な環境でソフトウェアを実行する。ファイルのエミュレーションも、安全な環境で動いているとみなすことができ、どの変更についても、エミュレータの構想を超えるものではない。サンドボックスは、制御可能な一連のリソース(仮想メモリ、ファイル、レジスターブランチ、ネットワーク接続等)を表すものであり、安全な環境の例として役立つものである。未知のソフトウェアのインストールのさらなる例は、続くロールバックの可能性を有するシステム100内のすべての変更を追跡することを有するインストールである。同様の技術の例は、参照により本明細書に組み込まれる同じ所有者の米国特許8181247に記載されている。ファイルにおける実行中のコードのアクションが(エミュレーションを使用するか又は安全な環境で)実施される場合、工程230において、システム100は、望ましくないこと(不快)という観点から、生成されたアクションの評価を行う。
既に述べたように、一般的に望ましくないアクションは、ユーザを困らせ、又は、ユーザに不要なものを強いるアプリケーションのアクションである。望ましくないアクションは、サードパーティ製のソフトウェア110及びOS120のコンポーネントを変更することができ、他のプログラム及び/またはオペレーティング・システム(例、オペレーティング・システムのグラフィカル・インターフェース)でのユーザ150の作業に影響を与えることができる。ある望ましくないアクションの例は、以下を含むことができるが、それに限定されない。
・ブラウザのホームページの変更。
・ブラウザのデフォルト設定の変更。
・ネットワークパラメータ(プロキシサーバ及びLSP(Layered Service Provider))技術の変更。
・ユーザが知ることのない、ブラウザへの新しいツールバーの追加。
・OSレジストリでの自動起動キーの作成。
・ユーザが知ることのない、デスクトップ及び/又はタスクバーへのアイコンの追加。
・ユーザが知ることのない、ユーザのそれぞれのフォルダ(例えば、"C:/Users/<user_name>/My Documents")からファイルにアクセスする試み。
・アプリケーションのインターフェースにおける、多数のポップアップ・ウィンドウの有無(これは、フェイクAVにとって特徴的なものでありえる)。
・未承認サイトへのURLリンクのコードの有無。それは、アプリケーションのさらなる操作、又は個人情報を提供するために、ユーザに対して、鍵の支払いを要求する。
・explorer.exeのような主要なオペレーティング・システムコンポーネント120に、付加的なグラフィカル・ユーザインターフェースのメニュー(それは、ユーザ150をいらいらさせる見た目である)を追加することによって変更すること。
ユーザが知ることなく任意のアクションが行われている場合、それは、実行される前に、アプリケーションのグラフィカル・インターフェースのいずれの要素における表示もなかったことを意味している。その表示は、ユーザに対して選択(例えば、デスクトップにアプリケーションのアイコンを追加するという選択等)させるように提供されるものである。このように、アクションの不快に対する主な基準は、ユーザが知ることなく実行され、又は、変更がシステムに対して成され、それは、オペレーティング・システム及びアプリケーション(例えば、ブラウザ)でのユーザの作業に直接影響を与えるというものである。
従って本発明では、未知のソフトウェアの導入は、多くの場合、いくつかのコンポーネントのインストールで構成されていることに留意すべきであり、その場合には、各コンポーネントのインストールが別々のソフトウェアのインストールとみなすことができる。その結果、不快の解決は、個別に各コンポーネントに対して行われる。
1つの例示的な態様で、一定の重みが、その不快の程度に応じて(検出器140による)、各アクションに割り当てられている。
例えば、表1は、不快なアクションの重みの例を紹介している。
表1
上記の表での例によれば、ユーザ自身がブラウザのホームページの変更に同意した場合には(例えば、不明なソフトウェアのインストール時)、そのようなアクションにおける不快の重みがかなり小さいこと(例えば、約20単位)が分かる。ここで、ユーザ自身による確認のない場合の同じアクションに対して不快の重みは、あっという間に100単位が生じる。与えられた例では、100単位の不快の重みに達したときに、インストールされたアプリケーション(又は実行されるファイル)は(検出器140によって)望ましくないと認識され、そのインストールが望ましくないと見なされる(図2Aの工程240)。特定のアクションにとって、不快における重みの総計は、各アクションの不快の重みの単純な合計の形で考えることができる。しかし、不快の重みの計算における、より複雑な例は、各タイプのアクションの数も考慮に入れ、(例えば、小さな不快の重みを有する多くのアクションが100に等しい重みを加えることができないように)補正係数を用いるものである。さらに他の例示的な態様では、不快の重みの総計は、アクションのいずれかにおける不快の重みの最大のものに等しい。
このように、工程230で実行された評価を考慮して、工程240で、インストールが望ましくないかどうかが判断される。たとえば、チェックする1つの基準としては、"ブラウザのホームページの変更"など、エミュレーション処理(安全な環境での実装)における、そのアクションにおける不可欠な一外観であってもよい。他の例示的な態様は、ある閾値(例えば100)を有する不快の重みの総重量の比較を前提としているものであってもよい。チェックする基準を満たしている場合、または、不快の重みが総重量を超過した場合、それにもかかわらず、ユーザは、工程260において、インストールの許可を求められることがありえる。1つの例示的な態様では、これは偽陽性(例えば、正規のアプリケーションが悪意のあるものとして誤ってブロックされるという第一段階での間違い(first-order errors))のリスクを低下させるために行うことができる。このようなアプローチの例としては、ユーザが、デジタル署名がない場合であっても、不明なアプリケーションをインストールできる場合における、Windows OSのユーザアカウント制御(UAC)技術の一部が挙げられる。ユーザがインストールに同意している場合、又は、工程240で状況が基準に達していない場合、工程250でソフトウェアのインストールが生じる。それ以外の場合、インストールは工程270で取り消される。ソフトウェアのインストール(またはその取消)に関してユーザの選択は、(検出器140の助けを借りて)記憶させることができ、同様の望ましくないソフトウェアが将来的に検出された場合、工程260は、ユーザによって行われた以前に策定された選択を考慮して、自動的に省略することができる。
インストールを取り消す一つの方法は、望ましくないソフトウェアをアクティブでない状態にすること(例えば、ブラウザでのプラグインをオフにすること)であってもよい。これは、安全な方法でありえ、サードパーティのソフトウェア110(特定のコンポーネントに依存している)の動作に負の影響を与える危険性が最小化され、そして、それはまた、ユーザに、今後その解決を変更する可能性を提供する。すなわち、そのユーザが実際にそれを必要とする場合、ブラウザでのプラグインを含む。
工程250で、ソフトウェアのインストールは、多数の望ましくないアクションの取り消しとともに実行されることができ、これにより、ユーザが必要とするプログラムをインストールすることを可能にすることができる。図2Bは、ソフトウェアのインストールに対する望ましくないアクションの取り消しを伴うアプローチを示している。工程251で、システム100は、ソフトウェアのインストール時に、インストーラーのウィンドウをチェックする。例えば、ウィンドウでの、すべてのアクティブな(例えばラジオボタンなど)要素、及びその説明は、チェックされる。図2Cは、潜在的に望ましくない可能性のあるソフトウェアのインストーラーのウィンドウの例を示す。チェックボックスタイプのチェックを外す要素(ブラウザでホームページの変更を導き、望ましくないツールバーを設定するもの)を示すことによって、望ましくないアクションを回避することができる。1つの例示的な態様で、要素の状態の変化は、検出器140によって実行される。工程252(工程251と並行して実行することができる)において、システムでの変化は、また、インストーラーの操作の結果を用いることによってチェックされる。(主に、ファイル操作及びレジストリ操作の追跡)工程253では、すべての望ましくないアクションが取り消され、又は、既にOSで変更が発生した場合、ロールバックされる。次のように、望ましくないアクションの取り消しがなされてもよい。
・インストーラーのウィンドウでのアクティブな要素(ラジオボタン、チェックボックスなど)を変更するための、Uncheckyのようなユーティリティの使用。
・自動起動レジストリエントリのインストール、又は、フォルダ"C:/ Windows/ system32"へのファイルの書き込みなどの、特定のファイル操作又はレジストリ操作のパフォーマンスの禁止。
・安全な環境でのプログラムのインストールは、ソフトウェアのインストール時に、OSそのものでそれらを実行するのではなく、インストール時に関数コールから肯定的な結果を返すことによって、多数の望ましくないアクションの"プロエミュレート"を可能にすることによって安全な環境でインストールが成される。
たとえば、ファイルがシステムフォルダで作成される場合、ファイルは、実際に作成されず、ファイル作成が成功したことを示す結果は、関数コールからインストーラーへ返されるだろう。一方、これにより、正確にソフトウェアをインストールすることができるが、一方で、安定した操作を保証するものではない。
図2の工程で、その統計を用いることによりその可能性を言及できることには価値もあると考えられ、且つ、そのような望ましくないプログラム130におけるインストーラーの起動を、前もって阻止するため、又はユーザ150に対する以前の警告のために、(インストーラーの起動又はシステムの変更の達成の前に)クラウドサービスへ、それに続く記憶をさせる。クラウドサービスで、他のユーザから及びその蓄積から得られた情報により、インストーラー等(起動されたファイルからの、ハッシュ又は他の有力な情報を使用して)の起動の事実を確認することは早い段階で可能である。また、これらのインストーラーのダウンロードのソースに関する他のユーザから得られた情報により、ダウンロードする前に、ダウンロードをブロックし、ユーザ150に早期に、警告することが可能である。したがって、このようなプログラム130の起動を防止するだけでなく、ユーザ150にとっての、ネットワークトラフィックと時間を節約できる。
工程253によれば、インストール中にユーザの警告で、切り替え又はブロックに対応するオプションを判断するために、我々は以下のアプローチを使用することができる。
・人気のあるプログラムのインストーラーの予備的な解析。そのプログラムは、インターネット経由で更新することができるデータベースへ、その結果をアップロードされているものである。
・インストーラーのグラフィカル・ユーザ・インターフェース(GUI)の解析、及び、その結果(例えば、キーワードを使用して解析)に基づいて、各種の制御要素の"望ましくないこと(不快)"におけるヒューリスティック判断の解析。
図3は、望ましくないプログラムの実行を防止する例示的な方法を示す。工程310で、インストールされた未知のソフトウェアは、システム100で検出される。原則として、そのような検出は、(例えば、検出器140によって)全ディスクのアンチウイルススキャンに関連付けることができ、又は、未知のインストールされたソフトウェアのダウンロード時になされる。
他の更なる一例としては、アプリケーションウィンドウの検索に関連されることができ、それは、(例えば、FakeAVの場合)周期的に前面に配置され、及びユーザに示され、1つのウィンドウを制御するプロセスにおける後続の判断を有するものである。工程320で、ソフトウェアにおける、望ましくないこと(不快)ということが評価される。この評価は、インストールされた未知のソフトウェアにより実行された望ましくないアクションに関与するものである。そのようなアクションの例は、図2Aの説明に記載されている。また、評価は、リアルタイムに、ソフトウェア自体の操作中に生じることができる(例えば、参照により本明細書に組み込まれる、同一所有者の米国特許第8566943に記載された技術を使用して)。望ましくない(不快な)ことの評価は、さらに、未知のインストールされたソフトウェアのアクションにおける評価の間、望ましくないこと(不快)の重みの用いることを含むことができる。実施例はまた、図2Aの説明において、より詳細に示されている。工程330で、未知のインストールされたソフトウェアが、望ましくないと認識される場合、その後、工程350(1つの例示的な態様ではオプションである)において、ユーザは、インストールされた未知のソフトウェアの操作を継続する許可を求められてもよい。ユーザが操作を許可した場合には、工程340で、インストールされた未知のソフトウェアは、もはや望ましくないソフトウェアとして解釈されない。そうでなければ、工程360において、インストール済みの未知のソフトウェアは削除される。そのようなソフトウェアを削除するというユーザの選択は、記憶させることができ、将来的に、類似の望ましくないアクションを有する望ましくないソフトウェアの検出において、工程350は、ユーザが以前に行った選択を考慮して、自動的に省略することができる。
未知のインストールされたソフトウェアは、次のいずれかの方法で削除できる。
・プログラムと機能(アプリケーションのアンインストーラーのコールアップ)からのアプリケーションの標準的な削除。
・インストールされた未知のソフトウェアに関連する、OSレジストリの、すべてのファイルとブランチの自動削除(1つの例示的な態様の検出器140で、アクティブなファイル及びアクティブなレジストリを追跡する)。
・システムに、除去することが望ましいとされる、望ましくないソフトウェアがあるということのユーザへの通知。
望ましくない(不快な)ことを評価するための工程における、更なる拡張の一つは、 図2Aでの工程240と図3での工程330である。望ましくないという(不快な)ことは、また、ほとんどの場合、ソフトウェアの製造元によって考慮されることができ、それは、多くの場合、デジタル署名によって識別される。一つの同じデジタル署名付きの特定の種類のソフトウェアに対して、望ましくない(不快)という評価が下された場合、その後将来的に、これは、列挙された工程で考慮される。例えば、新しいタイプの特定のデジタル署名付きのソフトウェアにおける、望ましくない(不快の)重みを増加するようにした形態で、考慮されることがありえる。このようなフィードバックは、そのソフトウェアが最初に現れたコンピュータでユーザから収集することができる。このようなユーザは、自身で望ましくないソフトウェアを指摘することができ、特定のアプリケーションのインストール(または削除)を禁止し、望ましくないものとしてそれらをマークする。これは、検出器140によって考慮されるであろう。検出器は、そのメタデータ(デジタル署名、サイズ、アイコン等)から開始して、アプリケーションの望ましくない(不快な)ことに関する一定の評価を最終的な解析で形成する。
1つの例示的な態様では、検出器140は、望ましくないソフトウェアの以前に策定されたリストを保持し、それにより、既にユーザのコンピュータにインストールされているソフトウェアを、すぐに検出することが可能となっている。次の表は、そのようなリストの例である。
図4は、一般的な用途のコンピュータ・システム(パーソナルコンピュータ又はサーバであってもよい)の一例を開示しており、そこでは開示されたシステム及び方法は、実装することができる。コンピュータ・システム20は、中央処理ユニット21、システムメモリ22及びシステムバス23を含み、システムバスは、様々なシステムコンポーネント(中央処理ユニット21に付随するメモリを含む)に接続している。システムバス23は、先行文献で知られている任意のバス構造のように実現され、順にバスメモリ又はバスメモリコントローラ、周辺バス、及びローカルバスを含み、それは、任意の他のバスアーキテクチャと相互作用することができる。システムメモリは、読み出し専用メモリ(ROM)24及びランダムアクセスメモリ(RAM)25を含む。基本入出力システム(BOIS)26は、パーソナルコンピュータ20の要素間で情報の転送を保証する基本的な手順を含み、ROM24を使用してオペレーティング・システムをロードする時にも同様である。
パーソナルコンピュータ20は、順に、データの読み書き用ハードディスク27、リムーバブル磁気ディスク29への読み書き用磁気ディスクドライブ28、及び、リムーバブル光ディスク31(CD-ROM、DVD-ROM又は他の光情報媒体等)への読み書き用光ドライブ30を含む。ハードディスク27、磁気ディスクドライブ28、及び光ドライブ30は、それぞれ、ハードディスクインターフェース32、磁気ディスクインターフェース33及び光ドライブインターフェース34を介してシステムバス23に接続されている。ドライブ及び対応するコンピュータ情報媒体は、パーソナルコンピュータ20のコンピュータ命令、データ構造、プログラムモジュール、及びその他のデータのための電力の面で独立した記憶装置である。
本開示は、ハードディスク27、リムーバブル磁気ディスク29及びリムーバブル光ディスク31を使用するシステムの実装を提供するが、コンピュータによって読み取り可能な形式でデータを保存することができる他の種類のコンピュータ情報媒体56(ソリッドステートドライブ、フラッシュメモリカード、デジタルディスク、ランダムアクセスメモリ(RAM)等)を使用することも可能であることが理解されるべきであり、それらは、コントローラ55を介してシステムバス23に接続される。
コンピュータ20は、ファイルシステム36を有し、そこには記録されたオペレーティング・システム35が保持され、及び、追加プログラムアプリケーション37、他のプログラムモジュール38及びプログラムデータ39、もまた同様である。ユーザは、入力デバイス(キーボード40、マウス42)で、パーソナルコンピュータ20に、コマンドと情報を入力することができる。他の入力デバイス(図示せず)として、マイクロホン、ジョイスティック、ゲームコントローラ、スキャナ等を用いることができる。そのような入力デバイスは、通常、シリアルポート46を介してコンピュータ・システム20に接続され、それは、順番に、システムバスに接続される。それらは、他の方法(例えば、パラレルポート、ゲームポート、又はユニバーサルシリアルバス(USB))を用いて接続できる。モニター47又は他の種類の表示デバイスもまた、ビデオアダプタ48などのインターフェースを介してシステムバス23に接続される。モニター47に加えて、パーソナルコンピュータは、ラウドスピーカー、プリンタ等の他の周辺出力デバイス(図示せず)を搭載することができる。
パーソナルコンピュータ20は、1つ又は複数のリモートコンピュータ49を用いて、ネットワーク環境で作業することができる。図6に示すように、リモートコンピュータ(複数可)49も、前述の要素の大部分又は全てを有するパーソナルコンピュータ又はサーバであり、その要素は、パーソナルコンピュータ20の本質を示している。ルータ、ネットワーク局、ピアデバイスまたは他のネットワークノード等、他のデバイスも、コンピュータネットワークに存在できる。
ネットワーク接続は、有線及び/または無線ネットワーク等のローカルエリアコンピュータネットワーク(LAN)50、及びワイドエリアコンピュータネットワーク(WAN)を形成することができる。このようなネットワークは、企業コンピュータネットワークと社内ネットワークで使用されており、これらは一般的にインターネットへのアクセス権を有している。LANまたはWANネットワークでは、パーソナルコンピュータ20は、ネットワークで使用しているネットワークアダプタまたはネットワークインターフェース51を介してローカルエリアネットワーク50に接続される。ネットワークが用いられる場合、パーソナルコンピュータ20は、インターネットのようなワイドエリアコンピュータネットワークとの通信を提供するため、モデム54または他のモジュールを使用する。モデム54は、内部または外部デバイスであり、シリアルポート46によってシステムバス23に接続される。ネットワーク接続は、単なる例であり、ネットワークの正確な構成を示す必要はないことに留意すべきである。すなわち、現実には、Bluetooth(登録商標)などの技術的な通信モジュールによる他のコンピュータの接続を確立する他の方法がある。
様々な態様において、本明細書で説明するシステム及び方法は、ハードウェア、ソフトウェア、ファームウェア、またはそれらの任意の組み合わせで実装することができる。ソフトウェアで実装する場合、その方法は、非一時的なコンピュータ可読媒体上の1つまたは複数の命令またはコードとして保存されることができる。コンピュータ可読媒体は、データ記憶を含む。コンピュータ可読媒体を以下に例示するが、限定するものではない。コンピュータ可読媒体は、RAM、ROM、EEPROM、CD-ROM、フラッシュメモリ、又は、他の種類の電気的、磁気的、または光記憶媒体、又は他の任意の媒体、を備えることができ、命令またはデータ構造の形で所望のプログラムコードを搬送又は保存するために用いられ、汎用コンピュータのプロセッサによってアクセスすることができる。
様々な態様では、システム及び方法は、モジュールの観点から、本開示で説明される。本明細書で使用される用語「モジュール」とは、現実世界のデバイス、コンポーネント、または、ハードウェアを用いて実装されたコンポーネントの配置を言及しており、例えば、または、ハードウェアとソフトウェアの組み合わせとして、特定用途向け集積回路(ASIC)またはフィールド・プログラマブル・ゲート・アレイ(FPGA)などによって実装され、モジュールの機能を実装するマイクロプロセッサシステムと命令セットなどによって、(実行される間に)マイクロプロセッサシステムを専用のデバイスに変換される。モジュールも、2つの組合せとして実装されることができ、ハードウェアだけによって容易とされる特定の機能、及び、ハードウェアとソフトウェアの組み合わせによって容易とされる他の機能と、これらの組み合わせとして実現することができる。特定の実施態様では、少なくとも一部、及びいくつかのケースでは、モジュールのすべては、(例えば、図6上部に詳細に説明したもののように)汎用コンピュータのプロセッサ上で実行することができる。したがって、各モジュールは、適切な様々な構成で実現することができ、そして本明細書中に任意の例示的な実施形態に限定されるものではない。
明瞭にするために、態様のルーチン機能のすべてが、本明細書に開示されているわけではない。本開示における任意の実際の実装における開発で、多数の実装固有の判断が、開発者の特定の目標を達成するためになされなければならないことが理解されるであろう。さらに、これらの具体的な目標は、異なる実装及び異なる開発者に対して変化することが理解されるであろう。そのような開発努力は複雑で時間がかかるかもしれないが、それでも本開示の利益を有する当業者にとっては、エンジニアリングの日常の仕事であると理解されるであろう。
さらに、本明細書で使用される用語又は表現は、説明のためであり、制限するものではなく、つまり、関連技術の熟練の知識と組み合わせて、本明細書の用語または表現は、ここに示される教示及び指針に照らして当業者によって解釈されるべきであることが理解されるべきである。明示的な記載がない限り、明細書または特許請求の範囲内で、任意の用語に対して、珍しいまたは特別な意味を帰することは意図されていない。
本明細書で開示された様々な態様は、例示のために本明細書に言及した既知のモジュールの、現在及び将来の既知の均等物を包含する。さらに、態様及び用途を示し、説明してきたが、本明細書に開示された発明の概念から逸脱することなく、上述したよりも多くの改変が可能であることが、この開示の利益を有する当業者には明らかであろう。

Claims (22)

  1. プログラムのインストールを制御する方法であって、前記方法は、
    ハードウェアプロセッサによって、コンピュータへの未知のプログラムのインストールを検出する工程と、
    前記ハードウェアプロセッサによって、前記未知のプログラムのインストールを停止する工程と、
    前記ハードウェアプロセッサによって、安全な環境で前記未知のプログラムを実行する工程と、
    前記ハードウェアプロセッサによって、前記未知のプログラムの望ましくないアクションを検出する工程と、
    前記ハードウェアプロセッサによって、前記プログラムにおける前記検出された望ましくないアクションに基づいて、前記未知のプログラムが望ましくないかどうかを判断する工程と、
    前記未知のプログラムが望ましくないと判断された場合、前記コンピュータに前記望ましくないプログラムのインストールを許可又は禁止するかどうかの選択をユーザに示す工程と、
    前記未知のプログラムが望ましくないと判断されなかった場合、前記ハードウェアプロセッサによって、前記コンピュータに前記未知のプログラムのインストールを許可する工程とを含み、
    前記望ましくないアクションは、
    ユーザが知ることなく前記プログラムによって実行されるアクション、
    前記コンピュータにあるユーザの個人データへのアクセスするアクション、及び
    前記コンピュータの他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与えるアクション、
    の少なくとも1つのアクションを含み、
    前記未知のプログラムが望ましくないものであるかを判断する工程は、
    前記検出された望ましくないアクションに対して数値的重みを割り当てる工程をさらに含み、
    ユーザが知ることなく実行される望ましくないアクションは、他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与える、他の望ましくないアクションよりも大きい数値的重みを有する、プログラムのインストールを制御する方法。
  2. 前記未知のプログラムが望ましくないものであるかを判断する工程は、
    前記検出された望ましくないアクションに対して前記数値的重みを増す工程と、
    全ての検出された望ましくないアクションの前記数値的重みの合計が、所定の閾値を超えた場合、前記未知のプログラムが望ましくないと特定される工程とをさらに備える、
    請求項1に記載の方法。
  3. 前記方法は、
    前記コンピュータに前記未知のプログラムのインストールを許可又は禁止するかについて、ユーザの選択を保存する工程と、
    前記ユーザのコンピュータに、前記プログラムと同じプログラムのインストール又は実行のその後の試みがあった場合、前記ユーザに再度示すことなく、前記保存されたユーザの選択を自動的に実行する工程とをさらに含む、
    請求項1に記載の方法。
  4. 前記コンピュータに前記望ましくないプログラムのインストールを許可する工程は、
    前記プログラムにおける1つ又は複数の検出された望ましくないアクションの実行を防止する工程をさらに含む、
    請求項1に記載の方法。
  5. 前記プログラムにおける1つ又は複数の検出された望ましくないアクションの実行を防止する工程は、
    アクティブである状態の望ましくないGUI要素の存在について、未知のプログラムをインストールするプログラムインストーラーのグラフィカル・ユーザ・インターフェース(GUI)を解析する工程と、
    前記プログラムインストーラーの前記検出された望ましくないGUI要素をアクティブでない状態にする工程とをさらに含む、
    請求項4に記載の方法。
  6. 望ましくないアクションは、
    ネットワーク設定の変更、ブラウザ設定の変更、前記コンピュータのデスクトップでのアイコンの作成、ポップアップ・ウィンドウのアクティブ化、のうち少なくとも1つをさらに含む、
    請求項1に記載の方法。
  7. プログラムのインストールを制御するシステムであって、
    前記システムは、
    コンピュータへの未知のプログラムのインストールを検出し、
    前記未知のプログラムのインストールを停止し、
    安全な環境で、前記未知のプログラムを実行し、
    前記未知のプログラムの望ましくないアクションを検出し、
    前記プログラムにおける前記検出された望ましくないアクションに基づいて、前記未知のプログラムが、望ましくないものであるかどうかを判断し、
    前記未知のプログラムが、望ましくないと判断された場合、前記コンピュータに前記望ましくないプログラムのインストールを許可又は禁止するかどうかについてユーザが選択できるように示し、
    前記未知のプログラムが、望ましくないと判断されなかった場合、前記コンピュータに前記未知のプログラムのインストールを許可する、ように構成されたハードウェアプロセッサを含み、
    前記望ましくないアクションは、
    ユーザが知ることなく、前記プログラムによって実行されるアクション、前記コンピュータにあるユーザの個人データへのアクセスするアクション、及び、前記コンピュータの他のプログラムまたはオペレーティング・システムでのユーザの作業に影響を与えるアクション、
    の少なくとも1つのアクションを含
    前記未知のプログラムが望ましくないかどうかを判断することは、
    前記検出された望ましくないアクションに数値的重みを割り当てることをさらに含み、
    ユーザが知ることなく実行される望ましくないアクションは、他のプログラム又はオペレーティング・システムでのユーザの作業に影響を与える他の望ましくないアクションよりも大きい数値的重みを有する、プログラムのインストールを制御するシステム。
  8. 前記未知のプログラムが望ましいかどうかを判断することは、
    前記検出された望ましくないアクションの前記数値的重みを増すことと、
    全ての検出された望ましくないアクションの前記数値的重みの合計が、所定の閾値を超えた場合、前記未知のプログラムが望ましくないものであると特定されることとを含む、
    請求項7に記載のシステム。
  9. 前記コンピュータに前記未知のプログラムのインストールを許可又は禁止するかどうかにおける前記ユーザの選択を保存し、
    前記ユーザのコンピュータに前記プログラムと同じプログラムのインストール又は実行のその後の試みがあった場合、前記ユーザに再度示すことなく、前記保存されたユーザの選択を自動的に実行する、
    請求項7に記載のシステム。
  10. 前記コンピュータに前記望ましくないプログラムのインストールを許可することは、前記プログラムにおける1つ又は複数の検出された望ましくないアクションの実行を防止する、
    請求項7に記載のシステム。
  11. 前記プログラムにおける1つ又は複数の検出された望ましくないアクションの実行を防止することは、
    アクティブである状態の望ましくないGUI要素の存在のために、未知のプログラムをインストールするプログラムインストーラーのグラフィカル・ユーザ・インターフェース(GUI)を解析することと、
    前記プログラムインストーラーの前記検出された望ましくないGUI要素をアクティブでない状態にすることとを含む、
    請求項10に記載のシステム。
  12. 望ましくないアクションは、
    ネットワーク設定の変更、ブラウザ設定の変更、前記コンピュータのデスクトップでのアイコンを作成、及びポップアップ・ウィンドウのアクティブ化のうち、少なくとも1つをさらに含む、
    請求項7に記載のシステム。
  13. ハードウェアプロセッサによって、コンピュータにインストールされる未知のプログラムを検出する工程と、
    前記ハードウェアプロセッサによって、前記コンピュータに前記未知のプログラムによって実行される望ましくないアクションを識別する工程と、
    前記ハードウェアプロセッサによって、前記プログラムの前記検出された望ましくないアクションに基づいて、前記未知のプログラムが、望ましくないものであるかを判断する工程と、
    前記未知のプログラムが望ましくないと判断された場合、前記コンピュータに前記望ましくないプログラムの実行を許可又は禁止するかどうかについてユーザが選択できるように示す工程と、
    前記未知のプログラムが望ましくないと判断されなかった場合、前記ハードウェアプロセッサによって、前記コンピュータに前記未知のプログラムの実行を許可する工程とを含み、
    前記望ましくないアクションは、
    ユーザが知ることなく前記プログラムによって実行されるアクション、前記コンピュータでの個人ユーザデータにアクセスするアクション、及び、前記コンピュータの他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与えるアクションのうちの少なくとも1つを含
    前記未知のプログラムが望ましくないかどうかを判断する工程は、
    前記検出された望ましくないアクションに数値的重みを割り当てる工程をさらに含み、
    ユーザが知ることなく実行される望ましくないアクションは、他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与える他の望ましくないアクションよりも大きい数値的重みを有する、プログラムの実行を制御する方法。
  14. 前記未知のプログラムが望ましくないかどうかを判断する工程は、
    前記検出された望ましくないアクションの数値的重みを増す工程と、
    全ての検出された望ましくないアクションの前記数値的重みの合計が、所定の閾値を越える場合、前記未知のプログラムが望ましくないものであると特定される工程と
    をさらに含む、
    請求項13に記載の方法。
  15. 前記コンピュータでの前記未知のプログラムの実行を許可又は禁止するかどうかにおけるユーザの選択を保存する工程と、
    前記ユーザのコンピュータに前記プログラムと同じプログラムを実行するその後の試みがあった場合、前記ユーザに再度示すことなく、前記保存されたユーザの選択を自動的に実行する工程とをさらに含む、
    請求項13に記載の方法。
  16. 前記コンピュータで前記望ましくないプログラムの実行を許可する工程は、
    前記プログラムにおける、1つ又は複数の検出された望ましくないアクションの実行を防止する工程を含む、
    請求項13に記載の方法。
  17. 前記プログラムにおける1つ又は複数の検出された望ましくないアクションの実行を防止する工程は、
    アクティブである状態の望ましくないGUI要素の存在について、未知のプログラムをインストールするプログラムインストーラーのグラフィック・ユーザ・インターフェース(GUI)を解析する工程と、
    前記プログラムインストーラーの前記検出された望ましくないGUI要素のアクティブでない状態にする工程と
    をさらに含む、
    請求項16に記載の方法。
  18. プログラムの実行を制御するためのシステムであって、
    前記システムは、
    コンピュータにインストールされる未知のプログラムを検出し、
    前記コンピュータで前記未知のプログラムによって実行される望ましくないアクションを識別し、
    前記プログラムの前記識別された望ましくないアクションに基づいて、前記未知のプログラムが望ましいものであるかどうかを判断し、
    前記未知のプログラムが、望ましくないと判断された場合、前記コンピュータに前記望ましくないプログラムの実行を許可又は禁止かどうかについてユーザが選択できるように示し、
    前記未知のプログラムが望ましくないと判断されなかった場合、前記コンピュータに前記未知のプログラムの実行を許可する、ように構成されたハードウェアプロセッサを含み、
    前記望ましくないアクションは、
    ユーザが知ることなく、前記プログラムによって実行されるアクションと、
    前記コンピュータにあるユーザの個人データにアクセスするアクションと、
    前記コンピュータの他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与えるアクションと、
    の少なくとも1つ含
    前記未知のプログラムが望ましくないものであるかどうか判断する工程は、
    前記検出された望ましくないアクションに対して数値的重みを割り当てる工程をさらに含み、
    ユーザが知ることなく実行される望ましくないアクションは、他のプログラム又はオペレーティング・システムでのユーザ作業に影響を与える、他の望ましくないアクションよりも大きい数値的重みを有する、プログラムの実行を制御するためのシステム。
  19. 前記未知のプログラムが、望ましくないものであるかどうかを判断する工程は、
    前記検出された望ましくないアクションの前記数値的重みを増す工程と、
    全ての検出された望ましくないアクションの前記数値的重みの合計が、所定の閾値を超える場合、前記未知のプログラムを望ましくないと特定される工程とを、さらに含む、
    請求項18に記載のシステム。
  20. 前記ハードウェアプロセッサは、
    前記コンピュータで前記未知のプログラムの実行を許可又は禁止するかどうかについて、ユーザの選択を保存し、
    前記ユーザのコンピュータに、前記プログラムと同じプログラムを実行するその後の試みがあった場合、前記ユーザに再度示されることなく、前記保存されたユーザの選択を自動的に実行する、ように構成される、
    請求項18のシステム。
  21. 前記コンピュータで前記望ましくないプログラムの実行を許可することは、
    前記プログラムにおける、1つ又は複数の検出された望ましくないアクションの実行を防止することをさらに含む、
    請求項18に記載のシステム。
  22. 前記プログラムにおける、1つ又は複数の検出される望ましくないアクションの実行を防止することは、
    アクティブである状態の望ましくないGUI要素の存在について、未知のプログラムをインストールするプログラムインストーラーのグラフィックユーザインターフェースを解析することと、
    前記プログラムインストーラーの前記検出された望ましくないGUI要素をアクティブでない状態にすることとをさらに含む、
    請求項21に記載のシステム。
JP2016064920A 2015-06-30 2016-03-29 望ましくないプログラムのインストール及び実行を予防するシステム及び方法 Active JP6577399B2 (ja)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
RU2015125976 2015-06-30
RU2015125976A RU2618947C2 (ru) 2015-06-30 2015-06-30 Способ предотвращения работы программ, содержащих нежелательный для пользователя функционал
US14/944,821 US9390266B1 (en) 2015-06-30 2015-11-18 System and method of preventing installation and execution of undesirable programs
US14/944,821 2015-11-18

Publications (2)

Publication Number Publication Date
JP2017021773A JP2017021773A (ja) 2017-01-26
JP6577399B2 true JP6577399B2 (ja) 2019-09-18

Family

ID=56321063

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2016064920A Active JP6577399B2 (ja) 2015-06-30 2016-03-29 望ましくないプログラムのインストール及び実行を予防するシステム及び方法

Country Status (5)

Country Link
US (2) US9390266B1 (ja)
EP (1) EP3113059B1 (ja)
JP (1) JP6577399B2 (ja)
CN (1) CN106326731B (ja)
RU (1) RU2618947C2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9646159B2 (en) 2015-03-31 2017-05-09 Juniper Networks, Inc. Multi-file malware analysis
US9928363B2 (en) * 2016-02-26 2018-03-27 Cylance Inc. Isolating data for analysis to avoid malicious attacks
RU2634177C1 (ru) * 2016-05-20 2017-10-24 Акционерное общество "Лаборатория Касперского" Система и способ обнаружения нежелательного программного обеспечения
US10367833B2 (en) * 2017-03-07 2019-07-30 International Business Machines Corporation Detection of forbidden software through analysis of GUI components
US10489593B2 (en) * 2017-06-27 2019-11-26 Symantec Corporation Mitigation of malicious actions associated with graphical user interface elements
CN107832605A (zh) * 2017-11-22 2018-03-23 江苏神州信源系统工程有限公司 一种保护终端安全的方法和装置
CN108804941A (zh) * 2018-05-23 2018-11-13 郑州信大天瑞信息技术有限公司 一种应用安全态势感知方法
CN108734006A (zh) * 2018-05-25 2018-11-02 山东华软金盾软件股份有限公司 一种禁用 Windows 安装程序的方法
US11509676B2 (en) * 2020-01-22 2022-11-22 Tenable, Inc. Detecting untracked software components on an asset

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7114184B2 (en) * 2001-03-30 2006-09-26 Computer Associates Think, Inc. System and method for restoring computer systems damaged by a malicious computer program
US7254526B2 (en) * 2001-08-24 2007-08-07 International Business Machines Corporation Apparatus and method for determining compatibility of web sites with designated requirements based on functional characteristics of the web sites
US7765592B2 (en) * 2004-01-10 2010-07-27 Microsoft Corporation Changed file identification, software conflict resolution and unwanted file removal
US8156489B2 (en) * 2004-05-21 2012-04-10 Computer Associates Think, Inc. Distributed installation configuration system and method
US7908653B2 (en) * 2004-06-29 2011-03-15 Intel Corporation Method of improving computer security through sandboxing
US7409719B2 (en) * 2004-12-21 2008-08-05 Microsoft Corporation Computer security management, such as in a virtual machine or hardened operating system
US7739682B1 (en) * 2005-03-24 2010-06-15 The Weather Channel, Inc. Systems and methods for selectively blocking application installation
GB0513375D0 (en) * 2005-06-30 2005-08-03 Retento Ltd Computer security
US8196205B2 (en) * 2006-01-23 2012-06-05 University Of Washington Through Its Center For Commercialization Detection of spyware threats within virtual machine
US7870612B2 (en) * 2006-09-11 2011-01-11 Fujian Eastern Micropoint Info-Tech Co., Ltd Antivirus protection system and method for computers
US8413135B2 (en) * 2006-10-30 2013-04-02 At&T Intellectual Property I, L.P. Methods, systems, and computer program products for controlling software application installations
US8782786B2 (en) * 2007-03-30 2014-07-15 Sophos Limited Remedial action against malicious code at a client facility
CN100504903C (zh) * 2007-09-18 2009-06-24 北京大学 一种恶意代码自动识别方法
US8019700B2 (en) * 2007-10-05 2011-09-13 Google Inc. Detecting an intrusive landing page
US20090100519A1 (en) * 2007-10-16 2009-04-16 Mcafee, Inc. Installer detection and warning system and method
US7392544B1 (en) * 2007-12-18 2008-06-24 Kaspersky Lab, Zao Method and system for anti-malware scanning with variable scan settings
US8658354B2 (en) * 2008-03-28 2014-02-25 National University Corporation Hokkaido University Anti-(influenza a virus subtype H5 hemagglutinin) monoclonal antibody
US8763125B1 (en) * 2008-09-26 2014-06-24 Trend Micro, Inc. Disabling execution of malware having a self-defense mechanism
US8099472B2 (en) * 2008-10-21 2012-01-17 Lookout, Inc. System and method for a mobile cross-platform software system
US8533844B2 (en) * 2008-10-21 2013-09-10 Lookout, Inc. System and method for security data collection and analysis
US8347386B2 (en) * 2008-10-21 2013-01-01 Lookout, Inc. System and method for server-coupled malware prevention
US9235704B2 (en) * 2008-10-21 2016-01-12 Lookout, Inc. System and method for a scanning API
US8745361B2 (en) * 2008-12-02 2014-06-03 Microsoft Corporation Sandboxed execution of plug-ins
US8631330B1 (en) * 2009-08-16 2014-01-14 Bitdefender IPR Management Ltd. Security application graphical user interface customization systems and methods
RU91205U1 (ru) * 2009-10-01 2010-01-27 ЗАО "Лаборатория Касперского" Система асинхронной обработки событий для обнаружения неизвестных вредоносных программ
US8566943B2 (en) 2009-10-01 2013-10-22 Kaspersky Lab, Zao Asynchronous processing of events for malware detection
CN102045214B (zh) * 2009-10-20 2013-06-26 成都市华为赛门铁克科技有限公司 僵尸网络检测方法、装置和系统
US8479286B2 (en) * 2009-12-15 2013-07-02 Mcafee, Inc. Systems and methods for behavioral sandboxing
US9245154B2 (en) * 2010-03-08 2016-01-26 Eva Andreasson System and method for securing input signals when using touch-screens and other input interfaces
US20110225649A1 (en) * 2010-03-11 2011-09-15 International Business Machines Corporation Protecting Computer Systems From Malicious Software
CN101901321A (zh) * 2010-06-04 2010-12-01 华为终端有限公司 终端防御恶意程序的方法、装置及系统
JP2012008732A (ja) * 2010-06-23 2012-01-12 Kddi Corp インストール制御装置およびプログラム
JP5557623B2 (ja) * 2010-06-30 2014-07-23 三菱電機株式会社 感染検査システム及び感染検査方法及び記録媒体及びプログラム
US8844039B2 (en) * 2010-06-30 2014-09-23 F-Secure Corporation Malware image recognition
CN103078864B (zh) * 2010-08-18 2015-11-25 北京奇虎科技有限公司 一种基于云安全的主动防御文件修复方法
EP2609537A1 (en) * 2010-08-26 2013-07-03 Verisign, Inc. Method and system for automatic detection and analysis of malware
US8555385B1 (en) * 2011-03-14 2013-10-08 Symantec Corporation Techniques for behavior based malware analysis
US9047441B2 (en) * 2011-05-24 2015-06-02 Palo Alto Networks, Inc. Malware analysis system
US9323928B2 (en) * 2011-06-01 2016-04-26 Mcafee, Inc. System and method for non-signature based detection of malicious processes
US9158919B2 (en) * 2011-06-13 2015-10-13 Microsoft Technology Licensing, Llc Threat level assessment of applications
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
US20130333039A1 (en) * 2012-06-07 2013-12-12 Mcafee, Inc. Evaluating Whether to Block or Allow Installation of a Software Application
EP2759956B1 (en) * 2013-01-25 2017-01-11 Synopsys, Inc. System for testing computer application
US9117080B2 (en) * 2013-07-05 2015-08-25 Bitdefender IPR Management Ltd. Process evaluation for malware detection in virtual machines
US9323931B2 (en) * 2013-10-04 2016-04-26 Bitdefender IPR Management Ltd. Complex scoring for malware detection
US20150235277A1 (en) * 2014-02-19 2015-08-20 Kyle W. Bagley Provision of Advertising in Social Media Content In a User Compensation Based Model
CN104199703A (zh) * 2014-09-05 2014-12-10 北京奇虎科技有限公司 静默安装的管理方法及装置

Also Published As

Publication number Publication date
EP3113059B1 (en) 2018-01-10
EP3113059A1 (en) 2017-01-04
CN106326731A (zh) 2017-01-11
RU2015125976A (ru) 2017-01-10
CN106326731B (zh) 2019-05-31
US9390266B1 (en) 2016-07-12
US20170004305A1 (en) 2017-01-05
US9659172B2 (en) 2017-05-23
RU2618947C2 (ru) 2017-05-11
JP2017021773A (ja) 2017-01-26

Similar Documents

Publication Publication Date Title
JP6577399B2 (ja) 望ましくないプログラムのインストール及び実行を予防するシステム及び方法
RU2589862C1 (ru) Способ обнаружения вредоносного кода в оперативной памяти
US9547765B2 (en) Validating a type of a peripheral device
US8079085B1 (en) Reducing false positives during behavior monitoring
US7739682B1 (en) Systems and methods for selectively blocking application installation
RU2531861C1 (ru) Система и способ оценки вредоносности кода, исполняемого в адресном пространстве доверенного процесса
RU2514140C1 (ru) Система и способ увеличения качества обнаружений вредоносных объектов с использованием правил и приоритетов
US8099596B1 (en) System and method for malware protection using virtualization
US8646080B2 (en) Method and apparatus for removing harmful software
US7620990B2 (en) System and method for unpacking packed executables for malware evaluation
EP2515250A1 (en) System and method for detection of complex malware
US20130160126A1 (en) Malware remediation system and method for modern applications
US9330260B1 (en) Detecting auto-start malware by checking its aggressive load point behaviors
US8898591B2 (en) Program removal
EP3314499B1 (en) Temporary process deprivileging
RU101233U1 (ru) Система ограничения прав доступа к ресурсам на основе расчета рейтинга опасности
US9740865B2 (en) System and method for configuring antivirus scans
JP6714112B2 (ja) グラフィカルユーザインターフェース要素に関連した悪意のある行為の軽減
US9122872B1 (en) System and method for treatment of malware using antivirus driver
RU2592383C1 (ru) Способ формирования антивирусной записи при обнаружении вредоносного кода в оперативной памяти
RU2583709C2 (ru) Система и способ устранения последствий заражения виртуальных машин
RU2595510C1 (ru) Способ исключения процессов из антивирусной проверки на основании данных о файле
Alsagoff Removal Of Malware Without The Use Of Antimalware Software

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

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180703

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20181003

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20190416

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20190628

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20190705

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20190822

R150 Certificate of patent or registration of utility model

Ref document number: 6577399

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