CN105512055B - 用于减少存储器信息泄漏的系统和方法 - Google Patents

用于减少存储器信息泄漏的系统和方法 Download PDF

Info

Publication number
CN105512055B
CN105512055B CN201510457942.7A CN201510457942A CN105512055B CN 105512055 B CN105512055 B CN 105512055B CN 201510457942 A CN201510457942 A CN 201510457942A CN 105512055 B CN105512055 B CN 105512055B
Authority
CN
China
Prior art keywords
memory
access
write
accesses
virtual
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
CN201510457942.7A
Other languages
English (en)
Other versions
CN105512055A (zh
Inventor
L·哈什
J·哈蒙德
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.)
Boeing Co
Original Assignee
Boeing Co
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 Boeing Co filed Critical Boeing Co
Publication of CN105512055A publication Critical patent/CN105512055A/zh
Application granted granted Critical
Publication of CN105512055B publication Critical patent/CN105512055B/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/556Detecting local intrusion or implementing counter-measures involving covert channels, i.e. data leakage between processes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0602Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
    • G06F3/062Securing storage systems
    • G06F3/0623Securing storage systems in relation to content
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/82Protecting input, output or interconnection devices
    • G06F21/85Protecting input, output or interconnection devices interconnection devices, e.g. bus-connected or in-line devices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0628Interfaces specially adapted for storage systems making use of a particular technique
    • G06F3/0655Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices
    • G06F3/0659Command handling arrangements, e.g. command buffers, queues, command scheduling
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/06Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
    • G06F3/0601Interfaces specially adapted for storage systems
    • G06F3/0668Interfaces specially adapted for storage systems adopting a particular infrastructure
    • G06F3/0671In-line storage system
    • G06F3/0673Single storage device
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/02Addressing or allocation; Relocation
    • G06F12/0223User address space allocation, e.g. contiguous or non contiguous base addressing
    • G06F12/0292User address space allocation, e.g. contiguous or non contiguous base addressing using tables or multilevel address translation means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2212/00Indexing scheme relating to accessing, addressing or allocation within memory systems or architectures
    • G06F2212/10Providing a specific technical effect
    • G06F2212/1052Security improvement
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2123Dummy operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Abstract

本发明涉及用于减少存储器信息泄漏的系统和方法。一种系统和方法包括与存储器连接的处理单元,其被配置为访问存储器的数据。在处理单元和存储器之间增加存储器事务单元。存储器事务单元被配置为在处理单元真实访问存储器之前,在随机存储器位置处执行虚拟读取操作和写入操作随机次数和/或插入随机延迟。

Description

