基于签名的 rootkit 扫描程序?

基于签名的 rootkit 扫描程序?

目前,我所知道的唯一的 rootkit 扫描程序必须在 rootkit 之前安装在机器上,以便它们可以比较文件更改等(例如:chkrootkitrkhunter),但我真正需要做的是能够从 LiveUSB 扫描我的机器和其他机器,因为如果 rootkit 足够好,那么它也将接管 rootkit 检测程序。

那么,是否存在一个基于签名的 Ubuntu/Linux rootkit 扫描程序,我可以将其安装在 LiveUSB 上并使用它可靠地扫描我将其插入的机器,而无需监视行为或比较以前日期的文件?

答案1

助手A进阶入侵者检测tripwirenvionment)是另一个答案中提到的替代品。从维基百科

高级入侵检测环境 (AIDE) 最初是作为 Tripwire 的免费替代品而开发的,根据 GNU 通用公共许可证 (GPL) 的条款获得许可。

主要开发者是 Rami Lehti 和 Pablo Virolainen,他们都来自坦佩雷理工大学,还有荷兰独立安全顾问 Richard van den Berg。该项目在许多类 Unix 系统中用作廉价的基线控制和 rootkit 检测系统。


功能

AIDE 会拍摄系统状态、寄存器哈希值、修改时间以及管理员定义的文件的其他数据的“快照”。此“快照”用于构建保存的数据库,并可存储在外部设备上以妥善保管。

当管理员想要运行完整性测试时,管理员将之前构建的数据库放在可访问的位置,并命令 AIDE 将数据库与系统的实际状态进行比较。如果在快照创建和测试之间计算机发生了变化,AIDE 将检测到并报告给管理员。或者,可以将 AIDE 配置为按计划运行,并使用 cron 等调度技术每天报告更改,这是 Debian AIDE 软件包的默认行为。2

这主要用于安全目的,因为系统内部可能发生的任何恶意更改都会被 AIDE 报告。


自维基百科文章撰写以来,当时的维护者理查德·范登伯格(2003-2010)已被新的维护者取代汉内斯·冯·豪格维茨从 2010 年到现在。

AIDE 主页声明支持 Debian,这意味着该应用程序可以在 ubuntu 中安装,并且可以预测:

sudo apt install aide

至于便携性和 USB 笔式驱动器支持,主页继续说道:

它根据从配置文件中找到的正则表达式规则创建一个数据库。初始化此数据库后,即可使用它来验证文件的完整性。它有几种消息摘要算法(见下文),用于检查文件的完整性。还可以检查所有常用文件属性是否存在不一致。它可以读取旧版本或新版本的数据库。有关更多信息,请参阅发行版中的手册页。

对我来说,这意味着您可以在 U 盘上拥有签名数据库,同时在实时 USB 持久存储上拥有应用程序。我不确定 AIDE 是否适合您的需求,但作为tripwire您当前最爱的替代品,它值得研究。

答案2

这让我想起了 tripwire,它可以创建您指定文件的加密校验和。从已知良好的来源(例如 DVD)安装您正在检查的系统的副本,安装与目标系统相同的更新),让 tripwire 创建校验和文件。将 tripwire 的校验和文件复制到目标系统,让 tripwire 将校验和文件与目标系统的文件进行比较。

不同步的更新/升级/安装/系统特定配置文件当然会被标记/标记为已更改。

更新2018-05-06:

我还应该补充一点,必须离线检查目标系统。如果目标已被攻陷,硬件、启动固件、操作系统内核、内核驱动程序、系统库、二进制文件可能已被攻陷并干扰或返回误报。即使通过网络进入目标系统也可能不安全,因为(受攻陷的)目标系统将在本地处理网络数据包、文件系统、块设备等。

我能想到的最小可比场景是智能卡(信用卡中使用的 EMV、联邦政府使用的 PIV 等)。不考虑无线接口和所有硬件/电气/射频保护,接触接口本质上是一个串行端口、三线或两线。API 是标准化和白盒化的,因此每个人都同意它是不可渗透的。他们是否保护了传输中的数据、运行时内存中的数据、闪存中的静态数据?

但该实现是闭源的。硬件中可能存在后门,用于复制整个运行时和闪存。其他人可能会操纵硬件和内部存储器、智能卡操作系统或卡的 I/O 之间传输的数据。即使硬件/固件/软件/编译器是开源的,您也必须审核每一步,但您仍然可能会错过您/其他人没有想到的东西。这种偏执会让您陷入白色橡胶屋。

抱歉我有点偏执。说真的,把目标驱动器拿出来测试。然后你只需要担心目标驱动器的硬件/固件。更好的是,只需取出 HDD 盘片/SSD 闪存芯片进行测试(假设你的测试系统是黄金级的)。;)

相关内容