蜜罐技术的工作原理

2024-12-14 23:03:25
推荐回答(3个)
回答1:

蜜罐的主要原理包括以下几个方面:
第一,网络欺骗。
使入侵者相信存在有价值的、可利用的安全弱点,蜜罐的价值就是在其被探测、攻击或者攻陷的时候得以体现,网络欺骗技术是蜜罐技术体系中最为关键的核心技术,常见的有模拟服务端口、模拟系统漏洞和应用服务、流量仿真等。

第二,数据捕获。
一般分三层实现:最外层由防火墙来对出入蜜罐系统的网络连接进行日志记录;中间层由入侵检测系统(IDS)来完成,抓取蜜罐系统内所有的网络包;最里层的由蜜罐主机来完成,捕获蜜罐主机的所有系统日志、用户击键序列和屏幕显示。

第三,数据分析。
要从大量的网络数据中提取出攻击行为的特征和模型是相当困难的,数据分析是蜜罐技术中的难点,主要包括网络协议分析、网络行为分析、攻击特征分析和入侵报警等。数据分析对捕获的各种攻击数据进行融合与挖掘,分析黑客的工具、策略及动机,提取未知攻击的特征,或为研究或管理人员提供实时信息。

第四,数据控制。
数据控制是蜜罐的核心功能之一,用于保障蜜罐自身的安全。蜜罐作为网络攻击者的攻击目标,若被攻破将得不到任何有价值的信息,还可能被入侵者利用作为攻击其他系统的跳板。虽然允许所有对蜜罐的访问,但却要对从蜜罐外出的网络连接进行控制,使其不会成为入侵者的跳板危害其他系统。

首先我们要弄清楚一台蜜罐和一台没有任何防范措施的计算机的区别,虽然这两者都有可能被入侵破坏,但是本质却完全不同,蜜罐是网络管理员经过周密布置而设下的“黑匣子”,看似漏洞百出却尽在掌握之中,它收集的入侵数据十分有价值;而后者,根本就是送给入侵者的礼物,即使被入侵也不一定查得到痕迹……因此,蜜罐的定义是:“蜜罐是一个安全资源,它的价值在于被探测、攻击和损害。”
设计蜜罐的初衷就是让黑客入侵,借此收集证据,同时隐藏真实的服务器地址,因此我们要求一台合格的蜜罐拥有这些功能:发现攻击、产生警告、强大的记录能力、欺骗、协助调查。另外一个功能由管理员去完成,那就是在必要时候根据蜜罐收集的证据来起诉入侵者。

回答2:

来源

最初出现在1990 年出版的一本小说《The Cuckoo’s Egg》
中,在这本小说中描述了作者作为一个公司的网络管理员,如何追踪并发现一起
商业间谍案的故事。“蜜网项目组”(The Honeynet Project)的创始人Lance Spitzner
给出了对蜜罐的权威定义:蜜罐是一种安全资源,其价值在于被扫描、攻击和
攻陷。这个定义表明蜜罐并无其他实际作用,因此所有流入/流出蜜罐的网络流
量都可能预示了扫描、攻击和攻陷。而蜜罐的核心价值就在于对这些攻击活动进
行监视、检测和分析。
[编辑本段]蜜罐技术的发展历程

蜜罐技术的发展历程分为以下三个阶段。
从九十年代初蜜罐概念的提出直到1998 年左右,“蜜罐”还仅仅限于一种思
想,通常由网络管理人员应用,通过欺骗黑客达到追踪的目的。这一阶段的蜜罐
实质上是一些真正被黑客所攻击的主机和系统。
从1998 年开始,蜜罐技术开始吸引了一些安全研究人员的注意,并开发出
一些专门用于欺骗黑客的开源工具,如Fred Cohen 所开发的DTK(欺骗工具包)、
Niels Provos 开发的Honeyd 等,同时也出现了像KFSensor、Specter 等一些商业
蜜罐产品。这一阶段的蜜罐可以称为是虚拟蜜罐,即开发的这些蜜罐工具能够模
拟成虚拟的操作系统和网络服务,并对黑客的攻击行为做出回应,从而欺骗黑客。
虚拟蜜罐工具的出现也使得部署蜜罐也变得比较方便。
但是由于虚拟蜜罐工具存在着交互程度低,较容易被黑客识别等问题,从
2000 年之后,安全研究人员更倾向于使用真实的主机、操作系统和应用程序搭
建蜜罐,但与之前不同的是,融入了更强大的数据捕获、数据分析和数据控制的
工具,并且将蜜罐纳入到一个完整的蜜网体系中,使得研究人员能够更方便地追
踪侵入到蜜网中的黑客并对他们的攻击行为进行分析。
[编辑本段]按照其部署目的分

