入侵检测与预警控制的捷径设置陷阱

 

范海绍

浙江工商职业技术学院   宁波  315010

  要:本文讨论了网络入侵检测与预警的各种理论和技术,分析了黑客攻击的各种可能性以及目前对付黑客攻击的各种手段,提出了设置陷阱的新思路,并在 Linux 上实现。作者希望用此方法简化入侵检测与预警控制的复杂性,更快速、有效、灵活地对付黑客入侵。

关键词:入侵检测;预警控制;设置陷阱;诱骗技术

中图分类号TP3

 

A short cut of Inbreaking check and warning control

(Fan Haishao, Ningbo, 315010)

AbstractThis article discusses the theories and technology of networking inbreaking check and warning control. Analysis the possibilities of attacking by hacker and means to meet this attacking and advance a new idea setting traps and comes true on Linux. The author hopes to use this method to simplify the complexity of networking inbreaking check and warning control and meet hacker inbreaking quickly, efficiently and neatly.

Key wordsinbreaking check, warning control, setting traps, technology of trap

 

作者简介:范海绍  1954年生  男,教师  主攻方向:网络信息安全,数据库应用

 

入侵一个系统有很多步骤,是阶段性很强的“工作”,其最终的目标是获得超级用户权限--对目标系统的绝对控制。从对该系统一无所知开始,黑客利用其提供的各种网络服务收集关于它的信息,这些信息暴露出系统的安全脆弱性或潜在入口;然后利用这些网络服务固有的或配置上的漏洞,试图从目标系统上取回重要信息(如口令文件)、或在上面执行命令,通过这些办法,黑客有可能在该系统上获得一个普通的shell接口;接下来,再利用目标系统本地的操作系统或应用程序的漏洞试图提升在该系统上的权限,攫取超级用户控制;适当的善后工作包括隐藏身份、消除痕迹、安置特伊木马和留后门[1]。

入侵检测技术是动态安全技术的核心技术之一。传统的操作系统加固技术和防火墙隔离技术等都是静态安全防御技术,对网络环境下日新月异的攻击手段缺乏主动的反应。目前,利用最新的可适应网络安全技术和P2DR(Policy Protection Detection Response)安全模型,已经可以深入地研究入侵事件、入侵手段本身及被入侵目标的漏洞等[2]
  信息基础设施的重要性,决定了网络入侵检测与预警的必要性。当我们像需要雷达来保卫领空一样地需要网络预警来保卫网络时,投入人力、物力和财力来攻克网络预警的关键技术,研制和开发实用的网络入侵检测与预警系统便成为十分必要的举措。
  一、开展入侵检测技术研究的紧迫性
  所有的安全威胁都有可能以攻击、侵入、渗透、影响、控制和破坏网络和网上信息系统作为重要手段。因此,对来自网上的破坏活动的监控与审计,是防范的先决条件,是构筑信息安全环境重要而必不可少的环节。
  国外早已开展了早期预警系统及入侵检测技术的研究,在一些重要的政治、军事和经济网络上对非法入侵实施监控。这些系统在保障信息网络安全、尽早发现入侵攻击迹象、分析入侵攻击的技术手段方面发挥着重要的作用。为了提高信息系统的防护能力,我国应尽快填补这方面的空白。
  二、多样化的检测对象
  网络入侵活动是由不同类型的个人或组织,怀着不同的目的,采用不同的技术,于不同的地点和时间,针对不同的目标而发动的。诸多的不同及其不同的组合,构成了检测对象的多样性。
  入侵检测与预警技术的研究,至少要达成如下多层次的目标:
  1. 对信息基础设施的安全状况及威胁(包括威胁的来源和程度)做出全面的系统评估。
  2. 把威胁的来源作为对象,按时间顺序、动作意图、威胁范围和程度,进行统计、分析及审计。
  3. 对来自外部网络的恶意代码和违规操作进行识别、跟踪、记录、分类和报警。
  4. 为遭到破坏的网络及信息系统的恢复提供技术性支持。
  三、预警的复杂性
  由于网络的危害行为是一系列很复杂的活动,特别是有预谋、有组织的网络入侵,因而有效的预警在技术实现上比较复杂并有一定的难度。
  预警的复杂性表现在:
* 来源的识别;
* 企图的判定;
* 危害程度和潜在能力的判断;
* 网络技术的跟踪;
* 软件设计;
* 硬件的适应性。
  面对复杂的网络入侵活动,网络预警技术的研究不仅仅包括入侵技术的研究,而且要更重视建立入侵检测策略和模型的理论研究[3]。
  
