能够容忍运行代码错误的计算机系统及其实现方法技术方案

技术编号:2843382 阅读:199 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种能够容忍运行代码错误的计算机系统及其实现方法,其中,该计算机系统是面向数据的,不关心代码本身的对错,而认为引起系统出错的原因是某个数据。通过对系统中各个部分处理数据的情况进行监控和检查,可以获得系统运行状态的信息。系统某个部分进行数据处理时,如果出现非正常现象,就认为是该数据引起错误,使该部分回到初始的起点重新运行。

【技术实现步骤摘要】

本专利技术涉及计算机领域,尤其涉及一种。
技术介绍
计算机在人类社会生活中起着越来越重要的作用,同时,网络及其各种信息服务也在迅猛发展,但是随之引发的诸多安全危机,给社会造成了巨大的损失,计算机和网络系统的安全引起人们的强烈担忧。只要计算机和网络存在一天,信息界的攻击和防卫战就不会结束。计算机和网络系统中的安全隐患是计算机不安全的根本因素,而系统中的错误和漏洞却是不可能完全避免的。现代的计算机和网络系统通常都是建立在操作系统的基础上的,利用操作系统提供的服务进一步实现上层的应用;也有嵌入式系统,利用嵌入式操作系统实现系统功能或者直接针对特定硬件完成自下而上的系统。不论是哪种体系结构,其中的软件可以分为两类系统软件和应用软件。系统软件为应用软件提供一个统一的平台;应用软件则在系统软件的基础上实现用户所需要的功能,操作系统是最基本的系统软件。这样的系统结构使得上层应用依赖于操作系统,上层应用在使用操作系统提供的服务的同时,操作系统中的错误和漏洞会延伸到应用中,应用的安全性依赖于操作系统的安全性;又因为操作系统的目标是提供服务,某些应用甚至可以最大程度的地占用系统资源,这样,系统内的任何微小的错误就可能引起整个系统的崩溃。然而,现有计算机和网络系统不可避免存在各种各样的错误或者设计上的缺陷,这样使得攻击者能够通过各种手段入侵到别人的系统中,有的系统甚至只是在提供正常的服务时,也会被发现存在各种不可预见的错误,以至于影响整个系统的强壮性和安全性。现有计算机系统中的错误可以归结为系统中代码错误现代计算机和网络系统是通过无数人长时间的努力积累而成的,代码量惊人。这样庞大的代码中间不可能没有错误。虽然人们用了各种方法来避免错误,但情况往往是造成了较严重的后果才会发现错误的确存在。大量的实例说明不可能存在代码无错的系统。系统安全机制设计缺陷操作系统安全本身就是一个涉及面很广的研究领域,在维持系统强壮和安全方面,操作系统要完成与安全性有关的功能用户认证、存储器保护、文件和I/O设备的访问控制、对目标的定位和访问控制、共享的实现等等。操作系统安全本身是计算机网络安全的基础。要保证它的绝对安全,涉及的机制多而复杂,需要付出大量的系统服务上的开销。因此实践上人们往往还要考虑性能和开销的平衡。绝对安全的计算机安全机制也是不存在的。系统开发工具本身带来的安全隐患现在人们所用的最多的系统开发工具是C和C++,包括操作系统本身的大量程序都是C完成的。大家知道,现在大多数的网络安全攻击利用的是系统本身的缓冲区溢出漏洞,而这种漏洞是C语言本身编码编译连接机制带来的。即使上次应用程序所使用的是C#,access等等重新改造过的语言,因为系统安全还要依赖操作系统,所以还是不可避免地会受到缓冲区溢出攻击。只要系统中有C编码,这个问题就一定存在。系统开发工具所带来的安全隐患是客观存在的。为了解决上述计算机系统中的错误,人们开发了一些计算机系统,例如基于操作系统的容错机制、和看门狗等。A)基于操作系统的容错机制现有的计算机和网络系统大都建立在较为成熟的操作系统的基础上。操作系统为上层应用屏蔽下层的硬件特性,合理调度系统资源,上层应用可以不用考虑下层的实施细节。在维持系统强壮和安全方面,操作系统要完成与安全性有关的功能用户认证、存储器保护、文件和I/O设备的访问控制、对目标的定位和访问控制、共享的实现等等,成为计算机网络安全的重要基础。因为操作系统是系统安全的基本提供者,是整个系统安全的基础,所以对它的攻击也是黑客永恒不变的目标。各种测试和分析技术使得系统中的大量问题逐渐暴露,这其中有些问题可以在现有系统上通过补丁的方式来排除,但是,对系统打补丁进行改进的方法是和系统所使用的操作系统紧密相联系的。显而易见,这样的方法存在很多缺陷不具备通用性新增的安全机制和系统所使用的操作系统紧密相连,不论是使用现有的通用操作系统还是嵌入式可裁减的操作系统,它都不能独立于操作系统而存在。一旦网络安全设备所使用的操作系统有所变化,入侵容忍机制不能移植到新的平台上。完整性不够因为计算机系统本身是建立在某一个操作系统上,往往是发现了操作系统的某个缺陷影响到整个系统的强壮性,就针对该缺陷进行改进。很显然,系统中还存在无数未发现的缺陷,完全无错的系统是不存在的,而一个小小的错误就可能引起整个系统的崩溃。影响系统效率抗攻击机制作为一个应用出现,和网络安全应用处于同一个层面,需要占用较多的系统资源和时间。系统中有些错误可以通过打补丁的方法来排除,而有的是无法在原有的系统上进行补救的,只有重新改造系统,甚至重新设计才能有效地解决问题。人们采用各种方法来设计安全性更高的操作系统,安全机制的研究和设计是其中重要的组成部分。嵌入式系统对应于相对特定的应用,整体安全较为简洁,但适用的范围也比较窄。通用操作系统和建立在其之上的应用的安全性及容错机制是一个涉及面很广的研究领域。B)看门狗看门狗是独立于操作系统之外的一个机制,它是一种监视管理器,它监测系统的各种运行状态,并定时采样保留正常的状态点。通常由被监视系统在经过一段时间后对看门狗计数器进行复位,以表示系统正在正常运转。因为它独立于被监视的系统,所以不会受被监视系统的干扰,如果发现被监视系统当机或者处于非正常状态,就会使被监视系统复位,取出距离系统崩溃最近一次的系统正常情况下保留的各种状态参数,系统重新启动,以便提供后续服务。看门狗技术非常有效,它可以防止系统在因为各种情况出现系统崩溃后,引起的长时间处于拒绝服务状态。它的缺陷也很明显在系统进入非正常状态后到看门狗发现异常,重启系统的这段时间,系统处于拒绝服务状态;只要为看门狗复位的进程处于正常状态,即使系统中其他部分出现问题,也不能立刻发现,立刻处理;有一段较长时间段内的工作和工作状态会丢失。从上述中可以看出,现有计算机系统的容错机制都是面向代码的。一个系统中的代码不可避免的会存在许多错误和不完善的地方,而且在短时间内不能被发现。这样,往往要等系统在实际运作中出现错误后,才找到引起错误的原因,由开发人员对系统打上补丁,或者进行整个系统结构的重新设计。这样的方法有很多弊端一个细小的错误就可能造成性能影响甚至系统崩溃,整个系统不能提供连续的服务;因为缺乏整体的考虑,对一个错误的修改可能引起系统中其他部件的错误;不论如何考虑和设计,完全无错的系统是不存在的,而且有时候会付出极大的开销。所以,一个较为理想的系统应该能在系统出错的情况下自我察觉,采取适当的措施,不至于引起整个系统的崩溃而带来系统的拒绝服务,最多只引起系统性能的有限降级。
技术实现思路
因此,本专利技术旨在克服现有技术的计算机系统容错机制的上述缺陷,提供了一种容忍运行代码错误的计算机系统及其容错方法,以及时发现系统内的错误数据,避免系统因为一个细小的错误就引起崩溃,和防止系统长时间处于拒绝服务状态,尤其适合应用在对安全性要求高的专用系统中,比如网络防火墙、路由器、或网络防火墙等等。本专利技术的其它优点、目的和特征将至少部分地在随后的说明书中阐述,部分地在本领域普通技术人员分析以下内容的基础上变得显而易见,或者通过实施本专利技术而了解。本专利技术的目的和其它优点可通过在说明书、权利要求、以及附图中所特别指出的结构来实现和达到。根据本专利技术,提本文档来自技高网
...

