开箱即用,为DDR DRAM一键开启硬件保护罩

Brett Murdock, Dana Neustadter

Jan 28, 2024 / 1 min read

2017年,美国征信机构Equifax的征信系统遭遇黑客入侵,导致1.47亿人的个人信息外泄!这个巨大的失误导致公司面临集体诉讼,最后不得不掏出4.25亿美元的和解金。本次数据泄露造成的损失包括身份盗用、欺诈行为、经济损失以及善后处理费用。无论是个人隐私、国家安全还是生命安全,数据已成为核心焦点,因此我们必须采取严密的保护措施。此次Equifax事件中,黑客利用软件中的一个漏洞发动了攻击,这给我们敲响了警钟,提醒我们必须重视电子系统中的数据安全。更值得关注的是,漏洞不只是存在于软件中,硬件中也一样存在。

 

随着科技的不断进步,系统变得越来越复杂,硬件也因此成为不法分子眼中的突破口。多芯片设计逐渐成为主流,但这也意味着攻击面正在不断扩大。在这样的背景下,半导体行业的安全性成为了重中之重。

 

保护片上系统(SoC)接口及相关数据的安全至关重要,这关乎到防止不法分子非法访问、删除或篡改数据。无论是在高性能计算(HPC)、移动通信、物联网领域,还是在汽车SoC中,我们都需要在确保数据安全的同时,优化安全实现,以保持接口的性能并降低对延迟和面积的影响。

 

DDR等高带宽接口正在迅速增多,接口速度也一代比一代快。想保护数据,就需要保护多个重要领域,DRAM就是其中一个重要领域。Rowhammer、RAMbleed都是DRAM特有的漏洞。这些漏洞可能会被不法分子利用,导致数据泄露或损坏,甚至窃取加密密钥。

 

接下来,我们将深入探讨黑客如何利用DRAM设备破坏数据和窃取信息,以及在SoC中保护DDR接口时可以采取的策略。希望通过这些内容能让开发者们更好地理解硬件安全的重要性,了解如何在实际操作中实施有效的防护措施。

 

 

存储器攻击原理

首先一起来看一下DRAM特有的安全漏洞:

 

  • Rowhammer:采用Rowhammer策略的攻击者意图修改或破坏数据。Rowhammer攻击会高速重复读取存储器行中的数据,导致相邻行内页表条目中的位发生反转(从1到0或从0到1)。谷歌Project Zero团队表示,攻击者可以通过这种方式,对整个物理存储器进行读写访问。随着尺寸不断缩小,DRAM芯片更易受到这类攻击,因为晶体管更密集地堆积在一起,导致在这种攻击过程中发生溢出的风险变得更高。

     

  • RAMBleed:RAMBleed用于窃取跨系统传输的数据。RAMBleed攻击与Rowhammer攻击原理相同,但会读取信息,而不是修改信息,因此对存储器中数据的机密性造成了威胁。通过RAMBleed攻击方式,攻击者可以从DRAM中提取信息。

     

  • 冷启动攻击:攻击者可以通过冷启动攻击实际接触到系统。他们可以借此对特定系统进行硬重置,访问启动前的物理存储器数据来检索加密密钥,并造成严重破坏。

     

通过设计保护存储器接口

从本地到数据中心,存储资源越来越丰富。如何保证这些存储资源和其中的数据安全,成为了一个重要的问题。为了应对这一挑战,开发者们开始寻求高性能、低延迟的存储器加密解决方案,以便在采用最新一代DDR、LPDDR、GDDR和HBM存储器接口时,实现数据保护和性能的双重保障。

 

纠错码(ECC)曾经备受欢迎,但它提供的恢复能力有限,并不能提升安全性,反而还会留下更多未被发现的漏洞,是一种不成熟的存储器完整性保护方法。在寻找更为可靠的加密算法之前,开发者们常常将ECC作为权宜之计。

 

真正的存储器安全,需要的是那些基于标准的加密技术。它们不仅解决数据的保密性,更能确保其完整性。例如,利用AES-XTS加密,可以轻松防范Rowhammer攻击。相比之下,奇偶校验/ECC在面对位翻转问题时,只能发现1到2个,而加密技术却能全面覆盖,不留死角。

 

加密后的数据在存储器中更像是一堆随机的乱码,使得Rowhammer攻击无从下手。而适当的密钥刷新机制,也能有效防范RAMBleed和冷启动攻击。除了确保数据的私密性,开发者还需要采用如哈希加密算法等策略,来保证数据真实可靠,确保在任何情况下,数据都不会被恶意修改。

 