蜜罐可以按照其部署目的分为产品型蜜罐和研究型蜜罐两类,产品型蜜罐的
目的在于为一个组织的网络提供安全保护,包括检测攻击、防止攻击造成破坏及
帮助管理员对攻击做出及时正确的响应等功能。一般产品型蜜罐较容易部署,而
且不需要管理员投入大量的工作。较具代表性的产品型蜜罐包括DTK、honeyd
等开源工具和KFSensor、ManTraq 等一系列的商业产品。研究型蜜罐则是专门
用于对黑客攻击的捕获和分析,通过部署研究型蜜罐,对黑客攻击进行追踪和分
析,能够捕获黑客的键击记录,了解到黑客所使用的攻击工具及攻击方法,甚至
能够监听到黑客之间的交谈,从而掌握他们的心理状态等信息。研究型蜜罐需要
研究人员投入大量的时间和精力进行攻击监视和分析工作,具有代表性的工具是
“蜜网项目组”所推出的第二代蜜网技术。
[编辑本段]按照其交互度的等级划分

蜜罐还可以按照其交互度的等级划分为低交互蜜罐和高交互蜜罐,交互度反
应了黑客在蜜罐上进行攻击活动的自由度。低交互蜜罐一般仅仅模拟操作系统和
网络服务,较容易部署且风险较小,但黑客在低交互蜜罐中能够进行的攻击活动
较为有限,因此通过低交互蜜罐能够收集的信息也比较有限,同时由于低交互蜜
罐通常是模拟的虚拟蜜罐,或多或少存在着一些容易被黑客所识别的指纹
(Fingerprinting)信息。产品型蜜罐一般属于低交互蜜罐。高交互蜜罐则完全提
供真实的操作系统和网络服务,没有任何的模拟,从黑客角度上看,高交互蜜罐
完全是其垂涎已久的“活靶子”,因此在高交互蜜罐中,我们能够获得许多黑客
攻击的信息。高交互蜜罐在提升黑客活动自由度的同时,自然地加大了部署和维
护的复杂度及风险的扩大。研究型蜜罐一般都属于高交互蜜罐,也有部分蜜罐产
品,如ManTrap,属于高交互蜜罐。
[编辑本段]蜜罐技术的优点

?? 收集数据的保真度,由于蜜罐不提供任何实际的作用,因此其收集到的
数据很少,同时收集到的数据很大可能就是由于黑客攻击造成的,蜜罐
不依赖于任何复杂的检测技术等,因此减少了漏报率和误报率。
?? 使用蜜罐技术能够收集到新的攻击工具和攻击方法,而不像目前的大部
分入侵检测系统只能根据特征匹配的方法检测到已知的攻击。
?? 蜜罐技术不需要强大的资源支持,可以使用一些低成本的设备构建蜜罐,
不需要大量的资金投入。
?? 相对入侵检测等其他技术,蜜罐技术比较简单,使得网络管理人员能够
比较容易地掌握黑客攻击的一些知识。
[编辑本段]蜜罐技术的缺点

?? 需要较多的时间和精力投入。
?? 蜜罐技术只能对针对蜜罐的攻击行为进行监视和分析,其视图较为有限,
不像入侵检测系统能够通过旁路侦听等技术对整个网络进行监控。
?? 蜜罐技术不能直接防护有漏洞的信息系统。
?? 部署蜜罐会带来一定的安全风险。
部署蜜罐所带来的安全风险主要有蜜罐可能被黑客识别和黑客把蜜罐作为
跳板从而对第三方发起攻击。一旦黑客识别出蜜罐后,他将可能通知黑客社团,
从而避开蜜罐,甚至他会向蜜罐提供错误和虚假的数据,从而误导安全防护和研
究人员。防止蜜罐被识别的解决方法是尽量消除蜜罐的指纹,并使得蜜罐与真实
的漏洞主机毫无差异。蜜罐隐藏技术和黑客对蜜罐的识别技术(Anti-Honeypot)
之间相当于一个博弈问题,总是在相互竞争中共同发展。另外,蜜罐技术的初衷
即是让黑客攻破蜜罐并获得蜜罐的控制权限,并跟踪其攻破蜜罐、在蜜罐潜伏等
攻击行为,但我们必须防止黑客利用蜜罐作为跳板对第三方网络发起攻击。为了
确保黑客活动不对外构成威胁,必须引入多个层次的数据控制措施,必要的时候
需要研究人员的人工干预。

7.蜜罐的实际例子

下面我们以Redhat linux 9.0为平台,做一个简单的蜜罐陷阱的配置。

我们知道,黑客一旦获得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

第二种情况的陷阱设置

在很多情况下,黑客会通过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将它停止。

从上述三种陷阱的设置,我们可以看到一个一般的规律:改变正常的运行状态,设置虚假信息,使入侵者落入陷阱,从而触发入侵检测与预警控制程序。

你看是不是,不是就算了

回答3: