CN108351770B - 用于安全地实施程序命令的方法和实施环境 - Google Patents

用于安全地实施程序命令的方法和实施环境 Download PDF

Info

Publication number
CN108351770B
CN108351770B CN201780001351.6A CN201780001351A CN108351770B CN 108351770 B CN108351770 B CN 108351770B CN 201780001351 A CN201780001351 A CN 201780001351A CN 108351770 B CN108351770 B CN 108351770B
Authority
CN
China
Prior art keywords
validity information
application
implementation
program
program command
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.)
Active
Application number
CN201780001351.6A
Other languages
English (en)
Other versions
CN108351770A (zh
Inventor
R.法尔克
K.菲舍尔
M.海因特尔
D.默利
H.阿绍尔
W.克拉森
A.普福
S.皮卡
D.施奈德
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.)
Siemens AG
Original Assignee
Siemens AG
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 Siemens AG filed Critical Siemens AG
Publication of CN108351770A publication Critical patent/CN108351770A/zh
Application granted granted Critical
Publication of CN108351770B publication Critical patent/CN108351770B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • 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/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability
    • 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
    • G06F21/577Assessing vulnerabilities and evaluating computer system security
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/52Binary to binary
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44589Program code verification, e.g. Java bytecode verification, proof-carrying code
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Stored Programmes (AREA)
  • Executing Machine-Instructions (AREA)

Abstract

本发明涉及一种用于安全地、计算机支持地实施应用的程序命令的方法(100),所述方法具有以下的方法步骤。所述方法包括用于接通(110)实施环境(400)的学习模式的方法步骤。所述方法包括用于在所述学习模式接通期间在所述实施环境(400)中实施(120)所述应用的另一方法步骤,其中对于所选择的预给定的应用场景运行所述应用的程序命令,并且所述实施环境(400)将应用场景特定的第一有效性信息分配给所运行的程序命令(210,220,310,320)。所述方法包括用于接通(130)所述实施环境(400)的工作模式的方法步骤,其中在所述工作模式中,所述实施环境(400)检查所述程序命令的第一有效性信息,并且其中所述实施环境(400)根据所述程序命令的有效性信息实施所述程序命令。

Description

