当前位置: 首页 > 编程日记 > 正文

主动防病毒内容篇

为何需要主动防病毒

 
近年来,对于防病毒软件效用的争论有愈演愈烈之势。我们知道,目前几乎所有的主流防病毒产品都是以分析病毒特征码为基础,通过升级安装在用户端的病毒特征码数据库实现对病毒的辨识。只有发现和确认了病毒之后,才能比较准确的完成对病毒的清除工作。这种工作模式多年来被证明是成熟和可靠的,但是环境的变化正在对这种可靠性提出严峻的考验。因为这种模式的最大问题就是病毒的发现和病毒库升级的发布要滞后于病毒感染行为。最近几年利用系统漏洞传播的蠕虫病毒成为了病毒世界的主流,其传播速度相当惊人。最新的蠕虫病毒每小时已经可以感染数万台计算机,一台连入互联网的存在漏洞的计算机往往在不超过三十分钟的时间内就会被感染。在这种情况下,以往非常奏效的特征码识别加病毒库升级的防御方式难免显得捉襟见肘。越来越多的网络安全从业人士认为滞后于病毒出现的反应方式是一种非常被动的方式,已经越来越难以满足用户的需要。所以我们需要防病毒系统能够更具主动意义,只有这样才能解决我们所面临的困境。
 
如何才是主动防病毒
 
2005年全球的安全厂商都在力推“主动防御”的概念,而防病毒厂商也纷纷挑起了主动防病毒的大旗。尤其是国内的防病毒软件厂商,他们相对国外厂商更好的把握了用户需求的动向,提出了多种主动防御病毒的理念和功能。那么现在我们是否能够主动的防御病毒呢?我们现在是否已经具有了足够的主动防病毒技术呢?具有主动性的防病毒技术是否真能让用户实现更好的病毒防范呢?在寻求这一串问题的答案之前,让我们先来看一看应该如何界定主动防病毒这一概念。我们认为能够被称为“主动”的防病毒体系应该是能够更加智能、更加自动化的对计算机病毒进行处理,除了准确地查杀已知病毒,还能够有效的处理未知病毒。并不是所有的用户都知道如何正确的使用防病毒产品,也很少有用户真正清楚配置了一个选项之后会实际产生什么影响所以主动防病毒系统应该具有高度的便利性,尽量减少用户的参与,提供更好的操作体验。而在效能方面,主动防病毒系统不能局限于处理已知的病毒,还应该积极的从病毒的内部机制入手分析和总结病毒的行为特征,真正的将病毒挡在大门之外与对抗犯罪一样,我们不能总是在受到伤害之后才做出应对,而必须主动的增进我们的防线虽然《少数派报告》中的犯罪预测系统看起来不会在短期之内实现,但是在反病毒方面达到这样的水平肯定要容易很多。
 
病毒机制说明
 
目前被冠以主动防毒之名的一些技术并非今时今日才出现的。而是已经经历了很长时间的发展。一般情况下,计算机病毒都由感染机制、触发机制和破坏机制暗中结构组成。感染机制是计算机病毒最核心也是唯一必要的结构,它决定了病毒如何繁殖、传播和感染。感染机制通常包括了被感染目标的搜寻方法、感染的速度、规避反病毒系统、否感染及如何感染目标的条件判断等等。而触发机制是病毒行为的启动器,它根据一些条件引发破坏机制。这些条件可能是某个时间点、某个操作行为、某种系统环境因素以及这些条件的某种组合。另外一种情况就是不进行任何条件判断,也即无条件的触发。破坏机制就是病毒所包含的各种对目标系统进行修改和操控的部分,也即病毒的实际行为。这些行为既可以是格式化系统硬盘、消耗系统资源、显示一些信息这样比较显见的,也可以是植入自身的启动代码、通过系统感染其它目标这样相对隐蔽的。
 
