CN101252585A - 对使用远程文件系统访问协议的数据进行内容过滤的方法与系统 - Google Patents

对使用远程文件系统访问协议的数据进行内容过滤的方法与系统 Download PDF

Info

Publication number
CN101252585A
CN101252585A CNA2008100854232A CN200810085423A CN101252585A CN 101252585 A CN101252585 A CN 101252585A CN A2008100854232 A CNA2008100854232 A CN A2008100854232A CN 200810085423 A CN200810085423 A CN 200810085423A CN 101252585 A CN101252585 A CN 101252585A
Authority
CN
China
Prior art keywords
buffering area
file
telefile
maintenance
data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2008100854232A
Other languages
English (en)
Inventor
威廉·杰弗里·克劳福德
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fortinet Inc
Original Assignee
Fortinet Information Technology Beijing Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fortinet Information Technology Beijing Co Ltd filed Critical Fortinet Information Technology Beijing Co Ltd
Publication of CN101252585A publication Critical patent/CN101252585A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/14Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
    • H04L63/1441Countermeasures against malicious traffic
    • H04L63/145Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/55Detecting local intrusion or implementing counter-measures
    • G06F21/56Computer malware detection or handling, e.g. anti-virus arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/90Buffering arrangements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0227Filtering policies
    • H04L63/0245Filtering by information in the payload
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0281Proxies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/10Architectures or entities
    • H04L65/102Gateways
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/06Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/289Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services

Abstract

本发明涉及一种对使用远程文件系统访问协议的数据进行内容过滤的方法与系统。根据本发明的一实施例,运行于一网关且逻辑上置于用户端与服务器之间的代理截取远程文件系统访问协议请求/回应。作为接收到用户端发出的远程文件系统访问协议请求的响应,网络网关以用户端的名义向服务器发布远程文件系统访问协议请求。网络网关设备将与服务器一共享资源有关的读取自/写入到一文件的数据缓冲入一保持缓冲区。然后,作为对预先设定与远程文件系统访问协议或该保持缓冲区有关的事件的响应,通过在该保持缓冲区内执行内容过滤操作判断该保持缓冲区中是否存在恶意代码、危险或未授权的内容。

Description

