基于关键字的封堵方法及系统转让专利

申请号 : CN201610008980.9

文献号 : CN105635159B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 朱峰

申请人 : 中国联合网络通信集团有限公司

摘要 :

本发明提供一种基于关键字的封堵方法及系统,其中,该方法包括:获取数据包的包头URL和/或网络地址,确定该包头URL和/或网络地址是否存储在已有的黑名单中;若该包头URL和/或网络地址未存储在所述黑名单中,则确定该包头URL和/或网络地址是否存储在已有的白名单中;若该包头URL和/或网络地址未存储在所述白名单中,则对所述数据包的内容进行解析,确定所述数据包中是否包含非法关键字;若不包含,则将所述数据包发送给数据传输的目的设备,并将所述数据包的包头URL和/或网络地址存储在所述白名单中。本发明提供的基于关键字的封堵方法及系统,不需要对正常的数据包进行频繁的内容解析,减少了系统对计算资源的需求,降低了系统的实现成本。

权利要求 :

1.一种基于关键字的封堵方法,其特征在于,包括:

获取数据包的包头URL和/或网络地址,确定所述包头URL和/或网络地址是否存储在已有的黑名单中;

若所述包头URL和/或网络地址未存储在所述黑名单中,则确定所述包头URL和/或网络地址是否存储在已有的白名单中;

若所述包头URL和/或网络地址未存储在所述白名单中,则对所述数据包的内容进行解析,确定所述数据包中是否包含非法关键字;

若不包含,则将所述数据包发送给数据传输的目的设备,并将所述数据包的包头URL和/或网络地址存储在所述白名单中;

所述方法还包括:

分别根据所述白名单中各包头URL和/或网络地址对应的检测周期,定期对所述各包头URL和/或网络地址对应的数据内容进行关键字检测;

若所述白名单中一包头URL和/或网络地址对应的数据内容中包括非法关键字,则将所述一包头URL和/或网络地址添加到所述黑名单中,并将该包头URL和/或网络地址从所述白名单中删除;

若不包括,则按照预设策略更新该包头URL和/或网络地址对应的检测周期;

其中,所述按照预设策略更新该包头URL和/或网络地址对应的检测周期,包括:根据公式δi=δi-1+α,更新所述包头URL和/或网络地址对应的信誉度δi;

根据公式ti=δi2,更新所述包头URL和/或网络地址对应的检测周期ti;

其中,i表示第i次对所述包头URL和/或网络地址对应的数据内容进行检测,i为正整数,δi-1表示第i-1次检测后所述包头URL和/或网络地址对应的信誉度,α为常数。

2.根据权利要求1所述的方法,其特征在于,还包括:

若所述包头URL和/或网络地址存储在所述黑名单中,则对所述数据包进行封堵。

3.根据权利要求1所述的方法,其特征在于,还包括:

若所述包头URL和/或网络地址存储在所述白名单中,则将所述数据包发送给所述目的设备。

4.根据权利要求1所述的方法,其特征在于,还包括:

若所述数据包中包含非法关键字,则对所述数据包进行封堵,并将所述数据包的包头URL和/或网络地址添加到所述黑名单中。

5.根据权利要求1所述的方法,其特征在于,所述分别根据所述白名单中各包头URL和/或网络地址对应的检测周期,定期对所述各包头URL和/或网络地址对应的数据内容进行关键字检测,包括:判断所述ti与预设的最大检测周期T之间的大小关系;

若所述ti

若所述ti>T,则将所述包头URL和/或网络地址对应的信誉度恢复初始值,并根据所述初始值重新确定所述包头URL和/或网络地址对应的检测周期ti,根据重新确定的检测周期ti对所述包头URL和/或网络地址对应的数据内容进行关键字第i+1次检测。

6.一种基于关键字的封堵系统,其特征在于,包括:

获取模块,用于获取数据包的包头URL和/或网络地址;

确定模块,用于确定所述包头URL和/或网络地址是否存储在已有的黑名单中;

所述确定模块,还用于若所述包头URL和/或网络地址未存储在所述黑名单中,则确定所述包头URL和/或网络地址是否存储在已有的白名单中;

所述确定模块,还用于若所述包头URL和/或网络地址未存储在所述白名单中,则对所述数据包的内容进行解析,确定所述数据包中是否包含非法关键字;

发送模块,用于若所述确定模块确定所述数据包中不包含所述非法关键字,则将所述数据包发送给数据传输的目的设备;

