一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种蜜罐交互的方法、装置、蜜罐网络、设备及存储介质与流程

2022-04-25 03:14:02 来源:中国专利 TAG:
1.本发明涉及物联网安全领域,尤其是涉及一种蜜罐交互的方法、装置、蜜罐网络、设备及存储介质。
背景技术
::2.物联网(internetofthings,iot)设备在各领域的爆发增长使其成为黑客攻击的重灾区,而其繁杂异构的特点也给安全防御带来很大挑战。3.蜜罐(honeypot)作为主动防御的重要手段,既可服务于物联网安全,也可利用物联网设备作载体。现有技术中,传统的物联网蜜罐通常是针对某一种服务的特定漏洞设计的、或针对特定应用层服务设计的,这使得一个物联网蜜罐只能用于一种服务的特定漏洞,或一个物联网蜜罐需要独占特定应用层服务对应的一个端口。4.然而,在实际的物联网环境中,物联网设备的种类、型号都十分繁杂,应用层协议、漏洞数量也十分繁多,要实现物联网的安全防御就需要针对每种服务、每种协议、每个漏洞设计对应的物联网蜜罐,进而导致物联网蜜罐数量非常庞大,对于蜜罐部署、运营而言,难度高、运营工作量大。5.同时,由于每种物联网蜜罐都需要占用一个单独的端口,当不同应用层的物联网蜜罐所占用的端口发生冲突时,只能将不同物联网蜜罐部署到不同的主机上,这又增加了主机的数量,进一步加大了部署、运营的难度和工作量,同时还拉高了运营的经济成本。6.此外,僵尸网络对于相同漏洞的利用往往不会集中在同一个端口上,但受服务器性能限制,不能在一台服务器上无限制地将同种蜜罐部署到所有端口上,这往往导致物联网蜜罐遗会漏掉一部分攻击。7.并且,传统的物联网蜜罐的交互通常是采用key、value的形式,穷举攻击者潜在请求的资源,预置相关命令的执行结果,这使得物联网蜜罐的交互程度低,容易被攻击者识别成蜜罐,最终导致无法捕获后续攻击。8.鉴于此,如何提高蜜罐的交互程度和端口的兼容性、并降低蜜罐部署的难度、成本,成为一个亟待解决的技术问题。技术实现要素:9.本发明提供一种蜜罐交互的方法、装置、蜜罐网络、设备及存储介质,用以解决现有技术中存在的物联网蜜罐的交互程度低、端口兼容性差、以及部署难度大、成本高的技术问题。10.第一方面,为解决上述技术问题,本发明实施例提供的一种蜜罐交互的方法的技术方案如下:11.确定攻击者踏入的陷阱端口,并获取所述陷阱端口对应的路由表;其中,所述路由表用于穷举所述陷阱端口包含的各种漏洞对应的标准流量特征及对应的标准交互类型,每个标准流量特征与对应标准交互类以流量特征过滤规则的形式存储于对应路由表中;12.根据所述攻击者的流量特征信息与所述路由表中流量特征过滤规则的命中结果,确定所述流量特征信息对应的实际交互类型;13.获取与所述实际交互类型对应的交互规则,生成符合所述攻击者的交互意图的交互欺骗信息,并返回给所述攻击者。14.一种可能的实施方式,确定攻击者踏入的陷阱端口,包括:15.从虚拟端口接收所述攻击者的流量数据;其中,所述虚拟端口用于接收从各个陷阱端口通过流量重定向发送的流量数据,一个陷阱端口用于仿真一个服务端口或漏洞端口,每个陷阱端口预配置有对应的路由表;16.对所述攻击者的流量数据进行连接追踪,确定所述攻击者踏入的陷阱端口。17.一种可能的实施方式,对所述攻击者的流量数据进行连接追踪,确定所述攻击者踏入的陷阱端口,包括:18.从所述攻击者的流量数据中,获取唯一标识所述击者身份的身份信息;19.根据所述身份信息对所述流量数据进行连接追踪,确定所述攻击者踏入的陷阱端口。20.一种可能的实施方式,根据所述攻击者的流量特征信息与所述路由表中流量特征过滤规则的命中结果,确定所述流量特征对应的实际交互类型,包括:21.将所述流量特征信息与所述路由表中的标准流量特征进行逐一匹配,直至匹配成功或全部匹配完毕;22.当所述特征信息与任一条标准流量特征匹配成功时,从所述路由表中获取匹配成功的标准流量特征对应的标准交互类型,作为所述实际交互类型;23.当所述流量特征信息与所述路由表中的全部标准流量特征均匹配完毕后,仍未匹配成功,将所述路由表中默认的流量特征过滤规则对应的标准交互类型作为所述实际交互类型。24.一种可能的实施方式,所述标准交互类型,包括:25.静态交互、动态交互、解析器交互。26.一种可能的实施方式,获取与所述实际交互类型对应的交互规则,包括:27.当所述实际交互类型对应的标准交互类型为所述静态交互时,获取的交互规则为调用静态交互组件将符合所述交互意图的固定文本信息,作为所述交互欺骗信息;28.当所述实际交互类型对应的标准交互类型为所述动态交互时,获取的交互规则为调用动态交互组件对所述流量特征信息进行处理,根据处理结果生成符合所述交互意图的交互欺骗信息;其中,所述处理结果中包含复杂命令时,调用动态交互沙箱在真实的沙箱环境中执行所述复杂命令,并将执行结果作为对应的交互欺骗信息;29.当所述实际交互类型对应的标准交互类型为所述解析器交互时,获取的交互规则为调用与所述流量特征信息对应的解析器交互框架对所述流量特征信息进行解析,根据解析结果生成符合所述交互意图的交互欺骗信息;其中,所述解析结果中包含复杂命令时,调用动态交互沙箱在真实的沙箱环境中执行所述复杂命令,并将执行结果作为对应的交互欺骗信息。30.一种可能的实施方式,所述动态交互沙箱,包括:31.沙箱创建部分,用于创建沙箱实例,并在所述沙箱实例中执行所述复杂命令,返回所述执行结果;32.沙箱监控部分,用于监控当前已启动的所有沙箱实例,并销毁长时间运行或卡死的沙箱实例。33.一种可能的实施方式,在所述沙箱实例中执行所述复杂命令,包括:34.当确定所述复杂命令需要在所述动态交互沙箱执行时,创建文件名唯一的缓存文件;35.将所述复杂命令写入所述缓存文件;36.启动所述沙箱实例,并将所述缓存文件挂载到所述沙箱实例中,在所述沙箱实例中执行所述复杂命令,获得所述执行结果。37.第二方面,本发明实施例提供了一种蜜罐交互的装置,包括:38.确定单元,用于确定攻击者踏入的陷阱端口,并获取所述陷阱端口对应的路由表;其中,所述路由表用于穷举所述陷阱端口包含的各种漏洞对应的标准流量特征及对应的标准交互类型,每个标准流量特征与对应标准交互类以流量特征过滤规则的形式存储于对应路由表中;39.过滤单元,用于根据所述攻击者的流量特征信息与所述路由表中流量特征过滤规则的命中结果,确定所述流量特征信息对应的实际交互类型;40.处理单元,用于获取与所述实际交互类型对应的交互规则,生成符合所述攻击者的交互意图的交互欺骗信息,并返回给所述攻击者。41.一种可能的实施方式,所述确定单元还用于:42.从虚拟端口接收所述攻击者的流量数据;其中,所述虚拟端口用于接收从各个陷阱端口通过流量重定向发送的流量数据,一个陷阱端口用于仿真一个服务端口或漏洞端口,每个陷阱端口预配置有对应的路由表;43.对所述攻击者的流量数据进行连接追踪,确定所述攻击者踏入的陷阱端口。44.一种可能的实施方式,所述确定单元还用于:45.从所述攻击者的流量数据中,获取唯一标识所述击者身份的身份信息;46.根据所述身份信息对所述流量数据进行连接追踪,确定所述攻击者踏入的陷阱端口。47.一种可能的实施方式,所述过滤单元用于:48.将所述流量特征信息与所述路由表中的标准流量特征进行逐一匹配,直至匹配成功或全部匹配完毕;49.当所述特征信息与任一条标准流量特征匹配成功时,从所述路由表中获取匹配成功的标准流量特征对应的标准交互类型,作为所述实际交互类型;50.当所述流量特征信息与所述路由表中的全部标准流量特征均匹配完毕后,仍未匹配成功,将所述路由表中默认的流量特征过滤规则对应的标准交互类型作为所述实际交互类型。51.一种可能的实施方式,所述标准交互类型,包括:52.静态交互、动态交互、解析器交互。53.一种可能的实施方式,所述处理单元用于:54.当所述实际交互类型对应的标准交互类型为所述静态交互时,获取的交互规则为调用静态交互组件将符合所述交互意图的固定文本信息,作为所述交互欺骗信息;55.当所述实际交互类型对应的标准交互类型为所述动态交互时,获取的交互规则为调用动态交互组件对所述流量特征信息进行处理,根据处理结果生成符合所述交互意图的交互欺骗信息;其中,所述处理结果中包含复杂命令时,调用动态交互沙箱在真实的沙箱环境中执行所述复杂命令,并将执行结果作为对应的交互欺骗信息;56.当所述实际交互类型对应的标准交互类型为所述解析器交互时,获取的交互规则为调用与所述流量特征信息对应的解析器交互框架对所述流量特征信息进行解析,根据解析结果生成符合所述交互意图的交互欺骗信息;其中,所述处理结果或所述解析结果中包含复杂命令时,调用所述动态交互沙箱在真实的沙箱环境中执行所述复杂命令,并将执行结果作为对应的交互欺骗信息。57.一种可能的实施方式,所述动态交互沙箱,包括:58.沙箱创建部分,用于创建沙箱实例,并在所述沙箱实例中执行所述复杂命令,返回所述执行结果;59.沙箱监控部分,用于监控当前已启动的所有沙箱实例,并销毁长时间运行或卡死的沙箱实例。60.一种可能的实施方式,所述处理单元还用于:61.当确定所述复杂命令需要在所述动态交互沙箱执行时,创建文件名唯一的缓存文件;62.将所述复杂命令写入所述缓存文件;63.启动所述沙箱实例,并将所述缓存文件挂载到所述沙箱实例,在所述沙箱实例中执行所述复杂命令,获得所述执行结果。64.第三方面,本发明实施例还提供一种蜜罐网络,包括:65.部署有一个蜜罐,所述蜜罐采用如第一方面所述的方法与攻击者进行交互,并在交互的过程中记录所述攻击者的身份信息和攻击行为,实施对应的攻防策略。66.一种可能的实施方式,所述蜜罐,包括:67.入口层,所述入口层包括至少一个陷阱端口,所述陷阱端口用于仿真真实的服务端口;68.解析层,用于根据攻击者踏入的陷阱端口对应的交互类型,以及攻击者的流量特征信息,确定攻击者的实际交互类型对应的交互规则;69.组件层,用于根据所述实际交互类型对应的交互规则对所述流量特征信息进行交互处理,生成符合所述攻击者的交互意图的交互欺骗信息,并返回给所述攻击者;70.沙箱层,用于在真实的沙箱环境中执行所述组件层提供的所述流量特征信息中包含的复杂命令,并将执行结果作为所述交互欺骗信息。71.一种可能的实施方式,所述入口层,包括:72.多个陷阱端口;73.虚拟端口,用于接收各个陷阱端口通过流量重定向转发的所述攻击者的流量数据。74.第四方面,本发明实施例还提供一种设备,包括:75.至少一个处理器,以及76.与所述至少一个处理器连接的存储器;77.其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上述第一方面所述的方法。78.第五方面,本发明实施例还提供一种可读存储介质,包括:79.存储器,80.所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上述第一方面所述的方法。81.通过本发明实施例的上述一个或多个实施例中的技术方案,本发明实施例至少具有如下技术效果:82.在本发明提供的实施例中,由于为陷阱端口配置了穷举陷阱端口包含的各种漏洞对应的标准流量特征及对应的标准交互类型的路由表,使相同陷阱端口能兼容不同协议、服务对应的漏洞,从而降低蜜罐的部署数量及部署难度,由于蜜罐的部署数量、难度降低了,相应的对部署的主机需求也降低了,从而还能进一步的降低蜜罐部署的成本。并且,由于蜜罐与攻击者进行交互是根据攻击者的流量特征信息,与攻击者踏入的陷阱端口的路由表中流量特征过滤规则的命中结果,确定攻击者的流量特征信息对应的实际交互类型,进而获取对应的交互规则来生成符合攻击者交互意图的交互欺骗信息,并返回给攻击者,使的攻击者难以识别其攻击的是蜜罐,从而提高了蜜罐的交互程度。由于蜜罐的交互程度提高了,因此使用本发明提供的上述蜜罐交互方法的蜜罐能诱捕更多的攻击者信息及攻击手法,从而为启用或制定相应的攻防策略提供了依据,进而能够提高设备或网络的安全性。附图说明83.图1为本发明实施例提供的一种蜜罐交互方法的流程图;84.图2为本发明实施例提供的蜜罐的陷阱端口与虚拟端口的关系示意图;85.图3为本发明实施例提供的动态交互沙箱创建沙箱实例的流程图;86.图4为本发明实施例提供的动态交互沙箱监控沙箱实例的流程图;87.图5为本发明实施例提供的各标准交互类型中子交互类型与对应交互规则中子交互规则的关系示意图;88.图6为本发明实施例提供的蜜罐交互的资源映射关系示意图;89.图7为本发明实施例提供的一种蜜罐的架构图;90.图8为本发明实施例提供的另一种蜜罐的架构图;91.图9为本发明实施例提供的一种蜜罐交互装置的结构示意图;92.图10为本发明实施例提供的蜜罐的一种架构示意图;93.图11为本发明实施例提供的入口层的结构示意图。具体实施方式94.本发明实施列提供一种蜜罐交互的方法、装置、蜜罐网络、设备及存储介质,用以解决现有技术中存在的物联网蜜罐的交互程度低的技术问题。95.蜜罐(honeypot),专指用来侦测或抵御未经授权操作或者是黑客攻击的陷阱,因原理类似诱捕昆虫的蜜罐因而得名。蜜罐通常伪装成看似有利用价值的网络、数据、计算机系统或者某种服务(如web等),并故意设置了bug,用来吸引黑客攻击。96.物联网是指将日常物理对象连接到互联网的过程——从灯泡等常见家用物品,到医疗设备等医疗资产,再到可穿戴设备、智能设备甚至智能城市,都可以连接到互联网。97.沙箱(sandboxie)是一个虚拟系统程序,允许在沙盘环境中运行恶意程序或命令,在网络安全中,沙箱指在隔离环境中,用以测试不受信任的文件或应用程序等行为的工具。98.为了更好的理解上述技术方案,下面通过附图以及具体实施例对本发明技术方案做详细的说明,应当理解本发明实施例以及实施例中的具体特征是对本发明技术方案的详细的说明,而不是对本发明技术方案的限定,在不冲突的情况下,本发明实施例以及实施例中的技术特征可以相互组合。99.请参考图1,本发明实施例提供一种蜜罐交互的方法,该方法的处理过程如下。100.步骤101:确定攻击者踏入的陷阱端口,并获取陷阱端口对应的路由表;其中,路由表用于穷举陷阱端口包含的各种漏洞对应的标准流量特征及对应的标准交互类型,每个标准流量特征与对应标准交互类以流量特征过滤规则的形式存储于对应路由表中。101.步骤102:根据攻击者的流量特征信息与路由表中流量特征过滤规则的命中结果,确定流量特征信息对应的实际交互类型。102.步骤103:获取与实际交互类型对应的交互规则,生成符合攻击者交互意图的交互欺骗信息,并返回给攻击者。103.例如,5555端口包含有adb服务的漏洞http服务cve-2015-2051、cve-2016-10372等漏洞、rdp服务的漏洞,针对这些漏洞可以穷举它们各自对应的标准流量特征,标准流量特征例如可以是特定的字符串(如“hello”),还可以是具有特定命令格式(可以正则表达式的方式表示,如ping(.*?)),为每个标准流量特征设置对应的标准交互类型,每个交互类型设置对应的交互规则,将上述5555端口包含的所有漏洞对应的标准流量特征与对应的标准交互类型构成的流量特征过滤规则,组合为仿真5555端口的陷阱端口的路由表,在路由表中还设置有一条默认的流量特征过滤规则,用于对未与任一标准流量特征匹配成功的情况指定默认的标准交互类型。请参见表1为5555端口对应陷阱端口的路由表。104.表1105.流量特征过滤规则1标准流量特征1标准交互类型1交互规则1流量特征过滤规则2标准流量特征2标准交互类型2交互规则2流量特征过滤规则3标准流量特征3标准交互类型1交互规则1流量特征过滤规则4标准流量特征4标准交互类型3交互规则3…………默认的流量特征过滤规则标准交互类型2交互规则2106.当攻击者访问5555端口(即踏入仿真5555端口的陷阱端口,攻击者不知该陷阱端口不是真的5555端口),获取上述5555端口对应陷阱端口的路由表,根据攻击者访问时使用的流量数据中的流量特征信息与上述路由表中流量特征过滤规则的命中结果(假设名字表1中的流量特征过滤规则3),确定流量特征信息对应的实际交互类型为标准交互类型1(这样可以确定攻击者的交互意图),进而获取与标准交互类型1对应的交互规则1(假设为将特定的文本返回攻击者),用交互规则1生成符合攻击者交互意图的交互欺骗信息(为特定的文本),将上述特定文本返回给攻击者。107.在本发明提供的实施例中,由于为陷阱端口配置了穷举陷阱端口包含的各种漏洞对应的标准流量特征及对应的标准交互类型的路由表,使相同陷阱端口能兼容不同协议、服务对应的漏洞,从而降低蜜罐的部署数量及部署难度,由于蜜罐的部署数量、难度降低了,相应的对部署的主机需求也降低了,从而还能进一步的降低蜜罐部署的成本。并且,由于蜜罐与攻击者进行交互是根据攻击者的流量特征信息,与攻击者踏入的陷阱端口的路由表中流量特征过滤规则的命中结果,确定攻击者的流量特征信息对应的实际交互类型,进而获取对应的交互规则来生成符合攻击者交互意图的交互欺骗信息,并返回给攻击者,使的攻击者难以识别其攻击的是蜜罐,从而提高了蜜罐的交互程度。由于蜜罐的交互程度提高了,因此使用本发明提供的上述蜜罐交互方法的蜜罐能诱捕更多的攻击者信息及攻击手法,从而为启用或制定相应的攻防策略提供了依据,进而能够提高设备或网络的安全性。108.在本发明提供的实施例中,一个蜜罐可以包括多个陷阱端口,每个陷阱端口仿真一个服务端口或漏洞端口,并且如前述方式那样每个陷阱配置有对应的路由表,这些陷阱端口接收到的流量数据均通过流量重定向转发给同一个虚拟端口后在进行后续处理,因此步骤101中确定攻击者踏入的陷阱端口,还可以采用下列方式实现:109.从虚拟端口接收攻击者的流量数据;其中,虚拟端口用于接收从各个陷阱端口通过流量重定向发送的流量数据,一个陷阱端口用于仿真一个服务端口或漏洞端口,每个陷阱端口预配置有对应的路由表;对攻击者的流量数据进行连接追踪,确定攻击者踏入的陷阱端口。110.例如,请参见图2为本发明实施例提供的蜜罐的陷阱端口与虚拟端口的关系示意图。假设一个蜜罐包括图2所示的陷阱端口80(仿真的80端口)、陷阱端口5555(仿真的5555端口),…,陷阱端口1883(仿真的1883端口),通过使用iptables将上述各个陷阱端口的流量数据重定向到同一虚拟端口,这样可以通过监听虚拟端口来接收到攻击者的流量数据,并对接收到的流量数据进行连接追踪,便能确定对应的陷阱端口,获取相应的路由表,结合前述步骤102和步骤103就能通过一个蜜罐实现对多个陷阱端口甚至全不陷阱端口对应的攻击者进行诱捕,进一步降低了部署蜜罐的数量,提高了蜜罐对不同漏洞、不同协议、不同端口的兼容性,降低了部署蜜罐的成本。111.在本发明提供的实施例中,陷阱端口的流量重定向的规则是可以配置的,在配置时需要先清除原有的流量重定向的规则。112.一种可能的实施方式,对攻击者的流量数据进行连接追踪,确定攻击者踏入的陷阱端口,包括:113.从攻击者的流量数据中,获取唯一标识击者身份的身份信息;根据身份信息对流量数据进行连接追踪,确定攻击者踏入的陷阱端口。114.例如,以图2为例,攻击者访问5555端口,实际上访问到的是蜜罐的陷阱端口5555,蜜罐通过流量重定向将陷阱端口5555接收到的流量数据重定向到虚拟端口,蜜罐通过监听虚拟端口5555获取到流量数据,进而从中获取其中唯一标识攻击者身份的身份信息(如攻击者的源ip和源端口、攻击者使用的设备的指纹信息等),根据高身份信息对流量数据进行连接追踪,进而就能确定攻击者踏入的实际陷阱端口为陷阱端口5555。115.在本发明提供的实施例中,通过流量重定向将各个陷阱端口的流量数据转发到同一虚拟端口,并利用连接追踪确定流量数据对应攻击者踏入的陷阱端口,使得蜜罐可以通过对一个虚拟端口进行监听,便能对各个陷阱端口进行监听,进而实现对多个陷阱端口甚至全不陷阱端口对应的攻击者进行诱捕,进一步降低了部署蜜罐的数量,提高了蜜罐对不同漏洞、不同协议、不同端口的兼容性,降低了部署蜜罐的成本。并且相较于传统蜜罐采用多线程、协程监听全端口的方式,能有效的节省系统资源,提高资源利用率。116.一种可能的实施方式,根据攻击者的流量特征信息与路由表中流量特征过滤规则的命中结果,确定流量特征对应的实际交互类型,包括:117.将流量特征信息与路由表中的标准流量特征进行逐一匹配,直至匹配成功或全部匹配完毕;118.当特征信息与任一条标准流量特征匹配成功时,从路由表中获取匹配成功的标准流量特征对应的标准交互类型,作为实际交互类型;119.当流量特征信息与路由表中的全部标准流量特征均匹配完毕后,仍未匹配成功,将路由表中默认的流量特征过滤规则对应的标准交互类型作为实际交互类型。120.例如,以表1为例,从表1中的流量特征过滤规则1开始,将攻击者的流量特征信息与标准流量特征1进行匹配。121.若匹配成功,确定攻击者的流量特征信息命中流量特征过滤规则1,将标准交互类型1作为实际交互类型;若攻击者的流量特征信息与标准流量特征1匹配不成功,则将攻击者的流量特征信息与标准流量特征2进行匹配。122.若流量特征信息与标准流量特征2匹配成功,确定攻击者的流量特征信息命中流量特征过滤规则2,将标准交互类型2作为实际交互类型;若攻击者的流量特征信息与标准流量特征2匹配不成功,则将攻击者的流量特征信息与标准流量特征3进行匹配,假设直到匹配完路由表中的最后一个标准流量特征仍未匹配成功,则将默认的流量特征过滤规则对应的标准交互类型作为实际交互类型。123.在本发明提供的实施例中,标准交互类型,包括静态交互、动态交互、解析器交互。不同的标准交互类型对应采用的交互规则不同,可以预先为每个标准交互类型配置对应的交互规则,从而在根据攻击者的流量特征信息与路由表中流量特征过滤规则的命中结果,确定流量特征对应的实际交互类型之后,便能获取与实际交互类型对应的交互规则,可以通过下列方式实现:124.当实际交互类型对应的标准交互类型为静态交互时,获取的交互规则为调用讲台交互组件将符合攻击者交互意图的固定文本信息,作为交互欺骗信息;125.当实际交互类型对应的标准交互类型为动态交互时,获取的交互规则为调用动态交互组件对流量特征信息进行处理,根据处理结果生成符合攻击者交互意图的交互欺骗信息;其中,处理结果中包含复杂命令时,调用动态交互沙箱在真实的沙箱环境中执行复杂命令,并将执行结果作为对应的交互欺骗信息。126.当实际交互类型对应的标准交互类型为解析器交互时,获取的交互规则为调用与流量特征信息对应的解析器交互框架对流量特征信息进行解析,根据解析结果生成符合交互意图的交互欺骗信息;其中,解析结果中包含复杂命令时,调用动态交互沙箱在真实的沙箱环境中执行复杂命令,并将执行结果作为对应的交互欺骗信息。127.在本发明实施例中,可以为每个标准交互类型设置对应的交互组件来生成对应的欺骗信息,如标准交互类型为静态交互时,对应的交互组件为静态交互组件,在静态交互组件中穷举了需要回应静态文本的标准流量特征及对应的固定文本信息;若标准交互类型为动态交互类型,对应的交互组件为动态交互组件,在动态交互组件中穷举了需要进行动态处理的标准流量特征及相应的动态处理方式,对于漏洞特征中包含复杂命令的处理方式是调用动态交互沙箱,在真实的沙箱环境中执行复杂命令生成符合攻击者交互期望的交互欺骗信息;若标准交互类型为解析器交互,不同解析器对应不同的解析器交互框架,在每个解析器交互框架由多个交互组件构成,在解析器交互框架中穷举了对对应解析器中需要解析协议的标准流量特征及对应的交互组件,对于解析器交互框架中包含复杂命令的处理方式也是调用动态交互沙箱,在真实的沙箱环境中执行复杂命令生成符合攻击者交互期望的交互欺骗信息。128.例如,攻击者的流量特征信息与路由表中的标准流量特征“hello”匹配成功,其命中对应的流量特征过滤规则(假设对应的标准交互类型为静态交互,相应的交互规则为将固定文本信息“hell0_respond.txt”中的信息返回给攻击者),进而确定攻击者的流量特征信息对应的实际交互类型为静态交互,并获取对应的交互规则,将“hell0_respond.txt”中的信息作为交互欺骗信息返回给攻击者。129.又如,攻击者的流量特征信息与路由表中的标准流量特征“ping(.*?)”这一正则表达式匹配成功,其命中对应的流量特征过滤规则(假设对应的标准交互类型为动态交互,相应的交互规则为调用脚本“ping_respond.py”对攻击者的流量特征信息进行处理,并返回处理结果给攻击者),进而确定攻击者的流量特征信息对应的实际交互类型为动态交互,并获取对应的交互规则,调用脚本“ping_respond.py”对攻击者的流量特征信息进行处理,将处理结果作为交互欺骗信息返回给攻击者。130.再如,攻击者的流量特征信息与路由表中的标准流量特征“http/1.1”匹配成功,其命中对应的流量特征过滤规则(假设对应的标准交互类型为解析器交互,相应的交互规则为调用解析器脚本“http_pareser.py”对应的解析器框架对攻击者的流量特征信息进行解析,将解析得到的复杂命令发送给动态交互沙箱,使复杂命令在动态交互沙箱提供的真实沙箱环境中执行,将执行结果返回给攻击者)。131.在沙箱实例中执行复杂命令,可以通过下列方式实现:132.当确定复杂命令需要在动态交互沙箱需要执行时,创建文件名唯一的缓存文件;将复杂命令写入缓存文件;启动沙箱实例,并将缓存文件挂载到沙箱实例中,在沙箱实例中执行复杂命令,获得执行结果。133.例如,确定攻击者的流量特征信息对应的实际交互类型为解析器交互,获取到的交互规则为调用解析器脚本“http_pareser.py”对应的解析器交互框架对攻击者的流量特征信息进行解析,从解析结果提取出复杂命令后,将复杂命令传递给动态交互沙箱,动态交互沙箱穿件沙箱实例,在沙箱实例中执行上述复杂命令并返回执行结果(将之作为交互欺骗信息返回给攻击者),动态交互沙箱销毁上述沙箱实例。134.在本发明提供的实施例中,可以将动态交互沙箱分为沙箱创建部分和沙箱监控部分。135.沙箱创建部分用于创建沙箱实例,并在沙箱实例中执行复杂命令,返回执行结果。请参见图3为本发明实施例提供的动态交互沙箱创建沙箱实例的流程图。136.步骤301:开始。137.在动态交互沙箱接收到交互组件发送的信息(如流量数据包)后,便可开始准备创建对应的沙箱实例。138.步骤302:判断是否含有需要执行的复杂命令。139.判断接收到的信息中是否有需要执行的复杂命令,若为否执行步骤308,若为是执行步骤303。140.步骤303:创建文件名唯一的缓存文件。141.步骤304:提取需要执行的复杂命令。142.从接收到的信息中提取需要执行的复杂命令。143.步骤305:将需要执行的复杂命令写入缓存文件。144.步骤306:创建沙箱实例,将缓存文件挂载到沙箱实例中。145.步骤307:在沙箱实例中执行复杂命令,并反馈执行结果。146.在挂载了上述缓存文件的沙箱实例中执行复杂命令,并反馈执行结果,该执行结果最终作为交互欺骗信息返回给攻击者。147.步骤308:结束。148.销毁上述沙箱实例。149.而沙箱监控部分用于监控当前已启动的所有沙箱实例,并销毁长时间运行或卡死的沙箱实例。150.请参见图4为本发明实施例提供的动态交互沙箱监控沙箱实例的流程图。151.步骤401:开始。152.步骤402:更新列表a。153.获取所有正在运行的沙箱实例,并更新到列表a中。154.步骤403:判断是否完成对列表a的遍历。155.若完成对列表a的更新则执行步骤406对列表b开始遍历,若未完成对列表a的更新则执行步骤404。156.步骤404:判断沙箱实例的名称是否在列表b中。157.在未遍历完列表a时,判断列表a中当前遍历到的记录对应的沙箱实例的名称是否在列表b中,若为否执行步骤405。158.步骤405:在列表b中将相应实例沙箱的运行时长设置为0。159.将存在于列表a但不存在于列表b的沙箱实例的运行时长设置为0,之后继续遍历列表a(即执行步骤403)。160.步骤406:判断是否完成对列表b的遍历。161.在确定完成对列表b的遍历后,执行步骤402重复更新列表a及执行后续流程,若确定未完成对列表b的遍历,则执行步骤407。162.步骤407:判断对应沙箱实例是否正在运行。163.判断列表b中当前遍历到记录对应沙箱实例是否正在运行,若为否执行步骤408,若为是执行步骤409。164.步骤408:删除列表b中对应的记录。165.在确定列表b中当前遍历到记录对应沙箱实例停止运行后,在列表b中删除对应记录。166.步骤409:在列表b中更新对应沙箱实例的运行时长。167.在确定列表b中当前遍历到记录对应沙箱实例正在运行,则在列表b中更新对应沙箱实例的运行时长。168.步骤410:判断列表b中对应沙箱实例的运行时长是否超过设定阈值。169.若列表b中当前遍历到的记录对应的沙箱实例正在运行,且运行时长超过设定阈值,则执行步骤411,否则执行步骤406。170.步骤411:销毁对应沙箱实例,删除列表b中对应的记录。171.列表b中当前遍历到的记录对应的沙箱实例的运行时长超过设定阈值,便将其销毁,并在列表b中删除对应记录。172.在本发明提供的实施例中,通过对所有沙箱实例进行监控,销毁长时间运行或卡死的沙箱实例,可以实现对执行失败的沙箱实例或超时执行的沙箱实例进行自动清理,从而防止攻击者的恶意命令造成沙箱实例出现卡死或超时运行而占消耗大量资源。此外,在沙箱实例执行复杂命令的过程中,还可以记录整个执行过程,便于对攻击者的攻击行为进行分析,并根据分析结果设置相应的攻防策略,提高用户的安全性。173.在本发明提供的实施例中,同一标准交互类型还可以包括多个子交互类型,不同的子交互类型可以对应不同的子交互规则,为了方便使用可以为各个子交互规则设置对应的解析器交互框架,解析器交互框架中的不同交互的实现通过对应的交互组件完成。请参见图5为本发明实施例提供的各标准交互类型中子交互类型与对应交互规则中子交互规则的关系示意图。174.在图5中以标准交互类型解析器交互为例,解析器交互包括多个子交互类型如http解析器、adb解析器、mqtt解析器等,相对应的http解析器对应的子交互规则为使用解析器交互框架为http交互框架进行交互,adb解析器对应的子交互规则为使用解析器交互框架为adb交互框架进行交互,mqtt解析器对应的子交互规则为使用解析器交互框架为mqtt交互框架进行交互。而上述各个解析器交互框架可以由多个交互组件构成,如http交互框架由交互组件1~交互组件n构成。175.为了便于管理,上述标准交互类型、子交互类型对应的交互规则,在各个陷阱端口的路由表中可以调用路径的方式存储。176.例如,陷阱端口80的路由表对应的程序如下:[0177][0178][0179]上述代码中,当攻击者的流量特征信息中含有”hello”时,对应的标准交互类型为静态交互,相应的交互规则为将调用路径为:[0180]/code/static/hello_example/hello_respond.txt的文件中固定文本信息返回给攻击者。[0181]当攻击者的流量特征信息命中正则表达式"ping(.*?);”时,对应的标准交互类型为动态交互,相应的交互规则为采用调用路径为:[0182]/code/dynamic/ping_example/ping_respond.py脚本对应的动态交互组件进行处理,将处理结果返回给攻击者。[0183]当攻击者的流量特征信息中含有"http/1.1"时,对应的标准交互类型为解析器交互,相应的交互规则为采用调用路径为:[0184]/code/parser/http_example/http_parser.py的解析器交互框架中的parse_request函数进行处理,将处理结果返回给攻击者。这里需要理解的是在解析器交互中,对于一些简单的命令,可以直接由解析器脚本得到处理结果的则直接将处理结果返回给攻击者,而对于复杂命令,需要在真实环境中运行后才能得到的,此时通过动态交互沙箱执行相应的复杂命令后,将得到的执行结果返回给攻击者。[0185]当攻击者的流量特征信息未命中路由表中的任一标准流量特征,则采用默认的流量特征过滤规则对应的标准交互类型的交互规则进行处理,在上述代码中默认的标准交互类型被设置为静态交互,相应的交互规则是采用调用路径为:/code/static/hello_example/hello_respond.txt的文件中固定文本信息返回给攻击者。[0186]请参见图6为本发明实施例提供的蜜罐交互的资源映射关系示意图。[0187]蜜罐交互的资源包括“端口”资源、“标准流量特征”资源、“标准交互类型”资源、“路径信息”资源(或组件资源),上述“端口”资源是由所有的陷阱端口组成的集合构成的,如陷阱端口80、陷阱端口8080等,“标准流量特征”资源是由所有的标准流量特征构成的、“路径信息”资源是由所有交互规则对应的调用路(如静态交互对应的文本路径、动态交互对应的脚本路径、解析器交互对应的解析器入口)径构成的,上述这些资源之间的对应关系通过陷阱端口的路由表表示。[0188]基于本发明提供的上述方案,蜜罐的架构可以包括入口层、解析层、组件层,此外,还可以包括沙箱层,具体上述各层的作用在后续介绍,在此暂不赘述。[0189]当蜜罐仅有1个陷阱端口时,可以采用如图7所示的架构,图7为本发明实施例提供的一种蜜罐的架构图;当蜜罐仅有多个陷阱端口时,可以采用如图8所示的架构,图8为本发明实施例提供的另一种蜜罐的架构图。图7和图8中沙箱层中所示的沙箱1~沙箱n即为在动态交互沙箱中动态创建的沙箱实例,这些沙箱实例会被动态创建、执行、销毁。[0190]通过采用本发明提供的上述技术方案,可以降低蜜罐交互代码的耦合度、实现相同端口兼容交互、不同端口交互自定义配置。通过对陷阱端口的路由表的修改,便能便捷的增加、删除、修改标准交互类型及对应的交互规则,而不需像现有技术那样需要蜜罐代码,而具体交互规则的实施过程,只需修改对应的组件便能实现,从而降低了编写蜜罐代码的工作量,提高了蜜罐的更新速度,使得蜜罐能快速响应各种安全诱捕需求。[0191]基于同一发明构思,本发明一实施例中提供一种蜜罐交互的装置,该装置的蜜罐交互方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述,请参见图9,该装置包括:[0192]确定单元901,用于确定攻击者踏入的陷阱端口,并获取所述陷阱端口对应的路由表;其中,所述路由表用于穷举所述陷阱端口包含的各种漏洞对应的标准流量特征及对应的标准交互类型,每个标准流量特征与对应标准交互类以流量特征过滤规则的形式存储于对应路由表中;[0193]过滤单元902,用于根据所述攻击者的流量特征信息与所述路由表中流量特征过滤规则的命中结果,确定所述流量特征信息对应的实际交互类型;[0194]处理单元903,用于获取与所述实际交互类型对应的交互规则,生成符合所述攻击者的交互意图的交互欺骗信息,并返回给所述攻击者。[0195]一种可能的实施方式,所述确定单元901还用于:[0196]从虚拟端口接收所述攻击者的流量数据;其中,所述虚拟端口用于接收从各个陷阱端口通过流量重定向发送的流量数据,一个陷阱端口用于仿真一个服务端口或漏洞端口,每个陷阱端口预配置有对应的路由表;[0197]对所述攻击者的流量数据进行连接追踪,确定所述攻击者踏入的陷阱端口。[0198]一种可能的实施方式,所述确定单元901还用于:[0199]从所述攻击者的流量数据中,获取唯一标识所述击者身份的身份信息;[0200]根据所述身份信息对所述流量数据进行连接追踪,确定所述攻击者踏入的陷阱端口。[0201]一种可能的实施方式,所述过滤单元902用于:[0202]将所述流量特征信息与所述路由表中的标准流量特征进行逐一匹配,直至匹配成功或全部匹配完毕;[0203]当所述特征信息与任一条标准流量特征匹配成功时,从所述路由表中获取匹配成功的标准流量特征对应的标准交互类型,作为所述实际交互类型;[0204]当所述流量特征信息与所述路由表中的全部标准流量特征均匹配完毕后,仍未匹配成功,将所述路由表中默认的流量特征过滤规则对应的标准交互类型作为所述实际交互类型。[0205]一种可能的实施方式,所述标准交互类型,包括:[0206]静态交互、动态交互、解析器交互。[0207]一种可能的实施方式,所述处理单元903用于:[0208]当所述实际交互类型对应的标准交互类型为所述静态交互时,获取的交互规则为调用静态交互组件将符合所述交互意图的固定文本信息,作为所述交互欺骗信息;[0209]当所述实际交互类型对应的标准交互类型为所述动态交互时,获取的交互规则为调用动态交互组件对所述流量特征信息进行处理,根据处理结果生成符合所述交互意图的交互欺骗信息;其中,所述处理结果中包含复杂命令时,调用动态交互沙箱在真实的沙箱环境中执行所述复杂命令,并将执行结果作为对应的交互欺骗信息;[0210]当所述实际交互类型对应的标准交互类型为所述解析器交互时,获取的交互规则为调用与所述流量特征信息对应的解析器交互框架对所述流量特征信息进行解析,根据解析结果生成符合所述交互意图的交互欺骗信息;其中,所述解析结果中包含复杂命令时,调用动态交互沙箱在真实的沙箱环境中执行所述复杂命令,并将执行结果作为对应的交互欺骗信息。[0211]一种可能的实施方式,所述动态交互沙箱,包括:[0212]沙箱创建部分,用于创建沙箱实例,并在所述沙箱实例中执行所述复杂命令,返回所述执行结果;[0213]沙箱监控部分,用于监控当前已启动的所有沙箱实例,并销毁长时间运行或卡死的沙箱实例。[0214]一种可能的实施方式,所述处理单元903还用于:[0215]当确定所述复杂命令需要在所述动态交互沙箱执行时,创建文件名唯一的缓存文件;[0216]将所述复杂命令写入所述缓存文件;[0217]启动所述沙箱实例,并将所述缓存文件挂载到所述沙箱实例中,在所述沙箱实例中执行所述复杂命令,获得所述执行结果。[0218]需要说明的是,本技术实施例中对单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。[0219]所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个处理器可读取存储介质中。基于这样的理解,本技术的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)、随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。[0220]在此需要说明的是,本发明实施例提供的上述装置,能够实现上述方法实施例所实现的所有方法步骤,且能够达到相同的技术效果,在此不再对本实施例中与方法实施例相同的部分及有益效果进行具体赘述。[0221]基于同一发明构思,本发明实施例中提供了一种蜜罐网络,该蜜罐网络部署有一个蜜罐,所述蜜罐采用如上所述的方法与攻击者进行交互,并在交互的过程中记录所述攻击者的身份信息和攻击行为,实施对应的攻防策略。上述蜜罐采用的蜜罐交互方法的具体实施方式可参见方法实施例部分的描述,重复之处不再赘述。[0222]请参见图10为本发明实施例提供的蜜罐的一种架构示意图,所述蜜罐,包括:[0223]入口层1001,所述入口层1001包括至少一个陷阱端口10011,所述陷阱端口10011用于仿真真实的服务端口;[0224]解析层1002,用于根据攻击者踏入的陷阱端口10011对应的交互类型,以及攻击者的流量特征信息,确定攻击者的实际交互类型对应的交互规则;[0225]组件层1003,用于根据所述实际交互类型对应的交互规则对所述流量特征信息进行交互处理,生成符合所述攻击者的交互意图的交互欺骗信息,并返回给所述攻击者;[0226]沙箱层1004,用于在真实的沙箱环境中执行所述组件层1003提供的所述流量特征信息中包含的复杂命令,并将执行结果作为所述交互欺骗信息。[0227]请参见图11为本发明实施例提供的入口层的结构示意图,所述入口层1001,包括:[0228]多个陷阱端口10011;[0229]虚拟端口10012,用于接收各个陷阱端口10011通过流量重定向转发的所述攻击者的流量数据。[0230]基于同一发明构思,本发明实施例中提供了一种设备,包括:至少一个处理器,以及[0231]与所述至少一个处理器连接的存储器;[0232]其中,所述存储器存储有可被所述至少一个处理器执行的指令,所述至少一个处理器通过执行所述存储器存储的指令,执行如上所述的蜜罐交互的方法。[0233]基于同一发明构思,本发明实施例还提一种可读存储介质,包括:[0234]存储器,[0235]所述存储器用于存储指令,当所述指令被处理器执行时,使得包括所述可读存储介质的装置完成如上所述的蜜罐交互的方法。[0236]所述可读存储介质可以是处理器能够存取的任何可用介质或数据存储设备,包括易失性存储器或非易失性存储器,或者可以包括易失性存储器和非易失性存储器两者。作为例子而非限制性的,非易失性存储器可以包括只读存储器(read-onlymemory,rom)、可编程rom(programmableread-onlymemory,prom)、电可编程rom(erasableprogrammableread-onlymemory,eprom)、电可擦写可编程rom(electricallyerasableprogrammablereadonlymemory,eeprom)或快闪存储器、固态硬盘(solidstatedisk或solidstatedrive,ssd)、磁性存储器(例如软盘、硬盘、磁带、磁光盘(magneto-opticaldisc,mo)等)、光学存储器(例如cd、dvd、bd、hvd等)。易失性存储器可以包括随机存取存储器(randomaccessmemory,ram),该ram可以充当外部高速缓存存储器。作为例子而非限制性的,ram可以以多种形式获得,比如动态ram(dynamicrandomaccessmemory,dram)、同步dram(synchronousdynamicrandom-accessmemory,sdram)、双数据速率sdram(doubledataratesdram,ddrsdram)、增强sdram(enhancedsynchronousdram,esdram)、同步链路dram(synclinkdram,sldram)。所公开的各方面的存储设备意在包括但不限于这些和其它合适类型的存储器。[0237]本领域内的技术人员应明白,本发明实施例可提供为方法、系统、或程序产品。因此,本发明实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明实施例可采用在一个或多个其中包含有计算机/处理器可用程序代码的可读存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的机程序产品的形式。[0238]本发明实施例是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。[0239]这些程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的可读存储器中,使得存储在该可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。[0240]这些程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机/处理器实现的处理,从而在计算机/处理器或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。[0241]显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。当前第1页12当前第1页12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献