保护基于分组的网络不受攻击的方法以及安全边界节点的制作方法_3

文档序号:8447450阅读:来源:国知局
0检查的SIP消息11中。出于此目的,消息上下文供应单元13从SIP消息11中提取信息18,特别是用户代理的客户端ID以及当前会话的呼叫ID,并且将所述信息18提供给数据库14,用于检索在数据库14的记录中存储的上下文信息12,所述记录与特定客户端ID和呼叫ID有关,数据库14适于动态地插入和提取这样的记录,在下文中将更详细地描述。消息上下文供应单元13还从SIP消息11中提取消息类型,与消息类型有关的信息也被提供给数据库14,所述信息被用作为归属于相同的会话和客户端的随后的SIP消息11的上下文信息。此外,消息上下文供应单元13包括时钟发生器19,其适于提供当前处理的SIP消息11的时间戳,所述时间戳还被提供给数据库14,并且可被用作为归属于相同的客户端或会话的随后的SIP消息11的另外的上下文信息。
[0031]从数据库14接收的、与当前处理的SIP消息11有关的上下文信息12可以被选择作为例如会话历史信息(特别是,与会话序列和/或允许的下一消息类型有关)、消息到达间隔时间、以及客户端历史信息(特别是与呼叫率有关,呼叫率指示出在每个时间单元由同一客户端请求的呼叫次数)。
[0032]消息上下文供应单元13适于将消息上下文信息直接包括在SIP消息11的文本中,如将在下文中参照BYE类型的SIP消息的文本所描述的那样,所述BYE类型的SIP消息在上下文信息供应单元13中接收,并在以下示出:
[0033]BYE sip: 1234010.1.2.3:5060 ;user = phone SIP/2.0
[0034]Reason:Q.850 ;cause = 95 ;text =,,invalid message”
[0035]Date:Thu, 22Mar 200714:06:32GMT
[0036]To:〈sip: 1234010.1.2.3:5060 ;user = phone〉;tag = 46028a7a91
[0037]From:471Ksip:4711@10.1.2.25:5061 ;user = phone〉;tag = 58FD..
[0038]Call-1D:01F81FlC0A81400000000048@unique.de
[0039]CSeq:2BYE
[0040]Max-Forwards: 70[0041 ] T imestamp: 3769
[0042]Via:SIP/2.0/UDP 10.1.2.25:5061 ;branch = z9hG4bK..
[0043]Content-Length: 0
[0044]消息上下文供应单元13接着向消息文本中添加与SIP消息11归属于其的客户端的呼叫率有关的消息上下文信息,以及与会话的之前交换的消息有关的信息,在本示例中为INVITE、2000K,以及ACK消息,连同它们的消息到达间隔时间,在以下消息文本中在方括号中不出:
[0045]BYE sip: 1234010.1.2.3:5060 ;user = phone SIP/2.0
[0046][call rate x]
[0047][INVITE,ν ms]
[0048][2000K,y ms]
[0049][Ack,25000ms]
[0050]Reason:Q.850 ;cause = 95 ;text =,,invalid message”
[0051]Date:Thu, 22Mar 200714:06:32GMT
[0052]To:〈sip: 1234010.1.2.3:5060 ;user = phone〉;tag = 46028a7a91
[0053]From:471Ksip:4711@10.1.2.25:5061 ;user = phone〉;tag = 58FD..
[0054]Call-1D:01F81FlC0A81400000000048@unique.de
[0055]CSeq:2BYE
[0056]Max-Forwards: 70
[0057]T imestamp: 3769
[0058]Via:SIP/2.0/UDP 10.1.2.25:5061 ;branch = z9hG4bK..
[0059]Content-Length: 0
[0060]可以理解,对于消息上下文供应单元13来说,将消息上下文信息12直接包括在SIP消息11中是必要的,因为使用单独的接口(如图2中的虚线箭头所指示的)将此信息与被检查的SIP消息11并发地提供给异常检测单元10也是可能的。为了考虑到被包括在SIP消息11中的消息上下文信息12,在任一情形中,可以通过将相当大数量的范例SIP消息连同上下文信息一起提供给异常检测单元10,而预先执行训练,从而异常检测单元10可以学会如何对于已组合的消息内容和上下文信息执行异常检测。
[0061]在异常检测已经执行之后,取决于异常检测的结果(是否检测到攻击),决策单元15要么丢弃所检查的SIP消息,要么将其转发到SIP栈16。将会理解,当消息上下文信息被直接包括在SIP消息11中的情况中决策单元15在将消息传输到SIP栈16之前从消息中移除消息上下文信息。
[0062]此外,决策单元15将与决策结果有关的上下文信息17提供给数据库14。此上下文信息17可以是多状态信息,可被用于向消息上下文供应单元13—更特别地,在其中安置的消息处理单元13a —提供信息,所述信息用于决定客户端/会话的随后的消息是否应该被馈送到异常检测单元10。特别地,当会话/客户端已经被识别为攻击会话/客户端的情况下,上下文信息17可以指示出下一个也即该会话/客户端的所有消息应该被丢弃。在客户端过去具有良好表现的情况下,上下文信息17可以指示出归属于某个客户端/会话的SIP消息11应该使用旁路20被分别直接转发到决策单元15或SIP栈16。可替换地或者附加地,当满足附加条件时,上下文信息17可以指示出某个客户端/会话的SIP消息11仅应该被提供给异常检测单元10。以此方式,不同信任级可以分别归属于会话或客户端。
[0063]可以理解,取代于由消息处理单元20将消息丢弃,还可以将上下文信息包括在导致异常检测单元10中的攻击检测、将被丢弃的SIP消息11中,从而SIP消息11最终在决策单元15中被丢弃。此外,消息处理单元20可以向可疑消息添加指示,例如头部,指示出这些消息应该被馈送到另外的安全实例(未示出)。例如通过将较低优先级归属于可疑消息以及将可疑消息归属于(低)优先级队列,消息处理单元20还可以延迟对于某些消息执行异常检测。
[0064]在下文中,参考图3将更详细地描述存储每个客户端和会话的补充(上下文)信息的客户端/呼叫数据库14。数据库14允许动态地插入和提取记录,记录表示客户端或者会话。客户端记录构建了树的根,树的叶子/分支对应于客户端保有的会话。如果在数据库14中没有可用的客户端记录,则该客户端迄今为止尚未进行注册。在此情形中,如果消息上下文供应单元13将与REGISTER类型的SIP消息Ila有关的信息提供给数据库14,则记录构造器21创建新的客户端记录22 (在下文中被称为客户端)。客户端22的消息率或会话建立率可以在客户端构造器21中观察到,并且相应的值可以被添加到客户端记录22作为上下文信息22a,以便以上述方式将其提供给消息上下文供应单元13,从而异常检测单元10可以通过考虑该值而执行其决策。
[0065]一旦客户端记录22已经生成,则新的会话记录23 (在下文中也被称为会话)将在接收到INVITE类型的SIP消息Ilb时被生成。对于会话23的INVITE消息Ilb以及随后的SIP消息Ilc至llf,与会话23有关的上下文信息23a被持续更新,由此使得消息历史(即会话23的消息序列Ilb至Ilf)以及消息到达间隔时间Δ T可用于消息上下文供应单元13。此外,来自决策单元15的附加的上下文信息也可以被添加到会话23的上下文信息23a或者被添加到客户端22的上下文信息22a。此外,SIP栈
当前第3页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1