扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
未知病毒防范技术的主要设计思路是:既然反病毒工程师可以通过分析程序行为而准确判定一个程序是否是病毒,那么能否将这种分析判断过程自动化、程序化呢?事实证明,这是可以实现的。通过对病毒行为规律分析、归纳、总结,并结合反病毒专家判定病毒的经验,提炼成病毒识别规则知识库。模拟专家发现新病毒的机理,通过分布在操作系统的众多探针,动态监视所运行程序,调用各种应用程序编程接口的动作,将程序的一系列动作通过逻辑关系分析组成有意义的行为,再综合应用病毒识别规则知识,实现自动判定病毒。
刘旭认为,未知病毒防范技术的核心思路,是由具备仿真反病毒专家系统的主动防御软件,在用户计算机上自动分析程序行为,自主识别、明确报出并自动清除病毒。该技术的“黄金三法则”包括:第一、对未知病毒能够自主识别;第二、对未知病毒能够明确报出;第三、对未知病毒能够自动清除。
未知病毒防范技术体系必须以具备动态仿真反病毒专家系统为先决条件,以自动准确判定未知病毒为基本诉求,以程序行为监控为保障机制。
面对当前形形色色的主动防御概念,该如何辨别呢?刘旭指出,与所有的反病毒技术一样,未知病毒防范技术也必须要实现对程序的性质做出明确判定。是病毒,就应明确报警并提示用户发现病毒。如果只是对程序的单一动作报警,由用户自己判断这个动作是否具有威胁,就不是主动防御了。这里所说的程序动作,是指反病毒软件监控到程序调用了Windows提供的某个API。API是Windows为程序开发提供的功能,正常程序可以使用,病毒也可以使用。也就是说,API本身并没有善恶之分,如果仅仅依据程序的一个动作就报警,那么普通用户实在难以判断这个动作究竟是否有害,更会感到无所适从,这显然不是广大计算机用户所需要的反病毒技术。
在与未知病毒较量的过程中,虚拟机技术、启发式技术和沙盒技术也是防病毒厂商手中的利器。虚拟机技术是利用虚拟机对计算机病毒运行进行监控的技术,这里的虚拟机指的是完全虚拟(Pure Emulator)。虚拟机技术是通过模拟CPU指令系统、内存管理系统、操作系统、API调用系统等完成的,这是一个纯粹的虚拟环境,病毒在其中运行,和当前的系统完全隔离。在这种虚拟环境下可以实现病毒的脱壳、行为判断等多种功能。
现在,虚拟机技术在杀毒软件中也有非常多的运用,特别是在启发式杀毒技术中。启发式技术主要通过对计算机病毒的某些特征来甄别是否具有病毒特征。启发式分两种:一种是动态启发,一种是静态启发。
动态启发利用了上述的虚拟机功能,在虚拟机环境下运行病毒,监控病毒的行为实现。例如病毒调用了哪些有危害的API,修改了哪些注册表键值,创建了哪些文件等。动态启发的深度取决于虚拟机虚拟的深度。
静态启发一般是通过对病毒独有的关键字进行匹配检测。例如在引导区中不可能出现磁盘读写指令int 13,通过对扇区512中是否存在int 13指令的判断来提示用户是否可能感染了引导区病毒。我们也可以总结一些常见病毒中的字符串、通用代码等来启发文件是不是病毒,这种启发的准确率是相当高的。
江民公司反病毒专家丁凯向记者介绍,沙盒技术事实上也是一个模拟环境,病毒可以在这个环境中任意运行而不破坏系统资源。它和虚拟机的不同在于:沙盒的运行是借助于当前系统资源的,例如API的执行,异常的调度等,一般是把API用hook的方法拦截掉。而虚拟机用的资源(例如API)是需要完全自己虚拟出来的,并不是调用系统已有的资源。可以这样理解,前几年流行的“主动防御”技术也是通过hook API的方法实现的,是在Windows层进行动态行为判断的一种技术,是沙盒技术的一个子集,只有拦截而没有回溯功能。而沙盒技术可以使虚拟环境回到程序原始点。
沙盒可以算是虚拟机的一种发展,其技术原理似乎也和虚拟机大致相同,但它们仍有很大区别。沙盒是一种更深层的系统内核级技术,在一个程序运行时,沙盒会接管程序调用接口或函数的行为,并会在确认病毒行为后实行“回滚”机制,让系统复原。而虚拟机并不具备回滚复原机制,在激发病毒后,虚拟机会根据病毒的行为特征判断出是某一类病毒,并调用引擎对该病毒进行清除,两者之间有着本质的区别。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者