CN1748203A - 用于检测计算机系统中的安全漏洞的系统和方法 - Google Patents

用于检测计算机系统中的安全漏洞的系统和方法 Download PDF

Info

Publication number
CN1748203A
CN1748203A CNA2003801096923A CN200380109692A CN1748203A CN 1748203 A CN1748203 A CN 1748203A CN A2003801096923 A CNA2003801096923 A CN A2003801096923A CN 200380109692 A CN200380109692 A CN 200380109692A CN 1748203 A CN1748203 A CN 1748203A
Authority
CN
China
Prior art keywords
time
real
application program
challenge
security procedure
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.)
Granted
Application number
CNA2003801096923A
Other languages
English (en)
Other versions
CN100386740C (zh
Inventor
维克托·J·尤戴肯
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.)
Intellectual Risk Fund 73 LLC
Original Assignee
Finite State Machine Labs 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 Finite State Machine Labs Inc filed Critical Finite State Machine Labs Inc
Publication of CN1748203A publication Critical patent/CN1748203A/zh
Application granted granted Critical
Publication of CN100386740C publication Critical patent/CN100386740C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

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
    • 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
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2103Challenge-response
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2115Third party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y04INFORMATION OR COMMUNICATION TECHNOLOGIES HAVING AN IMPACT ON OTHER TECHNOLOGY AREAS
    • Y04SSYSTEMS INTEGRATING TECHNOLOGIES RELATED TO POWER NETWORK OPERATION, COMMUNICATION OR INFORMATION TECHNOLOGIES FOR IMPROVING THE ELECTRICAL POWER GENERATION, TRANSMISSION, DISTRIBUTION, MANAGEMENT OR USAGE, i.e. SMART GRIDS
    • Y04S40/00Systems for electrical power generation, transmission, distribution or end-user application management characterised by the use of communication or information technologies, or communication or information technology specific aspects supporting them
    • Y04S40/20Information technology specific aspects, e.g. CAD, simulation, modelling, system security

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本发明提供将软件中的硬实时能力应用于软件安全的系统和方法。例如,通过本发明的系统和方法,程序员可以向应用程序附加周期完整性检查,以使得针对该应用程序的攻击需要在一个狭窄和不可预测的时窗内完全成功才能保持不被检测到。

Description

