一种基于序列比对的木马通信特征自动提取方法与流程

文档序号:37222483发布日期:2024-03-05 15:21阅读:16来源:国知局
一种基于序列比对的木马通信特征自动提取方法与流程

本发明涉及一种网络安全领域的木马检测技术,特别是涉及一种基于序列比对的木马通信特征自动提取方法。


背景技术:

1、随着互联网技术的日益发展,人们安装和部署应用服务的需求急剧增加,远控木马传播的方式也在迅速扩展,这些方法包括网络钓鱼、破解/激活软件等。木马传播途径的多样性增加了用户面临潜在威胁风险的同时,也使得木马检测变得更加困难。

2、特洛伊木马(trojan)是以客户端/服务器(c/s)架构为基础,由设计者嵌入到应用程序或系统中,在用户不知情或未经许可的情况下窃取用户私人信息的恶意软件。由于木马的影响,信息泄露已成为大多数互联网用户的严重安全问题。远控木马是一种特殊类型的木马,主要目标是通过网络远程操作服务端(server)实施危害行为,秘密收集和窃取用户的敏感信息。其工作机制一般分为侵入、执行、通信以及持续化四个阶段。在侵入阶段,木马通过电子邮件附件、恶意网站等各种隐蔽的方式侵入用户的主机。在执行阶段,木马成功入侵后,便开始通过屏幕截图、文件搜索等操作秘密收集信息。在通信阶段,木马将收集到的信息通过分割数据和小批量传输等方法,发送到攻击者预设的远程服务器。最后持久化阶段,为持续收集数据和隐藏自身,远控木马一般会通过设置自启动,更改自身目录等方式持久的驻留在用户系统中,给受害用户的个人信息安全带来持久的威胁。

3、木马检测技术主要有基于主机和基于网络的两类。基于主机的检测方法通过检测终端主机内的软件行为来发现恶意软件行为,但由于恶意软件使用复杂的混淆和特权提取等技术,使得木马有可能绕过或逃避主机侧检测软件的检测。但无论采用何种方式逃避主机侧检测,远控木马必须接受控制端网络控制,并将控制结果通过网络传送出去。因而,网络侧是检测发现远控木马的重要位置。基于网络的检测方法通过分析大量流量特征、网络行为等来发现恶意流量,与基于主机的恶意代码检测方法具有很好的互补性。stinson等人通过检查网络流量中的敏感信息,重点分析远程控制行为。borders等人则利用了人工观察现象,即大部分网络流量是可重复的或可以由外部信息推断的,提出了一种量化网络流量中信息泄漏的方法。kocak等人在网络应用程序中使用bloom过滤器进行深度包检测,成功的过滤了应用程序,使其能够匹配snort规则等字符串。

4、基于规则的恶意流量检测也属于网络检测方法之一。该方法根据恶意流量本身隐含在数据包中的特征,编写规则,将规则应用到入侵检测系统中,ids解析规则后匹配流量中的每个数据包,一旦出现符合规则描述的数据包则发出警告,其中较为著名的检测工具有snort、suricata等。此种方式的检测精度和检测效率高,且避免了神经网络模型繁琐的特征工程和训练时间成本,但缺点是比较依赖专家知识编写规则,人工成本较高。为了降低规则编写的人工成本,研究人员提出了攻击特征自动提取技术,即借助特定的算法,从流量中自动提取出攻击特征,进而应用到规则中。yin等人对已有的攻击特征自动提取技术进行了定义和分类,并给出了详细的介绍。现有的攻击特征自动提取技术,一般是借用生物信息学基因序列比对的算法,如needleman wunsch算法、simith waterman算法等,从流量中提取特征。

5、综上,当前基于规则匹配的攻击特征提取方法通常面临算法时间复杂度高,无法面向大规模数据提取特征,以及所提取出的特征可解释性差的问题。

6、有鉴于上述现有的上述技术存在的缺陷,本发明人经过不断的研究、设计,并经反复试作样品及改进后,终于创设出确具实用价值的本发明。


技术实现思路

1、本发明的目的在于,克服现有的基于规则匹配的攻击特征提取技术时间复杂度高,检测精度差的缺陷,而提供一种新型结构的一种基于序列比对的木马通信特征自动提取方法,所要解决的技术问题是使其提取技术时间简单,对于现有的远控木马具有普遍的可检测性,检测精度高,从而更加适于实用。

2、本发明的另一目的在于,提供一种基于序列比对的木马通信特征自动提取方法,所要解决的技术问题是使其能够深入挖掘序列间的深层关系,对真实流量做检测,从而更加适于实用。

