CN103430153B - 用于计算机安全的接种器和抗体 - Google Patents

用于计算机安全的接种器和抗体 Download PDF

Info

Publication number
CN103430153B
CN103430153B CN201180060514.0A CN201180060514A CN103430153B CN 103430153 B CN103430153 B CN 103430153B CN 201180060514 A CN201180060514 A CN 201180060514A CN 103430153 B CN103430153 B CN 103430153B
Authority
CN
China
Prior art keywords
computer
data object
computer program
program
undesirable
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
CN201180060514.0A
Other languages
English (en)
Other versions
CN103430153A (zh
Inventor
M·G·霍戈伦德
S·M·布拉肯
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.)
Kingtype Tektronix Inc
Original Assignee
HBGary Inc
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 HBGary Inc filed Critical HBGary Inc
Priority to CN201710956773.0A priority Critical patent/CN108038380B/zh
Publication of CN103430153A publication Critical patent/CN103430153A/zh
Application granted granted Critical
Publication of CN103430153B publication Critical patent/CN103430153B/zh
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/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • G06F21/568Computer malware detection or handling, e.g. anti-virus arrangements eliminating virus, restoring damaged files
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/57Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Virology (AREA)
  • General Health & Medical Sciences (AREA)
  • Computing Systems (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

在本发明的实施例中,方法包括:在计算机中确定不希望的计算机程序将驻留的区域;和在区域中提供数据对象,使得数据对象是向计算机提供安全并提供针对不希望的程序的免疫的抗体。本发明的另一实施例还提供可被配置为执行以上的功能中的至少一些的装置(或系统)。

Description

用于计算机安全的接种器和抗体
对于相关申请的交叉引用
本申请要求美国临时申请No.61/456192作为优先权并要求其益处,在这里加入其全部内容作为参考。
背景技术
不希望的程序,诸如恶意软件,是在不经计算机用户同意的情况下在计算机(或计算机系统)上执行操作的程序或软件。恶意软件可包含例如病毒、蠕虫、特洛伊木马、后门、间谍软件、广告软件、僵尸网络或可对于计算机具有恶意效果(或执行其它的不希望的功能)的其它恶意软件或其它程序。对于计算机的恶意效果为例如计算机(或计算机资源或对象)受损、被破坏、出错、承受不希望的承担,或者另外以不希望的方式受影响。本领域技术人员公知,某个用户所不希望的实际上可能是另一用户所希望的,或者甚至可能是卖主的可行的软件产品或恶意软件测试过程中的软件工具。
作为一些特定的例子,僵尸网络是用于创建和发送垃圾邮件、恶意软件或病毒或者用诸如服务攻击的否定的消息阻塞网络的软件代理。间谍软件一类是可在用户不知情的情况下安装于计算机上并收集关于用户的信息的恶意软件。病毒是可损坏或破坏程序或计算机的程序,并且可复制自身并传染其它的程序或计算机。
当前清除(例如,去除、删除或隔离)不希望的程序或者防止感染不希望的程序的方法需要例如使用软件代理、主动运行代码(处理)或行为阻挡软件。例如,使用防火墙以阻挡已知的恶意软件,但是在起作用时要利用计算机资源。常规的恶意软件保护方案可能常常是昂贵的,并且,对于大的实业(或组织)来说,可能是难以维护的。
一些特定的非恶意的计算机程序也可能是实业所不希望的。例如,实业(例如,大的公司)可能不希望实业网络中的对等文件共享程序(或其它类型的计算机程序)。另外,这些非恶意的不希望的程序可消耗计算机资源,诸如,例如,硬件资源(例如,存储器空间和/或处理器资源)和/或软件资源(例如,操作系统任务)。因此,计算机用户可能希望防止安装未必是恶意代码的特定的计算机程序。
当用户发现在计算机中存在不希望的计算机程序(或者在网络中的装置中存在不希望的程序,或者在诸如例如个人数字助理、智能电话、iPad或iPhone的便携式计算装置中存在不希望的程序)时,用户通常可通过使用当前可用的方案去除不希望的程序。例如,当前的软件程序可用于去除计算机中的恶意软件或病毒。但是,计算机可能常常被同一不希望的程序重新感染。如果重新感染率较高(例如,约50%或更大),那么对于实业来说维护计算机的成本将变得十分昂贵,特别是如果多个计算机被同一不希望的程序重新感染。
如果实业使用作为大规模、组织范围的集成应用软件包的“企业系统”,那么可能引起这种成本增加。例如,如果实体将供企业系统使用或者作为其一部分的计算机重新成像,并然后分析重新成像的计算机,那么重新成像的计算机被发现被先前渗入实业的计算机的不希望的程序(例如,恶意软件或病毒)传染或者重新传染,从而,必须去除重新传染的过程将导致实业的成本增加。
当前的技术没有提供用于防止计算机或联网的装置的重新感染的不复杂且不昂贵的方法。因此,当前的技术能力有限并且至少具有以上的限制和缺点。
附图说明
参照以下的附图描述本发明的非限制性或非详尽的实施例,其中,除非另外规定,否则类似的附图标记在各种示图始终表示类似的部分。
图1是根据本发明的实施例的装置(系统)的框图。
图2是表示根据本发明的各种实施例的图1的装置中的各种特征的框图。
图3是根据本发明的实施例的方法的框图。
具体实施方式
在这里的描述中,提供大量的特定的细节,诸如组件、模块、软件、编程代码和/或方法的例子,以使得能够彻底地理解本发明的实施例。但是,本领域技术人员可以理解,可在没有特定的细节中的一个或多个的情况下或者通过其它的装置、系统、方法、模块、软件、编程代码、组件、材料和/或部分等,实施本发明的实施例。在其它的情况下,为了避免混淆本发明的实施例的多个方面,公知的结构、材料、模块、软件、编程代码或操作没有被详细地表示或描述。另外,附图在本质上是代表性,并且它们的形状不是为了示出任何元件的确切的形状或确切的尺寸,并且不是要限制本发明的范围。
图1是根据本发明的实施例的装置(系统)100的框图,或者是可在本发明的实施例中使用的装置(系统)的框图。示例性的计算装置105(或计算机105)可与通信网络110连接并且可在其上面通信。因此,计算装置105可通过网络110与远程服务器112通信并从其下载数据对象或程序。根据本发明的实施例的接种器引擎114将在服务器114的平台上操作,并且,将在后面讨论接种器引擎114的功能。
例如并非限制,计算装置105可以为计算机(例如,个人计算机)、服务器、工作站、大型计算机、迷你计算机、微计算机、笔记本或膝上型计算机、掌上型计算机、智能装置(例如,智能打印机、智能照相机、智能扫描仪或其它的智能装置)或便携式计算装置(例如,蜂窝电话、智能电话、个人数字助理、iPad、iPhone或其它的便携式计算装置)或其它类型的计算机。
例如并非限制,通信网络110为诸如广域网络(例如,因特网)的公共网络、局域网络(LAN)或不同类型的私人网络、半私人或公共网络。形成网络110的链接可以是有线链接、无线链接或者两者的组合。
计算装置105包含可在计算操作或数据传送中使用的标准元件115。图1所示的元件115中的一些是硬件元件或对象(例如,盘驱动程序)。当然,元件115中的组件可根据计算装置的类型改变。例如,与PDA或智能电话中的硬件元件相比,个人计算机中的一些硬件元件可改变。作为例子,元件115包含处理器120、一个或多个存储器装置125、诸如盘的存储装置130、端口140(可替代性地为网络接口142中的组件)、盘驱动程序145、网络驱动程序150(可替代性为网络接口142中的组件)和/或在计算装置中使用的其它已知的元件。
计算装置105还包含软件元件152,诸如,例如,执行管理功能和本领域技术人员已知的其它功能的操作系统(OS)155。OS155可以是各种类型的已知的OS155中的一种,诸如,例如,基于Microsoft 的操作系统、MAC MAC OS iOS(移动操作系统)、UNIX或UNIX类OS、BSD及其后继操作系统、LINUX AND GNU、Google CROMEOS/2或其它的操作系统。注意,以上的操作系统的名称中的至少一些是注册商标。如后面讨论的那样,接种器114被配置为将块对象160(即,块160或楔160)传送到计算装置105上以防止在计算装置105中安装或执行已知的特定的软件程序。块对象160是作为不活泼对象的数据对象(或空对象或者不运行功能并且不执行功能的数据对象)。该块对象160在这里也被替代性地称为“块160”或“楔160”。如后面在附加的细节中讨论的那样,特定的块对象160将阻止在计算装置105上安装或执行特定的计算机程序。被阻挡的计算机程序可以是恶意的计算机程序或非恶意的计算机程序。
计算装置105还可包含用户界面165和/或其它的外围组件。当然,根据计算装置105的类型,用户界面165可改变。例如,用于笔记本计算机的用户界面可从用于PDA的用户界面或用于智能电话的用户界面改变。界面165可与计算装置105一体化,或者可与其耦合并与其一起起作用。作为例子,用于个人计算机的界面165可包含以下方面中的至少一个:鼠标(或控制板)170、键盘176和/或屏幕(或触摸屏)180。总线153可允许以上讨论的用于计算装置105的组件相互通信并一起起作用。出于简化附图的目的,没有在图1中表示可在装置105中使用的其它的标准硬件、软件或固件组件。
接种器引擎114基于标准编程语言(例如,C、C++或其它适当的语言)由软件代码形成。
图2是表示根据本发明的实施例的图1的装置100的附加细节的框图。假定已知的计算机程序205(即,不受欢迎或不希望的计算机程序205或不受欢迎或不希望的软件程序205)是例如已知的恶意软件或已知的非恶意的程序。恶意软件可以是例如病毒、蠕虫、特洛伊木马、后门、间谍软件、广告软件、僵尸网络或可对于计算机具有恶意效果(或执行其它的不希望的功能)的其它恶意软件或其它程序。非恶意的程序可以是例如对等文件共享程序(或其它类型的非恶意的计算机程序)。其它的非恶意的程序可以是例如执行计算机游戏、视频或其它的程序的计算机程序,实业愿意防止将这些计算机程序安装(或重新安装)于计算装置105上,使得雇员不分心并且可保持工作场所富有生产力。已知的计算机程序205还可以是最近发现或者最近分析的恶意软件程序或非恶意的程序,该程序已事先感染了计算装置105(或者感染了与网络110连接或者与计算装置105连接的任何其它装置)、事先从计算装置105被删除并然后被事先分析其属性210。计算机程序205的属性210可存储于例如单独的远程数据库212或者远程服务器112中的数据库中或者可由远程服务器112访问的另一装置(图2未示出)中。用于分析计算机程序的属性的各种方法对于本领域技术人员来说是已知的。
在一个例子中,计算机程序205被事先安装于计算装置105(或可与计算装置105通信或者可在网络110上通信的另一计算装置)中。
假定计算机程序205已感染计算装置105(或可与计算装置105通信或者与网络110通信的另一装置)。作为一个例子,为了从计算装置105去除计算机程序205,Windows管理界面(WMI)可被使用以与计算装置105连接。本领域技术人员公知,WMI允许通过诸如例如Windows OS的特定的操作系统管理和控制计算装置。作为例子,要通过WMI管理的计算装置可以处于诸如企业网络的网络中。网络管理员可使用WMI以询问和设定关于计算装置、应用和网络的信息。使用WMI允许管理员使用支持Microsoft的API(应用程序界面)呼叫以访问登记表230(在文件系统220中),并且确定是否特定的计算机程序205(恶意计算机程序或非恶意计算机程序)是否已被安装于计算装置105中。
管理员可使用API呼叫以将数据写入到特定的登记表密钥222。作为例子,该特定的登记表密钥222是从Microsoft服务包安装或更新使用的登记表密钥,并且,该登记表密钥将包含关于特定的文件的指令和用于在计算装置105的重新启动之后去除的登记表密钥。为了从计算装置105去除计算机程序205,用于去除特定的计算机程序205的指令被写入到特定的登记表密钥222中。当计算装置105被重新启动时,操作系统115将读取特定的登记表密钥222并从计算装置105去除特定的计算机程序205(并且还去除用于计算机程序205的登记表密钥206)。OS155基于用于去除特定的程序205和登记表密钥206的登记表密钥222中的指令执行程序205和登记表密钥206的这种去除。因此,可对于从计算装置105清除(例如,接种、去除或删除或隔离)计算机程序205有利使用WMI中的特征。基于这里的讨论,可以理解,也可有利地使用用于从计算装置105去除计算机程序205的其它方法。
假定已知的计算机程序205的属性210然后被分析。本领域技术人员可分析计算机程序以确定属性210的以下的特性和细节。作为例子,属性210指示已知的程序205具有软件名称“UNWANTED-1”和文件扩展“ext”。进一步假定属性210指示已知的计算机程序205将通过文件系统220存储于位置215中。本领域技术人员已知,文件系统是任何操作系统类型(平台)中的子系统中的一个。一般地,位置215将是计算装置105的存储器125(图1)中的区域。
属性210还可指示,如果已知的程序205尝试安装到基于WINDOWS的操作系统中或者尝试安装于使用用于安装的软件的登记表类型的系统的另一类型的操作系统中,那么已知的程序205将登记表密钥206创建到登记表230(由文件系统220管理,并处于存储器125(图1)的存储器区域235中)中。
本领域技术人员已知,登记表是由Windows操作系统使用以存储关于计算机程序的配置信息的数据库。至少在安装过程中,大多数的计算机程序将数据写入到登记表。
本领域技术人员理解,可以提出这里讨论的配置的变更或修改。例如,并且,如这里讨论的那样,存储于存储器(例如,随机存取存储器)中的一些对象(或其它的存储组件)不能在任何时候都驻留于存储器中,并且被存储于盘上并在这些对象被访问时被加载到存储器中。作为更具体的例子,一些对象(或其它的存储组件),诸如盘驱动程序145(图1)、登记表230和/或文件系统220一般存储于盘上,并且不能在任何时间都驻留于RAM中,并且仅在这些对象(或存储组件)被访问时被加载到RAM中。
作为替代方案,或者附加地,属性210可指示,如果已知的程序205尝试安装到基于非WINDOWS的操作系统中,那么已知的程序205将创建配置信息文件240(即,设置文件240)。当程序205安装到计算装置105中时,配置文件240有效地登记表已知的程序205。例如,在 操作系统中,配置文件240是偏好文件240。如果偏好文件被删除,那么计算机程序205会重建其偏好文件240。配置文件240包含任何适当的配置文件或元数据文件或者与计算机程序205相关并且被未必限于MAC OS操作系统的任何适当类型的操作系统使用的其它数据文件在本发明的实施例的范围内。
在本发明的实施例中,接种器引擎114可存储于存储器250内,并且可被远程计算装置112(可以例如是但不限于服务器或另一类型的计算机)内的处理器255执行。如果操作系统155是Windows操作系统,那么管理员可允许处理器255执行接种器引擎114。接种器引擎114将读取在数据库212中存储或收集并且是与已知的计算机程序205相关的属性或元数据的属性210包含登记表密钥206属性210一般会指示计算机程序205在安装之后将驻留的存储器空间或存储器地址空间(在目标装置105中)或计算机程序205在安装之后将驻留的文件系统位置(在目标装置105中)。属性210也可指示将接收不希望的计算机程序205的登记表密钥206的登记表位置226。
在本发明的一个实施例中,接种器引擎114将跨着网络110将块对象160(即,块160或楔160)提供和传送260到计算装置105上,以防止在目标计算装置105中安装或执行已知的特定的软件程序(例如,已知的程序205)。块对象160是作为不活泼对象的数据对象(或空对象或者不运行功能并且不执行功能的数据对象)。该块对象160在这里也被替代性地称为不执行而仅占据存储器空间的“块160”或“楔160”或“伪文件160”。该块对象160可以为例如不执行任何功能并且占据要防止安装到计算装置105中的已知计算机程序205的存储器空间(或存储器地址空间)的特定尺寸的给定数据。
OS155的文件系统220将块数据160安装到存储器区域215中。对于Windows类型的操作系统,文件系统220还将在不希望的计算机程序205会另外产生的登记表区域226中安装伪登记表密钥225(空登记表密钥225),并且当不希望的计算机程序205尝试安装时安装登记表密钥206。该空登记表密钥225也是不执行任何功能(即,不运行)并且占据不希望的计算机程序205的登记表密钥206的登记表区域226的特定尺寸的给定数据。
在另一类型的操作系统中,文件系统220将伪配置信息241(空配置信息241)安装于配置文件240中,这里,该伪配置信息241用于块对象160(空对象160、数据对象160或者伪对象160)。对于MAC OS操作系统,该配置文件一般被称为偏好文件。伪配置信息241也是不活泼对象或非功能数据对象。换句话说,该空配置信息241也是不执行任何功能(即不运行)并且占据要安装于非Windows系统中的不希望的计算机程序205的配置信息的存储器区域的特定尺寸的给定数据。
空登记表密钥225(用于使用登记表密钥的基于Windows系统或其它OS类型)在这里以及在以下的权利要求中也被称为空配置对象225。空配置信息241(用于基于非Windows的系统)在这里以及在以下的权利要求中也被称为空配置对象241。空配置对象225(或241)与空对象160(数据对象160)相关。
注意,所有类型的操作系统(例如,诸如iPad或iPhone或智能电话的移动装置中的操作系统)具有文件系统。为了防止将不希望的计算机程序205安装到目标装置105中,这些文件系统然后可被用于安装块对象160的实施例和/或伪配置信息241的实施例。
特定的块对象160(数据对象160)阻止在计算装置105上安装(重新安装)或执行特定的计算机程序205。可阻止的计算机程序205可以是恶意的计算机程序或非恶意的计算机程序。当程序205尝试重新安装到装置105中时,块对象160将占据作为程序205的目的地存储器空间的存储器区域215。作为结果,块对象160防止程序重新安装到装置105中,并且是防止程序205安装到装置105中或者重新感染它的抗体(或功能上的抗体)。由于块对象160处于程序205的目的地存储器空间215中,因此,程序205不能安装并且将出现错误。
本领域技术人员已知,对于安装到Windows操作系统中的计算机程序,该计算机程序也将登记于登记表中。在本发明的实施例中,接种器引擎114还会将伪登记表密钥225(或伪登记表密钥225或替代登记表密钥225)提供和传送260到登记表230中。该伪登记表密钥225与块对象160相关。操作系统将在登记表230中安装伪登记表密钥225作为计算机程序205的实际登记表密钥206的替代。在将计算机程序205安装到目标装置105中的过程中,该伪登记表密钥225被安装于计算机程序205(例如,恶意软件205或非恶意的程序205)会创建登记表密钥206的登记表230的区域226中。由于当计算机程序205尝试安装于目标装置105时伪登记表密钥225已安装于登记表230中,因此,由于计算机程序205将不能删除伪登记表密钥225,因此,计算机程序205将遇到错误。
因此,块数据160和/或伪登记表密钥225将阻止需要“生存”或安装计算机程序205的目标装置105区域。
在本发明的一个实施例中,由于安全允许设置265(由安全子系统266管理)将防止计算机程序205将伪登记表密钥225的值修改成与不希望的程序205相关的适当的值,因此,计算机程序205将不能删除伪登记表密钥225。作为结果,计算机程序205将不成功地安装于目标装置105中,并且,通过计算机程序205防止目标装置105重新感染。为了潜在地允许将计算机程序205成功地安装于装置105中,计算机程序205的创建者必须例如改变计算机程序205的名称或者使用用于程序205的登记表密钥206以外的不同的登记表密钥。
在本发明的另一实施例中,可对于块对象160设定OS155中的安全许可265,使得不希望的计算机程序205不能修改或替代安装的块对象160。例如,安全许可265可被设定,使得只有网络管理员可修改安装的块对象160。可通过使用安全子系统266设定用于数据对象的安全许可265,并且可由网络管理员通过网络110远程设定或配置这些安全许可265。安全许可265设定提供避免不希望的软件程序205成功重写、删除、替代或修改块对象160的安全或防卫。安全子系统266设定对于块对象160和/或对于空登记表密钥225的安全许可265。
假定不希望的计算机程序205的名称为“UNWANTED-1”。在本发明的另一实施例中,为了防止不希望的计算机程序205成功重写、删除、替代或修改阻挡计算机程序205将来访问到存储器空间215中的块对象160,网络管理员或用户可通过文件系统220和安全子系统266改变块对象160的类型但保持块对象的名称相同。例如,网络管理员可将块对象160从文件对象160变为作为与文件对象不同的类型的对象的目录160A。目录160A的名称将与作为“UNWANTED-1”的先前的文件对象160相同。当不希望的计算机程序205(具有名称“UNWANTED-1”)将来尝试安装到存储器区域215中时,由于名称与具有相同的名称“UNWANTED-1”的目录160A冲突,因此,不希望的计算机程序205将不能安装。该名称冲突将导致OS155触发错误代码,该错误代码将警告目标装置105的网络管理员或用户:不希望的计算机程序205尝试安装到目标装置105中。
在本发明的另一实施例中,为了防止不希望的软件程序205成功重写、删除、替代或修改目录160A(如在以上的例子中提到的那样,命名“UNWANTED-1”),网络管理员或用户可通过文件系统220和安全子系统266在处于存储器区域215中的目录160A中放置另一块对象160B。与以上的例子中的块对象160同样,块对象160b也是不起作用或者非执行的数据对象。块对象160B可具有与块对象160的名称不同的名称(例如,“UNWANTED-2”),或者,可具有与块对象160的名称相同的名称(例如,“UNWANTED-1”)。由于块对象160B处于目录160A中,因此,当计算机程序205将来尝试安装到目标装置105中时,不希望的计算机程序205将不能删除或修改目录160A。
在本发明的另一实施例中,如果尝试通过侵入尝试安装或重新安装到目标装置105中的计算机程序205来访问、修改或删除伪登记表密钥225,或者,如果尝试通过侵入尝试安装或重新要到目标装置105中的计算机程序205来访问、修改或删除块对象160,那么OS155可被编程以产生安全事件272。如果计算机程序205尝试访问(例如,尝试读取、尝试写入、尝试修改或尝试删除)特定的存储器区域215和/或特定的登记表区域226中的数据对象,那么OS155(例如,通过安全子系统266)可触发该安全事件155。该安全事件272然后被传送到审核子系统274,并且,子系统274可将该安全事件275记录于安全事件记录276中。可以使用各种市售的软件和开放源软件以读取和分析安全事件记录276。有效地,安全事件272是当计算机程序205尝试安装到目标装置105中并且访问或者尝试修改或删除伪登记表225和/或块对象160时警告目标装置105的网络管理员或用户的“拉发线”或“防盗报警器”。在本发明的另一实施例中,上述的安全事件272特征被省略。
在作为非限制性的例子的示例性操作中,假定一件软件205(可是恶意的或者非恶意的)登记为具有例如Microsoft Windows操作系统或另一类型的操作系统的计算机系统中的服务。在Windows OS中,假定软件205在名称为“当前控制设定/服务”的登记表密钥206下登记,并且服务名称为“坏软件”。当该软件205安装或者感染目标装置105时,软件205将该登记表密钥206创建到登记表230中。可通过使用例如上述的方法从目标系统205清除(例如,删除或去除)软件205。
当该软件205的属性210被分析和记录(例如,在数据库212中)时,接种器引擎114可将抗体放入目标系统105中以防止将来将软件205安装到目标装置105中。如上面讨论的那样,该抗体可以是块对象160(楔160)、会具有与软件205相同的名称的目录160A、具有块对象160B的目录160A、与块对象160相关的伪登记表密钥225和/或与块对象160相关的伪配置信息241。如上面讨论的那样,抗体中的以上的组件可基于例如操作系统的类型和/或网络管理员偏好放在块对象160、目录160A、登记表密钥225和/或伪配置信息241上的安全的量而不同。
接种器引擎114会沿网络110通过远程过程呼叫(RPC)打开登记表235。RPC是基于Microsoft的操作系统中的内置的能力。本领域技术人员已知,RPC是允许一个计算机上的程序执行另一计算机中的程序的类型的协议。一个计算机中的程序通过适当的自变量向另一计算机发送消息,并且,另一计算机返回包含执行的程序的结果的消息。
接种器引擎114会在“当前控制设定/服务”登记表路径下面创建命名为“坏软件”的登记表密钥。因此,接种器引擎114创建会由尝试安装到目标装置105中的程序205创建的相同名称的登记表密钥。
与以上讨论的类似,接种器引擎114可被用于在登记表密钥225上设定安全许可265。例如,安全许可265会对于登记表密钥225的拥有人以外的任何人防止对于登记表密钥225的读取访问和写入访问。登记表密钥225的拥有人一般是网络管理员。
在该同一例子中,假定在以后装置105的用户浏览因特网或另一网络并且同一程序205(命名“坏软件”)尝试利用目标装置105。当程序205尝试安装到目标装置105中时,“坏软件”程序205将创建其登记表密钥206(命名“当前控制设定/服务/坏软件”),并尝试将其登记表密钥206安装到登记表230中。由于登记表密钥225先前被安装于登记表230中,因此,会在程序205中的代码线中产生访问否定错误。由于登记表密钥225已安装于登记表230中并指示对于程序205否定对于由登记表密钥225占据的登记表区域的访问,因此产生该错误代码。由于程序205一般不具有适当的安全许可证书以重写或修改登记表密钥225,因此,产生错误代码。程序205将不具有用于应对该错误代码的编程响应,程序205将不能成功地完成向目标装置105的安装,并且,当重新启动目标装置105时,由于适当的登记表密钥和文件路径对于程序205不被安装以在目标装置105的重新启动中幸存,因此,通过OS155从目标装置105删除程序205。
在本发明的另一实施例中,以上讨论的抗体(例如,块对象160、目录160A、登记表密钥225和/或伪配置信息241)可被放在事先没有被计算机程序205感染的目标装置105中。该方案允许针对已知的不希望的软件205的利用主动接种目标装置105。
因此,在本发明的实施例中,装置和/或方法具有用于计算机安全的接种器和抗体。块对象(即,块或楔)安装到目标计算装置105(即,图1中的目标计算机105或计算系统105)上,这里,块对象防止在目标计算装置中安装和执行特定的已知的软件程序。作为例子,可通过使用Microsoft Windows RPC呼叫通过网络从远程装置向目标装置105安装该块对象。由本发明的实施例提供的方案有利地不需要在目标装置上安装软件代理。事实上,方案提供数据对象、文件和/或登记表密钥以防止安装不希望的计算机软件程序205。因此,本发明的实施例有利地避免使用先前的方案中的代理、主动运行代码、行为阻挡软件或可能十分昂贵并且会消耗系统资源的其它先前的方案。虽然本发明的实施例可保护其它类型的操作系统,但是,目标装置中的目标系统可例如为Microsoft Windows OS。一旦在目标系统中安装(“楔入”)块对象,目标系统就将得到保护或者针对尝试在目标系统中安装或执行的特定的不希望的软件程序免疫。如上面讨论的那样,也可使用伪登记表密钥连同块对象以保护目标系统。
由本发明的实施例提供的方案可使得目标系统针对特定的恶意的软件程序(一般称为“恶意软件”)免疫。但是,由本发明的实施例的提供的方案也可使得目标系统针对由网络管理员或其它的用户选择的非恶意的软件免疫。
图3是根据本发明的实施例的方法300的框图。首先确定不希望的计算机程序将驻留的区域(块305)。然后在该区域中放置数据对象,使得数据对象是向计算机提供安全性并且针对不希望的计算机程序免疫的抗体(块310)。作为块315中的任选的步骤,可以执行操作以防止访问(例如,删除和/或修改)数据对象。如上面讨论的那样,防止访问、删除或修改数据对象可包含设定对于数据对象的安全许可、修改数据对象的类型或者将第二数据对象放入数据对象中。
在本发明的另一实施例中,可通过例如通过使用安全子系统266设定对于空登记表密钥225或空配置信息241的安全许可,防止对于空登记表密钥225(或空配置信息241,如果适用的话)的访问(例如,删除和/或修改)。
在块305中确定区域之前,可从计算机或网络中的另一装置清除(接种)不希望的计算机程序。
实现可存储于机器可读或计算机可读介质中以允许计算机执行上述的发明技术中的任一种的程序或代码或可存储于包括诸如场可编程门阵列(FPGA)或其它的专用设备的嵌入设备的包含存储用于实施本发明的实施例的计算机可读指令的计算机可读介质的制造物品中的程序或代码也在本发明的范围内。鉴于这里讨论的教导,上述的实施例和方法的其它的修改和变化是可能的。
本发明的示出的实施例的以上的描述,包括摘要中的描述,不是要详尽无遗或者将本发明限于公开的确切的形式。本领域技术人员可以理解,虽然这里出于解释的目的描述了本发明的特定的实施例和例子,但在本发明的范围内,各种等同的修改是可能的。
鉴于以上详细的描述,可对于本发明提出这些修改。在以下的权利要求中使用的术语不应被解释为将本发明限于在说明书和权利要求中公开的特定的实施例。而是,本发明的范围要完全由以下的权利要求确定,这些权利要求要根据建立的权利要求解释的原则被解释。

Claims (21)

1.一种防止不希望的计算机程序被安装在计算机中的方法,包括:
在计算装置处:
在所述计算装置远程的目标计算机中确定不希望的计算机程序在所述目标计算机上安装后将驻留的位置;和
提供数据对象以占据所确定的位置,从而防止不希望的计算机程序被安装在所述目标计算机中所确定的位置。
2.根据权利要求1的方法,还包括:
在所述目标计算机中的第二位置提供空配置对象,其中,空配置对象与数据对象相关。
3.根据权利要求2的方法,其中,空配置对象包含空登记表密钥。
4.根据权利要求2的方法,其中,空配置对象包含空配置信息。
5.根据权利要求1的方法,还包括:
防止删除或修改数据对象。
6.根据权利要求5的方法,其中,防止删除或修改数据对象包含:
设定对于数据对象的安全许可。
7.根据权利要求5的方法,其中,防止删除或修改数据对象包含:
将数据对象修改为与不希望的程序不同的对象类型。
8.根据权利要求7的方法,其中,防止删除或修改数据对象包含:
在数据对象类型中放置第二数据对象。
9.根据权利要求1的方法,还包括:
响应数据对象的访问产生安全事件。
10.根据权利要求2的方法,还包括:
响应空配置对象的访问产生安全事件。
11.一种能够防止不希望的计算机程序被安装在计算机中的装置,包括:
接种器引擎,其被配置为在所述装置远程的目标计算机中确定不希望的计算机程序在所述目标计算机上安装后将驻留的位置并提供数据对象以占据所确定的位置,从而防止不希望的计算机程序被安装在所述目标计算机中所确定的位置。
12.根据权利要求11的装置,其中,接种器引擎被配置为在所述目标计算机中的第二位置提供空配置对象,其中,空配置对象与数据对象相关。
13.根据权利要求12的装置,其中,空配置对象包含空登记表密钥。
14.根据权利要求12的装置,其中,空配置对象包含空配置信息。
15.根据权利要求11的装置,还包括被配置为防止删除或修改数据对象的安全子系统。
16.根据权利要求15的装置,其中,安全子系统通过设定对于数据对象的安全许可来防止删除或修改数据对象。
17.根据权利要求15的装置,其中,安全子系统通过将数据对象修改为与不希望的程序不同的对象类型来防止删除或修改数据对象。
18.根据权利要求17的装置,其中,安全子系统通过在数据对象类型中放置第二数据对象来防止删除或修改数据对象。
19.根据权利要求11的装置,还包括:
被配置为响应数据对象的访问产生安全事件的安全子系统。
20.根据权利要求12的装置,还包括:
被配置为响应空配置对象的访问产生安全事件的安全子系统。
21.一种能够防止不希望的计算机程序被安装在计算机中的装置,包括:
用于在所述装置远程的目标计算机中确定不希望的计算机程序在所述目标计算机上安装后将驻留的位置的部件;和
用于提供数据对象以占据所确定的位置,从而防止不希望的计算机程序被安装在所述目标计算机中所确定的位置的部件。
CN201180060514.0A 2010-11-01 2011-10-31 用于计算机安全的接种器和抗体 Active CN103430153B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710956773.0A CN108038380B (zh) 2010-11-01 2011-10-31 用于计算机安全的接种器和抗体

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US45619210P 2010-11-01 2010-11-01
US61/456,192 2010-11-01
US13/200,504 2011-09-23
US13/200,504 US9311482B2 (en) 2010-11-01 2011-09-23 Inoculator and antibody for computer security
PCT/US2011/058653 WO2012061319A1 (en) 2010-11-01 2011-10-31 Inoculator and antibody for computer security

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710956773.0A Division CN108038380B (zh) 2010-11-01 2011-10-31 用于计算机安全的接种器和抗体

Publications (2)

Publication Number Publication Date
CN103430153A CN103430153A (zh) 2013-12-04
CN103430153B true CN103430153B (zh) 2017-11-14

Family

ID=45998165

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710956773.0A Expired - Fee Related CN108038380B (zh) 2010-11-01 2011-10-31 用于计算机安全的接种器和抗体
CN201180060514.0A Active CN103430153B (zh) 2010-11-01 2011-10-31 用于计算机安全的接种器和抗体

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710956773.0A Expired - Fee Related CN108038380B (zh) 2010-11-01 2011-10-31 用于计算机安全的接种器和抗体

Country Status (10)

Country Link
US (2) US9311482B2 (zh)
EP (1) EP2635969B1 (zh)
JP (2) JP5951621B2 (zh)
CN (2) CN108038380B (zh)
AU (3) AU2011323553B2 (zh)
CA (2) CA2816764C (zh)
IL (1) IL226098A (zh)
NZ (1) NZ610714A (zh)
SG (2) SG10201508939VA (zh)
WO (1) WO2012061319A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6929144B2 (ja) * 2017-06-27 2021-09-01 キヤノン株式会社 情報処理装置、プログラム、インストーラ及び制御方法
CN112399409A (zh) * 2019-08-16 2021-02-23 华为技术有限公司 一种安全加密的方法及装置
US11914711B2 (en) * 2020-07-30 2024-02-27 Versa Networks, Inc. Systems and methods for automatically generating malware countermeasures
JP2022114778A (ja) * 2021-01-27 2022-08-08 セイコーエプソン株式会社 電子機器及び電子機器の制御方法
JP7174468B1 (ja) * 2022-06-13 2022-11-17 文生 根来 ウイルス侵入されたプログラムがプログラム自身でウイルスデータを排除できるプログラム開発方法

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2424352A1 (en) * 2000-05-28 2001-12-06 Yaron Mayer System and method for comprehensive general generic protection for computers against malicious programs that may steal information and/or cause damages
AU2001278328A1 (en) * 2000-07-26 2002-02-05 David Dickenson Distributive access controller
US7353389B2 (en) * 2003-04-07 2008-04-01 Bellarc, Inc. Software update and patch audit subsystem for use in a computer information database system
US7512809B2 (en) * 2003-08-22 2009-03-31 Cyrus Peikari Attenuated computer virus vaccine
US7644441B2 (en) * 2003-09-26 2010-01-05 Cigital, Inc. Methods for identifying malicious software
US8255973B2 (en) * 2003-12-10 2012-08-28 Chris Hopen Provisioning remote computers for accessing resources
US7499929B2 (en) * 2004-03-22 2009-03-03 Microsoft Corporation Computing device with relatively limited storage space and operating/file system thereof
US20060041942A1 (en) 2004-06-24 2006-02-23 Mcafee, Inc. System, method and computer program product for preventing spyware/malware from installing a registry
JPWO2006057337A1 (ja) 2004-11-25 2008-06-05 日本電気株式会社 セキュリティ検証用のデータを生成する方法及びシステム
US7979889B2 (en) * 2005-01-07 2011-07-12 Cisco Technology, Inc. Methods and apparatus providing security to computer systems and networks
EP1684151A1 (en) 2005-01-20 2006-07-26 Grant Rothwell William Computer protection against malware affection
US8046831B2 (en) * 2005-03-02 2011-10-25 Actiance, Inc. Automating software security restrictions on system resources
GB0513375D0 (en) * 2005-06-30 2005-08-03 Retento Ltd Computer security
US7665123B1 (en) * 2005-12-01 2010-02-16 Symantec Corporation Method and apparatus for detecting hidden rootkits
US7836500B2 (en) 2005-12-16 2010-11-16 Eacceleration Corporation Computer virus and malware cleaner
DE602006008270D1 (de) * 2006-03-29 2009-09-17 St Microelectronics Srl Verfahren und Vorrichtung zur Detektion von möglicher Korruption von Sektorschutzinformationen eines in einem bordeigenen flüchtigen Speicherarray gespeicherten nichtflüchtigen Speichers beim Einschalten
CN100424652C (zh) * 2006-07-28 2008-10-08 华南理工大学 一种基于嵌入式操作系统的硬盘自恢复保护方法
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
US7761676B2 (en) * 2006-12-12 2010-07-20 Intel Corporation Protecting memory by containing pointer accesses
JP2008210057A (ja) 2007-02-23 2008-09-11 Hitachi Ltd 記憶システム及びその管理方法
US8321667B2 (en) * 2007-02-28 2012-11-27 Microsoft Corporation Security model for common multiplexed transactional logs
US20080244155A1 (en) * 2007-03-30 2008-10-02 Kyungwoo Lee Methods and apparatus to protect dynamic memory regions allocated to programming agents
US9406388B2 (en) * 2007-05-10 2016-08-02 Micron Technology, Inc. Memory area protection system and methods
US8291496B2 (en) * 2008-05-12 2012-10-16 Enpulz, L.L.C. Server based malware screening
US20100023522A1 (en) 2008-07-18 2010-01-28 George Madathilparambil George Dynamically controlling permissions
JP5313600B2 (ja) * 2008-09-16 2013-10-09 株式会社日立製作所 ストレージシステム、及びストレージシステムの運用方法
US20100095365A1 (en) * 2008-10-14 2010-04-15 Wei-Chiang Hsu Self-setting security system and method for guarding against unauthorized access to data and preventing malicious attacks
US20100100966A1 (en) 2008-10-21 2010-04-22 Memory Experts International Inc. Method and system for blocking installation of some processes
US8769685B1 (en) * 2010-02-03 2014-07-01 Symantec Corporation Systems and methods for using file paths to identify potentially malicious computer files
CN101894243A (zh) * 2010-06-24 2010-11-24 北京安天电子设备有限公司 一种针对网络浏览器的恶意插件的免疫方法
US9536089B2 (en) * 2010-09-02 2017-01-03 Mcafee, Inc. Atomic detection and repair of kernel memory

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Free USB Flash Drive Protector;Abhishek Bhatnagar;《http://www.technixupdate.com/free-usb-flash-drive-protector-create-undeletable-write-protected-dummy-autoruninf-stop-autorun-virus-infection》;20090717;1 *
usbdummyprotect;GOOGLE;《https://code.google.com/archive/p/usbdummyprotect/》;20101016;2 *

Also Published As

Publication number Publication date
US20160292424A1 (en) 2016-10-06
SG10201508939VA (en) 2015-11-27
US20120110673A1 (en) 2012-05-03
US9792444B2 (en) 2017-10-17
NZ610714A (en) 2015-07-31
JP5951621B2 (ja) 2016-07-13
EP2635969B1 (en) 2020-07-08
CN103430153A (zh) 2013-12-04
CN108038380B (zh) 2022-03-15
IL226098A0 (en) 2013-06-27
AU2011323553A1 (en) 2013-06-13
CA2816764C (en) 2021-11-02
AU2019206085A1 (en) 2019-08-08
AU2011323553B2 (en) 2017-03-23
CN108038380A (zh) 2018-05-15
AU2017204194B2 (en) 2019-04-18
SG190120A1 (en) 2013-06-28
AU2019206085B2 (en) 2021-07-08
EP2635969A4 (en) 2014-08-27
CA3130495A1 (en) 2012-05-10
US9311482B2 (en) 2016-04-12
AU2017204194A1 (en) 2017-07-13
JP2016189201A (ja) 2016-11-04
JP2014501002A (ja) 2014-01-16
WO2012061319A1 (en) 2012-05-10
IL226098A (en) 2017-11-30
EP2635969A1 (en) 2013-09-11
JP6243479B2 (ja) 2017-12-06
CA2816764A1 (en) 2012-05-10

Similar Documents

Publication Publication Date Title
US9846776B1 (en) System and method for detecting file altering behaviors pertaining to a malicious attack
US10503904B1 (en) Ransomware detection and mitigation
Jian et al. A defense method against docker escape attack
US20230325499A1 (en) Preventing ransomware from encrypting files on a target machine
US10565378B1 (en) Exploit of privilege detection framework
US9251343B1 (en) Detecting bootkits resident on compromised computers
EP1920338B1 (en) Network security systems and methods
US20240039942A1 (en) Malware detection at endpoint devices
US10963583B1 (en) Automatic detection and protection against file system privilege escalation and manipulation vulnerabilities
CN110647744A (zh) 使用特定于对象的文件系统视图识别和提取关键危害取证指标
CN103430153B (zh) 用于计算机安全的接种器和抗体
US10339307B2 (en) Intrusion detection system in a device comprising a first operating system and a second operating system
Distefano et al. SecureMyDroid: enforcing security in the mobile devices lifecycle
Peddoju et al. File integrity monitoring tools: Issues, challenges, and solutions
Shan et al. Enforcing mandatory access control in commodity OS to disable malware
US9785775B1 (en) Malware management
EP3438864B1 (en) Method and system for protecting a computer file against possible malware encryption
CN112597492B (zh) 一种基于Windows内核的二进制可执行文件更改监测方法
Jeong et al. SafeGuard: a behavior based real-time malware detection scheme for mobile multimedia applications in android platform
CN115396140A (zh) 应用访问控制方法、装置、存储介质及计算机设备
Powers et al. Whitelist malware defense for embedded control system devices
US20230418933A1 (en) Systems and methods for folder and file sequestration
US20240169056A1 (en) Managing and classifying computer processes
US20230388307A1 (en) System and Method for Improved Security when Working Remotely
WO2023130063A1 (en) Zero trust file integrity protection

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20180302

Address after: American California

Patentee after: Kingtype Tektronix Inc

Address before: American California

Patentee before: Hbgary Inc