用于检测计算机系统中的安全漏洞的系统和方法技术方案

技术编号:3515388 阅读:181 留言:0更新日期:2012-04-11 18:40
一种计算机程序,包括:    硬实时操作系统;    在所述硬实时操作系统下运行的应用程序;以及    在所述硬实时操作系统下运行的安全进程;    所述安全进程被配置为:硬实时地、周期性地检查所述应用程序和/或所述应用程序使用的数据元素的完整性,并且,如果所述应用程序或所述数据元素的完整性检查显示所述应用程序或数据元素已被篡改,则通知所述计算机系统的用户和/或关闭所述计算机系统或应用程序的至少一部分;以及    所述安全进程包括一个挑战处理机,所述处理机被配置为从外部监视器接收挑战并在一个预定量时间内提供到其上的响应,其中,所述外部监视器被配置成使得:如果所述外部监视器在自发送所述挑战以来的一个预定量时间内没有收到所述响应,那么,所述外部监视器通知管理员和/或关闭所述计算机系统或应用程序的至少一部分。(*该技术在2023年保护过期,可自由使用*)

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术涉及。
技术介绍
计算机系统安全的标准方法包括密码和其他授权标记、使用加密以及许可检查系统。在这些标准方法中,“安全标识”(如校验和、数字签名和许可级别)和“安全属性”(如,被认为不可改变的数据项和该数据项的隐藏副本之间的准确匹配)可用于验证数据和安全系统的完整性。但是,所有方法都有缺陷和成本。实际上,没有哪个安全系统是100%有效的。计算机系统安全的“纵深防御”概念提供了一系列的障碍和反检查,以降低危害成功的概率和提高早期检测的概率,从而导致系统反应,如系统暂停、安全重新启动或对攻击者采取反击措施。安全系统越复杂,实施和设计的验证难度就越大,用于构建和维护该系统的计算资源成本和工程投资就越高。不同的应用程序实际上可以支持不同级别的安全成本。例如,用于控制远程输电设备的软件成本很高,并且存在资源约束。所需要的是用于提高安全性的系统和方法,其适合不同的应用程序,而不增加不实际的成本。
技术实现思路
本专利技术提供了将软件中的硬实时能力应用于软件安全性的系统和方法。例如,根据本专利技术的系统和方法,程序员可以向应用程序附加周期完整性检查,以使得针对该应用程序的攻击需要在一个狭窄和不可预测的时窗内完全成功才能保持不被检测到。优选情况下,本专利技术适用于多种应用和计算机环境。一个预期应用领域是进程控制系统,其中,多个较小的、低成本的控制装置用于控制工厂或输电系统或仓库的操作,并且,这些装置可以通过网络连接,并且,这些装置的正确操作有实时要求。第二个预期应用是计算机集群,其中,组件计算机可用于监视该群中其他成员的安全性,并且,有资源使用本专利技术和传统的安全软件,对软件之间的安全性进行重要的交叉检查。第三个预期应用是包含敏感数据的计算机,它具有一个简单的测试装置,其可与使用本专利技术的软件进行通信,从而检查该应用程序的完整性。第四个预期应用是销售点(point-of-sale)终端,其中,必须保护信用卡的客户输入或其他敏感信息不被盗窃。预期应用的该列表并不是穷举的,本专利技术也可以用于其他应用。在一个实施例中,本专利技术提供了一种用于计算机系统的安全系统。通过检查应用程序代码和/或计算机系统维护的关键数据结构和通过检查应用程序代码本身,该安全系统硬实时地、周期性地检查计算机系统和该计算机系统上运行的应用程序的完整性。该安全系统包括以下部件(1)一个高优先级、周期性、实时的安全进程或线程,用于(a)检查应用程序代码和该应用程序的关键数据结构的完整性,(b)检查该应用程序的预定执行时间,(c)失败时发出警报,以及(d)在必要的情况下,取代该应用程序;以及(2)一个进程或例程,其能够以原子方式(atomically)更新已加密校验和及其相关数据结构。如果发现应用程序代码被篡改、如果发现关键数据结构没有匹配的校验和或者如果发现应用程序没有被安排在所要求的频率,那么,该安全进程就会发出警告。优选情况下,该安全系统还可以包括一个挑战处理机和一个外部监视器。该外部监视器可以是一个通过网络连接到该计算机系统的对等方计算机系统上运行的应用程序,或者,它可以是该计算机系统中的一个安全装置。该外部监视器被配置为向挑战处理机发送挑战。外部监视器希望在预定时限内从挑战处理机接收到该挑战的响应。如果挑战处理机在预定时限内没有对该挑战做出响应,那么,这表明该计算机系统可能遭到了损害。例如,假设该安全线程被配置为根据一个序列号,来更新已加密数据项,该序列号表示已经过多少周期而未检测到入侵者。该外部监视器可被配置为请求使用发送给该挑战处理机的挑战中包含的加密密钥,将这些数据项发送给该监视器。此外,该监视器可以请求在1毫秒内返回该挑战的响应。如果选择了合适的完整性标识和属性,那么,没有意识到该实时挑战/响应特性的任何挑战者将无法对该计算机系统产生检测不到的损害。此外,意识到该实时挑战/响应特性的任何攻击者必须获得内核级特权,才能攻击该实时安全线程,同时保持该响应定时。在另一个实施例中,本专利技术提供了一种用于计算机系统的安全系统,其运行在具有实时内核和非实时或“通用”内核的双内核操作系统中。该安全系统包括下列部件(1)第一实时线程,运行在该实时内核下,用于检查该通用内核的完整性标识和属性的可配置集合;(2)第二实时线程,运行在该实时内核下,用于检查该实时内核和第一实时线程的完整性标识;(3)一个或多个挑战处理机,运行在该实时内核下,如上所述,当收到来自外部监视器的挑战之后,提供“挑战/响应”功能;以及(4)安全模块,运行在该通用内核下,检查该实时内核以及第一和第二实时线程的完整性标识和属性。在该实施例中,由第一实时线程检查的完整性标识可能包括(1)数据结构的校验和/数字签名,其包含关于该通用内核使用的密码文件的有关信息(如UNIX类型环境中的inode);以及(2)该通用内核下运行的软件应用程序的校验和/数字签名,其用于对密码文件中存储的密码进行加密和解密。第一线程检查的完整性属性可能包括自从正常操作开始以来关键应用程序(如web服务器程序或数据库)是否重新启动;以及,所有这些应用程序的时间安排是否合理。该挑战处理机提供挑战/响应功能,允许外部监视器发出挑战,需要在规定时限内返回包含验证信息的加密数据项。例如,假设前两个线程各使用一个序列号来更新已加密数据项,该序列号表示已经过多少周期而没有检测到错误。外部监视器可能请求使用与挑战一起传递的加密密钥,将这些数据项传输到监视器。此外,网络对等方可能请求在1毫秒内返回响应。如上所述,如果选择了合适的完整性标识和属性,那么,没有意识到该实时挑战/响应特性的任何挑战者将无法对该计算机系统产生检测不到的损害。此外,意识到该实时挑战/响应特性的任何攻击者必须获得内核级特权,才能攻击实时安全线程,并且,为此,攻击者必须在检测到损害之前先损害通用内核的安全部件然后击败这三个实时线程。保持这些部件的准确周期和完整性标识和属性密码的选择(如,在系统启动时确定它们)使攻击者的任务进一步复杂。从通用内核或其应用程序开始的攻击者进一步受阻于该实时和通用内核的分离性质,因为,它不能确保在任何准确时间段内完成行动。由于设计和实现期间允许更高度安全验证的实时内核的更简单性质以及通过检查实时内核和实时安全线程完整性的安全模块的操作,从而阻止在实时内核一侧开始的攻击者。下面结合附图,描述本专利技术的上述和其他特征与优点,以及本专利技术优选实施例的结构和操作。附图简述这里并入并且构成说明书一部分的附图用于描述本专利技术的各实施例,并且还与说明书一起,用于解释本专利技术的原理和使本领域技术人员实施和使用本专利技术。在附图中,相同的标记表示相同或功能上相似的单元。此外,标记最左边的数字表示其中该标记第一次出现的附图。附图说明图1是具有硬实时操作系统和在该实时操作系统下运行的安全系统的计算机系统的功能框图;图2是根据本专利技术一个实施例的进程的流程图;图3示出了根据本专利技术另一个实施例的计算机系统;图4示出了本专利技术的安全系统的另一个实施例;图5示出了一个典型计算机系统。具体实施例方式在下面的描述中,为了充分理解本专利技术,给出了各种具体细节,如特定系统、计算机、设备、部件、技术、计算机语言、存储技术、软件产品和系统、操作系统、接口、硬件等,但它们只用于说明目的,而没有限制意味。但是本文档来自技高网...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】

【专利技术属性】
技术研发人员:维克托·J·尤戴肯
申请(专利权)人:有限状态机实验室公司
类型:发明
国别省市:

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

1
相关领域技术
  • 暂无相关专利