通过二进制和存储器多样性进行混淆的系统和方法技术方案

技术编号:17959530 阅读:66 留言:0更新日期:2018-05-16 05:18
公开了用于混淆二进制代码的系统和方法。在一个实施例中,用于混淆二进制代码的系统包括一个或多个处理器。该一个或多个处理器可以被配置为接收二进制文件。该一个或多个处理器还可以被配置为混淆二进制文件。混淆可以基于重写二进制文件并生成第二二进制随机化二进制文件。二进制文件和第二二进制随机化二进制文件在功能上是等同的。混淆可以基于在加载时随机化二进制文件而不改变二进制文件的功能。

System and method of confusion through binary and memory diversity

Systems and methods for confusing binary codes are disclosed. In one embodiment, a system for confusing binary codes includes one or more processors. The one or more processors can be configured to receive binary files. The one or more processors can also be configured to confuse binaries. Confusion can be based on rewriting binary files and generating second binary randomized binary files. Binary files and second binary randomized binary files are functionally equivalent. Confusion can be based on randomization of binary files at loading time without changing the function of binary files.

【技术实现步骤摘要】
【国外来华专利技术】通过二进制和存储器多样性进行混淆的系统和方法对相关申请的交叉引用本申请要求于2015年4月7日提交的标题为“SystemandMethodforKernelSecuritythroughBinaryandMemoryDiversity”的美国临时专利申请No.62/144,092的权益,该申请通过引用被整体结合于此。
本公开的系统和方法涉及用于保护现代操作系统免受未授权用户的危害和滥用的新颖的系统和方法。本公开的系统和方法可以应用于许多不同的操作系统(例如,Linux、UNIX、Windows)。
技术介绍
一般问题操作系统可能以不同的方式被攻击。例如:操作系统(“OS”)的副本在上百万个电话、成千上万的汽车等上是相同的。黑客制造攻击的一种方式是获取(购买、窃取和/或借用)代表其最终目标的设备或软件。使用该设备,攻击者可以研究设备上的软件(这种做法被称为逆向工程),从而寻找弱点和漏洞(vulnerability)。如果识别出满足某个标准的漏洞,那么该漏洞就有可能被武器化,作为漏洞攻击(exploit)。漏洞攻击是由黑客利用漏洞为特定目的编写的代码。目的的范围包括权限提升、数据渗透、拒绝服务等。取决于漏洞和漏洞攻击的性质,漏洞攻击可能对相同OS和硬件配置的其它设备是有用的。例如,智能电话越狱是某人找到的漏洞攻击,它通过用户社区发布作为任何人都可以使用以在其自己的设备上实现越狱的工具包。同样的原理适用于服务器OS、SCADA装备中的嵌入式OS等;即,在一个设备上找到攻击,并对类似的设备发动攻击。在过去的24个月中,根据国家漏洞数据库(NationalVulnerabilityDatabase),在LinuxOS和内核中已经存在200多个记录在档的漏洞。重写、修补等的成本可能是非常昂贵的。虚拟化和/或基于云的操作系统的漏洞当OS在裸机上运行时,正如它们在前几十年的微计算机时代所做的那样,在计算机之间存在物理分离的结构安全性。在云环境中,这种安全性概念受到挑战,因为客户OS之间既没有物理分离也甚至没有逻辑分离。即使它们在分离的物理机器上运行,云系统也集中式地管理资源的分配、客户OS等。由于许多层的计算、联网和决策逻辑位于客户OS的二进制指令和主机系统上的实际执行之间,因此攻击者有很多机会使用虚拟化作为攻击的基础。嵌入式操作系统的漏洞在世界的一些地方,计算已经实现了一定程度的普及,低成本的嵌入式计算机每天出现无数次(交通信号、过境通信、建筑环境控制、销售点系统、智能电话、平板电脑、无线联网、安全性系统、环境数据收集、汽车控制系统等等)。过去,唯一值得入侵的具有足够处理能力和财务重要性的系统是企业和政府的IT资产。当今,这些系统无处不在,甚至没有历史上与外界隔绝的保护层。当今的嵌入式系统具有一些约束,每个约束都具有安全性影响:1.由于系统的最终销售价格低,因此供应链受到管理以使硬件成本降低几便士。操作的安全性控制(守护、检查等)增加了可能被避免以便维持价格竞争力的制造成本。相同的成本考虑可能会通过消减安全性电路系统(例如可信平台模块)来影响电子设计。攻击者可能通过操纵公司的供应链、电子部件等将自己兼并到大量商业产品中。2.大量相同的产品将被制造出来并且它们将相对便宜地被获取。在微型计算机时代,攻击者很难获取对其制定和测试攻击的硬件。3.几十年前,防御武器系统的几乎所有部件都是完全专有的和定制生产的。其结果是,为了制造攻击,攻击者需要所涉及的、对其访问被高度守护的一片硬件。当今,商业电子器件越来越与武器系统相关,因为它们减少了设计时间和测试成本。军事工业综合体需要工具来解决敏感系统中日益增长的商业软件/硬件基础,因为攻击者可以容易地获得对子部件或其它电子器件的访问。这使得攻击者能够通过攻击公共可用系统的漏洞找到深入到系统中的方法。
技术实现思路
公开了一种用于混淆二进制代码的系统和方法。在一个实施例中,用于混淆二进制代码的系统包括一个或多个处理器。该一个或多个处理器可以被配置为接收二进制文件。该一个或多个处理器还可以被配置为混淆二进制文件。混淆可以基于对二进制文件的重写并生成第二二进制随机化二进制文件。二进制文件和第二二进制随机化二进制文件在功能上是等同的。混淆可以基于在加载时随机化二进制文件而不改变二进制文件的功能。根据这个实施例的其它方面,该一个或多个处理器还可以被配置为对二进制文件的基本块进行重新排序以及替代二进制文件的指令中的至少一个。基本块中的每一个可以整体运行而不转移。根据这个实施例的其它方面,该一个或多个处理器还可以被配置为随机化与二进制文件相关联的页表。根据这个实施例的其它方面,该一个或多个处理器还可以被配置为修改页表分配算法。根据这个实施例的其它方面,该一个或多个处理器还可以被配置为将二进制文件转换成中间件格式并且在运行时添加位置和地址信息。根据这个实施例的其它方面,二进制文件可以是第一内核映像(kernelimage)的一部分。根据这个实施例的其它方面,该一个或多个处理器还可以被配置为生成包括第二二进制随机化二进制文件的第二二进制随机化内核映像。根据这个实施例的其它方面,第二二进制随机化内核映像可以被部署在虚拟机上。根据这个实施例的其它方面,该一个或多个处理器还可以被配置为在二进制文件部署在其上的设备的第一次启动时随机化二进制文件。在另一个实施例中,公开了用于混淆二进制代码的方法。根据该方法,可以接收二进制文件。二进制文件可以被混淆。混淆可以基于以下中的至少一个:重写二进制文件并生成第二二进制随机化二进制文件,其中二进制文件和第二二进制随机化二进制文件在功能上是等同的;以及在加载时随机化二进制文件而不改变二进制文件的功能。在还有的另一个实施例中,公开了存储混淆二进制代码的计算机可读程序的非瞬态计算机可读介质。该程序还可以包括用于接收二进制文件的计算机可读指令。该程序还可以包括用于基于以下中的至少一个来混淆二进制文件的计算机可读指令:重写二进制文件并生成第二二进制随机化二进制文件,其中二进制文件和第二二进制随机化二进制文件在功能上是等同的;以及在加载时随机化二进制文件而不改变二进制文件的功能。现在将参考如附图中所示的本公开的特定实施例来更详细地描述本公开。虽然下面参考特定实施例描述本公开,但是应当理解的是,本公开不限于此。能够访问本文教导的本领域普通技术人员将认识到附加实现、修改和实施例以及如在本文所描述的本公开的范围内并且本公开相对于其可以具有显著实用性的其它使用领域。附图说明为了便于更全面地理解本公开,现在参考附图,其中相似的元件用相似的标号表示。这些附图不应当被解释为限制本公开,而仅旨在是说明性的。图1示出了根据本公开的实施例的描绘经由基本块的随机化(例如,基本块重新排序)进行混淆的图。图2示出了根据本公开的实施例的描绘指令替代(例如,语义代码替换)的框图。图3示出了根据本公开的示例方法的二进制代码混淆的流程图。图4示出了根据本公开的实施例的描绘虚拟服务器部署的框图。具体实施方式本公开的系统和方法可以通过随机化内核代码位置和存储器位置来为OS创建安全层。例如,Linux内核中近80%的近期代码执行漏洞攻击对内核中的指针和代码地址具有敏感性。不可预测的代码位置和指针的变动会严重阻碍漏本文档来自技高网
...
通过二进制和存储器多样性进行混淆的系统和方法

