用于存储器保护的装置和方法制造方法及图纸

技术编号:28203354 阅读:20 留言:0更新日期:2021-04-24 14:26
本公开涉及用于存储器保护的装置和方法。该装置包括存储器写入设备和存储器。该存储器包括用于存储要保护的数据的可保护存储区。该存储器写入设备用于将要保护的数据存储在可保护存储区中。该存储器写入设备还用于确定受保护存储区域。该受保护存储区域包括要保护的数据,并且对该受保护存储区域的写入访问被不可逆地禁止。受保护存储区域被确定为不可逆地禁止任何写入存储器访问,从而提高存储器保护的可靠性。的可靠性。的可靠性。

【技术实现步骤摘要】
【国外来华专利技术】用于存储器保护的装置和方法


[0001]本公开涉及用于存储器保护的装置和方法。此外,本公开还涉及对应的计算机程序和计算机可读存储介质。

技术介绍

[0002]微处理器系统和微控制器系统通过将其大部分暂态保持在存储器中来操作。暂态由不同的状态信息组成,这些状态信息具有不同的重要性和不同的使用寿命。通常可以在状态内识别一个或多个子状态,因为这些子状态控制系统的主要功能,所以攻击者可能对其感兴趣。因此,对这种系统的攻击将试图识别与期望结果相关的子状态在存储器中的位置(例如,存储器地址)。例如,控制系统的哪个用户可以执行某些特权操作。一旦已知子状态的存储器位置(例如,存储器地址),则攻击者可以试图改写这些子状态,设置对他们来说更有利的值。
[0003]现有技术中针对这种攻击的防御机制是部署如图1所示的一个或多个存储器管理单元(memory management unit,MMU)以及可选地部署一个或多个输入

输出存储器管理单元(input

output memory management unit,IOMMU)。MMU和IOMMU可以限制对某些存储区域的访问,试图防止前面描述的攻击。当程序(例如,操作系统和/或管理程序)在中央处理单元(central processing unit,CPU)上运行时,CPU可以配置MMU和IOMMU。MMU用于限制CPU上运行的程序可访问的地址集。IOMMU用于限制外围设备(例如,输入设备和输出设备等)的访问。在一些较简单的系统上,MMU可能被存储器保护单元(memory protection unit,MPU)所取代。
[0004]然而,IOMMU、MMU、或MPU可以重新编程。已获得访问(例如读取或写入)存储器能力的攻击者可以使用同一能力来重新编程或禁用已建立的屏障(例如,IOMMU、MMU、或MPU)。

技术实现思路