用于安全地实施程序命令的方法和实施环境
技术领域
本发明涉及一种用于安全地实施应用的程序命令的方法和实施环境。
背景技术
在现代的自动化系统中,使用IT-系统和应用用于控制。在数字化过程中,通过通用的多用途系统接替高度专业化的单个解决方案。通过(应用的)动态配置来使这些多用途系统匹配于相应的应用目的。不用于专门的应用目的的功能性在此保留在该系统上。原则上,多余的/未被利用的功能性是可能的风险。该功能可以(通过纂改)来有意地或无意地被实施并且导致所不期望的系统状态。一个例子是在SSL/TLS中的心脏出血(Heartbleed)错误,该错误长时间隐藏在所涉及的SSL/TLS库的典型地未被需要的部分中。然而,该功能在大多数系统上可用并且可能被充分利用。
由现有技术已知文献US 8,531,247 B2、文献US 8,892,616 B2、文献US 8,300,811 B2、文献US 9,147,088 B2、文献EP 2 605 445 B1、文献EP 2 870 565 A1、文献EP 2891 102 A1 和文献US 8 843 761 B2。
发明内容
本发明的任务是,提供一种用于安全地实施应用的程序命令的方法和实施环境,所述方法可以以低的耗费来执行。
所述任务通过在独立权利要求中说明的特征来解决。在从属权利要求中示出本发明的有利的扩展方案。
根据第一方面,为了安全地、计算机支持地实施应用的程序命令,本发明涉及一种方法,所述方法具有以下方法步骤:
在一个方法步骤中,接通实施环境的学习模式。
在另一个方法步骤中,在所述学习模式接通期间在所述实施环境中实施所述应用,其中对于所选择的预给定的应用场景运行所述应用的程序命令并且所述实施环境将应用场景特定的第一有效性信息分配给所运行的程序命令。
在另一个方法步骤中,接通所述实施环境的工作模式,其中在所述工作模式中,所述实施环境检查所述程序命令的第一有效性信息,并且其中所述实施环境根据所述程序命令的有效性信息实施所述程序命令。
在本专利申请的上下文中,应用可以理解为可实施的文件或也理解为程序库。
在本专利申请的上下文中,实施环境可以理解为虚拟机,例如Java虚拟机、处理器或者运行系统环境。实施环境可以在物理计算单元(处理器、微控制器、CPU、CPU核)上实现。在此,所述应用的实施可以在学习模式中和在实施模式中在相同的物理计算单元上进行。同样地,例如可能的是,在另外的物理计算单元中在学习模式中进行所述应用的实施。因此,例如可以在专门的学会-计算单元中实现例如学会。在实施模式中的实施例如在第二计算单元中实现,其中在此,在实施-计算单元中的实施中使用在学会时求取的有效性信息。通过学会-计算单元例如求取的有效性信息优选地通过对纂改保护的方式来提供。
在本专利申请的上下文中,程序命令可以理解为以下程序命令,所述程序命令包括应用整体,优选包括所使用的库在内。
在本专利申请的上下文中,实施路径可以理解为应用的以下部分区域:所述部分区域包括多个直接彼此相继的待实施的程序命令并且所述部分区域尤其分配给所述应用的确定的部分功能性。实施路径也可以是以下部分区域:所述部分区域与条件——例如“If-Else:如果-否则”-条件相关地实施。
在本专利申请的上下文中,有效性信息可以理解为第一有效性信息和/或第二有效性信息和/或第三有效性信息。
在本专利申请的上下文中,装置例如可以理解为用于灭火系统的控制装置、用于监视高电压中的电压峰值的监视装置或者理解为场装置。
在本专利申请的上下文中,应用场景或者所选择的预给定的应用场景可以理解为用于应用的以下应用场景:所述应用场景用于仅仅一个确定的目的。这例如可以是控制装置(在该控制装置上运行应用),所述控制装置在发电厂设施中监视并且必要时进行控制地干预电压峰值。在此,硬件部件(控制装置与所述硬件部件通信)和应用环境可以被准确地确定。这可以表示,例如仅仅将具有确定的所预期的值范围的输入值递交给所述应用,并且还仅仅利用以下功能或者其程序命令:所述功能例如对于在高电压中的确定的电压范围的监视是必要的。将仅仅用于低电压的功能将不在用于高电压的所选择的预给定的应用场景中运行或者使用。
在本专利申请的上下文中,“无有效性信息”可以理解为,程序命令和/或子程式/功能和/或程序库未分配有有效性信息。如果例如每个程序命令分配有一个确定的存储区域,其方式是,可以存储有效性信息,则对于无有效性信息的程序命令,该存储区域例如可以被零或其他的值占用,所述其他的值说明,对于该程序命令,无有效性信息可用。“无有效性信息”可以附加地理解为,程序命令分配有无效性信息。
通过所述方法实现例如在确定的装置——例如场装置上实施的应用的高的安全性,因为无有效性信息的程序命令的实施被抑制。这例如表示,未运行的程序命令是无有效性信息的,即不具有有效性信息。在激活学习模式之前,例如可以选择性地清除存在的有效性信息,使得在接通学习模式之前没有程序命令被分配有效性信息。
例如也可能的是,工作模式的接通通过安全机制,例如密码或解除锁定码或者特别是以数字证书或许可证文件结构形式的加密方法来保护。
例如也可以考虑不同的运行模式。因此例如可能的是,可以并行地实施学习模式和工作模式,以便所运行的程序命令对于应用场景尽可能完整地被检测。但例如也可能的是,通过工作模式的接通来自动地关断学习模式。而如果接通学习模式,则自动地关断工作模式。视工作环境的运行模式的所期望的行为而定地,这可以优选地配置。
在所述方法的第一实施方式中,将所运行的程序命令分配给所述应用的所运行的实施路径,并且将应用场景特定的第二有效性信息分别分配给一个实施路径。
通过仅仅给所述实施路径例如在“If-Else”-条件下分配有效性信息的方式,可以改善所述方法的实施时间。
在所述方法的另外的实施方式中,在第一学习阶段期间分配所述第一有效性信息并且在第二学习阶段期间通过所述实施环境将应用场景特定的第三有效性信息分配给所运行的程序命令。
由此可能的是,改善有效性信息的分配。这例如通过以下方式来实现:当在装置(在所述装置上应实施所述应用)的加工中进行功能测试时执行第一学习阶段。然后可以在客户那实施第二学习阶段,在所述客户那,所述装置和所述应用实施所选择的预给定的应用场景,例如在供电网络中的过载控制。由此可能的是,在客户那减小用于检测有效性信息的持续时间。
在所述方法的另外的实施方式中,使用处理器和/或虚拟机和/或运行系统核心或在使用存储器管理单元的情况下的运行系统核心作为实施环境。
视应用情况而定地,由此或者可以实现待较简单地实施的变型方案,其方式是,例如在Java-应用的字节码中给程序命令分配有效性信息。或者实现在应用实施中的非常高的安全性,其方式是,在处理器上分别给机器命令分配有效性信息。
但也可能的是,给应用的CPU指令(也可以称作二进制)分配有效性信息,以便例如实现中等的安全性。
一般地,例如可能的是,将有效性信息直接整合到实施环境中,其方式是,对此设置专门的存储器或存储区域。但有效性信息也可以存储在实施环境之外,例如作为优选以加密方式保护的文件。于是实施环境在程序的运行时间期间访问文件中的有效性信息。对此可能必要的是,实施环境必要时具有相应的加密秘钥。
在所述方法的其他实施方式中,通过触发器删除所述程序命令的所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息。
在以下状况——在所述状况中例如已经使用控制装置用于监视第一电压范围的高电压并且现在应对于第二电压范围的高电压的监视使用该控制装置——中有意义的是,用于监视第一电压范围的不再需要的功能(或者其程序命令)不再具有有效性信息。通过以下触发器必要时可以简单地删除有效性信息:所述触发器优选地通过安全机制、例如密码或加密方法来保护。
在所述方法的另外的实施方式中,以安全保护的方式存储所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息。
有效性信息例如可以受安全保护地来存储,其方式是,关于有效性信息形成加密方法,如对称加密、不对称加密或者数字签名,以便有效性信息的完整性可被检查。也可以通过以下方式实现受安全保护的存储器,即可封装以下装置——所述应用在所述装置上实施——例如用于监视高电压的控制装置,使得在其上存储有有效性信息的存储模块即使在空间上也不可达(受空间保护的)。这具有以下优点:再次提高了所述方法的安全性。
在所述方法的其他实施方式中,所述学习模式的接通通过安全机制来保护。
通过以下方式实现所述方法的更高的安全性,即学习模式的或者工作模式的接通通过安全机制来保护。安全模式例如可以借助加密方法来实现,或者学习模式的接通仅仅在预先定义的时刻和/或状况是可能的。这例如可以是在以下装置的加工期间:所述应用在所述装置上实施。在此例如存在对可封装的存储单元的访问,该存储单元在正规的运行期间(在工作模式中尤其在装置的使用地点)不可访问。预先定义的时刻例如也可以是用于系统测试的阶段或者是在所述应用在所述装置上调试时的阶段。
在所述方法的另外的实施方式中,将所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息提供给另外的装置。
由此可以通过尽可能简单的方式传输用于具有相同的应用场景的应用的有效性信息。如果在发电厂设施中使用具有所述应用的多个装置,以便例如在不同的位置上以相同的方式监视在高电压中的电压峰值,则首先可以针对一个装置的和其应用检测程序命令的有效性信息并且将有效性信息例如传输给其他的装置。对于该传输,有效性信息又可以以加密方式被保护并且该传输可以优选自动地被执行。
在所述方法的另外的实施方式中,在接通的学习模式期间在装置上和/或在所述装置的结构相同的测试装置和/或仿真环境上执行所述应用在所述实施环境中的实施。
由此可以通过尽可能简单的方式检测有效性信息。
在所述方法的另外的实施方式中,将所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息以指令的方式和/或以子程式的方式和/或以库的方式分配给所述程序命令。
通过可以灵活地分配有效性信息的方式,有效性信息例如不是被分配给所述应用的程序代码中的每个单个的行,而是也可以由状况决定地将有效性信息分配给子程式/功能或程序库。这具有以下优点:例如改善了所述应用的实施时间,因为并非对于每一个程序行都必须分析处理有效性信息。
在所述方法的另外的实施方式中,给与具有所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息的程序命令相关的程序命令分配相应的有效性信息。
由此,例如已经可以通过程序员给所述应用分配有效性信息。这尤其具有以下优点:可以缩短用于分配用于应用场景的所有所需的有效性信息的学习模式的持续时间。
在所述方法的另外的实施方式中,在实施无有效性信息的程序命令时提供信令化信息。
由此可以优选地识别:何时实施以下程序命令,所述程序命令实际上对于应用场景不是必需的。信令化信息可以例如传送给控制台或安全监视系统,使得技术人员例如在发电厂设施中检查所述应用和以下装置:应用安装在所述装置上。由此优选地可能的是,识别应用的或装置的或装置的工作环境的纂改。该信令化信息例如可以通过中断或以下异常来产生:所述异常在无有效性信息的程序命令的情况下被存储。
在所述方法的另外的实施方式中,在接通所述工作模式的情况下,从所述应用移除无有效性信息的程序命令。
由此提高应用的安全性,因为从应用中移除所不需要的程序命令或程序代码。由此,入侵者不具有以下可能性:利用对于应用场景未被利用的程序部分。
根据另一方面,本发明涉及一种用于安全地、计算机支持地实施应用的程序命令的实施环境。所述实施环境包括用于接通所述实施环境的学习模式的第一切换模块。实施环境附加地包括用于在所述学习模式接通期间在所述实施环境中实施所述应用的实施模块,其中对于所选择的预给定的应用场景运行所述应用的程序命令,并且所述实施环境将应用场景特定的第一有效性信息分配给所运行的程序命令。实施环境附加地包括用于接通所述实施环境的工作模式的第二切换模块,其中在所述工作模式中,所述实施环境检查所述程序命令的第一有效性信息,并且其中所述实施环境根据所述程序命令的有效性信息实施所述程序命令。
第一切换模块和第二切换模块可以例如构型为整体的切换模块,该切换模块允许:分别接通学习模式或工作模式。
在所述实施环境的第一实施方式中,所述实施环境是处理器或者是虚拟机或者是运行系统核心或者是在使用存储器管理单元的情况下的运行系统核心。
根据另一方面,本发明涉及一种系统,所述系统具有根据本发明的实施环境。
此外,要求保护一种计算机程序产品,所述计算机程序产品具有用于执行所述的根据本发明的方法的程序命令。
附加地,要求保护计算机程序产品的一种变型方案,其具有用于配置创建装置、例如3D-打印机或者类似的装置的程序命令,其中借助所述程序命令来配置所述创建装置,使得创建所述的根据本发明的实施环境。
此外,要求保护一种提供设备,所述提供设备用于存储和/或提供所述计算机程序产品。所述提供设备例如是数据载体,其存储和/或提供所述计算机程序产品。替代地和/或附加地,所述提供设备例如是网络服务装置,计算机系统、服务器系统,尤其是分布式计算机系统,基于云的计算机系统和/或虚拟的计算机系统,其优选以数据流的形式存储和/或提供计算机程序产品。
所述提供例如作为以完整的计算机程序产品的程序数据块和/或命令数据块形式的下载、优选作为文件,尤其作为下载文件,或者作为数据流,尤其作为下载数据流来实现。但所述提供例如也可以作为部分的下载来实现,该下载由多个部分组成并且尤其通过端到端网络来下载,或者作为数据流来提供。这样的计算机程序产品例如在使用以数据载体形式的提供设备的情况下被读入系统中并且实施程序命令,使得根据本发明的方法在计算机上被实施或者创建装置被配置成,使得该创建装置创建根据本发明的实施环境。
附图说明
本发明的上述特性、特征和优点以及如何实现它们的方式和方法结合实施例的后续描述变得更清楚和更明显地容易理解,所述实施例结合附图来详细地阐述。在此以示意图:
图1示出所公开的方法的第一实施例的流程图;
图2说明所公开的方法的第二实施例;
图3说明所公开的方法的第三实施例;
图4示出第四实施例的实施环境;以及
图5示出一种具有实施环境的系统。
在附图中,功能相同的元素配备有相同的附图标记,除非另作说明。
具体实施方式
以下阐述在此涉及全部实施例。
图1示出所公开的方法100的第一实施例的流程图。方法100适合用于在计算机或者装置,例如用于灭火系统的控制装置、用于监视高电压中的电压峰值的监视装置或者场装置上安全地实施应用的程序命令。
对此,所述方法100具有用于接通110实施环境的学习模式的第一方法步骤。实施环境尤其用于实施应用并且在此可以涉及处理器、运行系统链接器(linker)、程序链接器或者虚拟处理器或者虚拟机,诸如Java虚拟机。学习模式的接通例如借助安全机制、如密码输入或以加密方式保护的用户确认来保护。
所述方法100附加地包括用于在所述学习模式接通期间在所述实施环境中实施120所述应用的第二方法步骤,其中对于所选择的预给定的应用场景运行所述应用的程序命令,并且所述实施环境将应用场景特定的第一有效性信息分配给所运行的程序命令。为此,例如可以使用数据结构,该数据结构对于所运行的每个程序命令存储一个有效性信息。未运行的程序命令例如可以分配有尤其以设为零的数据块、异常(英语:Exception)或者中断(英语:Interrupt)形式的无效性信息。数据结构可以首先作为初始值仅仅包含无效性信息并且所述无效性信息然后在学习阶段期间部分地或者完全地借助有效性信息来覆盖。
在一种变型方案中,通过以下方式确定无效性信息,即不存在关于程序命令的有效性信息。
所述方法100附加地包括用于接通130所述实施环境的工作模式的第三方法步骤,其中在所述工作模式中,所述实施环境检查所述程序命令的第一有效性信息,并且其中所述实施环境根据所述程序命令的有效性信息实施所述程序命令。如果应在工作模式期间仍然错误地实施具有无效性信息的程序命令,则例如可以丢弃所分配的异常并且尤其以信令化信息优选地通知管理员。但借助信令化信息也可以使应用、实施环境或者以下装置进入到安全的状态中:在所述装置上应用被实施。具有无效性信息的相应的程序命令于是优选地不被实施。
工作模式的接通例如借助安全机制,如密码输入或以加密方式保护的用户确认来保护。
通过所公开的方法100可能的是,使得应用——例如在可操作的运行中的库或者应用程序——的未被利用的功能性不可达。
未被利用的程序命令或者代码部分的辨识在此尽可能自动地并且对于用户而言透明地实现。对此,例如可以提供分析处理,所述分析处理说明,有效性信息分配给了哪些程序命令,以及分配哪些无效性信息。
例如研发人员可以在鉴定分析处理之后还手动地将有效性信息分配给各个程序命令,如果这在确定的输入数据的范围内对于应用而言是必需的。
换言之,实施环境在学习模式中同时记录所运行的/所实现的所有实施路径的程序命令。这例如在图2中在第二实施例中说明。在此,图2示出第一块程序命令210、第二块程序命令215和第三块程序命令220,第一块程序命令分别分配有有效性信息E,第二块程序命令分别分配有无效性信息NE,第三块程序命令分别分配有有效性信息E。
在学习模式期间,优选地必须运行所有有效的状态,即对于所选择的预给定的应用场景,所述应用可以接受的状态。
学习模式例如可以在不同的时刻进行:
例如可以进行用于应用场景的学习阶段,例如在软件验证时、在用于自动化设施的验收/认证时。但这也可以在封装所述装置的配置设定时、在用于应用的程序代码的加载或者安装时进行。该信息与所述应用的所实施的程序代码一起被存储。数据225、即有效性信息E和/或无效性信息NE可以直接在程序代码中、例如作为操作码中的标识、作为程序库的入口点(函数)处的标识来存储,这也称作对象码的标注或者二进制码的标注。替代地,这些数据可以作为单独的元数据存储。
在另一种变型方案中,修改所述码。因此,例如可以将未标记的操作码、即无有效性信息的程序命令215通过NOP、TRAP或者异常来取代。
但也可以将多个学习阶段用于分配有效性信息225:
对此,已经可以在所述装置的制造商的系统测试期间接通第一学习阶段期间的学习模式,在所述系统测试中测试确定的或典型的应用场景。由此可以产生具有基础配置的数据项,所述基础配置具有用于应用的有效性信息。
然后可以在用户那通过学习模式的再次接通来继续配置所述事先产生的基础配置。由此可以直接在所述装置的使用地点、即所选择的预给定的应用场景处缩短第二学习阶段。
所述基础配置例如可以通过来自于系统测试的数据来创建,所述数据在可操作的学习阶段期间在装置的使用地点处还可以被精细化。所学习的数据225(单独的元数据或者所标注的对象码/二进制码)、即有效性信息和/或无效性信息可以在一种变型方案中通过以加密保护的形式来提供给另一装置,例如作为经数字签名的数据项。
也可以在不同的装置上接通学习模式或者在不同的装置上实施学习阶段:
在目标装置自身上,即在应使用所选择的预给定的应用场景的装置上;
在结构相同的测试装置(例如对于所述测试装置所选择的预给定的应用场景在使用中不可操作);
在目标装置的仿真环境(Digital Twin:数字孪生)中;
在严格的解释中,在所接通的学习模式期间,优选与应用场景关联的、稍后应可运行的所有程序部分(即程序部分的程序命令)实际上运行。
但在另一种变型方案中,也可以提出模糊学习,也即在所接通的学习模式中,分别在经扩展的范围中给程序命令分配有效性信息。
对此例如可以考虑不同的分级:
在分级“精细”中,给程序命令的每一个所应用的指令、也即给子程式的和程序库的指令分配有效性信息E。
在分级“中等”中,给所运行的程序命令的子程式分配有效性信息E。在此,例如也可以考虑子程式的调用深度(Aufruftiefe),以便尤其在嵌套的功能的情况下,将用于分配有效性信息E的耗费保持得低。
在分级“粗略”中,给由所述应用使用的程序库分别分配有效性信息E,以便由此尤其给程序库的所有程序命令分配有效性信息。
分级的间隔尺寸例如即使在应用的代码开发中也可以通过合适的结构说明来控制。对此,研发人员可以手动地给确定的程序命令和与所述程序命令相关的程序命令、指令、子程式或程序库分配有效性信息。
这例如也可以通过以下方式来实现:即考虑有效性信息,使得可以考虑相关性。如果例如第一命令路径有效(该第一命令路径被作为有效性信息分派),则相关的第二命令路径也自动地同样有效。在此,或者可以给第二命令路径自动地同样分派有效性信息,或者第二命令路径例如通过其相关性而有效。换言之,基于第二命令路径与第一命令路径的相关性,例如有效性信息可以从第一命令路径传给第二命令路径。
在工作模式中,由实施环境优选仅仅接受或实施以下程序命令:所述程序命令分配有有效性信息E,这也可以称作经可靠标记的程序命令。如果无有效性信息的程序命令NE、即未作为可靠来标记的程序命令开始运行,则这例如导致异常或已存储的另一命令。或者换言之,该命令为例如已经覆盖了不可靠的程序命令的命令。
如果在分配有效性信息225之后,装置通过重配置或者在容易改变的应用场景中的应用而需要程序命令的和/或功能的和/或子程式的和/或库的经扩展的或者新的项,则存在以下可能性:通过触发器、诸如配置日期和/或手动的触发器控制地在新学习阶段中重新移除所分配的有效性信息225。对此,又接通学习模式并且根据改变的应用场景或重配置将有效性信息分配给程序命令。由此,能够使得先前不可靠的程序命令(或无有效性信息的程序命令)又可用。如果码-区域应该已经通过NOP、Trap(陷阱)或异常移除,则可以从未经改变的应用的安全拷贝或其程序库中传回这些代码部分。
在另一种变型方案中,直接以硬件实现所述方法。在此,为工作环境的处理器,例如CPU具有第一模式(学习模式)和第二模式,即工作模式。在第一模式中,标记所运行的操作码、即所运行的程序命令,即分派有效性信息,并且将其存储在程序映像中。在切换到工作模式中之后仅仅还接受应用的被标记的命令。
在另一种变型方案中,借助以虚拟机形式的工作环境来实现所述方法。虚拟机在学习模式中记下应用的经处理的代码行、即应用的所运行的程序命令并且产生日志文件,该日志文件包含分配给程序命令的有效性信息。有效性信息的分配可以直接在产生到日志文件中的登记时实现。
在应用的稍后实施期间,虚拟机在工作模式中在使用日志文件的情况下检查,是否允许实施程序命令。日志文件的完整性/可信性例如可以通过数字签名来保护,所述数字签名由虚拟机来检查。
图3说明所公开的方法的第三实施例。在该实施例中,借助运行系统核心实现所述方法。所述应用在学习模式中由被控制的环境中的运行系统核心,例如调试程序来起动。检测所运行的程序命令310、320,其中给所述程序命令分配有效性信息。然后可以存储这些程序命令和有效性信息。在工作模式中,运行时间-加载器(Runtime-Loader)利用这些有效性信息,以便为程序代码、即所述应用的程序代码来配器(instrumentieren)。
例如,未运行的所有代码行、即无有效性信息的程序命令可以通过陷阱(Trap)来取代。
在另一种变型方案中,借助运行系统核心、在使用存储器管理单元(也称为MemoryManagement Unit(MMU))的情况下来实现所述方法。
在学习模式中,由运行系统核心在被控制的环境——即调试程序中起动应用。检测所运行的程序命令,其中给所述程序命令分别分配有效性信息。然后可以存储这些程序命令和有效性信息。
没有被分配有效性信息的程序命令、即无有效性信息的程序命令(也称作未经标记的代码部分)通过存储器管理单元来标记为不可实施或不可读。在访问(从外部存储器加载程序命令到缓存中)时,优选通过存储器管理单元来触发陷阱或中断(英语:Interrupt)。
图4示出用于安全地、计算机支持地实施应用的程序命令的第四实施例的实施环境400。该实施环境400包括第一切换模块410、实施模块420、第二切换模块430和接口485,它们通过第一总线480可通信地相互连接。
第一切换模块410接通实施环境400的学习模式。
在学习模式接通期间,实施模块420在实施环境400中实施应用,其中对于所选择的预给定的应用场景运行所述应用的程序命令并且所述实施环境400将应用场景特定的第一有效性信息分配给所运行的程序命令。
第二切换模块430接通所述实施环境400的工作模式,其中在所述工作模式中,所述实施环境400检查所述程序命令的第一有效性信息,并且其中所述实施环境根据所述程序命令的有效性信息实施所述程序命令。
所述实施环境例如可以作为处理器或者作为虚拟机构建在芯片上,尤其以嵌入式Java的形式,构建在装置中,所述装置例如为场装置、控制装置或者测量装置。所述装置可以是系统的一部分,其中所述装置通过数据总线与操作人员的工作站连接。
这样的系统例如在图5中作为第五实施例示出。具体地,图5示出一种系统,例如一种用于在发电厂设施中的高电压的监视系统。
工作站,例如IBM兼容的计算机系统通过装置501的第三总线580和第二接口575与装置501可通信地连接,所述工作站包括显示装置532、例如屏幕和多个输入装置、例如电脑鼠标533和键盘530。第三总线580例如可以是以太网总线或通用串行总线(USB)。
装置501包括用于安全地、计算机支持地在所选择的预给定的应用场景中实施应用的程序命令的实施环境400,所述应用例如为借助所属的测量方法进行的高电压监视。在装置501中,例如通过第二总线585,实施环境借助接口485与检测装置510、例如电压测量传感器和第二接口575连接。
如果例如在监视高电压或电压峰值期间实施程序命令,所述程序命令未分配有有效性信息,则所述实施环境可以抛出异常,该异常然后在工作站上被显示给操作人员。该操作人员然后必要时可以执行检查:是否视为应用的错误行为或者是否发生了应用的通过未经授权的第三方引起的纂改。
尽管细节上通过这些实施例详细阐述和描述了本发明,但本发明不受所公开的示例限制,并且可以由本领域技术人员由此导出其他的变型,而不离开本发明的保护范围。