用于检测计算机系统中的安全漏洞的系统和方法
本申请要求2002年12月12提交的美国临时专利申请No.60432655的优先权,后者全文并入此处,作为参考。
发明领域
本发明涉及用于检测计算机系统中的安全漏洞的系统和方法。
技术背景
计算机系统安全的标准方法包括:密码和其他授权标记、使用加密以及许可检查系统。在这些标准方法中,“安全标识”(如校验和、数字签名和许可级别)和“安全属性”(如,被认为不可改变的数据项和该数据项的隐藏副本之间的准确匹配)可用于验证数据和安全系统的完整性。但是,所有方法都有缺陷和成本。实际上,没有哪个安全系统是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示出了一个典型计算机系统。
具体实施方式
在下面的描述中,为了充分理解本发明,给出了各种具体细节,如特定系统、计算机、设备、部件、技术、计算机语言、存储技术、软件产品和系统、操作系统、接口、硬件等,但它们只用于说明目的,而没有限制意味。但是,本领域技术人员应当理解,可以用与这些具体细节不同的其他实施例来实施本发明。为了更清楚地描述本发明,这里对公知的系统、计算机、设备、部件、技术、计算机语言、存储技术、软件产品和系统、操作系统、接口和硬件不再赘述。
图1是具有硬实时操作系统101的实时计算机系统100的功能框图。在一些实施例中,硬实时操作系统101是新墨西哥Socorro的FSMLabs提供的RTLinuxPro操作系统,但是,也可以使用其他硬实时操作系统。计算机系统100包括进程或线程102(后面称之为“安全进程102”),用于检测应用程序代码104和/或关键数据元素(如文件、数据结构等)103是否已被入侵者损害。
在一些实施例中,安全进程102通过(1)判断代码104是否已被非法修改和/或(2)判断应用程序代码104是否按照预定时间执行,来判断应用程序代码104是否已被损害(例如,被入侵者修改)。安全进程102可采用多种方式,判断代码104是否已被非法修改。例如,它可以判断代码104是否与该代码104相关的校验和相匹配。此外,它可以访问代码104的过去副本,并将该代码的过去副本与当前代码进行比较,来检查从过去副本创建以来是否有任何修改。还有其他方法可以确定代码104是否被非法修改,而本发明不限于具体的方法。
同样,通过判断数据元素103是否已被非法个人或进程修改,安全进程102可以判断数据元素103是否已被损害。安全进程102可以采用多种方式,判断代码104是否已被非法修改。例如,它可以判断代码104是否与该数据元素相关的校验和相匹配。
在校验和用于判断数据元素103是否被损害的实施例中,第一次创建和存储数据元素103时,也创建和存储该数据元素的校验和(优选将所存储的校验和进行加密)。此外,当应用程序代码104需要改变数据元素103时,应用程序代码104本身或与应用程序代码104进行通信的安全更新进程105更新该数据元素以及该数据元素103相关联的校验和,从而使该校验和与修改后的数据元素103相匹配。优选情况下,数据元素103及其校验和的更新以原子方式进行(例如,使用公知的方法,以原子方式更新副本、计算校验和以及改变指针或索引)。
由于安全进程102执行的检查,入侵者为了在不被检测到的情况下损害数据元素103或代码104,入侵者必须知道创建该校验和所使用的算法。此外,在将校验和进行加密的实施例中,入侵者必须使用合适的算法和合适的密钥,对该校验和进行加密。
优选情况下,在有些实施例中,安全进程102和/或实时操作系统101被配置使得:安全进程102作为操作系统101中的高优先级任务而执行。这将使安全进程102以“精确”的定期时间间隔执行所需的安全检查。图2示出了该特征,它是安全进程102执行的流程200的流程图。
流程200从步骤202开始,其中,安全进程102判断数据元素103是否已被入侵者篡改(例如,非法修改)。如果是,则流程202继续到步骤204,否则,流程200继续到步骤206。在步骤204中,安全进程102发出警告和/或关闭应用进程108。在步骤206中,安全进程102判断代码104是否已被篡改。如果是,流程202转到步骤204,否则,流程200转到步骤208。在步骤208中,安全进程102暂停预定量时间。在步骤208之后,流程200返回步骤202。由于安全进程102是实时操作系统101中的高优先级任务,所以,几乎可以保证:安全进程102将以步骤208中的暂停时间所确定的确定性间隔,执行步骤202-206。
sp102的硬实时特性在很多情况下很重要,在这些情况下,周期性地执行时,应用程序代码104执行一个重要任务,并且,如果不以期望的方式执行该重要任务,后果可能很严重。因此,安全进程102是非常重要的,当显示代码104已被篡改时,它能够在执行该重要任务之前关闭代码104。
作为一个具体的示例,假设代码104被配置为在时间t=1、t=2等输出预定的信号。在该示例中,安全进程102可被配置为:在代码104预定输出信号之前,检查代码104的完整性(例如,sp102可以被配置为在时间t=0.9、t=1.9、t=2.9等检查代码的完整性)。这样,如果入侵者篡改了代码104,将使后果最小化,因为大多数情况下sp102将在己篡改代码104执行其任务之前检测到篡改,因此,能够在已篡改代码104执行其任务之前采取校正行动形式。
图3示出了根据本发明另一实施例的计算机系统300。系统300与图1所示系统相似,其不同之处在于系统300还包括一个外部监视器302,外部监视器302可被配置为:向挑战处理机304发出挑战,挑战处理机304可被配置为对监视器302发出的挑战做出响应。尽管这里将挑战处理机表示为一个独立于安全进程102的进程,但这并没有限制意味,因为挑战处理机也可实现为安全进程102的一部分。
在一个实施例中,外部监视器302被配置为向挑战处理机304提供挑战。该挑战可以是对基本安全信息的请求,或者,它可以包含一些关于待检查的完整性约束和完整性属性的信息。该挑战也可以包含一个在特定时间点传输该挑战的响应的请求。在一个实施例中,一旦挑战处理机304收到该挑战,该挑战处理机就通过检查完整性约束和完整性属性,来验证系统安全性。例如,这可能涉及检查诸如加密代码和密码文件之类的标准安全部件的功能和/或检查关键应用程序是否正确按照预定时间。在所有实施例中,挑战处理机304被配置为:当监视器302发出挑战时,向外部监视器302提供响应。响应的一个示例是一个正确签名和加密的序列号,表示响应哪个挑战。
如果外部监视器302没有在合适的时间(例如在规定的硬时限内或在该挑战中规定的时间)从挑战处理机304收到正确的响应,则外部监视器302可以声明该系统300已经被损害。因此,为了产生检测不到的损害,在监视器302施加的硬时限超时之前,攻击者不仅必须击败内部安全,而且还必须接管挑战处理机部件304的操作。
外部监视器302可以实现在通过确定性网络连接到系统300的计算机上(其中,消息从监视器302到安全系统300以及返回的时间是已知的),或者,它也可以是系统300中的专用设备。在第二种情况下,监视器302可以是外设,或者是片上(on-chip)安全监视器。
在其他实施例中,处理机304可以被配置为:根据精确的时间表,优选不可预测的时间表,向监视器302传输验证证书。例如,在处理机304是安全进程102一部分的实施例中,处理机304可以被配置为:根据预定时间表(例如每10毫秒),向监视器302传输验证证书,而不管监视器302是否已发出挑战。这样,如果在预定时间没有收到验证证书,则监视器302将判定系统100有问题。同样,在处理机304是独立于安全进程102的进程的实施例中,处理机304可以被配置为:在预定时间基础上,验证安全进程102的完整性,然后,如果处理机304证实了安全进程102的完整性,则向监视器302传输验证证书。
图4示出了本发明的安全系统的又一个实施例。更具体地说,图4是运行具有实时内核404和非实时“通用”内核406的双内核操作系统402的计算机系统400的功能框图。该安全系统包括下列部件:(1)在实时内核下执行的第一实时线程411,用于检查通用内核406的安全标识和属性的可配置集合;(2)在实时内核下执行的第二实时线程412,用于检查该实时内核和第一实时线程411的完整性标识;(3)在实时内核下执行的至少一个挑战处理机304,当收到来自外部监视器302的挑战时,其提供“挑战/响应”功能;以及(4)在通用内核下执行的安全模块414,其检查实时内核404以及第一和第二实时线程411-412的完整性标识和属性。
在该实施例中,第一实时线程检查的完整性标识包括:(1)数据元素420上的校验和/数字签名,用于维持通用内核所使用的密码文件的有关信息(如UNIX类型环境中的inode);以及(2)通用内核406下运行的软件应用程序421上的校验和/数字签名,用于对密码文件中存储的密码进行加密和解密。第一线程411检查的完整性属性可能包括:自从正常操作开始以来关键应用程序(如web服务器程序或数据库)是否重新启动;以及,所有这些应用程序的时间安排是否合理。
图5示出了可用于实现上述计算机系统的典型计算机系统500。计算机500包括一个处理器或中央处理单元504,其能够执行包括双内核和实时操作系统的传统操作系统。中央处理单元504通过总线526或其他通信路径,与一个或多个输入/输出(I/O)设备524集合进行通信。I/O设备524包括键盘、鼠标、视频显示器、打印机等。CPU 504还通过总线526与计算机读取介质(如传统的挥发性和非挥发性数据存储器件)进行通信。在本领域中,CPU 504、I/O设备524、总线526、网络接口580和存储单元528之间的交互是公知的。
存储单元528存储软件538。软件538包括一个或多个操作系统和一个或多个用于实现本发明方法的软件模块540。传统的编程技术可用于实现软件538。存储单元528也可存储任何必须的数据文件。此外,计算机系统500可以通过网络接口580连接到互联网和/或其他计算机网络,从而有利于数据传输和操作员控制。
本领域技术人员应当理解,可以根据本说明书的描述,使用一个或多个被编程的通用计算机、微处理器等,来实现本说明书中阐明的系统、进程和部件。熟练的程序员可以根据本说明说所披露的内容,容易地实现合适的软件编码。因此,本发明还包括基于计算机的产品,其存储在存储介质上的,并且包括可用于对计算机编程以执行根据本发明的进程的指令。该存储介质包括、但不限于任何类型的磁盘,包括软盘、光盘、CDROM、磁光盘、ROM、RAM、EPROM、EEPROM、闪速存储器、磁或光卡,或适用于本地或远程地存储电子指令的任何类型的介质。
尽管这里将所描述的进程显示为一系列步骤,但这些步骤不必以所描述的次序执行,除非特别指明。
前面描述了本发明的原理、实施例和操作模式。但是,不应当将本发明解释为限于上述具体实施例,因为应当将它们视为说明性的、而不是限制性的。应当理解的是,在不脱离本发明的保护范围的前提下,本领域技术人员可以对这些实施例做出修改。显然,根据上面的描述,可以对本发明做出各种修改和变形。因此,应当理解的是,可以按照这里具体描述之外的其他方式来实施本发明。
因此,本发明的宽度和保护范围不限于上述示例性实施例,而应该由下面的权利要求及其等价物来定义。

