针对不良程序窃取信息和破坏行为的通用综合性计算机安全防护系统与方法

文档序号:6470908阅读:1905来源:国知局
专利名称:针对不良程序窃取信息和破坏行为的通用综合性计算机安全防护系统与方法
技术领域
本发明的背景背景现在不良软件攻击个人电脑和服务器的现象层出不穷,而且这些攻击产生的危害性也越来越大。根据美国计算机安全学会的最新研究结果,仅去年一年之内,美国各大公司中的大约50%至少受到一次来自国际互联网的不良软件攻击,平均每次攻击造成的经济损失达50多万美元。
最近由“I LOVE YOU”病毒及其派生病毒的发动的一次攻击,使几千万台计算机受到破坏,导致上百亿美元的经济损失,这表明,传统的杀毒程序和安全保护方法难以抵御这些病毒的攻击力。因为传统的杀毒软件依靠人们业已熟悉的已知不良软件的码型来识别病毒,而不是在原则上预先防止所有病毒程序的攻击。病毒能够攻击计算机,主要是因为计算机操作系统中存在着大量的漏洞和缺陷,事实上计算机运行过程中,大量的程序运行进程是在背后进行的,用户从表面上往往觉察不到,许多应用软件在设计上又存在问题,这些都为病毒攻击提供了条件。操作系统的漏洞和缺陷包括以下几种
1.用户在网络冲浪过程中,当他人试图从外部接通用户的计算机时,系统不能对用户发出任何提示和警告。
2.在未经用户许可的情况下,让某些应用软件随意执行宏程序、脚本、Java小程序、或者来自电子邮件、网页以及其他方面的可执行附件,而且执行前也不检验一下这些可执行文件和脚本到底要做什么(如果允许)。
3.当网络与外部的连接通道打开时,不能向用户发出任何警告和请求用户许可。
4.在程序执行极端危险的操作过程时,例如删除或废弃多个文件,修改系统的关键部分,或格式化整个驱动器等,不能向用户发出任何警告和请求用户许可。
5.在一些通信应用中,不能检测“串溢出”或“缓冲溢出”情况,从而导致系统崩溃,例如含有不良程序码的大信息串取代了原程序码,并开始取代原程序码运行。
由于国际互联网目前正以指数速率迅速增长,越来越多的企业正在逐渐离不开它,因此,如果没有一种最彻底和最基本的手段来处理操作系统存在的这些缺陷和漏洞,那么病毒攻击可能很快就会发展到非常严重的程度,对连接到国际互联网的大部分计算机会造成难以控制的破坏。
其他的一些保护方法,例如数据包过滤法,原则上来说作用也是有限的,因为决定数据包接收与否的规则中,含有规则制定者的主观判断因素,也就是说,这些规则是在信任某些网址或应用软件的基础上制订的。但是,一旦由于某种原因安全规则被打破(例如程序发生错误或不良程序的蓄意伪装等),不良程序可能就会趁机控制计算机或服务器,甚至控制整个网络,从而造成极大的破坏(由不良程序本身直接进行破坏,或通过为其他不良程序打开通道而造成破坏),当发现这些情况后往往为时已晚,已经无法进行修复。例如,通过邮件自动发送的宏病毒(比如“我爱你”病毒和它的派生病毒,以及类似的病毒等)可能来自于你最信任的和最好的朋友,当他们自己的计算机感染了这种病毒后,会在无意中把病毒通过邮件传给你。对许可协议类型进行过滤有时也不起什么作用,例如FTP(文件传输协议)对SMTP(简单邮件传输协议)等,除非对给定的程序进行加密或伪装为其他程序。数据包过滤法的另外一个主要问题,是难以靠这种过滤的方法来检测包内的数据是否被窃取,因为不良程序会对窃取的数据进行加密,或把它伪装成其他的东西,例如使它看起来好像GIF图像文件。
反病毒程序和防火墙也难以有效地修补浏览器、电子邮件以及操作系统本身等各方面存在的安全漏洞。根据ZDnet在2001年1月24日发表的一篇文章,许多关键应用程序中存在的安全漏洞层出不穷,根本无法指望完全靠补丁来修补所有的这些漏洞。如果没有一种合适的通用保护系统来识别任何已知的和未知的不良程序(例如特洛伊木马程序等),那么即使采用个人虚拟网络和其他任何形式的数据加密,包括数字签名等,都不会获得真正意义上的安全,因为在加密部分之前和之后的信息段都有可能被窃取。
即使通过某些方式对一些特别标注的可执行文件和应用程序采取监视措施,效果也非常有限,因为对安全的侵犯可能来自任何其他地方。例如,一个特洛伊木马程序可能已经在系统内潜伏了很久,在你检测到它之前,有一天它会突然爆发并造成巨大破坏。它还可以在任何时候,随着不同来源新软件的安装一起进入系统内部。
另一方面,如果禁止电子邮件中的任何脚本运行,会造成很大的不便,因为这种方法不能区分用户想运行的安全脚本和伺机捣乱的恶意脚本。
本安全防护系统的最重要原则和目标优选地包括1.将更多的程序运行进程信息告诉用户,从而大大地降低了不良软件在用户面前蒙混过关的可能性,通常这些处理过程是在用户不知道的情况下发生的。
2.为软件的合理运行特征制订一套全面而简明的规则,这样,系统就可以随时识别出那些表现可疑、具有破坏性和潜伏着危险的程序,以及那些行为不轨的程序。
3.监视和阻止计算机内发生的所有未经授权的可疑程序活动,并把有关情况记录下来。当程序需要执行时,应请求用户的授权,或在用户指导下执行。
4.在上述原则中,针对威胁安全的情况,允许采取多重保护措施,如果不良程序要窃取数据、破坏数据、或者自我复制等,通常需要打破多重安全规则才能达到目的,这样病毒被擒获的机会就大多了。
5.即使用户利用某一个应用程序启动了另外一个应用程序,新启动的应用程序将仍然遵守启动它的那个应用程序所使用的安全规则,如此类推,所有依次打开的应用程序将适用于相同的监视方法与安全规则,这样,对安全规则破坏情况的检测将适用于每一级程序。
6.不良程序通过信道窃取数据时,有可能对数据进行加密,这样就无法用检测数据流的方法来确定数据是否被盗。有鉴于此,本系统将主要依靠用户控制应用程序访问的方法,来防止数据被盗,用户可最大限度地控制以下几个方面允许哪些应用程序访问哪些数据,允许哪些应用程序访问哪些通信信道,以及实际发送的数据量等。
上述安全防护系统优选地由以下主要部分组成1.监视与捕获系统——该系统将持续监视计算机系统的安全敏感元件,更重要的是,它还监视所有相关外围设备的运行情况,尤其是那些与存储装置有关的外围设备(特别是硬盘等)和通信设备(网卡、调制解调器等)的运行情况,可以监测出任何可疑和危险的行为,并立即加以阻止;2.安全规则及数据库——该数据库用来保存默认的安全规则、一整套适用于所选操作系统的大多数用户的预分配习惯规则、习惯的附加用户定义规则、系统运行过程中逐渐积累下来的关于程序正常与合理行为的统计资料。该数居库区还含有所有的授权信息、和可以选用的一个记录表(作为一种优选设计,最好选用),表内存有安全防护系统向用户询问的所有问题及其答案(至少持续一段时间),如果需要,还可以含有一个可疑行为检测记录表(至少持续一段时间),也可以含有一些可定义的附加记录表。(作为一种优选设计)该数据库最好进行加密,可把它当作一个受到不断监视的高度安全保护区域,(作为一种优选设计)最好还可以把它当作一个备份区,具体情况看后面的详细说明;3.用户界面——用来与用户进行交流,让系统得知可接受的行为模式,发现危险情况时向用户发出警告,必要时请求用户许可。(作为一种优选设计)最好还可以允许用户查看重要程序和程序组的运行情况统计资料,尤其是那些可以访问信道的程序(其中特别重要的是那些利用通信线路发送和接收数据的程序)的统计资料,例如与互联网的通信记录,包括的自始至终的通信记录,和其中某段时间的通信记录。作为一种优选设计,最好它还可以使用户了解正在使用哪些协议等方面的信息。用户还可以直接查看或修改授权信息库。安全防护系统的主要作用在定义可疑病毒活动的规则时,依据的主要原则是尽量阻止不良程序窃取数据、进行破坏或自我复制时需要的所有组件与活动行为。安全防护系统使用了一套启发式规则和基本规则,来定义可疑的或具有潜在危险性的不良程序活动,这些规则自动地适应大多数用户。通过使用一般性默认规则,加上系统和应用程序软件的正常行为统计分析,以及从用户对许可请求做出的反应中总结出来的一套规律,安全防护系统能够迅速得知识别个人计算机或服务器使用的程序表现出来的被认为合理的或者良好的行为模式。(作为一种优选设计)最好还应首先在每个操作系统中预先完成某些程序行为模式的得知过程,并将结果保存在配置数据库中,这样,用户安装的安全防护系统就预先掌握了各种安全规则,这些规则在默认情况下适用于该操作系统的大多数用户。安全防护系统的安全规则和功能可以首先考虑包括以下几个方面a.持续不断地监视计算机系统的安全敏感性组件,包括所有相关的外围设备状态、尤其是存储装置和通信装置的状态,监视和选择性地阻止任何可疑的和危险的行为,对可疑程序应按照默认的和习惯的安全规则进行处理。
b.在默认的情况下,程序将按照各自的自然环境(安装目录及其子目录等)进行分离,具体情况请参看后面的详细说明。
c.发现带任何不安全因素的程序活动,尤其是程序初次访问通信信道时,应向用户发出警告,并请求用户的许可。
d.(作为一种优选设计)最好还要在各种规则中规定存储介质为高度安全区域,对这些区域进行不断的严格的监视和保护,具体情况请参看后面的详细说明。
e.当遇到具有高度危险性的程序活动时,在进行拦截的同时,还要向用户发出更加明确警告。
f.当发现应用程序和操作系统出现不同寻常的重大的统计差异时,特别是出现数据突然大量发送之类的情况时,向用户发出警告。
g.当来自网络的任何外部程序企图通过通信信道连接到用户计算机内时,系统应能立即向用户发出警告,同时用户可以要求系统立即进行自动拦截。
h.(作为一种优选设计)最好允许用户对开放的通信端口进行更加严格的基本限制,作为选择项目,用户还可以对“许可协议类型”进行更加严格的的限制。
i.尽量多地监视和拦截任何应用程序直接访问安全敏感装置的企图,尤其是直接访问存储介质和通信信道的企图。
综上所述,本发明(安全防护系统)与现有的安全技术相比,具有以下优点1.能够通用性地监视和拦截所有类型的病毒及其变种,包括特洛伊木马、蠕虫、电子邮件宏病毒、和其他的破坏性病毒,即使这些病毒是全新的破坏性病毒,与以往遇到的破坏性病毒无任何相似之处,本系统仍然可以进行监视和拦截。因此,它可以在病毒发动的第一轮攻击中即可将病毒探测出来并加以阻截,而不是等到成千上万台计算机被袭击之后才这样做。
2.本安全防护系统不同于一般的反病毒系统,它并不依靠不断地升级病毒库的方法来识别病毒。
3.本安全防护系统不是靠先天带有局限性的方法来拦截病毒,如数据包过滤法那样。
4.本安全防护系统对各种病毒侵害提供多重安全保护,不良程序要进行侵害,必须打破多重安全规则,这就大大增加了病毒被擒获的可能性。它让用户更多地了解其系统内部正在发生的事情,从而使用户被不良程序攻击的机会大为减少。
5.本安全防护系统比其他解决方案更加全面,可能会从根本上找出并堵住操作系统本身存在的“后门”。还有,它并不是靠先标定出一些类型的应用程序,然后对这些特定程序进行监视,而是直接监视所有的应用程序,而不管它们是如何装入系统内的,即使这些应用程序比本安全防护系统更早地安装在系统内,也同样受到监视。
6.本安全防护系统实际上非常俭省,当应用于一些特殊程序,如各种浏览器或电子邮件程序时,不需要了解这些应用程序方面的特别知识,同样,当用户更换新版本的应用软件,比如下载新版或新类型的互联网应用软件时,不需要对本安全防护系统进行升级。
7.即使不良程序在行为上表现得丝毫不像病毒或蠕虫,本安全防护系统仍然可以监测到它的恶意行为并阻止它的行动。例如,一个屏幕保护程序即使看起来并没有进行自我复制,或者并未改变系统区域,但它却已开始窃取信息并通过通信线路发送出去。本安全防护系统完全可以发现它。
8.即使通过严格的加密方式进行保护的系统,例如网上银行等,如果没有我们安全防护系统的保护也无真正的安全可言,因为一些不良软件,例如“Subseven特洛伊木马”等,会使这些加密变得毫无用处,照样可以把系统中各层次运行的信息全部发送出去。
定义出于便于理解的需要,我们在文中经常使用微软“Windows(视窗)”环境下常用的术语(微软“Windows(视窗)”是个人电脑最常用的操作系统)。因此有一点必须记住,在其他操作系统中,例如Linux或者Macintosh等,同一术语可能会有不同的称谓,系统的运行过程也可能略有不同,但基本原理仍然是相同的。
出现在本说明和权利要求范围中的各种术语,分别表示以下意义
“程序”、“可执行文件”、“应用程序”——指的是存储器内任何含有可执行指令的文件或区域,例如.exe或.com文件、批文件、各种“宏文件”等。
“宏”——一种可执行文件,通常是用脚本语言编写的,可由一个复合应用程序执行,例如微软的Outlook或Word。
“动态链接库”(DLL)——动态链接库在所有版本的“视窗”操作系统等地方是一个常见的术语。在其他操作系统中它可能会有不同的名称,但基本原理是相同的。一般来说,它用来描述一组例行程序,这组例行程序在运行时间内能够从可执行文件中调出,能够装入和链接至可执行文件。
“设备驱动程序”或“驱动程序”——指的是一种软件成分,它可以使操作系统与连接到计算机的一台或多台硬件设备进行通信,这些硬件设备包括硬盘控制器、网卡、或显卡等。
“OS”或“操作系统”——指的是一种软件,用来控制计算机硬件资源的分配和应用,硬件资源包括存储器、中央处理器时间、磁盘空间、以为外围硬件设备等。
“IRQ”或“中断请求线路”——一种硬件线路,硬件设备如输入/输出端口、键盘、硬盘驱动器等可以通过该线路向中央处理器(CPU)发送中断请求。
“用户”——文中各处出现的“用户”一词可以指一个或多个用户。这里的所说用户包括使用一台或多台计算机的个人、公司或组织机构等。因此,各种类型的授权既可以来自计算机的个人用户,也可以来自公司的计算机安全管理员等,或者两者兼而有之。例如,有的公司可能想把关键部分的控制权只全部交给系统管理员掌握,而其他公司可能更愿意让其所有员工或部分员工能够对计算机系统进行直接控制。
“用户授权”——本文各处出现的“用户授权”中也可以包含附加的指导与选项。
“数据库”——本文中各处使用的“数据库”可以指一个或多个数据库。
“网络”——本文中各处出现的“网络”一词可以指一个或多个网络,本文中的“网络”表示一台计算机(请参看有关定义)通过任何方式与另一台或多台计算机连接,或者与任何其他兼容的通信设备连接。
“文件”——指一个或多个磁盘上的一个或多个区域,可在文件分配表(FAT)中拥有某个定义,可以代表一个名称、一个地址等,可能还包括其他参数。
“注册表”——指一个或多个可含有操作系统和其他程序设置项的文件,主要由操作系统进行管理。
“计算机”——可以指一台个人计算机、一个工作站或服务器,或带有一个或多个中央处理器(CPU)并具有简单算术以上功能的任何一台自动设备或装置。还包括蜂窝电话和手提式计算机(例如掌上电脑)等一类装置。也包括如汽车用计算机等一类装置,随着汽车的自动化程序越来越高,甚至可以达到自动驾驶的程度,汽车用计算机将变得非常重要,由于电脑黑客可以对车用电脑进行破坏,例如可以通过互联网或卫星网络进行攻击,对车用电脑造成的故障甚至会危及人的生命。其他的例子包括卫星中使用的计算机(对于卫星计算机来说,需要用户授权时,作为一种优选设计,最好通过加密通信进行遥控请求,并由用户进行遥控验证)、飞机上的敏感计算机系统等。虽然在本文中通常以个人电脑和“视窗”操作系统作为示例进行说明,但这些原理也同样适用于掌上电脑、蜂窝电话、以及其他类型的计算装置等。另外,本文中各处出现的“计算机”一词可以指一台或多台计算机。因此,每当本专利文件,包括权利要求,出现“计算机”一词时,可以指符合上述定义的任何一种设备。
“服务器”——指网络上的一台计算机,它运行软件并向网络上的客户机提供数据。服务器一词有时也用来指一种软件处理,例如自动操作服务器等,同样它也用来将信息发送到客户,并可以作为客户出现在同一台计算机上,或者出现在同一个应用程序之内。
“内核”或“核心程序”——操作系统中管理和控制对硬件资源进行访问的那部分。它的功能包括线行程安排、分配、中断和排斥操作处理、以及多处理器协调等。
“直接存储器存取(DMA)”——存储器直接存取的过程。
“图像装载”——本文中各处出现的“图像装载”指的是一种正在装载的准备用来执行的可执行码,或指卸载或终止该执行码。
“拦截功能”——本文中各处出现的“拦截功能”一词指的是一种可执行过滤码,它被置于“程序调出码”与“被调程序”之间,因此它就具有了对被拦阻的程序进行监视、阻截和重新定义的能力。
附图的简要说明