用于减少存储器信息泄漏的系统和方法
技术领域
本发明的系统和方法涉及在安全计算方面减少存储器访问模式的信息泄漏。
背景技术
计算机安全性是应用于计算设备(如计算机和智能手机)和计算机网络(如专用网络和公用网络,包括互联网)的信息安全性。计算机安全性能够覆盖过程与机制,通过该过程与机制,基于计算机的设备、信息和服务免受无意识或未授权访问、改变或破坏。当前的安全计算系统易遭受信息窃取,这是经由存储器访问模式的分析执行的。一种简单的方法是通过增加虚假访问(如,通过与真实加密并行,执行虚拟加密),增加噪声到存储器访问模式。噪声减少攻击者可见的信号,并且因此需要更多样本,但是不能消除非故意或未授权访问。
发明内容
根据一个方面,本发明的系统和方法能够提供与存储器连接的处理单元,其被配置为访问来自存储器的数据。存储器事务单元与处理单元和存储器连接。存储器事务单元被配置为,在处理单元真实访问存储器之前,在随机存储器位置处执行虚拟读取操作和写入操作随机次数和/或插入随机延迟。
基于下列附图和详细说明书的审查,其他系统、方法、特征和优点会是或会变得明显。所有这种附加的系统、方法、特征和优点旨在包含于此说明书之内并由附权利要求书保护。
附图说明
结合下列详细说明书,对附图进行参考,其中,在不同的附图中的相同的附图标记能够指代相同元素。
图1是一个示例安全存储器事务单元(secure memory transaction unit,SMTU)的框图,其插入在中央处理单元(CPU)/直接存储器访问(direct memory access,DMA)和存储器之间。
图2是用于混淆存储器访问模式的一个示例过程的流程图。
具体实施方式
所描述的系统和方法用于提高安全计算系统的安全性,如当攻击者试图获得对附接到安全处理器的随机存取存储器(RAM)的无限制访问时。存储器总线分析仪可以实现这种访问,攻击者将存储器总线分析仪安装在目标机器中,以记录其对RAM的存储器访问相关的信息。记录的数据包括地址、传送数据和存储器访问发生的时间。该系统和方法可以减少因攻击者观察的时序模式和地址模式的信息泄露以协助提供安全计算系统。
图1是一个示例计算系统100的框图,该系统包括安全存储器事务单元(SMTU)102,其位于中央处理单元(CPU)/直接存储器访问(DMA)104和存储器106之间。2014年9月23日发布的、题目为“SECURE MEMORY TRANSACTION UNIT(安全存储器事务单元)”的共同受让美国专利号8,843,767中对示例SMTU 102进行描述,该专利全文并入本文。SMTU 102可以被如本文所描述的那样操作的其他存储器事务单元取代。计算系统100通常需要外部存储器106(如DRAM、闪存、ROM、RAM、SSD、磁硬盘等)存储长期使用的数据和短期使用的数据。为满足安全性规定,存储器106的数据内容被保护。物理保护可能昂贵而不可靠。因此,加密类型和算法类型保护是优选的。通过在将数据存储在存储器106中之前对数据加密,以及在使用受保护的电路系统和已证实安全性的密码算法的隐藏的高熵密钥恢复之后解密数据,能够为安全微处理器(如CPU/DMA 104)提供充分的保密性。
安全数据认证标签通常附加于加密后的数据。如果存储的数据已经被改变,它们向CPU/DMA 104显示。然而,剩余的安全性问题包括信息泄露,其在加密和数据认证之后发生。信息泄露的源头可能是存储器访问模式、CPU/DMA 104执行的某些操作的特性以及控制这些操作的软件的特性。
在计算系统100中的CPU/DMA 104和存储器106之间增加SMTU 102,其加密并且认证存储在存储器106中的数据。除了其他方面,当攻击者控制计算系统100的功能(如通过提供输入),并且观察对这些激励作出回应时的存储器访问模式时,通过观察存储器访问模式,产生高信息损失的攻击会发生。通常称之为剖析(profiling)。随后当所学知识用于现实生活环境中时,其能够用于从计算系统100获取信息。存储器访问中的模式可以显示给攻击者,此外,下列信息可以显示给攻击者:在计算系统100中运行的软件版本,其可以包含已知的可开发的漏洞;在剖析软件的功能部件之后,在任意已知时间执行的动作/功能;当使用大的查询表((如加密(AES、DES等)缓存丢失事件的软件实施方式)时,它们能够显示密钥的位(归根结底为秘密密钥);以及计算系统100在已知时间执行的功能等。
为了减少数据泄露,SMTU 102可以在真实存储器访问(如其由CPU/DMA 104或输入/输出(I/O)操作启动)之前,在随机存储器位置处执行虚拟读取操作和写入操作随机次数和/或插入随机延迟。虚拟读取操作和写入操作隐藏潜在的存储器访问模式。通过插入到计算系统100中的存储器104(如加密RAM控制器)和CPU/DMA 104和/或软件任务之间的SMTU102同时与真实应用程序运行,能够执行这些虚拟操作。无论哪种方式,虚拟存储器访问功能性对于在计算系统100上运行的软件是透明的。
此外或替代地,通过跟踪真实存储器访问以及以较低的频率虚拟访问这些位置,可以进一步改进虚拟存储器访问对策。在查询表的情况下,虚拟存储器访问被引导至查询表的随机页面。在硬件实施方式中,硬编码算法可以用来识别重复的真实存储器访问是否到达存储器访问的限制范围,以及那些地址随后以更高的可能性用于虚拟访问。在软件实施方式中,程序可以为后台虚拟存储器访问任务提供提示,指示何时处理查询表。这样能够代替自动查询表识别,或者除它之外另外执行。当结合动态存储器地址重映射时,所描述的对策可以最好地工作,但是即使没有地址重映射,安全计算的安全性也会提高。
虚拟存储器访问减少真实存储器访问的地址和时序二者的信息泄露。当在计算系统100中使用动态地址重映射时,不需要由虚拟写入操作引入地址混淆(只混淆存储器访问时序的模式),但是由于SMTU 102而使安全性的总体改善比只是隐藏计算系统100的存储器访问时序信息更明显。当攻击者能够观察并且分析对存储器106的访问时,SMTU 102提高计算系统100的安全性。计算系统100包括飞行计算机、军事计划和太空计划、公司网络、个人电脑和笔记本电脑、智能移动设备等。当SMTU 102与传统加密和算法存储器保护方法一同应用时,几乎能够防止来自存储器访问模式的所有的信息泄露,并且能够检测恶意数据变化。
图2是用于混淆存储器访问模式的一个示例过程200的流程图。CPU/DMA 104生成存储器106的访问请求(202)。SMTU 102提供存储在存储器106中的数据的队列访问(204)。为了容纳安全队列访问,SMTU 102建立并且升级真实存储器访问的统计(206)。统计管理虚拟存储器访问产生,以模拟处理器的行为或隐藏(如无保护系统的)处理器的访问模式。生成虚拟事务是一种向真实事务增加噪声以混淆任何可用于存储器事务的时序分析的方式。虚拟事务匹配CPU/DMA 104在此环境下自然地执行但是在那些约束内被随机化的事务。不匹配正常输出模式的虚拟事务可以容易地过滤掉从而对于混淆时序信息不起作用。统计还能够用来管理真实存储器访问的延迟。
与存储器106交互的CPU/DMA 104可以通过CPU/DMA 104的缓存系统实现,所以要理解缓存系统的行为。缓存行为在处理器之间变化,所以在具体问题具体分析的基础上可以实现详细的交互。缓存单元通常基于缓存线与存储器交互,因此,将理解这种大小用于每个所支持的处理器,如通过建立/更新统计(206)。一般来说,缓存单元以两种不同写入模式操作。一个模式称为通写,而另一个常常称为回写。在通写模式中,所有写入立即转到存储器106同时修改缓存线。通写写入在SMTU 102中生成读取-修改-写入的循环。当使用回写模式时,实时修改缓存线。当缓存在回写式模式(随时存在缓存缺失(cache miss))时,如果要被清除的缓存线接收到写入,就会发生缓存清除(cache flush)。回写模式中的可能顺序是缓存线清除,接着是缓存线读取或只有缓存线读取。当缓存在通写模式中时,缓存缺失仅生成缓存线读取。
出于效率考虑,缓存线大小匹配SMTU 102块大小。这也使通过SMTU 102的通写模式写入显得就像是在回写式模式时获得的缓存清除写入。移除这种差别简化了混淆时序信息的工作量。SMTU 102计划访问存储器106,并且延迟产生器插入所需延迟(210),如下所述。CPU/DMA 104访问存储器106(212),并且存储器106将数据返回到CPU/DMA 104(214)。为了隐藏时序信息,存储器(106)可以以固定模式的读取事务和写入事务持续操作,从而隐藏所有时序模式,但是在速度和功率使用方面付出高额代价。此模式采取N个读取接着是M个写入的形式。N和M的值是可设定的参数,其是充分考虑到两个竞争的目标所选的。一个目标是隐藏这一事实:通过匹配读写比与CPU的实际使用模式而发生虚拟缓存访问,以防这一比被攻击者所知。另一个目标是使用这些值以掩盖实际读写比,如在合理地假设攻击者不知道此比值时。如果可用时,SMTU 102可以根据模式持续生成事务,如果不可用时,就生成随机事务。针对完整虚拟写入模式操作,维护用于实际读写比以及它们的分布的统计(存储器访问的连续的相同类型的数目和地址范围)(206)。
SMTU 102防范至少两种类型的存储器攻击,即单发(one shot)攻击和平均攻击。对于单发攻击,针对系统中执行的算法的具体的存储器地址配置,攻击者仅能够观察存储器总线上的业务量一次。系统行为总是不同的;攻击者不能够强制再次执行相同的行为。在这种情况下,随机延迟的存储器访问(212)和增加的虚拟存储器访问(208)是对抗业务量分析的有效对策。这种情况发生在某些应用中(大多数是实时系统或通信系统)以及存储器地址被随机重映射的时候。在后一种情况下,存储器地址对于攻击者而言是随机的,并且时序信息被延迟和虚拟访问技术混淆。时序信息的泄露的一个示例是当一块数据(使用检查表的程序的数据)已经在缓存中时,系统100不加载来自存储器106的表中的相应的页面。相应的存储器访问的缺少是可识别的:规则缓存加载模式受损。
对于平均攻击,攻击者能够强制受攻击的系统重复执行相同的行为。例如,启动存储器初始化或固件加载/解密过程可以是可重复的。在此情况下,许多观察到的存储器业务量模式的平均过程可以揭示真实存储器访问,而虚拟访问消失在噪声中。在此情况下,SMTU102检测系统的重复动作,其能够指示攻击。基于检测重复性,安全计算系统可以执行指定行为,包括删除密钥、清理存储装置、发出警报或通知系统管理员关于正在进行的攻击的其他方式。重复检测子系统采用受到外部刺激(如重置、中断)的系统的状态的散列并将这些散列值存储在受保护的非易失性存储器中。大量重复的散列值指示平均攻击。
如上所述,SMTU 102在加密和认证存储器的背景下操作,其中,加密和认证取决于数据位置(地址)和数据版本(写入计数器、时间戳等)。上述说明之外或替代地,读取存储器访问可以被延迟随机时间段,接着是(不一定立即而是在短的随机延迟之后)到相同(逻辑)位置的写入。在此期间数据版本信息得到更新(如递增写入计数或时钟)。即使数据不改变,加密也会改变(取决于数据版本),所以截收者不能分辨相同的数据或更新后的数据是否被写回。修改写入存储器访问以使其在读取(仅验证数据的真实性,但是在其他情况下如果不需要存储器数据(例如,如果该数据已经在CPU/DMA 104的缓存中),不使用读取)之后。对于这两种修改,截收者不能够分辨存储器读取和写入访问:它们看起来总是相同的。
这样,SMTU 102的使用比加密和数据认证更复杂。在CPU中不执行虚拟算法(如没有虚拟加密),但是存储器访问被随机化。不止单独增加随机延迟或单独规格化延迟以防止时序攻击,SMTU 102完成的更多。引入随机延迟仅可以对攻击复杂性增加线性系数,因此,它不可以提供足够的安全性。更确切地说,SMTU 102首先插入虚拟存储器访问随机次数,并且之后可以引入或可以不引入明确的随机延迟。与数据块重映射混淆方法相比,不需要维护历史列表并且不需要使用虚拟数据块,数据块能够占据存储空间并且使存储器访问复杂化。SMTU 102使用自适应且更复杂的算法,以随机化存储器访问和延迟。当程序不访问实际数据块时,SMTU 102能够实现对它们的虚拟访问。当前的访问模式保护方案访问两个块,因为该方案总是在存储器区域之间交换两个块。然而,SMTU 102不需要存储器交换区域,并且当请求一个数据块时,不限于精确访问两个数据块。更确切地说,SMTU 102包括自适应算法,其引入对真实数据的可变数量的虚拟访问。自适应算法能够随着真实存储器访问的模式的变化而变化。
SMTU 102的自适应性可以用来根据现在隐藏的真实存储器访问模式改变它的行为。关于频率,可以插入虚拟存储器访问以致全部存储器访问的频率成为常量。极限情况是,当使用100%存储器带宽时。在系统100的剖析阶段能够离线确定该恒定频率,同时执行常规或安全性关键任务,或者(如通过移动平均过程)能够动态地确定恒定频率。关于时序模式,一些算法使用不同的存储器访问频率工作。静态时间段将突发的频繁访问隔开。SMTU102能够识别这种模式并且通过插入虚拟突发访问模拟它们。关于地址范围,图像处理、矩阵运算或表查找程序(为例)可以常常访问一定范围的存储器,并且大多数时候按顺序访问此范围的外部(指示算法的指令取回)。SMTU 102检测这种模式,并且相应地调整虚拟访问:大多数虚拟访问发生在受限的范围(假装访问图像的另外不相干部分),并且偶尔访问连续存储器位置的短序列(用于假装程序执行)。关于地址序列,加载程序代码经常是可辨认的,线性地址序列得以访问,并且跳到其他序列和交错循环。能够容易创建虚拟存储器访问的类似模式,以插入到这种真实访问之间。这样混淆了在程序执行期间发生的模式。
获得前述说明书和相关附图中提出的教导的益处的本领域技术人员容易想到本文所陈述的许多修改和其他实施例。虽然本文中采用具体术语,但是它们仅以通用和描写性的意义并且不是用于限制的目的而使用。

Claims (11)

1.一种用于访问存储器的方法,所述方法包括:
接收用于访问存储器的多个真实访问请求;
存储所接收的请求的统计信息;
基于存储的统计信息,生成包括读取操作和写入操作的虚拟存储器访问,使得所述虚拟存储器访问匹配接收的请求的读写比;以及
在真实访问存储器(106)之前,插入延迟。
2.根据权利要求1所述的方法,其进一步包括将所述虚拟存储器访问引导至查询表的随机页面,所述查询表包括存储的统计信息。
3.根据权利要求1所述的方法,其进一步包括动态重映射所述存储器(106)的地址。
4.根据权利要求1所述的方法,其中,所述虚拟存储器访问向真实存储器事务增加噪声以掩盖可用于所述存储器事务的时序分析的信息。
5.根据权利要求1所述的方法,其中,所插入的延迟包括将到所述存储器中的逻辑位置的读取存储器访问延迟随机时间段,接着是到相同逻辑位置的写入存储器访问。
6.根据权利要求5所述的方法,其进一步包括在所述延迟期间,即使数据没有改变,更新数据版本信息,所述数据版本信息包括对所述存储器的访问的写计数器或时间戳。
7.根据权利要求5所述的方法,其中所述写入存储器访问被修改为在所述读取存储器访问之后。
8.根据权利要求1所述的方法,其中所述统计管理虚拟存储器访问生成,以便模拟处理器(104)的行为或者隐藏所述处理器(104)的访问模式。
9.根据权利要求1所述的方法,其中所述统计管理所述真实存储器访问的延迟。
10.根据权利要求1所述的方法,其进一步包括使用自适应算法,其中所述自适应算法随着真实存储器访问的模式改变而改变。
11.一种用于访问存储器的系统,其包括:
处理单元(104),其与存储器(106)连接,所述处理单元被配置为访问所述存储器(106)的数据;和
存储器事务单元(102),其与所述处理单元(104)和所述存储器(106)连接;
所述存储器事务单元(102)被配置为执行权利要求1-10中任意一项所述的方法。
CN201510457942.7A 2014-10-10 2015-07-30 用于减少存储器信息泄漏的系统和方法 Active CN105512055B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US14/511,817 US9495111B2 (en) 2014-10-10 2014-10-10 System and method for reducing information leakage from memory
US14/511,817 2014-10-10

Publications (2)

Publication Number Publication Date
CN105512055A CN105512055A (zh) 2016-04-20
CN105512055B true CN105512055B (zh) 2021-07-09

Family

ID=53546115

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510457942.7A Active CN105512055B (zh) 2014-10-10 2015-07-30 用于减少存储器信息泄漏的系统和方法

Country Status (5)

Country Link
US (1) US9495111B2 (zh)
EP (1) EP3007093B1 (zh)
JP (1) JP6663674B2 (zh)
CN (1) CN105512055B (zh)
TW (1) TWI673609B (zh)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013172913A2 (en) * 2012-03-07 2013-11-21 The Trustees Of Columbia University In The City Of New York Systems and methods to counter side channels attacks
US10585809B2 (en) * 2016-04-01 2020-03-10 Intel Corporation Convolutional memory integrity
US20210374267A1 (en) * 2016-08-19 2021-12-02 Nec Corporation Information processing device, information processing method, and recording medium
US10394492B2 (en) * 2016-10-26 2019-08-27 Lenovo Enterprise Solutions (Singapore) Pte. Ltd. Securing a media storage device using write restriction mechanisms
CN108073805A (zh) * 2016-11-15 2018-05-25 华为技术有限公司 一种数据读取方法和存储器
US10082975B1 (en) * 2017-03-02 2018-09-25 Micron Technology, Inc. Obfuscation-enhanced memory encryption
US10496552B2 (en) 2017-04-12 2019-12-03 The Regents Of The University Of Michigan Trusted computing system with enhanced memory
JP6809986B2 (ja) * 2017-06-08 2021-01-06 Kddi株式会社 アクセスプログラム、保護装置、最適化装置、最適化方法及び最適化プログラム
EP3419005A1 (en) * 2017-06-22 2018-12-26 Gemalto Sa Computing device processing expanded data
US20190116022A1 (en) * 2017-10-16 2019-04-18 Samsung Electronics Co., Ltd. Encryption device and operation method thereof
KR102323549B1 (ko) 2017-12-12 2021-11-08 구글 엘엘씨 차등적 프라이버시를 갖는 불확정 액세스
US20210365553A1 (en) * 2018-02-07 2021-11-25 Sony Semiconductor Solutions Corporation Control device and control method
SG11202103159YA (en) 2018-09-28 2021-04-29 Visa Int Service Ass Oblivious filtering of data streams
FR3087604B1 (fr) * 2018-10-18 2021-09-17 Ingenico Group Procede et dispositif de protection de donnees saisies au moyen d'une interface utilisateur non securisee.
US10866747B2 (en) * 2019-02-10 2020-12-15 Hewlett Packard Enterprise Development Lp Securing a memory drive
WO2021178957A1 (en) * 2020-03-06 2021-09-10 Cornell University Application-specific computer memory protection
US20220083347A1 (en) * 2020-09-14 2022-03-17 Intel Corporation Adding cycle noise to enclaved execution environment
EP4180997A1 (en) * 2021-11-16 2023-05-17 Samsung Electronics Co., Ltd. Storage device and operation method thereof

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520163A (ja) * 1991-07-16 1993-01-29 Kyocera Corp パーソナルコンピユータ
CN1773510A (zh) * 2004-11-12 2006-05-17 日本电气株式会社 存储器管理系统与方法以及程序
CN103678175A (zh) * 2013-12-05 2014-03-26 长城信息产业股份有限公司 一种地址隐藏方法及基于地址隐藏技术的嵌入式设备
US8843712B1 (en) * 2007-04-06 2014-09-23 Marvell International Ltd. Sensed opportunistic garbage collection in memory components

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH01266643A (ja) * 1988-04-18 1989-10-24 Nippon Telegr & Teleph Corp <Ntt> キャッシュ制御方式
US5123045A (en) * 1989-08-18 1992-06-16 Massachusetts Institute Of Technology Comprehensive software protection system
IL110181A (en) 1994-06-30 1998-02-08 Softchip Israel Ltd Install microprocessor and peripherals
US6088452A (en) * 1996-03-07 2000-07-11 Northern Telecom Limited Encoding technique for software and hardware
US6957341B2 (en) * 1998-05-14 2005-10-18 Purdue Research Foundation Method and system for secure computational outsourcing and disguise
CA2419761A1 (en) * 2000-08-14 2002-02-21 Audi Performance & Racing Enhanced module chipping system
EP1449045A2 (en) * 2001-11-14 2004-08-25 International Business Machines Corporation Device and method with reduced information leakage
DE10216611A1 (de) * 2002-04-15 2003-11-06 Infineon Technologies Ag Verfahren zum Ersetzen eines Inhalts einer Datenspeichereinheit
US7254586B2 (en) * 2002-06-28 2007-08-07 Microsoft Corporation Secure and opaque type library providing secure data protection of variables
JP2005045752A (ja) * 2003-07-07 2005-02-17 Sony Corp 暗号処理装置、および暗号処理方法
EP1758395A1 (en) * 2004-06-28 2007-02-28 Matsushita Electric Industrial Co., Ltd. Program creation device, program test device, program execution device, information processing system
US7321524B2 (en) * 2005-10-17 2008-01-22 Rambus Inc. Memory controller with staggered request signal output
WO2007125454A2 (en) * 2006-04-27 2007-11-08 Nxp B.V. Secure storage system and method for secure storing
US7610448B2 (en) * 2006-12-27 2009-10-27 Intel Corporation Obscuring memory access patterns
US20080189558A1 (en) * 2007-02-01 2008-08-07 Sun Microsystems, Inc. System and Method for Secure Data Storage
US9117094B2 (en) * 2008-10-29 2015-08-25 Microsoft Technology Licensing, Llc Data location obfuscation
US8843767B2 (en) 2011-07-06 2014-09-23 The Boeing Company Secure memory transaction unit
US8612743B2 (en) * 2011-07-26 2013-12-17 The Boeing Company Wireless network security
CN103188075B (zh) * 2013-02-01 2016-01-06 广州大学 一种密钥和真随机数发生器及生成密钥和真随机数的方法
EP2979217B1 (en) * 2013-03-28 2018-05-02 Irdeto B.V. Obfuscating access to a data store by a software application
GB2523804B (en) * 2014-03-06 2021-03-31 Advanced Risc Mach Ltd Transactional memory support
US20160026824A1 (en) * 2014-07-24 2016-01-28 The Boeing Company Security against memory replay attacks in computing systems
US20160048457A1 (en) * 2014-08-13 2016-02-18 The Boeing Company Dynamic memory address remapping in computing systems

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0520163A (ja) * 1991-07-16 1993-01-29 Kyocera Corp パーソナルコンピユータ
CN1773510A (zh) * 2004-11-12 2006-05-17 日本电气株式会社 存储器管理系统与方法以及程序
US8843712B1 (en) * 2007-04-06 2014-09-23 Marvell International Ltd. Sensed opportunistic garbage collection in memory components
CN103678175A (zh) * 2013-12-05 2014-03-26 长城信息产业股份有限公司 一种地址隐藏方法及基于地址隐藏技术的嵌入式设备

Also Published As

Publication number Publication date
US9495111B2 (en) 2016-11-15
EP3007093B1 (en) 2018-04-04
TWI673609B (zh) 2019-10-01
EP3007093A1 (en) 2016-04-13
CN105512055A (zh) 2016-04-20
JP6663674B2 (ja) 2020-03-13
JP2016081522A (ja) 2016-05-16
US20160103626A1 (en) 2016-04-14
TW201633152A (zh) 2016-09-16

Similar Documents

Publication Publication Date Title
CN105512055B (zh) 用于减少存储器信息泄漏的系统和方法
Henson et al. Memory encryption: A survey of existing techniques
Moghimi et al. Memjam: A false dependency attack against constant-time crypto implementations
US10237059B2 (en) Diversified instruction set processing to enhance security
CN109766165A (zh) 一种内存访问控制方法、装置、内存控制器及计算机系统
EP2151763A1 (en) Method and apparatus for obfuscating virtual to physical memory mapping
JP2014523020A (ja) 整合性チェック及びリプレーアタックからの保護を行って、メモリを暗号化するための方法及び装置
Henson et al. Beyond full disk encryption: Protection on security-enhanced commodity processors
KR102117838B1 (ko) 캐시 메모리의 보안-관련 데이터를 보호하기 위한 방법
EP2990953B1 (en) Periodic memory refresh in a secure computing system
WO2020128413A1 (en) Integrity tree for memory integrity checking
Li et al. Establishing software-only root of trust on embedded systems: facts and fiction
GB2528780A (en) Security against memory replay attacks in computing systems
Papadopoulos et al. No sugar but all the taste! memory encryption without architectural support
CN107563226B (zh) 一种存储器控制器、处理器模块及密钥更新方法
Bazm et al. Side channels in the cloud: Isolation challenges, attacks, and countermeasures
Zonouz et al. Dynamic memory protection via Intel SGX-supported heap allocation
Hu et al. FaultMorse: An automated controlled-channel attack via longest recurring sequence
US20190311154A1 (en) Secure loading of secret data to non-protected hardware registers
Jiang et al. Mempoline: Mitigating memory-based side-channel attacks through memory access obfuscation
Henson et al. Attack mitigation through memory encryption of security enhanced commodity processors
Henson Attack mitigation through memory encryption
US20220368514A1 (en) Methods and Systems For Protecting Against Memory-Based Side-Channel Attacks
US20240080193A1 (en) Counter integrity tree
US20230113906A1 (en) An apparatus and method of controlling access to data stored in a non-trusted memory

Legal Events

Date Code Title Description
C06 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