网络访问行为的防护方法和装置制造方法及图纸

技术编号:8325938 阅读:181 留言:0更新日期:2013-02-14 08:47
本发明专利技术公开了一种网络访问行为的防护方法和装置。其中方法包括:驱动层截获程序发起的网络访问请求的数据包,解析数据包,获取数据包中的至少一种域信息,然后将数据包及其至少一种域信息发送到应用层;应用层查询本地数据库中是否保存有至少一种域信息中的任一种,若是,则在至少一种域信息中的任一种属于本地数据库的黑名单的情况下,阻止程序的网络访问请求;在至少一种域信息都不属于本地数据库的黑名单但至少一种域信息中的任一种属于本地数据库的白名单的情况下,放行程序的网络访问请求。本发明专利技术直接利用这些高层协议的目标来判断网络访问请求是否安全,更能有效地拦截恶意程序的网络访问行为。

【技术实现步骤摘要】

本专利技术涉及网络通信安全
,具体涉及一种网络访问行为的防护方法和装置
技术介绍
随着互联网技术的飞速发展与上网成本的普遍降低,互联网已经成为了大多数普通民众日常生活中不可或缺的一个重要组成部分。但是一些程序员为了表现自己和证明自己的能力或者其他方面(如政治,军事,宗教,民族,专利等)的需求,往往会编写出一些影响电脑正常运行的恶意程序,从而使得被这些恶意程序侵扰的用户并不能实现自己上网的目的,甚至会使得整个系统出现瘫痪。因而,网络安全就成为了现今关注的焦点。 现有的网络防护方法都是基于TCP (Transmission Control Protocol,传输控制协议)/IP (Internet Protocol,因特网协议)或 UDP (User Datagram Protocol,用户数据报协议)的IP地址和端口来放行或阻止某个程序的网络访问行为。具体地,当某个程序发起网络访问请求时,首先发起建立连接的请求(socket connect),在socket connect中可以获取待访问目标的IP地址和端口,根据待访问目标的IP地址和端口查询本地保存的数据库来确定是否放行或阻止该程序的网络访问行为。对于未知程序,可提示用户选择是否放行。但是,现有程序使用的网络协议大多数是基于TCP/IP或UDP协议而实现的高层协议,例如 HTTP (Hypertext Transport Protocol,超文本传送协议)、SMTP (Simple MailTransferProtocol,简单邮件传输协议)、DNS(Domain Name System,域名系统)和 FTP(FileTransferProtocol,文件传输协议)等。当程序使用这些高层协议进行网络访问请求时,单纯靠IP地址和端口无法确定网络访问请求的目的;而且,在网络中IP地址和端口的变动非常频繁,如网络供应商更换时IP地址就会随之改变,然而本地数据库的更新都需要一定的时间,因此采用现有的网络防护方法不能及时有效地拦截恶意程序的网络访问行为。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的网络访问行为的防护方法和相应的网络访问行为的防护装置。根据本专利技术的一个方面,提供了一种网络访问行为的防护方法,包括驱动层截获程序发起的网络访问请求的数据包,解析数据包,获取数据包中的至少一种域信息,然后将数据包及其至少一种域信息发送到应用层;应用层查询本地数据库中是否保存有至少一种域信息中的任一种,若是,则在至少一种域信息中的任一种属于本地数据库的黑名单的情况下,阻止程序的网络访问请求;在至少一种域信息都不属于本地数据库的黑名单但至少一种域信息中的任一种属于本地数据库的白名单的情况下,放行程序的网络访问请求。根据本专利技术的另一方面,提供了一种网络访问行为的防护装置,包括驱动层模块和应用层模块;驱动层模块包括截获模块,适于截获程序发起的网络访问请求的数据包;驱动层解析模块,适于解析数据包, 获取数据包中的至少一种域信息;第一发送模块,适于将数据包及其至少一种域信息发送给应用层模块;应用层模块包括第一接收模块,适于接收第一发送模块发送的数据包及其至少一种域信息;查询模块,适于查询本地数据库中是否保存有至少一种域信息中的任一种;阻止模块,适于在查询模块查询到至少一种域信息中的任一种属于本地数据库的黑名单的情况下,阻止程序的网络访问请求;放行模块,适于在查询模块查询到至少一种域信息都不属于本地数据库的黑名单但至少一种域信息中的任一种属于本地数据库的白名单的情况下,放行程序的网络访问请求。根据本专利技术提供的方案,通过驱动层截获程序发起的网络访问请求的数据包,解析数据包获取其包含的域信息,应用层根据该域信息查询本地数据库来确定阻止或放行该程序的网络访问请求。对于程序使用的基于TCP/IP或者UDP实现的高层协议来说,网络访问请求的数据包中的域信息反映了网络访问请求的目标,本专利技术直接利用这些高层协议的目标来判断网络访问请求是否安全,更能有效地拦截恶意程序的网络访问行为。而且,网络访问请求的数据包中的域信息不经常变动,所以本地数据库不需要经常更新,从而能更加及时地拦截恶意程序的网络访问行为。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中图I示出了根据本专利技术第一个实施例的网络访问行为的防护方法的流程图;图2示出了根据本专利技术第二个实施例的网络访问行为的防护方法的流程图;图3示出了根据本专利技术第三个实施例的网络访问行为的防护方法的流程图;图4示出了根据本专利技术第四个实施例的网络访问行为的防护方法的流程图;图5示出了根据本专利技术第五个实施例的网络访问行为的防护方法的流程图;图6示出了根据本专利技术第六个实施例的网络访问行为的防护装置的结构示意图;图7示出了根据本专利技术第七个实施例的网络访问行为的防护装置的结构示意图;图8示出了根据本专利技术第八个实施例的网络访问行为的防护装置的结构示意图;图9示出了根据本专利技术第九个实施例的网络访问行为的防护装置的结构示意图;图10示出了根据本专利技术第十个实施例的网络访问行为的防护系统的结构示意图。具体实施例方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。程序是一个普通的文件,是一个机器代码指令和数据的集合,是一个静态的概念。进程是程序在计算机上的一次执行过程,是一个动态的概念。同一个程序可以同时运行于若干个数据集合上,也就是说同一程序可以对应多个进程。网络访问行为是由运行中的程序(也即进程)所发起的。程序的当前网络访问行为即是由属于该程序的进程所发起的网络访问行为。网络访问行为的种类繁多,包括HTTP访问(常见的有下载文件或上传信息),SMTP请求(例如收发电子邮件),DNS请求(解析域名对应的IP地址等信息)等等。图I示出了根据本专利技术第一个实施例的网络访问行为的防护方法100的流程图。如图I所示,方法100始于步骤S101,其中驱动层(ringO)截获程序发起的网络访问请求的数据包。驱动层截获的数据包是程序发起的发送数据的请求(socket send)和接收数据的请求(socketreceive)中的数据包。 通常一个程序如果需要连接网络,需要通过操作系统(如Windows)提供的API(Application Program Interface,应用程序接口)接口发送网络访问请求,操作系统接收到程序的这种网络访问请求后,会接收程序要发送的数据包,并对接收到的数据包进行封装,之后将封装的数据包发送给物理设备(如网卡等),最后由硬件设备将数据包传本文档来自技高网
...