图1.图中展示的是在一台装有典型结构操作系统的计算机上应用本安全防护系统时,本安全防护系统所需要的首选主要组件,这里提供了与计算机连接的一些外围设备,尤其是存储装置和网络装置相关的外围设备的驱动程序,作为一种优选设计,最好还要提供安全防护系统各组件与上述典型结构之间相互接合与相互交流时,所需要的位置和方法。
图1b.更为详细地展示了安全防护系统组件之间相互配合的一种首选方法,这里重点展示了用户界面和首选的授权许可过程。
图2.图中详细地展示了“监视和捕获系统”对访问计算机操作系统的“文件处理相关功能”的活动进行制约、监视、检查、授权的流程图,整个监视和捕获过程是可以预先设置的,这里展示的是一种首选方法。
图3.图中详细地展示了“监视和捕获系统”对访问计算机操作系统的“网络相关功能”的活动进行制约、监视、检查、授权的流程图,整个监视和捕获过程是可以预先设置的,这里展示的是一种首选方法。
图4.这是一个流程图,图中详细展示了“监视和捕获系统”对访问计算机操作系统的“注册表相关功能”的活动进行制约、监视、检查、授权的流程图,整个监视和捕获过程是可以预先设置的,这里展示的是一种首选方法。
图5.图中展示了准备执行的可执行文件装载之后,有可能出现的情况之一。
图6.通过此流程图详细地介绍了“监视和捕获系统”对访问计算机操作系统的“存储器相关功能”的活动进行制约、监视、检查、授权的流程图,整个监视和捕获过程是可以预先设置的,这里展示的是一种先首选方法。
图7.通过此流程图详细地介绍了安全防护系统的可能的许可与分析过程和安全规则数据库的首选主要结构与方法。
图8.图中详细地展示了安全防护系统使用附加硬件之后,可能出现的一种可能的变化形式的交流与操作过程,附加的硬件装置可以监视对计算机数据总线的“硬件访问”,并带有一个双向接口,用来连接安全防护系统的软件。
图9.这是一个总览图,它详细展示了一种可能的优选自我保护方法。
图10.通过此流程图详细地介绍了安全防护系统的一个优选的拦截过程。
图11.这是安全防护系统对程序进程进行分离和控制的图解说明,在这里展示的是一种可能的首选过程和方法。
图12.这里展示的是安全防护系统的一个比较极端的具体化设计方案“实例图解”,在这个示例中,每个程序都放在一个虚拟环境“气泡”中。
图13.这里展示的是,将一个组织内部的计算机通过系统管理员连接到互联网的一种首选设计方案。
优选的
具体实施例方式
的详细说明在本部分和其他部分展示的图例和有关的描述内容,是为了对专利内容进行解释,因此这些内容仅具有说明性,而没有任何限制性。
请参看图1,我们在图中展示的是,在一台计算机上安装了一个典型结构操作系统(101)的情况下,安全防护系统所需要的首选主要组件(100),这里所说的计算机,可以是一个服务器、一台个人电脑、或其他计算机化的设备或装置,(请参看关于计算机的定义),在该方案中,已经提供了与计算机连接的一些外围设备的驱动程序,尤其是与存储装置和网络装置相关的外围设备的驱动程序,(作为一种优选设计)最好还要提供安全防护系统的各个组件与上述典型结构操作系统相互接合和相互交流的位置和方法。整个系统和方法可以看作是一台能够执行安全防护功能的一台虚拟机。
作为一种优选方案,安全防护系统可以由以下各主要部分组成a.监视与捕获系统(102)该系统用于不断地监视计算机系统中易受不良程序和病毒威胁的部件,包括所有的外围设备,特别是存储装置(110)(主要是指硬盘等装置)和通信装置(111)(主要是指网卡、调制解调器等装置),并能够检测和截获任何可疑的、有害的、和具有潜在危险性的程序活动。作为安全防护系统的一个组成部分,监视与捕获系统应尽量多地将本身的一部分安装在操作系统(104)的内核中,其它部分则可以取代各种操作系统文件,例如某些驱动器、设备驱动程序、动态链接库等,以便能够启用各种关键功能。在本文后面的示意图中,可以看到关于监视与捕获系统的更加详细的描述。
b.安全规则(740)和存放默认安全规则(74X-C)的数据库(700)、一整套适用于所选操作系统的大多数用户的预分配习惯规则(74X-B)、习惯的附加用户定义规则(74X-A)、系统运行过程中逐渐积累起来的关于程序正常或合理行为统计资料(751)。作为优选方案之一,该数据库(700)除了含有所有的授权信息外,(作为一种优选设计)最好还要含有一个供用户选择使用的记录表(770),表内存有安全防护系统向用户询问的所有问题及其答案(至少保持一段时间),如果需要,还可以含有一个可疑行为探测记录表(770)(至少保持一段时间),也可以含有一些可自定义附加记录表。(作为一种优选设计)数据库(700)最好考虑进行加密,视为一个高度安全保护的区域,进行连续不断的监视,(作为一种优选设计)最好还要选作一个备份区,具体情况请看后面的详细说明。我们可以看到,对数据库的所有访问将受到“监视与捕获系统”的监控,关于这一方面的详细情况,请参看图7中的具体说明。
c.用户界面(103)用来与用户进行交流,让系统得知可接受的行为模式,发现危险情况时向用户发出警告,必要时请求用户的授权认可。作为一种优选设计,最好它还要允许用户查看计算机中任何重要程序和程序组的统计表和行为记录表,这些“重要程序”中包括用户自定义的重要程序和全局性的重要程序,例如被允许访问信道的程序等,统计表和行为记录表中包含各种统计内容,例如其中的一项行为记录,包括统计、检查、和分析正在发送和接收的信息量和数据、正在使用的协议、地址等,用户还可以直接观察和修改授权数据库。在另一个优选的设计中,用户还可以在一定的严格程度范围内选择安全防护软件的安全级别。
安全防护系统还可以包括(其他变化形式的安全防护系统与此相同)一个选择使用的硬件部分(800),其详细情况可以参看图8。这种监视硬件可以向安全防护系统软件报告各种硬件访问情况,包括任何程序访问安全敏感端口(803)和存储器(801)时,系统级上却没有任何反应的事件。
请进一步参看图1,在一个优选的设计方案中,安全防护系统的主要规则和功能如下所述1.在默认的情况下,每个程序(应用软件)只允许在其自然环境中对文件进行访问(包括读取、写入、执行、创建、删除文件等),这里所谓自然环境即程序的安装目录、子目录、和非全局性的共享文件(在这里只能读取)等位置。这样,即使一个应用程序可以在其他应用程序中运行,例如一个Java程序或Active-X程序可以在浏览器中运行,但他们必须与浏览器本身一起,遵守安全防护系统的安全规则。作为一种优选设计方案,用户可以进行预先设置,要求只保护和监视少数几个目录(或者目录组),但在默认的情况下,所有目录均受到监视。在一个优选的设计方案中,如果程序试图安装在任何一个驱动器的根目录内,安全防护系统的用户界面部分(103)将向用户发出警告。如果在这种情况下用户同意程序在这个根目录内安装,那么该程序的自然环境就只限于这个根目录,而不包括其子目录,否则,在这种情况下,安全防护系统对程序分枝的分离规则就失去了任何意义。与此类似,安全防护系统将连续不断地监视并阻截企图通过“直接输入输出端口”访问存储装置(110)的任何程序,遇到此类情况时,系统将向用户发出警告,因为这种访问同样会使程序分枝的分离规则失去任何意义。(可以通过将安全防护系统安装在0环节内,来实现程序分枝的分离,这里的0环节属于英特尔体系结构术语。)这种方法可以看作是对“程序”或“进程”的一种分离方法,但在更优化的设计方案中,是通过程序文件来实现这种分离,让我们以Netscape为例,因为存储器内的两个或两个以上的Netscape复件具有相同的“特许操作权”和相同的定义,所以只有通过程序文件才能进行分离。另一方面,如果有些程序运行的“调度单位”(线程)不同,比如就像Netscape运行Java或Javascript程序一样,那么,它们既可以作为一种“进程”分别处理,也可以通过生成“动态链接库”的文件等进行识别。为什么要对程序进行分隔处理呢?这里可以用一个比喻进行解释,我们可以把计算机比做一个旅馆,计算机内的各种程序比做旅馆内的各种客人,通过比喻我们会看到程序在计算机内随意活动就像客人在旅馆内任意妄为一样荒唐。一个程序随意干扰和控制计算机内其他程序及其数据文件、或操作系统的关键文件,就相当于一位客人在旅馆内任意打扰其他客人一样,一个程序不经授权复制资料、破坏数据、损坏计算机部件,就像一位客人随意偷盗和毁坏其他客人的东西、破坏其他客人的房间一样,例如他还可以随意打开旅馆的保险柜,电子交换台、随意进出电梯控制室、随意使用电话等。本安全防护系统的作用,让我们仍然以旅馆做比喻,就相当于在默认的情况下,将每一位客人限制在自己的房间内,客人不能随便接近旅馆的重要资源,每位客人只有在得到明确许可的情况下,才能够获得额外的特许,才能接近这些资源。
2.在默认的情况下,未经许可,任何程序均不得访问,尤其不得修改和更换敏感区域、文件(请参看后面的有关定义)、或者存储介质(作为一种优选设计,最好尽量包括所有的介质,有时还包括计算机随机存取存储器(112))中的设备驱动程序,安全防护系统是把这些存储介质当作高度安全区域来保护的,这里保存了关键的操作系统文件、INI文件(初始化设置文件)、重要的DLL文件(动态链接库文件)、以及与通信有关的文件(例如Winsock——即WINDOWS下的网络编程接口规范,等)、引导区、文件分配表(FAT)、自动执行批处理文件、配置文件、操作系统的初始化区域、Windows启动目录、基本输入/输出系统(BIOS)、用户自定义的高度安全文件或目录、含有用户要求语言(URL)列表的系统文件(通过用户要求语言列表可以自动下载驱动程序,而不必请求用户许可,就像Windows 2000中情况一样)、与安全防护系统本身有关的所有可执行文件和数据文件、或者任何其他可能会阻止安全防护系统在启动之后正常运行和正确初始化的文件或程序。在一个与此类似的选择方案中,是首先考虑让安全防护系统不断地监视各种程序直接访问操作系统用的硬盘区和交换文件的企图,因为这些访问会打破安全规则,造成各种破坏,例如,在虚拟存储器进行存储交换过程中,当文件在硬盘上进行高速缓存时,不良程序会趁机用“病毒动态链接库”取代正常的关键动态链接库。除此之外,在安全防护系统的保护功能中还可以选择把保护范围(600)扩大到随机存取存储器(112)(如果它们没有得到计算机的操作系统(101)的适当保护)。举例来说,操作系统可能存在某种缺陷,导致称为“系统内部对象名字空间”的一个共享存储区被应用程序随意访问,不良程序会乘机用“病毒动态链接库”名称取代原来的动态链接库名称。此外,在另一个设计方案中,安全防护系统还要确保本身不会被其他应用程序排挤出随机存取存储器,其他应用程序可能会企图压制它。例如,安全防护系统可以不断地检查自己是否已被其他程序排斥出设备描述块(DDB),同时保持把自己放置在该处的首要位置,同时也可以使用图9中描述的关于进行自我保护方法来确保自己的位置。在其中的一个优选设计方案中,安全防护系统尽量将其保护能力扩大到存储器中各种程序的保护(如果操作系统本身没有提供这种保护),防止任何程序在未得到明确授权的情况下,随意访问其他程序的编码或数据、其驱动程序或动态链接库等。
3.此外,作为一个优选方案,还可以考虑让安全防护系统尽量经常地监视上面第二条中描述的高度安全区域,通过为每个需要保护的文件设置一个隐藏的“指纹图谱”的方法,及时发现有无任何可疑变化的迹象,一旦文件发生某种非授权的变化,它将不再与“指纹图谱”相匹配。(作为一种优选设计)最好还要对重要区域设置额外的隐藏加密,并定期更新其备份文件,以便在发生破坏之后,用来恢复被破坏的区域。
4.任何程序在访问(包括发送、接收、收听、连接等)信道(111)(包括IP地址、端口、协议——主要指WINDOWS下的网络编程接口和网络共享设备驱动程序(300)等)时,必须经过用户的许可(除非该程序已经获得了进行这种访问的优先权)。安全防护系统按本规则进行监视,当发现包括来自网络(120)的任何程序以及黑客试图连接至用户计算机时,系统将向用户发出警告并请求用户许可(任何未经预先授权的连接均需请求用户许可),让用户决定是否连接、入站或出站。安全防护系统还可以在网上(120)追踪企图进行这种连接的来源,以便查出网上的攻击到底来自何处。在更为可取的选择方案中,安全防护系统在请求用户许可时,向用户提供更多的有关信息,例如某些程序请求访问信道时,系统不仅向用户提供程序的名称,还提供可执行文件的完整安装路径、程序的大小、安装日期、其他详细信息包括循环冗余码校验、存储段、或者其他标识符等,这样就可以大大减少了一些怀有敌意的程序自动安装在某些目录下的可能性,例如,有的程序把自己安装在某些目录下并自我命名为netscape.exe,使用户无意中打开了连接环球网的通道。为了类似的目的,还可以选择利用安全防护系统的记忆功能,当检测到某个应用程序与安全防护系统数据库中记忆的应用程序名称相同或者类似时,系统可以选择向用户发出警告,这样就可以进一步避免出现混乱。举例来说,如果用户是一个组织,比如该组织想让其系统管理员来控制哪些应用程序可以访问环球网络,那么,该组织内的人员则按照系统管理员制订的规则访问环球网,例如,一位员工每次上网时,(作为一种优选设计)只有在满足系统管理员规定的网络访问条件时,他才能够通过某台计算机,用某个应用程序访问环球网。(作为一种优选设计方案)最好还应当利用各种不同的识别标志来确认访问的程序是经过许可的应用程序,而不是同名的其他可执行程序。识别应用程序有多种方法可供选择,例如,管理员可以通过识别符号来定义应用程序,并将该程序的识别符号不时地传播到组织内的所有计算机,安全防护系统将只允许那些符合这些定义的程序访问计算机系统的信道(作为一种优选设计,这些定义最好用密码进行保护,同时还应当把这些定义存放在一个高度安全的区域内)。在该设计方案的另一个可供选择的变例中,各种要求授权的请求(作为一种优选设计,最好包括应用程序的识别符号)通过安全防护系统直接传播至管理员,甚至并不询问具体操作计算机的员工,(作为一种优选设计)最好是在取得管理员许可之前,安全防护系统将一直阻止该程序的访问。下面是该设计方案的另一个可能的变例,在该变化的方案中,安全防护系统将员工给予应用程序的新授权(至少是对一些重要事务的授权)同时传送到管理员那里,只有在管理员同意的情况下,新的授权才能生效。在该设计方案的另一个可能的变例中,在用户发出的授权中,至少其中的一部分授权应当取得管理员的同意,只有管理员才能通过某种方式,比如通过输入密码等,决定是否给予授权。另一个可能的变例中,把可以访问环球网络或者其他它通信信道的应用程序,只保留在网络中的一台或者数台计算机上,而其它的计算机只能通过本地网络对环球网或其它通信信道进行有限的访问。上面列举的一些可能的设计方案及其变例可以互相结合,同时还可以变化出其它许多不同的设计方案。除此之外,还可以选择让用户来定义一般限制规则,以便限制对那些允许开放的通信信道(111)的访问,同时还可以(作为一种优选设计)限制那些许可使用的协议类型,把计算机当作服务器使用时,这种设计构思是非常有用的,因为在这种情况下,计算机大多数时间是在无人看守的情况下运行的,此外,该设计方案还有一些其他的用途,比如用户希望自动阻止所有程序对通信信道的访问,而系统只需要把这些情况记录下来。另外,考虑到电子邮件宏程序的固有本性,为了增加安全系数,安全防护系统可以优先考虑不断地监视通信信道中电子邮件信息的发送情况,每当任何一个程序(即使是经过授权的程序)向外发送一个或者多个电子邮件信息时,都要请求用户的许可,或者至少(和尤其)在一次大批量连续发送电子邮件时请求用户的许可。在一个优选的设计方案中,安全防护系统通过上述一系列处理过程,逐渐积累并记住用户正常发送电子邮件的各种不同过程、方法和特征,当系统发现有异常情况出现时,(作为一种优选设计)最好选择进行特别阻截(阻止邮件的发送)并将情况通知用户。例如,当通过某个程序(比如outlook express等)正常发送邮件时,与通过其他方式,比如通过outlook express执行的Visual Basic脚本等发送的电子邮件相比,相关的MAPI功能的调出方式以及其他处理过程等,会有所不同。除此之外,由于那些可以访问通信信道的程序(尤其是浏览器与电子邮件程序之类)往往是通过互联网进行恶意攻击的至关重要的连接通道,因此作为优选方案之一,安全防护系统应始终对这一类程序进行更加严密的监视,因此对于这些程序,(作为一种优选设计)用户最好不要让安全防护系统停止询问它们的各种行为的处理方法。关于上面所说的通信信道,从相关的硬件方面考虑,在这里我们举出几个例子,这些硬件包括调制解调器、以太网卡、甚至包括USB(通用串行总线架构),USB可以应用于ADSL(异步数字用户线)的连接,或者任何现有的或者将来可能问世的、可能用来从计算机上向外发送或者接收信息的通信装置。全面覆盖所有的通信信道,对于安全防护系统来说,是极端重要的,因为如果做不到这一点,整个安全防护系统就有可能变得毫无用处。关于上面所说的通信信道,从相关的软件方面考虑,应当包括能够访问上述(可以用于通信的)各种硬件装置的任何一种系统功能,在可以举出的例子中包括TAPI(电话应用程序接口)功能,它可以用来发送传真,如果不加以保护,不良程序可能进行侵害,例如关闭调制解调器的内部扬声器,自动拨号并把窃取的数据以传真的形式发送出去。这种现象同样也适用于访问无线通信信道等情况,例如,“蓝牙”或“红外线”等通信信道,它们也可以用来从计算机窃取信息并发送出去。
5.作为优选方案之一,监视与捕获系统(102)将对计算机内发生的各种事件进行统计和分析,以便熟悉和记忆正常的运行情况,并能够识别出不同于正常情况的较大差异(例如向外发送的数据比正常情况下多许多倍,访问的文件数量比通常多等等)。(作为一种优选设计)最好对那些已获得授权使用通信信道(111)的程序,也要特别关照,不断地统计和分析它们的运行情况,并监视其统计结果和行为模式与正常情况相比是否出现了较大的差异,这样,当这些程序发生异常情况时,例如它们访问的文件数量比平常大大地增加了,或者它们扫描的硬盘区域大大超出了平常扫描的范围(即使用户允许它们超出其本身的自然环境进行这种扫描),或者它们超常量地大批发送数据,在遇到这些情况时,安全防护系统将立即加以阻止,向用户发出警告,同时询问用户是否许可。这一点对于程序运行异常的情况来说,也是很重要的,这些运行异常程序可能在存储器内就已经被损坏了,例如硬件故障导致程序损坏,或者它们由于串溢出而造成崩溃等。
6.安全防护系统尽量监视所有的软件程序直接访问安全敏感装置(例如调解调器、网卡(111)、硬盘控制器等)端口的情况,或它们绕过win-socket驱动程序的情况,因为这一类的访问会绕过操作系统,从而使操作系统对它们失去作用。举例来说,Windows NT只允许安装在“环0”内的驱动程序直接访问这些端口,因此,那些普通的应用于程序是不能访问这些端口的。但是其他版本的windows操作系统就没有这种限制功能,安全防护系统就是要设法为那些没有访问限制能力的操作系统增加这种能力。
7.在安全防护系统自身的安装过程中,如果它怀疑或发现计算机中的各种关键系统文件早已可能感染了病毒,它就会对这些文件进行各种检查。如果遇到这种情况,我们建议,(作为一种优选方案)最好首先重新安装操作系统,然后再重新安装一次安全防护系统。
8.为了解决由可写入共享目录产生的安全问题,例如windows临时区中的安全问题,作为一个优选的方案,安全防护系统可以实行一种全新的概念即建立所谓“虚拟共享目录”。该方法的工作原理是,每当一个可执行程序企图访问该共享目录时,安全防护系统可以给该程序造成一种错觉(作为一种优选功能),显示该程序已经访问过该共享目录,但实际上(作为一种优选功能)它将把这个程序另外导入一个单独的专用子目录中,只有该程序能够访问这个专用目录。与此类似,当一个可执行程序企图访问注册表中的共享键时,安全防护系统也可以给该程序造成一种错觉(作为一种优选功能),显示该程序已经访问过这些共享键,但实际上它将分别把每个程序另外导入各自分开的专用子目录(作为一种优选功能),只有该程序能够访问此专用子目录。安全防护系统还可以创建一个虚拟共享键系统(作为一种优选方案),例如注册组件等,在这种情况下,安全防护系统也将给来访的程序造成一种错觉(作为一种优选功能),使该程序认为已经访问过这些共享键,但实际上每个程序将分别被另外导入相关注册表中与各键相对应的各自的专用文件内。该选择方案可以与其他的规则和功能结合使用,尤其是与规则1结合(关于程序自动分离的规则)使用,其效果用另一句话来说,可以称为“多用自动砂箱”,或者再换句话说,该系统就是把每一个程序限定在各自的“虚拟计算机”内部。
9.作为一个优化设计方案,安全防护系统应尽量地把操作系统或者至少操作系统的一部分,从计算机的“环节0”区(拥有较多特许权)带到“环节1”区(拥有较少特许权),(作为一种优选设计)最好是利用一个附加的组件来实现这一点,该附加组件可以把全部有用的功能转换到“环节1”区运行,而不是在原来的“环节0”区运行。这也是一种堵塞操作系统内任何可能存在的“后门”的一个补充方法。同时,这样也更容易控制对系统资源的访问。虽然这些“环节”属于英特尔处理器的概念范围,但同样的“环节”或同样的概念可能也存在于其他的处理器中。
本安全防护系统在许多方面是特别重要的,例如在高度敏感的编码防盗方面尤其重要,这些高度敏感的编码包括加密密钥、信用卡资料等。这种数字保密只所以如此重要,还因为最近美国立法规定,数字签名的有效性和为此承担的责任应当丝毫不次于亲笔签字。在其他国家,也正在进行类似的立法。该领域中最大的供应商之一曾经宣布,要打破这些数字签名中的私人密钥,几乎需要无限长的时间。但是,他忽略了一个非常简单的事实,那就是要窃取信息资料根本就不需要破解这种私人密钥,因为这些资料很容易窃取,例如,通过电子邮件或网页发送一个特洛伊木马程序,或者利用浏览器或电子邮件程序中的各种漏洞,都可以很容易地窃取数据。由于在任何合同中这种亲笔签字或数字签名是必须的,包括在遗嘱、大笔房地产交易、特别是那些带有不可否认保单的协议,因此有一点非常明确,那就是密钥被窃取造成的损失是巨大的。由于多次出现浏览器一类程序把私人密钥复制和保存下来的事情,密钥在网络上的安全性就显得更让人担心了。通过强化规则管理的方法,例如实行自动分离规则和访问任何通信信道均必须通过用户授权的规则等,就可以彻底解决密钥被盗等问题。但是,对于浏览器一类程序复制和保存私人密钥的情况来说,(作为一种优选设计)最好还要增加额定外的规则,以便能够识别出这些密钥所在的目录,如果不使用这些额外的规则,于浏览器的默认授权就会允许浏览器自动访问这些密钥。另外,作为一种优选设计,最好让安全防护系统得知用户自己正常访问密钥时的习惯方式和特性,这样,当安全系统发现这些特性有明显的异常时,就可以(作为一种优选方案)对异常程序进行特别的拦截并向用户发出警告。即使一些硬件卡,比如智能卡等,也可以用来存放加密密钥,存放在这些地方的加密密钥仍然可以被特洛伊木马等取,例如通过改写能够访问这些卡的程序中的某些部分,或通过监视这些程序在存储器内生成密钥时产生的数据,来窃取加密密钥。例如在蜂窝电话内,即使通常并没有什么复杂的或者敏感的操作系统和系统文件(与Windows操作系统相比),比如它们的操作系统一般都是基于EPROMM之类的操作系统,但安全防护系统和方法的一些基本原理仍然适用于它们。例如1.自我保护原理。例如,在修改基本输入/输出系统的EPROMM时,请求用户的授权,如图9中的方法举例,以及保护系统的关键区域等,都是一些很容易实行的自我保护方法,因为整个操作系统和安全防护系统可以存放在EPROMM或者类似的不容易修改的存储器内。在这种情况下,如果有任何修改EPROMM的企图,均必须请求上述的许可。
2.(作为一种优选设计)最好还要对处理数据的随机存取存储器进行监视,以便防止一些不良行为的侵犯。
3.由于蜂窝电话和其他的移动通讯装置越来越多地应用于商业交易活动,例如通过电子商务站点购买商品、调动资金、以及进行证券市场活动等,在这些活动中,一些安全敏感性编码,例如信用卡数据,特别是私人加密密钥等,都是非常重要的。在此场合,如有任何程序企图以任何方式访问私人加密密钥等涉及安全的行为时,(作为一种优选设计)最好应得到用户的明确许可。在此情况下,(作为一种优选设计)还应要求用户输入密码,这在许多情况下非常有用,比如在电话被盗的情况下。
4.任何自动向外打出电话或自动接听外来电话的行为,(作为一种优选设计)均必须得到用户的明确许可,尤其对于试图多次进行自动拨号的情况,更应征得用户的同意。这样可以防止病毒程序控制电话后,将信息自动散发到不同的地方,还可以防止电话被不良程序利用,例如把电话变成一部间谍装置,把房间内发生的一切记录下来,并在用户毫无知觉的情况下发送出去。
5.在蜂窝电话经常连接到互联网的情况下,例如第三代蜂窝电话就像个人电脑一样,可以非常方便地连接到互联网上,在此情况下,作为安全防护系统的一个优选方案,任何程序在访问互联网时均必须征得用户的同意,如果没有用户许可,任何外来的程序均不得接入内部。
6.任何对附加通信信道,例如蓝牙装置等的非授权访问,均应进行阻截,或者请求用户的许可。
7.随着蜂窝电话、移动电话或其他的电话越来越复杂和越来越“电脑化”,例如电话有的已经装上了掌上电脑装置,电话的特性也就变得越来越像一台普通的个人电脑和它的操作系统,届时安全防护系统和方法也将随着变化,会根据实际要求提供更多的功能和特性。
在下面的图解中,我们将提供更多的详细技术资料。
图1b图中详细地展示了安全防护系统组件之间相互作用的一个优选方案,这里把重点放在用户界面上(最好选择使用图形用户界面),并展示了一个首选的授权许可过程。一旦安全防护系统发现任何一个程序(或者可执行文件)试图表现出该系统所定义的可疑行为或者潜在的危险行为(例如程序的执行范围超出了本身的自然环境,或者试图访问通信信道等),监视与阻截系统(102)将立即阻止该程序(1002)的运行,并请求用户的许可,如果用户当时并不在场,例如就像安全防护系统保护服务器时经常遇到的情况,则这些可疑的行为将被暂时阻止运行,直到用户返回时为止,或者直接阻止运行,只把这些可疑的行为记录(770)下来。至于如何确定具体的处理方式,则取决于安全防护系统所应用的规则(740)或这些可疑或危险行为本身的性质,或取决于用户的定义。作为一种优选设计,对于那些危险程度并不太高的程序行为(1106),安全防护系统将让用户来做出以下决定例如,立即中止该违反规则的程序;只允许访问这一次;不允许该程序访问,但让程序继续运行;从现在开始允许该程序访问,并可以一直有权进行这种访问,或者直到某个阶段为止;以后遇到该程序违反同样的安全规则时完全停止询问用户;以后遇到本目录及其子目录内的所有程序违反同样的安全规则时完全停止询问用户。如果可疑的行为与文件有关,则安全防护系统(作为一种优选设计)将询问用户允许做哪些动作,是允许只读取数据,还是同时允许修改数据等。如果可疑的行为牵涉到通信信道,则安全防护系统也将询问用户,让用户决定,该应用程序可以使用哪一个信道,允许做哪些有关的动作。我们列举的例子(包括所有示意图内的示例)只起一种示范作用,并没有对设计方案进行任何限制。作为一种优选设计方案,为了防止用户粗心大意做出的反应,在默认的情况下,请求用户许可和随后的处理中,应当注意这样一条原则,即把用户的不经意回应造成的危险减少到最低限度。作为一个优选方案,对于那些具有高度危险性的操作和行为(1108),例如格式化磁盘驱动器;大批量删除文件;改变硬盘分区信息;改变引导区信息,在靠近操作系统内核的级上安装驱动程序,访问定义的高度安全区域;在违反了安全规则的可执行程序的自然环境(安装目录)之外修改可执行文件(例如exe文件、com文件、批文件、动态链接库文件、MS-DOC文件MS-XLS文件、或者任何含有可执行指令的文件);重新给上述文件命名;创建新的可执行文件、用点击之后即可执行的应用程序改变文件类型的链接等等,应当向用户发出更加明确的警告(作为一种优选设计,最好对可能发生的结果和原因进行详细说明),同时(作为一种优选设计)最好要求用户对其授权至少重复确认两次。在另一种可选择的设计方案中,所有的用户授权都可以采用这种确认方式——即使那些得到用户许可,能够在其自然环境之外执行的程序,也同样采用这种重复授权方式。作为另一项选择,当向用户请求授权时,安全防护系统同时还要确认,系统得到的回应来自用户,而不是来自其他程序给出的欺骗性回应,欺骗性回应看起来像是用户通过键盘、鼠标、或其他输入装置输入的回应信号,要进行这种确认可以有以下几种方式,例如,可以通过阻止其他程序(那些可以给予回应信号的相关输入装置的驱动程序除外)向诸如存储器中的键盘缓冲器以及鼠标事件缓冲器等处添加数据的方式来做到这一点,或者利用所有的键盘存取和所有鼠标事件的挂钩等方式,来确认来自键盘或者鼠标的数据是否与它们在事件缓冲器中的数据相一致,或者只用能够直接通过这些挂钩功能的指令等,也可以做到这一点。在另一个可能的变化方案中,安全防护系统在等待用户回应的过程中,冻结所有其他的处理进程,或者至少冻结那些高度危险的程序活动。在另一个可能的变化方案中,安全防护系统将利用自己键盘和鼠标驱动器,而不是利用那些正常使用的键盘和鼠标驱动器,但这也有一定的限制,即如果遇到非标准的键盘和鼠标时,这种方法就会出现麻烦。在另一个可能的变化方案中,使用一种轻便的键盘和鼠标,键盘和鼠标带有加密功能,(作为一种优选设计)还可以带有日期和时间戳功能,比如就像与管理员计算机通信一样,关于这一方面还可以参看下面的有关解释。除此之外,作为设计方案的一种选择,安全防护系统还可控制对事件、目标(例如编辑框等)的访问,以及控制对程序存储器(包括shell32.dll命令解释程序动态链接库、user32.dll用户系统评价程序动态链接库、gdi32.dll图形设备接口动态链接库,这些程序都与Windows操作系统的用户界面有关,例如当使用“打开文件对话框”时,就会用到这些程序)的访问,使这些程序不会生成“虚假事件”(例如,当显示自动按下OK键时,实际上并没有人按下该键)或者产生其他错误,例如通过存储器直接存取方式来改变含有文件名称的输入行。作为类似设计方案的一种选择,上述方法或者与此类似的方法也可应用于其他系统,例如应用于使用语音指令的系统。在另外一个设计变例中,在请求用户授权时,至少其中的部分授权(例如对那些具有高度危险性的程序的授权)要求用户输入密码,这样做还可以减少其他人随意给予授权的可能性,例如当用户临时离开计算机时,可能会发生这种情况。当然,上面所述的各种方法可以互相结合使用。除此之外,还有许多其他可供选择的方法,就像图4中举出的例子一样,作为一个可供选择的方案,安全防护系统还可以辨别出,是用户还是应用程序发出了一个具有潜在危险性的指令,例如,当一个程序在其自然环境之外对一个文件进行访问时,该程序还没有获得特许权,如果允许进行这种访问指令是由用户直接发出的,而不是通过应用程序发出的,那么,就会使安全规则过于有弹性,降低了规则的限制能力(或者变得没有限制)。在用户自己直接发出指令时(例如在程序活动不存在高度危险等情况下用户可以直接发出指令),安全防护系统的辨别能力还可以使用户省去确认的步骤。另外,为了使授权变得更加可靠,(作为一种优选设计方案)安全防护系统最好应当防止产生一种假象,这种假象看起来好像用户通过某种方式,例如似乎在键盘上键入了某些信息,从而发出了指令,或者通过上述任何方式发出了指令。作为一种优选设计,可以通过更新的方式对那些高度危险的程序活动使用附加的定义。但是,为了避免系统发出不必要的多重警告,例如当程序进行自我安装的时候,(作为一种优选设计)安全防护系统最好用一种更加巧妙的方式来处理程序的安装过程,它将把程序的整个安装过程当作同一个活动范围来看待,另外当一个新的程序自行安装时,(作为一种优选设计)安全防护系统最好能把该程序创建了哪些文件记录下来,这样,将来更容易识别出哪些文件是与该程序有关的文件,即使这些文件在另外的区域,仍然可以把它们识别出来。(作为一种优选设计)安全防护系统最好能在程序安装过程中分析该程序在共享动态链接库中导入了哪些功能,这样就可以尝试预期它将来的行为特性和它有什么样的需求。因此,作为一个优选方案,最好在安装了操作系统之后,再紧接着安装安全防护系统,然后才安装其他的程序。(不过,正如前面已经讲过的,安全防护系统也可以监视比它安装得更早的程序)。为了更好地发挥安全防护系统的作用,提高工作效率,在一个组织内的多台计算机之间,(作为一种优选方案)最好先用一台计算机“得知”每一个程序的所有的分离规则和环境参数,然后再将得知的这些知识传授给本组织内其他所有的计算机。对于接受这些知识的其他计算机来说,其内部程序哪一个是先安装的,和哪一个后安装的,并无关紧要。就像图1中的功能4所列举的情况一样,如果用户是一个组织(举例来说),而该组织又想让系统管理员(举例来说)控制一些重要的权限,或者让他来控制所有的权限,或者(举例来说)还让它控制一些高度危险的程序活动,那么,作为一种优选设计方案,由安全防护系统(举例来说)提出各种授权请求,甚至所有的授权请求都直接提交到系统管理员那里,而不再询问具体操作计算机的工作人员,或者把授权请求既发送给系统管理员,同时又会送给操作计算机的工作人员,或者(举例来说)自动阻止这些危险程序的运行,直到它们符合由系统管理员预先确定的许可定义为止(管理员随时都可以根据需要,很方便地对这些定义进行更新),阻截这些程序的方法,请参看功能4中列举的有关例子中描述的情况。同时,(作为一种优选设计)最好使一台或多台计算机上已经得知的一些信息,例如参数或可疑行为信息,能够复制到其他的计算机上,让其他计算机直接掌握。在一个优化的设计方案中,所有与管理方(例如与管理员的计算机)进行的通信,均必须进行保护和加密,同时还可包含(作为一种优选设计)准确的时间和日期戳等授权信息,这样可以防止不良程序有隙可乘,举例来说,试图发出虚假的授权,或者通过重新利用旧的真实授权信息来产生新的虚假授权信息。此外,(作为一种优选设计)这种通信最好使用特定的安全协议,而不是使用操作系统的正常网络设备驱动程序和协议。还可以通过加强整体政策的方法来实现这些目的,这样该组织能够很容易做出决定和制订出加强安全管理的办法,比如,只让某些程序在所有计算机上或者部分计算机上运行,或者只让某个程序在所有的计算机上或部分计算机运行哪一些功能等。上面提到的各种不同的选择方案,可以看作是专利项目的各种不同的具体化实施方案,有些设计方案可以分别生产出不同的产品,而另一些设计方案可以作为同一产品中所含有的不同功能选择。作为一种优选设计方案,在一个组织内部,对于每台计算机来说,使用计算机的具体工作人员与系统管理员(或其他管理人员)对它的控制级别可以各不相同(作为一种优选设计),它们可以单独地各自对计算机进行控制(作为一种优选设计)。
授权数据库的查看和修改,作为优选方案的一个例子,是利用表格的形式进行操作,表中列出那些得到用户授权可以访问信道的程序名称和它们可供选择的各种识别符号,(作为一种优选设计)最好到要列出哪些程序可以访问哪些信道,哪些程序可以超越它们自己的自然环境,哪些程序拥有其他程序在正常情况下所没有的特许权,列出它们获得的特许权的具体内容。有些活动行为的禁止,可能是针对任何应用程序的,例如中断键盘装置的操作,以便企图控制键盘之类的行为。(作为一种优选设计)该表内最好还应列出其他有关信息,包括每个程序的表现行为的各种统计资料,就像前面曾经提过的一样。在一个组织内部,如果计算机的大部分控制都掌握在系统管理员一个人手上,则(作为一种优选设计)可以把安全防护系统安装在每一台计算机上,每个系统都拥有一个相同的授权数据库表,并拥有一个相同的数据库,但是,系统可以限制工作人员控制范围,确定哪些控制权不需要系统管理员的许可。在这样一个中心组织内部,(作为一种优选设计)把安全防护系统安装在每一台计算机上,每个系统都拥有一个相同的授权数据库表,但(作为一种优选设计)系统管理员的计算机上所使用的授权数据库表还含有额外的信息和控制权,例如包括本组织的计算机系统内连接的各台计算机的信息,(作为一种优选设计)最好每台计算机都有一个不同的标识符,并且(作为一种优选设计)在表中还可以列出每台计算机的表现特性的额外统计资料,这样,(作为一种优选设计)每当系统中有一台计算机表现出与平时大有偏差的异常行为时,例如出现异常的磁盘活动情况,或者出现异常的通信信道活动情况,系统就会向管理员发出警告。同时(作为一种优选设计)最好还要把这些数据记录下来。作为一个优选方案,系统管理员使用的计算机和工作人员使用的计算机之间的通信,最好也要进行加密和保护。除此之外,(作为一种优选设计)系统管理员使用的计算机上的安全防护系统应当经常不断地向系统内其他计算机发送短的通信信号,间隔较短时间就要发送一次,以便当系统内有任何一台计算机发生损坏或者出现故障不能运行时,能够及时地发现,上面所说的短通信信号(举例来说)可以含有特殊编码,该编码内含有通向系统内部每台计算机通信信道的钥匙,只有每台计算机上安装的正常运行的安全防护系统,才能对编码给予正常响应,各计算机将根据本身的安全防护系统的运行情况,即运行正常或异常(异常反应包括诸如计算机从软盘启动而不是从硬盘启动等情况),分别给予不同的响应,或者没有任何响应,例如在计算机关闭的情况下。除了上述各设计方案之外,在另一个可能的变化方案中,如果一个组织内部的计算机对互联的访问进行了如下设置只有一台或几台计算机作为中心网关(可以是系统管理员的计算机,或者是单独分开的其他计算机),并与环球网连接,与图13中所展示的情况一样,而(举例来说)本系统内的其他计算机都没有独立的调制解调器,只装有一块网卡(举例来说),这种设计方案也是加强计算机网络安全控制的一种方法,这对于堵塞操作系统本身可能存在的漏洞,会起到一定的作用。在这种情况下,(作为一种优选设计方案)所有的通信信道都通往系统管理员计算机,每台计算机上的安全防护系统(作为一种优选设计方案)最好都要不间断地(或间隔时间很短地)向系统管理员计算机的安全防护系统报告这样一些信息,例如有多少数据已经允许从该计算机的通信信道中发送出去等,系统管理员计算机上的安全防护系统可以(作为一种优选设计方案)观察每台计算机上的数据通信情况,一旦发现某台计算机的发生的实际数据通信量,与该计算机的安全防护系统报告的情况不相符,那么,系统管理员计算机的安全防护系统将立即或经过较短时间之后阻止该计算机的异常数据通信。为了计算出每台计算机实际上发送了多少数据,系统管理员计算机的安全防护系统可以自行检查包标题(举例来说),或者使用网关计算机上的防火墙服务功能(如果已经开启了这种防火墙功能),或者利用其他的路径信息,了解发送出去的信息到底来自哪些计算机。这项功能是非常重要的,它可以独立地应用于其他方面,例如,它可以用来找出实际发送的数据量与报告的数据量之间的差别,到底出在哪个地方,即使操作系统的拨号器(举例来说)报告的数据输出量与实际输出量之间的差别,它也可以查找出来。当然,一位计算机系统内可以有一个以上的系统工程管理员。另一个不同的变化方案是,每一台计算机(或者一组计算机)使用一个调制解调器(举例来说),或者一个网卡,或者其他通信装置(请参看图1中的111),这些通信装置至少能够监视向外发送的数据量,并且(作为优选方案之一)最好能够向计算机的安全防护系统报告实际向外发送的数据量,这样,(作为首选设计方案)一旦实际发送的数据量与该计算机的安全防护系统报告的发送量不相符,通信将立即被阻止,同时向用户发出警告。(上面所说的阻止通信,可以选择由安全防护系统来完成这项工作。但也可以选择通过其他方式来完成这项工作。例如可以通过通信装置本身来阻止通信的继续进行,或者通过组织内部的网关计算机来完成这项工作,网关计算机是系统内所有计算机通信的必经之路)。上述设计方案的优点是,它也可以适用于单台计算机,或者未使用中央控制系统的小规模计算机组,当然它也适用于拥有中央控制系统的组织内部的计算机网络。还有,上述系统的监视功能可以单独应用于其他方面,当实际发送的数据量与报告的发送量,甚至包括操作系统的拨号器报告的发送量不相符时,他可以用来检查问题发生在何处。上述设计方案的另一个可能的变例是,与报告发送的数据量相似,同时也报告接收的数据量。上述设计方案应用于组织内部的计算机系统时,还有另一个可能的变例,就是在遇到发送数据量可疑的情况时,(除了报告给计算机操作人员之外)通信装置将同时把情况自动地报告给系统管理员,或者只报告给系统管理员。
图2展示的是监视、检查、和授权访问计算机存储功能的优选设计方案。在这里,访问存储功能是为了进行与磁盘有关的操作活动(201)(例如打开文件,读取文件,写文件,修改文件,读取磁盘,以及磁盘格式化等操作活动)。首先可以选择在存储功能中确定一种适当的访问方式(202)(包括读、写、以及询问等),然后,安全防护系统将查找调用程序的身份识别信息(203),从数据库(700)中查找相关的信息资料,如果需要,还可以查找要求使用的“文件行动参数”(204)(例如文件名称、路径名称等等)。然后对这些参数进行跟踪(211),如果需要,相关的部分可以保存在数据库(700)内,以备将来使用(例如将来作统计之用)。如果必要,还可以访问数据库(700)中的规则设置,以便查看一下目前的操作行为是否得到了许可,答案中的数据源是否授权阻止电脑黑客对安全防护系统(207)的侵扰。(举例来说,当一个程序在自己的自然环境中存取文件时,并没有必要访问数据库)。另外,(作为一种优选设计)安全防护系统最好分析一下,该操作活动到底是由用户启动的,还是由应用程序启动的,就像图1b中所示的情形一样。如果发现有类似黑客的侵扰活动,安全防护系统将进入特定的中止程序(1001)。如果答案中的数据源证实这种活动确实来源于数据库,安全防护系统将检查这种程序活动是否已经得到许可。如果发现该程序活动没有得到许可,安全防护系统则可以(举例来说)询问用户是否许可,或者直接终止该进程,或者告诉该程序某个目标并不存在,或者告诉它其请求已经得到满足(实际上什么也没有做),或者当用户给予否定回答时,执行上面这些操作过程,或者选择采取其他行动,或者(作为一种优选设计)也可以依据用户(1002)希望看到的情况进行处理。如果该程序经过授权,将通过数据库进入到原始关联功能(212),如果需要,数据库将更新并存入新的授权数据。与前面讲过的一样,必须注意到本示意图和其他的示意图一样,尤其是流程图,只是列举了一些普通的例子,它们并不是固定不变的,例如可以采取各种不同的步骤对它们进行修改,或者也可以按照不同的顺序重新组合。
图3展示的是监视、检查、和授权访问计算机通信功能的一个优选设计方案。访问通信功能是为了进行与通信有关的活动(301)(例如打开连接,关闭连接,发送信息、接收信息等操作活动)。首先可以选择在通信功能中确定一种适当的访问方式(302)(包括发送信息、接收信息等),然后,安全防护系统将查找访问者(调用程序)的身份识别信息(303),从数据库(700)中检索相关信息资料,并查找要求使用的“通信行动参数”(304)(例如称号标识符、地址、协议等等)。然后对这些参数进行跟踪(311),如果需要,相关的部分可以保存在数据库(700)内,以备将来使用(例如将来作统计之用)。如果有可能,(作为一种优选设计)安全防护系统还可以分析,该访问活动是由用户启动的,还是由应用程序启动的,如果需要的话,还可以访问数据库(700)中的规则设置,以便查看一下目前的操作行为是否得到了许可,答案中的数据源是否授权阻止黑客对安全防护系统(307)的侵扰。如果发现有类似黑客的侵扰活动,安全防护系统将进入特定的中止程序(1001)。如果答案中的数据源证实这种活动确实来源于数据库,安全防护系统将检查这种程序活动是否已经得到许可。如果发现该程序活动没有得到许可,安全防护系统则可以(举例来说)询问用户是否许可,或者直接终止该进程,或者告诉该程序某个目标并不存在,或者告诉它其请求已经得到满足(实际上什么也没有做),或者当用户给予否定回答时,执行上面这些操作过程,或者选择采取其他行动,或者(作为一种优选设计)也可以依据用户(1002)希望看到的情况进行处理。如果该程序经过授权,将通过数据库进入到原始关联功能(312),如果需要,数据库将进行更新并存入新的授权数据。
图4展示的是监视、检查、和授权访问计算机注册表功能的一个优选设计方案。这种访问是为了进行与注册表有关的一些操作活动(401)(例如写、读以及修改等操作活动)。首先可以选择在注册表功能中确定一种适当的访问方式(402)(包括读取、写入等),然后,安全防护系统将查找访问者(调用程序)的身份识别信息(403),从数据库(700)中查找相关信息资料,并查找所要求的“注册表行动参数”(404)(例如键、值等等)。然后对这些参数进行跟踪(411),如果需要,相关部分可以保存在数据库(700)内,以备将来使用(例如将来作统计之用)。通过访问数据库(700)中的规则设置,查看目前的活动行为是否得到了许可,答案中的数据源是否授权阻止黑客对安全防护系统(407的侵扰。如果发现有类似黑客的侵扰活动,安全防护系统将进入特别中止程序(1001)。如果答案中的数据源证实这种活动确实来源于数据库,安全防护系统将检查这种程序活动是否已经得到许可。如果没有得到许可,安全防护系统则可以(举例来说)询问用户是否许可,或者直接终止该进程,或者告诉该程序某个目标并不存在,或者告诉它其请求已经得到满足(实际上什么也没有做),或者当用户给予否定回答时,执行上面这些操作过程,或者选择采取其他行动,或者(作为一种优选设计)也可以依据用户(1002)希望看到的情况进行处理。如果该程序活动经过授权,它将通过数据库进入到原始关联功能(412),如果需要,数据库将更新并存入新的授权数据。
图5展示的是操作系统(501)在装载任何一个可执行文件时,可能会出现的一种情况。安全防护系统发现了这种情况,在该文件开始执行之前,对它进行检查。此外,在该文件的“早期阶段”(请参看图2),如果安全防护系统允许对该文件进行访问(如果format.安全防护系统将跟踪文件参数和相关的数据(502)(例如进程标识符(PID)、调度单位、分配的存储器等),以便对它们进一步应用,如果有必要,把它们保存在数据库(700)中,然后通过有关的参数。
图6展示的是监视、检查、和授权对计算机的存储功能进行访问的一个优选设计方案。在这里,访问存储功能是为了进与存储器有关的操作活动(601)(例如读取、写入等操作活动)。访问时,全防护系统将检索访问者(调用程序)的身份识别信息(602),从数据库(700)中查找相关信息资料,获取其组件(如程序库等)及其自行分配的存储器(包括物理存储器和虚拟存储器等)(603),并检查该活动进程是否超出了存储器的边缘(604),如果已经超过了它,还可以查找要求使用的“文件行动参数”(204)(例如文件名称、路径名称等等)。然后对这些参数进行跟踪(211),如果超出了存储器的边缘,安全防护系统(举例来说)可以请求用户许可,或者可以或者告诉它请求的事项已经完成(实际上什么也没有做),或者当用户给予否定回答时执行上面这些操作过程,或者选择采取其他行动,或者(作为一种优选设计)也可以依据用户(1002)希望看到的情况进行处理。否则,它可以通过参数进入到原关联功能(605),可使该功能在最大程度上发挥作用,因为它在许多操作系统中受到限制或者受到部分限制。如果需要,图8中描述的供选用的硬件可以应用于本设计方案。
图7在这里我们展示了安全防护系统数据库的首选主要组件和方法。数据库或者数据库的一部分位于存储器和存储区内。对数据库的任何访问均须经过加密过程(701),并经过数据源(702)的识别过程。同时还需要检查身份验证(703)信息。如果发现有类似黑客的侵扰活动,程序将进入特别中止进程(1001)。如果该访问活动得到确认,数据库将在记录档案(740)中设置和检索有关信息,该记录档案中可能含有统计数据方面的记录(751)、进程标识符(PID)、补充记录(760)、活动记录(770)、和安全规则(740),在安全规则内,(作为一种优选设计方案)可以含有下面一些信息文件记录(741)、网络记录(742)、注册表记录(743)等。每个规则记录组内含有以下信息得知的用户习惯规则、预分配的习惯规则、默认规则、变量参数(如上面所述)。如果发出的请求是关于存储数据的,则该请求将执行并返回至访问者(调用程序)(706)(这是安全防护系统的一种内部功能)。如果发出的请求是关于检索信息的,则可以选择下面的功能数据库将持续跟踪统计数据并进行分析(707)。如果安全防护系统发现程序活动中有任何可疑的变化,则在回应访问者(调用程序)的答案中,给予否定的应答,同时还要给予适当的解释(710)(当处理不属于安全防护系统数据库内部的信息时采用这种处理方法,例如进程标识符PID-752等),在其它情况下,可把从数据库检索到的结果作为回应答案。
图8另一个可能的变例是,安全防护系统还可能含有一个可供选择的硬件部份(800),该硬件用来组合(804)或固定(805)监视硬件的端口访问(803)、直接存储器存取(DMA)(801)、中断请求信号(IRQ)(802)等,监视硬件主要监视对存储装置(尤其是硬件驱动器)的访问,以及对网络硬件(例如调制解调器、网卡等)的访问。(作为一种优选设计)监视硬件最好配备一个信息传输接口(811),用来将信息从安全防护系统软件(104)传送到上述硬件(800)(例如可以通过访问上述硬件部分(800)上的读、写端口来传送信息),和用来向安全防护系统软件(104)进行即时反馈(例如可以通过访问上述硬件成分(800)上的读、写端口,中国通过决议中断等,进行即时反馈),这样,经过内置的本地数据库(806)定义的任何事件,都可以报告给安全防护系统软件(104)。硬件监视与软件监视之间的“事件”比较,可以选择由硬件部分(800)来完成,也可以选择由安全防护系统(104)的软件部分来完成,或者可以选择由两者共同来完成。如果硬件部分(800)或者安全防护系统(104)的软件部分发现有未知的程序访问上述监视硬件,且这些访问与最高系统级上的事件之间没有明显的对应,就像安全防护系统软件(104)所监视到的情况一样,那么该事件将会被阻止,同时把情况报告出来。对这一类不明事件的阻止和捕获,使安全防护系统能够进一步关闭操作系统中仍然存在的漏洞,和可能覆盖连接代理程序的那些程序中的漏洞,最终可能会堵住操作系统中的事件“后门”(如果操作系统存在后门)。
请参看图9,我们在图中展示了一种由我们首选的自我保护方法。当安全防护系统的任何一部分被调用(901)时,将会在每个定义时间(902)之内,对安全防护系统文件的完整性(903)和它的运行功能(如在图1中描述的一样)的统一性(904)进行常规性检查。如果发现存在任何偏差(905),就会将异常情况通知用户,使用户能够完全理解目前发生的状况,同时进行自我保护,阻止异常活动,并做出报告(1001)。除此之外,为了在存储器内进行自我保护,作为一个优选的设计方案,安全防护系统最好在物理存储器内定义一个区域,在该区域内,不允许任何其他的程序访问,只有受到限制的几个访问通道除外(例如,当访问其中的一个中心系统关联功能时),对该存储区域的任何其他访问,例如进行读取和写入时,将会导致中央处理器(CPU)的异常反应,中央处理器将控制结果传送给安全防护系统。通过以上过程,安全防护系统可以知道是中一个应用程序在对它进行“攻击”,安全防护系统会根据需要(作为一种优选设计)采取“反黑客”措施,例如,禁止程序发动“攻击”的部分运行,或结束整个进程,或者摧毁该程序的运行环境。
请参看图10,我们在图中展示了一种由我们首选的拦截过程和方法。在该方案中(作为一种优选设计)使用两个拦截路径第一个拦截路径属于普通拦截路径(1002),当一个可执行文件试图进行非授权活动时,可使用该拦截功能,在这种情况下,(作为一种优选设计)它可以将问题通知用户(1101)(如上面所述),阻止参数接近原函数(1006),并采取其他措施,例如可以通知原调用程序(请求调用该函数的那个程序),告诉它原函数已经损坏。第二个拦截路径属于自我防护拦截路径(1001),当安全防护系统发现有任何来自攻击性程序或者电脑黑客的入侵时,可使用该拦截功能,在这种情况下,(作为一种优选设计)它可以立即终止攻击性程序的运行(1007)(例如把它从存储器内卸载等)(由于操作系统的不同,终止程序运行的方法也可能各不相同),通过修改数据库(700),根据具体情况将攻击性程序及其文件标示出来(1009)(例如不允许访问它们等)。进行自我检查(1009)(如图9中所述的情形),如果安全防护系统受到了危险侵害(1010),它将开始进入应急恢复程序(1011)(例如重新安装、关闭组件、重新加载等)。如果安全防护系统未受侵害,它将继续进行监视(1010)。虽然从示意图中看起来,在某些情况似乎无限循环式地发生,但实际上并不会出现这种情况,只是因为示意图是简化的,所以看起来才出现这种效果。
请参看图11,我们在这里展示了一种优选设计方案的图解,在该方案中程序可以分离和控制。当一个程序(1111)试图访问其他程序或其他程序的自然环境时(1113),或试图访问可能比较重要的系统资源(1114-1124)时,它必须通过安全防护系统的拦截与判断引擎,在这里,它实际上被包围在一个虚拟环境和虚拟计算机内。有一点必须注意到,这里的图解仅仅是列举出来的一个可能的设计方案范例,实际上并不一定要把这些功能全部用上。(类别1122-其他-指其他可能的资源,例如与其他操作系统或其他中央处理器有关的资源)。关于本概念的具体化设计方案,还有一个较为极端的变例(也可以参看图12),例如,每当安装一个新的程序时,都会使新程序产生一种错觉,使它认为计算机上除了该程序本身、操作系统、和计算机上允许它看到的资源,再没有其他任何东西。这样的结果是,只有用户自己和某些程序,例如Windows资源管理器的相关组件,以及具有特许权的程序(这些特许权是用户或者预先定义的规则明确和特别授予的)才能看到真正实际的目录结构。这些特许权既可以授予整个程序,也可以授予整个程序中的一个“程序段”,或者授予其中的一个组件,这样可以使资源管理器中与屏幕处理相关的部分(举例来说)不必获得特许权即可以访问目录系统。这可以进一步限制各种应用过程(举例来说)等对系统造成的损害程度。该设计方案将产生这样一种效果好像存在无限个新安装的计算机,每个计算机都带有一个干净的和新的操作系统,每台计算机只运行一个程序,例如,一台计算机运行Internet Explorer,另一台计算机运行WindowsWord,第三台计算机运行DOOM II,等等。在本具体化实施方案中,作为一种优选方法,最好是在安装操作系统之后,第一个就要安装安全防护系统,安全防护系统可以优先考虑主要依靠鉴别行为来源的方式工作,即识别出每一个安全敏感行为是来源于用户,还是来源于程序,以便能够自动地决定是否允许它继续运行。为了使本设计方案在组织内部的计算机系统内达到更高的效率,(作为一种优选设计)最好首先用其中的一台计算机(举例来说)掌握每个程序的全部分离规则和虚拟环境参数,然后有用这台计算机将得知的知识传送给本组织内部的所有计算机,通过这种方式,其他的计算机就不必在安装其他的应用程序先安装安全防护系统了。
请参看图12,我们在这里展示了一种更为极端的具体化设计方案实例图解,在该方案中,每个程序都放在虚拟环境的一个“气泡”内,在这种情况下,每个应用程序只能看到它自己(2001),除了其虚拟环境之(2002)外,看不到其他程序。在每个程序可以看到的虚拟环境内,含有操作系统和允许该程序看到的其他资源。只有在得到用户明确授权的情况下,“气泡”内的程序才能看到其他程序或其数据,才可以访问其他系统资源。
请参看图13,我们在这个实例图解里面,展示了一种优选配置方案的可能的变例,在本配置方案中,一个组织(3001-3005)内部的每一台计算机都单独拥有自己安装的安全防护系统。这些计算机均通过组织内部的中心管理计算机(例如系统管理员(3010)的计算机等)连接到互联网(3020),(或者通过其他网关计算机连接到互联网,网关计算机将向中心管理计算机提供每台计算机实际数据发送量等方面的信息),这些计算机都单独安装了自己的安全防护系统,因此,中心管理计算机上的安全防护系统还可以检查其他计算机的通信情况,如果发现计算机的实际通信信息量与该计算机的安全防护系统报告的信息量不相符,将对通信进行拦截,就像图1b的说明中描述的一样。
在这里只是通过数量有限的具体实例对本发明进行了描述,实际上在本发明概念的范围之内,还有更多的变化方案、修改方案、扩充设计、应用实例,所有与本发明概念明显类似的设计方案,均属于本发明的范围。
权利要求
1.一种计算机安全防护系统,能够使程序进行自动分离。
2.权利要求1所述的系统,能够监视和得知一个计算机系统内的操作系统和软件程序的表现行为,并实施的基本安全规则,以便使用户能够减少其计算机被侵犯的可能性,所述的系统由以下各部分构成a.监视与捕获系统;b.安全规则数据库,该数据库至少由以下各部分组成一套默认规则、一套预先分配的习惯规则——这些规则能够适用于大多数用户所使用的操作系统、以及习惯的用户附加规则;c.用户界面,系统可以通过用户界面用户与相互交流,以便能够得知可接受的行为模式,并将检测到的危险情况告诉用户,必要时等待用户的授权。
3.权利要求2所述的系统,其中所说的三个主要组成部分为a.监视与捕获系统,用于不断地监视计算机系统的安全敏感组件、所有相关外围设备、尤其是存储装置和通信装置等方面的安全性。检测和有选择性地拦截任何可疑和危险的程序行为,并根据默认的和习惯的安全规则处理上述可疑和危险程序,无论何时,当需要时,将请求用户的授权和指导,与所述系统有关的文件作为高度安全区域受到不断监视;b.安全规则数据库,主要由以下各部分构成一套默认规则、一套预先分配的习惯规则——这些规则能够适用于大多数用户所使用的操作系统、以及习惯的用户附加规则,上述数据库作为高度安全区域受到不断监视;c.用户界面,可以与用户进行相互交流,至少应具有以下功能得知可以接受的行为模式,将检测到的危险情况告诉用户,需要时,等待用户的授权,使用户能够查看和修改授权数据库。
4.权利要求3所述的系统,其中所说的用户界面至少还具有以下功能当遇到潜在的高度危险情况时,能够更加明确地向用户发出警告。
5.权利要求3所述的系统,其中所说的数据库至少还要包含连续得知的用户计算机上的程序的正常与合理的行为规则的统计数据。
6.权利要求3所述的系统,其中所说的用户界面至少还允许用户查看重要程序的活动行为统计数据,尤其是那些允许访问通信信道的程序行为的统计数据,特别是通过通信线路发送和接收数据的情况。
7.权利要求3所述的系统,其中所说的数据库至少还要包含一个系统与用户问答记录表,表内记录系统向用户询问的问题和用户对询问的回答内容,该记录表至少应保持一段时间。
8.权利要求3所述的系统,其中所说的数据库至少还包含一个可疑行为记录表,需要时,可以在表内记录系统检测到的所有可疑行为,该记录表至少应保持一段时间。
9.权利要求3所述的系统,其中所说的安全防护系统所具有的安全规则和作用至少应由包括以下各部分a.不断监视计算机系统的安全敏感组件、各种相关的外围设备、尤其是存储装置和通信装置的安全状况,检测任何可疑和危险的情况,并选择性地对可疑程序活动加以阻截,系统将根据默认的和习惯的安全规则采取具体行动;b.在默认情况下,对程序进行自动分离,将程序限制在各自的自然环境中;c.当遇到影响安全的情况时,尤其当任何程序初次访问通信信道时,向用户发出危险警告;d.使用户能够请求立即对危险程序进行拦截,当发现来自网络的任何外部程序企图通过通信信道连接用户的计算机时,立即向用户发出警告;e.当遇到任何具有高度危险性的程序活动时,应立即对程序加以拦截,并向用户发出明确的警告。
10.权利要求9所述的系统,至少还包括当遇到重大统计差异时,应立即通知用户,该统计差异是指应用软件和操作系统的行为与正常情况相比发生了重大变化,尤其是数据通信方面发生的重大变化,例如突然大量地向外发送数据。
11.权利要求9所述的系统,至少还包括当需要时,用户能够请求对那些允许开放的通信端口加强总体限制,并能够对许可使用的协议类型进行限制。
12.权利要求9所述的系统,至少还包括系统能够尽量多地监视和拦截那些企图获得直接访问权,以便可以直接访问安全敏感装置端口的程序,尤其企图直接访问存储介质和通信信道的程序。
13.权利要求9所述的系统,至少还包括系统能够在存储介质上创建虚拟共享数据区,例如临时文件和注册表访问键,以便给程序造成一种错觉,使它认为它正在访问共享数据区,但实际上每个程序都被引导至各自的一个专用区,这些专用区互相分隔。
14.权利要求9所述的系统,至少还包括系统应能够将操作系统或者至少其一部分,从拥有最大特许权的处理器环节中,转移到拥有较少特许权的处理器环节中,以便在上述拥有较少特许权的处理器环节中启动拦截与捕获功能,从而有可能堵塞操作系统本身存在的漏洞。
15.权利要求9所述的系统,其中所说的监视与捕获系统还应包括一个监视硬件部分,用来监视计算机信息通路上的硬件访问,该装置含有一个双向通信接口,用来与安全防护系统的软件通信,拥有这种功能以后,安全防护系统就可以发现任何程序企图访问安全敏感端口,尤其是存储介质和通信信道,却在系统级上没有明显反应的现象,就像安全防护系统的软件所监视到的情况一样。
16.权利要求9所述的系统,其中所说的默认情况下的程序自动分离功能应当达到以下要求即在默认的情况下,每个程序只允许在它自己的自然环境内访问文件,访问内容包括读文件、写文件、执行文件、创建文件、删除文件等,所谓其自然环境,主要是指它的安装目录、子目录,对于无关全局的共享文件,它只能通过只读方式进行访问,除非它得到更多的授权。
17.权利要求9所述的系统,其中所说的计算机操作系统和使用,是按照个人计算机进行配置的,主要用作个人计算机。
18.权利要求9所述的系统,其中所说的计算机操作系统和使用,是按照网络计算机进行配置的,主要用来做网络服务器。
19.权利要求9所述的系统,其中所说的计算机是指一种电脑化的装置,例如蜂窝电话、掌上电脑、汽车用计算机等。
20.权利要求3所述的系统,其中高度安全保护区也要进行加密。
21.权利要求3所述的系统,其中高度安全保护区也进行自动备份,至少多备份一个区域,以便增加额外的安全。
22.权利要求20所述的系统,其中高度安全保护区也进行自动备份,至少多备份一个区域,以便增加额外的安全。
23.权利要求3所述的系统,其中所说的通信信道还包括USB接口。
24.权利要求3所述的系统,其中所说的通信信道中还包括无线通信装置,例如“蓝牙”装置等。
25.权利要求3所述的系统,其中所说的协议中同时还包括发送传真的协议。
26.权利要求9所述的系统,其中高度安全保护区也要进行加密。
27.权利要求9所述的系统,其中高度安全保护区也进行自动备份,至少多备份一个区域,以便增加额外的安全。
28.权利要求26所述的系统,其中高度安全保护区也进行自动备份,至少多备份一个区域,以便增加额外的安全。
29.权利要求9所述的系统,其中所说的通信信道中还包括USB接口。
30.权利要求9所述的系统,其中所说的通信信道中还包括无线通信装置,例如“蓝牙”装置等。
31.权利要求9所述的系统,其中所说的协议中同时还包括发送传真的协议。
32.一种计算机安全防护方法,能够对各程序进行自动分离。
33.权利要求32所述的方法,能够监视和掌握一个计算机系统内的操作系统和软件程序的表现行为,并能够实施基本安全规则,以便减少用户及其计算机被不良软件程序侵犯的可能性,所说的方法包括以下步骤a.提供一个监视与捕获系统;b.创建一个安全规则数据库。该数据库至少由以下各部分组成一套默认规则、一套预先分配的习惯规则——这些规则能够适用于大多数用户所使用的操作系统、以及习惯的用户附加规则;c.提供一个用户界面,以便与用户相互交流,以便能够得知可以接受的行为模式,将检测到的危险情况告诉用户,必要时等待用户的授权。
34.权利要求33所述的方法,其中所说的三个主要组成部分是a.提供一个监视与捕获系统,用于不断地监视计算机系统的安全敏感组件、所有相关外围设备、尤其是存储装置和通信装置等方面的安全情况,检测和有选择性地拦截任何可疑和危险的程序行为,并根据默认的和习惯的安全规则处理上述可疑和危险程序活动,无论何时,当需要时,将请求用户的授权和指导,与所述系统有关的文件作为高度安全区域受到不断监视;b.创建和维护一个安全规则数据库。该数据库主要由以下各部分构成一套默认规则、一套预先分配的习惯规则——这些规则能够适用于大多数用户所使用的操作系统、以及习惯的用户附加规则,上述数据库作为高度安全区域受到不断监视;c.提供一个用户界面,以便与用户相互交流,通过用户界面至少应完成以下任务得知可以接受的行为模式,将检测到的危险情况告诉用户,需要时,等待用户的授权,用户能够通过用户界面查看和修改授权数据库。
35.权利要求34所述的方法,其中所说的用户界面至少在遇到高度危险的活动时,能够向用户发出更加明确的警告。
36.权利要求34所述的方法,其中所说的安全规则数据库至少还要包含连续得知的用户计算机中程序的正常、合理的行为规则的统计数据。
37.权利要求34所述的方法,其中所说的用户界面至少还具有以下功能用户能够查看重要程序的活动行为统计数据,尤其是那些允许访问通信信道的程序行为的统计数据,特别是通过通信线路发送和接收数据的情况。
38.权利要求34所述的方法,其中所说的数据库至少还要包含一个系统与用户问答记录表,表内记录系统向用户询问的问题和用户对询问的回答内容,该记录表至少应保持一段时间。
39.权利要求34所述的方法,其中所说的数据库至少还要包含一个可疑行为记录表,需要时,可以在表内记录系统检测到的所有可疑行为,该记录表至少应保持一段时间。
40.权利要求34所述的方法,其中所说的安全防护系统所具有的安全规则和作用至少应由以下各部分组成a.不断监视计算机系统的安全敏感组件、各种相关的外围设备、尤其是存储装置和通信装置的安全状况,检测任何可疑和危险的情况,并选择性地对可疑程序加以阻截,系统将根据默认的和习惯的安全规则采取具体行动;b.在默认情况下,对程序进行自动分离,将程序限制在各自的自然环境中;c.当遇到影响安全的情况时,尤其当任何程序初次访问通信信道时,向用户发出危险警告;d.使用户能够请求立即对危险程序进行拦截,当发现来自网络的任何外部程序企图通过通信信道连接用户的计算机时,并向用户发出警告;e.当遇到任何具有高度危险性的程序活动时,应立即对程序加以拦截,并向用户发出明确的警告。
41.权利要求40所述的方法,至少还要包括当遇到重大统计差异时,应立即通知用户,该统计差异是指应用软件和操作系统的行为与正常情况相比发生了重大变化,尤其是数据通信方面发生的重大变化,例如突然大量地向外发送数据。
42.权利要求40所述的方法,至少还要包括当需要时,用户能够请求对那些允许开放的通信端口加强总体限制,并能够对许可使用的协议类型加以限制。
43.权利要求40所述的方法,至少还要包括系统能够尽量多地监视和拦截那些企图获得直接访问权,以便可以直接访问安全敏感装置端口的程序,尤其企图直接访问存储介质和通信信道的程序。
44.权利要求40所述的方法,至少还要包括系统能够在存储介质上创建虚拟共享数据区,例如临时文件和注册表访问键,以便给程序造成一种错觉,使它认为它正在访问共享数据区,但实际上每个程序都被引导至各自的一个专用区,这些专用区互相分隔。
45.权利要求40所述的方法,至少还要包括系统应能够将操作系统或者至少其一部分,从拥有最大特许权的处理器环节中,转移到拥有较少特许权的处理器环节中,以便在上述拥有较少特许权的处理器环节中启动拦截与捕获功能,从而有可能堵塞操作系统本身存在的漏洞。
46.权利要求40所述的方法,其中所说的监视与捕获系统还应包括一个监视硬件部分,用来监视计算机信息通路上的硬件访问,该装置含有一个双向通信接口,用来与安全防护系统的软件之间进行通信,拥有这种功能以后,安全防护系统就能够发现任何程序企图访问安全敏感端口,尤其是存储介质和通信信道,却在系统级上没有明显反应的现象,就像安全防护系统的软件所监视到的情况一样。
47.权利要求40所述的方法,其中所说的默认情况下的程序自动分离功能应当达到以下要求即在默认的情况下,每个程序只允许在它自己的自然环境内访问文件,访问内容包括读文件、写文件、执行文件、创建文件、删除文件等,所谓其自然环境,主要是指它的安装目录、子目录,对于无关全局的共享文件,它只能通过只读方式进行访问,除非它得到更多的授权。
48.权利要求40所述的方法,其中所说的计算机操作系统和应用功能,是按照个人计算机进行配置的,主要用作个人计算机。
49.权利要求40所述的方法,其中所说的计算机操作系统和应用功能,是按照网络计算机进行配置的,因此主要用来做网络服务器。
50.权利要求40所述的方法,其中所说的计算机是指一种电脑化的装置,例如蜂窝电话、掌上电脑、汽车用计算机等。
51.权利要求34所述的方法,其中也要对高度安全保护区也要进行加密。
52.权利要求34所述的方法,其中高度安全保护区也要进行自动备份,至少多备份一个区域,以便增加额外的安全。
53.权利要求51所述的方法,其中高度安全保护区也要进行自动备份,至少多备份一个区域,以便增加额外的安全。
54.权利要求34所述的方法,其中所说的通信信道还应包括USB接口。
55.权利要求34所述的方法,其中所说的通信信道中还包括无线通信装置,例如“蓝牙”装置。
56.权利要求34所述的方法,其中所说的协议中同时还包括发送传真的协议。
57.权利要求40所述的方法,其中高度安全保护区也要进行加密。
58.权利要求40所述的方法,其中高度安全保护区也进行自动备份,至少多备份一个区域,以便增加额外的安全。
59.权利要求57所述的方法,其中高度安全保护区也进行自动备份,至少多备份一个区域,以便增加额外的安全。
60.权利要求40所述的方法,其中所说的通信信道中还包括USB接口。
61.权利要求40所述的方法,其中所说的通信信道中还包括无线通信装置,例如“蓝牙”装置等。
62.权利要求40所述的方法,其中所说的协议中同时还包括发送传真的协议。
63.一种计算机安全防护系统,该系统能够自动对程序进行分离,使每个程序限定在各自的自然环境中,每个程序只允许在它自己的自然环境内访问文件,包括读取文件、写文件、执行文件、创建文件、删除文件等,这里的自然环境,主要是指它的安装目录和它的子目录,对于无关全局的共享文件,它只能通过只读方式进行访问,除非它得到更多的授权。
64.一种计算机安全防护方法,利用该方法能够自动对程序进行分离,使每个程序限定在各自的自然环境中,每个程序只允许在它自己的自然环境内访问文件,包括读取文件、写文件、执行文件、创建文件、删除文件等,这里的自然环境,主要是指它的安装目录和它的子目录,对于无关全局的共享文件,它只能通过只读方式进行访问,除非它得到更多的授权。
65.一种适用于电脑化装置的安全防护系统,适用的电脑化装置包括蜂窝电话、汽车用计算机等,在电脑化装置中,对高度敏感数据的访问,例如对信用卡资料和个人加密密钥等的访问,必须得到用户的明确许可。
66.一种适用于电脑化装置的安全防护系统,适用的电脑化装置包括蜂窝电话、汽车用计算机等,在电脑化装置中,如果要自动生成和向外发送通信信息,必须得到用户的明确许可。
67.权利要求64所述的方法,其中任何生成信息和向外发送信息的企图均必须得到用户的明确许可。
68.权利要求64所述的方法,其中任何企图修改敏感数据的行为,例如试图修改EMROMM和重要的系统文件等,均必须得到用户的明确授权。
69.权利要求3所述的系统,其中所说的用户是个人用户。
70.权利要求3所述的系统,其中所说的用户指的是一个组织,至少计算机系统中的部分控制权由至少一个中心管理机构掌握,例如由一个系统管理员掌握。
71.权利要求70所述的系统,其中所说的中心管理机构的安全防护系统也需要自动检查安全防护系统在管理其他计算机时运行是否正常,至少应当不时地进行这种检查。
72.权利要求70所述的系统,其中所说的中心管理机构的安全防护系统也可以检查各计算机的通信有无可疑之处,当发现某台计算机上的实际通信量与该计算机的安全防护系统报告的通信量不符时,能够阻止该计算机的通信。
73.权利要求71所述的系统,其中所说的中心管理机构的安全防护系统也可以检查各计算机的通信有无可疑之处,当发现某台计算机上的实际通信量与该计算机的安全防护系统报告的通信量不符时,能够阻止该计算机的通信。
74.权利要求3所述的系统,其中所说的每台计算机上的通信装置还可以检查通信有无可疑之处,并在发现实际通信量与该计算机的安全防护系统报告的通信量不符时,至少能够将可疑情况回报给该计算机。
75.权利要求70所述的系统,其中所说的每台计算机上的通信装置还可以检查通信有无可疑之处,并在发现实际通信量与该计算机的安全防护系统报告的通信量不符时,至少能够将可疑情况回报给该计算机。
76.权利要求70所述的系统,其中所说的每台计算机上的通信装置还可以检查通信有无可疑之处,并在发现某台计算机的实际通信量与该计算机的安全防护系统报告的通信量不符时,至少能够将可疑情况报告给中心控制机构。
77.权利要求70所述的系统,其中所说的每个计算机组的通信装置还可以检查通信有无可疑之处,并在发现某台计算机的实际通信量与该计算机的安全防护系统报告的通信量不符时,至少能够将可疑情况报告给与此相关的计算机。
78.权利要求70所述的系统,其中所说的每个计算机组的通信装置还可以检查通信有无可疑之处,并在发现某台计算机的实际通信量与该计算机的安全防护系统报告的通信量不符时,至少能够将可疑情况报告给中心控制机构。
79.权利要求3所述的系统,其中在默认的情况下,每个程序只能“看到”它自己、操作系统,以及允许它“看到”的资源(软件和硬件)。
80.权利要求9所述的系统,其中在默认的情况下,每个程序只能“看到”它自己、操作系统,以及允许它“看到”的资源(软件和硬件)。
81.权利要求3所述的系统,其中所说的安全防护系统还能够识别出是由用户还是由应用程序,发出了具有潜在的不安全因素的指令,例如让一个程序在其自然环境之外访问文件,而该程序并没有获得这样的特许,如果该指令是由用户直接发出来的,而不是由程序发出来的,那些就会使安全规则变得弹性过大,从而降低了安全规则的限制作用。
82.权利要求9所述的系统,其中所说的安全防护系统还能够识别出由用户还是由应用程序发出了具有潜在不安全因素的指令,例如让一个程序在其自然环境之外访问文件,而该程序并没有获得这样的特许,如果该指令是由用户直接发出来的,而不是由程序发出来的,那些就会使安全规则变得过于松散,从而会降低安全规则的限制作用。
83.权利要求81所述的系统,其中所说的安全防护系统还应确保程序不给用户造成一种虚假印象,即伪造用户通过一个输入装置启动了某些功能的假象。
84.权利要求82所述的系统,其中所说的安全防护系统还应确保程序不给用户造成一种虚假印象,即伪造用户通过一个输入装置启动了某些功能的假象。
85.权利要求3所述的系统,其中所说的安全防护系统还应确保,当它当面授权时,其他程序不会给予虚假的回答,这些虚假的回答看起来似乎是用户通过某个输入装置输入了一个答案。
86.权利要求9所述的系统,其中所说的安全防护系统还应确保,当它当面授权时,其他程序不会给予虚假的回答,这些虚假的回答看起来似乎是用户通过某个输入装置输入了一个答案。
87.权利要求3所述的系统,其中在浏览器生成或保存私人密钥的情况下,应当使用一些附加的安全规则,通过附加规则确认这些密钥保存的目录,如果不这样做,在默认的情况下,浏览器将有权访问这些密钥。
88.权利要求9所述的系统,其中在浏览器生成或保存私人密钥的情况下,应当使用一些附加的安全规则,通过附加规则确认这些密钥保存的目录,如果不这样做,在默认的情况下,浏览器将有权访问这些密钥。
89.权利要求34所述的方法,其中所说的用户指的是一个组织,在这个组织内计算机系统的至少部分管理权由至少一个管理机构掌握,这个管理机构可以是系统管理员等。
90.权利要求89所述的方法,其中所说的中心管理机构的安全防护系统还可以检查各计算机的通信有无可疑之处,当发现某台计算机实际通信量与该计算机的安全防护系统报告的通信量不符时,能够阻止该计算机的通信。
91.权利要求34所述的方法,其中所说的每台计算机上的通信装置还可以检查通信有无可疑之处,并在发现实际通信量与该计算机的安全防护系统报告的通信量不符时,至少能够将可疑情况回报给该计算机。
92.权利要求89所述的方法,其中所说的每台计算机上的通信装置还可以检查通信有无可疑之处,并在发现实际通信量与该计算机的安全防护系统报告的通信量不符时,至少能够将可疑情况报告给中心控制机构。
93.一种安全防护系统,其中所说的用户指的是一个组织,在这个组织内计算机系统的至少部分管理权由至少一个管理机构掌握,这个管理机构可以是系统管理员等,中心管理机构上的安全防护系统还可以检查各计算机的通信有无可疑之处,当发现某台计算机实际通信量与该计算机的软件所报告的通信量不符时,能够阻止该计算机的通信。
94.一种安全防护方法,其中所说的用户指的是一个组织,在这个组织内计算机系统的至少部分管理权由至少一个管理机构掌握,这个管理机构可以是系统管理员等,中心管理机构上的安全防护系统还可以检查各计算机的通信有无可疑之处,当发现某台计算机实际通信量与该计算机的操作系统所报告的通信量不符时,能够阻止该计算机的通信。
95.一种安全防护系统,其中所说的每台计算机上的通信装置还能够检查通信有无可疑之处,当发现实际通信量与该计算机的软件所报告的通信量不符时,至少能够将可疑情况回报给该计算机。
96.一种安全防护系统,其中的所说的用户指的是一个组织,在这个组织的计算机系统内,每台计算机上的通信装置还能够检查通信有无可疑之处,当发现实际通信量与该计算机的软件所报告的通信量不符时,至少能够将可疑情况回报给该计算机。
97.一种安全防护方法,其中每台计算机上的通信装置还能够检查通信有无可疑之处,当发现实际通信量与该计算机的软件所报告的通信量不符时,至少能够将可疑情况回报给该计算机。
98.一种安全防护方法,其中的用户指的是一个组织,在这个组织的计算机系统内,每台计算机上的通信装置还能够检查通信有无可疑之处,当发现实际通信量与该计算机的软件所报告的通信量不符时,至少能够将可疑情况回报给该计算机。
全文摘要
不良软件攻击(尤其是通过国际互联网)个人电脑、服务器、或者其他计算机化装置的事件(例如窃取数据、改变数据或破坏数据等)越来越频繁地发生,每年都造成几百亿美元的经济损失。迄今为止所有的解决方案本质上都有很大的局限性,因为它们只是表面上解决了有限的几个问题,而没有找到问题的根源。大部分解决方案都是一些杀毒软件或者网络防火墙之类。杀毒软件的局限性在于,它们只能检测出那些人已知熟悉的病毒或蠕虫(往往是等到它们攻击了成千上万台电脑之后,才被识别出来)。防火墙是依靠“包滤法”来过滤病毒,这种方法原则上存在缺陷,因为在制订数据包过滤规则时,决定哪些数据包可以接受,哪些数据包拒绝接受,是建立在对某些网站或应用程序信任的基础上,这样,过滤规则内可能就包含了一些主观因素,一旦由于某种原因安全规则被打破(例如程序发生了错误或遇到恶意程序巧妙伪装的情况等),恶意程序可能控制计算机、服务器、甚至整个网络,从而造成巨大破坏(不良程序本身直接进行破坏,或为其他不良程序打开方便之门)。这些保护方法对于浏览器、电子邮件程序、以及操作系统本身等各方面的安全漏洞来说,基本没有什么效果。根据Zdnet在2001年1月24日发表的一篇文章,许多重要的应用程序中存在的安全漏洞不可胜数,如果指望只靠不断增加补丁的办法来修补所有的漏洞,根本是不现实的。如果没有一种合适的通用保护系统来识别任何已知的和人们从未见过的不良程序(例如特洛伊木马程序等),那么即使采用个人虚拟网络和其他任何形式的数据加密,包括数字签名等,都不能使计算机得到真正的安全,因为在加密部分之前和之后的信息段都有可能被不良程序窃取。本发明通过对上述问题的深入研究,找到了问题的根源,从而提出了一个通用的综合性的解决方案。现在的计算机系统存在着一种非常荒唐的现象,那就是在默认的情况下,程序可以在计算机内为所欲为,可以不受约束地侵犯其他程序或其他程序的数据文件,或窃取操作系统的关键文件。这就像让一位客人在旅馆内随心所欲地打扰其他客人一样荒唐。让一个程序随意窃取其他程序的数据,复制其他程序的文件,破坏计算机等,就相当于让这位客人随意偷窃、复制或损坏其他客人的东西,毁坏他们的房间,或者随意打开旅馆的保险柜或电子交换台,随便操纵旅馆的电话或电梯控制室等。本发明的基本原理,就是在各程序之间实行自动分离—这就相当于在一个旅馆中把每位客人限定在自己的房间内,在默认的情况下,限制他访问和控制旅馆的重要资源,每位客人只有在得到明确许可时,才能够拥有额外的特许权。
文档编号G06F21/22GK1444742SQ01813512
公开日2003年9月24日 申请日期2001年5月28日 优先权日2000年5月28日
发明者梅耶·亚隆, 德克霍维克·扎克 申请人:梅耶·亚隆, 德克霍维克·扎克
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1