计算存储器中可执行项的加密制造技术

技术编号:17746137 阅读:27 留言:0更新日期:2018-04-18 19:36
本发明专利技术涉及计算存储器中的可执行项的加密。计算存储器可遍历所述计算存储器中的操作系统页面表以寻找标记为可执行的页面。响应于寻找到标记为可执行的页面,所述计算存储器可确定标记为可执行的所述页面是否已加密。响应于确定标记为可执行的所述页面未加密,所述计算存储器可针对标记为可执行的所述页面产生密钥。所述计算存储器可使用所述密钥加密标记为可执行的所述页面。

【技术实现步骤摘要】
【国外来华专利技术】计算存储器中可执行项的加密
本专利技术大体上涉及半导体存储器及方法,且更特定来说,涉及计算存储器中的可执行项的加密。
技术介绍
存储器装置通常提供为计算装置或其它电子装置中的内部件、半导体、集成电路。存在许多不同类型的存储器,包含易失性存储器及非易失性存储器。易失性存储器可能需要电力来维持其数据(例如,用户数据、错误数据等)且包含随机存取存储器(RAM)、动态随机存取存储器(DRAM)及同步动态随机存取存储器(SDRAM)以及其它。非易失性存储器可通过在未被供电时保持所存储的数据而提供持久性数据且可包含NAND快闪存储器、NOR快闪存储器、只读存储器(ROM)、电可擦除可编程ROM(EEPROM)、可擦除可编程ROM(EPROM)及电阻可变存储器(例如相变随机存取存储器(PCRAM)、电阻性随机存取存储器(RRAM)及磁阻性随机存取存储器(MRAM),例如自旋力矩转移随机存取存储器(STTRAM))以及其它。计算系统通常包含若干处理资源(例如,一或多个处理器),其可检索并执行指令且将所执行指令的结果存储到适合位置。处理器可包括若干功能单元(例如,在本文中称为功能单元电路(FUC)),例如算术逻辑单元(ALU)电路、浮点单元(FPU)电路及/或组合逻辑块,例如,其可执行项以对数据(例如,一或多个操作数)执行逻辑运算,例如AND、OR、NOT、NAND、NOR及XOR逻辑运算。在提供指令到功能单元电路以供执行时,可涉及计算系统中的若干组件。举例来说,指令可由例如控制器及/或主机处理器的处理资源产生。可将数据(例如,操作数,将对操作数执行指令以执行逻辑运算)存储于可由FUC存取的存储器阵列中。指令及/或数据可从存储器阵列中检索且可在FUC开始对数据执行指令之前进行序列化及/或缓冲。此外,因为可通过FUC在一或多个时钟循环中执行不同类型的运算,所以也可序列化及/或缓冲运算及/或数据的中间结果。在许多例子中,处理资源(例如,处理器及/或相关联的FUC)可位于存储器阵列的外部,且可(例如经由处理资源与存储器阵列之间的总线)存取数据以执行指令。数据可经由总线从存储器阵列移动到存储器阵列外部的寄存器。附图说明图1是根据本专利技术的若干实施例的呈包含至少一个计算存储器系统的计算系统的形式的设备的框图。图2是根据本专利技术的若干实施例的计算存储器装置的一部分的示意图。图3是说明根据本专利技术的若干实施例的读取或写入存取的流程框图。图4是说明根据本专利技术的若干实施例的新页面分配的流程框图。图5是说明根据本专利技术的若干实施例的可执行项的加密的流程框图。图6是说明根据本专利技术的若干实施例的对已加密可执行项的后续存取的流程框图。具体实施方式多数现代计算机架构使用寄存器-存储器技术,其中在两个分离域中执行运算。通常对若干寄存器文件执行逻辑运算(例如,算术、流控制及组合运算)。通常对存储器装置执行存储器操作(例如,加载、存储等)。寄存器-存储器架构中的指令利用寄存器索引或存储器地址来指示如何/在何处执行运算。计算存储器,例如存储器中处理(PIM)或存储器装置附近处理,可分类为计算架构分类法中的存储器间装置。在计算存储器中,对存储器装置原位执行逻辑运算及存储器操作两者。存储器间架构中的指令使用物理地址指示如何/在何处执行运算。试图攻击或将恶意软件插入到计算系统中通常包含改变由主机处理器执行的指令流或指令的病毒或恶意软件。本专利技术的一些实施例使用计算存储器来加密可执行项(可执行指令,例如主机处理器指令)。加密可将可执行项多态随机化,使得攻击者必须得了解加密状态以注入会对此系统有负面影响的恶意软件。可执行项的随机化可混淆及/或改变可执行项以产生二进制分集的生态系统,这可减少及/或消除恶意软件及/或系统泄露的来源。试图注入代码的任何恶意软件(例如,二进制注入、缓冲区溢出攻击、莫里斯(Morris)蠕虫、红色警戒(CodeRed)、疾风(Blaster)病毒、统一资源定位符(URL)堆积漏洞利用等)将必须理解底层指令集架构以便运行代码。本专利技术涉及计算存储器中的可执行项的加密。计算存储器可遍历计算存储器中的操作系统页面表以寻找标记为可执行的页面。响应于寻找到标记为可执行的页面,计算存储器可确定标记为可执行项的页面是否已加密。响应于确定标记为可执行的页面未加密,计算存储器可针对标记为可执行的页面产生密钥。计算存储器可使用所述密钥加密标记为可执行的页面。本专利技术的一些实施例向可执行项而非数据提供加密,这有利地允许在无加密及/或解密过程的情况下改变、读取、写入数据等,同时为可能是特定攻击者的目标的可执行项提供保护。可执行指令在本文中统称为可执行项。在本专利技术的下文详细描述中,参考附图,所述附图形成本专利技术的一部分且其中以说明的方式展示可如何实践本专利技术的若干实施例。这些实施例被足够详细地描述以使所属领域的一般技术人员能够实践本专利技术的实施例,且应理解,可利用其它实施例且可在不背离本专利技术的范围的情况下作出工艺、电及/或结构变化。如本文中所用,标示符“M”及“N”(尤其针对图式中的元件符号)指示:可包含如此标示的若干特定特征。如本文中所用,“若干”特定事物可指代一或多个此类事物(例如,若干存储器装置可指代一或多个存储器装置)。如本文中所用,术语“第一”及“第二”用于区分一个特征与另一特征,且不一定暗指如此标示的特征之间的次序。本文中的图遵循编号惯例,其中第一数字或前几个数字对应于图号且其余数字识别图式中的元件或组件。可通过使用类似数字而识别不同图之间的类似元件或组件。举例来说,110可参考图1中的元件“10”,且类似元件可在图2中参考为210。可用其后有连字符及另一数字或字母的元件符号参考一个图内的多个类似元件。举例来说,240-1可参考图2中的元件20-1且240-N可参考可类似于元件240-1的元件40-N。通常可在无连字符及额外数字或字母的情况下参考此类类似元件。举例来说,元件240-1、…、240-N可统称为240。如应了解,可添加、交换及/或剔除在本文各种实施例中所展示的元件以便提供本专利技术的若干额外实施例。另外,如应了解,图中所提供元件的比例及相对尺度希望说明本专利技术的某些实施例,且不应被理解为限制意义。图1是根据本专利技术的若干实施例的呈包含至少一个计算存储器系统104的计算系统100的形式的设备的框图。如本文中所用,主机102、计算存储器系统104、计算存储器装置110、存储器阵列111及/或包含感测放大器及计算电路的感测电路124也可各自被单独视为“设备”。计算系统100可包含耦合到计算存储器系统104的主机102,计算存储器系统104包含计算存储器装置110(例如,包含存储器阵列111及/或感测电路124)。计算存储器系统104可充当常规存储器及/或计算存储器。主机102可为主机系统,例如个人膝上型计算机、桌面计算机、数字相机、移动电话或存储器卡读取器,以及各种其它类型的主机。主机102可包含系统主板及/或背板且可包含若干处理资源(例如一或多个处理器、微处理器或一些其它类型的控制电路),例如中央处理单元(CPU)106。CPU106可耦合到大容量存储装置114。大容量存储装置114可为不可由CPU106直接存取的存储装置或其它媒体,例如硬盘驱动、固态驱动、光本文档来自技高网...
计算存储器中可执行项的加密

【技术保护点】
一种方法,其包括:由计算存储器遍历所述计算存储器中的操作系统页面表以寻找标记为可执行的页面;响应于寻找到标记为可执行的页面,确定标记为可执行的所述页面是否已加密;响应于确定标记为可执行的所述页面未加密,针对标记为可执行的所述页面产生密钥;及使用所述密钥加密标记为可执行的所述页面。

【技术特征摘要】
【国外来华专利技术】2015.08.17 US 14/828,1511.一种方法,其包括:由计算存储器遍历所述计算存储器中的操作系统页面表以寻找标记为可执行的页面;响应于寻找到标记为可执行的页面,确定标记为可执行的所述页面是否已加密;响应于确定标记为可执行的所述页面未加密,针对标记为可执行的所述页面产生密钥;及使用所述密钥加密标记为可执行的所述页面。2.根据权利要求1所述的方法,其中所述方法包含,响应于确定标记为可执行的所述页面已加密,遍历所述操作系统页面表以寻找标记为可执行的额外页面。3.根据权利要求2所述的方法,其中所述方法包含,响应于寻找到标记为可执行的所述额外页面,确定标记为可执行的所述额外页面是否已加密;响应于确定标记为可执行的所述额外页面未加密,针对标记为可执行的所述额外页面产生不同的密钥;及使用所述不同的密钥加密标记为可执行的所述额外页面。4.根据权利要求1到3中任一权利要求所述的方法,其中遍历所述操作系统页面表包括:响应于从与页面存取相关联的主机接收指令而遍历所述操作系统页面表。5.根据权利要求1到3中任一权利要求所述的方法,其中所述方法包含,不考虑加密,授予对所述操作系统页面表中标记为读取、写入或读取/写入的页面的存取权。6.根据权利要求1到3中任一权利要求所述的方法,其中所述方法包含,响应于对标记为可执行的所述页面的请求:产生新密钥;及使用所述新密钥重新加密标记为可执行的所述页面;及存储所述重新加密的页面以取代标记为可执行的所述页面。7.根据权利要求6所述的方法,其中所述方法包含,响应于对标记为可执行的所述页面的所述请求:解密所述重新加密的页面;及将所述已解密页面存储于所述计算存储器的高速缓存中以供传送以满足所述请求。8.根据权利要求1到3中任一权利要求所述的方法,其中所述方法包含:接收新页面,所述新页面包括可执行项;针对所述新页面产生新密钥;使用所述新密钥加密所述新页面;将所述新页面存储于所述计算存储器中;及针对所述新页面在所述操作系统页面表中创建项目,包含将所述新页面标记为可执行及已加密。9.一种方法,其包括:由计算存储器遍历所述计算存储器中的操作系统页面表以寻找标记为可执行的任何页面;响应于寻找到标记为可执行的第一页面,确定标记为可执行的所述第一页面是否已加密;响应于确定标记为可执行的所述第一页面未加密,针对标记为可执行的所述第一页面产生第一密钥;使用所述第一密钥加密标记为可执行的所述第一页面;响应于寻找到标记为可执行的第二页面,确定标记为可执行的所述第二页面是否已加密;响应于确定标记为可执行的所述第二页面未加密,针对标记为可执行的所述第二页面产生第二密钥;及使用所述第二密钥加密标记为可执行的所述第二页面。10.根据权利要求9所述的方法,其中所述方法包含:接收第三页面,所述第三页面包括可执行项;针对所述第三页面产生第三密钥;使用所述第三密钥加密所述第三页面;及将所述第三页面存储于所述计算存储器中。11.根据权利要求10所述的方法,其中所述方法包含针对所述第三页面在所述操作系统页面表中创建项目,包含:将所述第三页面标记为可执行及已加密;及将所述第三密钥存储于所述项目中。12.一种非暂时性计算机可读媒体,其存储可由计算存储器执行的指令以:确定所述计算存储器中标记为可执行的经请求页面是否已加密;响应于确定所述经请求页面未加密:将所述经请求页面存储于所述计算存储器的高速缓存中;产生密钥;使用所述密钥加密所述经请求页面;及将所述已加密页面存储于所述计算存储器中以取代所述经请求页面;及响应于确定所述经请求页面已加密:产生新密钥;使用所述新密钥重新加密所述经请求页面;将所述重新加密的页面存储于所述计算存储器中以取代所述经请求页面;及解密所述经请求页面且将所述已解密的页面存储于所述计算存储器的所述高速缓存中。13.根据权利要求12所述的媒体,...

【专利技术属性】
技术研发人员:P·V·莱亚
申请(专利权)人:美光科技公司
类型:发明
国别省市:美国,US

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

1