黑客诱骗技术是近期发展起来的一种网络安全技术,通过一个由网络安全专家精心设置的特殊系统来引诱黑客,并对黑客进行跟踪和记录。这种黑客诱骗系统通常也称为蜜罐(Honeypot)系统,其最重要的功能是特殊设置的对于系统中所有操作的监视和记录,网络安全专家通过精心的伪装使得黑客在进入到目标系统后,仍不知晓自己所有的行为已处于系统的监视之中。为了吸引黑客,网络安全专家通常还在蜜罐系统上故意留下一些安全后门来吸引黑客上钩,或者放置一些网络攻击者希望得到的敏感信息,当然这些信息都是虚假信息。这样,当黑客正为攻入目标系统而沾沾自喜的时候,他在目标系统中的所有行为,包括输入的字符、执行的操作都已经为蜜罐系统所记录。有些蜜罐系统甚至可以对黑客网上聊天的内容进行记录。蜜罐系统管理人员通过研究和分析这些记录,可以知道黑客采用的攻击工具、攻击手段、攻击目的和攻击水平,通过分析黑客的网上聊天内容还可以获得黑客的活动范围以及下一步的攻击目标,根据这些信息,管理人员可以提前对系统进行保护。同时在蜜罐系统中记录下的信息还可以作为对黑客进行起诉的证据[4]。

从以上分析看,不管用何种技术方法,入侵检测并非易事。我们是否可以换一种思路,以其人之道还治其人之身,在黑客必经之路设置各种陷阱,以陷阱的触发,启动入侵检测,进而阻止黑客入侵。以Linux系统为例,黑客一旦获得root口令,就会以root身份登录,这一登录过程就是黑客入侵的必经之路。其二,黑客也可能先以普通用户身份登录,然后用su命令转换成root身份,这又是一条必经之路。

我们讨论如何在以下情况下设置陷阱:

1. 当黑客以root身份登录时

2. 当黑客用su命令转换成root身份时

3. 当黑客以root身份成功登录后一段时间内

第一种情况的陷阱设置

一般情况下,只要用户输入的用户名和口令正确,就能顺利进入系统。正是这种简单的防护手段,给黑客入侵提供了方便。如果我们在进入系统时设置了陷阱,并使黑客对此防不胜防,就会大大提高入侵的难度系数。例如,当黑客已获取正确的root口令,并以root身份登录时,我们在此设置一个迷魂阵,提示它,你输入的口令错误,并让它重输用户名和口令。而其实,这些提示都是虚假的,只要在某处输入一个密码就可通过。黑客因此就掉入这个陷阱,不断地输入root用户名和口令,却不断地得到口令错误的提示,从而使它怀疑所获口令的正确性,放弃入侵的企图。

给超级用户也就是root用户设置陷阱,并不会给系统带来太多的麻烦,因为,拥有root口令的人数不会太多,为了系统的安全,稍微增加一点复杂性也是值得的。这种陷阱的设置时很方便的,我们只要在root用户的.profile中加一段程序就可以了。我们完全可以在这段程序中触发其他入侵检测与预警控制程序。陷阱程序如下:

# root .profile

….

Clear

Echo “You had input an error password , please input again !”

Echo

Echo –n “Login:”

Read p

If ( “$p” = “123456”) then

   Clear

Else

   Exit

Fi

第二种情况的陷阱设置

在很多情况下,黑客会通过su命令转换成root身份,因此,必须在此设置陷阱。当黑客使用su命令,并输入正确的root口令时,也应该报错,以此来迷惑它,使它误认为口令错误,从而放弃入侵企图。这种陷阱的设置也很简单,你可以在系统的/etc/profile文件中设置一个alias,把su命令重新定义成转到普通用户的情况就可以了,例如alias su=su user1。这样,当使用su时,系统判断的是user1的口令,而不是root的口令,当然不能匹配。即使输入su  root也是错误的,也就是说,从此屏蔽了转向root用户的可能性。

第三种情况的陷阱设置

如果前两种设置都失效了,黑客已经成功登录,就必须启用登录成功的陷阱。一旦root用户登录,就可以启动一个计时器,正常的root登录就能停止计时,而非法入侵者因不知道何处有计时器,就无法停止计时,等到一个规定的时间到,就意味着有黑客入侵,需要触发必要的控制程序,如关机处理等,以免造成损害,等待系统管理员进行善后处理。陷阱程序如下:

# .testfile

times=0

while [ $times –le 30 ] do

   sleep 1

   times=$[times + 1]

done

halt    /* 30秒时间到,触发入侵检测与预警控制 */

将该程序放入root .bashrc中后台执行:

# root . bashrc

….

Sh .testfile&

该程序不能用Ctrl-C终止,系统管理员可用jobs命令检查到,然后用kill  %n将它停止。

从上述三种陷阱的设置,我们可以看到一个一般的规律:改变正常的运行状态,设置虚假信息,使入侵者落入陷阱,从而触发入侵检测与预警控制程序。这种陷阱的设置都比较简单,却可以千变万化,使入侵者防不胜防。其难点仅在于,需要了解系统的运行机制。

 

参考文献

[1] samsa  网络入侵实用战术手册alpha  http://xexploit.css.com.cn 1999.5

[2] 潘宇东 入侵检测保安全  http://xexploit.css.com.cn
     [3] 贾颖禾 
入侵检测与预警 http://xexploit.css.com.cn

[4] 金华敏  网络安全技术介绍   http://www.cndata.com 2001-9-29

[5] 杨志文 深入LINUX建构与管理 中国青年出版社 2001.4