本帖最后由 freeyang 于 2021-2-10 18:40 编辑
看到论坛里很多随意求助推荐杀软的,我觉得这种问题很难回答,毕竟我觉得一个杀软好不好完全取决于个人使用习惯,使用环境,所在地区等等,所以最好的回答其实是给需要的人普及一些关于杀毒的基本常识。正好过年了也有了一点时间,就自己开帖写一个介绍我所知道的目前杀软的各个主要配方,其中也会谈及一些杀软品牌相关的看法,希望可以帮到需要的人吧。
另外开了一个投票,大家可以选出自己选择杀软时最看重的两个技术组件,纯粹满足一下我的好奇心lol
ps:各位技术厉害的坛友有什么建议尽情留言区畅言,我只要有空会根据大家的建议更新帖子。
1. 查杀引擎 (基于签名的侦测)
杀软最核心的组件,自然就是查杀引擎。听起来名字很厉害,其实这个引擎的作用就是把你电脑里的文件拿过来和杀软公司的病毒库所提供的已知的病毒签名进行比对。如果杀毒引擎认为你电脑里的这个文件或者这个文件包含的某一段代码和杀软公司病毒库里的某个病毒的信息高度相似,这个相似度达到了一定的阈值,它就会判定你的这个文件是病毒。这个时候你的杀软就会发出杀猪声(远古时期的卡巴),或者弹出让人怕怕的窗口跟你说有毒,让你处理。
目前,大部分主流杀软的设计上都会对用户做完全小白假设。即杀软在设计上即认定用户是一无所知的,不能仰仗用户来对于病毒做任何处理。因而现在的杀毒引擎已经很少让用户去选择如何处理引擎认定是病毒的文件了。而是引擎会自己根据文件的类型,同时和其他的防御组件联动(比如请求查询云库)来自己判定文件的威胁程度从而自动选择是删除文件,清除病毒尽可能保留非感染文件(无害化处理),还是隔离。一个优秀的引擎一定是一个不会经常弹窗烦你,并让你选择的杀软,而不是整天告诉你它又发现了这个,又要你做那个,让你边忙边受惊吓的。
目前公认的优秀且成熟的杀毒引擎包括了:Bitdefender,卡巴斯基,诺顿,迈克菲,趋势,小红伞,ESET 和 AVAST/AVG。这几家公司的产品都是使用了自己独立开发的查杀引擎,并且效果基本是得到了大众的认可。其中Bitdefender和小红伞的引擎也被其他很多知名杀软采用,包括了曾经的大数字家360杀毒。国内方面360的鲲鹏引擎表现优异,但是效果还需实践检验。火绒的引擎被很多其他厂家放到了自己的产品里,看来也是技术比较成熟了,虽然卡饭样本区表现不怎么样。
2. 文件和联网监控技术 (基于签名的侦测)
其实在杀软初出茅庐90年代,杀软宝宝们就只有一个杀毒引擎+病毒库。也就是他们只能在你觉得电脑好像有毛病啊的时候,点开,运行扫描,然后有毒的话就干掉。但是后来随着病毒有点多,破坏性越来越厉害,大家也开始上网啊插U盘啊搞盗版啊这些,光杀毒就不行了, 于是就诞生了实时防御技术。我记得最先引入病毒监控的是原来赛门铁克家的Norton(现在Norton已长大和Symantec分家,并且还自己收购了小红伞,这孩子厉害了。。。)。
实时防御技术一开始其实就是个杀毒引擎定期扫描器,程序设定好了时间没啥事就扫扫你电脑的系统文件和内存啥的。现在的实时防御技术一般都是采用了边界防御的理念,即你的小杀软没啥事不会扫描你的文件和内存啥的。它只会在你安装好后默默的把自己放到内存里,之后你电脑里发生的一切改变(你下载了个文件,或者你打开了某个联网的端口)都要经过杀毒引擎的核验,安全便放行。边界防御最基础最基础也会监控你电脑的文件变动和网络传输。所以我在这里直接称它为文件和联网监控。
优秀的实时监控技术会尽量做到让用户无感,而不是占用多小的内存。请大家一定要注意这一点。合理的占用内存会防止杀软干啥事都要先从硬盘把东西读到内存,这是一个很慢的过程, 也就是很多用户所感觉到的卡机。而CPU读取内存数据是非常快的,这也就是为什么内存为什么贵,因为他的存储颗粒保证了CPU读取文件的速度,但是贵所以做不大。好的杀软监控技术懂得既不把内存占的满满,又尽可能把需要被CPU使用的文件载入内存,增加工作效率,做到其存在尽可能不被用户感知。
目前大部分主流杀软都在资源调配这里做的很好,就不单独谈品牌了。
3. 云侦测 (Cloud Detection)
十年前云侦测还是杀软的辅助技术,而今天的趋势给我的感觉就是云侦测,结合机器学习算法,正在逐渐取代以杀毒引擎+病毒库为主的基于签名的侦测技术。现在也确实出现了许多纯云的杀软,Panda Dome就是纯云杀的代表,趋势科技也推出过类似的产品。
所谓云侦测,其实简而言之就是把杀毒引擎和病毒库都放到了服务器端,而用户安装在本地电脑上的杀毒软件不再负责将用户文件和本地的病毒特征码进行比对,而是把客户的电脑通过网络连接到远程杀软公司的服务器(云端)。用户的文件会由架构在云端服务器的一个包含了传统引擎,机器学习算法,和启发式算法的强大无比但是所需资源远超过任何一个客户计算机的超级杀毒引擎来和存在云端的一个秒级更新的超巨型病毒库进行比对。随后那个很厉害的云端的病毒引擎会通过网络告诉安装在客户计算机上的那个没什么卵用的杀软客户端它判断的客户文件是否是病毒。如果是的话,云端还会告诉本地的客户端这个病毒的威胁程度,从而指导本地客户端对于病毒的进一步处理(删除,清除或隔离)。云侦测+机器学习是公认的未来杀软的发展方向和技术投入重点,几乎没有争议。淡化本地侦测而主要依赖云端病毒库和那个超级引擎的杀软有时会被叫做下一代杀软(Next-Generation Antivirus or NGAV)
目前大部分主流杀软都严重依赖云杀,断网查杀率基本都惨不忍睹。大家电脑自带的Microsoft Defender就是基本依赖云侦测的下一代杀毒软件。国内基本绝种的Panda Dome是一款优秀的纯云杀。国内已经卖身卖头发卖牙齿养孩子的趋势科技是云侦测技术结合机器学习的行业先驱和领军人物。国内方面360在云查杀方面无论是云库的规模还是云引擎的技术都是无可撼动的老大。瑞星金山也都很依赖云,从样本区的测试就看得出来。火绒我不太清楚,大家可以补充。
4. 行为防御技术 (Behavioral Detection / Advanced Threat Protection)
相比云侦测,行为防御技术是更为成熟的有别于特征码侦测的病毒防御机制,也是基本是个杀软都有的防御组件。行为防御简而言之就是通过病毒的行为特征来判别其是否为病毒并进行处理。坊间和坛子里通常称行为防御为主防,但请区分这个主防和最后会介绍的主机入侵防御系统的区别。主防判断一个文件是不是病毒的方法也简单粗暴:提取计算机病毒的共性特征,如修改注册表、自我复制、不断连接网络等,综合这些病毒行为特征来判断其是否为病毒。
在很多技术文献里,漏洞防护(Exploit Protection)被作为主动防御技术的一个组件,但是有些厂商则会将漏洞防护作为一项单独的防御组件。漏洞防护说白了就是它会通过阻断病毒的某些特定行为,封禁计算机的某些特定端口等方式起到防止恶意软件利用计算机软件的某些还未被修补的漏洞的作用。
主防和漏洞防护这几年都被炒的非常热,技术规范和命名方面都很混乱,所以很多小白们也就只能被杀毒厂商吹得天花乱坠的宣传弄得瞎忽悠。大数字说他家的大卫士有“36层安全壁垒,打造坚实防御体系”,小狮子家说他家的大狮子能在“未知病毒和未知程序方面,通过行为判断技术识别大部分未被截获的未知病毒和变种。另一方面,通过对漏洞攻击行为进行监测,这样可防止病毒利用系统漏洞对其它计算机进行攻击,从而阻止病毒的爆发。”市面上的宣传还有啥盾甲啦,金钢甲啦啥的,其实都是说它们的杀毒产品应用了主动防御技术。
大家选购一定要注意到越是成熟的技术,越能体现不同厂商的技术实力。目前公认的成熟且广受市场认可的主动防御技术包括了Norton和它的前爸爸Symantec家的SONAR,卡巴斯基的行为侦测,Mcafee家的月神,Bitdefender的ATP,F-Secure家的Deep Guard和趋势科技家的不知道啥名的主防。国内方面大数字不管他吹的多恶心,无奈它的主防的确是最成熟的,在样本区表现也还不错,有兴趣的朋友可以搜索来看。
用Microsoft Defender的宝宝们注意MD是有一个简单主防的,名字叫Attack Surface Reduction(ASR),需要调用组策略打开,或者网上搜索“ConfigureDefender”,下载来用,可以帮你很方便的设置MD的一些高级设置,其中也包括ASR设置选项。
5. 启发式技术 (Heuristic)
启发式杀毒,和云杀,主防一起代表了未来杀软发展的方向,也是近年来热炒的概念。启发式杀毒和主防有许多相似之处, 但的确是两个不同的东西。虽然启发也是一种基于行为的决策, 但是启发式技术更倾向于反编译病毒向计算机发出的指令,并依照杀软厂商对于正常软件会发出的指令集的了解,来判断这一串指令是不是心怀鬼胎。
病毒和良家文件是肯定不一样的:良家文件执行起来一般先检查命令行输入有无参数项、清屏和保存原来屏幕显示啊啥的啥的,而病毒一启动,直接写盘操作、解码指令,搜索可执行文件一通骚操作。一个人畜无害的码农一眼就看得出来病毒那些骚操作。启发式技术呢,实际上就是把深山里码农的智慧尽可能的移植到病毒查杀引擎里(可以是云引擎或者本地引擎)。
目前是个杀软都说自己老启发了, 啥玩意儿都能启发出来。实际上,由于启发式技术是一个厂商里码农对于病毒的判断技术的直接移植,这就导致启发式技术厉害与否很大很大程度取决于这个厂商人才的技术水平。目前应用启发式技术极具代表性的厂商当属ESET。这家公司曾经在没有云杀和主防的年代,硬是靠着自家过硬的启发式技术把生意做遍了全球,也很受卡饭坛友的喜欢。Avira是另一家能够拿出高度成熟的启发式方案的杀软厂商。不过今天由于启发式技术和机器学习、云杀的深度结合导致这两家优势在一线厂商中不再明显。国内数字家QVM引擎是非常优秀的启发式引擎,就是好像日常抽风误报。其他各家不太了解, 欢迎补充。
6. 主机入侵防护/防火墙联动 (Host Intrusion Prenvention System or HIPS)(小白选杀软的话请跳过这一节)
这俩货严格来说其实算是网络防护技术,不能算杀毒技术,但由于现在很多家用杀软也都包括了这两个组件,就在这里放在一起谈一下。
很多的病毒都不是以单文件形式存在的,而是在健康的程序中植入有害代码伺机运行,以求能过逃过普通反病毒引擎的侦测。主机入侵预防系统(HIPS)会常驻在我们计算机的内存里,监视正常程序的运行。这些程序每次向操作系统发出请求指令,改写系统文件,创建对外连接时,HIPS都会进行审查,发现危险动作的时候进行阻止。
请大家区分HIPS并不是很多坛友所说的杀软主防(行为侦测),HIPS工作在网络OSI七个层级的第四层(Transport Layer)和第五层(Session Layer) 之间,主要是监视网络数据,查找它所认识的攻击代码特征,过滤有害数据流,丢弃有害数据包,并进行记载。此外,较为复杂的HIPS会结合分析第四第五层之间的异常情况,来辅助识别入侵和攻击。比如,用户或程序违反安全规则、数据包在不应该出现的时段出现、程序漏洞被利用等等。坛友们常说的主防即行为侦测则是一种病毒查杀技术,主要工作在用户的本地计算机上,并依赖已知病毒的特征和行为进行判断。HIPS虽然也考虑已知病毒特征,但是它最主要还是在网络层面工作。
一些厂商推出的安全套装会让自家的杀毒引擎,防火墙和HIPS联动,比如说你电脑上的防火墙在判断是否需要放行某个程序时会先请求杀软的云数据库获得这个程序的信誉值,根据这个信誉值来决定是否放行这个程序的数据包。另外,主机入侵防护系统和防火墙也可以实现联合,这些的技术说起来就比较复杂了,楼主自己也不是太清楚,就不在这贻笑大方了。
HIPS属于一种先进网络防护技术,我个人的感觉是一般家用产品并不必要,但很多坛友装的企业版杀软客户端(Endpoint Protection Client)都会包含这个组件。长期以来,Mcafee和趋势科技在HIPS技术领域一直具有领导地位,Mcafee的NSP和趋势科技的TippingPoint都是制定业界标准的产品。近年来,思科和Palo Alto也是这个领域炙手可热的新星。国内的HIPS技术好像是起步比较晚,应该还有很长的路要走。另外国内各大杀软的个人版据我所知是一概不带防火墙和HIPS的,所以如果是小白选杀软的话,也就无关紧要了。
7. 机器学习 (Machine learning or ML) (偏讨论,小白选杀软亦可跳过)
最后说说机器学习吧,因为自己在学习数据科学,所以这个算是我比较懂的方面了。机器学习是目前杀软界(大概远不止杀软界吧)大热的话题。大部分非统计/计算机科学背景的人一听到某某杀软用了机器学习,那就觉得好厉害好厉害,这玩意儿,能机器学习,立刻脑子里蹦跶出机械公敌,人工智能等各种科幻电影画面。
其实机器学习真的没有什么神奇的地方,它就是用我们大家大学时候学过的很多统计模型做预测(大学的统计课教的东西则是统计的另一个应用分支-统计推断)。我一般不喜欢叫机器学习这个名字,都会叫他统计预测,总觉得叫机学是有意在神秘化这个东西。最简单的机器学习模型其实就是回归模型。对,就是你大学课上睡到奶奶家的时候老师正在讲的线性回归,GLM这些东西。当然,现在大家都用一些比较高级的算法,不过相信我,相比回归模型这些高级算法所做的就是用巨量的计算资源换取极不对称的预测精度的一点提高。
目前很多杀软应用了机学领域最为前沿且较为成熟的一个技术分支-深度学习(deep learning)。深度学习的技术内容比较复杂就不说了。重点就是我认为深度学习结合非监督学习(unsupervised learning)再结合云计算强大的计算性能和巨大的病毒样本和反应速度,现在的杀软能够做到在很少人工干预的情况下准确地识别大量的已知病毒和变种。这也给了很多非传统杀软厂商利用自己的推广,云服务规模等优势快速赶超甚至干掉老牌杀软厂商的机会,这也是我觉得为什么这几年老牌杀软厂商这么难过的原因。毕竟你过去积累的病毒判断经验和病毒库数量这些,在微软这样的可以建立海量云库,同时云计算能力极强的非传统安全公司面前很难建立起什么优势。
但是从前几年各种应用了机学+云计算的大厂在面对勒索病毒束手无策也不难看出,不管是机学,还是云计算,都只是技术而已,没必要看的神乎其神。杀软即使采用机器学习技术,也不过是把传统的引擎识别病毒(前述)训练成了一个统计模型。目前看来,再历害的算法,模型训练集里只要没有出现过一种全新病毒,那这个杀软哪怕是有算法加持,也还是识别不了这种全新病毒,前几年的wannacry干倒一群杀软就是这个道理。
目前各大主流杀软都有自己的机器学习模型,360安全大脑就是神经网络算法+云计算的一个典型技术案例。Microsoft Defender 19年上架了Monotonic Model 机学系统,卡巴诺顿咖啡ESET等大厂都普遍采用了神经网络+云计算的这种技术搭配,这也是未来的方向,就不再赘述。
(本帖所有内容为我个人原创,转载还请说明出处)
|