Tripwire
Tripwire(写于1992年)是一个综合的文件一致性检测工具。它设计优良,容易理解并且操作起来很方便。
文件的原始属性保存在一个数据库里。数据库文件以ASCII编码方式存放。当需要计算和确认某一数字签名时可以便于查询。
理想的情况是在初次安装系统时就使用Tripwire工具。这样可以保证系统同初始状态完全一致。一旦用户为系统创建完整的数据弯路,就可以增加其他用户。Tripwire具有如下特点:
·Tripwire可以通过网络执行检测。因此在安装时可以对全系统创建一个数字签名的数据库。
·Tripwire的源码采用C语言,可以在多个平台上进行编译。
·Tripwire提供宏处理语言,这样可以自动执行任务。
Tripwire很流行,但是一致性管理工具或多或少都有一些问题。其中一个问题就是有关存放文件属性值的数据库的创建和维护问题。从一开始,Tripwire的作者就关心这个问题。
“应该严格保护这个数据库,如果入侵者破坏了它,就无法保证检测结果的正确性。”
提示 Tripwire的原作者Gene H.Kim和Eugene H.Spafford在《A File System Integrity Checker》一文中对此有详细的分析,参见ftp://coast.cs.purdue.edu/pub/Purdue/papers/spafford。
一种保护数据库的方法是将其存放在只读媒体上,这样可以防止遭到破坏。Kim和Spafford指出虽然这样在操作中会遇到一些实际问题但确实可以起到保护作用。实际使用要看数据库的更新频度。如果在较大范围内使用,这种方法就不可取。要在安全和方便使用之间寻找平衡点。
可以在ftp://coast.cs.purdue.edu/pub/tools/unix/Tripwire上找到Tripwire(或其用法及设计)。在其商业网站http://www.tripwiresecurity.com/可以找到更多信息。
TAMU
TAMU Tiger软件包是一系列用于加强UNIX系统安全保护的软件。这些软件是针对网络中黑客协同攻击问题而设计的。它不断升级并改名为TARA(Tiger Analytical Research Assistant),可以在UNIX平台上进行。更详细的信息参见http://www.securityfocus.com/tools/481.TARA-PRO参见http://www-arc.com/tara/index.html.
Hobgoblin
Hobgoblin是一种有趣的进行文件和系统一致性检查的工具。它是一种语言同时又是解释器。语言用于描述文件的目的,解释器检查描述语言是否同实际文件相符合。
参考 Hobgoblin的源码参见
ftp://ftp.su.se/pub/security/tools/admin/hobgoblin/hobgoblin.shar.gz.同时还可以参考http://www.securityfocus.com/tools/132.
其他平台
Windows平台上也有文件一致性检测问题。一致性检测并不是为网络中多台主机设计的。许多老版本的DOS和Windows工具使用简单的循环冗余码校验方法。主要是用于病毒检测的辅助工具(发现不一致的现象表明可能感染病毒)。这并不意味一致性检测工具不可以用于检测系统代码改变的工具。
但是针对Windows平台进行一致性检测是困难的,进行合法的软件安装和升级都可以更改这类系统的系统文件。在其他系统中这种情况发生的概率要小一些。
再者,检测变更只对特定类型的二进制文件有用,甚至是针对病毒检测。许多病毒和特洛伊木马感染文件的目的是获得数据(如扩展表文字处理文件等)。但是,这些文件经常被更改。这样,检测变更是基于这些文件不发生变化的前提。有些情况下,通过检测可以判断是否感染病毒(例如Word文件包含宏病毒)。这需要检测软件很了解文件内部结构。这样难度就增加了。
最安全的保护就是使用数字签名、只读介质和其他严格的措施阻止非法改动系统文件。
|