Linux下恶意文件大规模共性分析探讨

AlexFrankly 2017-12-22 教学频道 0 0

有别于金融、政府环境使用windows及其配套设施,国内互联网公司基础设施独钟情于linux系统,互联网公司遭遇的信息安全事件,如数据泄露,黑客入侵,竞争对手行为等,均有linux恶意文件的身影作祟。Linux恶意文件在分析处置过程中,与其他环境恶意文件分析思路大体相同,但仍有其一些特有的特点困扰着linux管理员。本文利用情报数据+自动化分析结合手段,为安全人员贡献大范围linux恶意文件的通用的,相似的行为特征,了解背后黑产的模式,为净化网络环境贡献自己的一分力量。

Linux下恶意文件大规模共性分析探讨

根据国家信息中心信息与网络安全部发布了《2017年上半年中国网络安全报告》,报告显示2017年1至6月已截获Linux病毒样本总量42万个,远远超过了2013年、2014年和2015年的总和,虽然数量远差windows平台,一旦安装linux的服务器遭受勒索或被远控成为肉鸡,预计造成的影响和经济损失将会非常惨重。病毒文件的相似性分析检测手段由来已久,能帮助从已知的病毒推断检测新型的,变种的病毒,但由于Linux环境中的传播感染途径更为曲折(系统定制化程度更高,个体差异更大),黑产对恶意代码可能针对性加入加壳、加花、虚拟机保护、反调试等手段逃避检测,恶意代码片段本身的相似性分析受到很多因素干扰,Linux下的恶意文件查杀也更多只能是一种借鉴而难以形成通用操作,如何有效度量恶意文件的相似性,提取出能协助用于预警和查杀的共性,也是本文关心的问题。

0×00. 准备工作

要实现本文的目的,首要的问题是解决linux下的样本数量,由于linux恶意文件没有 window的广泛用户基础,因此linux环境下样本数量及种类相对较少,变种出现的时间周期也更长,病毒库更新相对较慢。得益于安全社区的努力,目前已有大量在线病毒库提供各类恶意文件签名信息(部分提供样本下载),本次调研数据来源分别来自内外部,收集下外部网站恶意文件样本:

http://www.virusign.com/

http://malwaredb.malekal.com/


https://virusshare.com/

https://www.exploit-db.com/

内部来源则从蜜罐数据当中采集:

Linux下恶意文件大规模共性分析探讨

如需进一步扩大样本范围,推荐采用critical stack intel订阅malware相关feed ,收集更多的malware host或url,下载更多样本(具体critical-stack-intel 威胁情报订阅如有需要笔者将另起文章介绍)

Linux下恶意文件大规模共性分析探讨

最终整合内外部数据,取样共2139个linux恶意文件样本,分布如下

Linux下恶意文件大规模共性分析探讨

0×01. 分析过程

通过内外部数据整合而成的linux恶意文件库固然是服务管理员的福音,借助诸如MD5校验,Ssdeep相似度计算等,可以识别大量恶意文件,规避风险,但同时我们注意到两点:

1. Linux病毒正呈现爆发式的趋势,变种或新型病毒更新速度越来越快,对于多数非专业分析团队或公司而言,缺乏足够资源使用人工分析手段等深入分析方法;

2. 另一方面,从严谨的角度出发,恶意软件的定义并不存在唯一的客观标准(典型的例子,如比特币挖矿程序),一个软件是否为恶意软件,特别是在不同的业务场景中,仅以个别病毒分析人员静态分析或动态调试结果,结论不够充分

因此从后验的角度,只有当一个文件被确认做出了对系统完整性(如未经授权篡改系统文件),保密性(如非法提升权限),可用性(如非法发包占用资源),才可准确被定义为“恶意文件”。要使用后验判断的方式,避免恶意文件执行造成的风险,就需要采用沙箱或虚拟化技术,本文综合使用了cuckoo, Habo, Noriben三种沙箱,沙箱的部署使用方法不在本文赘述。

https://cuckoosandbox.org/

https://github.com/Tencent/HaboMalHunter/


https://github.com/Rurik/Noriben

由于使用了沙箱技术,自动化的特征提取甚至自动化检测成为可能,整个过程几乎不需要人工介入,而该类型分析针对目标文件的最终行为,因此误判/漏判率相对前置检测更准确,对安全运维工作当中的恶意文件查杀起到很好的补充作用。

