⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 1074.html

📁 著名的linux英雄站点的文档打包
💻 HTML
📖 第 1 页 / 共 3 页
字号:
sys_call_table[i] = orig_sys_call_table[i];
<br>
}
<br>
}
<br>
return 1;
<br>
}
<br>
/* Check sys_call_table anytime a new module is loaded. */
<br>
static int long sys_init_module_wrapper( const char *name, struct
<br>
module *mod )
<br>
{
<br>
int i;
<br>
int res = (*orig_init_module)(name,mod);
<br>
for ( i = 0; i &lt; NR_syscalls - 1; i++ )
<br>
{
<br>
if (orig_sys_call_table[i] != sys_call_table[i])
<br>
{
<br>
printk( KERN_INFO "SysCallSentry - sys_call_table has been
<br>
modified in entry %d!", i);
<br>
sys_call_table[i] = orig_sys_call_table[i];
<br>
}
<br>
}
<br>
return res;
<br>
}
<br>
/* Module Init Code */
<br>
static int init_module (void)
<br>
{
<br>
int i;
<br>
printk(KERN_INFO "SysCallSentry Inserted");
<br>
/* Initiate the periodic timer */
<br>
init_timer( &syscall_timer );
<br>
/* Save the old values of the sys_call_table */
<br>
orig_init_module = sys_call_table[SYS_init_module];
<br>
/* Wrap the init_module syscall. This will check to see
<br>
* if any calls have been altered when a new module loads.
<br>
*/
<br>
sys_call_table[SYS_init_module] = sys_init_module_wrapper;
<br>
for ( i=0; i &lt; NR_syscalls - 1; i++ )
<br>
{
<br>
orig_sys_call_table[i] = sys_call_table[i];
<br>
}
<br>
/* Start our first check */
<br>
check_syscalls();
<br>
return(0);
<br>
}
<br>
/* Module Cleanup Code */
<br>
static void cleanup_module (void)
<br>
{
<br>
/* Return system status to the original */
<br>
sys_call_table[SYS_init_module] = orig_init_module;
<br>
printk(KERN_INFO "SysCallSentry Removed");
<br>
}
<br>
<br>
目前的lkm工具使用的技术都是修改系统调用表。因此,由于系统调用表在实际应用中极少改变,为调用表增加一个哨兵的做法是可行的。也许真正彻底的方法是完全禁止使用lkm。成品服务器应该将需要的全部编译到内核中,并禁止使用lkm。
<br>
<br>
另外还有一种防护恶意lkm的方法。一个叫做"St.Jude"的工具和"St.Michael"一起,基于在学习态中生成的规则集,分别监控对系统调用表的修改,和检查root状态的转换,作为入侵的证据。(http://www.sourceforge.net/projects/stjude).
<br>
<br>
调查工具和技术的研究
<br>
<br>
很显然,要有效的响应内核级别的入侵,必须检查机器的内核空间。因此,我们必须改变使用的工具和技术。假定在涉及到knark的入侵事件时,都建立了机器存储设备的备份。这样,我们就能获得所有隐藏的文件。我们无法获得的是隐藏的进程和网络信息。通过开发一个类似ps的内核级工具搜集每个进程的运行镜像,可以对此作出补救。这个工具应该是一个lkm,以便事故发生后能动态加载。本节将讲述这样一个工具以及他如何在linux 2.2平台上进行工作。
<br>
<br>
内核级别的ps最重要的数据结构是task_struct。它是系统当前所有进程的循环链表。表中有进程所有的行为信息,例如打开的文件,进程的执行镜像,打开的网络套接字,文件操作符等等。下面这些字段非常重要,并将写入日志中。
<br>
* 进程ID(PID) - 识别运行进程的唯一号码。
<br>
* 用户ID - 运行进程的用户号码。了解进程运行的权限级别很重要。
<br>
* 进程状态 - 指明进程目前如何运行。进程不能总是占用全部的cpu,有时会处于睡眠状态。此标志指明进程的运行状态。
<br>
* 进程名称 - 等同于执行进程的命令。
<br>
* 开始时间 - 从系统启动到进程运行所经过的系统时钟单位数。用来确定进程什么时候开始运行。显然在系统启动时使用启动脚本运行的进程数值相对较小。同时也未确定入侵时间提供了更多的线索。
<br>
* 打开文件句柄 - UNIX中什么都是文件,所以察看进程的打开文件句柄就能看见所有打开的常规文件,网络套接字和FIFO。这些信息在跟踪进程项文件存储信息(比如sniffer)或者打开套接字(比如后门)等有用。
<br>
* 命令行参数 - 在解释进程执行的选项时有用。比如,设想入侵者运行netcat,除非你获得命令行参数,否则很难观察到入侵者连接到哪里,而结构里的命令行参数则包含了netcat的ip地址和端口。
<br>
* 进程环境变量 - 每个运行的进程都有自己的环境变量表。一般来说,它是运行用户在执行进程时的环境表的拷贝。因此,检查这个表有助于获得入侵者入侵回话的额外信息。
<br>
<br>
由此,我们的工具应当遍历此双循环链表,将每个进程的信息记录到日志中。记录与ps -ef命令的结果很类似,因此我们能够轻松阅读结果。另外,将创建一个包含进程运行镜像的独立文件,供将来的离线工具分析。在linux中访问进程执行镜像不太容易直接完成,但仍然可能。镜像驻留在任务结构的内存映像中,在此内存映像结构中有一块虚拟内存区和任务相关联。内存区中的虚拟内存文件包含了文件操作符数组。一旦我们找到适当的读取函数,将执行映像读取出来并写到另一个文件中就非常简单了。理论上,由于进程在运行后其二进制代码可能被删除,进程应将可执行映像完全载入到内存中。获得映像最困难的部分是找到它在内存中的什么地方。
<br>
<br>
当我们的模块运行时,任何其他进程不能调度运行。中断和其他系统活动仍然可以发生,但是此模块优先运行。由于此模块“冻结”了进程表,我把它命名为“硝酸甘油”。源代码可以在http://www.foundstone.com 找到,作为在以后版本的linux和其他操作系统开发类似工具的基础。
<br>
<br>
最后一个判断knark是否在你的系统中加载的依据是查看网卡的状态。当knark加载,网卡将永远不会报告处于混杂状态。这是为了防止系统管理员注意到入侵者把网卡置于混杂状态的嗅探器。实际上,你需要做的,仅仅是运行tcpdump或者其他嗅探器并且用ifconfig观察网卡的状态。如果网卡仍不处于混杂状态,可能knark已经加载了。
<br>
<br>
结论
<br>
可加载模块对入侵响应来说是一个明显的冲击。破坏性的可加载模块已经公诸于众,并且可能已经被许多入侵者使用。这将入侵和入侵检测提高到了内核级别。尽管看起来进行调查时内核模块是很明显的要素,但这不是致命的。我们可以看到能够采取简单的方法来保护自己免受此类攻击。此外,对此类攻击的检测工具和技术同样利用运行在内核空间向入侵者开火 smile
<br>
</FONT><br>
                                      </TD>
                                    </TR>
                                <TR>
                                <TD colSpan=2><FONT 
                                class=middlefont></FONT><BR>
                                        <FONT 
                                class=normalfont>全文结束</FONT> </TD>
                                    </TR>
                                <TR>
                                <TD background="images/dot.gif" tppabs="http://www.linuxhero.com/docs/images/dot.gif" colSpan=2 
                                height=10></TD></TR></TBODY></TABLE></TD></TR></TBODY></TABLE></DIV></TD>
                        <TD vAlign=top width="20%" 
                      background="images/line.gif" tppabs="http://www.linuxhero.com/docs/images/line.gif" rowSpan=2> 
                          <DIV align=center> 
                            <table class=tableoutline cellspacing=1 cellpadding=4 
                        width="100%" align=center border=0>
                              <tr class=firstalt> 
                                <td noWrap background="images/bgline.gif" tppabs="http://www.linuxhero.com/docs/images/bgline.gif" colspan=2 height=21>
                                <font class=normalfont><b>所有分类</b></font></td>
                              </tr>
<tr class=secondalt> <td noWrap width=27%> <font class=normalfont>1:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type1.html" tppabs="http://www.linuxhero.com/docs/type1.html">非技术类</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>2:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type2.html" tppabs="http://www.linuxhero.com/docs/type2.html">基础知识</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>3:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type3.html" tppabs="http://www.linuxhero.com/docs/type3.html">指令大全</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>4:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type4.html" tppabs="http://www.linuxhero.com/docs/type4.html">shell</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>5:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type5.html" tppabs="http://www.linuxhero.com/docs/type5.html">安装启动</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>6:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type6.html" tppabs="http://www.linuxhero.com/docs/type6.html">xwindow</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>7:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type7.html" tppabs="http://www.linuxhero.com/docs/type7.html">kde</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>8:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type8.html" tppabs="http://www.linuxhero.com/docs/type8.html">gnome</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>9:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type9.html" tppabs="http://www.linuxhero.com/docs/type9.html">输入法类</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>10:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type10.html" tppabs="http://www.linuxhero.com/docs/type10.html">美化汉化</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>11:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type11.html" tppabs="http://www.linuxhero.com/docs/type11.html">网络配置</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>12:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type12.html" tppabs="http://www.linuxhero.com/docs/type12.html">存储备份</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>13:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type13.html" tppabs="http://www.linuxhero.com/docs/type13.html">杂项工具</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>14:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type14.html" tppabs="http://www.linuxhero.com/docs/type14.html">编程技术</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>15:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type15.html" tppabs="http://www.linuxhero.com/docs/type15.html">网络安全</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>16:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type16.html" tppabs="http://www.linuxhero.com/docs/type16.html">内核技术</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>17:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type17.html" tppabs="http://www.linuxhero.com/docs/type17.html">速度优化</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>18:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type18.html" tppabs="http://www.linuxhero.com/docs/type18.html">apache</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>19:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type19.html" tppabs="http://www.linuxhero.com/docs/type19.html">email</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>20:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type20.html" tppabs="http://www.linuxhero.com/docs/type20.html">ftp服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>21:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type21.html" tppabs="http://www.linuxhero.com/docs/type21.html">cvs服务</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>22:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type22.html" tppabs="http://www.linuxhero.com/docs/type22.html">代理服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>23:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type23.html" tppabs="http://www.linuxhero.com/docs/type23.html">samba</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>24:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type24.html" tppabs="http://www.linuxhero.com/docs/type24.html">域名服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>25:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type25.html" tppabs="http://www.linuxhero.com/docs/type25.html">网络过滤</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>26:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type26.html" tppabs="http://www.linuxhero.com/docs/type26.html">其他服务</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>27:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type27.html" tppabs="http://www.linuxhero.com/docs/type27.html">nfs</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>28:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type28.html" tppabs="http://www.linuxhero.com/docs/type28.html">oracle</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>29:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type29.html" tppabs="http://www.linuxhero.com/docs/type29.html">dhcp</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>30:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type30.html" tppabs="http://www.linuxhero.com/docs/type30.html">mysql</a></font></td>    </tr>  </table></td></tr><tr class=secondalt> <td noWrap width=27%> <font class=normalfont>31:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type31.html" tppabs="http://www.linuxhero.com/docs/type31.html">php</a></font></td>    </tr>  </table></td></tr><tr class=firstalt> <td noWrap width=27%> <font class=normalfont>32:</font> </td><td noWrap width=73%>   <table width=100% border=0>    <tr>       <td><font class=normalfont><a href="type32.html" tppabs="http://www.linuxhero.com/docs/type32.html">ldap</a></font></td>    </tr>  </table></td></tr>                            </table>
                          </DIV></TD></TR>
                    <TR vAlign=top>
                        <TD width="80%"> 
                          <DIV align=center><BR>
                          </DIV>
                        </TD></TR></TBODY></TABLE></TD></TR>
                </TABLE></TD></TR>
          </TABLE>
      <TABLE cellSpacing=0 cellPadding=4 width="100%" bgColor=#eeeeee 
        border=0><TBODY>
        <TR>
          <TD width="50%">
              <P><FONT class=middlefont>版权所有 &copy; 2004 <A 
            href="mailto:bjchenxu@sina.com">linux知识宝库</A><BR>
                违者必究. </FONT></P>
            </TD>
          <TD width="50%">
              <DIV align=right><FONT class=middlefont>Powered by: <A 
            href="mailto:bjchenxu@sina.com">Linux知识宝库</A> Version 0.9.0 </FONT></DIV>
            </TD></TR></TBODY></TABLE>
      <CENTER></CENTER></TD></TR>
    </TABLE></CENTER></BODY></HTML>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -