四种恶意软件常用的逃避技术

简介:

恶意软件逃避技术总是在不断演变,上个月的RSA大会上安全公司Lastline的联合创始人讲述了逃避技术发展的图景。这篇名为“逃避型恶意软件的揭露和解构”的报告,进进一步验证了一个观点:“杀毒软件没死,只是跟不上时代”。

四种恶意软件常用的逃避技术

报告指出,在2014年,只有一小部分恶意软件显示出了逃避的特性,但到了现在,相当大的一部分恶意软件会利用500种逃避技术进行任意组合,以避免被检测和分析。

Lastline指出,单个的恶意软件样本通常只具有10种逃避行为。不过研究表明,其中的四种是最常见的:环境意识、自动化迷惑工具、基于时序的逃避、混淆内部数据。

环境意识

环境意识让恶意软件样本能够检测它本身试图感染的系统的运行环境。这种逃避行为使得恶意软件能够检测到虚拟机和实体机之间的差异,以及操作系统的构件。举例而言,根据Lastline今年早些时候发布的一份研究报告,Carbanak恶意软件中大约五分之一(17%)的样本在执行前试图检测虚拟沙盒环境。

自动化迷惑工具

它使得恶意软件避免被基于特征检测的技术发现,比如杀毒软件。银行业恶意软件Dyre(Dyreza)是这方面很合适的例子。根据Talos集团两位安全研究人员的报告,Dyre的老版本中硬编码了在和幕后服务器通信时自身使用的URL。不过,为了越过恶意软件黑名单,Dyre的编写者开始每天修改幕后服务器的域名。为了适应不断变化的域名,Dyre的新版本中部署了域名生成算法(Domain Generation Algorithm,DGA),这种算法会在任何给定的时刻计算出幕后服务器的域名位置。各机构以前可以封锁与恶意软件有关的流量,但这种修改给封锁行动制造了麻烦。

基于时序的逃避

这是第三种最普遍的逃避技术。通过这种方法,恶意软件可以在特定时间,或用户采取特定行为时启动。其具体使用有如下几种情景:在最初感染后弹出一个窗口,等待用户点击;仅在系统重启后启动;仅在特定的日期前后启动。恶意软件Balck POS是如今市面上最流行的POS恶意软件种类,它的一些样本,特别是新的变种具备某种程度的基于时序的逃避技术。它会查看被感染机器的系统时间,并和其本身硬编码的时间进行比对。该功能可以使Black POS只在特定的时间段运行,而在其它时间休眠。

混淆内部数据

这种逃避技术最常见。使用这种技术的恶意软件可能会采取一系列方式,让代码规避分析系统的检测。ROM是Backoff POS恶意软件的新变种,它深谙此道。比如,ROM会将API名称替换为Hash过的数值,使用一个Hash表来逃过解析过程的某几个特定步骤,并使用443端口和幕后服务器进行通信,这会有效地加密网络流量。这三种修改使得系统很难有效地识别出ROM的恶意性。

需要特别注意的是,Lastline分析的恶意软件往往会将这四种行为混合使用。具体来讲,Carbanak软件中95%的样本都会通过代码注入和将.exe文件伪装成系统文件来隐藏自身的网络活动,混淆内部数据。与此同时,Backoff的加密行为会通过自动化工具妨碍检测;Dyre会分析其运行环境,以确定接下来做什么,如果它是从Windows目录下执行的话,其可能行为包括作为”googleupdate”服务进行安装。

显然,通过使用逃避技术,今天的恶意软件正变得更加复杂。但对于信息安全社区而言还有希望。上个秋天,波士顿东北大学的一位教授在为IBM安全情报中心撰文时表示,安全研究者们正开始针对逃避行为使用特征分析系统,以检测恶意软件。

除了将逃避技术作为恶意软件的信号之外,安全人员也可以对抗逃避行为。这位教授在2013年的RSA大会上演讲时提到,人们需要理解并对抗逃避型恶意软件。恶意软件经常会寻找触发局(Triggers),安全人员可以将它们随机化来检测恶意软件的环境分析行为。安全人员也可以通过为代码执行设置自动侧写来防止基于时序的逃避行为。

类似和更多的解决方案告诉我们不要在与逃避技术的斗争中放弃。恶意软件可能会越来越成熟,因为它们增加了反检测措施,但每天,安全社区都会发现新的方法,使用与恶意软件相同的逃避策略来对抗它们,以其人之道还其人之身。


作者:Venvoo


来源:51CTO

相关文章
|
搜索推荐 前端开发 Java
在docker上编译openjdk8
在docker容器中编译openjdk源码,构建新的jdk
855 0
在docker上编译openjdk8
|
存储 Unix Shell
【Shell 命令集合 系统管理 】⭐⭐Linux 显示系统的基本信息 uname命令 使用指南
【Shell 命令集合 系统管理 】⭐⭐Linux 显示系统的基本信息 uname命令 使用指南
380 1
|
4月前
|
弹性计算 小程序 容灾
2025购买阿里云服务器配置选择方法:企业+个人+学生攻略
2025年阿里云服务器购买省钱攻略,涵盖个人、中小企业及高性能配置推荐。个人用户优选38元轻量或99元ECS,企业用户选199元2核4G服务器,游戏用户适合4核16G或8核32G配置,详情请参考最新活动及攻略。
982 11
|
7月前
|
监控 网络协议 视频直播
UDP协议(特点与应用场景)
UDP(用户数据报协议)是传输层的一种无连接协议,具有简单高效、低延迟的特点。其主要特点包括:无连接(无需握手)、不可靠传输(不保证数据完整性)、面向数据报(独立传输)。尽管UDP不如TCP可靠,但在实时通信(如语音通话、视频会议)、在线游戏、多媒体流媒体(如直播、点播)及网络监控等领域广泛应用,满足了对速度和实时性要求较高的需求。
1154 19
|
6月前
|
API 开发工具 开发者
HarmonyOS NEXT实战:拨打电话
本课程介绍如何在HarmonyOS SDK中使用Telephony Kit实现拨打电话功能。通过CallPhoneDemoPage示例,讲解如何输入电话号码并调用makeCall接口拨号,涉及call模块的使用及设备通话能力检测。
7861 0
|
Web App开发 安全 CDN
WebRTC溯源的几个实战利用场景
WebRTC溯源的几个实战利用场景
564 0
|
机器学习/深度学习 Python
音频去噪:使用Python和FFT增强音质
声音去噪目标是改善聆听体验以及音频分析和处理的准确性。过滤掉噪音对于高保真音频来说非常重要,不仅是为了聆听,也是为了创建某些机器学习任务的数据集。
482 0
音频去噪:使用Python和FFT增强音质
|
算法 安全 定位技术
地图一共有多少个坐标系?有什么区别?如何选择?
地图一共有多少个坐标系?有什么区别?如何选择?
1840 11
E0144 “const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
E0144 “const char *“ 类型的值不能用于初始化 “char *“ 类型的实体
358 0
|
安全 Unix Linux
服务器怎么连接?服务器远程连接图文教程
服务器操作系统可以实现对计算机硬件与软件的直接控制和管理协调,任何计算机的运行离不开操作系统,服务器也一样,服务器操作系统主要分为四大流派:Windows Server、Netware、Unix和Linux。 今天飞飞就给你们分享下常用的Windows、Linux、Unix三种系统的远程连接图文操作方法
5098 0
服务器怎么连接?服务器远程连接图文教程