百度360必应搜狗淘宝本站头条
当前位置:网站首页 > 热门文章 > 正文

跟大家探讨:该如何处理“网友投递病毒样本包”

bigegpt 2024-08-05 11:39 10 浏览

一直以来,火绒时常会收到热心网友“投递”的病毒样本包,也经常被各种“论坛测试”,不管成绩好坏,被肯定还是被质疑,我们都发自内心地感谢大家,对火绒的关注和重视,就是对我们最大的支持。

我们当然重视这些样本包的处理,但是在样本处理优先级、处理和判定策略上,我们有自己的原则和坚持。因为我们发现,有些事情偏离了杀毒本质,不是以帮用户解决问题为目标,而是在忽悠和迎合大家。

我们以近期收到的两个样本包为例,跟大家探讨。这两个样本包来自4月26日和5月1日的卡饭论坛。

一、病毒样本包检测、分析结果

经过检测分析,该批样本情况如下:

1、白样本占据近一半

这两个样本包中,有54%是病毒样本,46%是各类白样本,其中无恶意代码的激活工具和易语言程序共占样本总数的35%,另外11%则是正常软件安装包或组件等。

2、加保护壳被误报严重

两个样本包中还有一部分被强壳保护的PE文件,约占白文件的30%,占样本总量的14%,如下图所示:

3、病毒样本感染量极小

占总量54%的病毒样本,虽然具有恶意行为或病毒代码,但是通过“火绒威胁情报系统”一段时间的追踪,我们发现绝大多数病毒在火绒覆盖的终端上未出现过感染情况,且不存在家族性关联。此类病毒样本虽然存在病毒行为或恶意代码,但是由于地域性等因素导致这些病毒与国内真实环境中、正在感染用户的病毒样本相差甚远——用户基本遇不到。

二、各厂家检测结果分析

事实上,国内外安全厂商的扫描结果呈现两极分化现象:部分厂商对样本的检测结果“理智”,仅对包含恶意代码的样本报毒;另一部分厂商对样本的检测结果很“疯狂”,完全不考虑误杀,这种情况下,“论坛测试”的查杀率上去了,在用户那的“误杀率”也上去了。

容易被“误杀”的几类白文件:

1、易语言

易语言是国内流行的工具类程序中的一种。由于语言不通,国外安全厂商对易语言恶意代码识别困难,经常对易语言报毒,某些国内厂商“复制”国外厂商报毒结果,同样对易语言报毒,这算是“误报扩散传播”。

我们以近期样本包中的一个易语言游戏辅助类动态库(SHA256:2ea1fb98a4ab5fac26ba7a381ba2157d60f659501e6d7bd04dffdafdf599ff30)为例,大部分报毒的国外安全厂商报毒名不具有任何含义,也就是人们常说的“拉黑”特征,但也有国内安全厂商对报毒结果进行了“复制”,甚至病毒名都直接复制(如:FlyStudio)。VirusTotal报毒结果,如下图所示:

2、激活工具

国外安全厂商对于激活工具类程序,通常以报HackTool(黑客工具)或RiskWare(风险软件)处理。某些国内安全厂商同样跟随、“复制”国外厂商的报毒结果,很多不存在恶意代码的此类程序也被国内安全厂商“拉黑”处理。

以本次样本包中的一个激活工具(SHA256:9c9e289a31910d6e718f60ca1516b0dbd0035249d58edde9195255d5fea26dd3)为例,VirusTotal报毒结果,如下图所示:

3、强壳白文件

对于加了强壳的文件,国外安全厂商常常以壳授权信息作为判断是否为病毒的依据,事实上这其实是为了避开正面处理“脱壳”问题而做出的无奈选择。在国外正版化水平较高的环境下,这种做法虽然不够“专业”,但也似乎能被用户接受。

而国内充斥着大量破解后的加壳工具。很多正常程序在加了某一版本的强壳后(盗版壳没有正版授权信息),国内安全厂商直接“复制”国外厂商根据授权信息的查杀规则,这根本行不通;国内绝大部分厂商在缺乏脱壳能力时,直接将带壳文件视为病毒。

以本次样本包中一个被VMProtect保护的工具类软件样本(SHA256:94c526892a3d8e762c01ba0a90c9ebd453691c02d04572772487b86042b2cce8)为例,VirusTotal报毒结果,如下图所示:

三、火绒的病毒样本处理策略

一直以来,火绒的理念是“情报驱动安全”——凭借真实、全面、及时的威胁情报来改进技术和产品。通俗地说就是,搞清楚用户真正会遇到哪些威胁,然后对症下药。

我们通过“火绒威胁情报系统”捕获正在感染和攻击用户的威胁代码,追踪这些威胁的来源,力图迅速有效地解决这些真实的问题……简而言之就是,火绒更重视对“活着的”、“正在传播”的病毒的防御和查杀,而不是盲目对所有病毒样本批量“拉黑”。

面对各种来源的海量样本,到底该如何有效地分析处理,这是所有安全厂商都逃不开的话题。任何厂商的时间、精力都是有限的,分析、处理能力也都是有限的。火绒一直在不断尝试和探索,寻找最好的解决方案。

我们的理念和策略可能有人不同意,处理结果可能被误解,但我们不打算改变。同时我们也坚信,上述的直接拉黑和“复制”绝不是出路,而是死路。

为了提高病毒查杀结果的有效性,火绒团队希望将时间和精力用在真实的,解决威胁范围更广、危害更强的病毒问题上,明确地说,我们会优先处理来自“火绒威胁情报系统”中捕捉到的各种威胁程序。

面对其他来源的病毒样本,我们会在对样本聚合处理的基础上优化病毒样本分析、处理的流程,力争提供更为有效的安全服务。当然,在必要的时候,我们也会引入“云”来提高对威胁的响应速度,以及“机器学习”等技术来优化内部自动化分析流程等。

四、火绒关于“投递样本包”、“论坛评测”的处理策略

火绒一直遵循自己的报毒标准,即仅以是否存在恶意行为或恶意代码为唯一报毒依据。我们认为在病毒查杀上,应该“理智”的报毒,从专业的角度给出正确的查杀结果,而不是一味迎合,“营造”高查杀率的欢乐氛围。

因此,对于广大网友投递的样本包,包括论坛评测等,我们力求做到如下几点:

1、只查杀真病毒

以本次样本包为例,其中存在大量的白样本,我们不会加库查杀,这样只会提高“查杀率”,而给用户带来误杀、降低产品的品质。

2、先分析、后处理

我们不会直接拉黑处理,必须经过认真的分析和认定,才能决定对哪些样本入库。

3、尊重国内环境的特殊性

对白文件、易语言程序等直接粗暴地报毒,就是对用户的伤害,火绒不认可,也不会这么做。

4、误杀率和查杀率一样重要

误杀率对于安全软件来说,是致命的问题。在“论坛测试”中,这只是一个数字,但是在用户那里,就可能意味着电脑运行不正常甚至蓝屏、工作业务被耽搁、游戏被停止……

相关推荐

Go语言泛型-泛型约束与实践(go1.7泛型)

来源:械说在Go语言中,Go泛型-泛型约束与实践部分主要探讨如何定义和使用泛型约束(Constraints),以及如何在实际开发中利用泛型进行更灵活的编程。以下是详细内容:一、什么是泛型约束?**泛型...

golang总结(golang实战教程)

基础部分Go语言有哪些优势?1简单易学:语法简洁,减少了代码的冗余。高效并发:内置强大的goroutine和channel,使并发编程更加高效且易于管理。内存管理:拥有自动垃圾回收机制,减少内...

Go 官宣:新版 Protobuf API(go pro版本)

原文作者:JoeTsai,DamienNeil和HerbieOng原文链接:https://blog.golang.org/a-new-go-api-for-protocol-buffer...

Golang开发的一些注意事项(一)(golang入门项目)

1.channel关闭后读的问题当channel关闭之后再去读取它,虽然不会引发panic,但会直接得到零值,而且ok的值为false。packagemainimport"...

golang 托盘菜单应用及打开系统默认浏览器

之前看到一个应用,用go语言编写,说是某某程序的windows图形化客户端,体验一下发现只是一个托盘,然后托盘菜单的控制面板功能直接打开本地浏览器访问程序启动的webserver网页完成gui相关功...

golang标准库每日一库之 io/ioutil

一、核心函数概览函数作用描述替代方案(Go1.16+)ioutil.ReadFile(filename)一次性读取整个文件内容(返回[]byte)os.ReadFileioutil.WriteFi...

文件类型更改器——GoLang 中的 CLI 工具

我是如何为一项琐碎的工作任务创建一个简单的工具的,你也可以上周我开始玩GoLang,它是一种由Google制作的类C编译语言,非常轻量和快速,事实上它经常在Techempower的基准测...

Go (Golang) 中的 Channels 简介(golang channel长度和容量)

这篇文章重点介绍Channels(通道)在Go中的工作方式,以及如何在代码中使用它们。在Go中,Channels是一种编程结构,它允许我们在代码的不同部分之间移动数据,通常来自不同的goro...

Golang引入泛型:Go将Interface「」替换为“Any”

现在Go将拥有泛型:Go将Interface{}替换为“Any”,这是一个类型别名:typeany=interface{}这会引入了泛型作好准备,实际上,带有泛型的Go1.18Beta...

一文带你看懂Golang最新特性(golang2.0特性)

作者:腾讯PCG代码委员会经过十余年的迭代,Go语言逐渐成为云计算时代主流的编程语言。下到云计算基础设施,上到微服务,越来越多的流行产品使用Go语言编写。可见其影响力已经非常强大。一、Go语言发展历史...

Go 每日一库之 java 转 go 遇到 Apollo?让 agollo 来平滑迁移

以下文章来源于GoOfficialBlog,作者GoOfficialBlogIntroductionagollo是Apollo的Golang客户端Apollo(阿波罗)是携程框架部门研...

Golang使用grpc详解(golang gcc)

gRPC是Google开源的一种高性能、跨语言的远程过程调用(RPC)框架,它使用ProtocolBuffers作为序列化工具,支持多种编程语言,如C++,Java,Python,Go等。gR...

Etcd服务注册与发现封装实现--golang

服务注册register.gopackageregisterimport("fmt""time"etcd3"github.com/cor...

Golang:将日志以Json格式输出到Kafka

在上一篇文章中我实现了一个支持Debug、Info、Error等多个级别的日志库,并将日志写到了磁盘文件中,代码比较简单,适合练手。有兴趣的可以通过这个链接前往:https://github.com/...

如何从 PHP 过渡到 Golang?(php转golang)

我是PHP开发者,转Go两个月了吧,记录一下使用Golang怎么一步步开发新项目。本着有坑填坑,有错改错的宗旨,从零开始,开始学习。因为我司没有专门的Golang大牛,所以我也只能一步步自己去...