【技术保护点】
一种计算机系统,其特征在于,其能够容忍运行代码错误,其包括:多个数据处理装置,其中,每个所述数据处理装置用于完成至少一个应用功能,其独占所述计算机系统的资源,运行时分别占据隔离的内存资源,以使所述多个数据处理装置之间互不干扰,用于当 所述计算机系统出错时,将错误限制在出错的所述数据处理装置内部;以及监控装置,用于监控所述多个数据处理装置是否正常运行,以及对所述多个数据处理装置中发现异常的数据处理装置进行处理,其中,其通过以下操作判断所述计算机系统内所述多 个数据处理装置是否正常运行:设置输入时间参数和/或输出时间参数,判断所述多个数据处理装置的输入和/或输出是否正常,如果所述监控装置发现所述多个数据处理装置中的一个在所述输入时间参数和/或所述输出时间参数确定的时间范围内没有输入和/或输出数据,则判定所述数据处理装置异常;以及其通过以下操作对所述多个数据处理装置中发现异常的数据处理装置进行处理:保存所述多个数据处理装置的加电时初始状态,将所述异常的数据处理装置恢复到所述监控装置所保存的所述异常数据处理装置的所述加电时初始 状态;以及当所述监控装置判定所述多个数据处理装置中的一个异常时,判定所述异常数据处理装置所处理的上一个数据异常,将所述异常数据丢弃;在将所述异常的数据处理装置恢复到所述监控装置所保存的所述异常数据处理装置的所述加电时初始状态后,使恢复到所述加电时初始状态的所述数据处理装置处理下一个数据。...

【技术特征摘要】

【专利技术属性】
技术研发人员:荆继武杜皎王晶
申请(专利权)人:中国科学院研究生院
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1