存储模块,用于若所述确定模块确定所述数据包中不包含所述非法关键字,则将所述数据包的包头URL和/或网络地址存储在所述白名单中;

检测模块,用于分别根据所述白名单中各包头URL和/或网络地址对应的检测周期,定期对所述各包头URL和/或网络地址对应的数据内容进行关键字检测;

所述存储模块,还用于若所述检测模块检测出所述白名单中一包头URL和/或网络地址对应的数据内容中包括非法关键字,则将所述一包头URL和/或网络地址添加到所述黑名单中,并将该包头URL和/或网络地址从所述白名单中删除;

所述检测模块,还用于若检测出所述白名单中一包头URL和/或网络地址对应的数据内容中不包括非法关键字,则按照预设策略更新该包头URL和/或网络地址对应的检测周期;

其中,若所述检测模块检测出所述白名单中一包头URL和/或网络地址对应的数据内容中不包括非法关键字,则所述检测模块,还用于根据公式δi=δi-1+α,更新所述包头URL和/或网络地址对应的信誉度δi;

根据公式ti=δi2,更新所述包头URL和/或网络地址对应的检测周期ti;

其中,i表示第i次对所述包头URL和/或网络地址对应的数据内容进行检测,i为正整数,δi-1表示第i-1次检测后所述包头URL和/或网络地址对应的信誉度,α为常数。

7.根据权利要求6所述的基于关键字的封堵系统,其特征在于,还包括:封堵模块,用于若所述确定模块确定所述包头URL和/或网络地址存储在所述黑名单中,则对所述数据包进行封堵。

8.根据权利要求6所述的基于关键字的封堵系统,其特征在于,所述发送模块,还用于若所述确定模块确定所述包头URL和/或网络地址存储在所述白名单中,则将所述数据包发送给所述目的设备。

9.根据权利要求6所述的基于关键字的封堵系统,其特征在于,所述封堵模块,还用于若所述确定模块确定所述数据包中包含非法关键字,则对所述数据包进行封堵;

所述存储模块,还用于若所述确定模块确定所述数据包中包含非法关键字,则将所述数据包的包头URL和/或网络地址添加到所述黑名单中。

10.根据权利要求6所述的基于关键字的封堵系统,其特征在于,所述检测模块,具体用于判断所述ti与预设的最大检测周期T之间的大小关系;

若所述ti

若所述ti>T,则将所述包头URL和/或网络地址对应的信誉度恢复初始值,并根据所述初始值重新确定所述包头URL和/或网络地址对应的检测周期ti,根据重新确定的检测周期ti对所述包头URL和/或网络地址对应的数据内容进行关键字第i+1次检测。

说明书 :

基于关键字的封堵方法及系统

技术领域

[0001] 本发明涉及通信技术领域,尤其涉及一种基于关键字的封堵方法及系统。

背景技术

[0002] 随着通信网络的发展,网络资源呈现信息量大、组成复杂的特点。为了满足网络资源的安全需要,在互联网数据中心(Internet Data Center,简称IDC)机房的资源中,通常需要对资源的内容进行监控,以便对包含非法信息的网络资源进行识别和封堵,目前,针对IDC机房的资源识别和封堵技术主要包括关键字封堵技术。
[0003] 现有的IDC机房资源的关键字封堵技术,具体是通过对线路中的所有数据包进行内容解析,对包含非法关键字的统一资源定位符URL/网络地址进行记录,将其加入黑名单进行封堵。在黑名单建立后,对所有网络数据包,首先进行URL/网络地址的黑名单筛选,如果网络数据的URL/网络地址在黑名单中,则直接封堵,如果不在黑名单中,再对其内容进行解析,以判断数据包中是否包含非法关键字。
[0004] 但是,由于现有的IDC机房资源的关键字封堵技术需要对正常数据包进行频繁的深度内容解析操作,因此,造成了对计算资源的需求高,实现成本昂贵的问题。

发明内容