Claims (3)

1、一种计算机程序,包括:
硬实时操作系统;
在所述硬实时操作系统下运行的应用程序;以及
在所述硬实时操作系统下运行的安全进程;
所述安全进程被配置为:硬实时地、周期性地检查所述应用程序和/或所述应用程序使用的数据元素的完整性,并且,如果所述应用程序或所述数据元素的完整性检查显示所述应用程序或数据元素已被篡改,则通知所述计算机系统的用户和/或关闭所述计算机系统或应用程序的至少一部分;以及
所述安全进程包括一个挑战处理机,所述处理机被配置为从外部监视器接收挑战并在一个预定量时间内提供到其上的响应,其中,所述外部监视器被配置成使得:如果所述外部监视器在自发送所述挑战以来的一个预定量时间内没有收到所述响应,那么,所述外部监视器通知管理员和/或关闭所述计算机系统或应用程序的至少一部分。
2、在运行实时操作系统的计算机系统中,一种计算机安全方法,包括:
在所述实时操作系统下执行一个安全进程,其中,所述安全进程被配置为:硬实时地、周期性地检查应用程序或所述应用程序使用的数据元素的完整性,并且,如果所述应用程序或所述数据元素的完整性检查显示所述应用程序或数据元素已被篡改,则通知系统管理员和/或关闭所述应用程序;
向所述安全进程或一个监视所述安全进程完整性的挑战处理机发送挑战;以及
如果在一个预定量时间内没有收到所述挑战的响应,则通知管理员。
3、一种计算机系统,包括:
双内核操作系统,其包括实时内核和非实时内核;
第一实时线程,其运行在所述实时内核下,所述第一实时线程被配置为:监视在所述非实时内核下运行的一个应用程序的完整性;
第二实时线程,其运行在所述实时内核下,所述第二实时线程被配置为:监视所述第一实时线程的完整性;以及
安全进程,其运行在所述非实时内核下,所述安全进程被配置为:检查所述第一实时线程和/或所述第二实时线程的完整性。
CNB2003801096923A 2002-12-12 2003-12-12 用于检测计算机系统中的安全漏洞的系统和方法 Expired - Fee Related CN100386740C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US43265502P 2002-12-12 2002-12-12
US60/432,655 2002-12-12

