4种恶意软件反查杀高级技术 反病毒软件和APT解决方案都在为此头疼

在8月末,安全加报道了 恶意软件每天至少30万个变种,这些恶意软件的作者通常使用4种恶意软件反查杀技术 ,对抗各种检测扫描,今天我们接续来说更高级的 混淆技术 以及可用于检测回避式 恶意软件 的新方法和技术。

对抗反汇编和调试工具(防护程序)

恶意软件作者对恶意软件研究员的工作了如指掌且了解他们采用哪些工具定位威胁。例如,研究员和程序员经常采用反汇编程序和调试工具检测代码行为。多种工具和技术均可检测反汇编程序和调试工具,如Windows内置功能。很多此类技术旨在对攻击者进行防御,因为攻击者可能会利用这些工具入侵处于防护状态的软件。然而,恶意软件作者也可利用这些技术检测恶意软件分析师的计算机上是否运行这些工具。若恶意软件发现这些工具,则停止运行或改变行为,变得更为隐蔽,使分析师更难以发现。

Rootkit

总的说来,rootkit是一组可使恶意软件入侵操作系统,而不让系统察觉到它的存在的工具或技术。计算机处理器具备数个执行权限级别(ring 0–3),攻击者可基于这些权限级别入侵在更高级别运行的程序。例如,诸如Windows和Linux等操作系统提供用户空间和内核空间。对于*执行来说,您仅需知道内核空间(ring 0)比用户空间(ring 3)权限高。若您需某个程序列举目录中的文件,可调用用户空间函数或内核函数。

若恶意程序可获取内核权限,即可“欺骗”用户空间中运行的程序。因此,若您安装有通过调用用户空间函数扫描文件系统的程序,当该程序解析文件时,内核rootkit可对该程序进行欺骗。若用户空间函数发现了恶意文件,rootkit会说:“这些文件并不是您要查找的”。更具体地说,该函数会放过这些文件,而不会将其作为搜索结果返回给用户空间程序。更糟糕的是,虚拟化为rootkit的骗术又蒙上了一层面纱,这是因为虚拟机管理程序在内核下面运行。

总之,恶意软件有时会利用rootkit功能隐藏其文件、连接或其他痕迹不被操作系统发现,从而绕过本地杀毒软件。大多数杀毒软件都会提供自己的内核模式驱动程序和防护措施,避免常见的rootkit骗局。

代码、进程和DLL注入

进程或动态链接库(DLL)注入代表利用某种程序在另一进程上下文中运行代码的各种技术。恶意软件作者经常利用这些技术让其恶意代码通过必要的Windows进程运行。例如,他们可能会注入explorer.exe、svchost.exe、notepad.exe或其他合法的Windows可执行文件。利用Windows进程,恶意软件更难被杀毒软件发现和杀死。恶意软件还可与已知网络功能的流程挂钩,掩盖恶意流量。随着时间的推移,微软修补了很多犯罪分子使用过的进程或代码注入技术,但研究人员和攻击者不断发现新技术,如最近发现的AtomBombing。

恶意软件可利用几项技术来逃避杀毒软件检测,包括绑定(依附于合法程序)和定时攻击(休眠,避免自动分析)等。

攻与防 沙箱与沙箱逃逸技术

杀毒软件如何检测或战胜这些逃避技术? 不幸的是,没有简单的答案,拉锯战还将继续。然而,杀毒武器库里有一个很好的武器,即 恶意软件行为检测 

我强调的很多逃避技术要么更改恶意代码,避免基于特征的检测和静态分析,要么执行明显的恶意行为。虽然恶意软件能够改变外观,它不能改变自己的行为,至少它的目的是感染计算机、创建后门或加密文件。因此,很多先进的检测解决方案都创建了可根据行为识别恶意软件的系统。

一般而言,这些解决方案会创建“沙盒”。这些沙箱像受害者计算机一样,安装所有常见软件。当系统收到新的可疑文件,就会在沙箱环境中执行这些文件,以查看这些文件的作用。通过监控数百种已知的恶意软件行为,包括已知的逃避技术,这些解决方案可以准确、主动地判断可执行文件是否恶意。行为分析(由机器学习进一步驱动)很可能是恶意软件防护的未来。

沙箱技术

这方面,《 勒索软件攻击的第一步就是钓鱼邮件 从概念到防御思路 这里面都有了 》文章称,沙箱技术是Gartner提出阻断邮件威胁的高级技术和方法

