Linux 恶意软件检测工具(LMD)是一个 GNU GPLv2 许可下发布的Linux恶意软件扫描器,其设计理念是是针对在共享主机环境中所面临的威胁。它使用来自网络边界的入侵检测系统的威胁数据,提取当前被经常用于攻击的恶意软件,并针对检测到的恶意软件生成标识。此外,数据的威胁也来自于用户通过LMD上传功能提交的恶意软件,以及从恶意软件联盟中获取到的资源。LMD使用的签名,是MD5散列和 HEX模式匹配,他们也能较为容易地输出到其他的检测工具如ClamAV。
LMD = Linux Malware Detection
这款工具的出现背景是因为当前支持对Linux系统恶意程序检测的开源或者免费工具,有着较高的误报和漏报率。许多防病毒产品对于linux平台上的恶意程序检测却有着一个较差的威胁检测跟踪记录,特别是针对在共享的主机环境。
共享主机环境的威胁环境相比于其他环境是较为独特的,标准的AV产品检测组件,他们的检测目标主要是OS级别的木马,rootkit和传统的感染文件病毒,但是却忽略了越来越多的用户帐户级上的恶意软件,而这些一般被攻击者作为攻击的平台或者跳板。
从目前来看,支持多用户共享环境的恶意软件检测、修复的商业产品依然表现糟糕。通过LMD 1.5检测,可针对8883种恶意软件的哈希值进行分析识别,而相比之下,近30款商业防病毒和恶意软件的产品的表现,却令人不太满意。检测结果如下,
DETECTED KNOWN MALWARE: 1951 % AV DETECT (AVG): 58 % AV DETECT (LOW): 10 % AV DETECT (HIGH): 100 UNKNOWN MALWARE: 6931
从上面的数据我们可以看到,有6931种(约占总数78%)的威胁,未被商业防病毒和恶意软件产品发现。而检测到的1951个威胁中,商业防病毒和恶意软件产品的平均检出率为58%,较低和较高的检出率分别为10%和100%。从以上的数据看,目前的多用户共享环境恶意程序威胁检测应该是开发的重点。
功能特点
-文件MD5哈希值检测,快速识别威胁 -用于识别威胁变量的HEX模式匹配 -拥有对模糊威胁进行检测的统计分析组件(例如:Base64编码) -作为性能改进的扫描引擎,与ClamAV等工具进行联合检测 -通过-u|-update进行签名更新 -通过-d|-update更新集成的版本功能 -通过扫描最近的选项来扫描在一定时间内已添加/改变的文件 -全路径扫描 -上传可疑的恶意软件到rfxn.com对其哈希值进行重查 -查看扫描结果的报表系统 -在安全的方式中存储威胁的隔离队列 -隔离批处理的选项,以隔离当前或过去的扫描结果 -隔离恢复选项,将文件还原到原路径 -针对恶意代码注入的字符串的清除规则 -清除批处理选项,可清除之前的扫描报告 -清除规则针对Base64和gzinflate -每日定时对过去24小时用户homedirs上进行扫描 -基于内核inotify实时对文件的创建/修改进行扫描 -基于内核inotify监控标准输入或文件 -基于内核inotify监控系统用户的操作特征 -基于内核inotify监控可配置的用户的HTML root
数据来源
LMD不仅仅是基于签名和哈希值地对恶意软件进行检测,它也收集外部其他环境的威胁以及其他被检测到的威胁,来提高它本身的检测能力。
针对恶意软件的数据,用于生成LMD签名主要有四个来源:
1、来自网络边界的IPS:网络管理作为日常工作的一部分,因为其主要是网站相关的,比如网站服务器经常会收到大量的滥用事件,而所有这一切都是通过网络边界的IPS进行记录。IPS事件被进行处理,从其中提取到恶意URL,将编码成playload和Base64 / GZIP的滥用数据进行解码,最终对恶意软件进行检索,分类,然后生成适签名。LMD的签名,绝大多数是来自IPS提取的数据。
2、来自社区联盟数据:数据的收集是从多个恶意社区网站如clean-mx和malwaredomainlist,然后对新的恶意软件进行处理检索,分类审查,然后生成签名。
3、来自ClamAV:从ClamAV上的Hex和MD5签名监测到相关更新,并适用于低的目标用户群加入到 LMD中。而到目前为止,已经有大约400个签名从ClamAV移植到LMD项目,而LMD项目也贡献回ClamAV超过1100个签名,目前也继续在现有基础上这么做。
4、来自用户提交:LMD具有校验功能,允许用户提交可疑的恶意软件进行审查,这已经成为一个非常受欢迎的功能,它平均每周可提交30-50个可疑恶意软件。
威胁检测
截止到目前为止,LMD 1.5共有10822个(8908 MD5 / 1914)签名。其中检测到的60大威胁如下,
base64.inject.unclassed perl.ircbot.xscan bin.dccserv.irsexxy perl.mailer.yellsoft bin.fakeproc.Xnuxer perl.shell.cbLorD bin.ircbot.nbot perl.shell.cgitelnet bin.ircbot.php3 php.cmdshell.c100 bin.ircbot.unclassed php.cmdshell.c99 bin.pktflood.ABC123 php.cmdshell.cih bin.pktflood.osf php.cmdshell.egyspider bin.trojan.linuxsmalli php.cmdshell.fx29 c.ircbot.tsunami php.cmdshell.ItsmYarD exp.linux.rstb php.cmdshell.Ketemu exp.linux.unclassed php.cmdshell.N3tshell exp.setuid0.unclassed php.cmdshell.r57 gzbase64.inject php.cmdshell.unclassed html.phishing.auc61 php.defash.buno html.phishing.hsbc php.exe.globals perl.connback.DataCha0s php.include.remote perl.connback.N2 php.ircbot.InsideTeam perl.cpanel.cpwrap php.ircbot.lolwut perl.ircbot.atrixteam php.ircbot.sniper perl.ircbot.bRuNo php.ircbot.vj_denie perl.ircbot.Clx php.mailer.10hack perl.ircbot.devil php.mailer.bombam perl.ircbot.fx29 php.mailer.PostMan perl.ircbot.magnum php.phishing.AliKay perl.ircbot.oldwolf php.phishing.mrbrain perl.ircbot.putr4XtReme php.phishing.ReZulT perl.ircbot.rafflesia php.pktflood.oey perl.ircbot.UberCracker php.shell.rc99 perl.ircbot.xdh php.shell.shellcomm
实时监控
Inotify监控功能的目的是监测路径/用户实时文件创建/修改/移动操作。此选项需要内核支持inotify_watch(config_inotify)。如果您运行的是CentOS 4,你应该考虑进行升级:
升级路径:http://www.rfxn.com/upgrade-centos-4-8-to-5-3/
针对监控对象(用户/路径/文件)的不同,分为三种不同的监控模式,
e.g: maldet --monitor users e.g: maldet --monitor /root/monitor_paths e.g: maldet --monitor /home/mike,/home/ashto
内容转载自 FreeBuf.com