然而,将安全性融入DDR接口设计并非易事。首先,安全性需要做到极致,因为任何小小的疏忽都可能让整个系统及其数据陷入危机。例如,密钥的生成和管理应在SoC的可信/安全区域进行,并通过专用通道安全地分发给加密模块。此外,整体的安全架构还需考虑如何防止密钥回读以及控制配置的泄露。

 

另一个挑战是,存储器加密并非毫无代价。它可能会对功耗、性能、面积(PPA)和延迟产生影响。开发者需要在确保DDR接口既安全又符合标准的同时,还要对其进行高度优化。

 

我们见证了完整性和数据加密(IDE)安全策略在PCI Express®(PCIe®)和Compute Express Link(CXL)接口中的迅速普及,现在DDR和LPDDR等存储器接口也将经历类似的发展轨迹。科技的进步永不停歇,开发者们正不断探索更为智能的安全解决方案。与此同时,那些企图破坏安全的罪犯们也变得越来越狡猾。面对这一切,我们需要确保自己的安全策略能够紧跟时代的步伐,适应不断变化的威胁环境。

 

如何保护SoC中DDR接口安全

SoC中的DDR接口应该如何保护呢?下面提供几种策略思路:

 

  • 设计安全的基础设施,确保基础安全可靠,包括利用控制面板来实现身份验证和密钥管理,以及利用数据面来确保数据加密和完整性。

     

  • 遵循相关标准。存储器利用各种基于标准的加密算法(比如各种密钥大小的AES-XTS)来确保数据保密性,如NIST SP800-38E中所述。

     

  • 实施高度优化的解决方案,确保可以有效地进行扩展,以支持存储器接口的最新带宽要求。利用流水线架构,实现高效的调整计算、密钥刷新和低延迟。考虑采用各种优化选项,例如在一个循环周期运行多个AES轮次,并使用特定的AES S盒实现来尽可能优化面积或提高频率。

     

  • 支持按区域加密/解密,为各种用例提供灵活性。

     

  • 在安全的环境中生成和管理密钥。存储器加密解决方案需要控制面组件来进行身份验证和管理。通常,这可以通过使用具有信任根的安全隔离区来解决。安全隔离区需要支持通过固件更新进行调整,以帮助确保密钥管理策略经得起未来考验,包括可能发生的算法变化。

     

在保护DRAM数据方面,一种解决方案是先使用密钥对数据进行加密,然后再发送到DDR控制器,但这种方法并不理想,因为加密模块必须管理大量操作,以确保数据包大小合适。例如,当应用程序向存储器中写入一个字节的数据时,加密模块需要读取相应存储器位置,并入新写入的字节,最后再写回存储器中。加密模块与存储器相距越远,要管理的东西就越多。这不仅影响性能预算(对于提高存储器带宽来说代价太高),而且因为要在SoC上传输数据,还必须注意性能下降问题。

 

最佳的解决方案是在DDR或LPDDR控制器内紧密耦合加密/解密功能,从而尽可能地提高存储器效率并降低总体延迟。同时,控制器需要尽可能地靠近存储器。

 

IME安全模块为数据提供安全保障

新思科技适用于DDR/LPDDR的内嵌存储加密(IME)安全模块有助于确保数据保密性,无论数据在传输还是存储过程中,都能保障数据安全。这款解决方案基于AES-XTS算法,严格遵循相关标准和认证要求。开箱即用,能够让包括新思科技DDR5或LPDDR5控制器在内的存储器控制器实现高效吞吐量。

 

它支持AES-XTS的所有密钥大小,包括128位、256位密钥,并支持可扩展的128位、256位和512位数据路径。该安全模块提供按区域保护存储器的功能,通过按地址或边带选择密钥,针对不同应用进行调整,以达到最佳PPA。新思科技的DDR5和LPDDR5控制器中实现了存储器加密,不仅能够帮助开发者节省并优化性能预算,而且延迟非常低。

 

随着越来越多的工作负载迁移到云端运行,市场对虚拟化的需求一直在不断增长。新思科技的IME安全模块能够管理不同虚拟环境中不同区域的数据保护,非常适合支持各种云计算虚拟化环境。

 

结语

除了DDR/LPDDR安全接口外,新思科技还为各种使用广泛的协议提供完整的标准化安全接口解决方案,具体协议包括PCIe、CXL、HDMI、DisplayPort、USB Type-C和以太网。这些解决方案能够满足最具挑战性的要求,让开发者能够在其SoC中快速实现所需的安全性,从而降低安全风险并缩短产品上市时间。

 

Continue Reading