3、本发明的再一目的在于,提供一种基于序列比对的木马通信特征自动提取方法,所要解决的技术问题是使其无需花费人工成本,极大的提高了远控木马检测效率,从而更加适于实用。

4、本发明技术解决问题的构思是:由于远控木马通常具有隐藏性强、攻击手段多样等特点,其行为很容易被掩藏在大量的正常流量中,导致传统的依靠规则或者已知特征的检测方法很难有效应对。本发明针对当前基于规则匹配的攻击特征提取技术时间复杂度高,检测精度差的问题,提出了一种基于序列比对的攻击特征自动提取方法,其能够深入挖掘序列间的深层关系,针对远控木马的6种攻击操作提取有效子串,并将其通过一定的规则转换为ids工具可直接识别的snort规则集,对真实流量做检测。

5、本发明的目的及解决其技术问题是采用以下技术方案来实现的。依据本发明提出的一种基于序列比对的木马通信特征自动提取方法,用于检测恶意流量,包括如下步骤:

6、步骤s1:提取原始数据的ip头部与payload部分,提取网络层即ip协议和传输层所使用的协议头部信息,采用键值对的形式进行分类标记,对payload部分,以字节为单位,采用16进制字符串的形式进行存储;

7、步骤s2:基于序列比对算法提取攻击特征最长公共子串,包括:

8、基于随机化的多子串提取方法:其是对m个输入字符串进行随机排列后,将排列后的字符串按顺序两两分为一组,采用动态规划算法计算每组中两个字符串的最长公共子序列,然后进行迭代计算lcs,保留迭代过程中最长公共子序列;

9、基于滑动窗口的子串提取方法:其是给定一个长度为l的滑动窗口,窗口从第一条包序列开始滑动,滑动步长也设为l,在滑动过程中,窗口内的任意两个包序列进行一次比对,对提取出的子串进行权重分配与排序,将权重较高的子串看作重要特征,得到用于检测的最优木马特征子串;

10、步骤s3:进行snort规则转换,过滤非连续短字节序列,定义规则转换字段映射关系,将清洗后的子串映射转换为snort规则,然后将转换为snort规则集放入ids检测工具对真实流监测。

11、进一步地,所述步骤s1具体包括:

12、根据不同的传输层协议类型对目标数据进行分类,去掉以太帧头部,保留原始数据的ip头部与payload部分,提取网络层即ip协议和传输层所使用的协议头部信息,采用键值对的形式进行分类标记,头部信息以“层-字段名”的方式对进行规范化命名,其中所提取得头部信息包括但不限于:

13、ip层协议:ip_length,ip_tos,ip_ttl,ip_protocol;

14、tcp层协议:tcp_srcport,tcp_dstport,tcp_flag,tcp_windowsize;

15、udp层协议:udp_srcport,udp_dstport,udp_length;

16、接着,过滤数据包,对最终规则转换存在较大干扰的无用数据将其过滤,对无法解析的有效载荷部分,以字节为单位,对于payload部分,采用16进制字符串的形式进行存储,将每个数据包的头部字段信息与对应的载荷部分拼接起来,得到一条完整的输入流。进一步地,过滤掉数据包中的载荷为零的数据包和tcp协议中由于网络波动导致的重传包,过滤掉ip层协议中的id字段以及源ip和目的ip字段。

17、进一步地,所述步骤s2具体包括:

18、采用序列比对算法提取攻击特征最长公共子串:设存在两序列分别为p=p1p2…pn,q=q1q2…qm,其中,p和q代表两条序列,两条序列的长度分别为n和m,最终确定这两条序列之间的最长公共子序列;

19、基于随机化的多子串提取方法,假设有一集合s,其中s={s1,s2,...,sm}代表m个输入字符串,通过随机排序得到字符串s′,使用动态规划算法,计算字符串s′中的任意两个相邻字符串s′i和s′i+1之间的最长公共子序列即lcs,接着,迭代计算所有组的lcs,保留迭代过程中最长的lcs;其中,s表示字符串集合;m表示s中字符串的数量;s′表示原始集合s中的字符串经过随机排序后得到的新字符串集合;s′i和s′i+1分布表示相邻两个字符串;lcs表示最长公共子序列;

20、基于滑动窗口的子串提取方法,定义一个滑动窗口w,其长度为l,滑动窗口的当前位置表示为k,对于每个位置k,窗口内数据包序列可表示为w(k)=dk,dk+1,...,dk+l-1,在每次滑动中,选择窗口w(k)内的任意两个数据包序列di和dj进行序列比对,提取出最长公共子串lcs,对提取出的子串进行权重分配与排序,将权重较高的子串看作关键特征,设w(x)表示子序列x的权重,排序函数sorted_substrings=sortw(x)(all_substrings),得到用于检测的最优木马特征子串;

