首页> 中国专利> 基于网络流量的使用跨会话技术检测未知木马的方法及系统

基于网络流量的使用跨会话技术检测未知木马的方法及系统

摘要

本发明公开了基于网络流量的使用跨会话技术检测未知木马的方法及系统,包括dpdk抓取交换机镜像过来的网络流量、解析数据包、五元组进行会话管理、调换源目的的ip地址、存在方向的ip对会话后判断创建时间、根据两个会话的协议类型剔除正常通信协议与输出木马检测结果七个步骤。本文提出基于对木马的通信行为进行检测,但不是采用统计规律来进行检测,而是由经验丰富的安全分析人员依据大量的实践经验,根据大量多种木马的通信活动总结出的通信特点来进行检测,可以检测出apt这一类的木马通信活动,具有检测新的未知木马能力;通过监控网络流量,判断分析隐藏在计算机木马程序上线激活的步骤,从而发现木马活动,最终发现失陷主机。

著录项

  • 公开/公告号CN113839937A

    专利类型发明专利

  • 公开/公告日2021-12-24

    原文格式PDF

  • 申请/专利权人 神州网云(北京)信息技术有限公司;

    申请/专利号CN202111081415.2

  • 发明设计人 宋超;

    申请日2021-09-15

  • 分类号H04L29/06(20060101);

  • 代理机构51298 成都华复知识产权代理有限公司;

  • 代理人李俊

  • 地址 100089 北京市海淀区紫竹院路98号北京化工大学西校区教学楼II段(科技园A栋)3层318

  • 入库时间 2023-06-19 13:48:08

说明书

技术领域

本发明属于跨会话检测未知木马技术领域,具体涉及基于网络流量的使用跨会话技术检测未知木马的方法及系统。

背景技术

随着网络技术的发展,网络安全已经成为重要的研究课题。目前,主要的安全威胁方式正从入侵攻击、网络蠕虫转向主要通过网页挂马等方式传播木马,攻击者可以通过木马窃取机密文件、隐私信息、各种账号,从而谋取暴利,并组建僵尸网络,发动群体攻击,木马严重威胁着网络用户的隐私和数据安全。因此,在开放的网络环境下,木马检测技术已成为现代计算机安全技术中的一个重要研究课题。按检测对象来划分有检测木马文件、检测木马通信流量、检测木马进程行为三大类。对木马文件进行检测需要事先获取木马样本,提取特征,比如文件的md5值,特征字符串或者二进制特有指令。检测木马进程行为需要在每台计算机上安装、运行检测工具,影响用户使用计算机。检测木马通信流量又可以分为已知流量特征和通信行为检测。流量特征也需要实现掌握对应的真实木马通信流量,然后提取特征。通信行为检测可以研究木马的具体通信行为,掌握通信行为规律,利用通信行为统计特征来进行检测,缺点是需要木马通信比较多,次数比较频繁。

现有的检测方式多基于已知特征的检测,缺点是需要提前获取、提取已知木马的样本,随着技术进步,木马样本可以随意变形,木马迭代升级速度也很快,获取样本的难度越来越大,样本数量极为庞大,以已知特征的检测方式越来越困难。基于通信行为的检测依赖于木马的多次通信行为。但apt类木马的通信次数很少,上线时间很少,大部分时间都在沉睡,这类木马的通信行为检测难度很大,检测样本量很少,为此我们提出基于网络流量的使用跨会话技术检测未知木马的方法及系统来解决现有技术中存在的问题。

发明内容

本发明的目的在于提供基于网络流量的使用跨会话技术检测未知木马的方法及系统,通过监控网络流量,判断分析隐藏在计算机木马程序上线激活的步骤,从而发现木马活动,最终发现失陷主机,以解决上述背景技术中提出现有技术中的问题。

为实现上述目的,本发明采用了如下技术方案:基于网络流量的使用跨会话技术检测未知木马的方法,包括如下步骤:

步骤1、dpdk抓取交换机镜像过来的网络流量;

步骤2、解析数据包,并解析出数据包的各种类型;

步骤3、五元组进行会话管理,保存会话的ip对;

步骤4、调换源目的的ip地址,用ip对在会话表中查询是否已经存在反向的会话;

步骤5、存在方向的ip对会话后判断创建时间是否在10分钟之内;

步骤6、根据两个会话的协议类型剔除ftp,rtsp等正常通信协议;

步骤7、输出木马检测结果:通信的两个ip地址。

优选的,步骤1中,复制数据包到合适大小的进程内存中,同时也使用引用计数方式管理,多处需要缓存数据包时就不再复制数据,仅增加引用计数即可。

优选的,步骤2中,数据包的各种类型包括ip类型,端口类型,协议类型。

优选的,步骤4中,普通会话查找是查找发起连接的ip,而要查找反向连接的会话则需要在历史会话缓存中查找是否存在当前会话ip对交换后的历史会话。

优选的,步骤5与步骤6中,用木马和控制服务器的多次通信的关联性来检测木马,就需要保存一定时间内的一个ip对之间的所有通信会话,当有符合特点的多个会话出现时则认为检测到木马。

优选的,在木马的监测过程中,一般需要一定的数据量才能确定检测到木马,确认告警时则把之前缓存的数据包和之后的数据包永久保存,便于后续分析、取证,超过一定数据量还没有检测到异常时则丢弃之前缓存的数据。

本发明还提出基于网络流量的使用跨会话技术检测未知木马的系统,包括:

抓包模块:利用DPDK技术通过操作系统的用户模式驱动UIO可以在用户态通过轮询的方式读取网卡的数据包;

包处理线程模块:默认情况下系统通过4kb大小来管理内存页面,但是通过与DPDK对应的大页内存技术可以将内存页面调节到1GB;

复制包处理模块:通过这个复制线程处理模块可以快速提高数据包的传输效率,把需要进行检测的数据包提取下来;

检测模块:通过把复制包处理线程模块处理完的数据流量包进行进一步流量的具体特征分析,将恶意流量的结果保存。

优选的,通过轮询的方式读取网卡的数据包,无需把数据包在内核空间和用户空间之前往复移动。

本发明的技术效果和优点:本发明提出的基于网络流量的使用跨会话技术检测未知木马的方法及系统,与现有技术相比,具有以下优点:

未知木马的检测是通过木马上线的行为,而木马上线是必然的步骤,这样检测手段长时间有效,具有未知木马的检测能力,通过该技术的流量分析模块,手段是通过调用目的IP地址、用IP对会话表中查询是否存在反向的会话时间在10分钟之内并且剔除ftp等正常通信协议,这种在流量中剔除白名单流量而保留位置名单流量的分析方式可以筛选出有异常的木马上线流量,从而具备未知木马的检测能力。由于木马上线必须回连到服务端IP,这种协议特征比较稳定,不需要通过多重特征来人工排除和确定,所以不需要经常更新特征库;

本文提出基于对木马的通信行为进行检测,但不是采用统计规律来进行检测,而是由经验丰富的安全分析人员依据大量的实践经验,根据大量多种木马的通信活动总结出的通信特点来进行检测,可以检测出apt这一类的木马通信活动,具有检测新的未知木马能力。

本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、以及附图中所指出的结构来实现和获得。

附图说明

图1为木马活动过程的流程示意图;

图2为本发明中检测木马过程的流程示意图;

图3为本发明中系统线程分配情况的示意图;

图4为本发明中系统实现的处理流程的示意图;

图5为本发明中发掘未知木马的活动线索的流程示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明提供了如图1-5所示的实施例:

如图1所示,黑客等攻击者在需要启动木马时则先给非活动的木马发送激活数据包,这一动作可以表示为一个tcp会话,处于休眠状态的木马收到激活指令后主动回连控制服务器,接收进一步控制指令,然后加载功能模块,进行传输数据等活动;主动回连控制服务器这一动作又可以表示为一个tcp会话,和之前的会话合在一起具有连接方向相反的特点,两个会话时间接近的特殊性。正常网络协议只有一个会话,不会出现会话反连的情况,正常通信协议的反连情况需要加以排除,比如ftp协议,视频rtsp协议等。

基于网络流量的使用跨会话技术检测未知木马的方法,包括如下步骤:

步骤1、dpdk抓取交换机镜像过来的网络流量;