对使用远程文件系统访问协议的数据进行内容过滤的方法与系统
技术领域
本发明是一种关于计算机安全与计算机网络安全的方法与系统。特别是涉及一种对使用远程文件系统访问协议的数据进行内容过滤的方法与系统。
背景技术
各种远程文件系统访问协议对用户端程序提供了从计算机网络中的服务器读取并写入文件以及获取服务的能力。例如,服务器信息块协议SMB(ServerMessage Block)协议可以通过互联网在TCP/IP协议或其他网络协议如IPX(Internetwork Packet Exchange)与NetBEUI协议之上访问远程服务器以及其他网络资源包括打印机、邮件槽以及指定的设备之中的文件。那么,一个用户端程序可以在远程服务器上读取、创建并更新文件。也同样可以与任何建立接收SMB用户请求的服务器程序进行通信。
公共Internet文件系统CIFS(Common Internet File System)定义了在互联网中标准远程文件系统访问协议,使用户组可以相互合作并通过互联网或在构成的内部网上共享文件。CIFS是建立在微软windows系统与其他常规个人计算机操作系统,并能够在很多平台运行的基于本地文件共享协议开放式的、跨平台技术。
远程文件系统访问增强了网络的可用性,但同时也带来一些不安全性影响,如:i:这些协议的复杂性使内容过滤很难执行,例如在文件传输到网关时进行恶意软件的扫描;ii:大多数网络设备提供商都只针对网关提供访问控制功能,控制对文件和/或具体共享资源的读取与写入,却将复杂的过滤功能留给服务器执行;且iii:用户在个人桌面计算机共享文件夹或其他网络资源时可能没有安装合适的过滤程序执行(例如反病毒软件),那么恶意程序就有机可趁传播到或从共享文件夹或资源中传播。
发明内容
本发明涉及一种对使用远程文件系统访问协议的数据流进行内容过滤的方法及系统。根据本发明的一实施例,运行于网关逻辑上置于用户端与服务器之间的代理截取远程文件系统访问协议请求/回应。作为接收到用户端发出的远程文件系统访问协议请求的响应,网络网关以用户端的名义向服务器发布远程文件系统访问协议请求。网络网关设备将与服务器一共享资源有关的读取自/写入到一文件的数据缓冲存入一保持缓冲区(Holding Buffer)。然后,作为对预先设定与远程文件系统访问协议或该保持缓冲区有关的事件的响应,通过在该保持缓冲区内执行内容过滤操作判断该保持缓冲区中是否存在恶意代码、危险或未授权的内容。
本发明实施例的其他功能特点将在下文中配合附图进行详细说明。
附图说明
以下附图配合说明本发明的实施例,并不用于局限本发明的范围。附图中相同的部件示以相同的标号。
图1所示是本发明使用的一简化网络结构示意图;
图2所示是网络网关各功能性模块与用户端及服务器之间相互作用示意图;
图3所示是根据本发明的实施例所使用的计算机系统的示意图;
图4所示是根据本发明的实施例文件缓冲器所使用的各种数据结构的示意图;
图5所示是常规远程文件系统访问协议会话操作简化说明的流程图;
图6所示是逻辑上置于用户端与服务器之间的SMB/CIFS代理执行的远程文件系统访问协议扫描处理的流程图;
图7A-D所示是一保持缓冲区与一个相应的空闲指针(Free Pointer)以及用于判断是否保存缓冲区的容量已满的使用率表格的各个状态的示意图。
具体实施方式
本发明是有关对使用远程文件系统访问协议的数据进行内容过滤的方法与系统。根据本发明的实施例之一,远程文件系统访问协议数据流,如SMB/CIFS数据流,通过用户端与服务器之间的网络网关进行监测。被读取或写入的文件将缓存在一个共享的区域,并接受一项或多项过滤机制进行关于恶意的、危险性的和/或未授权的内容的检测。例如,一个逻辑上置于用户端与服务器之间的网关可以对使用SMB/CIFS协议进行传输的通过该网关的文件和/或其他数据执行内容过滤操作。过滤机制可以包括但不局限于,例如恶意程序扫描、文件名格式匹配屏蔽、机密信息控制等这样的过滤器。在网关处进行内容过滤的优点是,自动化执行的恶意软件不能够传播到未受保护的系统,使通过远程文件系统访问协议进行传输的各种类型的数据更加安全。
根据本发明的实施例,提供一个文件缓冲区管理架构,能够映射不同的文件ID(FID),在远程文件系统访问协议会话过程中创建文件名称,并将该名称与存储在保持缓冲区(Holding Buffer)内的文件对应,加快保持缓冲区的存储并能够触发合适的内容过滤操作。
根据本发明的一个实施例,将提供一种新颖的管理与扫描缓冲数据的方法,能够应对远程文件系统访问协议的复杂性,这样的复杂性体现在任何时间内对共享文件的任何部分允许多个用户操作,甚至可以在操作中出现的多个线程执行动作(读取/写入)。本发明中还包括管理缓冲数据的高效的方法。
本发明的一个实施例提供了一种当保持缓冲区存储满后在不跟踪或查询该保持缓冲区内未更改分区的情况下快速判定数据的方法。
重要的是,本发明所述在网络网关应用的各种内容过滤系统与方法同样可以应用于其他逻辑上置于用户端与服务器之间的其他虚拟或物理网络设备或程序,例如防火墙、网络安全部件、虚拟私有网络(VPN)网关、交换机、桥接部件、路由器或类似的设备部件。
以下将进行细节性的描述以助于更好的理解本发明。但是,对于熟悉本技术领域的技术人员来讲,即使没有这样的细节性说明,本发明实施例的实现也是显而易见的。在其他情况下,所示方框图中均使用公知的结构与设备。
下面将参考附图进行说明,附图中相同的功能元件使用相同的编号。上述附图用于解释本发明,并不作为对本发明的限制,具体实施例和应用与本发明的原理是一致的。所描述的详细的应用是用于本领域的技术人员实践本发明,应该理解,在不脱离本发明的精神和范围内,可以做其他应用以及对各种元件做出结构修改和/或替换。因此,下面的描述并不用于限制本发明。另外,本发明所述的各种实施例可以运行于通用计算机中的软件,专门的硬件或者软件和硬件的组合方式来执行。
本发明的实施例可以提供作为一个计算机产品,包括一存储指令的机读介质,能够被计算机设备所使用执行操作。机读介质可以包括但不局限于一般形式的计算机可读介质包括,如,软盘、软碟、硬盘、磁带或者任何其它磁性介质、CD-ROM、任何其他光学介质、打孔卡片、纸带、任何其它有孔图案的物理介质、RAM、PROM、EPROM、FLASH-EPROM、闪存驱动器、记忆卡、任何其它记忆芯片或者卡带、下文所述的载波,或者任何其它计算机可读的介质。此外,本发明的实施例也可以是下载的计算机程序产品,所述程序可以使从远程计算机通过通信链接(例如调制解调器或网络连接)传输的载波或其他传播介质传输的数据信号到达所要求的计算机。
虽然在此仅详细阐述本发明中针对服务器信息块协议(SMB)/公共网络文件系统(CIFS)的实施例,但本文所述的方法与系统同样适用于其他远程文件系统访问协议,如Samba,网络文件系统(NFS:Network File System),Not QuiteNFS,优化远程文件系统访问(ORFA:Optimized Remote File-system Access),Apple文件协议(AFP:Apple Filing Protocol),网络核心协议(NCP:NetwareCore Protocol),Kerberos,远程文件系统(RFS:Remote File System),OS/400文件服务器文件系统(QFileSvr.400:OS/400 File Server file system)。
以下是本发明所涉及的术语介绍:
“连接”或“连结”以及相关的术语在操作范畴中使用,并不单单局限在直接连接或连结。
“用户端”通常情况下指在用户/服务器范畴中向一个网络中的另外的程序、进程或设备(服务器)请求信息或服务的一项应用、程序、进程或设备。需要说明的是,“用户端”与“服务器”是相对而言的,一项应用程序对于一个应用来讲是作为用户端,但对于另一个应用来讲是服务器。“用户端”也包括在一个请求应用、程序、进程或设备之间向一个可能作为服务器,如FTP用户,发起连接的软件。
“内容过滤”通常是指对在一个用户端与服务器之间传输的文件和/或其他的数据进行监控或扫描,如恶意程序扫描、文件名称模式屏蔽、机密信息控制以及类似的操作。
“在一个实施例中”、“根据本发明的一个实施例”以及类似的表达通常指下文中的特殊的性能、结构或特点包括在本发明的至少一个实施例,以及可能包括在本发明的不止一个实施例中。需要说明的是,这样的表达并不特指同一个实施例。
“网络网关”通常涉及一个网络间的系统,该系统可以将两个网络连接在一起。“网络网关”可以实施作为一项软件或硬件,或是二者的结合。根据实施情况,网络网关可以在从程序协议到底层信令的任何级别的OSI模式下操作。
如果在陈述一个部件或功能中使用了“可能”“可以”“能够”这样的表达,是指这样的部件或功能并不是必须包括或具有。
“代理”通常是指中间设备、程序或代理,处于作为另外的用户端发起或转发请求的一个服务器或用户端。
“远程文件系统访问协议”通常是指使网络文件能够共享的协议。例如,远程文件系统访问协议可以允许用户端程序以连续或不连续的方式访问互联网(Internet)或在特定的内部网络之上的远程文件。远程文件系统访问协议包括但并不局限于(SMB:Sever Message Block)/公共Internet文件系统(CIFS:Common Internet File System),Samba,网络文件系统(NFS:Network FileSystem),Not Quite NFS,优化远程文件系统访问(ORFA:Optimized RemoteFile-system Access),Apple文件协议(AFP:Apple Filing Protocol),网络核心协议(NCP:Netware Core Protocol),Kerberos,远程文件系统(RFS:Remote FileSystem),OS/400文件服务器文件系统(QFileSvr.400:OS/400 File Server filesytem)。
“请求”,除非内容要求改变其用法,通常是指由用户端向服务器发出的一个远程文件系统访问协议请求或命令。根据本发明的SMB作为远程文件系统访问协议的一个实施例,一些命令可以与相同的请求链接起来发布。例如,打开文件与读取文件。这些类型的命令可以作为ANDX命令。
“回应”,除非内容要求改变其用法,通常是指由服务器向用户端发出的一个远程文件系统访问协议回应。“回应”通常是,但是并不是必须是针对用户端的一请求做出的回复。
“响应”包括全部或部分的响应。
“服务器”通常情况下指在用户/服务器范畴中对一个网络中的另外的程序、进程或设备(服务器)请求信息或服务做出回复的一项应用、程序、进程或设备。“服务器”也包括可以指可能能够信息提供或服务的软件。
“共享”在本文用作名词性质时,通常是指例如一个文件系统目录这样的资源,能够通过远程文件系统访问协议进行共享。“共享”典型的指代一个文件目录或一项“共享名称”。共享名称并不需要与实际被共享的客体具有相同的在服务器上命名的真实名称。例如,目录路径“/My_Documents/Clients/Client_#1/”可以是更简短以及更明确的名称“Client_#1_Files”。当通过一远程文件系统访问协议访问该共享资源时,该共享资源的名称可能替换该目录文件真实的名称。例如,如果服务器命名为“server”,但是到共享资源的路径可能被远程文件系统访问协议指定为“\\server\Client_#1_Files”。在一个实施例中,在发起一个远程文件系统访问协议会话时,服务器分配一个成为Tree ID(TID)的特殊标识符以在会话过程中识别共享资源。
“透明代理”是一种特殊形式的代理,其只执行给定协议的一套子集,允许未知或一般的协议指令在不被改动的情况下通过。透明代理的优势在于,用户端使用的完整代理需要针对该代理编辑用户端的配置文件,与之相比较,透明代理不需要执行这样额外的配置。
本发明的一个或多个实施例可以包括以下各种特征的结合:
1.在网络网关内运行一个代理,截取用户端与服务器之间的远程文件系统访问协议请求/回应,并对二者之间交换的数据执行内容处理以做出响应。
2.对与该代理有关的每个文件与会话进行单独共享的缓冲保持,并可以通过远程文件系统访问协议实现用户端与服务器之间数据被多个程序和/或线程读取和/或写入。
3.快速有效地判断一个可能已在非连续的方式下被修改或访问过的保持缓冲区是否已满的机制。
4.在一个保持缓冲区内执行将多个文件ID(FID)映射到相同文件操作并跟踪其他额外的信息的机制。
5.对发现被感染或被其他过滤器检测到受感染的文件的限制访问的机制。
根据本发明的一个实施例,一个新的代理截取向内的SMB/CIFS请求与回应,并扫描在用户端与服务器之间的往来的文件。
根据本发明的一实施例,使用一项缓存机制,通过保留用户端与服务器之间往来的数据拷贝从而对其进行内容过滤。多个用户程序操作或一个用户端的多个用户程序和/或线程可以同时,并可能是在文件的不同区域访问同一个服务器文件。那么,缓冲区中对每项线程和/或操作的内存分配可能导致网关耗尽内存。更进一步来说,每项线程和/或操作对缓冲区的使用可能导致缓冲区在一个特殊的会话中发生局部充满,那么就会延迟或阻止缓冲数据的内容处理。因此,根据本发明的一实施例,一个单独的共享保持缓冲区便完成了执行操作。这种情况下,每项线程和/或操作引用相同的缓冲区并因其对缓冲区的访问而导致缓冲区的部分存储满。本发明提供的共享缓冲保持机制的优势在于节省了内存并允许缓冲区能够更快速的存储满从而增加触发内容处理的可能性。
本发明的一实施例中,对保持缓冲区的内容处理是由对保持缓冲区存储满(或被完全修改)的响应来触发的。根据一实施例,使用率表格与空闲指针(FreePointer)方法可跟踪保持缓冲区存储的程度并更有效地判断缓冲区的可用空间。
根据SMB/CIFS协议,文件名可以使用文件路径与tree(树)标识符(TID)结合的方式作为唯一性的文件标识。根据本发明的一实施例,该名称可以用于一特殊列表中以识别一个已经打开的文件并将其与一个文件标识符(FID)建立联系。应该注意的是,几个操作可能打开的是同一个文件并获得不同的FID。因此,根据本发明的一实施例,提供了一种可以将多个涉及相同的文件FID映射到一个保持缓冲区内的机制,该机制是通过文件映射列表与保持缓冲区数据列表而实现的。
在本发明的一实施例中,提供了一种对受感染的文件限制访问的方法。假设一个远程文件系统访问协议允许进行局部(例如,随机或连续性)文件访问,一旦网关检测到一个文件已受感染,该文件的分区已经分别被用户端或服务器读取或写入。其结果将是服务器或用户端可能含有被病毒感染的部分文件。根据一实施例,一旦网关检测到受感染的文件,在远程文件系统访问协议回应中相应的错误代码将返回到用户端,拒绝用户对文件的访问和/或触发用户端采取适当的动作。
图1所示是根据本发明所使用的一简化网络结构的示意图。如图所示,一个或多个远程用户端115通过公共网络100与一网络网关105,与一本地局域网络(LAN)110进行通信连接;在该连接中,该网络网关执行以下所述的将与远程文件系统访问协议数据流有关的各种创新性的内容过滤方法。本实施例中,该网络网关105也与一邮件服务器105、一网站服务器160以及一域名服务器(DNS)170连接。
图1所示的网络结构中,LAN110中包括一个或多个打印机140、一个或多个服务器130与一个或多个本地用户120。根据一实施例,远程用户端115、本地用户120与服务器130使用一远程文件系统访问协议相互共享资源,如目录文件树。本发明一实施例中,网络网关105包括一透明远程文件访问协议代理,能够截取用户端远程文件系统访问协议请求与服务器远程文件系统访问协议回应。因为代理是透明的,对每个请求与回应均不需要处理器(Handler)来实现。实际上,根据本发明的一实施例,只有很少的请求与回应可以真正触发在部分透明代理中进行的任何实质性的内容过滤。例如,处理器(Handler)对请求/回应能够执行的便是发起会话、打开文件、关闭文件、读取文件、写入文件与关闭文件的操作。所有其它不使用代理的请求与回应将安然通过服务器/用户端。
需要说明的是,在本实施例中远程用户端115与本地用户端120在共享存储的本地文件时可以相互作为服务器。
图2所示是网络网关各功能性模块与用户端210和服务器220之间的相互作用示意图。在本实施例中,只有一个用户端,如用户端210;一个服务器,如服务器220;与网络网关200相互通信作用,如图所示。应该注意的是,可以有很多本地和/或远程用户端与服务器可通过网络网关200相互连接通信,以及相互之间直接进行通信。
根据本实施例,网络网关200,可以是一个虚拟或物理的设备,具有三个相互作用的功能模块,包括SMB/CIFS代理、文件缓冲器240以及内容处理器250。在一实施例中,SMB/CIFS代理230是透明代理,向处理器(Handler)提供与内容过滤活动有关SMB/CIFS请求/回应,并允许与内容过滤活动无关SMB/CIFS请求/回应通过。
根据以下所述的详细信息,该文件缓冲器240将保存一份用户端210与服务器220之间从共享资源221读取与写入的文件数据拷贝,以便能够执行内容过滤操作。
根据本发明的一实施例,内容处理器250对文件缓冲器240中存储的数据执行内容过滤操作。内容处理器250可以预先监控文件缓冲器240,以判断适时执行内容过滤操作,内容过滤操作可以定期发起或作为外部事件(例如,文件缓冲器和/或SMB/CIFS代理230发起的请求)的响应而执行。在本实施例中,内容处理器250包括一个反病毒(AV:antivirus)过滤器251与一个或多个其他过滤器252。该AV过滤器251可以应用当前或未来的病毒检测方法,例如扫描、完整性查看、侦听、启发式扫描以及类似方法,以判断在扫描的数据中是否含有恶意代码。一个或多个其他过滤器252可以执行文件名模式屏蔽、机密信息控制及类似操作。在本发明的一个实施例中,内容过滤器250是一个由Fortinet公司(Sunnyvale,CA)开发的集成FortiASICTM内容处理器芯片。或在另一实施例中,内容处理器250可以是一个专门的协助处理机或软件,协助从主处理机转移内容处理任务。
在当前实施例中,SMB/CIFS代理230、文件缓冲器240与内容处理器250均集成在相同的网络设备中或作为设备的一部分,在其他实施例中,一个或多个SMB/CIFS代理230、文件缓冲器240与内容处理器250可以安置在距离与其他功能设备较远的地点。根据本发明的一实施例,执行SMB/CIFS代理230、文件缓冲器240与内容处理器250功能的硬件装置或软件通常被安置在或被分散在一个或多个网络(Internet)和/或网络设备可访问的LAN中,如一个或多个网络网关、防火墙、网络安全设备、交换机、桥接设备、路由器、数据存储设备、计算机设备以及类似装置设备。在一实施例中,独立的功能设备所提供的功能性可以各种形式结合。例如,文件缓冲器240可以集成在SMB/CIFS代理230中或SMB/CIFS代理230集成在内容处理器250中。
以上说明是为了能够阐述在SMB/CIFS协议序列下应用本发明的各种实施例,这样的说明并不限制本发明的发明范围,而且所述的方法同样适用于远程文件系统访问协议。
图3所示为根据本发明的实施例,所使用的计算机系统。该计算机系统300可以是执行一个或多个SMB/CIFS代理230、文件缓冲器240与内容处理器250功能的网络网关、防火墙、网络安全设备、交换机、桥接设备、路由器、数据存储设备、服务器和/或其他网络设备或这些设备的一部分。根据图3所示,计算机系统300包括一个或多个处理器305,一个或多个通信接口310,主内存315、只读存储320、大容量存储器325,总线330,以及可以动存储介质340。
处理器305可以是英特尔IntelItaniumor Itanium 2处理器,AMDOpteron或Athlon MP处理器或本领域熟悉的其他处理机。
通信接口310可以是物理和/或逻辑接口。例如,通信接口可以是与基于调制解调器的拨号连接的任何RS-232接口、10/100以太网接口、或铜或光纤的千兆接口。通信接口310也可以根据计算机系统300连接的网络如局域网(LAN)或广域网(WAN)进行选择。
通信接口310也可以是以逻辑连接(如传输控制协议(TCP:TransmissionControl Protocol)或用户数据报协议(UDP:Universal Datagram Protocol))结尾命名。例如,通信协议可以是由互联网地址指派机构(IANA:Internet AssignedNumbers Authority)根据特殊用途指派的以下公知的端口之一,如UDP接口137或138,TCP接口139(用于NETBIOS会话服务-(基于TCP/IP的NetBIOS)),TCP接口445  (基于TCP/IP的SMB)与TCP接口80(用于HTTP服务)。
主内存315可以是随机存储内存(RAM:Random Access Memory)或公知的任何其他动态存储设备。
只读存储器320可以是任何静态存储装置例如用于存储静态信息如处理器305的指令的可编程只读存储器(PROM)芯片。
大容量存储器325可以用来存储信息与指令。例如,硬盘如Adaptec系列的SCSI驱动器、光盘、磁盘阵列如RAID,如Adaptec系列的RAID驱动,或任何其他可以使用的大容量存储装置。
总线330是处理器305与其他内存,存储以及通信模块之间的通信连结。总线330可以是根据所使用的存储装置基于PCI/PCI-X或SCSI的系统总线。
移动存储介质340可以是任何种类的外部硬驱动,软盘,IOMEGA压缩驱动,压缩磁盘-只读存储器(CD-ROM),压缩磁盘-可写存储器(CD-RW),数字录像磁盘-只读存储器(DVD-ROM),可重写式DVD以及类似存储介质。
图4所示是根据本发明的实施例,文件缓冲器所使用的各种数据架构的示意图。文件缓冲器,例如文件缓冲器240,包括一个文件映射表410,一个保持缓冲区数据列表420与一个或多个保持缓冲区430、440与450。每个数据结构可以存储在非连续性存储器或连续性存储器(例如,硬盘驱动或内存卡)、共享内存、分配内存或静态内存中。
在一个服务器上,每个文件分布在一个精确的树型结构中,也就是共享资源中。在发起一个远程文件系统访问协议会话时,用户可以从共享资源中选择一个文件。根据SMB/CIFS协议组,该服务器在该会话过程中对该共享资源分配一个能够识别该共享资源的特殊标识符,称为树ID(TID)。注意,虽然是访问的同一个共享资源,每个单独会话的TID可以是不同的。
根据本发明的一实施例,文件映射表410将一共享资源的同一文件的引用(Reference)通过保持缓冲数据列表420中映射到对应该文件的保持缓冲区或多个保持缓冲区中(例如,保持缓冲区430、440和/或450)。在本实施例中,文件映射表410包括在远程文件系统访问协议会话过程中由每台服务器返回的每个FID的一文件映射表条目413。文件映射列表条目413也包括一个与保持缓冲数据列表420中的保持缓冲区数据列表条目423相对应的指针,该保持缓冲区数据列表条目423包含一个引用计数(Reference Count)421与一个对应打开文件的指向保持缓冲区的保持缓冲区指针422。在本实施例中,每个保持缓冲区数据列表条目423对应一个单独的保持缓冲区,亦或者在其他实施例中保持缓冲数据列表条目423可以对应多个保持缓冲。
根据远程文件系统访问协议,在单个会话中,多个程序和/或同一程序中的多个线程可以使用相同的会话连接对相同或不同的文件发出请求。在SMB/CIFS协议组件中,一个文件名称可以是文件路径与TID相结合的唯一性的标识。该信息可以保存在一个特殊列表中,如文件映射表410,以识别一打开的文件并保存该文件对应的FID。一旦文件是打开的,一个程序的多个线程可以使用相同的FID对该文件进行操作。但是,每次开启一个文件,一个新的FID将被返回。根据详细的执行程序,FID可以包括数字、字符串、二进制数字字符串或其他数据类型。
在SIM/CIFS协议组中,每个程序在SMB包头中标识为一个程序ID(ProcessID)(没有示出)。程序中一个线程使用复合ID(Multiplex ID)(没有示出)标识。这样的话,管理许多被访问的文件以及访问文件中多个线程的状态便比较复杂。而且,一多个程序和/或一个程序中的多个线程可以同时访问相同的文件,并可能是在该文件的不同区域。如果对每个线程均分配缓存区,那么网络网关200将快速耗尽内存,且每个缓冲可能只被会话局部占满,那么将无法应用扫描(假设扫描是因为缓冲器存储满而被触发的)。因此,根据本发明的一个实施例,单独保持缓冲区的概念是在一个会话过程中将相同文件的所有引用映射到相同保持缓冲区中。使用基于每个文件与每个会话的单独缓冲的优势在于,每个程序和/或线程将对应同一个缓冲区并在访问过程中占用缓冲区的部份空间。这样不仅节省了内存且使缓冲区能够快速充满缓冲区并进行扫描。在其他实施例中,跨会话的同一文件的引用也可以映射到在一打开文件内或会话外使用的一个常规保持缓冲区或多个缓冲区中。
在图4中,已修改的保持缓冲区430、440与450的分区以阴影部分示出,没有被修改的分区以无阴影表示。在一个实施例中,该保持缓存区与打开文件的大小相对应,保持缓冲区中被修改的分区表示用户从服务器中读取,或写入到服务器中的数据部分。
图5所示是常规的远程文件系统访问协议会话操作简化说明的流程图。在流程505中,用户端程序发起一个到服务器的连接,并发布一个通信协商请求指令。通信协商请求用户指令是用来判断服务器的容量并决定各种设置,如错误代码格式、文件名称路径格式(统一的字符标准,长文件名支持等)以及各种其他选项。根据SMB/CIFS协议组,在两台设备利用SMB开始通信会话之前,需要协商使用的CIFS语言。SMB_COM_NEGOTIATE用户指令是用户端发给服务器的第一个信息。该用户指令包括用户端所支持的SMB语言列表信息。作为对协议请求指令的响应,在流程510中,服务器将有关服务器自身的容量、错误代码格式与文件名称路径格式信息返回到用户端。当连接请求被接受时,服务器的回应表示用户端应该使用的SMB语言。
在流程515中,用户端程序发出一个树连接指令,该命令包括在SMB/CIFS协议的数据中,含有用户端需要访问的共享资源的名称。在流程520中,服务器打开共享资源并且如果文件成功打开后将向用户端在SMB包头中提供一个TID,用户端可以使用TID与有关该共享资源的后续请求进行连接。
在流程525中,用户端程序发布一个打开指令(例如,相对于该TID,包含用户端需要打开文件的名称的SMB_COM_OPEN用户指令)。流程530中,服务器试图打开被请求的文件待成功打开该文件将向用户端返回该文件的大小以及一个FID,用户端在对该文件的进行后续操作时需提供该FID。
在流程535中,用户端程序发布读取和/或写入指令。根据SMB/CIFS协议,SMB_COM_READ用户端指令包括TID、FID、文件偏移值以及读取文件的字节数。同样,SMB_COM_WRITE用户端指令包括TID、FID、文件偏移值、数据块的大小(一些情况下)以及写入的数据。在540中,服务器从被访问的资源文件中返回指定偏移量的文件或将指定偏移量的文件写入被确定的文件中。
在流程545中,用户端程序发布一个关闭指令以关闭TID与FID表示的文件。550的操作流程中,服务器关闭该文件并返回一个关闭成功或错误代码到用户端。最后,在会话结束时,用户断开与TID命名的共享资源的连接(没有示出)。例如,在SMB/CIFS协议传输情况下,断开连接可以表示为用户端发布一个SMB_COM_TREE_DISCONNECT指令。
图6所示,为根据本发明的实施例,逻辑上置于在用户端与服务器之间的SMB/CIFS代理执行的远程文件系统访问协议检测处理的流程图。概念上,透明SMB\CIFS代理可以放置在图5中垂直虚线所示的位置。同样的,该SMB/CIFS代理相对用户端501来讲可以作为一个服务器,相对服务器502来讲可以作为一个用户端。
根据本发明的一个实施例,远程文件系统访问协议代理与网络网关连接,截取用户端远程文件系统访问协议请求与服务器远程文件系统访问协议回应。在一个实施例中,处理器(Handler)只需要执行一套请求与回应的子集,且因为远程文件系统访问协议代理可以使透明代理,只有部分请求与回应涉及内容过滤的操作。例如,在SMB/CIFS协议组中,操作员对有关请求与回应要做的只是发起一个会话(例如,SMB_COM_NEGOTIATE和/或SMB_COM_SESSION_SETUP_ANDX),打开一个文件(例如,SMB_COM_OPEN),读取文件(例如SMB_COM_READ),写入文件(例如SMB_COM_WRITE)与关闭文件(例如SMB_COM_CLOSE)。其他不使用代理的请求/回应将原封通过到达服务器/用户端。
远程文件系统访问协议请求/回应被截取后,在判断流程605中,远程文件系统访问协议根据远程文件系统访问协议命令或接收到的回应的类型做出判断是否执行扫描操作。如果远程文件系统访问协议请求/回应是来自服务器的通信协商回应,那么接着进行到610操作流程。如果请求/回应是从用户端接收的打开回应,那么进行操作流程615。如果请求/回应是从服务器得到的读取回应或从用户端接收到的写入请求,操作将执行流程640。在本发明一个实施例中,对于所有的其他请求与回应执行流程630,在不做任何更改的情况下到达服务器或用户端。
在流程610,被截取的远程文件系统访问协议请求/回应被判断为从服务器发送到用户端的通信协商回应。根据本发明一实施例,协议生成的该错误代码格式并将在该回应中返回到用户端,协商错误代码格式被存储起来以在后续进行的修改回应中使用。操作流程610完成后,继续流程630。
在流程615,被截取的远程文件系统访问协议请求/回应被判断为从服务器发送到用户端的打开回应。如果之前发布到开放回应的请求在服务器上反应是成功的,服务器将对用户端返回一个FID以及该打开文件大小的信息。根据本实施例,一旦接收到打开回应,新的文件映射列表条目413将被插入到文件映射表410与FID411,并同时将数据列表指针412初始化。根据本实施例,将对FID创建一个特殊映射发送到保持缓冲区。需要注意的是,一些操作可以同时打开相同的文件并获得不同的FID,但是根据本发明的各种实施例,这些不同的FID将被映射到同一个保持缓冲区内。
在流程620中,判断保持缓冲区内是否已存在打开的文件。如果不存在,将继续流程625。如果缓存中存在已经打开的文件,操作将继续流程635。
流程625中,创建一个保持缓冲区并初始化对应的保持缓冲区数据表条目423。根据本发明的一实施例,每个保持缓冲区数据列表条目423中包括一个引用计数421与保持缓冲区区指针422,引用计数421初始化到1且保持缓冲区指针422初始化到保持缓冲区的起始地址。流程625执行完毕后,继续流程630。
流程630中,使请求/回应通过并到达服务器/用户端。操作继续到流程605。
在流程635,之前已经对该文件创建了一个保持缓冲区。从而,在一个实施例中,在会话间对于每个打开的文件只使用一个单独的保持缓存,保持缓冲区的保持缓冲区数据列表条目423中的引用计数421与不断增加的保持缓存的容量相对应,以反映存有对文件的其他引用。
在流程640,被截取的远程文件系统访问协议请求/回应被判断为从服务器发送到用户端的读取回应,或是用户端写入服务器的写入请求。根据本实施例,被截取的数据(例如,服务器返回的针对用户端的读取请求的回应,或是用户端写入服务器中的指定文件的数据)将以适当的偏移值被写入到对应的保持缓冲区内(例如,保持缓冲区430、440与450)。根据本实施例,每个保持缓冲区(例如,保持缓存区430、440与450)拥有一个空闲指针(例如空闲指针730)以及使用率列表(例如使用率列表710)以便能够有效地判断保持缓冲区的存储程度。空闲指针与使用率列表对保持缓冲区写入数据的回应更新将在下文进行叙述。
在流程645,判断是否能够发起对保持缓冲区(例如,保持缓冲区430、440与450)进行扫描的一项或多项规则。在一个实施例中,所述规则包括保持缓冲区已经被各种用户端程序访问该文件的读取与写入的请求全部占用。在另一个实施例中,对保持缓冲区中未被修改的分区进行查看以判断该保持缓冲区的存储情况。亦或者,可以执行如图7所示的有效的存储饱和度测试。
根据本发明的一实施例,触发内容检测的其他条件包括表示数据被附加在文件末尾的写入请求。实践证明在文件后附加数据是常见的文件感染型病毒的表象。对现存的文件感染型病毒的各种形式进行的试验显示当文件感染型病毒试图将病毒传播到共享资源时,在多数情况下,先要读取文件的报头并进行一些更改,然后将自己附在该文件末尾。鉴于这样的病毒首先获取报头并进行更改的情况,可在保持缓冲区中获取报头信息以及试图附加的数据进行内容过滤。缓冲区中剩余部分与检测病毒无关。那么,在检测到这样的用户端发布的每个附件写入行为操作时能够对写入附件有关的数据执行内容过滤。
可以使用各种触发内容过滤的条件,例如检测到文件感染型病毒其他常见的表象。在一些实施例中,不管保持缓冲区的存储空间是否已满都会进行定期的扫描。在任何情况下,如果满足一项或多项扫描规则,那么操作将继续进行流程650;否则,继续进行流程630。
在流程650,扫描保持缓冲区。如前文所示,内容扫描或内容过滤可以包括使用一项或多项过滤机制对保持缓冲区进行恶意代码、危险或/和未授权的内容进行检测。内容过滤机制可以包括但不局限于恶意软件的扫描、文件名称模式屏蔽或机密信息的控制等。
在流程655,判断危险或未授权内容是否存在。如果在检测中发现上述内容,将执行流程660中的操作。如果没有检测到任何危险或未授权的内容,将继续到流程630。
流程660中,危险或未授权的内容已从文件中读取或写入文件。因此,对该文件的后续访问将被屏蔽并通过修改服务器的回应返回一个适当的错误代码。操作将进行流程605。
如果检测到一文件被感染,那么部分文件将分别被用户端读取或写入服务器。根据本发明的一实施例,第二个保持缓冲区,例如阴影缓冲区(没有示出)只记录从服务器读取的数据,该数据可以用于说明可能的文件感染情况。阴影缓冲区可以有自己的使用率列表,该缓冲区逻辑上链接到主保持缓冲区。如果一个病毒,例如,读取了一文件的报头,最初的读取数据将被同时存储在保持缓冲区与阴影缓冲区中,在当病毒试图修改报头并将其重新写入到服务器时;只有保持缓冲区包含修改后的报头,阴影缓存中将保持原来的未修改的报头。当病毒将其附在文件后并最终被发现,附加的数据只能被添加到保持缓冲区而不会添加到阴影缓冲区中。那么,在一些实施例中,阴影缓冲区保存的干净版本可以用来恢复服务器中的原文件。假设病毒写手开始对阴影缓存机制采取应对操作,例如,如果病毒先采取读取并写入,之后在重新读取同一文件模块,那么一种解决措施可以为只将第一次从给定文件模块的读取存储在阴影缓存中。
在一个实施例中,通过使用在会话协商过程中获取的有关错误代码格式的信息,可以重新创建一个回应,其中包含了拒绝用户访问文件的错误代码。或者/而且,返回的该错误代码可以触发一些用户端程序中的其他动作,例如关闭文件和/或本地内容扫描操作。同时,服务器可以包含被病毒修改的片断文件,这些文件不可能被打开或执行。但是,该片断文件可能被安装在服务器中的反病毒软件检测到。在接收到对于读取与写入请求进行响应的错误代码后,用户端将选择关闭该文件。需要说明的是,由于指令链的一个或多个先前指令可能会被继承但是后续的指令会失败,因此执行SMB ANDX命令链连接时需要多加注意。指令链的结构应该仍然被保存并对用户端做出回应,以防止兼容性的问题。
在流程665中,被截取的远程文件系统访问协议请求/回应被判断为是用户端发布到服务器的关闭请求。根据所述的实施例,这样的操作将使文件映射列表条目413之一从文件映射表410中删除。
在流程670中,在相应的保存缓冲区数据列表条目423中的引用计数421将逐步递减以对应说明对文件采取的较少的操作。
在判断流程675中,判断对当前的文件没有进行引用。如果保持缓存中的引用是零,那么继续流程680的操作;如果保持缓冲区中还存在引用,将转到流程630。
如果保持缓冲区中的引用为零时,保持缓冲区便可以删除了。但在本实施例中,保持缓冲区在流程680中只被标记为“可以被删除”。一个不同步的清除操作可以删除保持缓存,如果保持缓存在最后关闭之后的很短时间内被再次访问的话,那么保持缓存便有机会重新建立。例如,当一个用户在共享资源中编辑文件时,通常所编辑的整个文件将在用户计算机读取后关闭,紧接着再打开进行写入操作。
需要注意的是,为了明晰并简化本发明实施例的说明,以上叙述忽略了有关SMB特性、指令链的说明。在有关SMB的操作中,一些指令能够在同一个请求中链接起来。例如,打开文件与读取文件这两个指令。这类型的指令称为ANDX指令。本文所述的实施例中有关代理的操作很难使用流程图说明,但是为了能够正确的说明,本实施例中将根据这些指令链执行代理操作并按照指令中的任何数据与信息进行操作。
图7A到图7D是一保持缓冲区与一个对应的空闲指针(Free Pointer)以及用于判断是否保存缓冲区的容量已满的使用率表格的各个状态的示意图。
各种远程文件系统访问协议,如SMB,可能会导致一些操作困难。例如,SMB协议是允许以任何的偏移量读取或写入文件,那么就无法保证在一个固定的时间保持缓冲区内的整个文件是可用于配合内容处理。这样的结果,根据本实施例,需要使用一种能够快速有效的表示保持缓冲区是否已经存储满的跟踪机制。
根据本发明的一实施例,完整的跟踪方法包括使用一个专门的使用率列表710与一个称为空闲指针的指针730。使用率列表710可以是一个较小的缓冲器,例如是正常缓冲区720的八分之一的片断缓冲器,使用率列表710中的每个比特711代表多个比特的数量,例如保持缓冲区720中的一个字节721。实际保持缓冲区720中的一字节被修改后,对应的在使用率列表710中便显示缓冲区中被修改的部分。
在一个实施例中,通过一些指示性的方法(例如,全零)将使用率列表初始化来判断保持缓冲区中对应的数据块是否从服务器读取或写入服务器中。保持缓冲区可以在创建时通过例如全部被初始化为零、一个重复的字符或任意的字符的方式被初始化。根据本实施例,对应的数据模块,如字节,在保持缓冲区中已被修改,在使用率列表中将以已设定的对应几个比特表示,对应没有修改的部分将在使用率列表保持其之前的状态。这样可以保证读取到保持缓冲区中的数据与其初始状态的数据是相同的数据,例如初始为0的保持缓冲区读取到一零数据块;但是,对零数据块的读取将在使用率列表中以设定对应的比特再现。同一个数据块或一数据块的同一部分可能被重复读取或写入,但是由于使用率列表中的这部分数据已被修改,所以并不影响使用率列表的状态。
在图7A到图7D,使用率列表中的比特711设置为零,表示保持缓冲区720中对应的字节721是未被修改的(例如,表示该文件的该字节没有被用户端读取或还没有写入)。保持缓冲区720中未修改的数据以非阴影表示,已经修改的数据用阴影来表示。
图7A所示为使用率列表710、空闲指针730以及保持缓存720处于数据被读取或写入相关的文件之前的初始状态。如图7A所示空闲指针730初始指向在使用率列表710的起始位置。
如图7B所示,保持缓冲区720中的前64字节都已经被修改,当一个字节(使用率列表710中的8个比特代表实际保持缓冲区中的8字节)存储满后,空闲指针730就跳到下一个比特。在保持缓冲区720还没有存储满的时候(如图7A至图7C所示),空闲指针730将总是指向使用率列表710中首个还没有存储满的字节在的位置。
应该注意的是,如图7C所示,保持缓冲区720中除了空闲指针730,同时也可以偏移量保存文件,但是空闲指针730不会移动,直到当前的位置被存储满。在本实施例中,只要保持缓冲区720没有存储满,空闲指针730将始终指向在使用率列表710中最近的未被修改的数据块上。
如图7D所示,如果空闲指针730已经递进至超出使用率列表710(例如设置为零)的末尾,那么整个保持缓冲区720已经在此刻存储满可以对其存储内容进行安全的操作。该跟踪机制,不需要对文件中的每个空闲的区块进行跟踪(和/或搜索)从而降低了操作进行的难度同时增加了运行的效率。
在本发明的其他实施例中,不需要使用空闲指针730,取而代之的是对使用率列表711进行逻辑与以判定保持缓冲区中是否存在任何未修改的分区。一些实施例中,可以使用多个指针跟踪一保持缓冲区中空闲或已经存储满的区域。
根据图7A至图7D所示,使用率列表的要素可以由与保持缓冲区中一个比特对应一个字节组成;使用率列表的要素还可以是包括一个或多个比特、一个或多个字节、以及一个或多个数字或字符串。更进一步,每个使用率列表的要素可以对应保持缓冲区中的一个或多个比特、或一个或多个字节。总而言之,使用率列表中一个比特对应保持缓冲区中n个字节。例如,使用率列表中1比特可以表示一个4字节无符号长整形值(32比特)或一个超长整形值(64比特)或更多。使用率列表中每个比特表示的保持缓冲区中的数据越多,使用率列表就越小;但是,为了优化操作速度,对使用率列表的操作尽可能将数据排列在数据块边界以便能够应用位掩码。最理想的速度应该在32比特处理机中一个使用率列表中1比特对应一个小于或等于保持缓冲区中4字节,或是64比特处理机中一个使用率列表中1比特对应一个小于或等于保持缓冲区中8字节。
虽然本文中提出并描述了一些特殊的实施例。但应该理解的是这些特殊的实施例仅作为示例提出,并不作为对本发明的限制。本发明还可有其他多种实施例,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。