21、其中,w表示滑动窗口;l是窗口长度;k是窗口的当前位置;w(k)是在位置k的窗口内的两个数据包;dk,dk+1表示在窗口w(k)内任意两个数据包,其中k和k+1是两个数据包在窗口的位置;w(x)表示子序列x的权重;sorted_substrings为排序函数,是一个基于权重w(x)所有提取出的子串进行排序的而函数。

22、进一步地,,将得到的最长公共子串lcs子串引入噪声处理机制,函数θ表示子序列的长度,删除所有满足θ(x)<6的序列x,保留剩余子串kept_substrings,则keptsubstrings={x|θ(x)>6};

23、其中,θ表示子序列的长度,具体来说,对于任何子序列x,θ(x)表示x的长度;kept_substrings表示一个集合,包含了那些长度超过6的子序列。

24、进一步地,将提取出的子串用于不平衡数据下恶意流量检测,其中:

25、acc为准确率,定义为

26、p为精度,定义为

27、r为召回率,定义为

28、在上述公式中,tp是木马样本被正确识别为木马的数量,tn是正常样本被正确识别为正常的数量,fp是正常样本被错误识别为木马的数量,fn是木马样本被错误识别为正常的数量;acc为准确率,考虑了所有正确和错误的预测;p为精度,评估模型预测正类样本的准确性;r为召回率,衡量正样本中有多少被正确预测为正类;

29、进一步地,所述步骤s3,将最长公共子序列转换为snort规则的方法包括:

30、s3.1特征序列清洗,对lcs中的非连续短字节序列进行过滤,其中任何特征字节数小于或等于预定义的过滤阈值的序列均被视为噪声并被删除,当前过滤阈值为6,过滤掉仅含有数据包头部字段信息且不携带任何特征序列的lcs;

31、s3.2将清洗后的lcs转换为snort规则;根据自定义规则映射关系,包括将数据包头部字段与snort规则字段进行转换。

32、进一步地,所述的映射关系包括:

33、数据包的“src_ip”和“dst_ip”字段映射为“any”;

34、数据包的“tcp_srcport”和“udp_srcport”字段映射为“源端口”;

35、数据包的“tcp_dstport”和“udp_dstport”字段映射为“目的端口”;

36、数据包的“tcp_windowsize”字段映射为“window”;

37、数据包的“tcp_flag”字段映射为“flags”;

38、数据包的“ip_ttl”字段映射为“ttl”;

39、数据包的“ip_length”字段映射为“dsize”;

40、lcs中的特征序列映射为“content”;

41、虽然snort规则的语法要求源ip和目的ip不为空,但在实际的提取过程中,并不提取数据包的源ip和目的ip字段。

42、本发明与现有技术相比具有明显的优点和有益效果。其至少具有下列优点:

43、1.本发明通过研究木马通信机制,发现远控木马在通信过程中会产生特殊字符串等特点,实现了基于序列比对的远控木马攻击特征自动提取技术,在保证提取特征充分性的同时确保时间复杂度上相对可接受。

44、2.本发明基于多子串提取及滑动窗口子串提取方法,在保持精度的同时还具有较高的召回率,即检测出了更多的恶意流量,这与实际检测环境中要求的尽可能多的检测出异常流量同时保持较低的误判率的要求十分符合。将有效子串通过规则转换字段映射成snort规则,利用现有的ids工具检测真实流量。

45、3.本发明提出的方法具有较高的检测精度和较低的误报率且降低了在规则编写过程中的人工成本,更符合真实环境的检测要求,方法对于远控木马检测问题切实有效。

46、4.本发明提出的方法具有很好的自适应性,随着新的木马攻击模式的出现,序列比对技术可以轻松的调整和适应新的攻击模式,因为该方法主要依赖于识别相似性和模式,而不是特定的已知特征。这使得该方法能够更好的应对零日攻击或尚未被定义的新型攻击。

47、5.本发明兼容性高,该方法能够与现有的网络安全解决方案完美结合,提取的特征可以被转化为多种格式,使其与多种工具和平台兼容,增强了其部署的灵活性。

48、6.本发明提出的方法数据效率高,使用序列比对可以从大量的流量数据中高效的提取关键信息。与传统的模式匹配方法相比,它可以处理更大的数据集并快速的提取有用信息。

49、上述说明仅是本发明技术方案的概述,为了能够更清楚了解本发明的技术手段,而可依照说明书的内容予以实施,并且为了让本发明的上述和其他目的、特征和优点能够更明显易懂,以下特举较佳实施例,并配合附图,详细说明如下。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1