首页 / 专利库 / 软件 / 中间件 / 消息代理 / 保护基于SIP的应用的方法

保护基于SIP的应用的方法

阅读:153发布:2024-01-14

专利汇可以提供保护基于SIP的应用的方法专利检索,专利查询,专利分析的服务。并且公开了一种用于保护基于SIP(会话发起协议)的应用的方法,其中,对SIP消息进行分析,并对潜在构成对基于SIP的应用的安全 风 险的恶意SIP消息进行识别。对于以易于实施的方式来实现特别高安全[级别],从所述SIP消息中,提取预先可定义个数N的预先可配置参数,即身份;针对每个SIP消息,执行所述身份与从先前SIP消息中提取的身份的比较;以及针对每个SIP消息,基于所述比较结果来评价恶意级别ML。,下面是保护基于SIP的应用的方法专利的具体信息内容。

1、一种用于保护基于SIP(会话发起协议)的应用的方法,其 中,对SIP消息进行分析,并对潜在构成对所述基于SIP的应用的安 全险的恶意SIP消息进行识别,所述方法包括:
从所述SIP消息中,提取预先可定义个数N的预先可配置参数, 所述参数即身份;
针对每个SIP消息,将所述身份与从先前SIP消息中提取的身份 进行比较;以及
针对每个SIP消息,基于所述比较结果来评价恶意级别ML。
2、如权利要求1所述的方法,其中,通过会话边界控制器(SBC)、 应用层防火墙、代理服务器、背靠背用户代理、客户机等,来执行所 述分析和识别。
3、如权利要求1所述的方法,其中,所提取的身份是用户特定 的和/或设备特定的参数。
4、如权利要求3所述的方法,其中,所提取的身份是发送消息 方的SIP URI、MAC地址、主机身份协议(HIP)标识符、SIP VIA报 头字段值、SIP联系报头字段值、包括所述发送方的IP地址以及端口 的SDP协议报头字段值等。
5、如权利要求4所述的方法,其中,将转换的相应结果应用于 所述值之一,作为身份,优选地,所述转换是散列函数。
6、如权利要求1所述的方法,其中,形成由预先定义的身份创 建的N维超空间,其特征在于,对于每个SIP消息,将一个点输入所 述超空间。
7、如权利要求6所述的方法,其中,第n个消息的恶意级别 ML是在所述超空间中输入的先前消息的点的函数f。
8、如权利要求6所述的方法,其中,根据点的输入顺序,在可 配置的持续时间之后,从所述超空间中除去所述点。
9、如权利要求6所述的方法,其中,如果所述比较产生第n个 消息点的至少一个身份与所输入的点的至少一个身份匹配的结果,则 第n个消息的恶意级别ML不等于0。
10、如权利要求6所述的方法,其中,第n个消息的恶意级别 ML越高,至少一个身份与第n个消息点的相应身份匹配的所输入点 的个数越多。
11、如权利要求6所述的方法,其中,第n个消息的恶意级别ML 越高,在所输入点之一与第n个消息点之间的匹配身份的个数越多。
12、如权利要求6所述的方法,其中,以所述N维超空间中的 点之间的预先可配置距离之和来计算恶意级别ML。
13、如权利要求12所述的方法,其中,各个距离值是固定值。
14、如权利要求12所述的方法,其中,动态地调整各个距离值。
15、如权利要求1所述的方法,其中,散列表用于存储所述N 维身份。
16、如权利要求15所述的方法,其特征在于,所述散列表用于 每个身份。
17、如权利要求15所述的方法,其中,在散列表的关键列中,存 储各个身份的相应散列值,并且分别作为条目来存储身份组。
18、如权利要求15所述的方法,其中,以将共享身份组的指针 存储作为条目的方式来使用共享的条目。
19、如权利要求1所述的方法,其中,仅对没有检测到异常的、 先前通过语法分析的那些SIP消息进行语法分析。
20、如权利要求1所述的方法,其中,预先设置恶意级别的阈 值,在超过所述阈值时,将SIP消息归类为恶意的。
21、如权利要求1所述的方法,其中,识别为恶意的SIP消息 生成警报,和/或阻断识别为恶意的SIP消息。
22、如权利要求20所述的方法,其中,预先设置两个或多个阈 值,不同的结果与超过各个阈值中的每个相关联。
23、如权利要求20所述的方法,其中,动态地更新所述阈值。
24、如权利要求1所述的方法,其中,进一步分析识别为恶意 的SIP消息。
25、一种用于在网络中保护基于SIP(会话发起协议)的应用的 系统,所述系统包括至少一个客户机设备、以及在与所述至少一个客 户机的通信中涉及的至少一个节点,其中,所述至少一个节点包括:
分析器,用于分析由所述至少一个客户机设备发送和/或接收的 SIP消息;
提取器,用于从所述SIP消息中预先可定义个数N的提取预先可 配置参数,所述参数即身份;
比较器,用于针对每个SIP消息,将所述身份与从先前SIP消息 中提取的身份进行比较;以及
评价部分,用于针对每个SIP消息,基于所述比较结果来评价恶 意级别ML。