Claims (53)

1.一种对使用远程文件系统访问协议的数据进行内容过滤的方法,其特征在于,包括:
在逻辑上置于一用户端与一服务器之间的一网络网关处接收从该用户端发送的一远程文件访问协议请求;
该网络网关以该用户端的名义发布远程文件系统访问协议请求到该服务器;
该网络网关将与该服务器一共享资源有关的被读取或写入一文件的网关数据缓存到一个保持缓冲区内;并
作为对与远程文件系统访问协议或该保持缓冲区有关的一预先设定的事件做出的响应,该网络网关通过对该保持缓冲区中存储的数据执行内容过滤来判断该保持缓冲区是否存在恶意程序、危险或未授权的内容。
2.根据权利要求1所述的方法,其特征在于,所述远程文件系统访问协议包括服务器信息块协议或通用网际文件系统。
3.根据权利要求2所述的方法,其特征在于,所述网络网关包括一个透明代理,向处理器提供了该远程文件系统访问协议的一套指令子集。
4.根据权利要求3所述的方法,其特征在于,所述保持缓冲区设置在该网络网关的一非持续性存储器中。
5.根据权利要求3所述的方法,其特征在于,所述保持缓冲区存储在该网络网关的一共享内存中,并可以被该网络网关中运行的多个程序所访问。
6.根据权利要求3所述的方法,其特征在于,所述保持缓冲区是设置在该网络网关分配内存中,与该网络网关中运行的一具体程序有关。
7.根据权利要求3所述的方法,其特征在于,还进一步包括,该透明代理通过一包含文件标识符的引用列表来跟踪保持缓冲区中的引用。
8.根据权利要求3所述的方法,其特征在于,进一步包括,该透明代理中通过一使用率列表跟踪该保持缓冲区使用与修改的情况。
9.根据权利要求8所述的方法,其特征在于,所述使用率列表包含能够表示该保持缓冲区存储空间的信息。
10.根据权利要求9所述的方法,其特征在于,所述预先判断的事件包括判断该保持缓冲区已经充满。
11.根据权利要求3所述的方法,其特征在于,所述预先判断的事件包括判断一用户端正在试图在该文件上附加数据的操作。
12.一种对使用远程文件系统访问协议的数据进行内容过滤的方法,其特征在于,包括:
通过一连接于一网络设备的逻辑上部署在一用户端与一服务器之间的代理截取从一用户端发送的一SMB/CIFS协议请求;
该代理以该用户端的名义对该服务器发布远程文件系统访问协议;
该代理将与服务器一共享资源有关的被读取或写入一文件的网关数据缓存到一个文件缓冲区内;
作为对与SMB/CIFS协议或该文件缓冲区有关的一预先设定的事件做出的响应,该代理通过对缓存中存储的数据执行内容过滤来判断该文件缓冲区是否存在恶意程序、危险或未授权的内容。
13.根据权利要求12所述的方法,其特征在于,所述网络设备包括一网关设备。
14.根据权利要求12所述的方法,其特征在于,所述代理包括一个透明代理,仅对处理器提供SMB/CIFS协议的一套指令子集。
15.根据权利要求12所述的方法,其特征在于,所述文件缓冲区包括对该共享资源中每个打开文件设置的多个保持缓冲区。
16.根据权利要求12所述的方法,其特征在于,所述文件缓冲区包括针对该共享资源中每个打开文件的一个单独的保持缓冲区。
17.根据权利要求12所述的方法,其特征在于,所述文件缓冲区是设置在该网络设备的非持续性存储器中。
18.根据权利要求16所述的方法,其特征在于,所述单独的保持缓冲区设置在该网络设备的一共享内存中,可以被运行在该网络设备的多个程序访问。
19.根据权利要求16所述的方法,其特征在于,该方法还进一步包括,该代理通过维护包含文件标识符的引用列表来跟踪该单独保持缓冲区中的引用。
20.根据权利要求19所述的方法,其特征在于,该方法还进一步包括,该代理应用一使用率列表跟踪该单独保持缓冲区使用与修改的情况。
21.根据权利要求20所述的方法,其特征在于,所述使用率列表包含能够表示该单独保持缓冲区存储空间的信息。
22.根据权利要求12所述的方法,其特征在于,所述预先设定的事件包括判断该单独保持缓冲区已经存储满。
23.根据权利要求12所述的方法,其特征在于,所述预先设定的事件包括检测到文件感染型病毒的一项或多项常见行为。
24.根据权利要求23所述的方法,其特征在于,所述的文件感染型病毒的一项或多项常见行为包括试图在文件末尾附加数据。
25.一种对使用远程文件系统访问协议的数据进行内容过滤的网络设备,其特征在于,该网络设备包括:
一内容处理器,提供一项或多项过滤器可检测所扫描的数据是否含有恶意代码;
一远程文件系统访问协议代理,与该内容处理器连接,逻辑上部署在一用户端与一服务器之间,使通过一远程文件系统访问协议的在该用户端与该服务器之间传输的数据能够由内容处理器进行内容过滤操作并对检测到的预先设定的事件做出响应;以及
一包含多个文件缓冲数据结构的内存,该文件缓冲数据结构可缓冲与该服务器中一共享资源有关的读取或写入多个文件的数据并可在远程文件系统访问协议会话过程中将该多个文件中的每个文件的引用映射到与上述每个文件对应的一个单独的保持缓冲区中。
26.根据权利要求25所述的网络设备,其特征在于,所述远程文件系统访问协议包括服务器信息块协议或通用网际文件系统协议。
27.根据权利要求25所述的网络设备,其特征在于,所述网络设备包括一网络网关。
28.根据权利要求25所述的网络设备,其特征在于,所述远程文件系统访问协议代理包括一透明代理。
29.根据权利要求25所述的网络设备,其特征在于,所述内存是一共享内存,可以被运行于该网络设备的多个程序访问。
30.根据权利要求25所述的网络设备,其特征在于,所述文件缓冲数据结构包括对应一单独保持缓冲区的一使用率列表,以便跟踪每个单独保持缓冲区的使用以及修改情况。
31.根据权利要求30所述的网络设备,其特征在于,所述每个使用率列表包括表示与每个单独保持缓冲区中空闲分区与存储满分区的条目。
32.根据权利要求25所述的网络设备,其特征在于,所述预先设定的事件包括判断一个或多个该单独保持缓冲区已经存储满。
33.根据权利要求25所述的网络设备,其特征在于,所述预先设定的事件包括该远程文件系统访问协议代理检测到文件感染型病毒的一项或多项常见行为。
34.根据权利要求33所述的网络设备,其特征在于,所述文件感染型病毒的一项或多项常见表象或行为包括试图对很多文件中的一个文件附加数据。
35.一种对使用远程文件系统访问协议的数据进行内容过滤的方法,其特征在于,包括:
在一网络设备上接收一建立网络会话的请求,该请求以一源网络地址、一目标网络地址以及一远程文件系统访问协议为特征;
通过在与该网络设备连接的在逻辑上置于用户端与服务器之间的一代理上进行截取操作收集与该网络会话有关的数据,该代理从该用户端获取一远程文件系统访问协议请求,或从该服务器得到一远程文件系统访问协议回应;
该代理以该用户端的名义发送远程文件系统访问协议请求到该服务器,或将以该服务器的名义将对远程文件系统访问协议请求做出的回应发送到该用户端;并对收集到的数据执行内容过滤的操作。
36.根据权利要求35所述的方法,其特征在于,所述网络设备包括一网关。
37.根据权利要求35所述的方法,其特征在于,所述远程文件系统访问协议包括服务器信息块协议/通用网际文件系统。
38.根据权利要求35所述的方法,其特征在于,所述代理,向处理器提供了该远程文件系统访问协议的一套或全部指令子集。
39.根据权利要求35所述的方法,其特征在于,所述保持缓冲区用于存储上述收集到的数据。
40.一种对使用远程文件系统访问协议的数据进行内容过滤的方法,其特征在于,包括:
一个或多个计算机可读介质,容纳多个保持缓冲区、一保持缓冲区数据列表、一文件映射表以及一使用率列表,该保持缓冲区用于存储从一远程文件系统访问协议收集到的数据,该使用率列表与上述多个保持缓冲区的每一个相对应;
在该保持缓冲区数据列表内跟踪该多个保持缓冲区的每个保持缓冲区的引用;
通过该文件映射表将一常规文件的引用映射到上述多个保存缓冲区的一个常规缓冲区中的;
利用与该多个保持缓冲区的每个保持缓冲区相对应的使用率列表跟踪该多个保持缓冲区的已修改与未修改的分区;
对与该多个保持缓冲区中的一个有关的一预先设定的事件做出响应,通过对该保持缓冲区执行内容过滤以判断该保持缓冲区中是否存在恶意代码、危险或未授权的内容。
41.根据权利要求40所述的方法,其特征在于,所述一项或多项计算机可读介质包括非持续性存储器,例如随机存取存储器。
42.根据权利要求40所述的方法,其特征在于,所述一项或多项计算机可读介质包括持续性存储器,例如硬盘、闪存或其他非易失性存储器。
43.根据权利要求41所述的方法,其特征在于,所述非持续性存储器包括能够被运行在该网络设备中的多个程序访问的共享内存。
44.根据权利要求40所述的方法,其特征在于,所述文件映射表的要素包含文件标识符。
45.根据权利要求44所述的方法,其特征在于,所述文件标识符由一数字、一字符型字符串或二进制的序列组成。
46.根据权利要求40所述的方法,其特征在于,所述文件映射列表的要素包含对应多个保持缓冲区中的一个或多个的引用。
47.根据权利要求40所述的方法,其特征在于,所述保持缓冲区数据列表的要素包括对应多个保持缓冲区中的一个或多个的引用。
48.根据权利要求40所述的方法,其特征在于,所述保持缓存数据列表的要素包括对应多个保持缓冲区中的每一个的引用计数。
49.根据权利要求40所述的方法,其特征在于,所述使用率列表的要素由一个或多个比特、字节、数字或字符串组成。
50.根据权利要求49所述的方法,其特征在于,所述使用率列表的每一个要素对应于多个保持缓冲区中的相应缓冲区的一个或多个比特或字节。
51.根据权利要求49所述的方法,其特征在于,所述使用率列表的条目表示相应保持缓冲区的相应分区修改或未修改的状态。
52.根据权利要求40所述的方法,其特征在于,所述预先设定的事件包括判断该保持缓冲区被全部修改。
53.根据权利要求40所述的方法,其特征在于,所述预先设定的事件包括试图在该保持缓冲区附加数据。
CNA2008100854232A 2007-05-08 2008-03-14 对使用远程文件系统访问协议的数据进行内容过滤的方法与系统 Pending CN101252585A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/746,046 2007-05-08
US11/746,046 US8347373B2 (en) 2007-05-08 2007-05-08 Content filtering of remote file-system access protocols

