基于网络丢包的url检测与拦截方法和系统的制作方法

文档序号:7928972阅读:196来源:国知局
专利名称:基于网络丢包的url检测与拦截方法和系统的制作方法
技术领域
本发明涉及计算机网络安全技术领域,尤其涉及一种的对URL (Uniform / Universal Resource Locator的缩写,统一资源定位符)的检测与拦截方法和系统。
背景技术
随着互联网的大面积普及,利用网络传播恶意代码逐渐成为主要的传播恶意代码的方式。现今主流的URL检测通常在内核态完成,即捕获URL和利用匹配引擎进行检测同时在内核态完成。其中,用户态是指Ring3运行于用户态的代码则要受到处理器的诸多检查,它们只能访问映射其地址空间的页表项中规定的在用户态下可访问页面的虚拟地址,且只能对任务状态段(TSS)中I/O许可位图(I/O Permission Bitmap)中规定的可访问端口进行直接访问。核心态是指RingO在处理器的存储保护中,核心态,或者特权态(与之相对应的是用户态),是操作系统内核所运行的模式。运行在该模式的代码,可以无限制地对系统存储、 外部设备进行访问。主流的URL检测通常在内核态完成。众所周知,内核是操作系统最核心的地方,如果内核的程序出现问题,会导致很严重的错误,甚至使操作系统崩溃。URL的检测机制是复杂的,将其放到内核模式,对于操作系统来说是有很大的风险的。另外,由于内核态的内存是所有程序共用的,因此它的容量是极为有限的,若将URL的检测放在内核态,势必需要将 URL的特征库等信息加载到内核态内存,这会占用较多的内核态内存,从而导致系统运行效率急剧下降。

发明内容
为了解决上述问题,本发明提供了一种基于网络丢包的URL检测与拦截方法和系统,通过测试本方法和系统达到了 URL在用户态检测的要求,能够拦截危险的URL访问网一种基于网络丢包的URL检测与拦截方法,包括
监控网络数据包,判断所述网络数据包是发送数据包还是返回数据包; 其中,监控网络数据包采用直路监控的方式。若所述网络数据包是发送数据包,则判断所述发送数据包中是否包含URL ; 如果所述发送数据包中包含URL,则获取和记录所述发送数据包中的URL和URL相关信
息,并将所述的URL和URL相关信息传送到用户态进行检测,根据用户态的检测结果设置所述的URL和URL相关信息中的安全状态;所述安全状态包括危险、可信和未判定; 如果所述发送数据包中不包含URL,允许所述发送数据包通过; 其中,可以区分数据包否是HTTP数据包。如果是HTTP数据包,则解析HTTP数据包获取URL和能标识这个URL的属性信息,将URL传送到用户态,立即返回,不必等待检测结果。用户态URL检测引擎对URL进行检测,并将检测结果传到内核态。根据用户态判定的结果是危险或者安全,设置内部结构对应的记录,即URL的安全状态。如果用户态URL 检测弓I擎还未进行判断,则安全状态为未判断。若所述网络数据包是返回数据包,则判断所述返回数据包的信息是否记录在所述的URL和URL相关信息中;
如果所述返回数据包的信息记录在所述的URL和URL相关信息中,那么根据所述的URL 和URL相关信息中的安全状态进行处理,如果所述安全状态是未判定,则丢弃所述返回数据包;如果所述安全状态是危险,则删除记录的所述URL和URL相关信息,断开所述URL的连接;如果所述安全状态是安全,则允许所述返回数据包通过;
如果所述返回数据包的信息没有记录在所述的URL和URL相关信息中,则允许所述返回数据包通过。所述URL相关信息是能标识所述URL的属性信息,包括源IP、源端口、目的IP、目的端口。 所述返回数据包的信息包括源IP、源端口、目的IP、目的端口。一种基于网络丢包的URL检测与拦截系统,包括
监控模块,用于监控网络数据包,判断所述网络数据包是发送数据包还是返回数据
包;
上行模块,用于对监控模块所述发送数据包进行处理,包括,判断所述发送数据包中是否包含URL ;
如果所述发送数据包中包含URL,则获取和记录所述发送数据包中的URL和URL相关信息,并将所述的URL和URL相关信息传送到用户态进行检测,根据用户态的检测结果设置所述的URL和URL相关信息中的安全状态;所述安全状态包括危险、可信和未判定; 如果所述发送数据包中不包含URL,允许所述发送数据包通过; 下行模块,用于对监控模块所述返回数据包进行处理,包括,判断所述返回数据包的信息是否记录在所述的URL和URL相关信息中;
如果所述返回数据包的信息记录在所述的URL和URL相关信息中,那么根据所述的URL 和URL相关信息中的安全状态进行处理,如果所述安全状态是未判定,则丢弃所述返回数据包;如果所述安全状态是危险,则删除记录的所述URL和URL相关信息,断开所述URL的连接;如果所述安全状态是安全,则允许所述返回数据包通过;
如果所述返回数据包的信息没有记录在所述的URL和URL相关信息中,则允许所述返回数据包通过。所述URL相关信息是能标识所述URL的属性信息,包括源IP、源端口、目的IP、目的端口。所述返回数据包的信息包括源IP、源端口、目的IP、目的端口。本发明是一个URL过滤引擎,可以阻止用户访问危险的URL。本发明的URL的检测是在用户态下完成的,是一种异步的检测方式。本发明利用TCP协议的数据校验机制(如果数据包丢失,该数据包将被重发),为 URL在用户态检测创造了条件。如果返回数据包已经判定为危险的,直接丢弃掉直到断开连接。如果返回数据包未被用户态判定,也会丢弃掉该返回数据包,等待判定结果为安全的, 才允许通过。至于之前丢弃的数据包,由于TCP的重发机制,会在之后重发的。通过以上方法达到了 URL的异步检测。通过测试本发明的技术方案达到了 URL在用户态检测的要求, 能够拦截危险的URL访问网络。


