入侵检测与蜜罐技术.ppt
网络安全技术,骆耀祖 刘东远 骆珍仪编著,第 5 章 入侵检测与蜜罐技术,本章介绍网络入侵检测、用手工检测入侵的方法及入侵检测产品,讨论了如何用Snort建立一个入侵检测系统以及分布式攻击的防范策略,最后讨论了黑客诱骗技术。,5.1 网络入侵检测,入侵检测(Intrusion Detection)是对入侵行为的发觉。它通过对计算机网络或计算机系统中的若干关键点收集信息并对其进行分析,从中发现网络或系统中是否有违反安全策略的行为和被攻击的迹象。进行入侵检测的软件与硬件的组合便是入侵检测系统IDS(Intrusion Detection System)。与其他安全产品不同的是,入侵检测系统需要更多的智能,它必须可以将得到的数据进行分析,并得出有用的结果。一个合格的入侵检测系统能大大的简化管理员的工作,保证网络安全的运行。,5.1.1 网络入侵检测概述,网络入侵检测技术也叫网络实时监控技术,它通过硬件或软件对网络上的数据流进行实时检查,并与系统中的入侵特征数据库进行比较,一旦发现有被攻击的迹象,立刻根据用户所定义的动作做出反应,如切断网络连接,或通知防火墙系统对访问控制策略进行调整,过滤入侵的数据包等。,网络入侵检测技术的特点,网络入侵检测技术的特点是利用网络监控软件或者硬件对网络流量进行监控并分析,及时发现网络攻击的迹象并做出反应。入侵检测部件可以直接部署于受监控网络的广播网段,或者直接接收受监控网络旁路过来的数据流。为了更有效地发现网络受攻击的迹象,网络入侵检测部件应能够分析网络上使用的各种网络协议,识别各种网络攻击行为。网络入侵检测部件对网络攻击行为的识别,通常是通过网络入侵特征库来实现的,这种方法有利于在出现了新的网络攻击手段时方便地对入侵特征库加以更新,提高入侵检测部件对网络攻击行为的识别能力。,入侵检测技术是一种能够及时发现并报告系统中未授权或异常现象的技术,是一种用于检测计算机网络中违反安全策略行为的技术。违反安全策略的行为主要有入侵和滥用。入侵是指非法用户的违规行为;而滥用则是指用户的违规行为。利用审计记录,入侵检测系统能够识别出任何不希望有的活动,从而达到限制这些活动,以保护系统的安全。入侵检测系统的应用,能使在入侵攻击对系统发生危害前,检测到入侵攻击,并利用报警与防护系统驱逐入侵攻击。在入侵攻击过程中,能减少入侵攻击所造成的损失。在被入侵攻击后,收集入侵攻击的相关信息,作为防范系统的知识,添加入知识库内,以增强系统的防范能力。,1.信息收集,入侵检测的第一步是信息收集,内容包括系统、网络、数据及用户活动的状态和行为。需要在计算机网络系统中的若干不同关键点(不同网段和不同主机)收集信息。一是要尽可能扩大检测范围,二是因为虽然来自一个源的信息有可能看不出疑点,但来自几个源的信息的不一致性却是可疑行为或入侵的最好标识。入侵检测很大程度上依赖于收集信息的可靠性和正确性。因为黑客经常替换软件以搞混和移走这些信息,因此,需要保证用来检测网络系统的软件的完整性,特别是入侵检测系统软件本身应具有相当强的坚固性,防止被篡改而收集到错误的信息。,入侵检测利用的信息,入侵检测利用的信息一般来自以下四个方面:(1)系统和网络日志文件(2)目录和文件中的不期望的改变(3)程序执行中的不期望行为(4)物理形式的入侵信息 未授权的对网络硬件连接对物理资源的未授权访问。,2.信号分析,对上述四类收集到的有关系统、网络、数据及用户活动的状态和行为等信息,一般通过模式匹配,统计分析和完整性分析三种技术手段进行分析。其中前两种方法用于实时的入侵检测,而完整性分析则用于事后分析。,(1)模式匹配模式匹配就是将收集到的信息与已知的网络入侵和系统误用模式数据库进行比较,从而发现违背安全策略的行为。该方法的一大优点是只需收集相关的数据集合,显著减少系统负担,且技术已相当成熟。它与病毒防火墙采用的方法一样,检测准确率和效率都相当高。但是,该方法存在的弱点是需要不断的升级以对付不断出现的黑客攻击手法,不能检测到从未出现过的黑客攻击手段。,(2)统计分析 统计分析方法首先给系统对象(如用户、文件、目录和设备等)创建一个统计描述,统计正常使用时的一些测量属性(如访问次数、操作失败次数和时延等)。测量属性的平均值将被用来与网络、系统的行为进行比较,任何观察值在正常值范围之外时,就认为有入侵发生。其优点是可检测到未知的入侵和更为复杂的入侵,缺点是误报、漏报率高,且不适应用户正常行为的突然改变。具体的统计分析方法如基于专家系统的、基于模型推理的和基于神经网络的分析方法,目前正处于研究热点和迅速发展之中。,(3)完整性分析 完整性分析主要关注某个文件或对象是否被更改,这经常包括文件和目录的内容及属性,它在发现被更改的、被特洛伊化的应用程序方面特别有效。完整性分析利用强有力的加密机制,称为消息摘要函数(例如MD5),它能识别哪怕是微小的变化。其优点是不管模式匹配方法和统计分析方法能否发现入侵,只要是成功的攻击导致了文件或其它对象的任何改变,它都能够发现。缺点是一般以批处理方式实现,不用于实时响应。,一个成功的入侵检测系统不但可使系统管理员时刻了解网络系统(包括程序、文件和硬件设备等)的任何变更,还能给网络安全策略的制订提供指南。更为重要的一点是,它应该管理、配置简单,从而使非专业人员非常容易地获得网络安全。而且,入侵检测的规模还应根据网络威胁、系统构造和安全需求的改变而改变。入侵检测系统在发现入侵后,会及时做出响应,包括切断网络连接、记录事件和报警等。作为一种积极主动地安全防护技术,入侵检测提供了对内部攻击、外部攻击和误操作的实时保护,在网络系统受到危害之前拦截和响应入侵。,5.1.2 用手工检测入侵,检测入侵、保护系统安全是管理员的最为重要的任务,熟悉常用手工入侵检测的方法和命令也应该是网络管理员的基本技能。因为UNIX系统经常承担着关键任务,所以它经常是入侵者攻击的首选目标。下面以Linux和solaris为例,介绍一些常用的手工入侵检测方法与命令,掌握了它不但可以迅速判断出一些简单的黑客入侵,还可以加深对入侵检测的了解,从而能更好地使用一些入侵检测和审计工具。,常用的手工入侵检测方法与命令,1.检查/etc/passwd文件中是否有可疑用户2.查看看看有没有奇怪的进程 3.检查是否有可疑进程4.检查网络连接和监听端口 查看网卡设置:#ifconfig-a查看本机的路由、网关设置是否正确:#netstat m(netstat rn,)列出本机所有的连接和监听的端口,查看有没有非法连接:#netstat-an查看本机所有开放的端口:#netstat-an|grep listen,5.检查系统日志 6.检查/etc/inet.conf和crontab文件是否被修改7.检查系统文件完整性 8.检查内核级后门 9.检查.rhosts./etc/hosts.equiv.forward文件是否被修改(这是常被黑客利用来安装后门的几个文件)。以上介绍的是一些简单的入侵检测原理和方法,手工入侵检测相当烦琐,很难进行深层次的检测,而且这些检测大多基于系统命令,如果系统文件已经被黑客替换的话,就不可能进行准确的检测,要正确有效地进行入侵检测和审计需要借助于一些入侵分析工具。,5.1.3 网络入侵监测系统,进行入侵检测的软件与硬件的组合便是IDS(Intrusion Detection System)。一般说来,和IDS关系比较密切的网络安全组件主要有防火墙、扫描器、防病毒软件和安全审计4大类。上述4种安全组件对正在进行的外部入侵和网络内部攻击缺乏检测和实时响应功能。而IDS的主要功能包括检测并分析用户在网络中的活动,识别已知的攻击行为,统计分析异常行为,核查系统配置和漏洞,评估系统关键资源和数据文件的完整性,管理操作系统日志,识别违反安全策略的用户活动等。,1.入侵检测系统概述,入侵检测产品可分为:网络入侵检测系统(Network Intrusion Detection System,NIDS)产品和主机入侵检测系统(Host Intrusion Detection System,HIDS)产品。混合的入侵检测系统可以弥补一些基于网络与基于主机的片面性缺陷。此外,文件的完整性检查工具也可看作是一类入侵检测产品。,NIDS系统由Probe(探测器)、NIDS Engine(探测引擎)、NIMS Manager(管理器)和NIMS Console(控制台)几部分组成,如图5.1所示。NIDS的优点主要是使用简便。一个网段上只需安装一个或几个这样的检测系统,便可以检测整个网段的入侵状况。另外,由于往往分出单独的计算机做这种旁路应用,不会给运行关键业务的主机和网络增加任何负担。,图5.1 NIDS的网络拓扑示意图,2.入侵检测技术,入侵检测系统所采用的技术可分为特征检测与异常检测两种。(1)特征检测(Signature-based detection)又称Misuse detection,特征检测对已知的攻击或入侵的方式做出确定性的描述,形成相应的事件模式。(2)异常检测(Anomaly detection)的假设是入侵者活动异常于正常主体的活动。(3)协议分析技术利用网络协议的高度规则性快速探测攻击的存在。,(4)统计检测 统计模型常用于异常检测。操作模型,该模型假设异常可通过测量结果与一些固定指标相比较得到,固定指标可以根据经验值或一段时间内的统计平均得到;方差,计算参数的方差,设定其置信区间;多元模型,操作模型的扩展,通过同时分析多个参数实现检测;马尔柯夫过程模型,将每种类型的事件定义为系统状态,用状态转移矩阵来表示状态的变化;时间序列分析,将事件计数与资源耗用根据时间排成序列,如果一个新事件在该时间发生的概率较低,则该事件可能是入侵。统计方法的最大优点是它可以“学习”用户的使用习惯,从而具有较高检出率与可用性。但是它的“学习”能力也给入侵者以机会通过逐步“训练”使入侵事件符合正常操作的统计规律,从而透过入侵检测系统。,(5)专家系统 用专家系统对入侵进行检测,经常是针对有特征入侵行为。所谓的规则,即是知识,不同的系统与设置具有不同的规则,且规则之间往往无通用性。专家系统的建立依赖于知识库的完备性,知识库的完备性又取决于审计记录的完备性与实时性。入侵的特征抽取与表达,是入侵检测专家系统的关键。在系统实现中,将有关入侵的知识转化为if-then结构(也可以是复合结构),条件部分为入侵特征,then部分是系统防范措施。运用专家系统防范有特征入侵行为的有效性完全取决于专家系统知识库的完备性。,3.入侵检测产品选择要点,当选择入侵检测系统时,要考虑的要点有:(1)系统的价格 免费的IDS与IDS商业产品的比较(2)特征库升级与维护的费用(3)网络入侵检测系统最大可处理流量(4)该产品容易被躲避吗(5)产品的可伸缩性(6)运行与维护系统的开销(7)产品支持的入侵特征数(8)产品有哪些响应方法(9)是否通过了国家权威机构的评测,4.入侵检测技术发展方向,今后的入侵检测技术大致会朝下述三个方向发展。(1)分布式入侵检测。一是针对分布式网络攻击的检测方法;二是使用分布式的方法来检测分布式的攻击,其中的关键技术为检测信息的协同处理与入侵攻击的全局信息的提取。(2)智能化入侵检测神经网络遗传算法模糊技术免疫原理专家系统(3)全面的安全防御方案,5.2 建立一个入侵检测系统,Snort是一个强大的轻量级的网络入侵检测系统。它具有实时数据流量分析和日志Ip网络数据包的能力,能够进行协议分析,对内容搜索/匹配。它能够检测各种不同的攻击方式,对攻击进行实时警报。只要遵守GPL,任何组织和个人都可以自由使用Snort。Snort虽然功能强大,但是其代码极为简洁,其源代码压缩包只有200KB不到。此外,Snort具有很好的扩展性和可移植性,跨平台性能极佳,目前已经支持Linux系列、Solaris、BSD系列、IRIX,HP-UX、Windows系列,Sco Openserver、Unixware等。,5.2.1 Snort概述,Snort主要功能:(1)采用Libpcap捕获数据链路层的分组并进行协议栈分析(TCP/IP协议)。(2)在网络内部,Snort使用Misused检测模型进行入侵检测,即通过一个完整的入侵规则库来实时匹配并探测入侵行为。此外,Snort还允许用户方便地编写并加入自己的规则。(3)日志可以存储成多种格式。,三种工作模式,Snort有三种工作模式。1.嗅探器模式所谓的嗅探器模式就是snort从网络上读出数据包然后显示在控制台上。2.数据包记录器如果要把所有的包记录到硬盘上,需要指定一个日志目录,snort就会自动记录数据包:./snort-dev-l./log3.网络入侵检测系统snort最重要的用途还是作为网络入侵检测系统(NIDS),使用下面命令行可以启动这种模式:./,4.网络入侵检测模式下的输出选项snort有6种报警机制:full、fast、socket、syslog、smb(winpopup)和none。其中有4个可以在命令行状态下使用-A选项设置。这4个选项是:-A fast-A full-A unsock-A none:,5.2.2 用Snort建立一个入侵检测系统,采用三层分布式体系结构,包括网络入侵探测器、入侵事件数据库和基于Web的分析控制台。为了避免不必要的网络流量,将网络入侵探测器和入侵事件数据库整合在一台RedhatLinux 8.0主机中,利用标准浏览器,异地访问主机上的Web服务器,并把它作为分析控制台,两者之间的通信采用HTTPS安全加密协议传输。,1.下载Snort所需软件包,Snort所需软件都是开放软件。表5.1给出了安装Snort所需软件包。,2.开始安装,(1)安装入侵事件数据库MySQL(2)安装openssl(3)安装Snort所依赖的网络抓包库Libpcap,将其按照默认配置安装在/usr/local目录下。(4)安装snort(5)安装Web服务器Apache(6)安装gd(7)安装实现语言PHP(8)安装分析控制台ACID,3.Snort的设定与启动,可以把Snort的chroot环境放在/home/snort中,然后执行以下的指令新增Snort这个用户:#groupadd snort#useradd-g snort-d/home/snort-s/nonexists-c Snort User snort然后把这个文件解压到/home/snort中,此时在/home/snort/出现rules文件,即Snort使用的Ruleset。其中的snort.conf,是Snort的配置文件,需要按实际情况修改snort.conf。,在 snort.conf 中,需要修改几个地方便可以执行 Snort,以下是可能需要修改的地方:-var HOME_NET 网络或是主机的 IP,例如只有这一台服务器,就可以只输入服务器的 IP 地址,如果机器有两个以上的 IP,可以使用这个方法:var HOME_NET 192.168.1.1,192.168.1.2 或是,-var SMTP IP.Address SMTP 服务器的位置,如果与 HOME_NET 中的不同,只需把$HOME_NET 删除,并加其指定 SMTP 机器的IP便可以。-var HTTP_SERVERS HTTP 服务器,与 SMTP 中的设定相同,如成为 Web Server 的不是 HOME_NET 机器,可以指定给其他IP。-var DNS_SERVERS DNS 服务器的IP地址,同时需要 Uncomment 以下一行:preprocessor portscan-ignorehosts:$DNS_SERVERS 这可以防止因为 DNS 的 Lookup 而记录无用的 PortScan。,最后是有关记录部份的配置,刚才编译Snort时加入了MySQL的支持,为了使用 MySQL 记录,先要在 MySQL中建立 Snort 使用的 Databases、用者名及密码,执行以下命令:#echo CREATE DATABASE snort;mysql-u root-p#grant INSERT,SELECT on snort.*to snortlocalhost 然后在 Snort 的源码中 contrib/create_mysql,再执行以下命令建立 Tables#mysql-u root-p create_mysql,4.执行snort,为了运行该系统,以超级用户身份执行下列命令:#mkdir/var/log/snort#chown snort.snort/var/log/snort 现在cd 进入/home/snort,然后输入下列命令:/home/snort#snort-b-d-i eth0-u snort-g snort-c/home/snort/rules/snort.conf-l/var/log/snort),其中的特征码含有文本和16进制两种形式,它们以空格分割,snort运行时都被转换为二进制形式。至此,Linux下的Snort 安装建立成功。结果可以直接从WEB界面上看到,一套完整的IDS系统就可以正常运行了。,图5.2 IMAP缓冲区溢出攻击记录下的数据包,5.SNORT规则编写简介,Snort是一个轻量级产品,因此很难应用于大型网络。但Snort的规则语言非常经典,以至于一些商业化的产品中也套用其规则描述语言。一条Snort规则可以分为前后两个部分,规则头和后面的选项部分。规则头包含有匹配后的动作命令、协议类型、以及选择流量的四元组(源目的IP及源目的端口)。规则的选项部分是由一个或几个选项的复合,所有主要选项之间是与的关系。选项之间可能有一定的依赖关系。选项主要可以分为四类,第一类是数据包相关各种特征的描述选项;第二类是规则本身相关一些说明选项;第三类是规则匹配后的动作选项;第四类是选项是对某些选项的修饰。,在开发snort规则时要记住的原则,第一,大多数snort规则都写在一个单行上,或者在多行之间的行尾用/分隔。Snort规则头包含规则的动作,协议,源和目标ip地址与网络掩码,以及源和目标端口信息;规则选项部分包含报警消息内容和要检查的包的具体部分。下面是一个规则范例:alert tcp any any-192.168.1.0/24 111(content:|00 01 86 a5|;msg:mountd access;)第一个括号前的部分是规则头,包含的括号内的部分是规则选项。规则选项部分中冒号前的单词称为选项关键字。组成一个规则的所有元素对于指定的要采取的行动都必须是真的。当多个元素放在一起时,可以认为它们组成了一个逻辑与(AND)语句。同时,snort规则库文件中的不同规则可以认为组成了一个大的逻辑或(OR)语句。,当编写snort规则时,首先考虑的是效率和速度。好的规则要包含content选项。一个content选项越长,这个匹配就越精确。如果一条规则不包含content选项,它们将使整个系统慢下来。当编写规则时,尽量要把目标定位在攻击的地方(例如,将目标定位在1025的偏移量等等)而不仅仅是泛泛的指定(如,在此匹配脚本代码)。Content规则是大小写敏感的(除非使用了nocase选项)。不要忘记content是大小写敏感,而大多数程序的命令都是大写字母。,考虑如下的规则:alert tcp any any-192.168.1.0/24 21(content:user root;msg:FTP root login;)alert tcp any any-192.168.1.0/24 21(content:USER root;msg:FTP root login;)上面的第二条规则能检测出大多数的自动以root登录的尝试,而第一条规则就不行。在编写规则时,很好的理解协议规范将降低错过攻击的机会。,6.加速含有内容选项的规则,探测引擎运用规则的顺序和它们在规则中的书写顺序无关。内容规则选项总是最后一个被检验。利用这个事实,应该先运用别的快速规则选项,由这些选项决定是否需要检查数据包的内容。例如:在TCP会话建立起来后,从客户端发来的数据包,PSH和ACK这两个TCP标志总是被置位的。如果想检验从客户端到服务器的有效载荷,利用这个事实,就可以先进行一次TCP标志检验,这比模式匹配算法(pattern match algorithm)在计算上节约许多。使用内容选项的规则要加速的一个简便方法就是也进行一次标志检验。基本思想是,如果PSH和ACK标志没有置位,就不需要对数据包的有效载荷进行检验。如果这些标志置位,检验标志而带来的计算能力消耗是可以忽略不计的。,5.3 黑客诱骗技术,5.3.1 网络欺骗概述 网络欺骗就是使入侵者相信系统存在有价值的、可利用的安全弱点,并具有一些可攻击窃取的资源,并将入侵者引向这些错误的资源。它能够显著地增加入侵者的工作量、入侵复杂度以及不确定性,从而使入侵者不知道其进攻是否奏效或成功。而且它允许防护者跟踪入侵者的行为,在入侵者之前修补系统可能存在的安全漏洞。网络欺骗一般通过隐藏和伪装等技术手段实现,前者包括隐藏服务、多路径和维护安全状态信息机密性,后者包括重定向路由、伪造假信息和设置圈套等等。,1.蜜罐技术,蜜罐(Honey Pot)技术模拟存在漏洞的系统,为攻击者提供攻击目标。其目标是寻找一种有效的方法来影响入侵者,使得入侵者将技术、精力集中到蜜罐而不是其他真正有价值的正常系统和资源中。蜜罐技术还能做到一旦入侵企图被检测到时,迅速地将其切换。蜜罐是一种被用来侦探、攻击或者缓冲的安全资源,用来引诱人们去攻击或入侵它,其主要目的在于分散攻击者的注意力、收集与攻击和攻击者有关的信息。分布式蜜罐技术是将蜜罐散布在网络的正常系统和资源中,利用闲置的服务端口充当欺骗,从而增大了入侵者遭遇欺骗的可能性。它具有两个直接的效果,将欺骗分布到更广范围的IP地址和端口空间中,增大了欺骗在整个网络中的百分比,使得欺骗比安全弱点被入侵者扫描器发现的可能性增大。,(1)蜜罐的类型根据攻击者同蜜罐所在的操作系统的交互程度,即连累等级,把蜜罐分为:低连累蜜罐。这种蜜罐只提供某些伪装服务。但蜜罐无法看到攻击者同操作系统的交互过程,处于一种被动防御的地位。中连累蜜罐。这种蜜罐提供更多接口同操作系统进行交互,因此攻击者发现其中的安全漏洞的风险增加。高连累蜜罐。这时蜜罐可以全方位与操作系统进行交互,因此需要对蜜罐进行监视,需要限制蜜罐访问的资源和范围,过滤进出蜜罐的通信流。否则,蜜罐本身可能成为另一个安全漏洞。从商业运作的角度,蜜罐又分为商品型和研究型。,(2)蜜罐的布置与标准服务器一样,蜜罐可以位于网络的任何位置。根据需要,蜜罐可以放置在互联网中,也可以放置在内联网中。通常情况下,蜜罐可以放在防火墙外面和防火墙后面等。蜜罐放在防火墙外面,对内部网的安全不会有任何影响。这样消除了在防火墙后面出现一台主机失陷的可能。但是蜜罐可能产生大量不可预期的通信量。蜜罐放在防火墙后面,有可能给内部网引入新的安全威胁。通常蜜罐提供大量的伪装服务,因此不可避免地修改防火墙的过滤规则。一旦蜜罐失陷,那么整个内部网将完全暴露在攻击者面前。,2.蜜空间技术,蜜空间(Honey Space)技术是通过增加搜索空间来显著地增加入侵者的工作量,从而达到安全防护的目的。利用计算机系统的多宿主能力,即在只有一块以太网卡的计算机上,使它拥有众多IP地址,而且每个IP地址有它们自己的MAC地址。建立了一大段地址空间的欺骗,实际上这些在一台计算机上就可实现。当入侵者的扫描器访问到网络系统的外部路由器并探测到一个欺骗服务时,可将扫描器所有的网络流量重定向到欺骗上,使得接下来的远程访问变成这个欺骗的继续。当然,采用这种欺骗时网络流量和服务的切换即重定向必须严格保密,因为一旦暴露就将招致攻击,入侵者很容易将任一已知有效的服务和这种用于测试入侵者的扫描探测及其响应的欺骗区分开来。,3.蜜网技术,蜜网(honey Net)是一个网络系统,而并非某台单一主机。该网络系统隐藏在防火墙后面,对所有进出的资料进行监控、捕获及控制。这些被捕获的资料用于分析黑客团体使用的工具、方法及动机。在蜜网中使用虚拟设备,在单台设备上运行多个虚拟操作系统,甚至把防火墙设置在这台机器上,这样建立的网络看起来更加真实可信。蜜网是一个真实运行网的拷贝,是完全模拟的仿真,不易被黑客发现。通过跟踪及时准确地记录黑客的攻击信息,获得黑客的犯罪证据。蜜网的引入解决了网络安全中的两大难题。首先,使管理员及时认识到网络安全中的隐患。其次,解决了证据收集难的问题。,5.3.2 蜜罐实例,下面介绍蜜罐的一些实例,虽然在功能上还比不上一些商品化的蜜罐,不过已经可以满足说明问题的需要了。,1.使用NetCat建立一个honeypot,一般情况下,很多黑客都喜欢尝试针对对方系统服务进行慢速扫描以确认下一步可能的攻击方向。黑客工具NetCat的功能之一是可以在一些端口上绑定服务,这样就允许在Linxu、NT、FreeBSD上建立一些虚假服务,这样就可以审计一些端口扫描以及连接信息。当然,这样配置存在一些问题,如说半开连接如nmap-sS victim就不会被记录,但是实际上,很多黑客在确信端口开启的情况下,为了确定服务的信息如版本,他们会选择完成三次握手,这样,他们的IP就暴露了.。,2.winetd,winetd是一个非常简单的Windows上的honeypot实现,安装非常简单,界面也很友好,只是伪装过于简单,并不能真正诱骗黑客进入,如果按功能来说,不算一个严格意义上的honeypot。Windows默认启动的时候,系统开启的服务很少,下面是使用Nmap的扫描结果:Port State Service 135/tcp open loc-srv 445/tcp open microsoft-ds 3389/tcp open msrdp 可以看到系统仅开启三个端口。,启动Winetd之后,它会在系统上开启如下服务,如echo、Telnet、smtp等服务,Nmap的扫描结果是:Port State Service 3/tcp open compressnet 7/tcp open echo 13/tcp open daytime 23/tcp open telnet 25/tcp open smtp 34/tcp open unknown 135/tcp open loc-srv 137/tcp open netbios-ns 139/tcp open netbios-ssn 445/tcp open microsoft-ds 3389/tcp open msrdp,Telnet 到23端口,弹出如下信息:Red Hat Linux realease 7.0(Guinness)Kernel 2.2.16-22 on an i686 login:其实系统是一台Windows2000,Winetd还可以自己定义要打开的服务,使用什么样的程序进行模拟。Winetd还具有日志和反击功能。当对运行Winetd的系统进行扫描或别的探测活动时,如用Nmap使用偷偷扫描后所留下的日志信息,它都会发现和探测到。但这样的蜜罐还不至于能诱骗一个经验丰富的黑客。他使用fingerprint就可以探测系统是Linux还是W2k,如果发现是W2k,而Telnet又显示上面的信息,那么黑客很快就会离开,甚至恼怒而攻击系统。Winetd是一个自由软件,它的思路非常好,但要成为真正的honeypot,还有待于继续深入开发。,3.dtk,DTK(Deception Tool Kit),可在多种Unix系统上运行,它是由Fred Cohen开发的。DTK目前可以真正模拟的系统有十种左右,而且它可模拟很多服务,更确切的说,可以称它为一个状态机,功能非常强大,需要C和Perl编译器去编译运行,缺点是在构建时非常麻烦,如说在编译时要自己选择操作系统,选择所要模仿的操作系统等。,5.4 练习与思考,5.1 什么是入侵检测系统?简述入侵检测系统目前面临的挑战。5.2 简述入侵检测常用的四种方法。5.3 编写程序实现每十秒检查一次与端口关联的应用程序。(上机完成)5.4 简述入侵检测的步骤以及每一步的工作要点。5.5 对某一台装有入侵检测工具的计算机进行扫描攻击等实验,查看入侵检测系统的反应,并编写实验报告。(上机完成)。,