用于保护设备的方法和装置与流程

文档序号:17049367发布日期:2019-03-05 19:53阅读:391来源:国知局
用于保护设备的方法和装置与流程

本发明涉及一种用于保护设备的方法。本发明此外涉及一种相应的装置、一种相应的计算机程序以及一种相应的存储介质。



背景技术:

在信息安全领域中,软件中的以下每一个错误称作安全漏洞:由于所述错误,具有有害作用的程序(malware,恶意软件)或者攻击者可以侵入计算机系统。

安全漏洞对于计算机系统的安全性是威胁。存在以下风险,即可以充分利用所涉及的安全漏洞并且使所涉及的计算机系统陷入危险。此外,安全漏洞由于计算机的以防来自网络的攻击的不充分的保护(例如缺少防火墙或其他安全软件)以及通过运行系统、网页浏览器或在系统上运行的其他软件应用中的编程错误而产生。

de102015225651a1公开一种用于保护设备的方法。在此,检查者产生第一随机数和第二随机数,根据第二随机数借助于设备的模仿的或之前测定的硬件功能来算出密码密钥,借助所述密钥将所述软件加密成密文,将所述密文和第一随机数发送给所述设备,从所述设备接收校验和,根据所述第一随机数和所述设备的复制的工作存储器借助于所述模仿的或之前测定的硬件功能和预给定的密码散列函数来算出参考值,根据所述参考值使所述校验和经受检查,以及只要所述检查通过,就将所述第二随机数发送给所述设备。



技术实现要素:

本发明提供根据独立权利要求的一种用于保护设备的方法、一种相应的装置、一种相应的计算机程序以及一种相应的机器可读的存储介质。

根据本发明的方案在此基于以下认识:已知的安全漏洞或缺陷典型地因此可以用于大量的攻击,因为有错误的软件的所有实例具有相同的安全漏洞。这又对于攻击者而言能够实现:创建单个的文件或另外的输入,其然后可以用于攻击易受侵袭的设备中的任何一个(或一次性地全部)。

以下提出的解决方案因此基于以下思想:实现一种用于相对于这种大量攻击加强相互连接的装置的新型方法,所述方法明显提高攻击所需的努力。

该解决方案的两个优点在于根据本发明加固了的系统相对于基于软件的攻击、也即充分利用软件缺陷的攻击而提高的抵抗力以及所述系统关于计算功率、代码规模和代码复杂性的最小附加耗费。

通过在从属权利要求中列举的措施能够实现在独立权利要求中说明的基本思想的有利的扩展方案和改进方案。因此可以规定,给待保护的设备随机地分配所谓的魔数(magicnumber)或相应的字符串(string),根据其来个性化设备和所设置的输入数据。在信息学中——除其他含义之外,以该概念表示特殊的值,该值表示确定的文件格式。为此,所涉及的值通常在文件开始置于实际的有用数据前并且例如对于辅助程序或核心模块而言允许:在不深入地分析文件内容的情况下确定这样表示的文件的类型。

假设,黑客重构确定类型的通过这种方式保护的设备,例如家庭或暖气装置控制器或基于ip的摄像机。即使黑客发现可充分利用的软件缺陷,随机生成的独一无二的魔数阻止黑客充分利用在相同类型的其他设备上的被发现的安全漏洞。为了做到这点,即黑客必须编排一个文件,该文件由所涉及的设备以由黑客有意的方式处理(例如通过在这些设备上安装的确定的库的确定的函数)。然而由于魔数的随机性,对于黑客而言不可能的是,编排这样的文件,该文件对于其他设备在该意义上是“有效的”。如果这样的设备在此期间收到具有魔数的文件,该魔数与分配给该设备的魔数不一致,则该设备将不能够处理该文件,而是例如简单地丢弃该文件并且因此阻挡攻击尝试。

根据另一个方面可以规定,在数据库中将随机产生的魔数或另外的属性分配给相应的设备。因此,黑客用于成功的攻击的耗费随着他想要攻击的设备的数目基本上线性地增加。这由以下状况得出,即如果黑客还没有使数据库陷入危险,则黑客必须反向工程(reverse-engineer)他尝试攻击的每个设备。这又意味着,以如此程度充分利用软件中的缺陷的每个系统具有差的可扩展性。因此,本发明的相应的实施方式尤其可以极为有效地防止因特网服务的通过网络物理系统中的大量问询而散布的拒绝(distributeddenialofservice,ddos:分布式拒绝服务)。

