介绍一款新的系统安全软件“Linux系统卫士”
介绍一款新的系统安全软件“Linux系统卫士”任何病毒、木马程序总是要修改系统或有关的文件,使它自己附属在系统或文件之中伺机运行。现有的防病毒软件主要依靠建立庞大的病毒库,使文件(进程)与库中的病毒特征码比较,从而发现病毒。随着新病毒、木马的不断出现,老的病毒、木马也不断变化翻新,变化速度越来越快,病毒库也愈来愈大,影响监测速度,也容易出现误判。现有的防病毒软件会越来越难以满足电脑正常工作的需要。“Linux系统卫士”的思路不同,它在运行时不断的监视Linux的系统文件及它保护范围内的文件,使之与它安装时所作的备分比较,从而发现文件的任何变化。只要监视的目录内容与原备分不同就报警, 无论它是否已知病毒或木马程序。这样它扫描需要的时间短、反应快,能在短时间中发现纠正被改动了的文件。它能发现在监视的范围内文件的增减,属性的变化包括文件长度、上次修改时间、文件使用权限等,更为突出的是对于文件内容的变化,即使是数兆大的文件中任意一个字节的变化都能发现并报警纠正,使保护范围内的文件能高度保持原状,从而防止病毒或木马等对系统的攻击,也防止了在系统运行中对文件无意的修改。这点优于其它的防病毒软件。
“Linux系统卫士”的使用方法也比较简便,在安装后形成的/root/undws/readme中有详细的说明,这里不再叙述。
安装完成后,我们可以试验一下它是否具有所声称的能力。我的电脑CPU为CeleronD 331, 主板技嘉GA-81915ME, 内存1 . 0 G,安装Fedora Core-4, 内核vmlinz-2.6.11-1.i369_FC4。重新启动系统后仍然用root的身份登录,为了让屏幕方便的显示运行结果,我先终止程序在后台的运行,打开一个终端在其中执行/root/undws/undrun<回车>,Linux系统卫士的入口程序界面出现,我们选择“否”,以终止它的后台运行。然后再次执行/root/undws/undrun<回车>,这次在界面中选择“是”,系统卫士的运行界面出现,在界面中用鼠标点击“后台默认检查”按钮,使程序转入后台运行同时又向这个终端显示运行结果。现在,可以改变一个保护范围内文件的属性看它能不能发现和纠正它。我选择了"ping"程序(选择其它文件也可~下同),它是探测网络的命令。为了不干扰结果显示我另外再打开一个终端作为输入命令专用(下同),在这个终端执行ls -l /bin/ping,显示它的属性权限属性为-rwxr-xr-x,允许所有用户使用, 长度为35616。我现在修改它的属性,在这个终端中执行chmod 444 /bin/ping<回车>,ls -l /bin/ping<回车>,显示权限变为-r--r--r--,所有用户都不能使用它。当回车30秒左右,电脑的喇叭报警,另一个终端显示/bin/ping的属性已被改变,再隔30秒,电脑的喇叭再次响了,另一终端显示/bin/ping的属性已经恢复。在这个终端再执行ls -l /bin/ping<回车> 查看, 它的属性仍为-rwxr-xr-x,恢复了原状。如果我们选择保护范围的其它目录任何文件也会得到同样的结果。现在试一试增加文件长度, 用vi zzz<回车>建立一个名为zzz的新文件,向其中输入一个任意字符并存盘退出,这个文件长度为3,再执行cat zzz>>/bin/ping, 把刚才建立的文件拼接在ping后面,此时用“ls -l/bin/ping”检查ping文件已增加三个字节为35619。30秒后喇叭报警,另一终端显示/bin/ping的内容已被改变,再30秒显示/bin/ping已经恢复,用“ls -l/bin/ping”检查ping文件已恢复为35616。这个过程说明,当我们在它保护范围想要改变任何一个文件的属性是不可能的,Linux系统卫士都能及时发现并纠正它。
当我们向/usr/bin目录下拷贝一个文件,比如执行cp /root/undws/readme/usr/bin<回车>,30秒后,喇叭报警,另一终端显示/usr/bin目录下多出一个文件readme,执行ls /usr/bin<回车>,可以看到在/usr/bin中确实多出readme文件。30秒后另一终端再次显示/usr/bin目录下多出的文件readme已经被删除,可以用ls /usr/bin得到证实。这次我们删除一个重要的文件/bin/df,执行rm -f /bin/df<回车>,ls /bin/df<回车>,证实bin/df文件确实已经被删除。这次30秒后,喇叭报警,显示/bin/df已经恢复,用ls bin/df<回车>证实bin/df文件确实已经被恢复。如果我们大胆删除/boot/vmlinuz会有什么结果?这个文件可是Linux的内核,Linux系统卫士能证实它的能力吗?当我执行rm -f /boot/vmlinuz-2.6.11-1.i369_FC4后30秒,喇叭报警,另一终端显示vmlinuz-2.6.11-1.i369_FC4已被删除,30秒后又显示vmlinuz已经恢复,用ls -l /boot可以证实。为了验证系统现在是否完好, 让我们重新启动系统并用root身分登录, 系统正常一切完好, 开始下一步的实验。
再试一试修改文件的内容,由于/boot/grub是系统默认的保护范围,选择/boot/grub/grub.lst文件,这是系统grub的设置文件,可以用任何文本处理器打开。在终端中执行vi /boot/grub/grub.lst,我们对打开的文件任何一字符作修改,使它与原来文件不同,然后执行“wq”命令,把修改后的文件存回去。30秒后喇叭又报警了,显示文件/boot/grub/grub.lst内容已经被修改;随即,Linux系统卫士强行把文件/boot/grub/grub.lst恢复原状,再次执行vi /boot/grub/grub.lst可以证明。这次我们向这个文件任意地方写入一段任意长度字符串并且存入,30秒后 Linux系统卫士又强行把文件/boot/grub/grub.lst恢复原状。
再来试修改一个字节的情况,这次用Linux系统自带的程序KHexEdit打开/boot/vmlinuz-2.6.11-1.i369_FC4, 它有1 . 5m大小,在它的0a:1000位置是“11”现在把它改为“10或12”(或其它任何数),把修改过的文件存盘后退出。30秒后,Linux系统卫士报警,终端显示/boot/vmlinuz-2.6.11-1.i369_Fc4内容已被修改,再过30秒,显示Linux系统卫士已经恢复了内核文件。重新进入KHexEdit调出vmlinz-2.6.11-1.i369_FC4检查其0a:1000位置依然是“11”, 说明Linux系统卫士确实具有分辨文件中一个字节的变化并且能够及时予以恢复。我们现在可以用文件浏览器打开/var/jg-m文件看看,刚才我们所作的全部修改操作及“Linux系统卫士”扫描检查结果、采取的措施都一一记录在上面,每次扫描的日期、时间,每一项改变发现时间,纠正日期、时间。对照这一系列时间可以看出,扫描是每30—31秒进行一次,在发现保护范围内文件变化后的下一次扫描时即被纠正,因此,文件变化存在的时间不会超过两个扫描周期。
原来在安装选择扫描时间默认了30秒。为了验证我卸载了Linux系统卫士(用界面上的”卸载程序”按钮)并重新安装。这次扫描时间选择10秒。安装完成后重新启动系统用root身分登录,这时程序已在后台运行,在终端中执行chmod 444 /usr/bin/ping<回车>,这次不到10秒钟Linux系统卫士报警,再隔10秒喇叭再次响了,以后喇叭不再响。打开/var/jg-m文件查看,扫描每10—11秒进行一次,在发现保护范围内文件变化后的下一次扫描时(即10秒)被纠正。文件变化存在的时间不超过20秒,符合安装是选定的扫描周期。
从上面的实验结果来看,这款软件确实能够忠实的护卫Linux操作系统文件或指定范围内的文件。保障在发生无意、有意或恶意的改动这些文件时,能够立即报警并且自动纠正所作的一切改动。从而使Linux操作系统文件或指定范围内的文件保持完好。当然, 也由于这个特点, 它不适合用于那些需要经常变动的文件和目录。从软件的readme介绍中指出,扫描周期缩短为10秒时,软件占用CPU时间比较长,可能会影响其它程序运行,要综合考虑设定。这款软件目前只对硬盘中的系统进行保护,不会影响运行的进程,也不能保护内存中的数据。 :neutral: 有用吗?
所有系统文件几乎都是root才可以写.. 要是root都被掌握了,这个软件还有什么用? 文章中所作的全部实验,可以认为就是模拟在其它人在掌握了ROOT权限后对系统进行攻击时,Linux系统卫士能作出的反应与效果。 -艾贝尔
页:
[1]