查看: 12172|回复: 34
收起左侧

[分享] ESET侦测技术之演进

[复制链接]
B100D1E55
发表于 2017-1-19 10:04:13 | 显示全部楼层 |阅读模式
本帖最后由 B100D1E55 于 2017-1-19 23:18 编辑

ESET的核心科技在于扫描和引擎,似乎很难把它和其他包含行为防御的产品联系在一起。当我重新开始用ESET(EAV10)的时候在设置项发现了有意思的东西:

我还在用ESS4的时候并没有这些东西(是的,我上个月刚回到地球)

数年未用ESET一直很想知道近几年ESET到底在哪些方面进步了,不过ESET实在是太安静了,只搜到了一些PR资料分享一下:

高级内存扫描
ESET将高级内存扫描器(Advanced Memory Scanner,后简称AMS)归类在HIPS中,并在主页中标榜其为侦测的核心技术,资料中是这样描述的:
高级内存扫描能有效对抗恶意软件的混淆和加密。目前大部分恶意软件都有用到对抗脱壳或者仿真的手段。例如恶意软件可以隐藏自己的执行路径并可能在运行时才下载有害代码。传统技术很难保证运行前分析能够准确捕捉这些恶意行为。为了对抗这种伪装,高级内存扫描对进程行为进行侦测,并当病毒在内存中“显形”的时候进行扫描以阻挡恶意行为。干净的进程很有可能由于自身安全漏洞或者代码注入而变为恶意进程,由于这些潜在威胁,仅对这些进程进行一次性分析是远不够的。当进程在一个新的内存页调用系统函数(system call)的时候,高级内存扫描就会对这些行为代码进行DNA分析。这种扫描不仅仅局限于监控传统的可执行内存,还可以监控.NET等通过非底层机器码进行混淆的手段(刚好这两天论坛里有人发了.NET的讲解这里不赘述 )。

ESET HIPS示意图(看来极为安静的HIPS组件不是没用的,它担任着通知高级内存扫描器进行分析的角色。我个人不太认同测试ESET的主动防御时关闭AMS的做法。AMS也是主动防御,只不过和那些执行时才行为阻挡的安软不同,它通过执行前的代码侦测直接抑制活跃病毒罢了)
高级内存扫描和漏洞防御模块(Exploit Blocker)是联动的,但是和漏洞防御运行前监控不同,AMS是运行时检测,因此是ESET防御的最终防线

新的启发引擎

ESET不断强调的另一个卖点在于新的启发引擎。据ESET资料描述(2013年左右),ESET新引擎转为使用二进制翻译(Binary Translation)对程序进行运行前侦测。长年以来,ESET为了解决解决高启发扫描的性能问题是通过手写汇编代码和算法优化等方法,而今为了进一步解决这个问题,ESET开始使用二进制翻译和解析的混合侦测引擎。在过去的ESET沙盒中,CPU通过定制的汇编代码来进行模拟(即解析执行),但是由于每一条指令都必须要被单独释义,会出现严重的性能拖累。而今通过二进制翻译,沙盒中的恶意代码可以在CPU上快速原生执行。

其实火绒也在使用这项技术。早年X86指令集被认为无法高效率虚拟化(一般都基于VMM Trap进行一些高权限指令的执行,但因为是解析执行,所以效率非常低)。直到VMWare等企业成功通过二进制翻译这种手段让核心代码也能以近乎原生的速度在宿主机器上执行后,才终于解决了X86仿真效率的问题。现阶段纯粹基于解析的模拟已经非常少,除非是一些特殊场合(例如基于软件的CPU架构仿真)。我以前曾经用过某著名CPU解析仿真器,比实机慢2000倍左右,在上面运行半小时的代码量约等于实机的数百毫秒,这种仿真对恶意软件解析来说可以算是杯水车薪(更何况有的恶意软件正是利用仿真器的速度劣势来对抗,例如运行数千次没有任何意义的循环)。现今大量的游戏主机模拟器,甚至是一些处理器(例如NVIDIA Tegra)也都开始使用动/静态二进制翻译来进行高效率的跨平台模拟。

以下引述自火绒对仿真方法的归纳

其实火绒引擎也在往这个方向发展:


这里没提及的是ESET的漏洞防御。其实当代操作系统漏洞防御机制不少,常见的有EMET(微软家的,但我记得似乎要退休了),DEP(XP的时候就有,但只针对系统文件,毕竟有潜在兼容性问题)。ASLR,canary或者SEHOP也算。杀软更多的是监控通过已知漏洞释放的进程,对于未知漏洞我想应该是无能为力的

顺带一提,ESET很看不起以IOC(Indicators of compromise)为主要手段来进行病毒侦测的杀毒软件。它曾多次在多份文档中抨击过个别厂商利用这种低级特征作为主要侦测手段,同时表示不认同一些厂商认为IOC侦测是防毒软件未来趋势的看法。
什么是IOC?

IOC可以是文件的MD5哈希值,文件名,DNS,或者是PE metadata等信息。但明眼人也能看出这些特征很容易被绕过或者产生误报(当然一些指标的针对性免杀挺少的,例如我在卡饭见过的所有Cerber变种全都有一样的端口访问行为,都能被Snort这种类IOC侦测的机制检测到。 一般商业传播模式就是:如果大部分杀软都侦测出来了,就重新封装、加壳,然后会过一遍私人的“virustotal”确保大部分免杀了再传播……周而复始)我觉得ESET大概就是在吐槽以云拉黑为主业的AV厂商

