一种基于包过滤实现网闸高效数据扫描技术的制作方法

文档序号:18898842发布日期:2019-10-18 21:39阅读:292来源:国知局
一种基于包过滤实现网闸高效数据扫描技术的制作方法

本发明涉及一种互联网通信技术领域,特别涉及一种基于包过滤实现网闸高效数据扫描技术。



背景技术:

计算机网络的迅速发展,已经涉及到人们生活的各个方面,成为实现信息收集处理、加强交流、提交工作生活效率和质量的重要手段。中国互联网络信息中心(cnnic)在2002年7月的“中国互联网络发展状况统计报告”中指出,目前我国上网用户总数已经达到4580万人,而且一直呈现稳定、快速上升趋势。面对如此众多的上网用户,为商家提供了无限商机。同时,若通过internet中进行传统业务,将大大节约运行成本。据统计,网上银行一次资金交割的成本只有柜台交割的13%。面对internet如此巨大的市场,各行各业都在涉足并不断的寻求internet解决方案。

同时,信息网络的普及和网络中各种潜在的漏洞给我们带来了新的安全威胁,如黑客侵袭、病毒骚扰和系统内部泄密等,必将造成重大损失。

因此作为基于internet的各种业务,如何防止黑客的攻击和病毒的破坏,如何保障自身的数据交互的安全就迫在眉睫了。对于一般的防火墙、入侵检测、病毒扫描等等网络安全技术的安全性,在人们心中还有很多疑虑,因为很多网络安全技术都是事后技术,即只有在遭受到黑客攻击或发生了病毒感染之后才作出相应的反应。针对这个问题,国家保密局早在1988年发布的《涉及国家秘密的通信、办公自动化和计算机信息系统审批暂行办法》11中就提出了“物理隔离”的要求,稳重明确规定:涉密系统不得直接或者间接与国际联网,必须实行物理隔离。2000年国家保密局正式颁布的《计算机系统国际联网保密管理规定》121中也明确规定:“凡是涉及国家秘密的计算机信息系统,不得直接或者间接的与国际互联网或者其他公共信息网络连接,必须实行物理隔离”,因此网闸的使用必须从物理上实现真正的隔离同时以软件协助实现数据的高效传输和扫描过滤功能。



技术实现要素:

为克服现有技术的不足,本发明通过对各个业务(ftp、数据库、邮件)模块对业务数据进行针对性的解析,在代理转发数据时针对各个数据包进行标记,区分其数据类型是普通请求还是文件数据而且对文件数据尽量去区分其文件类型,在网闸经由隔离卡传输前针对数据包进行部分缓存扫描。比如设置为缓存n个数据包进行一次扫描,针对前n-1个数据包缓存后直接放过,第n个数据包来后针对n个数据包进行组包并扫描,如果扫描有问题则拦截第n个包不予转发,反之则直接转发。

本发明本发明技术方案带来的有益效果:

本发明通过对各个业务模块对业务数据进行针对性的解析,在代理转发数据时针对各个数据包进行标记,区分其数据类型。在网闸经由隔离卡传输前针对数据包进行部分缓存扫描,在保证传输效率的基础上提高网闸设备的数据传输的可靠性及可控性。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1是本发明的工作流程图;

图2是基于包过滤实现网闸高效数据扫描流程图;

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

基于包过滤实现网闸高效数据扫描技术,顾名思义在技术方案上所扫描的对象是数据包。但是在数据传输中一个巨大的数据文件可能会被切分成无数个数据包进行传输,如果包切分的越小那么一个包的数据意义也就越小。简单的说一个病毒文件如果对整个文件进行扫描我可以扫描出其病毒特征,但是如果拆分成成千上万的数据包,那么根据单独的数据包不一定能扫描出其病毒特征;同时还有一点就是如果针对每个数据包都去扫描那么这个工作量可想而知是很大的,从产品的层面看如果在设备内部去缓存所有的文件进行扫描,显然内存是不一定够用的,而且效率最终将局限于磁盘i/o读写速率。

针对上边的阐述似乎基于包过滤和过滤效率总是会存在矛盾,但是在这里本发明需要表达的是即使是基于这样一个矛盾体,本发明依然要寻求其高效的解决办法,那么高效数据扫描则是基于部分包的缓存。全量缓存是基本不可行的,因为用户的数据对于是未知的,那么控制并扫描未知数据唯一的办法就是试行本发明特定的规则。

综上实际基于包的高效数据扫描实际就是对单个包扫描和针对所有数据文件缓存扫描的一种折中方式。针对一个数据文件的数据流的n个包进行缓存扫描,当然这里的n可以通过用户适当配置,对于一次扫描的n个包的前n-1个包缓存一份并直接放行;对于第n个包则需要等待缓存的n个包扫描完后再决定是标记拦截还是直接放行;对于单个文件数据的扫描结果将直接影响整个文件数据最终的传输结果。如果针对一个数据文件某一次的n个数据缓存扫描判定为非法数据,那么后边属于该数据文件的所有数据包将直接被标记或者被遗弃不再扫描处理。

举例说明:

数据同步扫描信息部分表结构(即文件传输配置)

数据同步扫描信息结构体

数据同步扫描返回结构体

数据同步扫描接口

//初始化入口nflag0默认同时做病毒库初始化和策略初始化1病毒库初始化2策略初始化成功返回0失败返回-1

externintcheckinit(intnflag=0);

//buffer核查入口

externintcheckbuffer(char*sbuffer,intnlen,intnlinkid,rescheck&recdata);

//文件核查入口

externintcheckfile(char*pfile,intnsize,intnlinkid,rescheck&recdata);

#definedefault0

#definevirusinit1

#definestrategyrefresh2

结合图2的流程图可以看出,当进入工作空间后,按批次针对n个包进行一次扫描,前n-1个包直接放行,第n个包的时候进行全部n个包的缓存扫描,针对扫描结果进行分析,最终结果将直接作为整个文件数据转发或者后续操作的判断依据。

以上对本发明实施例所提供的一种基于包过滤实现网闸高效数据扫描技术进行了详细介绍。本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1