为了更清楚地说明本发明或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明基于网络丢包的URL检测与拦截方法流程图; 图2为本发明基于网络丢包的URL检测与拦截方法实施例流程图; 图3为本发明基于网络丢包的URL检测与拦截系统示意图。
具体实施例方式为了使本技术领域的人员更好地理解本发明实施例中的技术方案,并使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图对本发明中技术方案作进一步详细的说明。本发明提供了一种基于网络丢包的URL检测与拦截方法及系统,利用TCP协议的数据校验机制为URL在用户态检测创造了条件,对URL进行异步检测,达到了 URL在用户态检测的要求,能够拦截危险的URL访问网络。本发明提供了一种基于网络丢包的URL检测与拦截方法,如图1所示,包括步骤 S101、监控网络数据包,判断所述网络数据包是发送数据包还是返回数据包;
其中,监控网络数据包采用直路监控的方式。S102、若所述网络数据包是发送数据包,则判断所述发送数据包中是否包含URL ;
5103、如果所述发送数据包中包含URL,则获取和记录所述发送数据包中的URL和URL 相关信息,并将所述的URL和URL相关信息传送到用户态进行检测,根据用户态的检测结果设置所述的URL和URL相关信息中的安全状态;
所述安全状态包括危险、可信和未判定;
5104、如果所述发送数据包中不包含URL,允许所述发送数据包通过;
其中,对于步骤S102至S104,可以区分数据包否是HTTP数据包。如果是HTTP数据包, 则解析HTTP数据包获取URL和能标识这个URL的属性信息,将URL传送到用户态,立即返回,不必等待检测结果。如果不是HTTP数据包则允许通过。用户态URL检测引擎对URL进行检测,并将检测结果传到内核态。根据用户态判定的结果是危险或者安全,设置内部结构对应的记录,即URL的安全状态。如果用户态URL 检测弓I擎还未进行判断,则安全状态为未判断。S105、若所述网络数据包是返回数据包,则判断所述返回数据包的信息是否记录在所述的URL和URL相关信息中;
S106、如果所述返回数据包的信息记录在所述的URL和URL相关信息中,那么根据所述的URL和URL相关信息中的安全状态进行处理,如果所述安全状态是未判定,则丢弃所述返回数据包;如果所述安全状态是危险,则删除记录的所述URL和URL相关信息,断开所述URL的连接;如果所述安全状态是安全,则允许所述返回数据包通过;
S107、如果所述返回数据包的信息没有记录在所述的URL和URL相关信息中,则允许所述返回数据包通过。下面结合一个具体实施例对上述方法进行详细说明,如图2所示,包括 S201、在网络直路上监控进出的TCP数据包。S202、判断网络数据包是发送数据包还是返回数据包。如果是发送数据包,进入步骤S203过程,如果是返回数据包则进入步骤S211。S203、判断数据包是否是HTTP数据包。这个可以包括HTTP中的GET包和POST包, 因为这两种包包含URL。如果发送数据包是HTTP数据包,进入到步骤S204,否则进入步骤 S208使该数据包通过。S204、通过对数据包的解析获取URL。S205、获取能标识这个URL的属性。包括源IP、源端口、目的IP、目的端口等。S206、将URL和属性记录下来。S207、将URL传送到用户态,立即返回,不等待检测结果。S208、允许数据包通过网络。S209、用户态URL检测引擎对URL进行检测,并将检测结果传到内核态。S210、根据用户态判定的结果,设置内部结构对应的记录。根据用户态判定的结果是危险或者安全,设置内部结构对应的记录,即URL的安全状态。如果用户态URL检测引擎还未进行判断,则安全状态为未判断。S211、对于返回的数据包,首先查询状态是否存在,如果不存在直接到S219允许通过。否则进入到S212。查询状态是否存在,是指判断所述返回数据包的信息是否记录在所述的URL和 URL相关信息中,方法是根据返回数据包信息包括源IP、源端口、目的IP、目的端口与URL的属性信息包括源IP、源端口、目的IP、目的端口进行比对看是否相同。S212、查询连接状态,也就是查询URL和URL相关信息中的安全状态,包括的状态有危险、安全、未判断。S213、如果SlO的结果是未判定的,那么需要延迟处理,则转至步骤S214,否则进行步骤S215。S214、丢弃网络数据包。基于这种丢包的技术,是本发明的关键点。S215、对URL的连接进行处理,如果安全状态是危险的URL,进入S216,否则进入 S218。S216、删除该URL的信息。即删除步骤S206中记录的该URL和标志属性。S217、断开该URL的网络连接。例如向服务器发送reset包等。S218、删除该URL的信息。即删除步骤S206中记录的该URL和标志属性。S219、允许网络数据包通过。本发明还提供了一种基于网络丢包的URL检测与拦截系统,如图3所示,包括 监控模块301,用于监控网络数据包,判断所述网络数据包是发送数据包还是返回数据
包;
上行模块302,用于对监控模块301所述发送数据包进行处理,包括判断所述发送数据包中是否包含URL,
如果所述发送数据包中包含URL,则获取和记录所述发送数据包中的URL和URL相关信息,并将所述的URL和URL相关信息传送到用户态进行检测,根据用户态的检测结果设置所述的URL和URL相关信息中的安全状态;所述安全状态包括危险、可信和未判定; 如果所述发送数据包中不包含URL,允许所述发送数据包通过; 下行模块303,用于对监控模块301所述返回数据包进行处理,包括判断所述返回数据包的信息是否记录在所述的URL和URL相关信息中,
如果所述返回数据包的信息记录在所述的URL和URL相关信息中,那么根据所述的URL 和URL相关信息中的安全状态进行处理,如果所述安全状态是未判定,则丢弃所述返回数据包;如果所述安全状态是危险,则删除记录的所述URL和URL相关信息,断开所述URL的连接;如果所述安全状态是安全,则允许所述返回数据包通过;
如果所述返回数据包的信息没有记录在所述的URL和URL相关信息中,则允许所述返回数据包通过。所述URL相关信息是能标识所述URL的属性信息,包括源IP、源端口、目的IP、目的端口。所述返回数据包的信息包括源IP、源端口、目的IP、目的端口。本说明书中方法的实施例采用递进的方式描述,对于系统实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。虽然通过实施例描绘了本发明,本领域普通技术人员知道,本发明有许多变形和变化而不脱离本发明的精神,希望所附的权利要求包括这些变形和变化而不脱离本发明的精神。
权利要求
1.一种基于网络丢包的URL检测与拦截方法,其特征在于,包括监控网络数据包,判断所述网络数据包是发送数据包还是返回数据包; 若所述网络数据包是发送数据包,则判断所述发送数据包中是否包含URL; 如果所述发送数据包中包含URL,则获取和记录所述发送数据包中的URL和URL相关信息,并将所述的URL和URL相关信息传送到用户态进行检测,根据用户态的检测结果设置所述的URL和URL相关信息中的安全状态;所述安全状态包括危险、可信和未判定; 如果所述发送数据包中不包含URL,允许所述发送数据包通过; 若所述网络数据包是返回数据包,则判断所述返回数据包的信息是否记录在所述的 URL和URL相关信息中;如果所述返回数据包的信息记录在所述的URL和URL相关信息中,那么根据所述的URL 和URL相关信息中的安全状态进行处理,如果所述安全状态是未判定,则丢弃所述返回数据包;如果所述安全状态是危险,则删除记录的所述URL和URL相关信息,断开所述URL的连接;如果所述安全状态是安全,则允许所述返回数据包通过;如果所述返回数据包的信息没有记录在所述的URL和URL相关信息中,则允许所述返回数据包通过。
2.如权利要求1所述的基于网络丢包的URL检测与拦截方法,其特征在于,所述URL相关信息是能标识所述URL的属性信息,包括源IP、源端口、目的IP、目的端口。
3.如权利要求1所述的基于网络丢包的URL检测与拦截方法,其特征在于,所述返回数据包的信息包括源IP、源端口、目的IP、目的端口。
4.一种基于网络丢包的URL检测与拦截系统,其特征在于,包括监控模块,用于监控网络数据包,判断所述网络数据包是发送数据包还是返回数据包;上行模块,用于对监控模块所述发送数据包进行处理,包括,判断所述发送数据包中是否包含URL ;如果所述发送数据包中包含URL,则获取和记录所述发送数据包中的URL和URL相关信息,并将所述的URL和URL相关信息传送到用户态进行检测,根据用户态的检测结果设置所述的URL和URL相关信息中的安全状态;所述安全状态包括危险、可信和未判定; 如果所述发送数据包中不包含URL,允许所述发送数据包通过; 下行模块,用于对监控模块所述返回数据包进行处理,包括,判断所述返回数据包的信息是否记录在所述的URL和URL相关信息中;如果所述返回数据包的信息记录在所述的URL和URL相关信息中,那么根据所述的URL 和URL相关信息中的安全状态进行处理,如果所述安全状态是未判定,则丢弃所述返回数据包;如果所述安全状态是危险,则删除记录的所述URL和URL相关信息,断开所述URL的连接;如果所述安全状态是安全,则允许所述返回数据包通过;如果所述返回数据包的信息没有记录在所述的URL和URL相关信息中,则允许所述返回数据包通过。
5.如权利要求4所述的基于网络丢包的URL检测与拦截系统,其特征在于,所述URL相关信息是能标识所述URL的属性信息,包括源IP、源端口、目的IP、目的端口。
6.如权利要求4所述的基于网络丢包的URL检测与拦截系统,其特征在于,所述返回数据包的信息包括源IP、源端口、目的IP、目的端口。
全文摘要
本发明提供了一种基于网络丢包的URL检测与拦截方法,包括监控网络数据包,判断所述网络数据包是发送数据包还是返回数据包;若所述网络数据包是发送数据包,判断所述发送数据包中是否包含URL并进行相应的处理;若所述网络数据包是返回数据包,判断所述返回数据包的信息是否记录在所述的URL和URL相关信息中,并进行相应的处理。本发明还提供了一种基于网络丢包的URL检测与拦截系统。本发明利用TCP协议的数据校验机制对URL进行异步检测。通过测试本方面的技术方案达到了URL在用户态检测的要求,能够拦截危险的URL访问网络。
文档编号H04L29/06GK102340428SQ20111029897
公开日2012年2月1日 申请日期2011年9月29日 优先权日2011年9月29日
发明者张栗伟, 李石磊, 沈长伟, 童志明 申请人:哈尔滨安天科技股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1