如何检测和删除 Linux 木马?

iam*_*sid 17 security malware

我最近(重新)偶然发现了这个:

是的,我知道从不受信任的来源添加一些随机 PPA/软件是在自找麻烦(或更糟)。我从不这样做,但很多人这样做(许多 Linux 博客和小报都提倡为花哨的应用程序添加 PPA,而没有警告它可能会破坏您的系统或更糟的是,危及您的安全。)

如何检测和删除特洛伊木马或流氓应用程序/脚本?

Gil*_*il' 20

没有通用的食谱。如果您的系统被未知木马感染,您所能做的就是重新安装。

如果您知道木马以某种方式运行——例如,您知道木马不会感染内核——那么可能有一种不太苛刻的恢复方式。但这完全取决于了解木马的行为方式。如果您只有症状(例如您的计算机未经您的同意发送垃圾邮件),则没有通用技术:特洛伊木马检测器必须比特洛伊木马设计者更聪明(而且很幸运)。就木马而言,检测和隐藏就像枪和盔甲:技术升级,双方都没有内在优势(尽管隐藏者确实有先机)。

许多系统都有一个安全的分发渠道。例如,当您使用基于 apt 的工具(apt-get、aptitude、synaptic、软件中心等)从 Ubuntu 存储库安装软件包时,该工具会检查该软件包是否由 Ubuntu 信任的人签名(审查)。(大多数发行版都有类似的机制。)当您从 PPA 安装软件包时,您只能知道 PPA 所有者审查了该软件包,如果您一开始就没有理由信任 PPA 所有者,这无济于事。

关于木马和后门,我强烈推荐阅读Ken Thompson的图灵奖讲座,关于信任信任的思考。总而言之,他改变了编译器,以便在编译登录程序时,添加允许他使用秘密密码登录的代码;然后他修改了编译器,当它自己编译的时候,它会插入代码来添加后门;然后他重新编译了整个系统(特别是登录程序和编译器);最后,他将编译器源代码恢复为原始的、无可置疑的源代码。再次阅读Ken Thompson 的文章;那么您也可以阅读David Wheeler 的对位,或许最好通过Bruce Schneier的博客文章来理解。


pbm*_*pbm 7

如果我理解正确的话,本文中描述的“特洛伊木马”不会以“正常”方式被发现为“正常”恶意软件。这个IRCd在被使用之前一直表现正常,所以管理员只能在以下情况下发现这个安全漏洞:1)它被使用并且这个漏洞所做的动作导致日志条目或以其他方式可见,2)阅读源代码。

“真正的”Linux 恶意软件也应该被用于 Linux 的 AV 软件或 AV LiveCD Rescue Disks 检测到,因此您可以使用该软件扫描计算机。正如您在列表中的SecureList中看到的那样,有 1941 个名称为 Linux 的条目,该软件应该被卡巴斯基软件检测到。快速查看此列表会发现,许多条目是关于某些 DDoS 工具和漏洞利用或无法自动传播且只能用作攻击工具(因此无害)的工具。

要检查破解者安装的后门/rootkit,您可以使用检查文件校验和的工具(您应该在干净的系统上生成文件和校验和列表,并在服务器软件更新后更新它)。每个新文件或校验和错误的文件都是可疑的。校验和和生成它的工具的列表应该在只读介质上(破解者也可以更改例如 md5sum,因为它自己的版本显示错误的校验和)。这种查找恶意软件的方法可用于“稳定”的系统,在这些系统中,软件不会每天都升级。

某些恶意软件可以通过在netstat本地运行以检查网络流量来检测,但如果系统被感染,则显示的数据netstat也可能会更改。在这种情况下,一些解决方案是监视来自另一台计算机的网络流量(例如从路由器,以检查发送到 Internet 的流量)。