Publications (2)

Publication Number Publication Date
CN1748203A true CN1748203A (zh) 2006-03-15
CN100386740C CN100386740C (zh) 2008-05-07

Family

ID=32595082

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2003801096923A Expired - Fee Related CN100386740C (zh) 2002-12-12 2003-12-12 用于检测计算机系统中的安全漏洞的系统和方法

Country Status (6)

Country Link
US (4) US7587763B2 (zh)
EP (1) EP1584034B1 (zh)
CN (1) CN100386740C (zh)
AU (1) AU2003302996A1 (zh)
CA (1) CA2509579C (zh)
WO (1) WO2004055634A2 (zh)

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101847121A (zh) * 2010-05-07 2010-09-29 北京大学 一种软件漏洞挖掘方法
CN102272770A (zh) * 2009-02-16 2011-12-07 松下电器产业株式会社 篡改监视系统、管理装置及篡改管理方法
CN101741838B (zh) * 2008-11-18 2013-07-31 谷歌公司 用于减少冗余数据块或其传输的方法和系统
CN103425118A (zh) * 2012-05-16 2013-12-04 费希尔-罗斯蒙特系统公司 用于识别过程控制系统的完整性降级的方法和装置
CN104077127A (zh) * 2013-03-29 2014-10-01 阿尔斯通运输科技简易股份公司 执行彼此交织的安全软件应用和非安全软件应用的方法
CN104077186A (zh) * 2013-03-25 2014-10-01 中微半导体设备(上海)有限公司 内嵌实时内核的操作系统及内嵌方法
CN105279428A (zh) * 2014-07-16 2016-01-27 通用电气公司 用于在执行期间验证应用程序的真实性的系统和方法
CN105471877A (zh) * 2015-12-03 2016-04-06 小米科技有限责任公司 证明资料获取方法及装置
CN106663164A (zh) * 2014-08-28 2017-05-10 高通股份有限公司 用于提高便携式计算设备(pcd)中的处理器的安全性的系统和方法
CN106790280A (zh) * 2017-02-22 2017-05-31 深信服科技股份有限公司 网络攻击的应急排查方法及装置
CN110224970A (zh) * 2018-03-01 2019-09-10 西门子公司 一种工业控制系统的安全监视方法和装置

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100386740C (zh) 2002-12-12 2008-05-07 有限状态机实验室公司 用于检测计算机系统中的安全漏洞的系统和方法
US7877595B2 (en) * 2004-03-23 2011-01-25 Harris Corporation Modular cryptographic device and related methods
US7565368B2 (en) * 2004-05-04 2009-07-21 Next It Corporation Data disambiguation systems and methods
US7603705B2 (en) * 2004-05-04 2009-10-13 Next It Corporation Methods and systems for enforcing network and computer use policy
US8234686B2 (en) * 2004-08-25 2012-07-31 Harris Corporation System and method for creating a security application for programmable cryptography module
US8887287B2 (en) * 2004-10-27 2014-11-11 Alcatel Lucent Method and apparatus for software integrity protection using timed executable agents
US7769175B2 (en) * 2004-11-24 2010-08-03 Research In Motion Limited System and method for initiation of a security update
US7961883B2 (en) 2004-11-24 2011-06-14 Research In Motion Limited System and method for securing a personalized indicium assigned to a mobile communications device
CN100489728C (zh) * 2004-12-02 2009-05-20 联想(北京)有限公司 一种建立计算机中可信任运行环境的方法
US8239939B2 (en) * 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
US8225392B2 (en) * 2005-07-15 2012-07-17 Microsoft Corporation Immunizing HTML browsers and extensions from known vulnerabilities
CN100346252C (zh) * 2005-09-28 2007-10-31 珠海金山软件股份有限公司 计算机软件安全漏洞修复装置和方法
CN102904749B (zh) 2005-10-05 2015-12-09 拜尔斯安全公司 采用安全设备保护网络装置的方法、安全设备和数据网络
US20070299776A1 (en) * 2005-12-06 2007-12-27 Frustaci Michael V Method for preventing medical fraud
US7904278B2 (en) * 2006-05-02 2011-03-08 The Johns Hopkins University Methods and system for program execution integrity measurement
US8185737B2 (en) 2006-06-23 2012-05-22 Microsoft Corporation Communication across domains
EP1870829B1 (en) 2006-06-23 2014-12-03 Microsoft Corporation Securing software by enforcing data flow integrity
GB2443845B (en) * 2006-10-23 2011-02-02 Advanced Risc Mach Ltd Spurious signal detection
US8166544B2 (en) * 2007-11-09 2012-04-24 Polytechnic Institute Of New York University Network-based infection detection using host slowdown
KR101224319B1 (ko) * 2007-12-21 2013-01-21 제너럴 인스트루먼트 코포레이션 디지털 미디어의 비인가 사용을 방지하기 위한 시스템 및 방법
US8887159B2 (en) * 2008-10-01 2014-11-11 Microsoft Corporation Flexible and scalable operating system achieving a fast boot and reliable operation
US20100205014A1 (en) * 2009-02-06 2010-08-12 Cary Sholer Method and system for providing response services
US20110055534A1 (en) * 2009-08-26 2011-03-03 Chung Chieh-Fu Management Method for Security of Computer Device
US8386381B1 (en) * 2009-12-16 2013-02-26 Jpmorgan Chase Bank, N.A. Method and system for detecting, monitoring and addressing data compromises
CN102812431A (zh) 2010-03-22 2012-12-05 Lrdc系统有限公司 用于识别与保护一组源数据的完整性的方法
CN102214134B (zh) * 2010-04-12 2015-08-12 腾讯科技(深圳)有限公司 一种计算机进程终止系统和方法
CN101968766B (zh) * 2010-10-21 2012-09-05 上海交通大学 计算机程序实际运行时触发软件漏洞的检测系统
EP2466506A1 (fr) * 2010-12-17 2012-06-20 Gemalto SA Procédé dynamique de contrôle de l'intégrité de l'exécution d'un code exécutable
US8909930B2 (en) * 2011-10-31 2014-12-09 L-3 Communications Corporation External reference monitor
US9026801B2 (en) * 2012-04-26 2015-05-05 Hewlett-Packard Development Company, L.P. System call interception
WO2013184108A1 (en) 2012-06-06 2013-12-12 Empire Technology Development Llc Software protection mechanism
BR112015002316A2 (pt) 2012-08-03 2017-07-04 Univ North Carolina State métodos, sistemas, e meios legíveis por computador para monitoramento ativo, proteção de memória e verificação de integridade de dispositivos alvos
US9720716B2 (en) * 2013-03-12 2017-08-01 Intel Corporation Layered virtual machine integrity monitoring
US9521032B1 (en) * 2013-03-14 2016-12-13 Amazon Technologies, Inc. Server for authentication, authorization, and accounting
US20150052616A1 (en) 2013-08-14 2015-02-19 L-3 Communications Corporation Protected mode for securing computing devices
US10122755B2 (en) 2013-12-24 2018-11-06 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for detecting that an attacker has sent one or more messages to a receiver node
US9542263B2 (en) 2014-09-24 2017-01-10 Nxp Usa, Inc. Electronic device having a runtime integrity checker
US9628488B1 (en) 2015-04-08 2017-04-18 Jpmorgan Chase Bank, N.A. Method and system for sensitive data abstraction
US9667790B1 (en) 2015-04-08 2017-05-30 Jpmorgan Chase Bank, N.A. Method and system for conveying context data in a multi-channel and omni-channel environment
EP3355218A1 (en) * 2017-01-26 2018-08-01 Gemalto Sa Method to secure a software code
US10360403B2 (en) 2017-04-12 2019-07-23 International Business Machines Corporation Cognitive API policy manager
EP3696698A1 (en) * 2019-02-18 2020-08-19 Verimatrix Method of protecting a software program against tampering
EP3699851B1 (de) * 2019-02-19 2022-02-09 VR Payment GmbH Ableitung eines tokens mittels eines transaktions-bezogenen einmalschlüssels
US11269999B2 (en) * 2019-07-01 2022-03-08 At&T Intellectual Property I, L.P. Protecting computing devices from malicious tampering

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2569092B2 (ja) * 1987-12-11 1997-01-08 株式会社日立製作所 入出力機器制御プログラムのアドレス解決方法
US5345587A (en) * 1988-09-14 1994-09-06 Digital Equipment Corporation Extensible entity management system including a dispatching kernel and modules which independently interpret and execute commands
US5504814A (en) * 1991-07-10 1996-04-02 Hughes Aircraft Company Efficient security kernel for the 80960 extended architecture
US5469571A (en) * 1991-07-15 1995-11-21 Lynx Real-Time Systems, Inc. Operating system architecture using multiple priority light weight kernel task based interrupt handling
JP4156663B2 (ja) * 1994-04-05 2008-09-24 インテル・コーポレーション ネットワーク内でプログラムを監視し、制御する方法および装置
US6658465B1 (en) * 1997-08-25 2003-12-02 Intel Corporation Method and apparatus for monitoring and controlling programs in a network
US5530758A (en) * 1994-06-03 1996-06-25 Motorola, Inc. Operational methods for a secure node in a computer network
US5721922A (en) * 1994-10-13 1998-02-24 Intel Corporation Embedding a real-time multi-tasking kernel in a non-real-time operating system
US5903752A (en) * 1994-10-13 1999-05-11 Intel Corporation Method and apparatus for embedding a real-time multi-tasking kernel in a non-real-time operating system
WO1996035167A1 (en) * 1995-05-05 1996-11-07 Apple Computer, Inc. System and method for providing cooperative interrupts in a preemptive task scheduling environment
US6377994B1 (en) * 1996-04-15 2002-04-23 International Business Machines Corporation Method and apparatus for controlling server access to a resource in a client/server system
AU1551097A (en) * 1996-07-25 1998-02-20 Mark David James Bowyer Immobilisation protection system for electronic components
US5995745A (en) * 1996-12-23 1999-11-30 Yodaiken; Victor J. Adding real-time support to general purpose operating systems
US5958010A (en) * 1997-03-20 1999-09-28 Firstsense Software, Inc. Systems and methods for monitoring distributed applications including an interface running in an operating system kernel
US5987621A (en) * 1997-04-25 1999-11-16 Emc Corporation Hardware and software failover services for a file server
US6157959A (en) * 1997-07-03 2000-12-05 Tandem Computers, Incorporated Method and apparatus for providing portable kernel-mode support for fast interprocess communication
US6144739A (en) * 1998-01-20 2000-11-07 Motorola, Inc. Computer network protection using cryptographic sealing software agents and objects
US6137862A (en) * 1998-03-16 2000-10-24 Mci Communications Corporation Failover mechanism for computer/telephony integration monitoring server
US6243753B1 (en) * 1998-06-12 2001-06-05 Microsoft Corporation Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters
US6061709A (en) * 1998-07-31 2000-05-09 Integrated Systems Design Center, Inc. Integrated hardware and software task control executive
US6330670B1 (en) * 1998-10-26 2001-12-11 Microsoft Corporation Digital rights management operating system
US6385643B1 (en) * 1998-11-05 2002-05-07 Bea Systems, Inc. Clustered enterprise Java™ having a message passing kernel in a distributed processing system
US6260049B1 (en) * 1998-11-10 2001-07-10 Electronic Paper Solutions, Inc. Automated shelf management system and process for tracking and purging file folders in a file storage facility
US6640242B1 (en) * 1999-01-29 2003-10-28 Microsoft Corporation Voice access through a data-centric network to an integrated message storage and retrieval system
EP1056010A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Data integrity monitoring in trusted computing entity
EP1055990A1 (en) * 1999-05-28 2000-11-29 Hewlett-Packard Company Event logging in a computing platform
US6161709A (en) * 1999-08-13 2000-12-19 John Sterling Corporation Suspended shelf mounting system
US20010044904A1 (en) * 1999-09-29 2001-11-22 Berg Ryan J. Secure remote kernel communication
US6385463B1 (en) * 1999-10-26 2002-05-07 Qualcomm Incorporated Wireless communication device with detachable flip keyboard
US6961765B2 (en) * 2000-04-06 2005-11-01 Bbx Technologies, Inc. System and method for real time monitoring and control of networked computers
GB0020370D0 (en) 2000-08-18 2000-10-04 Hewlett Packard Co Trusted device
US7398389B2 (en) * 2001-12-20 2008-07-08 Coretrace Corporation Kernel-based network security infrastructure
AU2003202876A1 (en) * 2002-01-04 2003-07-24 Internet Security Systems, Inc. System and method for the managed security control of processes on a computer system
US7003691B2 (en) * 2002-06-28 2006-02-21 Hewlett-Packard Development Company, L.P. Method and apparatus for seeding differences in lock-stepped processors
US7152242B2 (en) * 2002-09-11 2006-12-19 Enterasys Networks, Inc. Modular system for detecting, filtering and providing notice about attack events associated with network security
CN100386740C (zh) 2002-12-12 2008-05-07 有限状态机实验室公司 用于检测计算机系统中的安全漏洞的系统和方法

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101741838B (zh) * 2008-11-18 2013-07-31 谷歌公司 用于减少冗余数据块或其传输的方法和系统
CN102272770A (zh) * 2009-02-16 2011-12-07 松下电器产业株式会社 篡改监视系统、管理装置及篡改管理方法
CN102272770B (zh) * 2009-02-16 2015-07-01 松下电器产业株式会社 篡改监视系统、管理装置及篡改管理方法
CN101847121A (zh) * 2010-05-07 2010-09-29 北京大学 一种软件漏洞挖掘方法
CN103425118A (zh) * 2012-05-16 2013-12-04 费希尔-罗斯蒙特系统公司 用于识别过程控制系统的完整性降级的方法和装置
CN104077186A (zh) * 2013-03-25 2014-10-01 中微半导体设备(上海)有限公司 内嵌实时内核的操作系统及内嵌方法
CN104077127B (zh) * 2013-03-29 2018-11-06 阿尔斯通运输科技简易股份公司 执行彼此交织的安全软件应用和非安全软件应用的方法
CN104077127A (zh) * 2013-03-29 2014-10-01 阿尔斯通运输科技简易股份公司 执行彼此交织的安全软件应用和非安全软件应用的方法
CN105279428A (zh) * 2014-07-16 2016-01-27 通用电气公司 用于在执行期间验证应用程序的真实性的系统和方法
CN106663164A (zh) * 2014-08-28 2017-05-10 高通股份有限公司 用于提高便携式计算设备(pcd)中的处理器的安全性的系统和方法
CN105471877A (zh) * 2015-12-03 2016-04-06 小米科技有限责任公司 证明资料获取方法及装置
CN105471877B (zh) * 2015-12-03 2019-09-17 北京小米支付技术有限公司 证明资料获取方法及装置
US11004163B2 (en) 2015-12-03 2021-05-11 Xiaomi Inc. Terminal-implemented method, server-implemented method and terminal for acquiring certification document
CN106790280A (zh) * 2017-02-22 2017-05-31 深信服科技股份有限公司 网络攻击的应急排查方法及装置
CN110224970A (zh) * 2018-03-01 2019-09-10 西门子公司 一种工业控制系统的安全监视方法和装置
US11029676B2 (en) 2018-03-01 2021-06-08 Siemens Aktiengesellschaft Safety monitoring method and apparatus for an industrial control system
CN110224970B (zh) * 2018-03-01 2021-11-23 西门子公司 一种工业控制系统的安全监视方法和装置