【技术保护点】
一种用于混淆二进制代码的系统,包括一个或多个处理器,所述一个或多个处理器被配置为:接收二进制文件;基于以下中的至少之一混淆所述二进制文件:重写所述二进制文件并生成第二二进制随机化二进制文件,其中所述二进制文件和所述第二二进制随机化二进制文件在功能上是等同的;以及在加载时随机化所述二进制文件而不改变所述二进制文件的功能。

【技术特征摘要】
【国外来华专利技术】2015.04.07 US 62/144,0921.一种用于混淆二进制代码的系统,包括一个或多个处理器,所述一个或多个处理器被配置为:接收二进制文件;基于以下中的至少之一混淆所述二进制文件:重写所述二进制文件并生成第二二进制随机化二进制文件,其中所述二进制文件和所述第二二进制随机化二进制文件在功能上是等同的;以及在加载时随机化所述二进制文件而不改变所述二进制文件的功能。2.如权利要求1所述的系统,其中所述一个或多个处理器还被配置为进行以下中的至少一个:重新排序所述二进制文件的基本块以及替代所述二进制文件的指令,其中所述基本块中的每个基本块整体运行而不转移。3.如权利要求1所述的系统,其中所述一个或多个处理器还被配置为随机化与所述二进制文件相关联的页表。4.如权利要求3所述的系统,其中所述一个或多个处理器还被配置为修改页表分配算法。5.如权利要求1所述的系统,其中所述一个或多个处理器还被配置为将所述二进制文件转换成中间件格式并且在运行时添加位置和地址信息。6.如权利要求1所述的系统,其中所述二进制文件是第一内核映像的一部分。7.如权利要求6所述的系统,其中所述一个或多个处理器还被配置为生成包括所述第二二进制随机化二进制文件的第二二进制随机化内核映像。8.如权利要求7所述的系统,其中所述第二二进制随机化内核映像被部署在虚拟机上。9.如权利要求1所述的系统,其中所述一个或多个处理器还被配置为在所述二进制文件部署在其上的设备的第一次启动时随机化所述二进制文件。10.一种用于混淆二进制代码的方法,包括:接收二进制文件;基于以下中的至少之一混淆所述二进制文件:重写所述二进制文件并生成第二二进制随机化二进制文件,...

【专利技术属性】
技术研发人员:A·M·维斯B·S·帕克
申请(专利权)人:瑞安安全股份有限公司
类型:发明
国别省市:美国,US

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

1