用来减少软件的攻击面的自动代码锁定制造技术

技术编号:15355206 阅读:266 留言:0更新日期:2017-05-17 08:08
在示例实施例中,系统根据用于计算机应用的可用指令来确定一组指令。所确定的一组指令提供计算机应用的特定功能。系统可以通过对特定功能执行功能测试和负面测试来确定该组指令。系统可以在存储器中重新组织和随机化该组指令,以及将经重新组织的该组指令写入到更小的存储器空间。针对不在该组指令中的每个可用指令,系统将相应指令改变为不起作用以防止相应指令的执行。系统可以通过利用NOP指令重写指令来将相应指令改变为不起作用。系统然后捕获在运行时被访问的计算机应用的存储器地址。如果所捕获的存储器地址与用于不起作用的指令的存储器地址匹配,则系统可以声明安全攻击。

【技术实现步骤摘要】
【国外来华专利技术】相关申请本申请要求于2014年6月24日提交的美国临时申请No.61/998,320的权益和优先权。以上申请的全部教导通过引用并入本文。
技术介绍
随着过去的每一天,网络攻击正变得越来越复杂。攻击以利用特定应用中的特定漏洞为目标。这种攻击的原因和影响在网络层是不可辨别的,因为它们不会触发似乎是明显恶意的网络活动。在企业系统上执行的应用是攻击者的优选目标,因为可以从这些应用访问高价值的信息,诸如信用卡号、客户社会保障号码和其他个人可标识信息。为了处理这些有针对性的攻击,许多供应商已经部署了网络安全产品,诸如试图学习用户行为的下一代防火墙、或试图在沙盒中运行似乎是可疑代码的代码并等待这种可疑代码执行恶意活动的沙盒技术。在这些情况下,恶意软件经常适应其行为,例如等待更长的时间段来执行其恶意意图。由于这些产品必须放弃尝试在某一点检测行为并将用户流量传递给预期接收者,所以攻击仅等待这个检测时间。这些行为的改变阻碍所部署的网络安全产品的用于识别攻击行为的能力,因此,它们用于检测恶意软件的存在的能力大大降低。
技术实现思路
如今,计算机应用的大量恶意软件攻击源于恶意行为者在运行应用的进程中注入并随后执行恶意内容的能力。注入这样的恶意内容的方法涉及标识和利用执行不充分的输入验证的设计不良的应用代码。当前的网络安全技术要么试图观察应用中的恶意内容,跟踪应用的行为,要么在沙箱中筛查可疑代码的行为。这些技术不具有锁定计算机应用的指令以防止应用代码中的恶意内容的注入和执行的能力。此外,这些技术不具有用于跟踪和关联访问锁定代码的尝试以便于在恶意软件成功地执行其恶意意图之前准确地标识恶意软件攻击的能力。许多企业系统执行由通用代码组成的计算机应用,该通用代码包括企业或企业中的一类用户所不使用的软件功能。通过确定与不使用的软件功能相对应的代码并禁用该代码的指令,用于注入恶意内容的攻击面被显著减少(即,锁定)。禁用不使用的指令通过使恶意行为者能够攻击应用的点最小化而提供实质的益处,同时不影响执行应用的用户的体验。作为锁定的结果,执行这些计算机应用的任何设备,诸如台式计算机、膝上型计算机、移动或其他形式的个人计算机、互联网就绪设备(例如,蜂窝电话)、机顶盒、MP3播放器、游戏控制台、或通信地耦合到这些设备的其他设备,被更好地保护免受恶意软件攻击。本公开针对用于锁定计算机应用的指令以便于检测和防止恶意软件攻击的示例系统和方法。这些系统和方法根据用于计算机应用的可用指令来确定一组指令。所确定的一组指令提供计算机应用的特定功能。在示例实施例中,特定功能可以取决于执行应用的用户的类别。在一些实施例中,系统和方法通过对计算机应用的特定功能执行功能测试并捕获在功能测试期间被执行的指令来确定该组指令。在这些实施例中的一些实施例中,系统和方法还可以通过对特定功能执行负面测试来确定该组指令。负面测试触发关于特定功能的异常处理函数,并且系统和方法捕获由触发的异常处理函数执行的指令。在其他实施例中,系统和方法通过在功能测试期间静态地分析执行特定功能的线程的结构来捕获用于异常处理函数的指令。系统和方法可以将用于该组指令的存储器地址写入到用于在硬件处理器上加载的表。在一些实施例中,系统包括被配置为根据用于计算机应用的可用指令来确定该组指令的仪器引擎。在一些实施例中,系统和方法可以在存储器中重新组织该组指令,以及将经重新组织的该组指令写入到更小的存储器空间。在这些实施例中,系统和方法可以在将经重新组织的该组指令写入到更小的存储器空间之前使经重新组织的该组指令随机化。在一些实施例中,仪器引擎被配置为重新组织和随机化该组指令,并且在这些和其他实施例中,仪器引擎还可以被配置为将用于经重新组织的指令的存储器地址写入到表。一旦该组指令被确定,则针对不在该组指令中的每个可用指令,系统和方法将相应指令改变为不起作用以防止相应指令的执行。系统和方法可以将相应指令永久或临时地改变为不起作用。在一些实施例中,系统和方法可以通过在加载时间期间利用不起作用的指令重写相应指令来将相应指令改变为不起作用。在其他实施例中,系统和方法可以通过在运行时期间利用不起作用的指令重写相应指令来将相应指令改变为不起作用。系统和方法可以通过利用无操作(NOP)指令重写相应指令来将相应指令改变为不起作用。在一些实施例中,仪器引擎被配置为将相应指令改变为不起作用。在将指令改变为不起作用之后,系统和方法可以捕获在运行时被访问的计算机应用的存储器地址。在一些实施例中,系统包括分析引擎,其被通信地耦合到仪器引擎,并且被配置为捕获存储器地址。如果所捕获的存储器地址与用于不起作用的指令的存储器地址匹配,则系统和方法可以声明安全攻击。在一些实施例中,系统包括验证引擎,其被通信地耦合到分析引擎和仪器引擎,并且被配置为声明安全攻击。附图说明根据如在附图中示出的对本公开的示例实施例的以下更具体的描述,前述事项将是显而易见的,其中在不同的视图中相似的附图标记指代相同的部分。附图不一定是成比例的,重点反而在于示出本公开的实施例。图1示出高级持续恶意软件攻击的示例配置。图2示出用于锁定计算机应用的指令的示例方法的流程图。图3示出具有基于组织和该组织的用户的类别的功能的示例计算机应用。图4示出了用于存储应用的活动指令的示例表。图5A示出用于捕获执行计算机应用的所需功能的指令的示例配置的框图。图5B示出用于在在线模式和离线模式下锁定指令的示例配置的框图。图6示出本公开的实施例中的用来跟踪所生成的事件的示例事件链状态机。图7A示出本公开的实施例中的客户端和分析引擎的示例框图。图7B示出用来在图7A的客户端和分析引擎之间传输数据的示例协议数据单元(PDU)。图8示出其中可以实现本公开的实施例的计算机网络或类似的数字处理环境。图9示出了图8的计算机系统中的计算机(例如,客户端处理器/设备或服务器计算机)的示例内部结构的示图。具体实施方式下面是对本公开的示例实施例的描述。恶意软件攻击的概述国家漏洞数据库(NVD)在2011年列举了大约4100个应用漏洞,并且在2012年列举了大约5300个应用漏洞,其被划分为二十三个攻击类别。尽管几个攻击类别涉及由疏忽或错误配置导致的攻击,但是最大数量的攻击类别涉及恶意行为者在组织的正在执行的进程中有意注入恶意内容并随后导致恶意内容的执行。注入这样的恶意内容的过程涉及标识和利用某一设计不良的代码,其执行不充分的输入验证。例如,如果代码缺少与大小相关的验证,则该代码可能允许包括在缓冲区错误攻击类别中的缓冲区错误式的攻击。在这些攻击中,恶意行为者注入恶意内容以试图从正在执行的进程中挖掘信息以访问来自组织的机密信息,诸如信用卡数据、知识产权、社会保障号码。恶意行为者然后可以通过从该组织或该组织的客户窃取资源来使用该机密信息获利。恶意软件攻击示例图1示出高级持续恶意软件攻击的示例。在这种情形下,来自行为者自己的基础设施102的恶意行为者(或黑客)使用诸如nmap104之类的扫描工具来远程地扫描面向企业108的基础设施的web。当扫描发现具有已知漏洞或零日漏洞的服务器时,行为者安装壳代码106以获得对远程企业服务器(即,目标)110的控制并访问企业网络。一旦进入网络,恶意行为者加载附加的工具。这些工具可以包括nma本文档来自技高网...
<a href="http://www.xjishu.com/zhuanli/55/201580043510.html" title="用来减少软件的攻击面的自动代码锁定原文来自X技术">用来减少软件的攻击面的自动代码锁定</a>

【技术保护点】
一种方法,包括:根据用于计算机应用的可用指令来确定一组指令,其中所述一组指令提供所述计算机应用的特定功能;针对不在所述一组指令中的每个可用指令,将相应指令改变为不起作用以防止相应指令的执行;捕获在运行时被访问的所述计算机应用的存储器地址;以及如果所捕获的存储器地址与用于不起作用的指令的存储器地址匹配,则声明安全攻击。

【技术特征摘要】
【国外来华专利技术】2014.06.24 US 61/998,3201.一种方法,包括:根据用于计算机应用的可用指令来确定一组指令,其中所述一组指令提供所述计算机应用的特定功能;针对不在所述一组指令中的每个可用指令,将相应指令改变为不起作用以防止相应指令的执行;捕获在运行时被访问的所述计算机应用的存储器地址;以及如果所捕获的存储器地址与用于不起作用的指令的存储器地址匹配,则声明安全攻击。2.根据权利要求1所述的方法,其中确定所述一组指令还包括:对所述计算机应用的所述特定功能执行功能测试;以及捕获在所述功能测试期间被执行的指令。3.根据权利要求2所述的方法,还包括:对所述特定功能执行负面测试,其中所述负面测试触发关于所述特定功能的异常处理函数;以及捕获通过触发所述异常处理函数而被执行的指令。4.根据权利要求2所述的方法,还包括:通过在所述功能测试期间静态地分析执行所述特定功能的线程的结构来捕获用于异常处理函数的指令。5.根据权利要求1所述的方法,其中将相应指令改变为不起作用是永久的或临时的。6.根据权利要求1所述的方法,其中将相应指令改变为不起作用包括在加载时间期间利用不起作用的指令来重写所述指令。7.根据权利要求1所述的方法,其中将相应指令改变为不起作用包括在运行时期间利用不起作用的指令来重写所述指令。8.根据权利要求1所述的方法,其中将相应指令改变为不起作用包括利用NOP指令来重写所述指令。9.根据权利要求1所述的方法,还包括:在存储器中重新组织所述一组指令,以及将经重新组织的一组指令写入到更小的存储器空间。10.根据权利要求9所述的方法,还包括:在写入到更小的存储器空间之前在存储器中使经重新组织的一组指令随机化。11.根据权利要求1所述的方法,其中所述特定功能取决于执行所述计算机应用的用户的类别。12.根据权利要求1所述的方法,还包括:将用于所述一组指令的所述存储器地址写入到用于在硬件处理器上加载的表。13.根据权利要求1所述的方法,其中所述计算机应用包括可执行文件和库中的至少一项。14.一种系统,包括:仪器引擎,被配置为:根据用于计算机应用的可用指令来确定一组指令,其中所述一组指令提供所述计算机应用的特定功能;针对不在所述一组指令中...

【专利技术属性】
技术研发人员:S·V·古普塔
申请(专利权)人:弗塞克系统公司
类型:发明
国别省市:美国;US

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

1