反病毒专家谈虚拟机技术 面临两大技术难题

2024-03-26 11:18

本文主要是介绍反病毒专家谈虚拟机技术 面临两大技术难题,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

转载地址: http://www.cnxhacker.com/Article/news/trade/200612/7178.html

在目前新病毒及变种层出不穷的今天,如何防御新病毒成为目前反病毒业界一个新的研究课题。12月5日,继江民杀毒软件推出未知病毒主动防御技术后,瑞星也宣布在新品当中应用了虚拟机脱壳技术,从而再次提出了对未知病毒的主动防御问题。在种种防范未知病毒技术面前,虚拟机技术一直在全球业界存在很大的争议。那么,虚拟机技术目前应用状况到底如何?能否承担起主动防御未知病毒的大任?在被种种概念包装的商业面具下,这个问题被掩盖了许久。日前,记者就这一问题采访了业内资深的反病毒专家,企图揭开罩在虚拟机技术上的层层面纱。
   
什么是虚拟机杀毒技术?

江民反病毒专家介绍,虚拟机并不是新技术,目前微软、JAVA等虚拟机都已经十分成熟,在一台电脑上安装一个虚拟机和多个操作系统,已经成为许多评测人员和计算机病毒分析人员必需工作条件。而将虚拟机技术应用到杀毒方面,却是一个杀毒业界一直在追求和探索的课题。 他认为,“虚拟机杀毒技术”即是在电脑中创造一个虚拟CPU环境,将病毒在虚拟环境中激活,根据其行为特征,从而判断是否是病毒。也有专家认为,所谓虚拟机技术,就是用软件先虚拟一套运行环境,让病毒先在该虚拟环境下运行,从而观察病毒的执行过程。这个技术主要用来应对加壳和加密的病毒,因为这两类病毒在执行时最终还是要自身脱壳和解密的,这样,杀毒软件就可以在其“现出原形”之后通过特征码查毒法对其进行查杀。

资源占用和病毒定义标准,虚拟机杀毒面临两大技术难关

仅从定义上理解,解决虚拟机技术至少应解决两大难题,一是虚拟运行环境占用资源的问题,二是如果判断病毒标准的问题。

事实上,虚拟机技术面临的一个最大的难题就是如何解决资源占用问题,试想,虚拟一个CPU环境需要占用多大的资源?在这个环境下激活一个病毒,让病毒完成其从发作到传播的整个过程,再分析其行为特征,又需要多长的时间?如果全部应用虚拟机技术话,分析一个加壳病毒需要3到5分钟的时间,而目前电脑中许多压缩加壳的文件,光分析这些文件耗用的时间和占用的资源,就足够成为一个很有耐心的人放弃这款杀毒软件理由了,尽管这款杀毒软件应用的是最先进的杀毒技术。

据国内最早采用虚拟机脱壳技术的江民科技反病毒专家介绍,目前国际上主流的杀毒厂商对应用虚拟机技术都比较保守,毕竟不能因为杀毒拖垮用户的电脑。以江民为例,早在KV3000时就能够查杀很多加壳病毒,而这个技术直到今年一些杀毒软件才开始加入并作为产品的一项新功能进行宣传。

据介绍,江民杀毒软件应用的是程序脱壳为主加上虚拟机为辅助的杀壳病毒技术,目前,江民杀毒软件能够查杀并监控ZIP、ARJ、CAB、LZH、RARPKZIP、ARJ、Microsoft Compress、Diet、LZEXE和 LZH等所有的主流压缩病毒, 包括PKLITE、LZEXE、WWPACK、ASPACK、UPX等可执行程序压缩格式病毒都可彻底查杀。全新的分级高速杀毒引擎还可以对层层加压、不同格式加压的病毒进行扫描和监控,使得隐藏再深的病毒也难以逃脱。

最重要的是,江民杀毒软件在扫描分析此类加壳病毒时,在时间上用户几乎感觉不到与普通文件的差别,而如果全部采用虚拟机杀毒技术,分析一个深层压缩病毒就需要几分钟的时间。

除占用资源问题外,国内安全专家对虚拟机杀毒如果确定病毒判断标准的问题提出质疑。网名为“蓝海”的安全专家认为, 在处理加密编码病毒过程中,虚拟机是比较理想的处理方法,但他也一针见血地指出,目前所有杀毒软件“临床”应用的虚拟机并不是“高大全”的完整仿真环境,而是相对比较简单的、易于实现的版本。他认为,尽管根据病毒定义而确立的 “传染”标准是明确的,但是,这个标准假如能够实施却是模糊的。一是要仿真传染条件,哪些条件感染病毒,怎样制造传播条件?如系统日期、感染对象的文件名等等,二是这个分析是通过动态执行分支屡试呢,还是通过返回头进行静态的指令过程分析?如果杀毒软件以病毒传染性标准定义作为判断标准的话,那么人们会发现这个杀毒工具已不再是一个程序,而是一台IBM的深蓝超级计算机。

虚拟机技术仍然与传统技术相结合

