[发明专利]用于检测由虚拟机所执行的恶意代码的系统和方法有效
申请号: | 201310642107.1 | 申请日: | 2013-12-03 |
公开(公告)号: | CN103593608B | 公开(公告)日: | 2016-11-23 |
发明(设计)人: | 米哈伊尔·A·帕夫柳席奇卡 | 申请(专利权)人: | 卡巴斯基实验室封闭式股份公司 |
主分类号: | G06F21/53 | 分类号: | G06F21/53;G06F21/56 |
代理公司: | 北京市磐华律师事务所 11336 | 代理人: | 谢栒;魏宁 |
地址: | 俄罗斯联*** | 国省代码: | 俄罗斯;RU |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 用于 检测 虚拟机 执行 恶意代码 系统 方法 | ||
优先权声明
本申请要求享有于2012年12月25日提交的、2012156443号俄罗斯联邦专利申请的优先权,该申请的公开通过援引并入本文。
技术领域
本发明总地涉及信息处理和安全,并且,更具体地,涉及检测其代码由虚拟机所执行的恶意软件。
背景技术
今天,观察到其程序代码由虚拟机(例如Java虚拟机、公共语言运行时、ActionScript(动作脚本)虚拟机)所执行的计算机威胁的数目急剧增加。漏洞(exploit)是这类威胁中最危险的。
漏洞是程序代码片段或命令序列,其使用软件中的缺陷并被用来攻击计算机系统。危险不在于漏洞本身,而在于其随身携带的有效载荷。漏洞的有效载荷是由罪犯所部署的功能性(functionality),其当缺陷在遭受攻击的系统上被利用时导致功能性的未经授权的激活。恶意软件的下载可被引用为这类功能性的示例。漏洞可以独立地使用以测试计算机系统安全性,或者与恶意软件一起使用。
从各种各样的漏洞中,应该特别注意那些要求虚拟机执行其代码的漏洞。这种漏洞最常用于攻击并且是最危险的,因为其难以检测。
存在用于对抗这类威胁的两个主要方法。第一个方法涉及消除由漏洞所使用的缺陷。第二个方法涉及使用特殊工具来检测漏洞的存在并停止它们的活动。这些工具可以内置在软件自身中(例如Java虚拟机安全模型)或者由外部提供。第一个方法是可靠的并且解决问题的根源,但是其具有两个显著的缺点。其中一个,从找到缺陷的时刻到发出经修正的软件版本的时刻经过相当长的一段时间。在此期间,易受攻击的产品的用户保持未受保护。另一个缺点是第一个方法不对所谓的“零日”缺陷提供任何保护,“零日”缺陷即使用应用或操作系统中的错误或缺陷并且在缺陷被找到之后而相关更新发出之前立即出现的威胁。
第二个方法避免这些缺点,但是其可靠性取决于其技术实现的质量,并且应该注意这类保护工具可能自身是易受攻击的。使用该方法的最普遍的解决方案是使用启发式规则和签名分析(例如分析所分析的代码是否与已知计算机威胁的代码样本相同)以及内置虚拟机安全工具来检测漏洞。使用签名一般适合检测已知漏洞。然而,如果攻击代码被修改,则该解决方案将变为无用的。
启发式分析实现方案不具有该不足,但是其在存在更周密的代码修改(例如加密/混淆)、存在恶意代码的算法的改变或者避免代码仿真的技术被部署的情况下可能是低效的。
虚拟机是在计算机系统的操作系统和硬件平台上运行的基于软件的计算环境。虚拟机建立抽象层次以达到与虚拟机实际在其上执行的硬件平台的独立。虚拟机具有其自身的内置安全模型。应该特别注意Java虚拟机(JVM)安全模型;其具有四个部件:类文件检验器、类加载器、安全管理器和JVM架构自身。因为Java字节码可以被解译,所以控制使避免缓冲区溢出成为可能的数组索引是可能的,缓冲区溢出代表最典型和危险类型的软件执行错误。还存在用于处理异常(exception)的内置机制,其允许高效地解决出现的冲突,同时垃圾收集器清除未使用的存储器,防止罪犯观看可能包含有用信息的“垃圾”存储器块。
安全管理器,在用于JVM的安全模型中的最重要的元件,其是根据所建立的安全策略向应用授予权限的部件。如果应用尝试实施特许操作的情况出现,则安全管理器检查应用的权限并确定这类行为的合法性。默认的安全管理器是Java类java.lang.SecurityManager;其包括用于检查对安全策略是关键的操作的数个方法。
最近,使用漏洞对JVM的直接攻击的数目已经急剧增加。随着这些攻击显现,由Java创建者所提议的安全模型实际上在其实现方案中具有严重的不足。现在这些不足由罪犯在其攻击中积极地使用。
鉴于上述情况,用于检测漏洞的已知方法在其应用中或者具有限制,或者具有不足,其产生安全风险并且一般不提供充分的保护。
因此需要解决这些挑战中的至少一些并且潜在地具有甚至更宽的适用性的实际解决方案。
发明内容
本发明的一个方面针对用于防御由进程虚拟机可执行的恶意的程序指令集的自动计算机实现的方法。进程虚拟机包括在具有硬件平台和操作系统的计算机系统上可执行的程序指令。方法包括:
·由在计算机系统上执行的自动扩张进程来扩张进程虚拟机的程序指令以在进程虚拟机内建立异常监视模块;
·经由进程虚拟机执行隶属(subject)程序指令集;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于卡巴斯基实验室封闭式股份公司,未经卡巴斯基实验室封闭式股份公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201310642107.1/2.html,转载请声明来源钻瓜专利网。
- 上一篇:功率转换器驱动级中的电荷恢复
- 下一篇:被动式功因校正电路