Claims (18)

1.一种用于安全地、计算机支持地实施应用的程序命令的方法(100),所述方法具有以下的方法步骤:
- 接通(110)实施环境(400)的学习模式;
- 在所述学习模式接通期间在所述实施环境(400)中实施(120)所述应用,其中
--对于所选择的预给定的应用场景运行所述应用的程序命令;
--所述实施环境(400)将应用场景特定的第一有效性信息分配给所运行的程序命令(210,220,310,320);
- 接通(130)所述实施环境(400)的工作模式,其中在所述工作模式中,所述实施环境(400)检查所述程序命令的第一有效性信息,并且其中所述实施环境(400)根据所述程序命令的有效性信息实施所述程序命令。
2.根据权利要求1所述的方法(100),其中将所运行的程序命令(210,220,310,320)分配给所述应用的所运行的实施路径,并且将应用场景特定的第二有效性信息分别分配给一个实施路径。
3.根据权利要求2所述的方法(100),其中在第一学习阶段期间分配所述第一有效性信息;
在第二学习阶段期间所述实施环境(400)将应用场景特定的第三有效性信息分配给所运行的程序命令(210,220,310,320)。
4.根据权利要求1至3之一所述的方法(100),其中使用处理器和/或虚拟机和/或运行系统核心或在使用存储器管理单元的情况下的运行系统核心作为实施环境(400)。
5.根据权利要求3所述的方法(100),其中通过触发器删除所述程序命令的所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息。
6.根据权利要求3所述的方法(100),其中以安全保护的方式存储所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息。
7.根据权利要求1至3之一所述的方法(100),其中所述学习模式的接通通过安全机制来保护。
8.根据权利要求3所述的方法(100),其中将所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息提供给另外的装置。
9.根据权利要求1至3之一所述的方法(100),其中在所述接通的学习模式期间在装置上和/或在所述装置的结构相同的测试装置和/或仿真环境上执行所述应用在所述实施环境(400)中的实施(120)。
10.根据权利要求3所述的方法(100),其中将所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息以指令的方式和/或以子程式的方式和/或以库的方式分配给所述程序命令。
11.根据权利要求3所述的方法(100),其中给与具有所述第一有效性信息和/或所述第二有效性信息和/或所述第三有效性信息的程序命令相关的程序命令分配相应的有效性信息。
12.根据权利要求1至3之一所述的方法(100),其中在实施无有效性信息的程序命令时提供信令化信息。
13.根据权利要求1至3之一所述的方法(100),其中在接通所述工作模式的情况下,从所述应用移除无有效性信息的程序命令。
14.一种用于安全地、计算机支持地实施应用的程序命令的实施系统,所述实施系统具有:
- 用于接通所述实施系统的学习模式的第一切换模块(410);
- 用于在所述学习模式接通期间在所述实施系统中实施所述应用的实施模块(420),其中
--对于所选择的预给定的应用场景运行所述应用的程序命令;
--所述实施系统将应用场景特定的第一有效性信息分配给所运行的程序命令(210,220,310,320);
- 用于接通(130)所述实施系统的工作模式的第二切换模块(430),其中在所述工作模式中,所述实施系统检查所述程序命令的第一有效性信息,并且其中所述实施系统根据所述程序命令的有效性信息实施所述程序命令。
15.根据权利要求14所述的实施系统,其中所述实施系统是处理器或者是虚拟机或者是运行系统核心或者是在使用存储器管理单元的情况下的运行系统核心。
16.一种系统,所述系统具有根据权利要求14至15中任一项所述的实施系统。
17.一种计算机可读的数据载体,所述计算机可读的数据载体具有用于执行根据权利要求1至13中任一项所述的方法的程序命令。
18.一种计算机可读的数据载体,所述计算机可读的数据载体具有用于创建装置的程序命令,所述创建装置借助所述程序命令来配置用于创建根据权利要求14至15中任一项所述的实施系统。
CN201780001351.6A 2016-02-09 2017-01-25 用于安全地实施程序命令的方法和实施环境 Active CN108351770B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
DE102016201898.1 2016-02-09
DE102016201898 2016-02-09
PCT/EP2017/051476 WO2017137256A1 (de) 2016-02-09 2017-01-25 Verfahren und ausführungsumgebung zum gesicherten ausführen von programmbefehlen

Publications (2)

Publication Number Publication Date
CN108351770A CN108351770A (zh) 2018-07-31
CN108351770B true CN108351770B (zh) 2020-02-28

Family

ID=57960406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201780001351.6A Active CN108351770B (zh) 2016-02-09 2017-01-25 用于安全地实施程序命令的方法和实施环境

Country Status (11)

Country Link
US (1) US10489564B2 (zh)
EP (1) EP3274825B1 (zh)
JP (1) JP6516870B2 (zh)
KR (1) KR101862348B1 (zh)
CN (1) CN108351770B (zh)
CA (1) CA2984386C (zh)
ES (1) ES2701702T3 (zh)
HU (1) HUE043151T2 (zh)
IL (1) IL255690B (zh)
MX (1) MX2017013621A (zh)
WO (1) WO2017137256A1 (zh)

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11364102B2 (en) 2016-02-08 2022-06-21 Oralucent, Inc. Short wavelength visible light-emitting toothbrush with an electronic signal interlock control
JP6829168B2 (ja) * 2017-09-04 2021-02-10 株式会社東芝 情報処理装置、情報処理方法およびプログラム
WO2019115380A1 (de) 2017-12-14 2019-06-20 Inventio Ag Verfahren und vorrichtung zum kommissionieren einer zu fertigenden personentransportanlage durch erstellen eines digitalen doppelgängers
WO2019115378A1 (de) 2017-12-14 2019-06-20 Inventio Ag Verfahren und vorrichtung zum überwachen eines zustands einer personentransportanlage durch verwenden eines digitalen doppelgängers
DE102017223099A1 (de) 2017-12-18 2019-06-19 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Übertragen von Daten zwischen einem ersten und einem zweiten Netzwerk
EP3502806A1 (de) 2017-12-22 2019-06-26 Siemens Aktiengesellschaft Verfahren zum schutz der produktionsdaten zur herstellung eines produkts
EP3503493A1 (de) 2017-12-22 2019-06-26 Siemens Aktiengesellschaft Kommunikationsvorrichtung und verfahren zum verarbeiten eines netzwerkpakets
EP3506143B1 (en) 2017-12-27 2024-02-14 Siemens Aktiengesellschaft Interface for a hardware security module
EP3509004A1 (en) 2018-01-03 2019-07-10 Siemens Aktiengesellschaft Adaption of mac policies in industrial devices
EP3509247A1 (de) 2018-01-03 2019-07-10 Siemens Aktiengesellschaft Verfahren und schlüsselgenerator zum rechnergestützten erzeugen eines gesamtschlüssels
EP3514743A1 (en) 2018-01-22 2019-07-24 Siemens Aktiengesellschaft Device and method for providing instruction data for manufacturing an individualized product
EP3534282A1 (de) 2018-03-01 2019-09-04 Siemens Aktiengesellschaft Verfahren und sicherheitsmodul zum rechnergestützten ausführen von programmcode
EP3557463B1 (de) 2018-04-16 2020-10-21 Siemens Aktiengesellschaft Verfahren und ausführungsumgebung zum ausführen von programmcode auf einem steuergerät
EP3562194B1 (en) 2018-04-23 2021-07-28 Siemens Aktiengesellschaft Method for identifying at least one network slice configuration of a mobile network, communication system, and automation system
EP3561713B1 (en) 2018-04-25 2022-07-13 Siemens Aktiengesellschaft Retrieval device for authentication information, system and method for secure authentication
EP3561709B1 (en) 2018-04-25 2020-07-29 Siemens Aktiengesellschaft Data processing apparatus, system, and method for proving or checking the security of a data processing apparatus
EP3562090B1 (en) 2018-04-25 2020-07-01 Siemens Aktiengesellschaft Data processing device for processing a radio signal
EP3562116A1 (en) 2018-04-26 2019-10-30 Siemens Aktiengesellschaft Cryptographic key exchange or key agreement involving a device without network access
EP3570489B1 (en) 2018-05-18 2020-04-08 Siemens Aktiengesellschaft Device and method for transforming blockchain data blocks
EP3584654B1 (en) 2018-06-19 2020-06-10 Siemens Aktiengesellschaft Hierarchical distributed ledger
EP3598363A1 (en) 2018-07-17 2020-01-22 Siemens Aktiengesellschaft Resource reservation for transactions of a distributed database system
EP3598364A1 (en) 2018-07-17 2020-01-22 Siemens Aktiengesellschaft Timing constraint for transactions of a distributed database system
EP3598365A1 (en) 2018-07-17 2020-01-22 Siemens Aktiengesellschaft Traffic shaping for transactions of a distributed database system
EP3599740A1 (de) 2018-07-25 2020-01-29 Siemens Aktiengesellschaft Steuern eines datennetzes hinsichtlich eines einsatzes einer verteilten datenbank
EP3609148A1 (de) 2018-08-06 2020-02-12 Siemens Aktiengesellschaft Verfahren und netzwerkknoten zur verarbeitung von messdaten
EP3609240A1 (de) 2018-08-09 2020-02-12 Siemens Aktiengesellschaft Computerimplementiertes verfahren und netzwerkzugangsserver zum verbinden einer netzwerkkomponente mit einem netzwerk, insbesondere einem mobilfunknetz, mit einem erweiterten netzwerkzugangskennzeichen
EP3614319A1 (en) 2018-08-20 2020-02-26 Siemens Aktiengesellschaft Tracking execution of an industrial workflow of a petri net
EP3629332A1 (de) 2018-09-28 2020-04-01 Siemens Aktiengesellschaft Sicheres ausgeben einer substanz
EP3633914A1 (de) 2018-10-05 2020-04-08 Siemens Aktiengesellschaft Verfahren und system zur nachweisbaren datenverarbeitung unter anwendung von obfuskation
EP3637345A1 (de) 2018-10-10 2020-04-15 Siemens Aktiengesellschaft Verknüpfung von identitäten in einer verteilten datenbank
EP3687209A1 (en) 2019-01-25 2020-07-29 Siemens Aktiengesellschaft Secure multi-hop communication paths
EP3693918A1 (en) 2019-02-08 2020-08-12 Siemens Gamesa Renewable Energy A/S Operational data of an energy system
EP3736715A1 (en) 2019-05-10 2020-11-11 Siemens Aktiengesellschaft Managing admission to a distributed database based on a consensus process
US10963371B1 (en) * 2019-10-02 2021-03-30 Salesforce.Com, Inc. Testing integration and automation system
US11687440B2 (en) * 2021-02-02 2023-06-27 Thales Dis Cpl Usa, Inc. Method and device of protecting a first software application to generate a protected software application

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541352A (zh) * 2001-06-15 2004-10-27 ��˹��ŵ�� 一种保护电子装置的方法,保护系统及电子装置
CN102301374A (zh) * 2009-02-16 2011-12-28 松下电器产业株式会社 非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、非法模块无效化系统及非法模块无效化方法
CN102804194A (zh) * 2009-05-12 2012-11-28 诺基亚公司 用于提供应用安全性的方法、装置和计算机程序
CN103514245A (zh) * 2012-06-06 2014-01-15 丛林网络公司 创建用户可见处理跟踪的可搜索和全局数据库

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2A (en) * 1826-12-15 1836-07-29 mode of manufacturing wool or other fibrous materials
JPH11175369A (ja) * 1997-12-10 1999-07-02 Toshiba Corp プログラム開発支援装置、プログラム開発支援方法及びプログラム開発支援プログラムを記録した媒体
JP3812239B2 (ja) * 1999-10-04 2006-08-23 株式会社日立製作所 ネットワーク中継装置
US7328426B2 (en) * 2003-08-13 2008-02-05 International Business Machines Corporation Editor with commands for automatically disabling and enabling program code portions
KR100462828B1 (ko) * 2004-06-22 2004-12-30 엔에이치엔(주) 명령어의 유효성 판단 방법 및 그 시스템
US8214191B2 (en) * 2005-08-29 2012-07-03 The Invention Science Fund I, Llc Cross-architecture execution optimization
KR100800999B1 (ko) * 2006-02-17 2008-02-11 삼성전자주식회사 프로그램의 실행흐름을 검사하는 방법 및 장치
JP4585534B2 (ja) * 2007-03-01 2010-11-24 富士通株式会社 システム監視プログラム、システム監視方法およびシステム監視装置
US20080224819A1 (en) * 2007-03-16 2008-09-18 The Chamberlain Group, Inc. Multiple barrier operator system
DE102007038763A1 (de) 2007-08-16 2009-02-19 Siemens Ag Verfahren und Vorrichtung zur Sicherung eines Programms gegen eine Kontrollflussmanipulation und gegen einen fehlerhaften Programmablauf
DE102007040343B4 (de) * 2007-08-27 2010-12-30 Siemens Ag Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
JP5574394B2 (ja) * 2008-02-20 2014-08-20 日本電気株式会社 Osイメージ縮小プログラムおよびosイメージ縮小プログラムを記録した記録媒体
DE102008018678B4 (de) * 2008-04-14 2011-02-03 Siemens Aktiengesellschaft Vorrichtung und Verfahren zum Erzeugen einer Zufallsbitfolge
GB2466183A (en) * 2008-12-09 2010-06-16 Cambridge Entpr Ltd Closed loop diabetes management system
DE102008061483A1 (de) * 2008-12-10 2010-06-24 Siemens Aktiengesellschaft Verfahren und Vorrichtung zum Verarbeiten von Daten
EP4272809A3 (en) * 2009-07-17 2024-01-17 Implantica Patent Ltd. Voice control of a medical implant
JP2011070355A (ja) 2009-09-25 2011-04-07 Obic Business Consultants Ltd 情報処理装置、情報処理方法、およびプログラム
DE112009005351T8 (de) * 2009-11-09 2013-03-28 Mitsubishi Electric Corporation Softwarebibliothek-Rekonstruktionsvorrichtung, Softwarebibliothek-Rekonstruktionsverfahren und Navigationsvorrichtung, die dieses Softwarebibliothek-Rekonstruktionsverfahren verwendet
US9335825B2 (en) * 2010-01-26 2016-05-10 Nokia Technologies Oy Gesture control
US9003543B2 (en) 2010-12-21 2015-04-07 Microsoft Technology Licensing, Llc Providing a security boundary
DE102011007572A1 (de) * 2011-04-18 2012-10-18 Siemens Aktiengesellschaft Verfahren zur Überwachung eines Tamperschutzes sowie Überwachungssystem für ein Feldgerät mit Tamperschutz
DE102011088502B3 (de) 2011-12-14 2013-05-08 Siemens Aktiengesellschaft Verfahren und Vorrichtung zur Absicherung von Blockchiffren gegen Template-Attacken
US20130305228A1 (en) 2012-05-10 2013-11-14 Mocana Corporation Reducing application startup time through algorithm validation and selection
DE102012217743B4 (de) * 2012-09-28 2018-10-31 Siemens Ag Überprüfung einer Integrität von Eigenschaftsdaten eines Gerätes durch ein Prüfgerät
DE102013200017A1 (de) 2013-01-02 2014-07-03 Siemens Aktiengesellschaft RFID-Tag und Verfahren zum Betreiben eines RFID-Tags
US20140317603A1 (en) * 2013-04-20 2014-10-23 Concurix Corporation Multiple Tracer Configurations Applied on a Function-by-Function Level
US20150023349A1 (en) * 2013-07-19 2015-01-22 Richard Lynn Wheeler Packet discovery and learning for vlan provisioning
US9630317B2 (en) * 2014-04-03 2017-04-25 Brain Corporation Learning apparatus and methods for control of robotic devices via spoofing
JP6361344B2 (ja) * 2014-07-15 2018-07-25 株式会社リコー 情報処理システム、および情報処理方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1541352A (zh) * 2001-06-15 2004-10-27 ��˹��ŵ�� 一种保护电子装置的方法,保护系统及电子装置
CN102301374A (zh) * 2009-02-16 2011-12-28 松下电器产业株式会社 非法模块确定装置、信息处理装置、非法模块确定方法、非法模块确定程序、集成电路、非法模块无效化系统及非法模块无效化方法
CN102804194A (zh) * 2009-05-12 2012-11-28 诺基亚公司 用于提供应用安全性的方法、装置和计算机程序
CN103514245A (zh) * 2012-06-06 2014-01-15 丛林网络公司 创建用户可见处理跟踪的可搜索和全局数据库