江民反病毒专家认为,目前追求虚拟机的完全应用几乎是全球顶尖的反病毒专家们最美丽的梦想,尽管他们都明知这是不可能实现的。而目前应用的虚拟机技术也是各有各的标准,对于病毒行为的定义都是建立在自己对病毒共性分析的基础上的。

    安全专家也认为,在反病毒软件中引入虚拟机是由于综合分析了大多数已知病毒的共性, 并基本可以认为在今后一段时间内的病毒大多会沿袭这些共性。由此可见,虚拟机技术是离不开传统病毒特征码技术的。

     而且,他认为,目前虚拟机的处理对象主要是文件型病毒,对于引导区病毒、宏病毒、木马,目前利用虚拟机应用的效果还不明显。即便随着技术的进一步发展,虚拟机技术可以应对多数病毒,也不能保证病毒不会通过发出错误的指令来误导杀毒软件,让杀毒软件的虚拟机失去效力。因此,虽然许多人对特征码技术持有不同的看法,但是在很长一段时间内,特征码仍然是主要的杀毒技术,虚拟机技术只能起到补充和辅助的作用。

这篇关于反病毒专家谈虚拟机技术 面临两大技术难题的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848325

相关文章

【专题】2024飞行汽车技术全景报告合集PDF分享(附原数据表)

原文链接: https://tecdat.cn/?p=37628 6月16日,小鹏汇天旅航者X2在北京大兴国际机场临空经济区完成首飞,这也是小鹏汇天的产品在京津冀地区进行的首次飞行。小鹏汇天方面还表示,公司准备量产,并计划今年四季度开启预售小鹏汇天分体式飞行汽车,探索分体式飞行汽车城际通勤。阅读原文,获取专题报告合集全文,解锁文末271份飞行汽车相关行业研究报告。 据悉,业内人士对飞行汽车行业

金融业开源技术 术语

金融业开源技术  术语 1  范围 本文件界定了金融业开源技术的常用术语。 本文件适用于金融业中涉及开源技术的相关标准及规范性文件制定和信息沟通等活动。

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出

AI(文生语音)-TTS 技术线路探索学习:从拼接式参数化方法到Tacotron端到端输出 在数字化时代,文本到语音(Text-to-Speech, TTS)技术已成为人机交互的关键桥梁,无论是为视障人士提供辅助阅读,还是为智能助手注入声音的灵魂,TTS 技术都扮演着至关重要的角色。从最初的拼接式方法到参数化技术,再到现今的深度学习解决方案,TTS 技术经历了一段长足的进步。这篇文章将带您穿越时

系统架构设计师: 信息安全技术

简简单单 Online zuozuo: 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo 简简单单 Online zuozuo :本心、输入输出、结果 简简单单 Online zuozuo : 文章目录 系统架构设计师: 信息安全技术前言信息安全的基本要素:信息安全的范围:安全措施的目标:访问控制技术要素:访问控制包括:等保

前端技术(七)——less 教程

一、less简介 1. less是什么? less是一种动态样式语言,属于css预处理器的范畴,它扩展了CSS语言,增加了变量、Mixin、函数等特性,使CSS 更易维护和扩展LESS 既可以在 客户端 上运行 ,也可以借助Node.js在服务端运行。 less的中文官网:https://lesscss.cn/ 2. less编译工具 koala 官网 http://koala-app.

HotSpot虚拟机的经典垃圾收集器

读《深入理解Java虚拟机》第三版笔记。 关系 Serial、ParNew、Parallel Scavenge、Parallel Old、Serial Old(MSC)、Concurrent Mark Sweep (CMS)、Garbage First(G1)收集器。 如图: 1、Serial 和 Serial Old 收集器 2、ParNew 收集器 3、Parallel Sc

理解java虚拟机内存收集

学习《深入理解Java虚拟机》时个人的理解笔记 1、为什么要去了解垃圾收集和内存回收技术? 当需要排查各种内存溢出、内存泄漏问题时,当垃圾收集成为系统达到更高并发量的瓶颈时,我们就必须对这些“自动化”的技术实施必要的监控和调节。 2、“哲学三问”内存收集 what?when?how? 那些内存需要回收?什么时候回收?如何回收? 这是一个整体的问题,确定了什么状态的内存可以

Spring的设计⽬标——《Spring技术内幕》

读《Spring技术内幕》第二版,计文柯著。 如果我们要简要地描述Spring的设计⽬标,可以这么说,Spring为开发者提供的是⼀个⼀站式的轻量级应⽤开发框架(平台)。 作为平台,Spring抽象了我们在 许多应⽤开发中遇到的共性问题;同时,作为⼀个轻量级的应⽤开发框架,Spring和传统的J2EE开发相⽐,有其⾃⾝的特点。 通过这些⾃⾝的特点,Spring充分体现了它的设计理念:在

java线程深度解析(六)——线程池技术

http://blog.csdn.net/Daybreak1209/article/details/51382604 一种最为简单的线程创建和回收的方法: [html]  view plain copy new Thread(new Runnable(){                @Override               public voi

java线程深度解析(二)——线程互斥技术与线程间通信

http://blog.csdn.net/daybreak1209/article/details/51307679      在java多线程——线程同步问题中,对于多线程下程序启动时出现的线程安全问题的背景和初步解决方案已经有了详细的介绍。本文将再度深入解析对线程代码块和方法的同步控制和多线程间通信的实例。 一、再现多线程下安全问题 先看开启两条线程,分别按序打印字符串的