用于运行时攻击预防的系统和方法技术方案

技术编号:7157703 阅读:197 留言:0更新日期:2012-04-11 18:40
防止对计算机在运行时的攻击。至少一个构造成可存取计算机的功能的内容由计算机接收。相应于功能的防护被添加到内容,其中,该防护覆盖功能。随后,内容和防护被发送给计算机。功能可能暴露计算机的漏洞,而传递给功能的参数可能利用那个漏洞。当内容被执行时,防护被执行,并确定内容传递给功能的参数是否构成威胁。响应于确定出参数构成威胁,内容的执行在功能不被执行的情况下被终止。

【技术实现步骤摘要】
【国外来华专利技术】
本专利技术大体涉及计算机和网络安全的领域,且更具体地涉及识别恶意的程序和代码,并防止其执行。
技术介绍
几十年来,黑客们已寻找到将恶意程序(“恶意软件”)安装到计算机或其他联网设备的途径。通常,恶意软件运行以损坏或妨害安装了其恶意软件的计算机(“主机”)的功能。恶意软件也可为黑客提供呈现在主机上的敏感信息的通路,以及主机所连接到的网络上的途径。通过侵占主机的电子邮件和其他网络通信工具,恶意软件也可使用主机去发布另外的恶意软件。恶意程序一般透过否则看来良性的程序或文件渗入而被安装到主机上。例如,恶意软件可被包含在电子邮件消息中,且可在打开电子邮件消息或查看消息内的图像时自动运行。恶意软件也可与主机的使用者有意图地下载和/或安装的程序相关联。通常,检测这些威胁的主要方法为识别与各种恶意软件有关的签名。签名通常为可执行的字符序列,其在攻击已发生并被报告给受过专门训练的分析者之后被识别。分析者识别恶意软件和与其有关的签名。随后分析者以可执行代码或以网络通讯设计识别该签名的软件。对于最常规的病毒防护、反间谍软件和入侵检测系统,这是典型的工作模式。黑客非常清楚这种常规的防御,且已开发了新的攻击,其被设计成使用新的技术来规避基于签名的检测。一种这样的攻击使用可执行的互联网代码,诸如Jav必cript。 Jav必cript为设计成为嵌入在超文本标记语言(HTML)页面的编程语言。Jav必cript提供接近网络浏览器外的可执行目标的途径。例如,JavaScript允许网页打开存储在主机硬盘的文件以及修改该文件。Jav必cript还允许在主机的存储器中的数据结构的创建。由于 JavaScript为脚本语言,它不被转化成机器语言,而是以文本的形式被发送给终端用户的网络浏览器,随后在那里其被执行。这些特征为黑客提供了可利用的途径。例如,可能是已知的,在指定的操作系统或网络浏览器中,创建特定大小的阵列可允许黑客接近计算机存储器的特别敏感的区域。 JavaScript允许这样的阵列的创建。创建数据结构需要特定的已知语法,所以基于签名的检测仍旧可能是可行的。然而,由于程序员在表达变量的名称上和设置在阵列中的数据上有广泛的自由,基于签名的检测变得更困难,甚至不可行,因为攻击可能直到恶意代码已在主机上运行时才变得明显。然而,在该假设的示例中,在基于签名的检测可行的程度上,诸如JavMcript的语言为黑客提供另外的途径来躲避基于签名的检测方案。具体地,JavaScript提供可随后被执行的字符串的运行时评估。例如,假设叫作document, write ( "hack")的功能为已知的溢出漏洞。黑客可利用JavMcript的运行时评估的特征如下所述地混淆该溢出漏洞var X = "ha” ;var Y = "k";var Z = "doc";var A = "ument. wr,,;var B = "ite(";var C = ‘‘),,;var D = "c,,;eval (Z+A+B+X+D+Y+C);上述代码将字符串估值为document, write (“hack”)并执行该恶意代码。使该问题复杂化的是,JavaScript几乎没有规定对于变量的名称或者它们出现的顺序的限制。因此,对于混淆恶意代码的途径,黑客们只受他们的想象力限制。而且,由于JavMcript可在网页被访问时自动产生,如上所述的混淆手法可以这样的方式响应于访问随机产生,以确保每一次攻击与上一次具有不同的签名。因此,即使是可行的,常规的基于签名的检测也会很困难检测到这种新型的互联网攻击。这样的攻击的进一步问题为,其可被隐藏在从其他可信源接收的代码中。例如,得到广泛使用的网站可售卖它网站上的广告空间给广告客户。当终端用户浏览网页时,显现在那个空间的广告典型地从广告客户或第三方广告服务器所加载。广告也可在终端用户浏览网页之前被加载到与网站相关联的服务器上,在此情况下,当终端用户浏览该网站时,该广告也可被提供给用户而不用连接到外部服务器。除了契约上的控制之外,运行该网站的公司对广告的内容可能只有很少的控制。如果恶意代码被设置在广告中,网站可能直到它已经提供了无数的受感染的网页才发现问题。因此,一般用于阻止来自于不可信的来源的网络通讯或者仅仅允许来自于可靠来源的通讯的方法可能并不足够用于阻止攻击。阻止这样的攻击的常规方法是禁止基于网络的可执行代码的执行,该可执行的代码包括但不限于JavaScript、Adobe Flash和Microsoft Silverlight0然而,阻止这样的代码的执行,可能使得某些网站不能正确地运行,且减损了该代码允许的丰富的网络内容。因此,现时存在对于可识别和阻止在可执行代码中传递的攻击的系统的需求。进一步地,现时存在对于下列的系统的需求,该系统在即使当攻击被混淆以至于直到运行时才能检测到时,也可识别和阻止这种攻击。现时更存在信誉良好的网站经营者对访问者的保护,以使访问者不受可能隐匿在经由他们网站公布的内容中,诸如由第三方广告客户控制的调幅广告,的攻击。
技术实现思路
本专利技术通过提供一种用于预防运行时攻击的系统和方法来满足上述需求。在本专利技术的一个方面中,提供了一种可接收计算机指定的内容方法。该内容可被构造成可接近使计算机漏洞暴露的至少一个功能。覆盖该功能或者修改该内容的执行的防护随后可被添加到该内容。包括该防护的该内容随后被发送给计算机。计算机一旦接收了该内容和该防护,便会执行该内容。如果该内容调用使计算机漏洞暴露的功能时,该防护便会被执行。通过执行该防护,该内容试图传递到该功能的任何参数都被分析,以判定这些参数是否带威胁性。如果确定该参数对计算机构成威胁,该内容的执行在该功能未被执行时被终止。另一方面,如果该参数不带威胁性,该漏洞功能将被允许正常执行。如果传递给该功能的参数被确定带有威胁性,而该内容的执行被终止,警报将被发送给网络管理员。警报也可被发送给终端用户或者第三方。当增加防护时,该方法可考虑与计算机有关的计算环境。计算环境可包括与计算机的操作系统有关的信息、在计算机上运行的网络浏览器的类型和版本、和/或安装在计算机上的应用程序。于是该方法可识别与计算环境相应的防护并将这些防护添加到该内容。当添加防护时,该方法也可考虑该内容的类型,其可包括Javakript、Flash和 Silverlight0该方法可识别与该内容的类型相应的防护,并可将这些防护添加到该内容。在本专利技术的另一方面,提供了一种用于防止计算机在运行时被攻击的系统。该系统包括被构造成可接收内容的第一计算机。防护引擎被耦连到第一计算机,并被构造成可拦截该内容,并添加防护到该内容。该防护覆盖易被该内容接近的功能,以使得当该内容调用该功能时,执行该防护。该防护可被构造成能确定该内容传递给该功能的参数是否一种攻击。该防护也可被构造成在确定该参数为攻击时,终止该内容的执行。该防护也可修改该内容的执行,以便阻挠依赖于该内容的执行的特定特性的攻击。该防护也可被构造成,在确定对该功能的调用为攻击时,发送警报给终端用户、网络管理员和/或另外的第三方。本专利技术的另一个方面提供一种用于防止在对计算机运行时被攻击的附加的方法。 在该方法中,远程服务器接收来自计算机的可执行内容的请求。防护被添本文档来自技高网
...

【技术保护点】
1.一种用于保护计算机的方法,其包括:接收以计算机为目的地的内容,该内容被构造成可存取至少一个计算机的功能;为相应于该功能的内容添加防护,其中防护被构造成可监视该功能;向计算机发送内容和防护。

【技术特征摘要】
【国外来华专利技术】...

【专利技术属性】
技术研发人员:A·达文波特
申请(专利权)人:安全工程有限公司
类型:发明
国别省市:US

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

1