说明书全文

技术领域

发明涉及一种用于保护基于SIP(会话发起协议)的应用的方 法,其中,对SIP消息进行分析,并对潜在构成基于SIP的应用的安 全险的恶意SIP消息进行识别。

背景技术

会话发起协议(SIP)是用于在两个或多个参与者之间建立会话 的标准化网络协议。许多制造商的设备都支持SIP,近年来,SIP已经 发展为针对基于IP的语音(VoIP)的广泛使用的协议。SIP应用并不 局限于因特网电话,而是可以为多个不同的数据流建立通信会话。SIP 仅用于通信会话的建立,而在其它协议(会话描述协议(SDP)、实时 传输协议(RTP))上执行实际通信数据的交换。
然而,SIP在易于实现性、可量测性、扩展性和灵活性方面是有 利的,而对于应用安全和身份(identity)管理的方面相当无奈。存在 安全风险,即恶意用户可以获取不安全信息,以便发起针对基于SIP 的系统的安全攻击。当前,IETF努对一整套安全协议和应用进行标 准化,以便将安全相关特征添加至基于SIP的应用。但是即使这些努 力成功了,但是这样的标准也不会100%安全,即恶意用户不能利用 适合的知识来破坏。
关于安全身份管理,即使这样的标准将会是可用的,在将来也必 然总将会有准备公开SIP身份的一些服务提供商。在存在这样的不足 的身份管理的情况下,存在着恶意用户捕获多个SIP身份、以便以之 为基础来针对基于SIP的系统发起安全攻击的安全威胁。
以下,将详细描述两种最重要的不同的安全攻击。首先,这两种 安全攻击的目标是扰乱或中断服务,并被称为DoS(服务否定)攻击。 其它攻击是在因特网电话环境下被称为SPIT(垃圾网络电话)的社会 攻击。SPIT的威胁可以与垃圾邮件在电子邮件业务中的威胁相提并 论;唯一的差别在于,无用的消息以电话呼叫的形式分布。实际上, 这会意味着,一人接到仅包含宣传消息的上百个电话呼叫、或者电话 始终响铃。针对因特网电话的快速发展和分布,不得不担心DoS攻击 和SPIT也将成为电话世界中的主导。
现今可用的防止DoS攻击的技术主要是基于对对话和事务处理 的SIP协议的严格语法分析(解析),以便发现会导致服务中断的协议 的不合理性。丢弃在检测到与SIP语法有偏差的那些消息。
用于保护基于SIP的应用免受DoS攻击的其它方法利用了系统过 载会导致服务中断的事实,因而致力于将SIP业务限制于SIP消息所 允许的最大速率,以防止SIP系统的过载。
现今可用的用于防止SPIT攻击的技术主要是基于白名单和黑名 单、以及基于内容过滤。通过目的在于发现呼叫者是否是人类或机器 的某种图灵测试,来执行语音呼叫的内容过滤。其它近年来提出的方 法还考虑了用户之间的社会网络、以及使用伙伴列表的朋友关系。
关于如上所述的身份管理,已知的方法还具有一些缺点。例如, 电子邮件系统尝试通过电子邮件消息报头中的发送方的原始IP地址, 来识别发送方。基于该信息,电子邮件系统执行DNS检查。问题在于, 恶意发送方不插入他们的真实IP地址或域名,所以已知的系统不能正 确地匹配。无论如何,由于在不同的时间标尺(time scale)上运行, 所以,在如这里提出的实时通信的情况下,这样的分析不适用。例如, 电子邮件应用不是实时应用,而作为实时应用的VoIP不能等到检查了 DNS名。此外,由于不能将多个电子邮件消息的同时发送看作是恶意 动作、而应看作普通的使用,所以存在完全不同的业务特性。相反地, 在基于SIP的应用的情况下,则该业务特性很有可能被看作是恶意的。 因此,从电子邮件世界中得知的用于安全和身份管理的方法无论如何 不能转移到基于SIP的应用。

