设为首页  
联系我们  
加入收藏  
网页制作 冲浪宝典 图形图像 操作系统 软件教学 编程开发 认证考试 安全技术 站长专区 文学驿站 娱乐天地 游戏天地 办公软件
文章搜索
您的位置: 首页 >> 文章首页 >> 安全技术 >> 入侵检测 >> LIDS精通与进阶(一)
精品推荐
入侵检测点击TOP10
·snort+acid打造LINUX下的入侵检测系统(IDS)(上)
·入侵检测系统Radware DefensePro
·Kfsensor IDS+HONEYPOT高级配置
·在家制造你的Cisco IDS
·一个网络入侵检测系统的实现
·LIDS精通与进阶(二)
·网吧入侵和网吧老板斗争到底
·snort+acid打造LINUX下的入侵检测系统(IDS)(下)
·用LIDS增强系统安全
·专家剖析黑客如何通过Google发动攻击
安全技术点击TOP10
·主板芯片级维修技术资料
·Symantec AntiVirus防病毒服务器安装配置使用指南
·教你如何手动查杀“幽灵(I-Worm.Ghost)”病毒
·贴片元件标记对应型号资料
·主板芯片组详解
·在WindowsXP/2003下查看端口对应的进程
·主板点不亮(不显示)的BIOS修复两法
·计算机启动过程详解
·网吧如何禁止使用PP点点通
·主板开机原理
精选专题

LIDS精通与进阶(一)

作者: 来源:网络文章 时间:2005-12-19 16:29:02

LIDS精通与进阶(一)(4)               dentry->d_inode->i_ino);
.....................

这个是LIDS加到内核里做检测的一个例子。你会看到lids_check_base()是LIDS保护方法的一个核心函数。

你可以在LIDS要保护的地方看到很多LIDS保护方法用到lids_check_base()函数,特别是在linux内核的子目录下。

在/usr/src/linux/fs/lids.c

int lids_check_base(struct dentry *base, int flag)
{
..................
inode = base->d_inode;     /* get the inode number */
parent = base->d_parent; /* get the parent diretory */
.................
---->  do {
         if ( inode == parent->d_inode)
         break;
         if ((retval = lids_search_inode(inode))) {
           if ( retval == LIDS_IGNORE (retval == LIDS_DEVICE && flag != LIDS_DEVICE)) break;
           if ( flag == LIDS_READONLY ( flag == LIDS_APPEND && retval >flag ) ( flag == LIDS_DEVICE && flag == retval )) {
                         return -EROFS;
                      } break; }
                      inode = parent->d_inode;
                  } while( ((parent = parent->d_parent ) != NULL) );
            return 0;
     }

lids_check_base()会检查一个给定文件的dentry和它的父目录是否被保护。

注意:如果它的父目录被保护,它下面的文件也会被保护。

例如,如果/etc/被保护,/etc/passwd也一样被保护。

(3)、在内核保护系统调用

为了保护系统,LIDS会在一些检查临界的系统调用的时候做检查。因此,我们可以保护系统调用和限制文件系统的用户调用。

这些是一些例子:

  • open(),open是通过禁止一些权利来保护文件的打开。你可以在打开调用open_namei()调用的时候LIDS在检测它。
  • mknod(),mknod是用来在指定目录下保护mknod。
  • unlink(),在内核代码检查do_unlink()。

   三、保护设备

   Linux的设备会在/dev/目录下以文件的形式列出,我们可以用上面保护文件的方法来保护设备。但是在一些情况下,用户也可以用IO操作来旁路文件系统来读写设备,我们必须注意这个问题。

1、设备,内核I/O

在GNU/Linux系统下的设备会以文件的形式表达,所以我们可以用保护文件系统那样来保护设备。

用户的I/O访问是通过系统调用sys_operm和sys_iopl来实现的。你可以看看/usr/src/linux/arch/i386/kernel/ioport.。这个是要基于系统结构的,要是到其他平台,就需要注意它们的变化。

2、如何用LIDS来保护

大多数情况下,程序不需要通过在/dev的设备文件名称来访问设备。但是,一些特殊的程序需要直接访问,如X Server,这个会写到/dev/mem和甚至是I/O设备。我们需要一些额外的东西来保护设备。LIDS会在配置内核的时候来定义这个功能。

共7页 9 7 [1] [2] [3] [4] [5] [6] [78 :>

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