步骤2、解析数据包,并解析出数据包的各种类型;

步骤3、五元组进行会话管理,保存会话的ip对;

步骤4、调换源目的的ip地址,用ip对在会话表中查询是否已经存在反向的会话;

步骤5、存在方向的ip对会话后判断创建时间是否在10分钟之内;

步骤6、根据两个会话的协议类型剔除ftp,rtsp等正常通信协议;

步骤7、输出木马检测结果:通信的两个ip地址。

本发明还提出基于网络流量的使用跨会话技术检测未知木马的系统,包括:抓包模块:利用DPDK技术通过操作系统的用户模式驱动UIO可以在用户态通过轮询的方式读取网卡的数据包;

包处理线程模块:默认情况下系统通过4kb大小来管理内存页面,但是通过与DPDK对应的大页内存技术可以将内存页面调节到1GB;

复制包处理模块:通过这个复制线程处理模块可以快速提高数据包的传输效率,把需要进行检测的数据包提取下来;

检测模块:通过把复制包处理线程模块处理完的数据流量包进行进一步流量的具体特征分析,将恶意流量的结果保存;通过轮询的方式读取网卡的数据包,无需把数据包在内核空间和用户空间之前往复移动。

图3示出了系统线程的分配情况;

图4中,在进行完工程的设置以及网络适配器的设置后,可以对相应的抓包分析策略进行选择,系统为用户提供了六种分析策略,以供用户满足不同的分析需求,分别是前台实时分析并保存数据包;前台实时分析不保存数据包;前台实时分析并在后台同时进行详细分析;只分析黑域名和黑IP信息并保存数据包;只分析黑域名和黑IP信息不保存数据包;只抓取网络上的黑IP信息。

在设置完策略后,用户就可以进行系统抓包了,系统将捕获的数据包按照两个方向进行分析,其一是通过域名分析、特征码匹配、黑白名单过滤等分析网络流量中存在的已知木马的活动行为;另一方向是通过协议还原,还原出数据包的内容并对其进行全方位多角度的分析,发现与提取网络上存在的可疑行为,从而发掘未知木马的活动线索。

综上所述,本发明具有以下特点:

1、仅一次复制数据包;平衡了内存浪费和使用cpu复制数据的矛盾;dpdk抓包使用固定2k长度的大页内存,很浪费内存,尤其在需要缓存很多数据包时。复制数据包到合适大小的进程内存中,同时也使用引用计数方式管理,多处需要缓存数据包时就不再复制数据,仅增加引用计数即可。即节约了内存,有减少了cpu的使用,平衡了使用cpu复制数据和内存浪费的问题;

2、历史包缓存;可以回溯历史数据,便于确认告警的正确性;一般需要一定的数据量才能确定检测到木马,确认告警时则把之前缓存的数据包和之后的数据包永久保存,便于后续分析、取证。超过一定数据量还没有检测到异常时则丢弃之前缓存的数据;

3、历史会话缓存;缓存了同一ip对的多个会话;用木马和控制服务器的多次通信的关联性来检测木马,就需要保存一定时间内的一个ip对之间的所有通信会话,当有符合特点的多个会话出现时则认为检测到木马;

4、会话反向查找;查找木马和控制服务器间的反向连接;普通会话查找是查找发起连接的ip,而要查找反向连接的会话则需要在历史会话缓存中查找是否存在当前会话ip对交换后的历史会话;

5、并行多线程;单机高效处理万兆流量;万兆流量需要多个cpu核心并行同时处理数据包。同时cpu主频有限,单一线程的处理能力有限,就需要多个cpu核心流水线试顺序处理数据。即数据拆分为多份同时并行处理,且一份数据又流水线式多次、多线程处理;

6、高性能无锁消息队列;高效在线程间传递数据;流水线式顺序处理数据就需要在多个线程间顺序转接数据包,需要高效处理多线程互斥问题。无锁队列即高效又能平衡线程间处理速度不同的问题;

7、BPF数据包过滤;高效过滤数据包;初始化时把bpf表达式编译为内存中的x86cpu指令,在内存中执行cpu汇编代码,可以非常高效和灵活的对抓下的万兆流量数据包进行第一次过滤;

最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号