不管怎么说感觉ESET产品的设计哲学还是挺独特的——一切围绕自己的扫描引擎优势发展,注重广谱侦测,适时引入一些新的防御机制但尽可能不增加用户交互频率……
我认为这样的好处是低误报:从我的使用经历来看,ESET的误报非常之低,而各大测试机构的测试中也印证了这点。我觉得这点极其重要,误报太高跟狼来了没区别,还不如走禁运之路。


八卦:ESET内部人员嘲笑过Virustotal上某些引擎是逢壳必报/乱报,还因此专门写了一篇文章阐述为什么别把VT统计信息作为衡量杀软侦测能力的指标。文中特别点名Finjan拿VT作为自己的宣传噱头
然后……去年的时候Finjan起诉ESET侵犯自己的某项专利(当然F还起诉了其他不少安全公司)

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?快速注册

x

评分

参与人数 2分享 +1 人气 +2 收起 理由
屁颠屁颠 + 1 版区有你更精彩: )
sunnyjianna + 2 精品文章

查看全部评分

fireherman
发表于 2017-1-19 11:28:35 | 显示全部楼层
本帖最后由 fireherman 于 2017-1-19 11:37 编辑



支持翻译贴,支持技术贴……

同时……如果楼主是……STUD,望得到“玉”照一张。

AMS的存在感还是太低,基本上手动扫描(详细扫描)如果被过,AMS也有很大的几率会miss;

和BD的ATC、SEP的SANOR等相比就显得过于单薄和孱弱了。

jefffire
头像被屏蔽
发表于 2017-1-19 13:21:38 | 显示全部楼层
AMS本质是不是就是内存特征码
B100D1E55
 楼主| 发表于 2017-1-19 13:37:29 | 显示全部楼层
fireherman 发表于 2017-1-19 11:28
支持翻译贴,支持技术贴……

同时……如果楼主是……STUD,望得到“玉”照一张。

SONAR我用的时候反正误报高得恐怖,ATC变化太大了无法评价……按照之前的评测无非也就是通过一些敏感行为(删除自身、注入等)拦截,估计带有一点打分
应该来说AMS只是对抗被混淆绕过但实质不变的恶意程序,或者是那种in-memory加载的程序,局限性肯定是有的,但优点自然是不受很多混淆方法的影响,一旦报毒是真毒概率很大,用户介入较少
来卡饭凑热闹的童鞋一枚,并没有玉照
B100D1E55
 楼主| 发表于 2017-1-19 13:40:28 | 显示全部楼层
本帖最后由 B100D1E55 于 2017-1-19 13:43 编辑
jefffire 发表于 2017-1-19 13:21
AMS本质是不是就是内存特征码


我觉得其实应该是的
AMS是ESET8才引入的东西貌似,我在写的时候也很好奇其与那些传统的内存扫描/监控有什么区别,有空我再去找一些资料吧(但是ESET嘴巴比较紧,会上的大多都是恶意程序分析而不是技术介绍,估计入手点是其他厂商的文档)
sunnyjianna
发表于 2017-1-19 13:58:05 | 显示全部楼层
支持原创作品,E区很少有热心人士做这些烦神劳心的译文作品了。
MENGXIUYUAN
发表于 2017-1-19 14:33:35 | 显示全部楼层
ESET高查杀,低误报,可惜清毒有些弱
B100D1E55
 楼主| 发表于 2017-1-19 23:12:47 | 显示全部楼层
jefffire 发表于 2017-1-19 13:21
AMS本质是不是就是内存特征码

从官方描述来看应该是内存启发(我记得早年瑞星内存监控大多是杀字符串特征,所以相对好免杀一点)
ESET bypass mem-scan的视频好多啊,这个似乎有点意思:http://www.rohitab.com/discuss/t ... -memory-scan/page-2
ESET前年批到的一个patent是exploit blocker相关的(专利号是8943592),如果你感兴趣的话

评分

参与人数 1人气 +1 收起 理由
jefffire + 1 感谢提供分享

查看全部评分

fireherman
发表于 2017-1-20 10:59:00 | 显示全部楼层


话说,@蓝核    @屁颠屁颠    这种技术翻译文不是应该上头条咩?



评分

参与人数 1人气 +1 收起 理由
蓝核 + 1 头条跟我没关系~~

查看全部评分

pal家族
发表于 2017-1-20 11:04:11 | 显示全部楼层
fireherman 发表于 2017-1-20 10:59
话说,@蓝核    @屁颠屁颠    这种技术翻译文不是应该上头条咩?

你查一下有没有和root的帖子重一部分内容?
root也翻译了好多当时。
尴尬。。。。不过他的有些帖子沉了
您需要登录后才可以回帖 登录 | 快速注册

本版积分规则

手机版|杀毒软件|软件论坛| 卡饭论坛

Copyright © KaFan  KaFan.cn All Rights Reserved.

Powered by Discuz! X3.4( 沪ICP备2020031077号-2 ) GMT+8, 2024-11-25 05:39 , Processed in 0.150536 second(s), 19 queries .

卡饭网所发布的一切软件、样本、工具、文章等仅限用于学习和研究,不得将上述内容用于商业或者其他非法用途,否则产生的一切后果自负,本站信息来自网络,版权争议问题与本站无关,您必须在下载后的24小时之内从您的电脑中彻底删除上述信息,如有问题请通过邮件与我们联系。

快速回复 客服 返回顶部 返回列表