Publications (1)

Publication Number Publication Date
CN101252585A true CN101252585A (zh) 2008-08-27

Family

ID=39955769

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2008100854232A Pending CN101252585A (zh) 2007-05-08 2008-03-14 对使用远程文件系统访问协议的数据进行内容过滤的方法与系统

Country Status (2)

Country Link
US (7) US8347373B2 (zh)
CN (1) CN101252585A (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101950335A (zh) * 2010-08-10 2011-01-19 江西省南城网信电子有限公司 一种使网络硬盘与外接设备进行安全连接的系统及方法
CN102006331A (zh) * 2010-11-29 2011-04-06 中国联合网络通信集团有限公司 媒体信息发送方法、终端及p2p系统
CN102035882A (zh) * 2010-11-29 2011-04-27 杭州思福迪信息技术有限公司 Ftp二次登陆系统及实现文件传输和过程监控的方法
CN102067146A (zh) * 2008-05-16 2011-05-18 赛门铁克公司 安全的应用程序流式传输
CN102185896A (zh) * 2011-04-14 2011-09-14 上海红神信息技术有限公司 面向云服务的远端文件请求感知装置及方法
CN102467622A (zh) * 2010-11-08 2012-05-23 腾讯科技(深圳)有限公司 一种监控已打开文件的方法及装置
US9116911B2 (en) 2010-11-02 2015-08-25 International Business Machines Corporation Remote file sharing based on content filtering
CN105610763A (zh) * 2014-10-31 2016-05-25 杭州迪普科技有限公司 协议识别方法及装置
CN107251005A (zh) * 2014-12-08 2017-10-13 安博科技有限公司 从远程网络区域进行内容检索的系统及方法
CN107332934A (zh) * 2017-08-17 2017-11-07 郑州云海信息技术有限公司 一种资源共享方法、服务端、客户端及资源共享系统
CN107409079A (zh) * 2015-01-28 2017-11-28 安博科技有限公司 用于全局虚拟网络的系统和方法
CN109074269A (zh) * 2016-07-08 2018-12-21 惠普发展公司,有限责任合伙企业 确定设备磨损率
CN110832487A (zh) * 2017-06-29 2020-02-21 惠普发展公司,有限责任合伙企业 经由代理应用进行的计算设备监视
CN111193717A (zh) * 2019-12-06 2020-05-22 上海上讯信息技术股份有限公司 Ftp黑白名单控制方法、装置及电子设备
CN111475171A (zh) * 2019-01-23 2020-07-31 阿里巴巴集团控股有限公司 应用程序组件下载方法、装置、电子设备
CN112019516A (zh) * 2020-08-03 2020-12-01 杭州迪普科技股份有限公司 一种共享文件的访问控制方法、装置、设备及存储介质
CN112860443A (zh) * 2021-04-23 2021-05-28 深圳华锐金融技术股份有限公司 文件数据分发方法、系统
CN113032829A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 多通道并发的文件权限管理方法、装置、服务器和介质
CN113407510A (zh) * 2021-06-22 2021-09-17 北京联创信安科技股份有限公司 一种数据共享系统

Families Citing this family (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8347373B2 (en) 2007-05-08 2013-01-01 Fortinet, Inc. Content filtering of remote file-system access protocols
US8381297B2 (en) 2005-12-13 2013-02-19 Yoggie Security Systems Ltd. System and method for providing network security to mobile devices
US20080276302A1 (en) 2005-12-13 2008-11-06 Yoggie Security Systems Ltd. System and Method for Providing Data and Device Security Between External and Host Devices
US8869270B2 (en) 2008-03-26 2014-10-21 Cupp Computing As System and method for implementing content and network security inside a chip
US8365272B2 (en) 2007-05-30 2013-01-29 Yoggie Security Systems Ltd. System and method for providing network and computer firewall protection with dynamic address isolation to a device
US7802071B2 (en) * 2007-07-16 2010-09-21 Voltaire Ltd. Device, system, and method of publishing information to multiple subscribers
US8560864B2 (en) * 2008-03-26 2013-10-15 Fego Precision Industrial Co., Ltd. Firewall for removable mass storage devices
US9100246B1 (en) * 2008-06-19 2015-08-04 Symantec Corporation Distributed application virtualization
US9219733B2 (en) * 2008-06-30 2015-12-22 Microsoft Technology Licensing, Llc Software-based aliasing for accessing multiple shared resources on a single remote host
US8631488B2 (en) 2008-08-04 2014-01-14 Cupp Computing As Systems and methods for providing security services during power management mode
US9405939B2 (en) * 2008-10-07 2016-08-02 Arm Limited Data processing on a non-volatile mass storage device
WO2010059864A1 (en) * 2008-11-19 2010-05-27 Yoggie Security Systems Ltd. Systems and methods for providing real time access monitoring of a removable media device
US8489685B2 (en) 2009-07-17 2013-07-16 Aryaka Networks, Inc. Application acceleration as a service system and method
US9092149B2 (en) 2010-11-03 2015-07-28 Microsoft Technology Licensing, Llc Virtualization and offload reads and writes
US9146765B2 (en) 2011-03-11 2015-09-29 Microsoft Technology Licensing, Llc Virtual disk storage techniques
FR2976430B1 (fr) * 2011-06-08 2013-05-31 Alcatel Lucent Controle de traitement d'un objet multimedia par une application logicielle
US20130041985A1 (en) * 2011-08-10 2013-02-14 Microsoft Corporation Token based file operations
US9817582B2 (en) 2012-01-09 2017-11-14 Microsoft Technology Licensing, Llc Offload read and write offload provider
US20130311566A1 (en) * 2012-05-18 2013-11-21 Andrew Milburn Method and apparatus for creating rule-based interaction of portable client devices at a live event
US10409982B2 (en) * 2012-07-18 2019-09-10 Zixcorp Systems, Inc. Secure data access for multi-purpose mobile devices
US20140101058A1 (en) * 2012-10-08 2014-04-10 Marc Castel System and method for providing consumer side maintenance
US9973501B2 (en) 2012-10-09 2018-05-15 Cupp Computing As Transaction security systems and methods
US9251201B2 (en) 2012-12-14 2016-02-02 Microsoft Technology Licensing, Llc Compatibly extending offload token size
US20140317228A1 (en) * 2013-04-19 2014-10-23 Cisco Technology, Inc. Integrate Application Intelligence with a Network Device for Application Transaction Visibility and Control
US9641614B2 (en) 2013-05-29 2017-05-02 Microsoft Technology Licensing, Llc Distributed storage defense in a cluster
US10404520B2 (en) * 2013-05-29 2019-09-03 Microsoft Technology Licensing, Llc Efficient programmatic memory access over network file access protocols
US11157976B2 (en) 2013-07-08 2021-10-26 Cupp Computing As Systems and methods for providing digital content marketplace security
US9537885B2 (en) 2013-12-02 2017-01-03 At&T Intellectual Property I, L.P. Secure browsing via a transparent network proxy
US9762614B2 (en) 2014-02-13 2017-09-12 Cupp Computing As Systems and methods for providing network security using a secure digital device
US10560542B2 (en) * 2014-09-15 2020-02-11 Ge Aviation Systems Llc Mechanism and method for communicating between a client and a server by accessing message data in a shared memory
US9692848B2 (en) 2014-09-24 2017-06-27 Zixcorp Systems, Inc. Preemptive loading of protected data for streaming mobile devices
US9537883B2 (en) * 2014-12-22 2017-01-03 International Business Machines Corporation Process security validation
KR101716690B1 (ko) * 2015-05-28 2017-03-15 삼성에스디에스 주식회사 데이터 무단 엑세스 차단 방법 및 그 기능이 구비된 컴퓨팅 장치
US20200287748A1 (en) * 2017-06-20 2020-09-10 Idexx Laboratories, Inc. System and Method For Retrieving Data From A Non-Networked, Remotely-Located Data Generating Device
US10567156B2 (en) 2017-11-30 2020-02-18 Bank Of America Corporation Blockchain-based unexpected data detection
US11196798B2 (en) * 2018-03-27 2021-12-07 Huawei Technologies Co., Ltd. Method for sharing data in local area network and electronic device
US10789200B2 (en) 2018-06-01 2020-09-29 Dell Products L.P. Server message block remote direct memory access persistent memory dialect
CN109062710B (zh) * 2018-07-19 2021-10-19 创新先进技术有限公司 一种远程过程调用方法、终端设备及网络设备
US11294865B2 (en) * 2018-08-13 2022-04-05 Citrix Systems, Inc. Using a scan data ledger for distributed security analysis of shared content
US11232205B2 (en) * 2019-04-23 2022-01-25 Microsoft Technology Licensing, Llc File storage service initiation of antivirus software locally installed on a user device
US11232206B2 (en) 2019-04-23 2022-01-25 Microsoft Technology Licensing, Llc Automated malware remediation and file restoration management
CN111103841A (zh) * 2019-12-31 2020-05-05 研祥智能科技股份有限公司 工业控制数据监控方法及系统
US20230062436A1 (en) * 2021-08-31 2023-03-02 EMC IP Holding Company LLC System and method for proxying io sessions to inject external processing

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5206939A (en) 1990-09-24 1993-04-27 Emc Corporation System and method for disk mapping and data retrieval
US6085234A (en) 1994-11-28 2000-07-04 Inca Technology, Inc. Remote file services network-infrastructure cache
US5802320A (en) 1995-05-18 1998-09-01 Sun Microsystems, Inc. System for packet filtering of data packets at a computer network interface
US5774660A (en) 1996-08-05 1998-06-30 Resonate, Inc. World-wide-web server with delayed resource-binding for resource-based load balancing on a distributed resource multi-node network
US6298386B1 (en) 1996-08-14 2001-10-02 Emc Corporation Network file server having a message collector queue for connection and connectionless oriented protocols
US5724373A (en) 1996-11-15 1998-03-03 Hewlett-Packard Company Microphotonic acousto-optic tunable laser
US6073178A (en) 1996-12-09 2000-06-06 Sun Microsystems, Inc. Method and apparatus for assignment of IP addresses
US6081875A (en) 1997-05-19 2000-06-27 Emc Corporation Apparatus and method for backup of a disk storage system
US5968176A (en) 1997-05-29 1999-10-19 3Com Corporation Multilayer firewall system
US6141749A (en) 1997-09-12 2000-10-31 Lucent Technologies Inc. Methods and apparatus for a computer network firewall with stateful packet filtering
US5950203A (en) 1997-12-31 1999-09-07 Mercury Computer Systems, Inc. Method and apparatus for high-speed access to and sharing of storage devices on a networked digital data processing system
US7133400B1 (en) 1998-08-07 2006-11-07 Intel Corporation System and method for filtering data
US6269431B1 (en) 1998-08-13 2001-07-31 Emc Corporation Virtual storage and block level direct access of secondary storage for recovery of backup data
US6400707B1 (en) 1998-08-27 2002-06-04 Bell Atlantic Network Services, Inc. Real time firewall security
US20020013911A1 (en) 1998-11-24 2002-01-31 Cordella Robert H. Compact hardware architecture for secure exchange of information and advanced computing
US6453354B1 (en) * 1999-03-03 2002-09-17 Emc Corporation File server system using connection-oriented protocol and sharing data sets among data movers
US7069432B1 (en) 2000-01-04 2006-06-27 Cisco Technology, Inc. System and method for providing security in a telecommunication network
WO2001053908A2 (en) 2000-01-18 2001-07-26 Telcordia Technologies, Inc. Method and systems for identifying the existence of one or more unknown programs in a system
US6496935B1 (en) 2000-03-02 2002-12-17 Check Point Software Technologies Ltd System, device and method for rapid packet filtering and processing
US6519703B1 (en) 2000-04-14 2003-02-11 James B. Joyce Methods and apparatus for heuristic firewall
US7047561B1 (en) 2000-09-28 2006-05-16 Nortel Networks Limited Firewall for real-time internet applications
US6985234B2 (en) 2001-01-30 2006-01-10 Thorlabs, Inc. Swept wavelength meter
US6570894B2 (en) 2001-01-30 2003-05-27 Tektronix, Inc. Real-time wavelength calibration for swept lasers
US7143347B2 (en) 2001-02-02 2006-11-28 Opentv, Inc. Method and apparatus for reformatting of content for display on interactive television
US7002974B1 (en) 2001-03-28 2006-02-21 Netrake Corporation Learning state machine for use in internet protocol networks
US6957258B2 (en) 2001-03-28 2005-10-18 Netrake Corporation Policy gateway
US7640434B2 (en) * 2001-05-31 2009-12-29 Trend Micro, Inc. Identification of undesirable content in responses sent in reply to a user request for content
US6957219B1 (en) * 2001-11-15 2005-10-18 Microsoft Corporation System and method of pipeline data access to remote data
US7150042B2 (en) * 2001-12-06 2006-12-12 Mcafee, Inc. Techniques for performing malware scanning of files stored within a file storage device of a computer network
US9392002B2 (en) * 2002-01-31 2016-07-12 Nokia Technologies Oy System and method of providing virus protection at a gateway
EP1476815B1 (en) 2002-02-11 2014-10-15 Polycom, Inc. System and method for videoconferencing across a firewall
US7668841B2 (en) * 2003-03-10 2010-02-23 Brocade Communication Systems, Inc. Virtual write buffers for accelerated memory and storage access
US8347373B2 (en) 2007-05-08 2013-01-01 Fortinet, Inc. Content filtering of remote file-system access protocols

Cited By (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102067146A (zh) * 2008-05-16 2011-05-18 赛门铁克公司 安全的应用程序流式传输
CN101950335A (zh) * 2010-08-10 2011-01-19 江西省南城网信电子有限公司 一种使网络硬盘与外接设备进行安全连接的系统及方法
US9116911B2 (en) 2010-11-02 2015-08-25 International Business Machines Corporation Remote file sharing based on content filtering
CN102467622A (zh) * 2010-11-08 2012-05-23 腾讯科技(深圳)有限公司 一种监控已打开文件的方法及装置
CN102467622B (zh) * 2010-11-08 2014-06-25 腾讯科技(深圳)有限公司 一种监控已打开文件的方法及装置
CN102006331A (zh) * 2010-11-29 2011-04-06 中国联合网络通信集团有限公司 媒体信息发送方法、终端及p2p系统
CN102035882A (zh) * 2010-11-29 2011-04-27 杭州思福迪信息技术有限公司 Ftp二次登陆系统及实现文件传输和过程监控的方法
CN102035882B (zh) * 2010-11-29 2013-04-17 杭州思福迪信息技术有限公司 Ftp二次登陆系统及实现文件传输和过程监控的方法
CN102006331B (zh) * 2010-11-29 2013-08-14 中国联合网络通信集团有限公司 媒体信息发送方法、终端及p2p系统
CN102185896A (zh) * 2011-04-14 2011-09-14 上海红神信息技术有限公司 面向云服务的远端文件请求感知装置及方法
CN102185896B (zh) * 2011-04-14 2014-02-19 上海红神信息技术有限公司 面向云服务的远端文件请求感知装置及方法
CN105610763A (zh) * 2014-10-31 2016-05-25 杭州迪普科技有限公司 协议识别方法及装置
CN107251005A (zh) * 2014-12-08 2017-10-13 安博科技有限公司 从远程网络区域进行内容检索的系统及方法
CN107409079A (zh) * 2015-01-28 2017-11-28 安博科技有限公司 用于全局虚拟网络的系统和方法
US11429283B2 (en) 2016-07-08 2022-08-30 Hewlett-Packard Development Company, L.P. Determining a device wear-rate
CN109074269A (zh) * 2016-07-08 2018-12-21 惠普发展公司,有限责任合伙企业 确定设备磨损率
CN110832487A (zh) * 2017-06-29 2020-02-21 惠普发展公司,有限责任合伙企业 经由代理应用进行的计算设备监视
CN110832487B (zh) * 2017-06-29 2024-04-16 惠普发展公司,有限责任合伙企业 经由代理应用进行的计算设备监视
CN107332934A (zh) * 2017-08-17 2017-11-07 郑州云海信息技术有限公司 一种资源共享方法、服务端、客户端及资源共享系统
CN111475171A (zh) * 2019-01-23 2020-07-31 阿里巴巴集团控股有限公司 应用程序组件下载方法、装置、电子设备
CN111475171B (zh) * 2019-01-23 2024-04-12 阿里巴巴集团控股有限公司 应用程序组件下载方法、装置、电子设备
CN111193717A (zh) * 2019-12-06 2020-05-22 上海上讯信息技术股份有限公司 Ftp黑白名单控制方法、装置及电子设备
CN112019516A (zh) * 2020-08-03 2020-12-01 杭州迪普科技股份有限公司 一种共享文件的访问控制方法、装置、设备及存储介质
CN113032829B (zh) * 2021-03-26 2022-06-10 山东英信计算机技术有限公司 多通道并发的文件权限管理方法、装置、服务器和介质
CN113032829A (zh) * 2021-03-26 2021-06-25 山东英信计算机技术有限公司 多通道并发的文件权限管理方法、装置、服务器和介质
CN112860443A (zh) * 2021-04-23 2021-05-28 深圳华锐金融技术股份有限公司 文件数据分发方法、系统
CN113407510A (zh) * 2021-06-22 2021-09-17 北京联创信安科技股份有限公司 一种数据共享系统

Also Published As

Publication number Publication date
US9825988B2 (en) 2017-11-21
US8887283B2 (en) 2014-11-11
US20180034829A1 (en) 2018-02-01
US10148687B2 (en) 2018-12-04
US8353042B2 (en) 2013-01-08
US20150150135A1 (en) 2015-05-28
US20150350162A1 (en) 2015-12-03
US8347373B2 (en) 2013-01-01
US20140181979A1 (en) 2014-06-26
US20080282337A1 (en) 2008-11-13
US20090006423A1 (en) 2009-01-01
US8671450B2 (en) 2014-03-11
US9143526B2 (en) 2015-09-22
US20130125238A1 (en) 2013-05-16

Similar Documents

Publication Publication Date Title
CN101252585A (zh) 对使用远程文件系统访问协议的数据进行内容过滤的方法与系统
US10397273B1 (en) Threat intelligence system
US9894100B2 (en) Dynamically optimized security policy management
US7818287B2 (en) Storage management system and method and program
US7519726B2 (en) Methods, apparatus and computer programs for enhanced access to resources within a network
US6219676B1 (en) Methodology for cache coherency of web server data
RU2417417C2 (ru) Идентификация в реальном времени модели ресурса и категоризация ресурса для содействия в защите компьютерной сети
KR101109340B1 (ko) 프로토콜과 무관한 클라이언트측 파일 캐싱 방법, 컴퓨터 프로그램 제조품, 및 컴퓨터 시스템
US11693908B2 (en) System and methods for dynamic generation of object storage datasets from existing file datasets
US20100235915A1 (en) Using host symptoms, host roles, and/or host reputation for detection of host infection
US7640247B2 (en) Distributed namespace aggregation
US10565372B1 (en) Subscription-based multi-tenant threat intelligence service
US6324584B1 (en) Method for intelligent internet router and system
EP3465987B1 (en) Logging of traffic in a computer network
US9069791B2 (en) Database virtualization
WO2017039602A1 (en) Collecting domain name system traffic
CN1216339C (zh) 显示多模式Web页面的部分的方法和装置
US8527586B1 (en) Multi-protocol global namespace mechanism for network attached storage
JP2004520654A (ja) クラッカー追跡システムとその方法、およびこれを利用した認証システムとその方法
US11874845B2 (en) Centralized state database storing state information
CN111988292A (zh) 一种内网终端访问互联网的方法、装置及系统
CN114466054A (zh) 数据处理方法、装置、设备,及计算机可读存储介质
US20070083913A1 (en) Propagation of malicious code through an information technology network
JP2006508465A (ja) ファイル共有アプリケーションに対するインデックス・サーバ・サポート
CN1503952A (zh) 限制外来访问的方法和系统

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: FORTINET INC.

Free format text: FORMER OWNER: FORTINET INFORMATION TECHNOLOGY (BEIJING) CO., LTD.

Effective date: 20090925

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20090925

Address after: California, USA

Applicant after: Fortinet, Inc.

Address before: Room 7, digital media building, No. 507 information road, Beijing, Haidian District, China: 100085

Applicant before: Fortinet,Inc.

C12 Rejection of a patent application after its publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20080827