[0005] 本发明提供一种基于关键字的封堵方法及系统,用以解决现有的基于关键字的封堵技术中存在的计算资源需求高,实现成本昂贵的问题。
[0006] 本发明提供的基于关键字的封堵方法,包括:
[0007] 获取数据包的包头URL和/或网络地址,确定所述包头URL和/或网络地址是否存储在已有的黑名单中;
[0008] 若所述包头URL和/或网络地址未存储在所述黑名单中,则确定所述包头URL和/或网络地址是否存储在已有的白名单中;
[0009] 若所述包头URL和/或网络地址未存储在所述白名单中,则对所述数据包的内容进行解析,确定所述数据包中是否包含非法关键字;
[0010] 若不包含,则将所述数据包发送给数据传输的目的设备,并将所述数据包的包头URL和/或网络地址存储在所述白名单中。
[0011] 本发明提供的基于关键字的封堵系统,包括:
[0012] 获取模块,用于获取数据包的包头URL和/或网络地址;
[0013] 确定模块,用于确定所述包头URL和/或网络地址是否存储在已有的黑名单中;
[0014] 所述确定模块,还用于若所述包头URL和/或网络地址未存储在所述黑名单中,则确定所述包头URL和/或网络地址是否存储在已有的白名单中;
[0015] 所述确定模块,还用于若所述包头URL和/或网络地址未存储在所述白名单中,则对所述数据包的内容进行解析,确定所述数据包中是否包含非法关键字;
[0016] 发送模块,用于若所述确定模块确定所述数据包中不包含所述非法关键字,则将所述数据包发送给数据传输的目的设备;
[0017] 存储模块,用于若所述确定模块确定所述数据包中不包含所述非法关键字,则将所述数据包的包头URL和/或网络地址存储在所述白名单中。
[0018] 本发明提供的基于关键字的封堵方法及系统,首先通过确定从数据包中获取到的包头URL和/或网络地址是否存储在已有的黑名单中,若该包头URL和/或网络地址未存储在黑名单中,再根据已有的白名单,确定该包头URL和/或网络地址是否存储在白名单中,若该包头URL和/或网络地址未存储在所述白名单中,再进一步对该数据包的内容进行解析,确定该数据包中是否包含非法关键字,若不包含,则将该数据包发送给数据传输的目的设备,并将包头URL和/或网络地址存储在所述白名单中,从而避免了对不包含非法关键字的数据包进行频繁的内容解析,减少了系统在进行关键字封堵时所需的计算资源,降低了系统的实现成本。

附图说明

[0019] 图1为本发明一实施例提供的基于关键字的封堵方法的流程示意图;
[0020] 图2为图1所示方法中白名单的定期检测方法的流程示意图;
[0021] 图3为本发明一实施例提供的基于关键字的封堵系统的结构示意图。

具体实施方式