Linux下恶意文件大规模共性分析探讨

文件的执行行为,从大的方面可以划分为本机+网络,在本机当中的行为又可进一步细分为读、写操作,具有共性的行为包括:

a. 进程几乎都具备自我复制功能,如clone syscall, fork或vfork等行为

b. 在可执行文件目录当中,生成随机10位字母组成的文件

/usr/bin/ajneffqsdg
/usr/bin/vwemujhrec
/usr/bin/adrwpsjzgx
/usr/bin/ynjdozzwix
/usr/bin/tkelzujbzv
/usr/bin/eakskmxjtm
/usr/bin/pdcofxmoww
/usr/bin/qgazkiajsp
/usr/bin/fsrljyqbmw
/usr/bin/pdcofxmoww
/usr/bin/kydnbazopw
/usr/bin/wqewcygwtd
/usr/bin/larmfzcgpc
/usr/bin/bkgbddcvgr
/usr/bin/gvnmfhfvtx
/usr/bin/rlwzazmise
... ...

c. 自删除或自锁定行为,多见于Backdoor. Linux家族,如把自己伪装成正常文件移动到 /Ubuntu , /ubuntu/freeBSD或/usr/bin/bsd-port目录下

e. Trojan-DDoS 家族的病毒把它们对外发包攻击所需要的库写入/lib/libudev4.so文件当中

e. 替换系统命令,高频的包括ps, netstat, getty

f. 为确保病毒进程逃避查杀,定时唤起,新增定时任务/etc/cron.hourly/gcc4.sh

网络上,恶意文件执行后马上通过8.8.8.8 DNS请求解析域名,尝试对外建立connect,截获域名示例如下:

gh.dsaj2a1.org
0o557.com
syn.123nat.com
www.jkx3.com
66.102.253.30
43.254.218.64
www.synu.top
quanqiuzhuanshu.top
getlinuux.win
v1ns.9kpk.com
ddos.khqy.net.weike77.com
www.3zgi.com
h.m0662.com
game8228.cn
qiangjiannideai.top
... ...

经进一步核查,连接域名均为恶意域名,虽然恶意域名服务商、对应IP存在为数不少的国外服务商及国外IP,但手工抽查大量样本背后发现注册信息均为中国身份,其中不乏登记注册信息为xx科技,xx信息有限公司等,印证了中国黑产势力的蓬勃,及经营上呈现规模化,产业化的趋势。

*特别鸣谢微步在线 (https://x.threatbook.cn/) 提供安全情报

Linux下恶意文件大规模共性分析探讨 Linux下恶意文件大规模共性分析探讨

根据已建立起的部分连接可以发现,远控端有可能采用的是一种通用管理信息协议(CMIS/CMIP)对僵尸网络进行管理和指令发布,由于远控端连接的是164端口,猜测远控端只是黑客控制链中的一环,而非真实操作环境,增加了溯源的难度。

Linux下恶意文件大规模共性分析探讨

因此恶意域名的解析请求数量将会是有价值的指标,对恶意域名的解析请求数量的飙升,可能预示着入侵或攻击事件。

image.png

Linux下恶意文件大规模共性分析探讨

值得注意的是,部分带有Spyware属性的病毒家族,如Linux. Goram, Linux. EncPk.BE等,还会自动随机地对内网地址或二层地址进行横向渗透,针对端口包括53, 123,137,138,139,389等。

0×02. 建议及后续工作

笔者从事安全运维工作,安全运维中的恶意文件防范和防病毒公司的病毒分析工作,两者的性质和工作重心还是存在明显的差异。从安全运维角度而言,特别是Linux服务器反恶意文件,在技术的基础上需要考虑更多的管理因素,对快速响应的能力要求也更高,本文发现带来的启发包括:

(1)建立自身的黑 / 白名单库(含恶意文件及恶意域名);

(2)对关键系统命令,关键目录,定时任务进行完整性校验

(3)监控异常文件命名

(4)关注DNS请求,判断是否有可疑域名

(5)来自内网的扫描流量既可能来自别有用心的用户,也可能来自恶意文件,应予以重视

*本文作者:yysecurity,本文属 FreeBuf 原创奖励计划,未经许可禁止转载。

转载请注明来自华盟网,本文标题:《Linux下恶意文件大规模共性分析探讨》

喜欢 (0) 发布评论