【技术保护点】
一种网络访问行为的防护方法,包括:驱动层截获程序发起的网络访问请求的数据包,解析所述数据包,获取所述数据包中的至少一种域信息,然后将所述数据包及其至少一种域信息发送到应用层;应用层查询本地数据库中是否保存有所述至少一种域信息中的任一种,若是,则在所述至少一种域信息中的任一种属于本地数据库的黑名单的情况下,阻止所述程序的网络访问请求;在所述至少一种域信息都不属于本地数据库的黑名单但所述至少一种域信息中的任一种属于本地数据库的白名单的情况下,放行所述程序的网络访问请求。

【技术特征摘要】
1.一种网络访问行为的防护方法,包括 驱动层截获程序发起的网络访问请求的数据包,解析所述数据包,获取所述数据包中的至少一种域信息,然后将所述数据包及其至少一种域信息发送到应用层; 应用层查询本地数据库中是否保存有所述至少一种域信息中的任一种,若是,则在所述至少一种域信息中的任一种属于本地数据库的黑名单的情况下,阻止所述程序的网络访问请求;在所述至少一种域信息都不属于本地数据库的黑名单但所述至少一种域信息中的任一种属于本地数据库的白名单的情况下,放行所述程序的网络访问请求。2.根据权利要求I所述的方法,还包括 若应用层查询到所述本地数据库没有保存所述至少一种域信息中的任一种,表明所述程序为未知程序,放行所述程序的网络访问请求。3.根据权利要求I所述的方法,还包括 若应用层查询到本地数据库中没有保存所述至少一种域信息中的任一种,则将所述至少一种域信息发送到网络侧设备,接收网络侧设备查询云端数据库中是否保存有所述至少一种域信息中的任一种的查询结果; 若所述查询结果表明所述云端数据库保存有所述至少一种域信息中的任一种且属于黑名单,则阻止所述程序的网络访问请求;或者,若所述查询结果表明所述云端数据库保存有所述至少一种域信息中的任一种不属于黑名单而属于白名单,则放行所述程序的网络访问请求。4.根据权利要求3所述的方法,还包括 若应用层查询到所述本地数据库和所述云端数据库都没有保存所述至少一种域信息中的任一种,表明所述程序为未知程序,放行所述程序的网络访问请求。5.根据权利要求2或4所述的方法,所述驱动层截获程序发起的网络访问请求的数据包的步骤包括驱动层截获程序发起的HTTP访问请求的数据包;所述至少一种域信息包括域名; 所述方法还包括驱动层获取HTTP访问请求的IP地址和端口。6.根据权利要求5所述的方法,还包括应用层进一步解析数据包,获取以下信息的一种或多种作为至少一种域信息中的一部分网址、代理程序标识和父页面信息。7.根据权利要求5或6所述的方法,在所述将所述数据包及其至少一种域信息发送到应用层的步骤之前还包括 判断在驱动层内存中是否记录有与本次所述程序的HTTP访问请求具有相同IP地址和端口以及域名的上一次所述程序的处理状态信息; 若否,则执行所述将所述数据包及其至少一种域信息发送到应用层的步骤; 若是,则在上一次所述程序的处理状态信息为上一次所述程序的HTTP访问请求的至少一种域信息中的任一种属于黑名单的情况下,阻止所述程序的网络访问请求;在上一次所述程序的处理状态信息为上一次所述程序的HTTP访问请求的至少一种域信息中的任一种属于白名单的情况下,放行所述程序的网络访问请求;在上一次所述程序的处理状态信息为上一次所述程序为未知程序的情况下,执行所述将所述数据包及其至少一种域信息发送到应用层的步骤。8.根据权利要求5或6所述的方法,在所述将所述数据包及其至少一种域信息发送到应用层的步骤之前还包括 判断在驱动层内存中是否记录有与本次所述程序的HTTP访问请求具有相同IP地址和端口以及域名的上一次所述程序的处理状态信息; 若否,则执行所述将所述数据包及其至少一种域信息发送到应用层的步骤; 若是,则在上一次所述程序的处理状态信息为上一次所述程序的HTTP访问请求的至少一种域信息中的任一种属于黑名单的情况下,阻止所述程序的网络访问请求;在上一次所述程序的处理状态信息为上一次所述程序的HTTP访问请求的至少一种域信息中的任一种属于白名单的情况下,放行所述程序的网络访问请求;在上一次所述程序的处理状态信息为上一次所述程序为未知程序的情况下,判断所述程序被确认为未知程序的累计次数是否大于或等于预设值,若是,则放行所述程序的网络访问请求,否则,执行所述将所述数据包及其至少一种域信息发送到应用层的步骤。9.根据权利要求5至8任一项所述的方法,在所述阻止或放行所述程序的网络访问请求的步骤之后还包括 在驱动层内存中记录本次所述程序的HTTP访问请求的IP地址和端口以及域名,并记录本次所述程序的处理状态信息,本次所述程序的处理状态信息为本次所述程序的HTTP访问请求的至少一种域信息中的任一种属于黑名单或白名单,或者本次所述程序为未知程序。10.根据权利要求9所述的方法,在所述阻止或放行所述程序的网络访问请求的步骤之后还包括 若本次所述程序的处理状态信息为本次所述程序为未知程序,则在驱动层内存中记录所述程序被确认为未知程序的累计次数。11.根据权利要求2或4所述的方法,在所述将所述数据包及其至少一种域信息发送到应用层的步骤之前还包括 判断在驱动层内存中是否记录有与本次所...

【专利技术属性】
技术研发人员:熊昱之张聪刘海粟
申请(专利权)人:北京奇虎科技有限公司奇智软件北京有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1