根除阶段
在事件被抑制之后,通过对有关恶意代码或行为的分析结果,找出事件根源并彻底清除。对于单机上的事件,主要可以根据各种操作系统平台的具体的检查和根除程序进行操作就可以了;但是大规模爆发的带有蠕虫性质的恶意程序,要根除各个主机上的恶意代码,是十分艰巨的一个任务。很多案例的数据表明,众多的用户并没有真正关注他们的主机是否已经遭受入侵,有的甚至持续一年多,任由他感染蠕虫的主机在网络中不断地搜索和攻击别的目标。造成这种现象的重要原因是各网络之间缺乏有效的协调,或者是在一些商业网络中,网络管理员对接入到网络中的子网和用户没有足够的管理权限。
恢复阶段
恢复阶段的目标是把所有被攻破的系统和网络设备彻底还原到它们正常的任务状态。恢复工作应该十分小心,避免出现误操作导致数据的丢失。另外,恢复工作中如果涉及到机密数据,需要额外遵照机密系统的恢复要求。对不同任务的恢复工作的承担单位,要有不同的担保。如果攻击者获得了超级用户的访问权,一次完整的恢复应该强制性地修改所有的口令。
报告和总结阶段
这是最后一个阶段,但却是绝对不能够忽略的重要阶段。这个阶段的目标是回顾并整理发生事件的各种相关信息,尽可能地把所有情况记录到文档中。这些记录的内容,不仅对有关部门的其他处理工作具有重要意义,而且对将来应急工作的开展也是非常重要的积累。
以上总结了应急响应的重要性和必要性,下面介绍一下linux下应急响应的方法和流程,本文的测试系统为redhat9.0.
在linux上进行应急响应时,有必要创建自己的应急响应工具箱,这些工具包括如下命令,
|
在Linux上创建响应工具包时,可以用gcc的–static参数编译源代码,或者用ldd检查动态连接库,在响应工具包存储介质上建立库文件目录,并拷贝所有工具需要的动态连接库的副本,最后设置环境变量。当然现在网上也有很多很优秀的应急响应工具,例如knoppix-std就是一款很优秀的应急响应工具,大家可以从http://s-t-d.org/download.html下载到knoppix-std的最新版本。
当有了自己的应急工具箱之后,我们就可以进行具体的应急响应步骤了,这里我们分如下几个步骤:
查看登陆系统的用户:
我们用w命令显示当前所有登陆系统的用户,如图1所示,输出标题行显示了当前系统时间,该系统已运行的时间,当前登陆用户数,最近1分钟,5分钟和15分钟内的平均系统负载。
USER字段显示当前登陆的用户名。TTY字段显示了会话的控制终端,tty表示从控制台登陆,pts/typ则可以表示通过一个网络连接,
查看系统开放的端口:
我们用netstat –an命令来显示当前系统开放的端口,有时系统开放的端口比较多,一页显示不了,我们可以用|more这个管道命令使结果分页显示,便于我们查看,如图2 所示,输出行有5个结果,其中比较重要的是proto显示了使用协议,local address显示了使用的本地ip,这对于NAT地址转换的情况比较有用,还有foreign address显示了外部ip,
state显示了当前这个连接的状态。
我们用ps –aux来查看系统的进程列表,如果进程很多,我们同样用|more管道来分页显示结果,ps命令输出中的START字段显示了程序开始运行的时间,对于查出攻击时间很有帮助。有时仅通过时间就能识别可疑进程。
检测rootkit:
仅仅做了以上工作是不够的,Linux和几乎所有的UNIX都支持LKM(Loadable Kernel Modules),用普通的方法无法检测其存在,这给应急响应带来了极大的挑战性。对于我们来说,解决的办法是找到那些rootkit.所谓 rootkit, 就是有心人士, 整理一些些常用的木马程序, 做成一组程序套件, 以方便 黑客攻入主机时, 在受害的主机上, 顺利地编译和安装木马程序。有时lkm rootkit虽然被成功装载,但在系统的某些细节上会出现“异常”,甚至可能使系统在运行一段时间后彻底崩溃。还有,lkm虽然活动在ring0核心态,但是攻击者往往会在系统的某处留下痕迹,比如攻击者为了让系统每次关闭或重启后能自动装入他安置的内核后门,可能会改写 /etc/modules.conf或/etc/rc.local等。我们可以通过chkrootkit来检测。
最新相关文章
发表评论