[发明专利]应用随机化在审
申请号: | 201280077350.7 | 申请日: | 2012-09-28 |
公开(公告)号: | CN104798075A | 公开(公告)日: | 2015-07-22 |
发明(设计)人: | B.Q.莫纳罕;K.哈里森 | 申请(专利权)人: | 惠普发展公司;有限责任合伙企业 |
主分类号: | G06F21/10 | 分类号: | G06F21/10;G06F9/30 |
代理公司: | 中国专利代理(香港)有限公司 72001 | 代理人: | 马红梅;陈岚 |
地址: | 美国德*** | 国省代码: | 美国;US |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 应用 随机化 | ||
背景技术
应用(或软件程序)典型地针对特定环境(例如操作系统和硬件平台)而编译且在诸如实现该环境的计算系统之类的主机处执行。因此,应用的特定构造或版本的一个实例与应用的该构造或版本的其它实例相同。
应用的实例之间的这样的类似性可以是安全风险,因为攻击者可以通过观察应用的一个实例来知悉关于该应用的许多或全部实例的各种运行时特性。一些环境对应用或由应用访问的库的地址空间布局(或存储器空间占用)进行随机化以使应用数据和可执行代码的位置发生变化来减轻这样的安全风险。
附图说明
图1是根据实现的应用随机化系统的操作的图示。
图2是根据实现的生成应用的带注释的中间表示的过程的流程图。
图3是根据实现的应用的带注释的中间表示的图示。
图4是根据另一实现的应用的带注释的中间表示的图示。
图5是根据实现的将随机修改应用于应用的过程的流程图。
图6是根据实现的随机修改过程的流程图。
图7是根据实现的应用随机化系统的示意性框图。
图8是根据实现的托管应用随机化系统的计算系统的示意性框图。
具体实施方式
攻击者通常试图通过与应用交互来知悉应用的内部操作和结构。也就是说,攻击者可以通过向应用提供输入并观察输出来知悉应用。作为具体实例,攻击者可以通过经由应用的接口提供随机输入和/或有针对性的输入(例如,包括利用特定安全漏洞或安全漏洞类的值或符号的输入)并观察应用的输出来研究基于web的或网络使能的应用。这样的技术可以称为模糊处理(fuzzing)。
作为具体实例,攻击者可以向应用的接口提供被精心制作成利用结构化查询语言(SQL)漏洞(例如,被嵌入在输入中的SQL查询)、缓冲器溢出漏洞(例如,输入中的大容量数据)或任意代码执行漏洞(例如,被嵌入在输入中的shell代码)的输入。基于响应或对应于输入的输出,攻击者可以确定在应用内是否和在哪里存在安全漏洞。
攻击者还使用诸如反汇编和汇编代码分析之类的反向工程技术来研究应用。例如,攻击者可以反汇编应用的本机代码(或对象-代码)表示并分析所得到的汇编指令以知悉应用的结构和操作。
因为许多应用作为那些应用的特定构造的拷贝而被分发,所以应用的一个拷贝中的漏洞很可能也存在于该应用的其它拷贝中。换言之,应用的特定版本或构造的每一个拷贝共享应用的该版本或构造的其它拷贝的结构、操作和漏洞。因此,攻击者从研究应用的一个实例(或执行拷贝)知悉的信息适用于该应用的许多其它实例。
地址空间布局随机化(ASLR)已被用于更改应用的加载时实例的存储器布局。更具体地,ASLR对诸如数据、代码、库、堆和/或栈之类的应用组件的存储器中的定位或位置进行随机化。应用的实例是指在运行时处应用的表示。例如,应用的实例可以是指定义应用且由处理器执行的存储在存储器(例如随机存取存储器(RAM))处的指令组。ASLR使一些安全漏洞的利用变得复杂,因为该技术迫使攻击者动态地识别正在执行的实例的这些应用组件的存储器位置。
然而,ASLR不改变应用自身的操作或结构。而是,ASLR移动在加载时和/或运行时处一些应用组件的存储器内位置。换句话说,应用的一个实例的所有漏洞存在于该应用的其它实例中,但仅仅已被重定位在存储器中。因此,在攻击者能够动态地识别漏洞的位置之后,可以一致地利用漏洞。
本文所讨论的实现在应用在主机处被实例化之前随机修改应用。应用的实例化是指生成应用的实例。例如,实例化可以包括:将表示应用的指令或程序代码加载到存储器(例如RAM)中,以及在应用的进入点(例如进入地址)处开始由处理器执行。在一些实现中,应用的实例化可以包括:在存储器内重定位应用的部分以实现ASLR。换言之,本文所讨论的实现可以与ASLR方法组合。
本文所讨论的随机修改可以被应用于应用的每一个实例(即,每当应用被实例化或执行时)以更改应用的结构和操作而不更改应用的功能性。换言之,随机修改改变应用如何执行任务,但不改变应用执行什么任务。换句话说,应用的每一个实例执行相同功能性,但使用不同内部结构和/或操作来这样做。也就是说,每一个实例中的不同的结构和/或操作的结果是等效的。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于惠普发展公司;有限责任合伙企业,未经惠普发展公司;有限责任合伙企业许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201280077350.7/2.html,转载请声明来源钻瓜专利网。