CN112134852B - 一种蜜罐系统攻击行为数据异步http发送方法及装置 - Google Patents
一种蜜罐系统攻击行为数据异步http发送方法及装置 Download PDFInfo
- Publication number
- CN112134852B CN112134852B CN202010896959.3A CN202010896959A CN112134852B CN 112134852 B CN112134852 B CN 112134852B CN 202010896959 A CN202010896959 A CN 202010896959A CN 112134852 B CN112134852 B CN 112134852B
- Authority
- CN
- China
- Prior art keywords
- event
- task
- http
- data
- module
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/1491—Countermeasures against malicious traffic using deception as countermeasure, e.g. honeypots, honeynets, decoys or entrapment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/02—Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer And Data Communications (AREA)
Abstract
本发明涉及数据发送领域,具体提供了一种蜜罐系统攻击行为数据异步http发送方法及装置,通过使用linux多线程程技术,将接口层和网络(socker)读写io操作功能分离,通过linux epoll系统功能将所有网络(socker)读写io操作封装成一个事件处理线程;接口层将所有蜜罐中要发送的攻击行为数据封装多线程安全的事件任务,并将事件任务投递事件处理线程队列中;最终事件处理线程将事件任务利用libcurl multi interface接口与网络(socker)读写io关联,由事件处理线程进行统一发送,提高网络io数据吞吐率,降低了数据处理复杂性,从而降低了系统开发难度及开发成本。
Description
技术领域
本发明涉及蜜罐技术领域,特别涉及一种蜜罐系统攻击行为数据异步http发送方法及装置。
背景技术
随着云计算、虚拟化技术广泛应用,结合蜜罐系统的发展,大量的蜜罐系统的前沿部署;基于“连接访问即攻击信息”的理念,如何将蜜罐系统采集到的海量攻击行为数据快速、高效的发送到数据处理中心、形成有效的威胁情报,已经成为一种衡量蜜罐系统的重要性能指标。
通常,网络数据传输方式有:a、采用操作系统层socker api,通过tcp或udp协议进行传输;b、采用各数据库客户端api,将数据直接传入数据库服务端;c、采用基于SOAP简单对象访问协议的WebService的远程调用方式;d、采用基于http协议的Restful API等数据发送方式。
目前,现有大多数蜜罐系统发送攻击行为数据的方式,主要采用以下方法:
1、采用操作系统层socker api,通过tcp或udp协议进行传输。该方法先通过“socket”建立与数据中心服务器的物理连接,并将攻击行为数据进行二进制化封包后进行数据发送。
2、采用各数据库客户端api,将数据直接传入数据库服务端。如采用mysql提供的capi接口与mysql数据库服务器端建立连接后,将攻击行为数据通过api直接存入事先建立的表中。
3、采用基于SOAP简单对象访问协议的WebService的远程调用方式。该方法通过SOAP简单对象访问协议将攻击行为数据封装成XML格式的数据,通过RPC远程过程调用的方式将数据发送到webservice端。
而现有技术采用操作系统层socker api,通过tcp或udp协议进行传输方式,由于要将攻击行为数据进行二进制化编解码处理,不利于异构系统中共享;比如采用pyhon、nodejs、go等语言开发的服务端程序为了解析出具体的攻击行为数据,需要分别提供不同语言的FFI外部扩展功能的BIND,这样不仅阻碍了数据的互通性,还加大了系统复杂性和开发成本。
采用各数据库客户端api,将数据直接传入数据库服务端。该方式通过使用具体的数据库存客户端api,简化了数据发送过程;但由于采用结构化存储数据,需要事先预定义好数据表结构,这样就无法满足日益变化的攻击行为特性,降低了系统的可扩展性和可维护性。
采用基于SOAP简单对象访问协议的WebService的远程调用方式,由SOAP简单对象访问协议采用繁重的XML语言描述,增加了数据传输总量,降低了数据传输效率。这个在高交互、高并发的蜜罐系统中,将增加网络带宽的要求和增加蜜罐内存使用率,从而降低整个蜜罐系统性能。
而虽然专利文献CN111431881A提供了一种基于windows操作系统的诱捕节点实现技术及装置,包括步骤:S01.攻击者发起扫描连接;S02.启动windows诱捕节点转发服务与攻击者建立连接;S03.windows诱捕节点将身份信息转发给linux中间层转发服务;S04.linux中间层转发服务发起与蜜罐主机服务的连接请求;S05.蜜罐主机服务响应连接,转发给linux中间层转发服务;S06.linux中间层转发服务将连接响应信息转发回windows诱捕节点;S07.windows诱捕节点转发服务响应信息回应给攻击者;其提到了windows诱捕节点转发服务采用libuv库的异步IO通信机制,将攻击者身份信息、攻击行为信息通过开源的cereal序列化库打包,并异步发送给linux中间层转发服务;但是并没有涉及到具体的异步发送手段。
发明内容
为解决现有技术中的技术问题,本发明提供了一种蜜罐系统攻击行为数据异步http发送方法及装置,通过充分的技术分析,深度融合开源libcurl multi interface、linux epoll及多线程技术,采用基于http传输协议的restful风格的接口方式,将攻击行为数据JSON化后,通过http协议的get、post等动作谓词,定义各种URL格式接口与数据中心服务端进行数据交换。通过本发明解决了异构系统中的数据互通性问题、降低了数据处理复杂性,从而降低了系统开发难度及开发成本。而且由于数据传输接口采用http的restfulAPI技术,丰富了蜜罐系统的部署方式,可同时适应传统蜜网方式,也可适应分布式部署方式。
具体地,一方面,本发明提供了一种蜜罐系统攻击行为数据异步http发送方法,包括如下步骤:
S1:蜜罐系统向任务分发接口模块发送采集到的攻击行为数据;
S2:任务分发接口模块处理攻击行为数据,并生成线程安全的数据发送任务;
S3:任务分发接口模块生成数据发送任务句柄,并向事件处理线程模块投递任务;
S4:事件处理线程模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作;
S5:http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向http操作处理模块投递读、写IO请求;
S6:http操作处理模块收到读、写IO请求,启动socket连接、读、写IO操作,事件处理线程模块在event-loop线程中处理poll对应的socket描述符fd和读、写IO请求,并将读、写IO操作结果通知到http操作处理模块;
S7:http操作处理模块对接收到的读、写IO操作结果处理后,返回任务分发接口模块。
优选地,步骤S2中任务分发接口模块json化处理攻击行为数据,并生成线程安全的数据发送任务URL。
优选地,步骤S4中驱动libcurl http请求操作,包括以下步骤:
S41:当事件处理线程模块获取到数据发送任务URL后,为该数据发送任务URL生成easy句柄;
S42:通过libcurl的curl_multi_add_handle接口将步骤S41的发送任务easy句柄添加到multi句柄中,此时libcurl内部产生相对应的socket描述符fd,并通过curlmopt_socketfunction回调函数关联事件处理线程的poll句柄和向http操作处理模块投递读、写IO请求;
S43:http操作处理模块收到读、写IO请求后,由libcurl内部发启socket连接、读、写IO操作。
优选地,任务分发接口模块将生成数据发送任务句柄通过采用http的restfulAPI技术的数据传输接口投递到事件处理线程模块。
优选地,步骤S7具体包括如下步骤:
S71:http操作处理模块接收到读、写IO操作完成通知后,根据socket描述符fd找到在http操作处理模块关联的easy句柄;
S72:根据easy句柄,找到对应数据发送任务;
S73:将读、写IO操作结果返回给数据发送任务;
S74:清理easy句柄和数据发送任务相关资源。
优选地,步骤S6中事件处理线程模块在event-loop线程中处理poll对应的socket描述符fd和读、写IO请求,具体包括如下步骤:
S61:通过数据发送任务的easy句柄关联到multi句柄时,libcurl库将产生对应的socket描述符fd发起联接,并将写IO请求与poll句柄关联;待事件处理线程将对应的socket描述符fd写完成通知,事件处理线程得到对应的socket描述符fd写完成通知,并根据对应的数据发送任务,并将数据发送任务标志已经发送,移出发送事件队列,等待数据服务器处理结果;
S62:等到接收到读IO操作结果,表明攻击数据任务发送成功,数据服务器处理后,将数据服务器处理结果返回给数据发送任务。其中,本发明中提供的写(读)完成通知,就是linux poll异步机制,当调用write或read后,等实际操作完成了,linux内核才通知相应的poll句柄已经完成操作的机制。其中,事件处理线程得到对应的socket描述符fd写完成通知后,在关联easy句柄时,会关联curlmopt_socketfunction回调函数,向http操作处理模块进行通知的。
优选地,所述事件处理线程模块包括异步IO事件循环模块,异步IO事件循环模块包括IO事件队列、任务处理模块和IO事件处理模块,任务处理模块从IO事件队列中获取任务,任务处理模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作,http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向IO事件处理模块投递读、写IO请求。
优选地,读、写IO操作中的写IO操作是向数据服务器通过socket发送攻击事件数据;读IO操作是读取数据服务器返回的结果,读、写IO操作是将攻击事件数据发送给数据服务器,并确认数据服务器是否收到。
另一方面,本发明提供了一种蜜罐系统攻击行为数据异步http发送装置,包括任务分发接口模块、事件处理线程模块和http操作处理模块;
所述任务分发接口模块用于将蜜罐系统采集到的每一次攻击行为数据经过处理后,生成线程安全的数据发送任务,并将该任务投递到事件处理线程队列中;
事件处理线程模块通过启动event-loop事件循环线程和使用libcurl库的multiinterface关联poll句柄,驱动libcurl http请求操作;
http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向事件处理线程模块投递读、写IO请求,并通过事件处理线程模块在event-loop线程中处理poll对应的socket fd读、写IO操作,并调用http操作处理模块读、写IO操作结果处理后,经过http操作处理模块的读、写IO操作结果处理后,返回任务分发接口模块。
优选地,所述事件处理线程模块包括异步IO事件循环模块,异步IO事件循环模块包括IO事件队列、任务处理模块和IO事件处理模块,任务处理模块从IO事件队列中获取任务,任务处理模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作,http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向IO事件处理模块投递读、写IO请求。如权利要求1所述的蜜罐系统攻击行为数据异步http发送装置。
所述任务分发接口模块用于将蜜罐系统采集到的每一次攻击行为数据经过处理后,生成线程安全的数据发送任务,并将该任务投递到事件处理线程队列中。
优选地,任务分发接口模块将生成数据发送任务句柄通过采用http的restfulAPI技术的数据传输接口投递到IO事件队列中。
优选地,所述任务分发接口模块用于将蜜罐系统采集到的每一次攻击行为数据经过json化处理后,生成线程安全的数据发送任务URL,并将该任务投递到事件处理线程队列中。
与现有技术相对比,本发明的有益效果如下:
(1)本发明由于采用了linux epoll机制的独立的事件处理线程技术,将同步http发送请求转换成基于生产-消费都模型的异步IO模式,使得蜜罐系统网络吞吐率提升了近6倍,同时还减少了内存占用。
(2)本发明由于采用了开源libcurl multi interface,在海量攻击行为数据并发的情况下,可以降低数据中心服务器的端口及socket描述符的资源占用,提高数据中心服务器的整体服务性能。
(3)在高负载的蜜罐系统中,由于采用异步IO技术,提高蜜罐系统的数据处理效率,大约降低了8%的攻击行为数据信息丢包率,降低了攻击行为无法监控的风险。
(4)由于数据传输接口采用http的restful API技术,丰富了蜜罐系统的部署方式,可同时适应传统蜜网方式,使得蜜罐系统可以分布式部署。
(5)由于采用libcurl multi interface、linux epoll及多线程技术,提高了数据发送效率,在保证高并发的同时,降低了蜜罐内存使用率,由于采用JSON化的数据编码方式,很好的应对攻击行为数据的多样性,提高了系统可扩展性和可维护性。
(6)本发明提供的异构系统中的数据互通性、降低了数据处理复杂性,从而降低了系统开发难度及开发成本。
附图说明
图1为本发明提供的蜜罐系统攻击行为数据异步http发送装置架构图;
图2为本发明提供的蜜罐系统攻击行为数据异步http发送方法流程图。
具体实施方式
下面结合附图1,对本发明的具体实施方式作详细的说明。
参图1所示,图1为本发明提供的蜜罐系统攻击行为数据异步http发送装置架构图;本发明是一种基于开源的libcurl http协议传输库和linux epoll及多线程技术的有机结合,基于http协议的restful风格的接口方式实现的异步传输攻击行为数据的技术方案。本方案通过使用linux多系统程技术,将接口层和网络(socket)读、写IO操作功能分离,通过linux epoll系统功能将所有网络(socket)读、写IO操作封装成一个事件处理线程;接口层将所有蜜罐中要发送的攻击行为数据封装多线程安全的事件任务,并将事件任务投递事件处理线程队列中;最终事件处理线程将事件任务利用libcurl multi interface接口与网络(socket)读写io关联,由事件处理线程进行统一发送。
本发明提供了一种蜜罐系统攻击行为数据异步http发送装置,包括任务分发接口模块、事件处理线程模块和http操作处理模块三大模块;
一、任务分发接口模块技术原理如下:
该模块采用linux多线程通信机制,将蜜罐系统采集到的每一次攻击行为数据经过json处理后,生成线程安全的数据发送任务,并将该任务事件处理线程队列中。最终,通过事件处理线程模块驱动,将任务发送结果返回。具体功能如下:
1、攻击行为数据json化处理。
2、生成线程安全的数据发送任务。
3、处理任务发送结果。
4、导出数据发送接口。
二、基于linux epoll和多线程的事件处理线程模块技术原理
该模块采用linux epoll系统功能及多线程机制,通过启动独立的event-loop事件循环线程和使用libcurl库的multi interface来关联poll句柄,从而分离libcurl http请求操作,实现异步的http发送机制。该模块采用经典的生产-消费者模型,每一次事件循环都执行一个由任务分发接口模块产生的数据发送任务,并通过libcurl库的multiinterface关联的poll句柄,从而不断驱动所有的libcurl http请求操作。具体功能如下:
1、维护数据发送任务(io事件)队列。
2、关联libcurl multi handler(multi句柄)。
3、驱动libcurl http io操作。
三、基于libcurl的http操作处理模块技术原理
模块主要采用开源libcurl库中的multi interface技术,利用libcurl multihander(multi句柄)为每一次的HTTP请求操作产生一个socket描述符fd,并通过异步IO事件循环模块中的关联libcurl multi handler功能,从而完成http请求的读、写操作。该模块功能具体如下:
1、维护http请求操作的socket描述符资源池。
2、完成具体http请求的读写操作。
3、反馈http请求任务的结果。
具体地,本发明提供了一种蜜罐系统攻击行为数据异步http发送装置,包括任务分发接口模块、事件处理线程模块和http操作处理模块;
所述任务分发接口模块用于将蜜罐系统采集到的每一次攻击行为数据经过处理后,生成线程安全的数据发送任务,并将该任务投递到事件处理线程队列中;
事件处理线程模块通过启动event-loop事件循环线程和使用libcurl库的multiinterface关联poll句柄,驱动libcurl http请求操作;
http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向事件处理线程模块投递读、写IO请求,并通过事件处理线程模块在event-loop线程中处理poll对应的socket fd读、写IO操作,并调用http操作处理模块读、写IO操作结果处理后,经过http操作处理模块的读、写IO操作结果处理后,返回任务分发接口模块。
所述事件处理线程模块包括异步IO事件循环模块,异步IO事件循环模块包括IO事件队列、任务处理模块和IO事件处理模块,任务处理模块从IO事件队列中获取任务,任务处理模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作,http操作处理模块利用multi句柄为每一次的libcurlhttp请求操作产生相应的socket描述符fd,并向IO事件处理模块投递读、写IO请求。如权利要求1所述的蜜罐系统攻击行为数据异步http发送装置。
所述任务分发接口模块用于将蜜罐系统采集到的每一次攻击行为数据经过处理后,生成线程安全的数据发送任务,并将该任务投递到事件处理线程队列中。
作为优选实施方式,任务分发接口模块将生成数据发送任务句柄通过采用http的restful API技术的数据传输接口投递到IO事件队列中。
作为优选实施方式,所述任务分发接口模块用于将蜜罐系统采集到的每一次攻击行为数据经过json化处理后,生成线程安全的数据发送任务URL,并将该任务投递到事件处理线程队列中。
如图1-2所示,具体地,本发明提供了一种蜜罐系统攻击行为数据异步http发送方法,包括如下步骤:
S1:蜜罐系统向任务分发接口模块发送采集到的攻击行为数据;
S2:任务分发接口模块处理攻击行为数据,并生成线程安全的数据发送任务;
S3:任务分发接口模块生成数据发送任务句柄,并向事件处理线程模块投递任务;
S4:事件处理线程模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作;
S5:http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向http操作处理模块投递读、写IO请求;
S6:http操作处理模块收到读、写IO请求,启动socket连接、读、写IO操作,事件处理线程模块在event-loop线程中处理poll对应的socket描述符fd和读、写IO请求,并将读、写IO操作结果通知到http操作处理模块;
步骤S6中事件处理线程模块在event-loop线程中处理poll对应的socket描述符fd和读、写IO请求,具体包括如下步骤:
S61:通过数据发送任务的easy句柄关联到multi句柄时,libcurl库将产生对应的socket描述符fd发起联接,并将写IO请求与poll句柄关联;待事件处理线程将对应的socket描述符fd写完成通知,事件处理线程得到对应的socket描述符fd写完成通知,并根据对应的数据发送任务,并将数据发送任务标志已经发送,移出发送事件队列,等待数据服务器处理结果;
S62:等到接收到读IO操作结果,表明攻击数据任务发送成功,数据服务器处理后,将数据服务器处理结果返回给数据发送任务。其中,本发明中提供的写(读)完成通知,就是linux poll异步机制,当调用write或read后,等实际操作完成了,linux内核才通知相应的poll句柄已经完成操作的机制。其中,事件处理线程得到对应的socket描述符fd写完成通知后,在关联easy句柄时,会关联curlmopt_socketfunction回调函数,向http操作处理模块进行通知的。
S7:http操作处理模块对接收到的读、写IO操作结果处理后,返回任务分发接口模块。
作为优选实施方式,本发明提供的步骤S7具体包括如下步骤:
S71:http操作处理模块接收到读、写IO操作完成通知后,根据socket描述符fd找到在http操作处理模块关联的easy句柄;
S72:根据easy句柄,找到对应数据发送任务;
S73:将读、写IO操作结果返回给数据发送任务;
S74:清理easy句柄和数据发送任务相关资源。
其中,本发明步骤S2中任务分发接口模块json化处理攻击行为数据,并生成线程安全的数据发送任务URL。
作为优选实施方式,本发明提供的步骤S4中驱动libcurl http请求操作,包括以下步骤:
S41:当事件处理线程模块获取到数据发送任务URL后,为该数据发送任务URL生成easy句柄;
S42:通过libcurl的curl_multi_add_handle接口将步骤S41的发送任务easy句柄添加到multi句柄中,此时libcurl内部产生相对应的socket描述符fd,并通过curlmopt_socketfunction回调函数关联事件处理线程的poll句柄和向http操作处理模块投递读、写IO请求;
S43:http操作处理模块收到读、写IO请求后,由libcurl内部发启socket连接、读、写IO操作。
作为优选实施方式,本发明提供的任务分发接口模块将生成数据发送任务句柄通过采用http的restful API技术的数据传输接口投递到事件处理线程模块。
本发明提供的事件处理线程模块包括异步IO事件循环模块,异步IO事件循环模块包括IO事件队列、任务处理模块和IO事件处理模块,任务处理模块从IO事件队列中获取任务,任务处理模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作,http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向IO事件处理模块投递读、写IO请求。
其中,读、写IO操作中的写IO操作是向数据服务器通过socket发送攻击事件数据;读IO操作是读取数据服务器返回的结果,读、写IO操作是将攻击事件数据发送给数据服务器,并确认数据服务器是否收到。
本发明攻击行为数据经过任务分发接口模块生成数据发送任务后,所有IO操作和结果处理都在事件处理线程模块中的event-loop线程中处理,从而形成了发送、处理的高性能异步http发送流程。
Claims (9)
1.一种蜜罐系统攻击行为数据异步http发送方法,其特征在于,包括如下步骤:
S1:蜜罐系统向任务分发接口模块发送采集到的攻击行为数据;
S2:任务分发接口模块处理攻击行为数据,并生成线程安全的数据发送任务;
S3:任务分发接口模块生成数据发送任务句柄,并向事件处理线程模块投递任务;
S4:事件处理线程模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作;
S5:http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向http操作处理模块投递读、写IO请求;
S6:http操作处理模块收到读、写IO请求,启动socket连接、读、写IO操作,事件处理线程模块在event-loop线程中处理poll对应的socket描述符fd和读、写IO请求,并将读、写IO操作结果通知到http操作处理模块;
S7:http操作处理模块对接收到的读、写IO操作结果处理后,返回任务分发接口模块;
步骤S6中事件处理线程模块在event-loop线程中处理poll对应的socket描述符fd和读、写IO请求,具体包括如下步骤:
S61:通过数据发送任务的easy句柄关联到multi句柄时,libcurl库将产生对应的socket描述符fd发起联接,并将写IO请求与poll句柄关联;待事件处理线程将对应的socket描述符fd写完成通知,事件处理线程得到对应的socket描述符fd写完成通知,并根据对应的数据发送任务,并将数据发送任务标志已经发送,移出发送事件队列,等待数据服务器处理结果;
S62:等到接收到读IO操作结果,表明攻击数据任务发送成功,数据服务器处理后,将数据服务器处理结果返回给数据发送任务。
2.如权利要求1所述的蜜罐系统攻击行为数据异步http发送方法,其特征在于,步骤S2中任务分发接口模块json化处理攻击行为数据,并生成线程安全的数据发送任务URL。
3.如权利要求2所述的蜜罐系统攻击行为数据异步http发送方法,其特征在于,步骤S4中驱动libcurl http请求操作,包括以下步骤:
S41:当事件处理线程模块获取到数据发送任务URL后,为该数据发送任务URL生成easy句柄;
S42:通过libcurl的curl_multi_add_handle接口将步骤S41的发送任务easy句柄添加到multi句柄中,此时libcurl内部产生相对应的socket描述符fd,并通过curlmopt_socketfunction回调函数关联事件处理线程的poll句柄和向http操作处理模块投递读、写IO请求;
S43:http操作处理模块收到读、写IO请求后,由libcurl内部发启socket连接、读、写IO操作。
4.如权利要求1所述的蜜罐系统攻击行为数据异步http发送方法,其特征在于,任务分发接口模块将生成数据发送任务句柄通过采用http的restful API技术的数据传输接口投递到事件处理线程模块。
5.如权利要求1所述的蜜罐系统攻击行为数据异步http发送方法,其特征在于,步骤S7具体包括如下步骤:
S71:http操作处理模块接收到读、写IO操作完成通知后,根据socket描述符fd找到在http操作处理模块关联的easy句柄;
S72:根据easy句柄,找到对应数据发送任务;
S73:将读、写IO操作结果返回给数据发送任务;
S74:清理easy句柄和数据发送任务相关资源。
6.如权利要求1所述的蜜罐系统攻击行为数据异步http发送方法,其特征在于,所述事件处理线程模块包括异步IO事件循环模块,异步IO事件循环模块包括IO事件队列、任务处理模块和IO事件处理模块,任务处理模块从IO事件队列中获取任务,任务处理模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作,http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向IO事件处理模块投递读、写IO请求。
7.如权利要求1所述的蜜罐系统攻击行为数据异步http发送方法,其特征在于,读、写IO操作中的写IO操作是向数据服务器通过socket发送攻击事件数据;读IO操作是读取数据服务器返回的结果,读、写IO操作是将攻击事件数据发送给数据服务器,并确认数据服务器是否收到。
8.一种蜜罐系统攻击行为数据异步http发送装置,其特征在于,包括任务分发接口模块、事件处理线程模块和http操作处理模块;
所述任务分发接口模块用于将蜜罐系统采集到的每一次攻击行为数据经过处理后,生成线程安全的数据发送任务,并将该任务投递到事件处理线程队列中;
事件处理线程模块通过启动event-loop事件循环线程和使用libcurl库的multiinterface关联poll句柄,驱动libcurl http请求操作;
http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向事件处理线程模块投递读、写IO请求,并通过事件处理线程模块在event-loop线程中处理poll对应的socket fd读、写IO操作,并调用http操作处理模块读、写IO操作结果处理后,经过http操作处理模块的读、写IO操作结果处理后,返回任务分发接口模块。
9.如权利要求8所述的蜜罐系统攻击行为数据异步http发送装置,其特征在于,所述事件处理线程模块包括异步IO事件循环模块,异步IO事件循环模块包括IO事件队列、任务处理模块和IO事件处理模块,任务处理模块从IO事件队列中获取任务,任务处理模块在event-loop线程中将任务关联poll句柄,并向http操作处理模块调用关联multi句柄,驱动libcurl http请求操作,http操作处理模块利用multi句柄为每一次的libcurl http请求操作产生相应的socket描述符fd,并向IO事件处理模块投递读、写IO请求。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010896959.3A CN112134852B (zh) | 2020-08-31 | 2020-08-31 | 一种蜜罐系统攻击行为数据异步http发送方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010896959.3A CN112134852B (zh) | 2020-08-31 | 2020-08-31 | 一种蜜罐系统攻击行为数据异步http发送方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112134852A CN112134852A (zh) | 2020-12-25 |
CN112134852B true CN112134852B (zh) | 2021-08-13 |
Family
ID=73847726
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010896959.3A Active CN112134852B (zh) | 2020-08-31 | 2020-08-31 | 一种蜜罐系统攻击行为数据异步http发送方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112134852B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101517570A (zh) * | 2006-07-10 | 2009-08-26 | 网圣公司 | 分析网络内容的系统和方法 |
CN101982955A (zh) * | 2010-11-19 | 2011-03-02 | 深圳华大基因科技有限公司 | 高性能文件传输系统及方法 |
US10225284B1 (en) * | 2015-11-25 | 2019-03-05 | Symantec Corporation | Techniques of obfuscation for enterprise data center services |
CN110351238A (zh) * | 2019-05-23 | 2019-10-18 | 中国科学院信息工程研究所 | 工控蜜罐系统 |
CN110391937A (zh) * | 2019-07-25 | 2019-10-29 | 哈尔滨工业大学 | 一种基于soap服务模拟的物联网蜜网系统 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7383578B2 (en) * | 2002-12-31 | 2008-06-03 | International Business Machines Corporation | Method and system for morphing honeypot |
CN108055255A (zh) * | 2017-12-07 | 2018-05-18 | 华东师范大学 | 一种事件库、可扩展数据管理系统及其管理方法 |
-
2020
- 2020-08-31 CN CN202010896959.3A patent/CN112134852B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101517570A (zh) * | 2006-07-10 | 2009-08-26 | 网圣公司 | 分析网络内容的系统和方法 |
CN101982955A (zh) * | 2010-11-19 | 2011-03-02 | 深圳华大基因科技有限公司 | 高性能文件传输系统及方法 |
US10225284B1 (en) * | 2015-11-25 | 2019-03-05 | Symantec Corporation | Techniques of obfuscation for enterprise data center services |
CN110351238A (zh) * | 2019-05-23 | 2019-10-18 | 中国科学院信息工程研究所 | 工控蜜罐系统 |
CN110391937A (zh) * | 2019-07-25 | 2019-10-29 | 哈尔滨工业大学 | 一种基于soap服务模拟的物联网蜜网系统 |
Also Published As
Publication number | Publication date |
---|---|
CN112134852A (zh) | 2020-12-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106603598B (zh) | 处理业务请求的方法及装置 | |
CN109327509B (zh) | 一种主/从架构的低耦合的分布式流式计算系统 | |
EP3837604B1 (en) | In situ triggered function as a service within a service mesh | |
US11561835B2 (en) | Unified container orchestration controller | |
JP7112919B2 (ja) | スマート装置のタスク処理方法および装置 | |
US11070648B2 (en) | Offline client replay and sync | |
CN109547511B (zh) | 一种web消息实时推送方法、服务器、客户端及系统 | |
Bangare et al. | Using Node. Js to build high speed and scalable backend database server | |
CN107463434B (zh) | 一种分布式任务处理方法与设备 | |
WO2018077284A1 (zh) | 通信方法和系统、电子设备和计算机集群 | |
CN110413822B (zh) | 离线图像结构化分析方法、装置、系统和存储介质 | |
US11843642B1 (en) | Serverless signaling in peer-to-peer session initialization | |
WO2022104612A1 (zh) | 数据分发流程配置方法及装置、电子设备、存储介质 | |
CN111200606A (zh) | 深度学习模型任务处理方法、系统、服务器及存储介质 | |
CN112104679B (zh) | 处理超文本传输协议请求的方法、装置、设备和介质 | |
CN111131499A (zh) | 并发和异步任务处理方法及其设备 | |
US20140289335A1 (en) | Method and apparatus of configuring a data broadcast service | |
WO2022257247A1 (zh) | 数据处理方法、装置及计算机可读存储介质 | |
CN112134852B (zh) | 一种蜜罐系统攻击行为数据异步http发送方法及装置 | |
CN107819855A (zh) | 一种消息分发方法及装置 | |
CN113965628A (zh) | 消息调度方法、服务器和存储介质 | |
Weerasinghe et al. | Optimized Strategy for Inter-Service Communication in Microservices | |
CN115334155B (zh) | 一种消息队列代理方法和装置 | |
CN117642724A (zh) | 使用无服务器计算系统的流式分析 | |
CN113992644A (zh) | 一种基于无服务技术的物联网关系统及其数据处理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |