In the example, a stack protection engine for preventing or reducing stack destructive attacks is disclosed. The stack protection engine can transparently operate on a user space process. After calling from the parent routine, the stack protection engine encodes, for example, the return address on the stack using the XOR password and the key selected from the key array. When the subroutine returns control to the main routine, the stack protection engine decodes the address and returns the control. If the stack destruction attack occurs, the malicious return address is properly encoded, so that when the decoding occurs, the program may collapse only, rather than return the control to malicious code.
【技术实现步骤摘要】
【国外来华专利技术】对栈破坏利用的抑制相关申请的交叉引用本申请要求于2014年9月26日提交的题为“MitigationofStackCorruptionExploits(对栈破坏利用的抑制)”的美国技术申请号14/497,789的优先权,所述申请通过引用结合在此。
本申请涉及计算机安全领域,并且更具体地涉及一种用于对栈破坏利用进行抑制的栈保护引擎。
技术介绍
栈破坏利用是恶意软件(或可能疏忽的)攻击,其中,在父例程已经向子例程发出调用之后,恶意进程使用恶意进程的地址来覆写存储器栈上的返回地址。当子例程完成执行并且发出RET指令时,则控制可能传递至恶意进程,向攻击者提供对系统资源的访问。附图说明当与附图一起阅读时,将从以下详细描述中最充分地理解本公开。要强调的是,根据行业中的标准实践,各种特征并未按比例绘制,并且仅用于说明目的。实际上,为了讨论的清晰起见,可以任意地增大或者减小各种特征的尺寸。图1是根据本说明书的一个或多个示例的用户网络的网络层次图。图2是根据本说明书的一个或多个示例的计算设备的框图。图3是根据本说明书的一个或多个示例的计算操作的框图。图4是根据本说明书的一个或多个示例的计算操作的框图。图5是根据本说明书的一个或多个示例的计算操作的框图。图6是根据本说明书的一个或多个示例的计算操作的框图。图7是根据本说明书的一个或多个示例的计算操作的框图。图8是根据本说明书的一个或多个示例的计算操作的框图。图9是根据本说明书的一个或多个示例的计算操作的框图。图10是根据本说明书的一个或多个示例的计算操作的框图。图11是根据本说明书的一个或多个示例的计算操作的框图。图12是根据 ...
【技术保护点】
一种计算设备,包括:存储器,所述存储器包括栈,所述栈包括返回地址位置;以及一个或多个逻辑元件,所述一个或多个逻辑元件包括栈保护引擎,所述栈保护引擎可操作用于:接收返回地址;使用密码对所述返回地址的至少一部分进行编码;以及将所述返回地址放置在所述栈的所述返回地址位置中。
【技术特征摘要】
【国外来华专利技术】2014.09.26 US 14/497,7891.一种计算设备,包括:存储器,所述存储器包括栈,所述栈包括返回地址位置;以及一个或多个逻辑元件,所述一个或多个逻辑元件包括栈保护引擎,所述栈保护引擎可操作用于:接收返回地址;使用密码对所述返回地址的至少一部分进行编码;以及将所述返回地址放置在所述栈的所述返回地址位置中。2.如权利要求1所述的计算设备,其中,所述栈保护引擎可操作用于对所述返回地址进行解码。3.如权利要求2所述的计算设备,其中,所述栈保护引擎可操作用于:在由父例程对子例程的调用之后,使用密码对所述返回地址的至少一部分进行编码,并且可操作用于:在从所述子例程返回到所述父例程之后,对所述返回地址进行解码。4.如权利要求1所述的计算设备,其中,所述栈保护引擎包括密钥阵列。5.如权利要求4所述的计算设备,其中,所述栈保护引擎可操作用于:将所述返回地址的一部分用作所述密钥阵列的索引。6.如权利要求4所述的计算设备,其中,所述栈保护引擎可操作用于:向所述密钥阵列分配伪随机密钥值。7.如权利要求6所述的计算设备,其中,所述栈保护引擎可操作用于:刷新所述密钥阵列。8.权利要求7所述的计算设备,其中,所述栈保护引擎可操作用于:根据周期性计划表来刷新所述密钥阵列。9.如权利要求4所述的计算设备,其中,所述密钥阵列相对于用户空间进程是只写的。10.如权利要求1至4中任一项所述的计算设备,其中,所述密码是异或,并且其中,编码包括从密钥阵列中选择编码密钥。11.如权利要求10所述的计算设备,其中,所述栈保护引擎可操作用于:使用异或密码对所述返回地址进行解码。12.如权利要求1至4所述的计算设备,其中,所述栈保护引擎对用户空间进程而言不可见地进行操作。13.如权利要求1至4所述的计算设备,其中,所述栈保护...
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。