Also Published As

Publication number Publication date
CA2984386C (en) 2019-01-29
KR20170125124A (ko) 2017-11-13
IL255690B (en) 2018-10-31
JP6516870B2 (ja) 2019-05-22
IL255690A (en) 2018-01-31
CA2984386A1 (en) 2017-08-17
HUE043151T2 (hu) 2019-08-28
KR101862348B1 (ko) 2018-05-29
JP2018525697A (ja) 2018-09-06
WO2017137256A1 (de) 2017-08-17
EP3274825A1 (de) 2018-01-31
US20180341755A1 (en) 2018-11-29
EP3274825B1 (de) 2018-11-07
MX2017013621A (es) 2018-03-08
CN108351770A (zh) 2018-07-31
US10489564B2 (en) 2019-11-26
ES2701702T3 (es) 2019-02-25

Similar Documents

Publication Publication Date Title
CN108351770B (zh) 用于安全地实施程序命令的方法和实施环境
RU2691187C1 (ru) Система и способы аудита виртуальной машины
Zhang et al. {PeX}: A permission check analysis framework for linux kernel
Costamagna et al. Artdroid: A virtual-method hooking framework on android art runtime.
US10114958B2 (en) Protected regions
EP3069254B1 (en) Improved control flow integrity system and method
EP3039608B1 (en) Hardware and software execution profiling
EP2979211B1 (en) Protecting software application
Ammar et al. S $\mu $ μ V—The Security MicroVisor: A Formally-Verified Software-Based Security Architecture for the Internet of Things
Bai et al. idea: Static analysis on the security of apple kernel drivers
US10025925B2 (en) Dynamically measuring the integrity of a computing apparatus
WO2016126206A1 (en) Method for obfuscation of code using return oriented programming
Hao et al. vTRUST: a formal modeling and verification framework for virtualization systems
CN115906046A (zh) 可信计算系统及基于可信计算系统的度量方法
Gu et al. {COMRace}: detecting data race vulnerabilities in {COM} objects
Schwahn et al. How to fillet a penguin: Runtime data driven partitioning of linux code
Gu et al. Remote attestation on function execution (work-in-progress)
Harel et al. Mitigating Unknown Cybersecurity Threats in Performance Constrained Electronic Control Units
Kiperberg et al. System for executing encrypted Java programs
CN111194447A (zh) 监视控制流完整性
Schubert Exploit mitigation techniques for data-oriented attacks and potential applicability for embedded systems
Etalle et al. Identifying & addressing challenges in embedded binary security
Wetzels Identifying & addressing challenges in embedded binary security
Wu et al. The Instruction Separation Framework against Man-At-The-End Attacks: Protect What is Mattered On-the-Fly
Menezes et al. A Hybrid Approach to Detect and Avoid Sensitive Information Leaks in Android Applications using Program Slicing and Instrumentation

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant