CN106104553A - 用于检测程序代码的篡改的设备和方法 - Google Patents
用于检测程序代码的篡改的设备和方法 Download PDFInfo
- Publication number
- CN106104553A CN106104553A CN201580013172.5A CN201580013172A CN106104553A CN 106104553 A CN106104553 A CN 106104553A CN 201580013172 A CN201580013172 A CN 201580013172A CN 106104553 A CN106104553 A CN 106104553A
- Authority
- CN
- China
- Prior art keywords
- program code
- data
- execution environment
- equipment according
- described program
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000001514 detection method Methods 0.000 claims abstract description 17
- 230000006870 function Effects 0.000 claims description 16
- 244000035744 Hura crepitans Species 0.000 claims description 3
- 230000000052 comparative effect Effects 0.000 claims 4
- 238000012795 verification Methods 0.000 claims 1
- 238000004590 computer program Methods 0.000 description 9
- 238000004364 calculation method Methods 0.000 description 6
- 238000011156 evaluation Methods 0.000 description 4
- 241000700605 Viruses Species 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004891 communication Methods 0.000 description 2
- 238000012790 confirmation Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000008569 process Effects 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- ZXQYGBMAQZUVMI-GCMPRSNUSA-N gamma-cyhalothrin Chemical compound CC1(C)[C@@H](\C=C(/Cl)C(F)(F)F)[C@H]1C(=O)O[C@H](C#N)C1=CC=CC(OC=2C=CC=CC=2)=C1 ZXQYGBMAQZUVMI-GCMPRSNUSA-N 0.000 description 1
- 208000015181 infectious disease Diseases 0.000 description 1
- 238000011016 integrity testing Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1425—Traffic logging, e.g. anomaly detection
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
- G06F21/54—Monitoring 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 by adding security routines or objects to programs
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring 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
- G06F21/53—Monitoring 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 by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1408—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic by monitoring network traffic
- H04L63/1416—Event detection, e.g. attack signature detection
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
- Debugging And Monitoring (AREA)
Abstract
提出一种用于检测程序代码(22)的篡改的设备(10),其中程序代码(22)被设立用于由计算系统(20)上的执行环境(21)执行。设备(10)具有:比较单元(11),所述比较单元被设立用于,当执行环境(21)将结束指令传递给程序代码(22)时,将程序代码(22)的数据与参考数据(23)进行比较以提供比较结果;和检测单元(12),所述检测单元被设立用于,基于比较结果检测程序代码(22)的篡改。通过所提出的设备能够防止:如果发生程序代码的入侵或篡改,在执行程序代码期间产生或使用的数据在程序代码结束之后继续使用。此外,提出一种用于检测程序代码的篡改的方法。
Description
技术领域
本发明涉及一种用于检测程序代码的篡改的设备。此外,本发明涉及一种具有这种设备的计算系统以及一种用于检测程序代码的篡改的相应的方法。
背景技术
尤其在安全关键的系统、即功能和运行安全性处于前台的系统中,设备或系统完整性的保护、即安装的软件或固件的不变性的保护是重要因素。为了保证保护设备完整性或还有配置参数,在此支持计算结果(数据)的完整性进而设备的功能。
从WO 2012/135192 A2例如已知,通过虚拟机监视器(VMM)监视,与虚拟机的通信是否潜在地包含恶意代码。
普遍已知病毒扫描器,所述病毒扫描器用于侦测恶意功能,如计算机病毒或特洛伊木马。此外,已知入侵侦测系统(Intrusion Detection Systems),所述入侵侦测系统应当侦测指向计算机系统或计算机网络的入侵(也见http://de.wikipedia.org/wiki/Intrusion_Detection_System)。
从DE 10 2006 036 111 B3已知一种用于将消息从第一区安全地传递到第二区中的方法和检查系统。在此,将消息从第一区借助于数据二极管传递至第三区的评估单元。在此,将消息的副本提供给不同的分析单元,所述分析单元检查所述副本并且根据所有分析单元的评估结果必要时转发到第二区中。分析单元能够在分析完成之后重置,以便避免通过恶意软件造成的可能的损坏。
此外,已知所谓的“安全启动”(参见http://www.webopedia.com/TERM/M/microsoft_secure_boot.html)。在此,在起动或启动期间,提供安全启动功能,以便在起动系统的启动过程期间,防止恶意软件。
同样已知一种运行时间完整性检查(参见http://www.intel.com/content/dam/doc/white-paper/inter-it-security-trusted-execution-technology-paper.pdf)。在此,同样在起动系统或应用期间,执行对恶意软件或篡改的检查。
发明内容
在所述背景下,本发明的任务在于,以简单的方式在程序代码结束之后侦测程序代码的篡改。
据此,提出一种用于检测程序代码的篡改的设备,其中程序代码被设立用于由计算系统上的执行环境执行。设备具有:比较单元,所述比较单元被设立用于,在执行环境将结束指令传递给程序代码之后,将程序代码的数据与参考数据进行比较以提供比较结果;和检测单元,所述检测单元被设立用于,基于比较结果来检测程序代码的篡改。
结束指令能够详尽地例如作为运行系统事件传递给程序代码,使得程序代码能够对此做出反应。同样可以的是,通过下述方式暗含地传递结束指令:通过执行环境停止继续执行程序代码。将结束指令传递给程序代码例如能够通过计时器、执行环境的运行介质监控功能经由控制信号或经由用户接口发起。
如已经在上文中阐述的那样,尤其在安全关键的区域中,计算结果的、例如程序代码的结果的完整性是重要要求。在此,重要的是保证侦测在程序代码的运行时间期间进行的入侵、即程序代码的篡改并且能够对此做出反应。通过提出的设备能够实现,检查程序代码的数据,以便检测可能的改变并且相应地做出反应。
在该上下文中将程序代码理解成下述应用或计算机程序,所述应用或计算机程序在计算系统、例如计算机上的嵌入的执行环境中执行。在执行期间,程序代码产生、改变或使用在本文中称作为程序代码的数据的数据。在篡改程序代码的情况下,所述数据同样改变。即如果现在将基于篡改的程序代码的所述改变的数据与对应于如通过未篡改的程序代码形成或存在的数据的参考数据进行比较,则能够以简单的方式在程序代码结束之后或在程序代码结束期间侦测程序代码的篡改。
比较单元能够将程序代码的数据在执行环境将结束指令传递给程序代码之后的任意时间与参考数据进行比较。能够根据比较结果阻止程序代码的重新执行。
执行环境例如能够是在计算系统上安装的运行系统。
在该上下文中,能够将篡改理解成每个不允许的从外部到程序代码中的侵入,所述侵入引起程序代码的或与所述程序代码关联的数据上的不期望的改变。因此,程序代码的篡改也能够引起执行环境的不期望的改变或所述执行环境的篡改。
相应的单元、例如比较单元或检测单元能够在硬件技术上和/或也能够在软件技术上实现。在硬件技术上实现的情况下,相应的单元能够构成为设备或者设备的一部分,例如构成为计算机或微控制器。在软件技术上实现的情况下,相应的单元能够构成为计算机程序产品、函数、例程、程序代码的一部分或可执行的对象。
根据一个实施方式,程序代码的数据是程序代码本身、通过程序代码产生的数据和/或通过程序代码使用的数据。
因为应该检测程序代码的篡改,所以为了检查使用下述数据,所述数据涉及程序代码本身,即是程序代码的组成部分;或者使用下述数据,所述数据通过程序代码产生或改变。改变例如也能够通过由程序代码使用数据进行。
根据另一个实施方式,执行环境是安全的执行环境,尤其是虚拟机或虚拟机监视器或管理程序或沙盒(Standbox)。
将安全的执行环境理解成运行时间环境(runtime environment,运行环境)或如计算机程序的执行环境,所述计算机程序与应用程序、即不能够直接与运行系统或直接与硬件部件通信的程序代码一起执行,并且使得能够通过下述方式在相应的计算机或计算系统上运行、即执行:所述计算机程序在应用程序和运行系统之间居间协调。这种执行环境的示例是虚拟机(VM)、虚拟机监视器(VMM)、程序管理、分离内核(Separation Kernel)或沙盒。
根据另一个实施方式,比较单元此外被设立用于,当计算系统将其他的结束指令传递到执行环境上时,将程序代码的数据与其他的参考数据进行比较。
其他的参考数据能够是如在上文中描述的参考数据。在该情况下,当不仅程序代码、而且执行环境结束时,比较单元才执行上述比较。
在另一个实施方式中,比较单元被设立用于,执行两个比较,在程序代码结束之后/期间执行第一比较,并且在执行环境结束之后/期间执行第二比较。比较单元能够为每次比较使用不同的参考数据。
根据另一个实施方式,其他的参考数据是分配给执行环境的校验和。此外,程序代码的数据相应于执行环境的在程序代码的运行时间期间通过程序代码产生和/或使用的数据。
根据该实施方式,针对执行环境存在校验或检验和,例如数字标志、信息认证码(MAC)或哈希值。将程序代码加载到执行环境中并且执行,所述程序代码实现确定的功能、例如计算和提供结果。将结果在计算之后保存在数据存储器中。在执行程序代码之后,结束执行环境。执行环境的存储器内容、即执行环境的数据现在能够通过与原型(即其他的参考数据)形成检验和来检查改变。如果检测到执行环境本身的存储器内容的改变,那么这能够作为篡改企图通过程序代码侦测。
根据另一个实施方式,比较单元被设立用于,在起动执行环境时,将执行环境的数据与其他的参考数据进行比较。
除了在程序代码和/或执行环境结束之后的检查、即事后检查之外,在起动执行环境时也能够进行检查。这也称作为安全启动。
根据另一个实施方式,程序代码的数据是存储在计算系统的存储器的确定的存储区域中的数据,其中在执行程序代码期间不需要所述确定的存储区域。
根据该实施方式,设有检查部位或检查码或检查存储区域。所述检查部位或检查码或检查存储区域对于程序代码的本来的功能不需要。然而,当程序代码通过恶意软件篡改时,在这些检查存储区域上能够侦测到篡改。这具有下述优点,替代可能难于检查的主功能,能够检查“牺牲功能”。主功能例如当其代码频繁更新时能够是难于检测的,使得为检查确定参考值是耗费的。
根据另一个实施方式,检测单元被设立用于,将检测到的篡改存储在日志表中。
所述日志表或各个日志项能够传递给日志服务器。所述日志服务器能够是网络中的中央计算机,计算系统也连接到所述网络中。以所述方式,网络之内的多个计算系统能够彼此交换其日志项或检测到的篡改。
根据另一个实施方式,设备具有控制单元,所述控制单元被设立用于,在检测到篡改的情况下从检测单元接收篡改警报信号。
控制单元能够基于这样的信号决定,应该如何对检测到的篡改进行处理。篡改警报信号也能够具有关于被篡改的数据的信息。
根据另一个实施方式,控制单元被设立用于,根据接收的篡改警报信号来阻止程序代码的和/或执行环境的至少一个功能。
以所述方式能够防止,继续使用被篡改的数据。为了防止篡改的持久影响,也能够足够的是,仅阻止程序代码的和/或执行环境的功能的与篡改关联和/或访问被篡改的数据的部分。
根据另一个实施方式,控制单元被设立用于,根据接收的篡改警报信号来阻止程序代码的和/或执行环境的重新执行。
根据该实施方式,防止完全重启程序代码和/或执行环境。通过防止重新启动,能够避免新的或继续的感染或篡改。
根据另一个实施方式,程序代码被设立用于执行以下功能,所述功能产生和存储结果。此外,检测单元被设立用于,将产生的结果基于比较结果标记成被损害的或未被损害的。
产生的结果也能够标记成可能被损害的。基于所述标记,能够关于继续使用结果做出决定。
根据另一个实施方式,控制单元被设立用于,丢弃被标记成被损害的结果和/或存储被标记成未被损害的结果。
存储的结果能够继续使用和输出。丢弃的结果能够相应地不输出。例如,能够暂存程序代码的结果。如果整体性检查、即对程序代码的篡改的检查得出所述程序代码是未篡改的,那么进行“委任(Commit)”,即结果的连续的确认或接受。在其他情况下,能够取消所述程序代码(roll back)。
程序代码例如能够是用于管理的图像、例如经由网络接口,或者是用于提供诊断数据的图像。在此,需要与可能不可信的外部网络的网络连接。在此,图像现在能够起动并且被用于所设置的任务。在退出或结束网络连接时,图像结束并且其完整性借助于在此描述的设备来检查。根据完整性检查的结果,接收并且持久地存储新的配置设定,或者将结果提供给后台诊断服务器,并且根据确认,服务器将之前提供的诊断数据作为有效的接受。
此外,所描述的设备的优点在于下述可能性,侦测潜在被损害的程序代码进而根据执行环境的整体性检查在程序处理之后检查结果的有效性。由此,例如还没有侦测到的或者对其还不存在用于病毒扫描器等的模式的恶意软件(流氓软件)能够不引起结果的失真。同样可以的是,所提出的设备用于找出恶意软件。
根据另一个方面,提出一种计算系统,所述计算系统具有用于执行程序代码的执行环境和用于检测程序代码的篡改的设备,如其在本文中阐述的那样。
通过设备检查和检测篡改在计算系统本身上进行,所述计算系统提供执行环境。
在另一个实施方式中,设备为了检测篡改能够构成为单独的硬件部件,例如构成为所谓的硬件监视器,所述硬件部件执行监控。因此,能够检测并且随后检查存储器区域的校验和。写入到暂存器中的数据在完成检查之后才拷贝到第二存储器中(例如持久的配置存储器)。在另一个实施方式中,设备是服务器的组成部分,例如将图像或图像的校验值(哈希值、检验和)在执行图像(即程序代码的图像)之后提供给所述服务器。
根据另一个方面,提出一种用于检测程序代码的篡改的方法,其中程序代码被设立用于,由计算系统上的执行环境执行。方法具有下述步骤:在执行环境将结束指令传递给程序代码之后,将程序代码的数据与参考数据进行比较,以提供比较结果;和基于比较结果检测程序代码的篡改。
此外,提出一种计算机程序产品,所述计算机程序产品在程序控制的装置上促使执行在上文中描述的方法。
计算机程序产品、例如计算机程序介质例如能够作为存储介质、例如存储卡、USB棒、CD-ROM、DVD或也以从网络中的服务器可下载的文件的形式提供或供应。这例如能够在无线的通信网络中通过传递具有计算机程序产品或计算机程序介质的相应的文件来实现。
针对提出的设备描述的实施方式和特征相应地适用于所提出的方法。
本发明的其他可能的实现方案也包括在上文中或者在下文中关于实施例描述的特征或实施方式的没有详细提到的组合。在此,本领域技术人员也将单独方面作为改进或补充添加至本发明的相应的基本形式。
附图说明
本发明的其他有利的设计方案和方面是从属权利要求的以及本发明的在下文中描述的实施例的主题。此外,根据优选的实施方式参考附图详细阐述本发明。
图1示出用于检测程序代码的篡改的设备的一个实施例的示意的方框图;
图2示出具有用于检测程序代码的篡改的设备和执行环境的计算系统的示意的方框图;
图3示出用于检测程序代码的篡改的方法的第一实施例的示意的流程图;和
图4示出用于检测程序代码的篡改的方法的第二实施例的示意的流程图。
在图中,只要没有另作说明,相同的或功能相同的元件配备有相同的附图标记。
具体实施方式
图1示出用于检测程序代码22的篡改的设备10。
程序代码22通过计算系统20上的执行环境21执行。程序代码22例如能够是下述应用,所述应用在执行环境21、如虚拟机中执行。
设备10具有比较单元11和检测单元12。
在执行环境21将结束指令传递给程序代码22之后,比较单元10将程序代码22的数据与参考数据23进行比较。程序代码22的数据为通过程序代码22产生、使用或改变的数据,也为执行环境21的数据或程序代码22本身。基于比较,比较单元11为检测单元12提供比较结果。
检测单元12基于比较结果来决定,是否存在程序代码22的篡改。程序代码的篡改能够引起执行环境的或其他数据的篡改。
当检测到篡改时,检测单元12将篡改警报信号14发送给控制单元13。控制单元13于是能够阻止或丢弃被篡改的数据,防止重新执行程序代码22或者采取其他措施作为对篡改的反应。
在图2中示出计算系统20的一个实施方式。
计算系统20由硬件25构成。在所述硬件25上设有计算系统20的运行系统24。所述计算系统又提供执行环境21。执行环境21在此能够为虚拟机。虚拟机21具有虚拟的硬件层27以及虚拟的运行系统26。
在虚拟机21之内加载应用22,即程序代码22。所述应用被执行并且产生确定的结果,所述结果暂存在存储器(共享数据存储器)23中。用于检测程序代码22的篡改的设备10、也称作为完整性检查单元或ICU,例如在虚拟机21关机之后对程序存储器23针对可能的改变进行检查并且将所述改变经由警报模块作为篡改警报信号14来通知。
在执行环境21结束之后对执行环境21的所述检查能够理解成安全启动的相对物。不仅在起动时和在执行期间,而且在程序代码22和/或执行环境21的执行结束之后,进行完整性测试。检查例如能够进行成,使得将虚拟机的图像(VM图像)在结束之后存储并且对存储的图像进行检查。在直接执行的执行环境21中,能够在关机时或在下次重新起动时检查具有执行环境的代码的存储器内容。启动加载程序或BIOS或用于启动和关机的不可改变的ROM代码因此能够检查已经去激活的执行环境21的存储器内容。对此,例如能够将执行的图像与参考图像23进行比较,使得在启动过程期间从闪存中加载到RAM存储器中。
图3示出用于检测程序代码22的篡改的方法,如其被上文中描述的设备10所执行。
在第一步骤101中,在执行环境21将结束指令传递给程序代码22之后,将程序代码22的数据与参考数据23进行比较,以提供比较结果。
在第二步骤102中,基于比较结果检测程序代码22的篡改。
图4示出用于检测程序代码22的篡改的方法的另一个实施例。
在起动201方法之后,在可选的分支(具有虚线)中首先可以检查参考值23的存在或产生所述参考值。
首先检查,是否已经存在参考值23(步骤202)。在步骤203中决定,这是否是初始化阶段,即还不存在参考值23。如果是初始化阶段,那么在步骤204中,将参考值23存储在数据存储器23中并且方法随后在步骤205中继续进行。如果不是初始化阶段,那么直接过渡到步骤205。
在没有可选的步骤202-204的情况下,方法直接在步骤205中开始。
在步骤205中,加载执行环境21。随后,在步骤206中,加载程序代码22,例如用于执行计算和提供计算结果的应用。
在步骤207中,应用22计算结果并且将所述结果存储在数据存储器23中。随后,在步骤208中,将程序代码22以及执行环境21结束或关机。
在步骤209中,现在比较单元11将结果和参考值进行比较。如果比较成功(步骤210),即结果一致,那么释放结果用于进一步的使用(步骤211)。如果比较不成功,即结果不一致,那么输出篡改警报信号14(步骤212)。
虽然根据实施例描述本发明,但是本发明可多样地改进。
Claims (15)
1. 用于检测程序代码(22)的篡改的设备(10),其中所述程序代码(22)被设立用于由计算系统(20)上的执行环境(21)执行,所述设备具有:
比较单元(11),所述比较单元被设立用于,在所述执行环境(21)将结束指令传递给所述程序代码(22)之后,将所述程序代码(22)的数据与参考数据(23)进行比较以提供比较结果,和
检测单元(12),所述检测单元被设立用于,基于所述比较结果检测所述程序代码(22)的篡改。
2.根据权利要求1所述的设备,
其特征在于,
所述程序代码(22)的数据是所述程序代码(22)本身、通过所述程序代码(22)产生的数据和/或通过所述程序代码(22)使用的数据。
3.根据权利要求1或2所述的设备,
其特征在于,
所述执行环境(21)是安全的执行环境(21),尤其是虚拟机或沙盒。
4.根据权利要求1至3中任一项所述的设备,
其特征在于,
所述比较单元(11)还被设立用于,当所述计算系统(20)将其他的结束指令传递给所述执行环境(21)时,将所述程序代码(22)的数据与其他的参考数据进行比较。
5.根据权利要求4所述的设备,
其特征在于,
所述其他的参考数据是分配给所述执行环境(21)的校验和,并且所述程序代码(22)的数据对应于所述执行环境(21)的以下数据,所述数据在所述程序代码(22)的运行时间期间通过所述程序代码(22)产生和/或使用。
6.根据权利要求1至5中任一项所述的设备,
其特征在于,
所述比较单元(11)被设立用于,将所述执行环境(21)的数据在所述执行环境(21)起动时与其他的参考数据进行比较。
7.根据权利要求1至6中任一项所述的设备,
其特征在于,
所述程序代码(22)的数据是下述数据,所述数据存储在所述计算系统(20)的存储器(23)的确定的存储器区域中,其中在执行所述程序代码(22)期间不需要所述确定的存储器区域。
8.根据权利要求1至7中任一项所述的设备,
其特征在于,
所述检测单元(12)被设立用于,将检测的篡改存储在日志表中。
9.根据权利要求1至8中任一项所述的设备,
其特征在于控制单元(13),所述控制单元被设立用于,在检测到篡改的情况下从所述检测单元(12)接收篡改警报信号(14)。
10.根据权利要求9所述的设备,
其特征在于,
所述控制单元(13)被设立用于,根据接收的篡改警报信号(14),阻止所述程序代码(22)的和/或所述执行环境(21)的至少一个功能。
11.根据权利要求9或10所述的设备,
其特征在于,
所述控制单元(13)被设立用于,根据接收的篡改警报信号(14),阻止所述程序代码(22)的和/或所述执行环境(21)的重新执行。
12.根据权利要求1至11中任一项所述的设备,
其特征在于,
所述程序代码(22)被设立用于,执行产生和存储结果的功能,并且所述检测单元(12)被设立用于,将产生的结果基于所述比较结果标记成被损害的或未被损害的。
13.根据权利要求9至12中任一项所述的设备,
其特征在于,
所述控制单元(13)被设立用于,丢弃被标记成被损害的结果和/或存储被标记成未被损害的结果。
14. 一种计算系统(20),具有:
执行环境(21),用于执行程序代码(22),和
根据权利要求1至13中任一项所述的设备(10),用于检测所述程序代码(22)的篡改。
15. 用于检测程序代码(22)的篡改的方法,其中所述程序代码(22)被设立用于由计算系统(20)上的执行环境(21)执行,所述方法具有:
在所述执行环境(21)将结束指令传递给所述程序代码(22)之后,将所述程序代码(22)的数据与参考数据(23)进行比较(101)以提供比较结果,和
基于所述比较结果检测(102)所述程序代码(22)的篡改。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE102014204417.0A DE102014204417A1 (de) | 2014-03-11 | 2014-03-11 | Vorrichtung und Verfahren zum Detektieren einer Manipulation an einem Programmcode |
DE102014204417.0 | 2014-03-11 | ||
PCT/EP2015/052572 WO2015135704A1 (de) | 2014-03-11 | 2015-02-09 | Vorrichtung und verfahren zum detektieren einer manipulation an einem programmcode |
Publications (2)
Publication Number | Publication Date |
---|---|
CN106104553A true CN106104553A (zh) | 2016-11-09 |
CN106104553B CN106104553B (zh) | 2021-01-26 |
Family
ID=52573652
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201580013172.5A Active CN106104553B (zh) | 2014-03-11 | 2015-02-09 | 用于检测程序代码的篡改的设备和方法 |
Country Status (5)
Country | Link |
---|---|
US (1) | US10686812B2 (zh) |
EP (1) | EP3095065B1 (zh) |
CN (1) | CN106104553B (zh) |
DE (1) | DE102014204417A1 (zh) |
WO (1) | WO2015135704A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018129916A1 (zh) * | 2017-01-16 | 2018-07-19 | 华为技术有限公司 | 沙箱检测的方法、沙箱系统和沙箱设备 |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE102016207546A1 (de) * | 2016-05-02 | 2017-11-02 | Siemens Aktiengesellschaft | Verfahren und Integritätsprüfsystem zur rückwirkungsfreien Integritätsüberwachung |
US11058953B2 (en) * | 2019-07-26 | 2021-07-13 | Roblox Corporation | Detection of malicious games |
DE102019214541A1 (de) * | 2019-09-24 | 2021-03-25 | Siemens Aktiengesellschaft | Rechenvorrichtung und Verfahren zum Erkennen einer Bedrohung in einer virtuellen Einheit |
DE102023005101A1 (de) | 2023-12-11 | 2025-06-12 | Rolls-Royce Solutions GmbH | Vorrichtung zur Überwachung eines Steuergeräts und computerimplementiertes Verfahren zur Überwachung eines Steuergeräts |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070005992A1 (en) * | 2005-06-30 | 2007-01-04 | Travis Schluessler | Signed manifest for run-time verification of software program identity and integrity |
CN1969500A (zh) * | 2004-06-12 | 2007-05-23 | 微软公司 | 防护软件 |
US20070234070A1 (en) * | 1999-07-29 | 2007-10-04 | Intertrust Technologies Corp. | Software self-defense systems and methods |
CN101258504A (zh) * | 2005-09-08 | 2008-09-03 | 艾利森电话股份有限公司 | 用于用户友好装置验证的方法和布置 |
CN101789866A (zh) * | 2010-02-03 | 2010-07-28 | 国家保密科学技术研究所 | 高可靠性安全隔离与信息交换方法 |
US7779472B1 (en) * | 2005-10-11 | 2010-08-17 | Trend Micro, Inc. | Application behavior based malware detection |
CN101840361A (zh) * | 2009-03-17 | 2010-09-22 | 恩益禧电子股份有限公司 | 程序验证装置及其方法 |
Family Cites Families (18)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7581103B2 (en) | 2001-06-13 | 2009-08-25 | Intertrust Technologies Corporation | Software self-checking systems and methods |
US7748039B2 (en) * | 2002-08-30 | 2010-06-29 | Symantec Corporation | Method and apparatus for detecting malicious code in an information handling system |
US7891008B2 (en) | 2004-06-12 | 2011-02-15 | Microsoft Corporation | Profile protection |
DE102004054549B3 (de) * | 2004-11-11 | 2006-05-11 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Vorrichtung und Verfahren zum Detektieren einer Manipulation eines Informationssignals |
JP4843039B2 (ja) | 2005-09-08 | 2011-12-21 | テレフオンアクチーボラゲット エル エム エリクソン(パブル) | ユーザフレンドリ・デバイス認証方法および装置 |
US20080016339A1 (en) * | 2006-06-29 | 2008-01-17 | Jayant Shukla | Application Sandbox to Detect, Remove, and Prevent Malware |
DE102006036111B3 (de) | 2006-08-02 | 2008-01-31 | Siemens Ag | Verfahren und Prüfsystem zum sicheren Übertragen einer Nachricht von einer ersten Zone in eine zweite Zone |
US8701187B2 (en) * | 2007-03-29 | 2014-04-15 | Intel Corporation | Runtime integrity chain verification |
US8108856B2 (en) * | 2007-03-30 | 2012-01-31 | Intel Corporation | Method and apparatus for adaptive integrity measurement of computer software |
US8364973B2 (en) * | 2007-12-31 | 2013-01-29 | Intel Corporation | Dynamic generation of integrity manifest for run-time verification of software program |
US8868925B2 (en) * | 2008-12-09 | 2014-10-21 | Nvidia Corporation | Method and apparatus for the secure processing of confidential content within a virtual machine of a processor |
US20100251369A1 (en) * | 2009-03-25 | 2010-09-30 | Grant Calum A M | Method and system for preventing data leakage from a computer facilty |
US8826013B1 (en) * | 2009-09-23 | 2014-09-02 | Trend Micro Incorporated | Protection of customer data in cloud virtual machines using a central management server |
DE102011005209B4 (de) | 2011-03-07 | 2016-06-23 | Infineon Technologies Ag | Programmanweisungsgesteuerte Instruktionsflusskontrolle |
AU2012236739A1 (en) | 2011-03-28 | 2013-10-03 | Mcafee, Inc. | System and method for virtual machine monitor based anti-malware security |
US10496834B2 (en) * | 2011-10-25 | 2019-12-03 | Cupp Computing As | Secure computing system |
JP6114832B2 (ja) * | 2012-11-22 | 2017-04-12 | 華為技術有限公司Huawei Technologies Co.,Ltd. | 仮想マシンのための管理制御方法、装置及びシステム |
US20140181984A1 (en) * | 2012-12-21 | 2014-06-26 | International Business Machines Corporation | Method and apparatus for authentication of solution topology |
-
2014
- 2014-03-11 DE DE102014204417.0A patent/DE102014204417A1/de not_active Withdrawn
-
2015
- 2015-02-09 US US15/124,758 patent/US10686812B2/en active Active
- 2015-02-09 EP EP15705784.5A patent/EP3095065B1/de active Active
- 2015-02-09 WO PCT/EP2015/052572 patent/WO2015135704A1/de active Application Filing
- 2015-02-09 CN CN201580013172.5A patent/CN106104553B/zh active Active
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070234070A1 (en) * | 1999-07-29 | 2007-10-04 | Intertrust Technologies Corp. | Software self-defense systems and methods |
CN1969500A (zh) * | 2004-06-12 | 2007-05-23 | 微软公司 | 防护软件 |
US20070005992A1 (en) * | 2005-06-30 | 2007-01-04 | Travis Schluessler | Signed manifest for run-time verification of software program identity and integrity |
CN101258504A (zh) * | 2005-09-08 | 2008-09-03 | 艾利森电话股份有限公司 | 用于用户友好装置验证的方法和布置 |
US7779472B1 (en) * | 2005-10-11 | 2010-08-17 | Trend Micro, Inc. | Application behavior based malware detection |
CN101840361A (zh) * | 2009-03-17 | 2010-09-22 | 恩益禧电子股份有限公司 | 程序验证装置及其方法 |
CN101789866A (zh) * | 2010-02-03 | 2010-07-28 | 国家保密科学技术研究所 | 高可靠性安全隔离与信息交换方法 |
Non-Patent Citations (1)
Title |
---|
INTEL: "Evolution of Integrity Checking with Intel Trusted Execution Technology: an Intel IT Perspective", 《HTTPS://WWW.INTEL.COM/CONTENT/DAM/DOC/WHITE-PAPER/INTEL-IT-SECURITY-TRUSTED-EXECUTION-TECHNOLOGY-PAPER.PDF》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2018129916A1 (zh) * | 2017-01-16 | 2018-07-19 | 华为技术有限公司 | 沙箱检测的方法、沙箱系统和沙箱设备 |
CN108319850A (zh) * | 2017-01-16 | 2018-07-24 | 华为技术有限公司 | 沙箱检测的方法、沙箱系统和沙箱设备 |
Also Published As
Publication number | Publication date |
---|---|
US10686812B2 (en) | 2020-06-16 |
DE102014204417A1 (de) | 2015-09-17 |
WO2015135704A1 (de) | 2015-09-17 |
EP3095065A1 (de) | 2016-11-23 |
EP3095065B1 (de) | 2020-12-02 |
CN106104553B (zh) | 2021-01-26 |
US20170019420A1 (en) | 2017-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11645390B2 (en) | Cloud-based method to increase integrity of a next generation antivirus (NGAV) security solution in a virtualized computing environment | |
US10146571B2 (en) | Apparatus for hardware accelerated runtime integrity measurement | |
Zhang et al. | Hypercheck: A hardware-assistedintegrity monitor | |
Han et al. | A bad dream: Subverting trusted platform module while you are sleeping | |
CN109241745B (zh) | 一种计算平台的可信启动方法及装置 | |
EP2876572B1 (en) | Firmware-level security agent supporting operating system-level security in computer system | |
US20160224789A1 (en) | System and method for hypervisor-based security | |
US20150067763A1 (en) | Hardware and software execution profiling | |
US20130117006A1 (en) | Simulated boot process to detect introduction of unauthorized information | |
JP5951879B2 (ja) | オペレーティングシステムに対する悪意ある活動のレポート | |
US10803176B2 (en) | Bios security | |
CN106104553B (zh) | 用于检测程序代码的篡改的设备和方法 | |
CN107729069A (zh) | 一种安全启动显卡的方法、装置、计算机可读存储介质 | |
US9448888B2 (en) | Preventing a rollback attack in a computing system that includes a primary memory bank and a backup memory bank | |
CN107357908B (zh) | 一种虚拟机系统文件的检测方法与装置 | |
Frazelle | Securing the Boot Process: The hardware root of trust | |
US9785492B1 (en) | Technique for hypervisor-based firmware acquisition and analysis | |
Frazelle | Securing the boot process | |
US11822951B2 (en) | Hypercall authentication in a guest-assisted virtual machine introspection (VMI) implementation | |
KR101311367B1 (ko) | 메모리 보호기능 우회 공격 진단 장치 및 방법 | |
CN114692160A (zh) | 计算机安全可信启动的处理方法及装置 | |
De Oliveira et al. | Bezoar: Automated virtual machine-based full-system recovery from control-flow hijacking attacks | |
CN109977665B (zh) | 基于tpcm的云服务器启动过程防窃取和防篡改方法 | |
EP2729893A1 (en) | Security method and apparatus | |
KR20090000576A (ko) | 보안을 제공하는 장치 및 방법 |
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 |