我们为什么要讲述这些病毒机制方面的问题呢?因为这些概念对于我们分析防病毒技术有不小的帮助。例如对于特征码扫描技术来说,是通过在各种文件中查找已知病毒的具有唯一性的特征片断来产生作用的。这是一种相对表面化的技术,并没有针对我们所说的病毒的三种机制进行操作,而是在文件、网络数据包等数据负荷的基础上执行工作。如果一种防病毒技术能够深入到这些机制当中,无疑是一种更加具有主动性和广泛作用力的技术。
 
主动防病毒技术盘点
 
主动内核技术
 
主动内核技术是一种较早出现的尝试更加主动进行病毒防御的技术。从行为方式上主动内核技术与实时监控技术非常的类似,都是在病毒感染系统之前发现这些行为以进一步的进行处理。但是两者的实现方式却有很大的不同。主动内核技术在操作系统的内核层级植入代码,任何数据在与系统进行交互之前都会被内核中的这些代码过滤和监控。在这个层级的交互可以更好的对各种恶意行为进行判断,也即可以开展一些针对感染机制的病毒防范。惯常的特征码扫描、实时监控等技术都是在病毒侵入系统之后才进行反应。一旦有病毒突破了这道防线,就可以直接对系统产生破坏。而在内核层级对病毒进行处理可以将防御战线推至病毒获得运行环境之前,这将有效的提高病毒防御的质量和有效性。
 
这项技术的领先者是CA,与其有着深入合作的冠群今辰很早就在自己的Kill系列防病毒产品中集成了这种技术。但是,虽然防病毒厂商都希望将防病毒功能集成到系统的底层,对于修改操作系统源码还是存在着很多障碍。特别是对以微软为首的商业操作系统厂商来说,与防病毒厂商的合作虽然表面上握手言欢,但是很难达到防病毒厂商理想中的程度。通常的情况是提供一些底层调用以支撑防病毒软件的运转,目前还没有确切的消息显示微软为防病毒功能而修改了Windows系统的源代码。既使微软允许防病毒软件修改Windows的内核,被修改过的操作系统在稳定性和安全性上也不能让用户完全放心,并且可能会衍生出大量无法界定的责任。这种种因素导致主动内核技术虽然取得了一些进展,但是还无法达到设计该技术时所期望的目标。
 
启发式扫描
基于特征码技术的防病毒软件只能在一种病毒被制作出来之后才能发挥作用,那么我们是否能够防范尚未诞生的病毒呢?在对抗未知病毒的领域,启发式扫描是一种被普遍应用的技术。我们利用人工智能领域的heuristic(启发式)搜索技术,可以根据一些规则,智能的执行判断和处理,从而有可能发现部分的未知病毒。这种技术的核心在于病毒的运行机制是有规律可循的,如果能够发现这些规律,未来的采用类似机制的病毒就可以被发现。可以说,启发式扫描技术是一种针对病毒感染机制乃至触发机制和破坏机制进行工作的防病毒技术。另外,虽然有些时候将行为检测技术视为于启发式扫描不同的技术,但是我们认为对于特定行为理解与对病毒机制的理解基本属于相同的范畴。所以虽然这两种技术是被分开提出的,我们在这里不就行为检测技术进行探讨了。启发式扫描的具体实现是比较复杂的,通常的识别方式是查找可疑的指令序列。例如很多病毒程序的初始指令序列是解码、搜索、写盘等与通常程序初始化不同的操作,通过检查这些指令我们可以对一个程序的性质做出粗略的判断。通过对各种指令操作的危险程度进行分级,可以设计出较为系统的可疑代码发现标准。为了达到检测目的,防病毒系统通常都会将代码载入到虚拟机中执行,以判断是否含有可疑指令以及执行的结果是否会对计算机造成危害。但是这种检测方式对于检测病毒的感染机制比较有效,如果病毒存在特殊的触发机制,可能会造成破坏机制部分的代码不会在虚拟机环境中启动。所以到目前为止,启发式病毒检测技术尚只能发现部分未知病毒。
 
从理论的角度来分析,完全的防御未知病毒是不可能的。根据著名的计算机科学家图灵所提出的“图灵试验”,如果一个人在与另一个房间中的机器对话时,无法分辨出是与机器还是与人进行对话,那么可以认为这台机器拥有了人的智能。同样的道理,只有计算机具有了超越人类的智能,才有可能对所有还未被设计出的病毒进行处理。人脑的创造力是无限的,未来还会出现很多目前所无法知晓的病毒机制。随着计算环境的变化,已经被发现的病毒机制也会逐渐失去效用。在仍无法获知如何使机器具有与人类同等智能的今天,完全检测未知病毒这样的目标是否能够达成仍是一个未知数。启发式扫描在可预见的将来仍将是防御未知病毒的主流技术,但是想获得能够处理所有未知病毒哪怕是绝大多数未知病毒的机制,广大防病毒厂商还有很长的路要走。
 
新兴的主动防病毒功能
 
目前被广泛采用的一种防病毒功能是主动漏洞发现机制,这种功能的设计是根据目前流行的大部分蠕虫病毒都是针对微软Windows操作系统的安全漏洞进行传播和感染这一事实。通过在防病毒系统中集成发现操作系统漏洞的能力,可以提示和协助用户修补操作系统,断绝病毒滋生的环境。一个好消息是就微软的操作系统而言,只要能够较好的跟踪和更新系统漏洞,大部分流行的病毒是无法对系统造成侵害的。目前该类功能还有很大的提升空间,理想的状况是可以在无需用户参与的情况下完成各种安全漏洞的修补。
 
主动更新也是一种被用于提高病毒防御能力的功能,例如金山的主动实时升级。按照金山给出的数据,该功能可以在三十分钟内将病毒更新至用户的计算机。这种方式相对于手动设置升级时间间隔的方式,可以在更短的时间内完成更新,提高计算机的防护强度。但是既使按照这三十分钟是从金山发现病毒到用户获得病毒更新这种最理想的情况,该功能仍无法完全杜绝病毒的威胁。因为任何防病毒厂商都无法保证在病毒被释放到网络上的同时马上截获该病毒,在厂商截获一个病毒之前,往往已经有为数不少的机器被感染。并且现在很多蠕虫病毒在三十分钟的时间里已经可以完成爆发了。增强更新的自动性确实可以改善更新的质量,但是这个功能还有赖于厂商不断提高发现病毒和推出更新的速度,否则难以达到理想的效用。
 
值得注意的是,真正的主动病毒防御体系将不仅仅只局限于防病毒系统,操作系统等架构性设施也需要在这个体系中发挥作用。只有在足够底层获得操作能力,才能获得足够的防病毒效能。例如在最新的64位操作系统和64位X86处理器中已经开始集成防范恶意代码溢出的机制。类似这样的设计将为防病毒功能提供更好的基础平台。操作系统厂商及其提供架构性设施的厂商是否会以更加开放的态度处理病毒问题并积极的改进自身漏洞,是我们能否实现主动防病毒愿景的重要基础。另外,引发病毒感染在很多情况下还是要诱发用户的执行某些操作。除了正确的教育和引导之外,操作系统如何提供更具安全性的操作机制也是防范病毒必须解决的问题。
 
主动防病毒的未来
 

综合来看,我们目前具备的主动防病毒能力还远没有达到理想中的要求。一些功能上的创新虽然可以提高病毒防御能力,但是仍旧无法完美的解答病毒处理滞后于病毒产生破坏的问题,而在查杀未知病毒方面也没有达到另用户满意的程度。主动防病毒系统应该更加精确和易于使用,并更加整合化和基础化。用户的防病毒产品应该象一些基础的网络协议一样透明且稳定的工作。我们期待着主动防病毒不是一句口号或者一场运动,而是真正以解决用户问题为目标的一场战斗。虽然我们目前还无法获得真正具有主动意义的防病毒系统。但是我们不应怀疑这一理念的伟大意义。相信经过不断的努力,我们会离这一目标越来越进,并最终实现还网络以纯净面貌的理想。




本文转自 离子翼 51CTO博客,原文链接:http://blog.51cto.com/ionwing/58730,如需转载请自行联系原作者

相关文章:

icinga服务器系统监控软件的安装

系统环境rhel和Centos都可以安装这里我们所使用的安装包为中文版的icinga-cn-1.9.3.tar.bz2(1)安装icinga软件所支持的组件包(我们这里采用yum源的方式)组件:libdbi-dbd-mysql-0.8.3-5.1.el6.x86_64.rpmgd-devel-2.0.3…

size_t与ssize_t

size_t与ssize_t 为了增强程序的可移植性,便有了size_t,它是为了方便系统之间的移植而定义的,不同的系统上,定义size_t可能不一样。 l 在32位系统上定义为unsigned int ,也就是说在32位系统上是32位无符号整形…

自动驾驶中实时车道检测和警报

作者 | 小白 来源 | 小白学视觉未来十年,自动驾驶将彻底改变人们的出行方式。目前,自动驾驶应用程序目前正在测试各种案例,包括客车、机器人出租车自、动商业运输卡车、智能叉车以及用于农业的自动拖拉机。自动驾驶需要计算机视觉感知模块来…

OSS.Core基于Dapper封装(表达式解析+Emit)仓储层的构思及实现

最近趁着不忙,在构思一个搭建一个开源的完整项目,至于原因以及整个项目框架后边文章我再说明。既然要起一个完整的项目,那么数据仓储访问就必不可少,这篇文章我主要介绍这个新项目(OSS.Core)中我对仓储层的…

GNU Make chapter 2 —— Makefile 介绍

Makefile是由一系列的rule规则组成,这些rule都遵循以下形式: target ... : prerequisites ...command...... target(目标) 一般来说是需要生成的程序(模块)的名字,也可以是要执行的动作的名字,这…

C#编写的生成缩略图程序

if(fileupload.PostedFile!null) { //addto为要添加的属性,aboutfile为文件说明 string nam fileupload.PostedFile.FileName ; //取得文件名(抱括路径)里最后一个"."的索引 int i nam.LastIndexOf("."); /…

深度盘点Python11个主流框架:Pandas、Django、Matplotlib、Numpy、PyTorch......

六月份TIOBE编程语言排行榜,位居第二名的Python与第一名C语言之间的差距正在逐渐缩小。Python如此受欢迎一方面得益于它崇尚简洁的编程哲学,另一方面是因为强大的第三方库生态。要说杀手级的库,很难排出个先后顺序,因为python的明…

多表查询 外连接

关于外连接查询:链接查询的时候经常直接使用连接语句,可是如果只有主键没有写其他属性的时候,直接用连接查询得到的记录数是不完整的。 所以应该使用外连接查询:left join on 或者right join on. 例如在工单管理部分绑定到gridvie…

C#生成Excel文件的方法

一个示例&#xff1a; class AppTest { private Excel.ApplicationClass _x; public static void Main0() { AppTest a new AppTest(); a._x new Excel.ApplicationClass(); a._x.UserControl false; for (int i 0 ;i < 4; i) { a.SaveToXls("D://test//" i…

太酷了,Python 制作足球可视化图表 | 代码干货

作者 | 小F来源 | 法纳斯特大家好&#xff0c;我是小F。最近不少小伙伴都会熬夜看欧洲杯。今年的欧洲杯相比起往年的欧洲杯来说&#xff0c;可谓是冷门频出&#xff0c;出乎意料。真的不知道&#xff0c;第一会花落谁家&#xff5e;本期小F就和大家分享一下&#xff0c;用Pytho…

便捷,轻巧的Groovy数据库操作

本文主要介绍Groovy对数据的CRUD操作&#xff0c;熟悉groovy.sql包&#xff0c;测试使用的数据库是H2。1.数据库连接配置//数据库连接配置 def db [url:jdbc:h2:mem:groovy,user:root,password:root,driver:org.h2.Driver ];2.创建数据库连接&#xff0c;这里使用到Groovy的Sq…

Linux查看CPU和内存使用情况详解

在系统维护的过程中&#xff0c;随时可能有需要查看 CPU 使用率&#xff0c;并根据相应信息分析系统状况的需要。在 CentOS 中&#xff0c; 可以通过 top 命令来查看 CPU 使用状况。运行 top 命令后&#xff0c;CPU 使用状态会以全屏的方式显示&#xff0c;并且会处在对话的 模…

Fatal Error: Out of memory php内存溢出处理三种方法

有时候我们在运行php程序的时候会发现 Fatal Error: Out of memory 这样的提示&#xff0c;这有可能是程序中用到了大量了变量和对象&#xff0c;导致分配的内存不够用。 修改php.ini文件里的memory_limit参数 方法一&#xff1a;修改php.ini文件里的memory_limit默认参数128M&…

腾讯联合国家天文台启动探星计划,优图AI可提升120倍数据处理效率

7月9日&#xff0c;2021世界人工智能大会腾讯论坛在上海举办&#xff0c;腾讯云副总裁、腾讯优图实验室总经理吴运声发表了“人工智能的可持续发展之道”主题演讲&#xff0c;宣布全新推出腾讯云TI ONE、TI Matrix、TI DataTruth三大AI底层平台&#xff0c;可以提供包括算法开发…

C++:STL标准入门汇总

学无止境&#xff01;&#xff01;&#xff01; 第一部分&#xff1a;&#xff08;参考百度百科&#xff09; 一、STL简介 STL&#xff08;Standard Template Library&#xff0c;标准模板库)是惠普实验室开发的一系列软件的统称。它是由Alexander Stepanov、Meng Lee和David R…

C#精髓【月儿原创】第三讲 C#泛型有什么好处

说明&#xff1a;准备出一个系列&#xff0c;所谓精髓讲C#语言要点。这个系列没有先后顺序&#xff0c;不过尽量做到精。可能会不断增删整理&#xff0c;本系列最原始出处是csdn博客,谢谢关注。 C#精髓 第三讲 C#泛型有什么好处 作者&#xff1a;清清月儿 主页&#xff1a…

腾讯汤道生:人工智能最大的价值是“服务于人”

7月9日&#xff0c;2021世界人工智能大会腾讯论坛在上海拉开帷幕&#xff0c;腾讯高级执行副总裁、云与智慧产业事业群CEO汤道生开场致辞。汤道生表示&#xff0c;人工智能的最大价值是“服务于人”&#xff0c;让衣食住行实现“以消费者为中心”的智慧化供给&#xff0c;让生产…

[转]在Eclipse中使用JUnit4进行单元测试(中级篇)

我们继续对初级篇中的例子进行分析。初级篇中我们使用Eclipse自动生成了一个测试框架&#xff0c;在这篇文章中&#xff0c;我们来仔细分析一下这个测试框架中的每一个细节&#xff0c;知其然更要知其所以然&#xff0c;才能更加熟练地应用JUnit4。 一、 包含必要地Package…

linux下磁盘镜像软件DRBD的使用

一、 什么是DRBD DRBD的全称为&#xff1a;Distributed Replicated Block Device (DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成&#xff0c;用以构建高可用性的集群。其实现方式是通过网络来镜像整个设备。它允许用户在远程机器上建立一个本地块设备的实时镜像。与…

ASP.NET2.0轻松搞定统计图表【月儿原创】

ASP.NET2.0轻松搞定统计图表 作者&#xff1a;清清月儿 主页&#xff1a;http://blog.csdn.net/21aspnet/ 时间&#xff1a;2007.3.27 本文讲述如何绘制条形图&#xff0c;折线图&#xff0c;柱形图&#xff0c;面积图等常见图形。 效果图&#xff1a; 手把手…

基于 Python 的 8 种常用抽样方法

抽样是统计学、机器学习中非常重要&#xff0c;也是经常用到的方法&#xff0c;因为大多时候使用全量数据是不现实的&#xff0c;或者根本无法取到。所以我们需要抽样&#xff0c;比如在推断性统计中&#xff0c;我们会经常通过采样的样本数据来推断估计总体的样本。上面所说的…

RegularExpressions(4) RegularExpressions 成员(一)

为什么80%的码农都做不了架构师&#xff1f;>>> 主要成员有: IRegex、ICapture、IMatch、IMatchCollection、IGroup、IGroupCollection 先看: ICapture; 常用的 IMatch、IGroup 都是从它继承而来; 作为一个底层接口一般不会被直接使用. 它为 IMatch、IGroup 提供了…

公有云环境下应用程序的自动化部署与水平扩展问题

先介绍了一下公有云计算环境下的一些特点&#xff0c;再根据这些特点探讨一下作为云计算用户而言&#xff0c;如何对应用程序做好自动化部署和水平扩展&#xff08;弹性计算&#xff09;的问题。阅读本文需要有一定的云计算知识、开发运维知识。 公有云环境的优势及其特点 公有…

另辟蹊径创建移动应用:iOS和Android代码共享

2019独角兽企业重金招聘Python工程师标准>>> 过去几年&#xff0c;移动应用席卷了整个世界&#xff0c;在工作和生活的方方面面改变着我们使用互联网的方式。创建移动应用的各种技术也随之兴起&#xff0c;各种开发流程也 将移动应用视为一等公民&#xff0c;开始考…

从0开始,基于Python探究深度学习神经网络

来源 | Data Science from Scratch&#xff0c; Second Edition作者 | Joel Grus全文共6778字&#xff0c;预计阅读时间50分钟。深度学习1. 张量2. 层&#xff08;Layer&#xff09;的抽象3. 线性层4. 神经网络作为一个层的序列5. 损失和优化6. 示例&#xff1a;XOR 重新…

ASP.NET2.0雷霆之怒盗链者的祝福【月儿原创】

ASP.NET2.0雷霆之怒盗链者的祝福 作者&#xff1a;清清月儿 主页&#xff1a;http://blog.csdn.net/21aspnet/ 时间&#xff1a;2007.3.28 所谓盗链就是指其他网站把我们站点的文件链接帖到他们站上&#xff0c;这样白白占用我们的带宽。访问对于网站盗链行为&am…

数通手稿留档——BGP

本文转自Grodd51CTO博客&#xff0c;原文链接&#xff1a;http://blog.51cto.com/juispan/1954062&#xff0c;如需转载请自行联系原作者

ASP.NET2.0打通文件图片处理任督二脉【月儿原创】

ASP.NET2.0打通文件图片处理任督二脉 作者&#xff1a;清清月儿 主页&#xff1a;http://blog.csdn.net/21aspnet/ 时间&#xff1a;2007.4.1 1.最简单的单文件上传(没花头)2.多文件上传3.客户端检查上传文件类型(以上传图片为例)4.服务器端检查上传文件类型(以上…

PaaS变厚了

通过与包括东方通等在内的众多厂商的合作&#xff0c;华云数据的运营型PaaS变得越来越厚实。借助PaaS Plus的推出&#xff0c;华云数据要把云化的工作前移&#xff0c;在产品开发和测试阶段就开始云化&#xff0c;这会让传统企业的云化取得更好的效果。“PaaS是个筐&#xff0c…

国内首个零信任技术标准发布 腾讯安全牵头编制

7月7日&#xff0c;中国电子工业标准化技术协会发布了国内首个零信任技术实现标准——T/CESA 1165-2021《零信任系统技术规范》团体标准&#xff0c;填补了国内零信任领域的技术标准空白。 &#xff08;《零信任系统技术规范》&#xff09; 据悉&#xff0c;该标准由腾讯安全牵…