[0005]本公开实施例的目的是提供一种减轻或解决传统解决方案的缺点和问题的解决方案。
[0006]通过独立权利要求的主题来实现上述目的和其他目的。本公开其他有利的实施例可以在从属权利要求中找到。
[0007]本公开提供了一种解决方案,使得存储器保护在包括存储器的系统重启、重新启动、重置、或断电之前是不可逆的。即,一旦保护被激活,则存储器可以防止任何试图入侵存储器并改写要保护的数据的尝试。
[0008]根据本公开的第一方面,通过一种用于存储器保护的装置来实现上述目的和其他目的。该装置包括存储器写入设备和存储器。存储器包括用于存储要保护的数据的可保护存储区。存储器写入设备用于将要保护的数据存储在可保护存储区中。该存储器写入设备还用于确定受保护存储区域。该受保护存储区域包括要保护的数据,并且对该受保护存储区域的写入访问被不可逆地禁止。
[0009]应注意,上述公开集中于用于为装置(例如,微处理器或微控制器系统)提供不可逆的存储器保护的场景。该装置可以实现为工业传感器、执行器、物联网(internet of things,IoT)设备、计算设备、平板电脑、手机、网络装置、可穿戴终端设备、无人机、集成在汽车中的设备、嵌入式终端设备、云设备等。
[0010]在本公开中,术语“要保护的数据”可以解释为包括例如与装置中的暂态相关的数据(例如,随机存取存储器(random access memory,RAM)、交叉点、或闪存等中的一些重要数据)。对于微处理器系统,要保护的数据可以是系统级数据,例如,与管理程序或操作系统相关的数据。对于微控制器,要保护的数据可以是关于操作系统和应用软件的应用数据。
[0011]在本公开中,术语“存储器写入设备”可以解释为用于执行存储器写入访问的设备或单元(例如,处理器或微处理器、DMA控制器、或总线控制外围设备等)。
[0012]在本公开中,术语“可保护存储区”可以解释为表示被分配用于存储要保护的数据(例如,只读数据)的存储区。将要保护的数据写入这个分配的存储区,并且存储器中用于存储要保护的数据的区域形成禁止存储器写入访问的受保护区域。作为示例,可保护存储区可以由装置的程序员或操作系统来定义。作为示例,在装置的初始化期间将要保护的数据写入可保护存储区,然后在启用了保护(例如,激活了受保护存储区域)之后,要保护的数据变为只读。
[0013]在公开中,表述“对受保护存储区域的写入存储器访问被不可逆地禁止”可以解释为意味着一旦启用了保护,受保护存储区域禁止存储器写入访问,直到装置重启、重新启动、重置、或断电。
[0014]根据第一方面的装置的优点在于:确定了受保护存储区域以不可逆地禁止任何写入存储器访问。因此,该装置的存储器更加安全,从而提高了存储器保护的可靠性。
[0015]此外,在装置的操作期间,可能发生并检测到重写错误。重写错误可能触发装置的重置或重新初始化,这可能导致未定义的行为。因此,根据第一方面的装置的另一优点是避免了对受保护存储区域的重写错误,因此提高了装置的可靠性和稳定性。
[0016]在根据第一方面的装置的实施方式中,上述存储器写入设备还用于:在装置的初始化期间,将要保护的数据顺序地存储在可保护存储区的连续部分中;在初始化之后,确定上述连续部分为受保护存储区域,其中,连续部分用于存储要保护的数据。
[0017]在本公开中,在装置的初始化期间,可以将要保护的数据写入可保护存储区。
[0018]这种实施方式的优点在于:将要保护的数据写入可保护存储区的连续部分中。由此,更容易确定包括要保护的数据的受保护存储区域。
[0019]在根据第一方面的装置的实施方式中,该装置包括安全电路,其中,该安全电路用于基于边界来控制对受保护存储区域的写入访问。
[0020]在该实施方式中,安全电路被提供为用于控制存储器写入访问的硬件“防火墙”。安全电路由物理上与传统处理电路(例如CPU、MMU、MPU、以及IOMMU)分离的电路实现。例如,安全电路可以由部署在存储器总线与存储器之间的独立电路实现。安全电路还可以由传统处理电路中的集成电路(例如,MMU、MPU、以及IOMMU)实现。一旦启用了保护,则安全电路禁止对存储器中的受保护存储区域的存储器写入访问。受保护存储区域由边界定义。
[0021]这种实施方式的优点在于:设法破坏主要处理电路的攻击者不能入侵安全电路。这提高了设备免受恶意黑客攻击的安全性。此外,受保护存储区域可以由边界定义,从而提
高了受保护存储区域的管理灵活性。
[0022]在根据第一方面的装置的实施方式中,受保护存储区域的边界由以下定义:首地址和末地址、或首地址和受保护存储区域的大小、或指示受保护存储区域的第一页和最后页的一对页索引。
[0023]在该实施方式中,由于受保护存储区域是可保护存储区的连续存储器部分,因此可以由存储器地址范围或指示受保护存储区域的第一页和最后页的一对页索引来定义受保护存储区域。
[0024]这种实施方式的优点在于:提供了至少三种实施本文档来自技高网
...

【技术保护点】

【技术特征摘要】
【国外来华专利技术】1.一种用于存储器保护的装置,其中,所述装置包括存储器写入设备和存储器,所述存储器包括用于存储要保护的数据的可保护存储区,并且所述存储器写入设备用于:将要保护的数据存储在所述可保护存储区中;确定受保护存储区域,其中,所述受保护存储区域包括所述要保护的数据,并且对所述受保护存储区域的写入访问被不可逆地禁止。2.根据权利要求1所述的装置,其中,所述存储器写入设备还用于:在所述装置的初始化期间,将所述要保护的数据顺序地存储在所述可保护存储区的连续部分中;在所述初始化之后,确定所述连续部分为所述受保护存储区域,其中,所述连续部分用于存储所述要保护的数据。3.根据前述权利要求中任一项所述的装置,其中,所述装置包括安全电路,其中,所述安全电路用于基于所述受保护存储区域的边界来控制对所述受保护存储区域的写入访问。4.根据权利要求3所述的装置,其中,所述受保护存储区域的所述边界由以下定义:首地址和末地址、或首地址和所述受保护存储区域的大小、或指示所述受保护存储区域的第一页和最后页的一对页索引。5.根据权利要求3或4所述的装置,其中,所述安全电路还用于:当接收到触发事件的通知时,禁止所述受保护存储区域的所述边界的扩展,其中,所述受保护存储区域的所述边界被锁定直到重启。6.一种用于存储器保护装置的方法,其中,所述存储器保护装置包括存储器写入设备和存储器,所述存储器包括用于存储要保护的数据的可保...

【专利技术属性】
技术研发人员:伊戈尔
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:

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

1