技术领域
[0001] 本
发明属于文件传输技术,具体涉及一种计算机病毒隔离文件传输系统及方法。
背景技术
[0002] FTP 是File Transfer Protocol(文件传输协议)的英文简称,用于Internet上的控制文件的双向传输,即用户可通过客户机程序向远程主机上传和下载文件。
[0003] 采用FTP文件传输的优点是:不管连入因特网的两台计算机相距多远,顷刻之间就可以将一台计算机上的文件传送到另一台计算机中,就如同在本地计箅机的磁盘间复制文件样,非常方便、简单。但采用FTP文件传输也存在以下问题:
[0004] (1)需使用本地磁盘空间来实现数据的存储转发,在传输文件时会占用
硬盘资源;
[0005] (2)文件传输方法是基于 TCP/IP 协议,因此容易受到网络病毒的攻击,文件传输存在不安全的因素,而且TCP在传输速度上相对而言比较慢。为了避免计算机感染病毒,一般会在计算机上安装防、查毒、杀毒
软件,用于扫描过滤可能的病毒侵入,并对病毒程序进行清除,这种方式能够起到很好的
预防病毒的作用,但这种防毒解毒方式需要占用系统CPU资源,因此会延缓计算机的启动过程和运行速度。
[0006] (3)针对传输的数据,传统的数据安全隔离传输模式是:
[0007] 3a、接收并保存到本地硬盘,数据文件进入非安全隔离区;
[0008] 3b、对硬盘文件进行杀毒,通过查毒的数据进入安全隔离区;
[0009] 3c、对文件进行分解,再次分发或转储到目标
位置。
[0010] 以上这种方式存在的问题是:数据多次在内存和磁盘文件间进行交换,系统资源开销大;系统数据传输速度受制于硬盘读写速度;频繁的硬盘读写引发的
硬件可靠性和
稳定性不足;且硬件投资较大。IP协议是一种广泛采用的网络寻址协议,因而在技术上的漏洞和弱点容易被利用;采用该协议技术时被攻击的
风险较大。
[0011] 因此,有必要开发一种新的计算机病毒隔离文件传输系统及方法。
发明内容
[0012] 本发明的目的是提供一种高速、稳定、经济、抗攻击的计算机病毒隔离文件传输系统及方法。
[0013] 本发明所述的计算机病毒隔离文件传输系统,包括:
[0014] 接收模
块,用于接收FTP服务端发送的数据,并存储于FTP本地端的内存中;
[0015] 杀毒模块,用于将所接收的数据在FTP本地端的内存中进行病毒特征码扫描,根据病毒特征库判断所述数据是否感染病毒,将已感染病毒的数据进行丢弃或退回处理,将未感染病毒的数据标记为待转发状态,并将未感染病毒的数据地址发到待发送队列中,该杀毒模块与接收模块连接;
[0016] 传输协议转换模块,用于将未感染病毒的数据的传输协议由IP协议转换为IB协议,该传输协议转换模块与杀毒模块连接;
[0017] 安全隔离区域模块,采用RDMA协议将未感染病毒的数据存储于FTP本地端的安全隔离区域内,该安全隔离区域模块与传输协议转换模块连接。
[0018] 进一步,所述接收模块包括至少一个FTP协议端口,用于FTP本地端与FTP服务端之间通过TCP/IP协议建立连接和传输数据。
[0019] 进一步,还包括通知模块,用于在对已感染病毒的数据进行丢弃或退回处理时通知用户,该通知模块与杀毒模块连接。
[0020] 本发明所述的病毒隔离文件传输方法,采用本发明所述的计算机病毒隔离文件传输系统,包括以下步骤:
[0021] 步骤1、FTP本地端接收FTP服务端发送的数据并存储于FTP本地端的内存中;
[0022] 步骤2、FTP本地端将接收的数据在内存中进行病毒特征码扫描,根据病毒特征库判断所述数据是否感染病毒;如果确认所述数据已感染病毒,则将所述数据丢弃或退回;如果确认所述数据未感染病毒,则将该数据标记为待转发状态,并将未感染病毒的数据地址发到待发送队列中;
[0023] 步骤3、将未感染病毒的数据的传输协议由IP协议转换为IB协议;
[0024] 步骤4、采用RDMA协议保存于FTP本地端的安全隔离区域模块内。
[0025] 进一步,所述步骤2中,FTP本地端将接收的数据在内存中进行病毒特征码扫描,根据病毒特征库判断所述数据是否感染病毒的具体方法为:
[0026] 针对某段数据或者某个数据
片段进行扫描,将被扫描数据与病毒
数据库的病毒特征数据进行对照,若该段数据或者该个数据片段与病毒数据库中的任何一个病毒特征相匹配,则判断该段数据或者该个数据片段已感染病毒。
[0027] 进一步,所述步骤1中,在FTP本地端接收FTP服务端所发送的数据之前,先判读FTP服务端所发送的数据是否合法,若合法,则接收该数据并标记为待查毒数据,若不合法,则不接收该数据。
[0028] 本发明具有以下优点:
[0029] (1)前端采用一个或者多个FTP 协议端口,用于外网或远端通过TCP/IP地址连接和传输数据;FTP服务不使用本地磁盘文件实现数据存储转发,而使用内存进行存储转发,大大提高了储转发的效率,减少对硬盘资源的占用;
[0030] (2)采用集中病毒杀毒处理,分散的多路文件数据在内存中进行统一集中病毒杀毒处理,减少了对杀毒
节点的需求;
[0031] (3)采用IP到IB的转换协议,屏蔽了外部对IP地址的攻击,减少了外部网络通过IP攻击存储数据机会;
[0032] (4)采用远程直接内存
访问(RDMA)协议,将数据直接在两个系统的应用内存之间进行交换,而不需要通过
操作系统内存进行数据交换,减少了对操作系统的压
力和资源开销;
[0033] (5)对接收的数据在内部采用数据地址标记的方式避免频繁的硬盘读写。
附图说明
[0035] 图2为本发明的原理图;
[0037] 其中:1、接收模块,2、杀毒模块,3、传输协议转换模块,4、安全隔离区域模块,5、通知模块。
具体实施方式
[0038] 下面结合附图对本发明作进一步说明。
[0039] 如图1和图2所示的所述的计算机病毒隔离文件传输系统,包括接收模块1、杀毒模块2、传输协议转换模块3、安全隔离区域模块4和通知模块5。
[0040] 接收模块1用于接收FTP服务端发送的数据,并存储于FTP本地端的内存中。
[0041] 杀毒模块2用于将所接收的数据在FTP本地端的内存中进行病毒特征码扫描,根据病毒特征库判断所述数据是否感染病毒,将已感染病毒的数据进行丢弃或退回处理,将未感染病毒的数据标记为待转发状态,并将未感染病毒的数据地址发到待发送队列中,该杀毒模块2与接收模块1连接。
[0042] 传输协议转换模块3用于将未感染病毒的数据的传输协议由IP协议转换为IB协议,该传输协议转换模块3与杀毒模块2连接。
[0043] 安全隔离区域模块4采用RDMA协议将未感染病毒的数据存储于FTP本地端的安全隔离区域内,该安全隔离区域模块4与传输协议转换模块3连接。
[0044] 通知模块5用于在对已感染病毒的数据进行丢弃或退回处理时通知用户,该通知模块5与杀毒模块2连接。
[0045] 如图2所示,本发明采用一个或者多个FTP 协议端口,用于FTP本地端与FTP服务端之间通过TCP/IP协议建立连接和传输数据。FTP本地端不使用本地磁盘实现数据存储转发,而是使用内存进行存储转发,大大提高了储转发的效率,减少了对硬盘资源的占用;采用集中病毒杀毒处理,分散的多路文件数据在内存中进行统一集中病毒杀毒处理,减少了对杀毒节点的需求;采用IP协议到IB协议的转换,屏蔽了外部对IP地址的攻击,减少了外部网络通过IP攻击存储数据机会;采用远程直接内存访问(RDMA)协议将数据直接在两个系统的应用内存之间进行交换,而不需要通过操作系统内存进行数据交换,减少了对操作系统的压力和资源开销。
[0046] 如图2和图3所示,本发明所述的病毒隔离文件传输方法,采用本发明所述的计算机病毒隔离文件传输系统,包括以下步骤:
[0047] 步骤1、FTP本地端接收FTP服务端发送的数据并存储于FTP本地端的内存中。
[0048] 步骤2、FTP本地端将接收的数据在内存中进行病毒特征码扫描,根据病毒特征库判断所述数据是否感染病毒;如果确认所述数据已感染病毒,则将所述数据丢弃或退回,并通知用户;如果确认所述数据未感染病毒,则将该数据标记为待转发状态,并将未感染病毒的数据地址发到待发送队列中。
[0049] 步骤3、将未感染病毒的数据的传输协议由IP协议转换为IB协议。
[0050] 步骤4、采用RDMA协议保存于FTP本地端的安全隔离区域模块内。
[0051] 本发明所述步骤2中,FTP本地端将接收的数据在内存中进行病毒特征码扫描,根据病毒特征库判断所述数据是否感染病毒的具体方法为:
[0052] 针对某段数据或者某个数据片段进行扫描,将扫描数据与病毒数据库的病毒特征数据进行对照,若该段数据或者该个数据片段与病毒数据库中的任何一个病毒特征相匹配,则判断该段数据或者该个数据片段已感染病毒。
[0053] 本发明所述步骤1中,在FTP本地端接收FTP服务端所发送的数据之前,先判读FTP服务端所发送的数据是否合法,若合法,则接收该数据并标记为待查毒数据,若不合法,则不接收该数据。
[0054] 本发明中:
[0055] IP地址:所谓IP地址就是给每个连接在互联网上的主机分配的一个地址; IPv4 采用32位无符号整数做地址;IPv6是它用来替代现行的IPv4(现行的IP)协议的一种新的IP协议, IPv6地址采用128位的无符号整数做地址,由于被该技术广泛使用,很多技术漏洞被暴露造成了安全隐患。
[0056] InfiniBand (IB)是用于低层输入/输出通信的技术, 是非IP的地址访问协议。可以将磁盘阵列、SANs、LANs、
服务器和集群服务器进行互联,也可以连接外部网络(比如广域网、虚拟专用网络、互联网)。InfiniBand架构是一种支持多并发链接的“转换线缆”技术,在这种技术中,每种链接的带宽都可以达到2.5 Gbps,这是一种高速高带宽的数据传输技术。
[0057] RDMA:RDMA(Remote Direct Memory Access)技术全称远程直接数据存取,RDMA零拷贝技术:通过NIC(网络
接口卡)直接与应用内存相互传输数据,避免在应用内存与
内核内存之间复制数据的需要.内核内存旁路使应用无需执行内核内存调用就可向NIC 发送命令,减少了在处理网络传输流时内核内存空间与用户空间之间环境切换的次数。RDMA通过网络把数据直接传入计算机的存储区,将数据从一个系统快速移动到远程系统
存储器中,而不对操作系统造成任何影响,它消除了外部存储器复制和数据交换操作,是一种完全由硬件执行I/O交换的工作方式.在这种方式中数据交换不经过CPU ,而直接在内存和IO设备之间进行。
[0058] 使用DMA (直接内存访问)方式的目的是减少大批量数据传输时CPU 的开销.采用专用DMA
控制器(DMAC) 生成访存地址并控制访存过程.优点有操作均由硬件
电路实现,传输速度快。
[0059] CPU 基本不干预,仅在初始化和结束时参与,CPU 与外设并行工作,效率高。
[0060] RDMA 的工作过程如下:
[0061] (1)当一个应用执行RDMA 读或写
请求时,不执行任何数据复制.在不需要任何内核内存参与的条件下, RDMA 请求从运行在用户空间中的应用中发送到本地NIC( 网卡)。
[0062] (2) NIC 读取缓冲的内容,并通过网络传送到远程NIC。
[0063] (3) 在网络上传输的RDMA 信息包含目标虚拟地址、内存钥匙和数据本身.请求完成既可以完全在用户空间中处理(通过轮询用户级完成排列) ,或者在应用一直睡眠到请求完成时的情况下通过内核内存处理.RDMA 操作使应用可以从一个远程应用的内存中读数据或向这个内存写数据。
[0064] (4) 目标NIC 确认内存钥匙,直接将数据写入应用缓存中,用于操作的远程虚拟内存地址包含在RDMA 信息中。