结果,可以通过所描述的方式显著地减少对于相互连接的任意系统的安全风险,其方式是,立即消除对该系统的攻击的经济刺激。

本发明还包括以下方案:

方案1.一种用于保护设备的方法,其特征在于以下步骤:

个性化(20)所述设备的运行时间环境,以及

使待由所述设备处理的输入数据匹配于经个性化的运行时间环境。

方案2.根据方案1所述的方法,其特征在于,所述个性化包括以下步骤:

借助随机数发生器产生随机属性,以及

在数据库中将所述属性分配给所述设备。

方案3.根据方案2所述的方法,其特征在于,所述个性化还包括以下步骤:

通过个性化功能单元根据所述属性来参数化所述运行时间环境的源代码,以及

将经参数化的源代码转变为设备特定的二进制文件。

方案4.根据方案3所述的方法,其特征在于,所述匹配包括以下步骤:

从所述数据库中调用分配给所述设备的属性;以及

通过匹配功能单元根据所述属性将包含所述输入数据的源文件转变成设备特定的文件。

方案5.根据方案4所述的方法,其特征在于以下特征:

通过以下方式将所述源文件转变成设备特定的文件,即将所述属性插入到所述源文件中。

方案6.根据方案3至5中任一项所述的方法,其特征在于以下特征中的至少一个:

所述属性包括魔数的数据块的数目,

所述属性包括魔数的数据块的文件位置,或者

所述属性包括魔数的值。

方案7.根据方案6所述的方法,其特征在于以下特征:

所述源代码包括宏,以及

所述个性化功能单元包括预处理器。

方案8.一种计算机程序,其被设置用于实施根据方案1至7中任一项所述的方法。

方案9.一种机器可读的存储介质,在所述存储介质上存储有根据方案8所述的计算机程序。

方案10.一种装置,其被设置用于实施根据方案1至7中任一项所述的方法。

附图说明

在附图中示出并且在以下描述中详细阐述本发明的实施例。其中:

图1示出根据一种实施方式的方法的流程图;

图2示意性地示出所述方法的第一过程;

图3示意性地示出所述方法的第二过程。

具体实施方式

下面,概念“文件”在宽泛的意义上用于联网的设备的输入数据。作为文件的示例例如应提及软件更新、多媒体文件或可能包含对设备的要求的文本文件。一般,每个文件由头数据和有用数据组成。文件的有用数据涉及文件的实际内容,例如图像、视频或文本。文件的头包含文件的所谓的元数据,如文件的格式、为了文件的创建而使用的工具的版本,等等。所述元数据尤其包括在本发明的范围内使用的魔数。

本发明的一个基本方面在于,使给定的文件绑定到确定的设备上,使得文件仅仅可以在为此设置的设备上被正确处理(也即读取和解释)。所提出的方法的概览在图1中示出。

在图2中示出的设备个性化步骤(过程20)中,使用(伪)随机性的源(21),以便对于确定的设备对于确定的文件类型产生魔数(m)。替代直接地使用魔数(m)的值,通常考虑(伪)随机选择的属性的集合,例如魔数(m)的数据块(chunks)的数目或其在文件内的位置。

将魔数(m)与相应的设备的明确唯一的标识(identifier,id:标识)关联并且通过这种方式在数据库(db)中持久地分配给所述设备以用于稍后的查询。同时,将魔数(m)仿佛“注入”到对于设备构建的源代码(22)中。例如,库的c源代码或c++源代码(22)可以通过所谓的宏来参数化,所述宏借助合适的指令通过魔数(m)来取代。

该设备个性化步骤(20)的结果是用于相应的设备的定制的二进制文件(24)。该二进制文件(24)在一定程度上被配置用于根据魔数(m)确定文件类型。

现在应假设以下情况:例如应执行软件更新,而设备处于应用中。于是,在图3中示出的文件匹配步骤(30)中,从数据库(db)调用用于该设备的魔数(m)。应绑定到该设备上的文件(f)由将魔数(m)插入到文件(f)中的匹配功能单元(31)来处理。该步骤的结果因此是仅仅能够由该设备正确处理的文件(fm)。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1