发明内容

因此,本发明是基于以下任务:设计并进一步开发一种用于保护 上述种类的基于SIP的应用的方法,根据该方法,通过易于实现的方式 来实现非常高级别的安全。
根据本发明,通过示出了权利要求1的特征的方法,来解决以上提 及的任务。根据权利要求1,按照以下方式来设计并进一步开发这样的 方法,即,从SIP消息中提取预先可定义个数N的预先可配置参数(身 份),以及对于每个SIP消息,执行与从先前的SIP消息中提取的身份的 身份比较,基于该比较,对于每个SIP消息,来评价恶意程度(恶意级 别(ML))。
根据本发明,可以认识到,可以通过考虑多种不同的身份,创造 广泛分析的机会,来实现基于SIP应用的特别高级别的安全。根据本发 明,首先,提取预先可定义个数N的预先可配置参数(以下将称为身 份)。根据本发明,接下来,通过将每个SIP消息的身份与先前SIP消息 的所提取身份进行比较,来评价每个SIP消息的恶意级别ML。利用根 据本发明的方法,可以考虑SIP事务处理的多个安全相关方面,这导致 了与仅考虑单个方面(例如,SIP消息的语法)的已知方法相比的显著 提高的安全性。换言之,关键问题在于,不仅检查单个参数,而且检 查还包括(N-1)个另外的参数。因此,由于业务特征仅作为部分方面 而输入设计用于广泛执行的检查,所以根据本发明的方法解决了开始 在特定业务特征环境中描述的问题。
此外,由于基本上仅需要执行几乎不需要任何特定硬件的比较操 作,所以根据本发明的方法易于实现。此外,可以以非常简单和灵活 的方式,针对要分析的不同的环境来调整根据本发明的方法。例如, 在具有最大优先级安全的敏感数据的SIP事务处理的情况下,可以选择 较大的N,即,基于多个不同方面来执行对恶意SIP应用的识别。相比 之下,如果安全不是这种主要问题、和/或如果可用于安全检查的资源 非常有限,则可以选择较小的N。
具体地,例如,可以通过会话边界控制器(SBC)、应用层防火墙、 代理服务器、背靠背用户代理、或者通过客户机等来执行分析和识别。
对于所提取的身份,可以设置:该身份一方面是用户特定参数、 和/或另一方面是设备特定参数。在特别有利的方式中,提取发送消息 方的SIP URI(唯一资源标识符)作为身份。通常,SIP URI具有“用户 @域”的形式,并且是最有意义的身份,所以,证实在提取的身份组中 总是包括该身份是有利的。此外(或可选地),身份组包括MAC地址、 主机身份协议(HIP)标识符、SIP Via报头字段值、SIP联系报头字段 值、和/或包含发送方的IP地址和/或端口的SDP协议报头字段值。该列 举是不完全的,当然也可以提取其它参数。
对于所提取参数值的简明的存储,可以设置:总是使用对所提取 值执行的转换的结果作为身份。以特别有利的方式中,该转换可以是 散列函数的应用。
在特别优选实施例的环境下,设置了N维超空间的生成,其中, 由所给身份来形成空间的N维。然后,在特别简明的方式中,则可以 通过将所提取的身份列在超空间的坐标轴上,来将每个SIP消息表示为 超空间中的一点。该点表示包括从各个SIP消息中所提取的预先定义的 N个身份的值的N维元组。
对于可用信息的可能地全面和有效的使用,可以将第n个消息的恶 意级别定义为超空间中所列入的先前消息的点的函数f。n是表示消息 到达的时间顺序的占位符。换言之,为了定义第n个消息的恶意级别 ML,可以使用从第一、第二、...、第(n-1)个消息中提取的先前获 得的信息。
为了在较长时间段内独立地分析多个到达消息(即,不受操作者 的干预),并且对于所需存储需求的限制,有利地,根据输入顺序,在 预先可配置的时间段之后,从超空间中除去点。为了评价第n个消息的 恶意级别ML,因而不再存在可用的消息1、2、...、n-1,而是仅存在 消息i、i+1、...、n-1,其中,1<=i<n。这些点保持存储于超空间中的 时间段是可配置参数,并可以预先配置、或者可以在分析期间根据各 自当前的具体情况来动态地调整该时间段,优选地,要考虑数据速率
对于函数f,可以设置:选择函数f,使得如果比较表明第n个点(即, 第n个消息的点)的至少一个身份与输入点中的至少一个点的身份匹 配,则第n个消息的恶意级别ML不等于0。此外,函数f可以具有以下 特征:第n个消息的恶意级别ML随其中至少一个身份与第n个消息点的 相应身份匹配的输入点的个数的增加而增加。此外,函数f可以具有以 下特征:随第n个消息的恶意级别ML的增加,在输入点之一与第n个消 息点之间的匹配身份的个数越多。
在特定身份的情况下,相关的是,不仅知道两个值是否匹配或不 同、而且此外还知道身份的确切值。SIP身份将会是这样的情况的示例。 例如,如果你看到身份SIP ID_1=用户@域1、SIP ID_2=用户2@域2、 以及SIP ID_3=用户3@域3,则这些都彼此不同,但是从安全技术 度来看,消息是从不同域的同一用户发出的、还是从同一域的不同用 户发出的是不同的。
为了在评价恶意级别ML时考虑这些差别,引入距离的概念是有益 且有利的。因此,可以以N维超空间中的点的预先可配置距离之和来 计算恶意级别ML。在以上给出的示例中,SIP ID_1和SIP ID_2之间的 距离(dist(ID_1;ID_2))可以归为不同于SIP ID_1和SIP ID_3之间的 距离(dist(ID_1;ID_3))的值。在探测期间,可以提前固定各个距 离的具体值。可选地,可以针对特定情况,动态地调整各个距离的具 体值。
对于N维身份的有效存储,可以提供使用散列表的实现方式。散 列表一方面允许快速查找匹配条目、另一方面限制存储的复杂度。例 如,具体地,散列表可以用于每个身份。在散列表的关键列中,将存 储各个身份的相应散列值,并且可以将身份组(N-元组)作为条目存 储。
对于关于存储复杂度的另一优化,可以在散列表中设置所谓“共享 条目”,其中,在散列表的关键列中,依次存储相应身份的各个散列值, 不过,仅将共享身份组(N-元组)的指针作为条目存储。通过这些方 式,可以再次显著降低存储的复杂度。
对于效率的进一步增加,特别有利地,仅对正确的SIP消息进行语 法分析。为此,如从技术发展平中得知的,可以提供提前执行的语 法分析(解析),并仅对不显示任何可疑特征的已经经过了语法分析的 那些SIP消息进行分析。
对于恶意级别ML,可以设置阈值,在超过这些阈值时,将会把SIP 消息归类为恶意的。在有利的方式中,对于最佳灵活性,可以动态地 更新阈值。具体地,可以根据时间动态地更新阈值,这是由于,通过 这样做,可以考虑峰值时间的数据业务模式明显不同于在夜晚期间观 察的数据业务模式的事实。还可以基于关于到此刻为止所执行的分析 的效率的体验值,来执行动态更新。例如,可以想象,如果特定攻击 引起了系统的崩溃,则将由值z定义的阈值减小,即,为了更好地保护 系统免受这样的攻击。
为了保护系统,可以设置:识别为恶意的SIP消息触发警报,和/ 或阻断该识别为恶意的SIP消息。此外,可以将警报的生成用作触发来 追溯恶意消息的源头。为此,可以应用后处理算法来识别恶意行为随 时间的发展。这种方案的简单实现可以包括:通过SIP URI、通过IP地 址、或以类似的方式来识别恶意发送方。在执行了识别之后,可以通 过阻断源自该恶意用户的所有通信,来(临时地)阻断该恶意用户访 问受保护的系统。
在有利的设计的环境下,可以设置两个或多个阈值,超过这些阈 值中的每个都具有不同的结果。例如,超过第一较低阈值会导致发送 方必须在被允许访问受保护的系统之前经过附加测试。仅超过第二较 高阈值会触发对访问的阻断,其中,可以预想对访问的临时限制、以 及最终阻断。
现在,存在以有利的方式设计和进一步发展本发明的教导的多个 选项。为此,一方面,必须参照从属于权利要求1的权利要求,另一方 面,必须参照用于保护SIP应用的根据本发明方法实施例的优选示例的 以下解释。与实施例和附图的优选示例的解释相结合,通常还将会解 释优选的设计和教导的进一步发展。

附图说明

图1是示出了用于保护基于SIP的应用的、根据本发明实施例的 方法示例的方案的图示;
图2是示出了将身份存储于具有双倍条目的散列表中的方案的图 示;
图3是示出了将身份存储于具有共享条目的散列表中的方案的图 示;
图4是示出了从SIP消息中提取不同身份的方案的图示;
图5是示出了N=2维的超空间实施例示例的图示;以及
图6是示出了图5所指的超空间的图示,其中还描述了距离。
具体实现方式
图1示出了根据本发明的方法的基本功能的方案。对通过SIP事 务处理在网络(表示为)上通信的三个SIP客户机1进行了描述。 为了保护基于SIP的应用免受恶意用户2的攻击,从SIP消息中提取 预先定义的个数N(N>1)个预先可配置参数(称为身份),其中,SIP 消息是在SIP客户机1彼此之间、或者SIP客户机1与世界的其它客 户机之间交换的。
对于每个SIP消息,作出与从先前交换的SIP消息中提取的身份 的身份比较。然后,对于每个SIP消息,基于所执行的比较来评价恶 意级别ML。可以通过多个设备来执行对于SIP消息的分析、以及对 识别为恶意的识别。这些设备中的至少一个包括SIP消息分析器、身 份提取器、身份比较器和恶意级别评价部分。在图1中,仅给出了可 能设备的三个示例。具体地,它们是防火墙3、背靠背用户代理4和 代理服务器5。
在图2中,以表描述了用于存储N维身份的具体存储模式。这是 将散列表用于数据存储的实现方式。在图2中描述的表利用复制条目 来起作用。换言之,该实现方式针对每个身份来使用散列表。每个散 列表的关键列是各个身份的散列值,而条目包含身份组。这表示,在 N个身份的情况下,对每个身份组(事务处理)进行N次复制。这导 致了要由N*n*N*a计算的存储复杂度,其中,n是条目个数(或者所 分析的消息的个数),a是身份元素的大小,以及N是身份个数。因此, 该复杂度二次地依据识别个数。这表示,身份个数加倍就使存储复杂 度成四倍。对于事务处理n的个数,复杂度是线性的。
图3示出了与根据图2的实现方式相比、关于存储复杂度进行了 优化的存储的实现方式。通过使用共享条目来实现该优化。然而对于 每个身份,使用散列表,散列表中的条目不包含完全的条目,而仅包 含指向共享身份组的指针。这种存储导致以N*n+N*n*a计算的存储复 杂度,其中,该术语与在图2的环境中解释的术语相同。因此,存储 复杂度关于身份个数N成线性,并且关于事物处理n的个数成线性。 假设在散列表中有少量的冲突(这可以通过选择足够大的散列表大小 来实现),则计算复杂度关于条目/事务处理的个数成线性。此外,搜 索关于身份个数成线性。
图4示意性地示出了根据本发明的方法的示例应用。为了进行分 析,SIP消息经过设备,该设备在具体示例中示为代理服务器5。代理 服务器5从SIP消息中提取两个身份,即,SIP身份本身和SIP消息 发送方的IP地址。因此,N=2。在从其接收到SIP消息的IP地址不 可用作参数的情况下,由于该应用不可以访问IP层信息,所以该应用 可以从SIP消息主体中提取IP地址参数,其中,例如,可以将IP地 址写入SIP VIA报头中。
在图5中,示出了二维超空间(即,平面),该二维超空间由作 为第一提取参数的SIP身份(在x轴上绘出)和作为第二提取参数的 IP地址(在y轴上绘出)形成。同时,示出了五个点,这五个点表示 五个分析过的SIP消息,其中,在下面将假设到达的顺序:
(SIP IDl=用户1@域1;IP ADDRl);
(SIP ID2=用户2@域1;IP ADDR3);
(SIP ID2=用户2@域1;IP ADDRl);
(SIP ID3=用户3@域2;IP ADDRl);
(SIP ID4=用户4@域1;IP ADDR2);
在第n个消息到达时,执行以下步骤:
将第n个点 插入已经解释了的在具体示例中为平面的超空间 中。
对已经插入平面的点,即,与先前分析的消息对应、并具有与 相同的SIP身份、或共享相同的SIP地址的点进行识别。
按照下式计算恶意级别ML:
ML ( p n ) = Σ IPADDR p n dist ( SIPID p n , SIP ID K ) + Σ SIP P n dist ( IPADDR p n , IP ADDR k )
k依据在步骤2中识别的所有点而改变。
为了计算ML,引入距离的概念,距离使得在计算ML时不仅能 够考虑的相同/不相同的比较,而且还能够考虑身份的确切值。在系统 中,通过距离所呈现的值是可配置的参数。
对于图5中示出的示例,在图6中示出了所定义的距离。对于其 它部分,两幅图是相同的。所示出的特定示例背后的基本原理如下:
基本上,将源自相同SIP身份、并使用不同IP地址的多个事物处 理看作潜在恶意的。它们是恶意消息的可能性越高,从其产生事务处 理的不同IP地址的个数就越多。然而,这种事务处理也可以是合法的, 并只是由发送用户的移动性所导致的。但是,在移动性场景中,用户 执行SIP事务处理的时间标尺通常不同于对SIP事务处理进行分析的 时间标尺。所提出的方法通常这样工作,从而发现在较短时间标尺上 的特别的异常。
通常,源自相同IP地址、但使用不同SIP身份的多个事务处理也 将被认为是恶意的。这里,以下事实同样正确:这样的事务处理是恶 意的可能性越高,共享相同IP地址的SIP身份的个数越多。
该论点在多个用户位于NAT(网络地址转换器)之后、并发送 SIP事务处理的情况下是无效的。但是,在相同NAT之后的多个用户 将事务处理发送至相同的目标地址的可能性足够小,以致于可以坚持 基本假设。如果这种可能性不是足够小,则附加身份(例如,层4的 端口号)可以用于正确地辨别在NAT之后的合法用户与恶意用户。
当定义在图6中描述的值时,通过在具有不同域的SIP身份之间 定义比具有相同域的SIP身份之间更长的距离,已经考虑了这种可能 性。该定义认为在相同NAT之后的用户具有较高可能性在SIP URI 中示出相同的域。对于在图6中描述的示例,对ML值估计如下:
在第一消息到达时,由于在平面上仅有一个点,所以ML=0。在 消息2到达时,检测到两个所提取的身份均不同于消息1,所以ML=0 仍保持为真。在消息3到达时,检测到消息3示出了与消息1相同的 IP地址、以及与消息2相同的SIP ID,所以ML=1+3=4。在消息4到 达时,检测到IP地址与消息1和3的IP地址匹配,所以对于ML, 有:ML=5+5=10。在消息5到达时,没有检测到与先前分析过的消息 的匹配,所以ML=0有效。
对于根据本发明的方法的另一有利实施例,为了避免重复,参照 本说明书的综述部分、以及所附权利要求。
最后,特别要指出,以上根据本发明的教导的实施例示例仅用作 根据本发明的教导的示例,但是并不意味着将本发明限制于实施例的 所给示例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