反Rootkit程序

你用什么程序来检测Rootkit? 你怎么知道该信任什么?

在基于Unix的系统上,Tripwire是一个很好的通用“今天在这台机器上改变了什么?” 解。 还有其他更具体的rootkit探测器,但我一直认为这是一个追赶坏人的问题。 你永远不能确定你的rootkit检测器是否足够抓住所有的时间。

我一直在使用OSSEC ,并对结果印象深刻

没有可用的Linux免费rootkit检查器是非常好的。 他们甚至无法检测到所有公开可用 (最常用多年)的rootkit,您可以在诸如packetstorm之类的站点上find源代码 。 他们不仅不能很好地处理已知的威胁,而且有充分的理由期待他们能够对任何智能攻击者performance出更好的performance,这些智能攻击者在使用rootkit之前有机会对探测器进行testing。

而且,没有理由认为rootkit会有一个可以用Tripwire这样的工具检测到的磁盘上的占用空间。 内核rootkits可以欺骗感染系统上运行的任何软件; 即使从只读媒体运行可信的二进制文件,也可能从操作系统获取伪造的信息。 而且,只有内存驻留的恶意软件不仅仅是理论上的担心, 它的使用已经被安全公司如Mandiantlogging下来。 针对这样一个rootkit,即使离线分析也是无效的,尽pipe从恶意软件的好处可能无法在重新启动。

有一些解决scheme,但不免费或便宜。 一家大公司或政府机构可以像Pikewerks公司的“Second Look”那样获得记忆取证工具,或者聘请一名可能使用这种工具的安全顾问作为其武库的一部分。 其他人,继续使用可用的反rootkit程序。 他们不是100%无用的。 只要尽你所能,以避免被定制的,非公开的rootkit的人根植。 风险有多大? 不幸的是,目前还没有统计数字。 很显然,Linux不会遭受Windows大量“大规模恶意软件”的攻击,但是隐形,有针对性的攻击有多普遍?

(披露:我是上述Second Look产品的作者。)

我认为标准是chkrootkitrkhunter

我会同时使用,并每天运行它们。 我知道chkrootkit有一个选项,只有通知你,如果有任何改变(避免每日虚假警报)。

同时运行有助于:1)不需要“信任”,2)防止试图专门躲避其中一方或另一方的攻击。

Rootkit检查器不应该安装在你的目标机器上。 我不知道chrootkit或rkjunter,但如果他们需要安装在最终机器上,他们不会保护你。 在目标计算机上运行的rootkitcheck软件会冒着rootkit(或安装它的人)会危及它的风险,因此它不会为您提供所需的保护。

我个人去Tripwire 。 Tripwire所做的就是对系统上的所有文件进行散列(指纹)处理,并让您知道文件何时更改。 它允许远程主机成为您的“可信任”机器,并让它扫描您的目标机器以进行任何文件更改。 如果检测到变化,那么你知道出了问题。 当然,您需要有一些更改控制,以便系统上的定期更新不会被标记为入侵。

为了安全起见,您需要定期对目标机器进行更改,以确保绊线将报告。 您还想切断目标和受信任机器之间的连接,以确保它将被检测到。 这与确保您可以恢复备份一样重要。

我通常从Linux Live磁盘运行外部病毒/ rootkit扫描。 这是你唯一能够信任的东西。 尽pipe如此,它仍然需要跟上最新的检测程序。