Also Published As

Publication number Publication date
US20040123137A1 (en) 2004-06-24
US20130145467A1 (en) 2013-06-06
EP1584034A2 (en) 2005-10-12
US20100011444A1 (en) 2010-01-14
EP1584034B1 (en) 2017-05-17
CA2509579A1 (en) 2004-07-01
WO2004055634A3 (en) 2005-06-23
CA2509579C (en) 2011-10-18
AU2003302996A1 (en) 2004-07-09
WO2004055634A2 (en) 2004-07-01
US8032936B2 (en) 2011-10-04
US8793794B2 (en) 2014-07-29
AU2003302996A8 (en) 2004-07-09
US8375448B2 (en) 2013-02-12
US7587763B2 (en) 2009-09-08
CN100386740C (zh) 2008-05-07
US20120066766A1 (en) 2012-03-15
EP1584034A4 (en) 2010-03-03

Similar Documents

Publication Publication Date Title
CN100386740C (zh) 用于检测计算机系统中的安全漏洞的系统和方法
CN110582988B (zh) 安全的系统操作
US7707429B2 (en) System and method to proactively detect software tampering
US9059994B2 (en) System utilizing a secure element
US8930705B1 (en) System and method for authenticating remote execution
EP1055990A1 (en) Event logging in a computing platform
AU2009200459A1 (en) Systems and Methods for the Prevention Of Unauthorized Use and Manipulation of Digital Content Related Applications
US20070266434A1 (en) Protecting Applications Software Against Unauthorized Access, Reverse Engineering or Tampering
CN116962076A (zh) 基于区块链的物联网零信任系统
Masri et al. Using dynamic information flow analysis to detect attacks against applications
US7100205B2 (en) Secure attention instruction central processing unit and system architecture
US8336107B2 (en) System and methods for defending against root
KR102086375B1 (ko) 악성 소프트웨어에 대한 실시간 예방 및 사후 복구를 위한 보안 시스템 및 그 방법
WO2007055729A2 (en) Protecting applications software against unauthorized access, reverse engineering or tampering
Treaster et al. Detection of privilege escalation for linux cluster security
Bowles et al. Threat effects analysis: Applying FMEA to model computer system threats
McDermott et al. Practical defenses against storage jamming
Uemura et al. A security patch management model
Kanaskar Dynamical system approach to system call analysis for host based intrusion detection
MCDERMOTT Survivable Applications

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: INTELLECTUAL VENTURES FOUNDATION 73 LLC

Free format text: FORMER OWNER: FINITE STATE MACHINE LABS INC.

Effective date: 20110906

C41 Transfer of patent application or patent right or utility model
C56 Change in the name or address of the patentee
CP02 Change in the address of a patent holder

Address after: Texas USA

Patentee after: Intellectual Ventures Fund 73 LLC

Address before: New Mexico USA

Patentee before: Intellectual Ventures Fund 73 LLC

TR01 Transfer of patent right

Effective date of registration: 20110906

Address after: Nevada

Patentee after: Intellectual risk fund 73 LLC

Address before: Texas USA

Patentee before: Intellectual Ventures Fund 73 LLC

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20080507

CF01 Termination of patent right due to non-payment of annual fee