设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 操作系统 >> Linux >> 通过监控Linux运行进程来保证系统的安全
精品推荐
Linux点击TOP10
·Linux下安装LumaQQ
·口袋里的Linux:在您的U盘上运行SLAX
·Linux命令Man解释:PPPD(8) :点对点daemon协议
·虚拟网络计算工具VNC使用指南
·Linux系统中如何正确安装摄像头驱动
·Ethernet HOWTO Linux以太网-HOWTO (4)型号的信息
·Linux 内核文件系统与设备操作流程分析
·Linux 核心--4.内存管理
·Linux精彩桌面 GNOME桌面主题安装实例
·Linux下Flash/Shockwave播放器安装
操作系统点击TOP10
·Windows Vista完全硬盘安装法
·Windows Vista 激活不求人
·Windows Vista局域网网络连接设置
·Windows Vista系统动态桌面截图欣赏
·Windows XP中磁盘的分区应用
·Windows NT/2000/XP 出现蓝屏并显示“STOP 0x0000007f”错误
·让Windows XP变身Vista
·一招搞定Vista系统软件不兼容问题
·教你如何正确配置和优化Windows Vista
·只转两圈 加快Windows XP启动速度
精选专题

通过监控Linux运行进程来保证系统的安全

作者: 来源:http://www.xgdown.com/ 时间:2007-7-23 16:51:41

通过监控Linux运行进程来保证系统的安全(2)   
  PID USER PRI NI SIZE RSS SHARE STAT LIB %CPU %MEM TIME COMMAND
  
  363 root 14 0 708 708 552 R 0 8.1 1.8 0:00 top
  
  1 root 0 0 404 404 344 S 0 0.0 1.0 0:03 init
  
  2 root 0 0 0 0 0 SW 0 0.0 0.0 0:00 kflushd
  
  3 root -12 -12 0 0 0 SW< 0 0.0 0.0 0:00 kswapd

需重点监控的一些进程

由上面的介绍可知,Linux提供的这些命令都能提供关于进程的一些信息,可以通过它们查看系统当前的进程状况,也可以找出那些占用了过多系统资源的进程并结束该进程。它们的优点在于速度快,透明性好,直观明了。下表给出了Linux系统中较为常见的重要的进程(没有完全列出,用户可以参考相应的资料),用户可以采用上述工具来实时的监测这些重要进程的情况,并采取相应的防护措施。

系统调用存在缺点

我们上述所介绍的进程监控方法和工具都是基于调用操作系统给我们提供的相应的API接口函数或者系统调用来实现的。我们所得到的只是接口函数处理后的结果,不能够主动地从操作系统内核的进程数据结构当中获取我们需要的信息。因而,它们具有如下缺点:

1.传统的进程监控方法运行效率比较低,同时反应时间也比较长,实时性能差。

2.不能够实时、高效地向用户报告当前系统运行的安全状况,就算系统中有不法进程在运行,系统也不能识别出来。

3.不能给用户捕捉不法进程的行为提供证据和进程的活动轨迹。当一个不法进程运行并对系统产生破坏时,用户即使通过察看进程列表找到了不合法的进程,也不清楚到底从进程开始运行直到捕捉到这样一个不法进程这样一段时间内,进程都对系统造成了哪些破坏,比如说,访问、修改了哪些重要的系统文件,占用了哪些系统资源等等。这些都给以后的恢复和处理工作带来了很大的问题。

4.执行程序工作在用户态,本身就不安全,入侵系统的黑客可以轻松地找到这些进程监控程序的磁盘映像,进行删除甚至替换,从而会给系统带来不可估量的损失。这一点尤其需要强调,比如说,黑客入侵系统成功,就可以植入他们所改写的ps程序以替换原来系统的ps程序,这样就使得用户不能通过该工具得知系统中当前运行的不法进程,这样无论黑客如何植入木马或者其他程序,用户都无法知道,从而无法采取措施终止这些行为。不言而喻,这样的后果是很严重的。而在我们下面所要介绍的一种运行于内核的进程监控程序当中,黑客根本无法或者很难深入内核来破坏该进程监控程序,从而使其能够很好地保证自身的安全。

基于上述种种不足,我们提出了在Linux内核中实现进程实时监控的原理和技术。该技术主要分为以下几个步骤:

首先,在“干净”的系统环境下,全面地运行系统中的安全进程,分析和搜集Linux环境下这些进程的相关信息(包括进程ID号、进程名称、进程可执行映像、进程的开始时间、进程的父进程等主要信息),形成一张“系统安全进程列表”,作为进程监控的依据。

接着,监控代码在进程调度过程中实时地搜集系统中运行进程的信息。如果发现进程不在 “系统安全进程列表”当中,则马上通过终端输出该进程的PID号、名称、进程的可执行映像等信息,或者通过声音向用户报警,等待用户处理,在这个等待的过程中,终止调度该进程,直到用户做出响应(放行该进程或者杀死该进程)。

在第二步当中,如果超级用户(系统管理员)放行了该进程,则可以将该进程加入“系统安全进程列表”,以完善该列表;如果是一般用户在使用过程当中放行了某个进程,那么,需要将该用户的用户名和身份记录下来,并且将放行的进程记录下来存为日志,那么,当超级用户(系统管理员)无论是在审核用户行为还是在修改“系统安全进程列表”时,都是一个有力的依据。

另外,在系统运行过程当中,如果发现“系统安全进程列表”当中的某些重要的进程 (包括kswapd、bdflush等)不在运行,则马上将该进程“遗失”的信息存入文件,以备在系统的恢复过程当中,对它们进行针对性的恢复,根据不同的情况,有的需要马上停机,恢复进程,有的则可以现场恢复。

共3页 9 7 [1] [2] [38 :>

通过监控Linux运行进程来保证系统的安全 相关文章:
通过监控Linux运行进程来保证系统的安全 相关软件:
特别声明:本站除部分特别声明禁止转载的专稿外的其他文章可以自由转载,但请务必注明出处和原始作者。文章版权归文章原始作者所有。对于被本站转载文章的个人和网站,我们表示深深的谢意。如果本站转载的文章有版权问题请联系编辑人员,我们尽快予以更正。
转载请注明来源:http://www.xgdown.com