该方法利用一个操作系统或浏览器实例,发起建立一个虚拟的执行容器(或者称为一个沙箱),使恶意软件和恶意链接在其中执行,就像在真实的用户环境一样。这种方式可以有效的邮件正文中的恶意链接以及邮件附件中的含有未知恶意代码的文档(如office文档、PDF、可执行文件、脚本文件等)进行检测。通过这种方式,安全产品和技术人员可以对整个攻击生命周期进行观察,从最初的漏洞利用,随后与命令控制服务器的通信,下载进一步的恶意可执行文件以及随后的网络回调。这种检测技术因为可以检测漏洞利用阶段的恶意软件行为,因此避免了其它只检测后期阶段活动产品的漏报(这个阶段是可以采用加密等一系列方式进行逃避)。并且因为监测是基于一个高度近似真实用户环境的恶意软件的真实活动的,因此误报率极低。良好的漏报率和误报率指标是这种基于虚拟执行环境或者沙箱的检测技术成为邮件安全中应对高级可持续威胁监测的最新和最重要的技术手段。

4种恶意软件反查杀高级技术 反病毒软件和APT解决方案都在为此头疼

沙箱逃逸技术

尽管如此,犯罪分子了解沙箱,最新的逃避技术都是专门针对沙箱的。这些技术包括沙箱系统指纹(CPU定时检查中使用很多技术了解注册表项)、延迟或定时执行,甚至人为干预检测( 检查是否有人移动鼠标,确认机器是否被用过或是否自动化 )。若恶意软件检测到沙箱使用了这些技术,就不会运行,以逃避分析。

此外,地下恶意软件销售商已创建了保护器,可检测一些沙箱,但一些高级检测解决方案已将此因素考虑在内。一些解决方案可能不使用现成的虚拟化环境,而是使用完整的系统代码仿真并创建沙箱环境,从而了解恶意程序发送到物理CPU或内存的每一条指令。通过这种真正的可见性,更高级的恶意软件解决方案能够检测和避免恶意软件沙箱更复杂的逃避技术。

绿盟威胁分析系统TAC

这个产品所使用的检测技术是这样的

  • 检测原理:

    • 将恶意样本或恶意样本部分片段,置于虚拟环境中进行执行,然后记录样本的运行行为,通过运行行为来判断样本是否为恶意
    • 传统的签名类设备,是基于特征串进行匹配(即抽取样本中的某些二进制字符序列来识别该样本)。这种基于特征串的匹配方式只能匹配已知的恶意样本,且很容易被各种加壳给轻易绕过,对于新出现的恶意样本则完全没有办法,需要不断地更新签名库来适应新的恶意样本出现。
    • 虚拟执行技术是基于行为判断的,攻击行为的类型则变化要缓慢的多。不管新样本如何变化或加壳,运行之后最终都是要执行恶意行为(如执行shellcode、回连CnC等),这些行为一般情况下是没办法隐藏的。
  • 虚拟执行分类

    • 根据虚拟环境的不同,又可以分为轻量级虚拟执行和系统级虚拟执行。
    • 轻量级虚拟执行主要是实现指令片段的模拟执行,根据指令序列的逻辑行为来判断恶意样本。
    • 系统级虚拟执行则完整模拟整个操作系统和应用程序环境,最大限度模拟真实环境,然后判断样本的运行行为。
      • 系统级虚拟执行目前有传统的基于监控的虚拟执行和基于动态翻译的虚拟执行,基于监控的虚拟执行只能做到级别的行为,一般传统的沙盒使用此技术。
      • 而基于动态翻译的虚拟执行可以监控到指令级别,可以识别更多的恶意行为和虚拟执行逃逸行为,目前TAC采用了此技术。
  • 虚拟执行逃避技术:

    • 当然,目前也出现了针对虚拟执行技术的逃避技术,这些逃避技术可以逃离部分虚拟执行引擎的检测。
    • 目前绿盟科技有针对这些逃避技术的检测技术,用来专门检测逃避虚拟执行的恶意样本。

更多相关描述,可以参考这篇文章《 Fareit木马分析与防护 

恶意软件拉锯战永无止境,加强防护的第一步就是继续学习威胁源起方使用的最新技术。希望这两篇文章有助于您了解网络罪犯分子使用的企图让恶意软件绕过传统杀毒解决方案的技术,以及行为分析已经成为现代安全关键组成部分的原因。



原文发布时间:2017年9月4日

本文由:darkreading 发布,版权归属于原作者

原文链接:http://toutiao.secjia.com/malware-4anti-killing-technology2

本文来自云栖社区合作伙伴安全加,了解相关信息可以关注安全加网站

上一篇:云原生数据湖解决方案打破数据孤岛,大数据驱动互娱行业发展


下一篇:A.4-继承,方法重写(覆盖)(override),虚函数(virtaul)和多态,抽象方法和抽象类abstract,密封类(sealed)和密封方法,常量的定义(const)