[0022] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0023] 以下以基于关键字的封堵系统为执行主体,对基于关键字的封堵方法进行详细的阐述。
[0024] 本领域技术人员应了解的是,为了叙述简便以下实施例中凡涉及现有技术的部分,将不予详述。
[0025] 图1为本发明实施例一提供的基于关键字的封堵方法的流程示意图,如图1所示,本实施例提供的基于关键字的封堵方法包括如下步骤:
[0026] 步骤101、获取数据包的包头URL和/或网络地址;
[0027] 具体的,系统对系统链路中的数据包的包头数据进行解析,获取数据包的包头URL和/或网络地址。
[0028] 步骤102、确定所述包头URL和/或网络地址是否存储在已有的黑名单中;若所述包头URL和/或网络地址未存储在所述黑名单中,执行步骤103,否则执行步骤104;
[0029] 具体的,将获取到的数据包的包头URL和/或网络地址与黑名单中的各包头URL和/或网络地址进行比对,其中,该黑名单中存储的各包头URL和/或网络地址对应的数据内容中包含非法关键字。若黑名单中存储有与该数据包的包头URL和/或网络地址相同的包头URL和/或网络地址,则判断该数据包中包含非法关键字,执行步骤104,否则,执行步骤103对该数据包进行进一步的判断。
[0030] 步骤103、确定所述包头URL和/或网络地址是否存储在已有的白名单中;若所述包头URL和/或网络地址未存储在所述白名单中,则执行步骤106,否则执行步骤105;
[0031] 具体的,将该数据包的包头URL和/或网络地址与存储的白名单中的各包头URL和/或网络地址进行比对,其中,白名单中存储的各包头URL和/或网络地址对应的数据内容中不包括非法关键字。若白名单中存储有与该数据包的包头URL和/或网络地址相同的包头URL和/或网络地址,则判断该数据包中的数据没有非法关键字,执行步骤105、否则执行步骤106对该数据包进行进一步的解析。
[0032] 步骤104、对所述数据包进行封堵;
[0033] 步骤105、将所述数据包发送给数据传输的目的设备;
[0034] 步骤106、对所述数据包的内容进行解析,确定所述数据包中是否包含非法关键字;若不包含,执行步骤107,否则执行步骤108;
[0035] 具体的,将该数据包的包头URL和/或网络地址与白名单中的各包头URL和/或网络地址进行比对后,若白名单中未存储有该数据包的包头URL和/或网络地址,则对该数据包的数据内容进行进一步的深度解析,判断数据包的内容中是否存在非法关键字,若解析发现数据包的内容中包含非法关键字,则执行步骤108,否则执行步骤107。
[0036] 步骤107、将所述数据包发送给数据传输的目的设备,并将所述数据包的包头URL和/或网络地址存储在所述白名单中;
[0037] 步骤108、对所述数据包进行封堵,并将所述数据包的包头URL和/或网络地址添加到所述黑名单中。
[0038] 本实施例提供的基于关键字的封堵方法,首先通过确定从数据包中获取到的包头URL和/或网络地址是否存储在已有的黑名单中,若该包头URL和/或网络地址未存储在黑名单中,再根据已有的白名单,确定该包头URL和/或网络地址是否存储在白名单中,若该包头URL和/或网络地址未存储在所述白名单中,再进一步对该数据包的内容进行解析,确定该数据包中是否包含非法关键字,若不包含,则将该数据包发送给数据传输的目的设备,并将包头URL和/或网络地址存储在所述白名单中,从而避免了对不包含非法关键字的数据包进行频繁的内容解析,减少了系统在进行关键字封堵时所需的计算资源,降低了系统的实现成本。
[0039] 图2为图1所示方法中白名单的定期检测方法的流程示意图,如图2所示,上述实施例所示的方法还可以包括以下步骤:
[0040] 步骤201、分别根据所述白名单中各包头URL和/或网络地址对应的检测周期,定期对所述各包头URL和/或网络地址对应的数据内容进行关键字检测,若判断一包头URL和/或网络地址对应的数据内容中包括非法关键字,则执行步骤202,若判断一包头URL和/或网络地址对应的数据内容中不包括非法关键字执行步骤203。
[0041] 步骤202、若一包头URL和/或网络地址对应的数据内容中包括非法关键字,则将该包头URL和/或网络地址添加到所述黑名单中,并将该包头URL和/或网络地址从所述白名单中删除;
[0042] 步骤203、若一包头URL和/或网络地址对应的数据内容中不包括非法关键字,则按照预设策略更新该包头URL和/或网络地址对应的检测周期。
[0043] 具体的,本实施例中是通过以预定的算法为白名单中的各包头URL和/或网络地址评定信誉度,并根据各包头URL和/或网络地址对应的信誉度计算各包头URL和/或网络地址对应的检测周期的方式来对白名单中的各包头URL和/或网络地址中的数据内容进行定期检测的。
[0044] 以下具体以白名单中的一个包头URL和/或网络地址为例,来详细阐述确定包头URL和/或网络地址对应的信誉度和检测周期的方法。
[0045] 假设经过i次检测后,未在该包头URL和/或网络地址对应的数据内容中发现非法关键字,则通过公式δi=δi-1+α对该包头URL和/或网络地址对应的信誉度进行更新。其中,i表示该包头URL和/或网络地址对应的数据内容经过i次关键字检测,i为正整数,δi为该包头URL和/或网络地址对应的数据内容经过i次检测后的信誉度,δi-1表示第i-1次检测后所述包头URL和/或网络地址对应的信誉度,α为常数。
[0046] 计算得到δi后,根据公式ti=δi2,计算该包头URL和/或网络地址对应的检测周期ti,并将计算获得的检测周期ti与预先设定的最大检测周期T进行比较,其中,最大检测周期T为系统初始时设定的允许的最大的检测周期。若tiT,则将该包头URL和/或网络地址对应的信誉度恢复初始值,并根据该信誉度的初始值重新确定该包头URL和/或网络地址对应的检测周期ti,根据重新确定的检测周期ti对所述包头URL和/或网络地址对应的数据内容进行第i+1次关键字检测。
[0047] 这里需要说明的是,在包头URL和/或网络地址首次被添加到白名单时,系统会为新添加的包头URL和/或网络地址分配对应的信誉度初始值,且系统为白名单中存储的所有的包头URL和/或网络地址分配的信誉度初始值的大小都是相同的,且为一个固定的常数。针对该信誉度初始值大小的设置可以在系统初始时依照具体情况具体设置,在这里不做具体限定。
[0048] 本实施例提供的方法,通过为初次添加到白名单中的包头URL和/或网络地址分配初始的信誉度值,并根据白名单中各包头URL和/或网络地址对应的数据内容进行关键字检测的次数对信誉度进行更新,从而根据各包头URL和/或网络地址对应的信誉度确定各包头URL和/或网络地址对应的数据内容的关键字检测周期,从而在确保能够及时对白名单中存储的内容进行核查更新的同时,还能够减少由于对白名单进行核查更新所占用的资源。
[0049] 图3为本发明一实施例提供的基于关键字的封堵系统的结构示意图,如图3所示,本实施例提供一种基于关键字的封堵系统10,该系统包括如下模块:
[0050] 获取模块11,用于获取数据包的包头URL和/或网络地址;
[0051] 确定模块12,用于确定所述包头URL和/或网络地址是否存储在已有的黑名单中;
[0052] 所述确定模块12,还用于若所述包头URL和/或网络地址未存储在所述黑名单中,则确定所述包头URL和/或网络地址是否存储在已有的白名单中;
[0053] 所述确定模块12,还用于若所述包头URL和/或网络地址未存储在所述白名单中,则对所述数据包的内容进行解析,确定所述数据包中是否包含非法关键字;
[0054] 发送模块13,用于若所述确定模块12确定所述数据包中不包含所述非法关键字,则将所述数据包发送给数据传输的目的设备;
[0055] 存储模块14,用于若所述确定模块12确定所述数据包中不包含所述非法关键字,则将所述数据包的包头URL和/或网络地址存储在所述白名单中。
[0056] 封堵模块15,用于若所述确定模块12确定所述包头URL和/或网络地址存储在所述黑名单中,则对所述数据包进行封堵。
[0057] 所述发送模块13,还用于若所述确定模块12确定所述包头URL和/或网络地址存储在所述白名单中,则将所述数据包发送给所述目的设备。
[0058] 所述封堵模块15,还用于若所述确定模块12确定所述数据包中包含非法关键字,则对所述数据包进行封堵;
[0059] 所述存储模块14,还用于若所述确定模块12确定所述数据包中包含非法关键字,则将所述数据包的包头URL和/或网络地址添加到所述黑名单中。
[0060] 检测模块16,用于分别根据所述白名单中各包头URL和/或网络地址对应的检测周期,定期对所述各包头URL和/或网络地址对应的数据内容进行关键字检测;
[0061] 所述存储模块14,还用于若所述检测模块16检测出所述白名单中一包头URL和/或网络地址对应的数据内容中包括非法关键字,则将所述一包头URL和/或网络地址添加到所述黑名单中,并将该包头URL和/或网络地址从所述白名单中删除;
[0062] 所述检测模块16,还用于若检测出所述白名单中一包头URL和/或网络地址对应的数据内容中不包括非法关键字,则按照预设策略更新该包头URL和/或网络地址对应的检测周期。
[0063] 若所述检测模块16检测出所述白名单中一包头URL和/或网络地址对应的数据内容中不包括非法关键字,则
[0064] 所述检测模块16,还用于根据公式δi=δi-1+α,更新所述包头URL和/或网络地址对应的信誉度δi;
[0065] 根据公式ti=δi2,更新所述包头URL和/或网络地址对应的检测周期ti;
[0066] 其中,i表示第i次对所述包头URL和/或网络地址对应的数据内容进行检测,i为正整数,δi-1表示第i-1次检测后所述包头URL和/或网络地址对应的信誉度,α为常数。
[0067] 所述检测模块16,具体用于判断所述ti与预设的最大检测周期T之间的大小关系;
[0068] 若所述ti
[0069] 若所述ti>T,则将所述包头URL和/或网络地址对应的信誉度恢复初始值,并根据所述初始值重新确定所述包头URL和/或网络地址对应的检测周期ti,根据重新确定的检测周期ti对所述包头URL和/或网络地址对应的数据内容进行关键字第i+1次检测。
[0070] 本实施例提供的系统能够用于执行如图1、图2所示的技术方案,其具体执行方式和有益效果与图1、图2所示的技术方案类似,在这里不再赘述。
[0071] 最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。