CN1578232A - 帮助应用穿越防火墙的方法 - Google Patents

帮助应用穿越防火墙的方法 Download PDF

Info

Publication number
CN1578232A
CN1578232A CNA2004100618852A CN200410061885A CN1578232A CN 1578232 A CN1578232 A CN 1578232A CN A2004100618852 A CNA2004100618852 A CN A2004100618852A CN 200410061885 A CN200410061885 A CN 200410061885A CN 1578232 A CN1578232 A CN 1578232A
Authority
CN
China
Prior art keywords
application
compartment wall
fire compartment
connection
strategy
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.)
Granted
Application number
CNA2004100618852A
Other languages
English (en)
Other versions
CN100499487C (zh
Inventor
D·莫根
A·加弗里莱斯库
J·L·布尔斯泰因
A·舍莱斯特
D·莱布兰克
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of CN1578232A publication Critical patent/CN1578232A/zh
Application granted granted Critical
Publication of CN100499487C publication Critical patent/CN100499487C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • 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/029Firewall traversal, e.g. tunnelling or, creating pinholes
    • 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/0209Architectural arrangements, e.g. perimeter networks or demilitarized zones
    • H04L63/0218Distributed architectures, e.g. distributed firewalls

Abstract

一种用于察觉性防火墙的应用的方法,它将其期望传送给防火墙而不需要防火墙改变其策略或危及网络安全。为应用软件提供应用API来将应用的需求通知一个或多个防火墙,并提供将应用的需求通知一个或多个防火墙的防火墙API。拦截模块监视由应用和服务对本地计算机上的网络堆栈的连接和监听尝试。拦截模块捕获这些尝试并确定什么用户在进行尝试、什么应用或服务在进行尝试,并实施防火墙策略查找来确定是否允许该用户和/或应用或服务连接到网络。如果这样,拦截模块可命令主机和/或边界防火墙为所请求的连接配置自己。

Description

帮助应用穿越防火墙的方法
技术领域
本发明通常涉及计算机或网络上的安全性,特别涉及防火墙及其与应用有关的使用。
背景技术
通常,防火墙是防止未经授权的用户访问网络或计算机上的某些文件的电子边界。可以作为用户计算机上的防火墙代码(“主机防火墙”)来提供防火墙。可供选择地,还可在网络边缘提供专用防火墙机构(“边界防火墙”),它与网络外的计算机接口并具有内建的特殊安全预防措施,以便保护网络内计算机上的敏感文件。这个想法就是要保护一群较松散管理的机器,使它们对于网络外计算机用户是隐藏在边界防火墙之后的。边界防火墙所位于的机器常常称为“网关”或“专用网关”。如果配置用于保护网络不受因特网侵害,该机器常常称为“因特网网关设备”。
防火墙使用至少三种不同方法中的一个或多个来控制进出网络的通信流。在第一个方法中,称为静态信息包过滤,依靠一组过滤器来分析信息包。由过滤器批准的信息包被送往请求系统;所有其它的信息包被丢弃。在第二个方法中,称为代理服务,由防火墙从因特网取回信息,对照策略来评估信息,随后送往请求系统,反之亦然。在较新的第三种方法中,称为全状态检查(statefulinspection),不检查信息包内容,而是将信息包的关键部分与可信信息(trusted information)数据库比较。对从防火墙内部向外部的传播的信息以特殊定义的特征监控,然后将流入信息与这些特征比较。如果比较产生了合理的匹配,则允许信息通过。否则它被丢弃。
防火墙是可定制的,意味着可根据若干条件添加或删除过滤器。作为例子,因特网协议(“IP”)地址可用来限制或阻止通信。作为例子,如果网络外部的某个IP地址正从服务器读取过多的文件,则防火墙可以阻塞所有到和/或从那个地址的通信。作为另一个例子,防火墙可阻塞所有对某个域名的访问,或只允许对特定域名的访问。作为又一个例子,公司可能设置一个网络,其中只有一台或两台机器处理一个或多个特定协议,并在所有其它机器上禁止那些协议。还有另一个例子是使用端口来限制通信。例如,如果服务器机器正运行着Web(HTTP)服务器和FTP服务器,则Web服务器一般在端口80可用,而FTP服务器在端口21可用。公司可能在网络上除一台之外的所有机器上阻止端口21的访问。
因而,防火墙通过检查网络通信并只允许与已在防火墙内设置的策略一致的通信来确保安全。但是,尽管上述的通信控制方法用于过滤某些通信时工作良好,但为防火墙设置的规则或策略可能并不符合网络内一些应用的需求。因为防火墙不能具有所有现有和将来的应用的全部知识,所以防火墙执行试探法来区分安全的通信和潜在危险的通信。例如,防火墙可选择允许从可信网络内发起的连接,但不允许那些从可信网络外部发起的连接(例如,从因特网发起的)。
尽管试探法简化了防火墙策略设计,但一些应用与防火墙试探法不一致。结果,由这样一个应用来通信的尝试将失败,促使防火墙设计者实现和测试用于各个和每个失败的应用的专用工作环境。这些工作环境增加了防火墙复杂性和代码难度。
最近努力设计的防火墙控制协议(“FCP”)由于基本安全冲突而没有成功,该协议允许应用在专设的基础上修改防火墙策略。防火墙策略是由可信实体(例如,网络管理员)创建和管理的,而应用可能运行在不可信节点或端点上。允许不可信应用修改公司网络策略与防火墙的安全目标是不一致的。
发明概述
为了提供本发明的基本理解,以下提出了本发明一些实施例的简略概述。这个概述不是本发明的广泛概览。并不期望确定本发明的关键/重要元素或描述本发明的范围。它的唯一目的是以简化形式提出本发明的一些实施例作为稍后提出的更为详细的描述的序言。
按照本发明的一个实施例,提供了一种用于察觉性防火墙应用的方法,它将其期望传达给防火墙而不需要防火墙改变其策略或危及网络安全的方法。为此目的,可为应用程序提供应用应用编程接口(“API”)来将应用的需求通知一个或多个防火墙,描述它们当前或预期的活动,并描述对由应用发送或接收的网络数据的处理要求。
按照本发明的另一个实施例,提供了将应用的需求通知一个或多个防火墙的防火墙API。应用API和防火墙API可通过作为例如计算机系统的操作系统的一部分提供的网络子系统来交互。
按照本发明的另一个实施例,提供实施模块以允许用户创建简单的防火墙策略或网络访问策略来允许或拒绝他们计算机上的非察觉性防火墙的应用和服务连接到网络。另外,实施模块允许这些策略是在每用户基础上的。用户不需要了解或使用用于端口、协议或IP地址的规则来使应用能够通过防火墙。为此目的,提供了套接字应用编程接口,它允许应用或服务用IP地址、子网信息或连接范围来描述其关于入网或出网限制的需求。用户还可定义通信安全级别(例如,认证和/或加密)。
按照本发明的另一个实施例,实施模块允许应用通过防火墙的透明穿越。实施模块包括拦截模块,它监视应用和服务对本地计算机上的网络堆栈的连接和监听尝试。拦截模块捕获这些尝试并确定什么用户在进行尝试、什么应用或服务在进行尝试,并实施防火墙策略查找来确定是否允许用户和/或应用或服务连接到网络。如果这样,拦截模块可命令主机和/或边界防火墙为所请求的连接配置自己。
本发明的其它特征在结合附图从以下详细描述中将变得显而易见,这些附图为:
附图说明
图1是说明由网络连接的计算机的示意图;
图2是示意图,概括地说明可用于实现本发明实施例的示例性计算机系统。
图3是方框图,说明可按照本发明实施例使用的图2计算机系统的结构细节;
图4所示的是流程图,说明察觉性防火墙的应用请求从诸如远程计算机之类的一个已知端点接收单一连接的过程的一个例子;
图5所示的是方框图,概括地表示图2计算机系统的部件及其与按照本发明实施例的拦截模块的交互;
图6所示的是方框图,示出图5的拦截模块的一般部件;
图7所示的是按照本发明的一个实施例可在失败的连接尝试后呈现给用户的用户界面;
图8所示的是流程图,说明图5的拦截模块如何能够允许非察觉性防火墙的应用穿越防火墙的例子;以及
图9所示的是流程图,说明服务或应用如何能够将服务的网络需求通知防火墙代码和/或边界防火墙。
详细描述
在下列描述中,将描述本发明的各种实施例。为了说明,阐述了特定的配置和细节,以便提供实施例的彻底理解。但是,对于本领域的一个熟练技术人员而言,可以在没有这些特定细节的情况下实现本发明也是显而易见的。而且,为了突出所述实施例,可省略或简化众所周知的特征。
在进行本发明各种实施例的描述之前,先提供在其中本发明的各种实施例可以实现的计算机和网络环境的描述。尽管不是必要的,但本发明将在由计算机执行的诸如程序模块的计算机可执行指令通用环境中描述。通常,程序包括执行特定任务或实现特定抽象数据类型的例程、对象、组件、数据结构等等。这里所用的术语“程序”或“模块”可指单个程序模块或共同行动的多个程序模块。这里所用的术语“计算机”和“计算设备”包括任何以电子方式执行一个或多个程序的设备,诸如个人计算机(PC)、手持设备、多处理器系统、基于微处理器的可编程消费电子产品、网络PC、小型机、板式PC、膝上型计算机、具有微处理器或微控制器的消费用具、路由器、网关、集线器等等。本发明还可在分布式计算环境中使用,其中任务由通过通信网络链接的远程处理设备执行。在分布式计算环境中,程序可位于本地和远程两者的存储器设备中。
参考图1描述适合于结合本发明各方面的计算机网络环境的例子。示例计算机网络环境包括通过用云表示的安全网络104而彼此通信的若干计算机102。安全网络104可包括许多众所周知的组件,诸如路由器、网关、集线器等,并允许计算机102通过有线和/或无线介质通信。当通过安全网络104彼此交互时,一个或多个计算机102可用作客户机、服务器或相对于其它计算机102的对等机。因而,本发明的各种实施例可在客户机、服务器、对等机或它们的组合上实现,尽管这里所包含的特定例子可能不引用所有这些类型的计算机。
这个例子中的安全网络104被认为是“安全的”网络,其中计算机102由通用的防火墙保护,在此例中被示为因特网网关设备106。因特网网关设备106保护计算机102不受位于在此例中用云表示的公共或不安全网络110上的远程计算机108的侵害。尽管被描述为因特网网关设备106,但这个网关设备可保护安全网络不受其它类型的不安全网络的侵害,不一定是因特网,还包括LAN、WAN或其它合适的网络。
尽管被示为具有多个计算机,但安全网络104可只包括单个计算机102。另外,尽管不安全网络110被示为具有多个远程计算机108,但它也可只有一个。
参考图2,所示的是在此所述的本发明可以在其上实现的计算机102的基本配置的例子。在其最基本配置中,计算机102一般包括至少一个处理单元202和存储器204。处理单元202执行指令以完成按照本发明各种实施例的任务。在完成这样的任务时,处理单元202可发送电子信号到计算机102的其它部分及计算机102外部的设备以产生某些结果。取决于计算机102的准确配置和类型,存储器204可以是易失性的(诸如RAM)、非易失性的(诸如ROM或闪存)、或两者的某种结合。这种最基本配置用虚线206示于图2。
计算机102还可具有附加的部件/功能。例如,计算机102还可包括附加的存储器(可移动的208和/或不可移动的210),包括(但不限于)磁盘、光盘或磁带。计算机存储介质包括以任何方法或技术存储信息的易失性的和非易失性的、可移动的和不可移动的介质存储信息(包括计算机可执行指令、数据结构、程序模块或其它数据)。计算机存储介质包括(但不限于)RAM、ROM、EEPROM、闪存、CD-ROM、数字通用盘(DVD)或其它光存储器、磁带盒、磁带、磁盘存储器或其它磁存储设备、或任何其它能够用于存储所要的信息并能由计算机102访问的介质。任何这样的计算机存储介质都可以是计算机102的一部分。
计算机102较佳地还包含通信连接212,它允许设备与其它设备通信,诸如在安全网络104上的其它计算机102或不安全网络110上的远程计算机108(图2只示出了一台远程计算机108)。通信连接是通信介质的一个例子。通信介质一般包含在诸如载波或其它传输机制的调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,并包括任何信息传递介质。作为例子(而非限制地)术语“通信介质”包括无线介质,诸如声学、RF、红外及其它无线介质。这里所用的术语“计算机可读介质”包括计算机存储介质和通信介质两者。
计算机102还可具有输入设备216,诸如键盘/小键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括输出设备218,诸如显示器220、扬声器、打印机等。这些设备在本领域中众所周知,不需要在此详述。
在随后的描述中,将参考可由一个或多个计算设备执行的动作和操作的符号表示法来描述本发明,除非另有指示。这样,将要理解这种动作和操作,它们有时被称为是由计算机可执行的,包括由计算机102的处理单元以结构化形式表示数据的电子信号的管理。这种处理转换数据或将它保存在计算机102的存储系统中的单元上,它以本领域那些熟练技术人员都理解的方式重新配置或者改变计算机102的操作。保存数据的数据结构是具有由数据格式定义的特定属性的存储器的物理单元。但是,虽然在前述的环境中描述本发明,但并不意味着限制本发明,如那些本领域熟练技术人员将意识到的,这里所述的几种动作和操作还可用硬件实现。
图3是方框图,说明按照本发明的一个实施例可使用的计算机102结构的细节。计算机102包括具有与其相关联的主机防火墙(host firewall),如防火墙代码302所表示的操作系统300。防火墙代码302可以是操作系统300的一个组件或者在计算机102上运行的分离的应用或程序。在所示例子中,防火墙代码302用作主机防火墙,它在那里保护它在其上运行的计算机102。
计算机102还包括实施模块304,它关联于或者就是操作系统300的一个集成部分。实施模块304的功能和部件在下面进一步描述。
按照本发明的一个方面,察觉性防火墙的应用306可以连接到操作系统300和/或实施模块304。除了直接的连接,为察觉性防火墙的应用306提供应用API308来调用实施模块304的功能,将如下面进一步描述。
按照本发明的另一个实施例,非察觉性防火墙的应用310也可连接到操作系统300和/或实施模块304。除了直接连接到操作系统300和/或实施模块304外,为非察觉性防火墙的应用310提供了套接字API 312来调用实施模块304的功能,将如下面还要进一步描述。
防火墙策略314被存储或者关联于计算机102,并可以由操作系统300和/或防火墙代码302访问。在所示实施例中,将防火墙策略314示为数据库,但可以在几个数据库中保存防火墙策略314或者可以用另外的合适的方式存储防火墙策略314。
可提供代理320用于与因特网网关设备106通信。另外,因特网网关设备106包括防火墙软件324(后面称为“边界防火墙324”),可实现它,以便以已知方式保护安全网络104不受远程计算机108侵害。此外,按照本发明的一个方面,在操作系统300上提供防火墙API 326供防火墙代码302访问。
按照本发明的一个实施例,察觉性防火墙的应用306可通过应用API 308请求防火墙代码302和/或边界防火墙324的显式穿越。通过“显式(explicit)”,我们是指穿越防火墙代码302和/或边界防火墙324是由察觉性防火墙的应用306明确地请求的。如在背景章节中描述的,对于先前技术的网络系统,防火墙用试探法来猜测应用的意图。相反,对于本发明,提供了应用API 308,因此察觉性防火墙的应用306(或察觉性防火墙的服务)可显式描述它的需求并将它的请求传送到防火墙代码302和/或边界防火墙324。
察觉性防火墙的应用306可请求各种其它可由防火墙代码302和/或边界防火墙324实施的服务。作为一个例子,察觉性防火墙的应用306可请求与安全网络104外部的一个或多个已知端点连接。连接可以是单一的、一次性连接或者可产生同一连接的许多实例。作为另一个例子,察觉性防火墙的应用306可请求入网和/或出网连接的带宽或连接阻塞(connection throttling)。还有另一个例子,察觉性防火墙的应用306可请求防火墙将连接范围限制到接口、本地或远程地址的子集。还有另一个例子,察觉性防火墙的应用306可请求只有认证过的客户可连接到特定端口。在另一个例子中,察觉性防火墙的应用306可请求实施最小或最大带宽规则和/或可为特定客户请求超时策略,诸如传输控制协议(“TCP”)客户。另外,察觉性防火墙的应用306还可请求特定的协议选项(诸如SACK)打开或关闭,目的是减少攻击面。作为另外的一个例子,察觉性防火墙的应用306可描述需要特别处理的流程的一个或多个属性,诸如与机密数据的连接。
察觉性防火墙的应用306可通过应用API 308将其请求传送到防火墙代码302和/或边界防火墙324。以下是可用于请求直接与诸如远程计算机108的远程计算机或节点通信的格式的结构的特定例子:
struct sockaddr Target;
...//用端点信息初始化Target结构
setsockopt(s,SOL_SOCKET,SO_REQUEST-ACCESS,
&Target,sizeof(Target));
在前述例子中,请求是针对特定套接字的。套接字选项名为SOL_SOCKET、SO_REQUEST_ACCESS。参数描述在术语“struct sockaddr Target”之后;并包括远程端点或者特定远程计算机108的描述。可用其它数据结构来由察觉性防火墙的应用306传送请求。
如果期望,操作系统300和/或实施模块304可向察觉性防火墙的应用306表示支持请求。同样地,操作系统300和/或实施模块304可返回一个值,表示已经接受请求的值并将它传送给防火墙,或者操作系统300不实现这个特定调用。可供选择地,操作系统300和/或实施模块304可返回正在检查状态的指示,并将让防火墙代码302和/或边界防火墙324最终作出决策。
察觉性防火墙的应用306可在应用安装后、请求连接后或者另外的合适时间进行它对应用API 308的调用。在向对应用API 308请求的时候、请求连接的时候或者在另外的时间,可使防火墙代码302和/或边界防火墙324知道这个请求。按照本发明的一个实施例,可在察觉性防火墙的应用306进行连接的尝试时使防火墙代码302和/或边界防火墙324知道该请求。也就是说,或者察觉性防火墙的应用306尝试通过防火墙代码302和/或边界防火墙324发送一些内容,或者察觉性防火墙的应用306表示它正等待通过防火墙之一的通信。为此目的,事件可产生反调用,诸如通用套接字事件通知机制。可将反调用传送到实施模块304。这样一个反调用的格式的例子阐述如下:
void SocketActivityCallback(
DWORD         dwProcessID,  //引起套接字事件的过程
SOCKET        sock,         //套接字句柄
SOCK_EVENT    event,        //套接字事件(例如,绑定)
LPVOID        pDetails       //套接字事件参数
DWORD         cbDetails      //事件参数大小
);
对于前述反调用,提供以下参数:dwProcessID,发起事件的过程的ID;sock,为之生成事件的套接字句柄;event,事件ID,诸如SOCKET_EVENT_BIND;pDetail,指向包含事件细节的斑点(blob)的指针,它是事件专用的;以及cbDetails,事件细节斑点大小。可使用其它数据结构或通知机制来通知实施模块304:察觉性防火墙的应用306正尝试建立连接。作为对于反调用的可供替换的例子,可使用输入/输出(I/O)调用。
在每个套接字事件发生后立即激活反调用。按照本发明的一个实施例,实施模块304在套接字事件发生时检查套接字事件并保存有关的套接字状态细节以允许对防火墙代码302和/或边界防火墙324进行适当的通信。
操作系统300和/或实施模块304利用防火墙API 326告知防火墙代码302:察觉性防火墙的应用306请求一个连接。通知可以是如上所述的,并可附加地包括应用专用信息,诸如应用信任级别、应用标识等等。防火墙代码306将请求与防火墙策略314比较并可能允许或拒绝请求。可能或可能不向应用给出指示。
另外,按照本发明实施例,防火墙代码302通知边界防火墙324:请求连接。这个信息可通过认证过的协议或通过代理320传送给边界防火墙324。边界防火墙324另外可对照它自己的策略(未示出,但在本领域中公知)检查请求。假设请求符合防火墙代码302和边界防火墙324两者的策略,则允许连接通过防火墙。
尽管描述为具有防火墙代码302和边界防火墙324二者,但本发明可在只有这些防火墙之一的系统中实现。例如,在只有一台计算机102的家庭网络上,唯一可用的防火墙可能是防火墙代码302。
图4所示的是察觉性防火墙的应用306请求从已知端点(例如,远程计算机108之一)接收单一连接(例如,TCP连接)的过程的例子。
在步骤400,察觉性防火墙的应用306创建一个新的套接字。在步骤402,察觉性防火墙的应用306绑定套接字以在端口N上接收连接。在步骤404,察觉性防火墙的应用306使用应用API 308通知操作系统300和/或实施模块304:它期望来自一个特定地址的连接。例如,这可使用如上所述的调用格式来完成。在步骤404,察觉性防火墙的应用306绑定套接字来以在端口N上接收连接。
在步骤406,察觉性防火墙的应用306激活接受(accept)API(未示出,但在本领域中公知)并且开始等待连接。察觉性防火墙的应用306激活接受API导致一个正在发送的通知,如上所述。操作系统300现在完全知道察觉性防火墙的应用306的意图和连接端点,并且在步骤408使用防火墙API 326告知防火墙代码302:期望来自一指定地址的单一连接在本地端口N上到达。通知还可包括应用专用信息,诸如应用可信级别、应用标识或其它信息。
在步骤410,防火墙代码302将察觉性防火墙的应用306的请求与防火墙策略314比较,并且允许或拒绝请求。在步骤412,防火墙代码302通知边界防火墙324:期望一个具有众所周知的属性的连接。
假设当远程节点在端口N上发起至察觉性防火墙的应用306的连接时,请求符合防火墙代码302和边界防火墙324的策略,则将允许通信。在步骤414,远程计算机108建立连接。
在察觉性防火墙的应用306完成监听端口N之后,在步骤416关闭套接字。然后在步骤418,操作系统300可执行清除,例如通知防火墙代码302,它轮到与边界防火墙324通信。
如能从前述中所理解的,应用API 308和防火墙API 326提供这样的机制,通过这些机制可将请求传送至主机或边界防火墙。然后防火墙可相应地作出反应,如果请求符合防火墙策略314(如果和边界防火墙的防火墙策略有关),则可允许连接。因而,应用API 308和防火墙API 326为应用提供增强的协助,用于在不需要为每种类型的连接编写单独的应用专用的代码的情况下穿过防火墙。
对于刚才所描述的实施例,实施模块304用作操作系统300的组件,或者与其紧密地相关联,并且处理察觉性防火墙的应用306的请求。如果需要,实施模块304可在应用API 308与防火墙API 326的抽象级别之间提供转换。例如,应用API 308可处理套接字和连接,而防火墙API 326可处理端口和流。
按照本发明的另一个实施例,实施模块304另外可允许用户创建简单的防火墙策略或网络访问策略,从而允许或拒绝应用或服务穿过防火墙。下面将描述实施模块304的这方面的功能。尽管在此描述的实施模块304具有已经描述的功能和下面描述的其它功能,但也可为独立的功能提供独立的模块。另外,计算机诸如计算机102可包括只具有这些功能组的一个功能或者功能组的一部分功能的模块。然而,为了易于描述,在此的描述假设实施模块304至少具有这两个所述的功能组。
为了这个描述,配置为与非察觉性防火墙的应用310一起工作的实施模块304的一部分在此将称为拦截模块500(图5)。通常,拦截模块500配置为监视应用和服务的对本地计算机诸如计算机102上网络堆栈508的连接和监听尝试。拦截模块500捕获这些尝试并且确定什么用户正在进行尝试,确定什么应用或服务正在进行尝试,并且进行防火墙策略314查找以确定是否允许用户和应用/服务连接到网络。
图5所示的方框图一般表示计算机102的某些组件和那些组件与拦截模块500的交互。计算机102包括用户模式套接字接口502(例如用户模式Winsock),内核模式套接字接口504(例如内核模式Winsock)和网络适配器510。
通常,图5所示的每个组件以某些形式或者其它形式存在于现有的计算机上,除了拦截模块500以外。按照本发明的一个实施例,这样安排拦截模块500,使得它可以接收和捕获应用和服务的连接或监听尝试。为此,例如,拦截模块500可位于网络堆栈508与非察觉性防火墙的应用310之间,例如在网络堆栈508的接口处。如下面进一步描述的,拦截模块500从连接和/或监听尝试中提取连接需求,确定连接需求是否符合策略,并且如果符合,命令防火墙代码302创建一个较低级别的防火墙过滤器以允许连接。
通常,连接和监听尝试包括连接至一个端点或者由端点来连接的任何尝试。为此目的,如这里所用的,“连接”和/或“监听”尝试包括,特别是,发送请求、接收请求、加入请求和更新请求。
计算机102的监听和/或连接尝试一般包括参数,这些参数将允许拦截模块500确定应用或服务的需求。如一个例子,对于监听和连接尝试两者,一般请求端口的绑定。绑定可能是对于特定端口或者如果可能使用各种端口则对于通配符端口。监听尝试一般将包括套接字地址,在该地址应用或服务希望接收连接。另外,应用ID和用户ID可以从监听尝试的上下文中推断。从这个推断的信息,可对照应用和/或用户的策略评估特定套接字的请求,并且可基于那个策略允许或不允许连接。
如果进行连接请求,那个连接请求将包括与监听请求相似的信息,并且可包括端点地址。此外,可使用此信息并对照策略评估此信息,以便确定是否可以进行连接。
计算机102的一般策略可在防火墙策略314内形成,以或者允许或者拒绝在计算机102上的特定应用和服务对网络的连接。这个一般性策略可在设置计算机102的用户设置时手工地在计算机102上建立、也可由网络管理员来建立、或者可在建立用户的简档时设置为默认的设置。如果需要,策略可基于每个用户。这些一般的策略可能是,例如,“不要让任何应用连接至不安全的网络110,除非拦截模块500具有不同的策略”可将一般的策略与由拦截模块500保存的策略分开存储。
按照本发明的一个实施例,在拦截模块500内的策略(和存储在策略高速缓存612中的,例如)可创建和存储为用户和/或服务/应用的请求的结果。例如,在将服务或应用安装在计算机上时、在发起一个连接时或者在其它合适的时间,可自动地或者通过用户界面来进行这个请求。请求可简单地包括所想要的连接的简单参数,诸如“允许应用X连接至因特网一次”或者,如其它非限制的例子,与察觉性防火墙的应用306的描述一起在上面描述的任何请求。
按照本发明的一个实施例,用户和/或应用的请求不需要用于端口、协议或者IP地址的规则以使应用或服务能够穿过防火墙代码302和/或边界防火墙324。而是,如上所述,在已经建立了一个策略之后,根据应用的连接请求,拦截模块500通过评估应用或服务的连接和监听尝试来确定应用或服务的需求。
图6所示的方框图示出拦截模块500的一般组件。拦截模块500包括逻辑引擎600,它执行在此所述的拦截模块500的大多数基本操作。拦截接口客户602连接到逻辑引擎600,配置为与网络堆栈508交互并捕获由应用诸如非察觉性防火墙的应用310进行的连接和/或拦截请求。配置和策略API 604配置和安排为与防火墙策略314或关联的策略管理器(未示出)的通信。
本地防火墙客户606配置为与防火墙代码302通信。防火墙穿越协议客户608被配置和安排为与边界防火墙324通信。
在图6所示的例子中,拦截模块500包括端点高速缓存610、策略高速缓存612和过滤器高速缓存614。端点高速缓存610存储拦截模块500当前正在管理的各种端点(即节点)的操作状态。它是由逻辑引擎600基于来自拦截接口客户602的输入来更新的。策略高速缓存612存储拦截模块500要实施的策略。在策略高速缓存612中的条目可与在端点高速缓存610(即该给定策略被实施的端点)的条目相关联。单个策略条目可以和多个端点相关联。
拦截接口客户602处理监听和/或连接尝试的细节,与网络堆栈508交互,并且访问逻辑引擎600以通知逻辑引擎600拦截到的动作并且接收授权决策。配置和策略API 604是一个进入拦截模块500的外部接口。可向配置和策略API604进行请求并且将请求存储在策略高速缓存612。例如,可由应用在安装或者连接尝试时通过防火墙策略314来提供策略,或可由用户例如通过套接字API312(图3)来提供。下面给出其它例子。使用本地防火墙客户606来命令防火墙代码302以创建合适的过滤器,类似地,防火墙穿越协议客户608被用来命令该边界防火墙324构建合适的滤波器,并且因而执行许多与代理320相同的功能。
过滤器高速缓存614包括用于逻辑引擎600已经创建的过滤器的条目。在过滤器高速缓存614中条目可与在端点高速缓存610(例如,已经为其创建过滤器的端点)中的条目相关联。单个过滤器可与多个端点相关联。包括在过滤器高速缓存614中的信息包括过滤器的细节(例如,5元组,关联的IPSec策略等),将使用的相应的防火墙过滤器的句柄,和/或防火墙穿越协议客户608的识别信息。
现在转到拦截模块500的操作,在应用或服务试着建立连接之前,用户和/或应用或服务通过配置和策略API 604建立用于应用或服务的策略。在策略高速缓存612中存储策略。在建立策略之后,拦截接口客户602监视应用和服务对在计算机102上的网络堆栈508的连接和监听尝试。拦截接口客户602捕获这些尝试并且将它们发送给逻辑引擎600。逻辑引擎600确定什么用户正在进行尝试、确定什么应用或服务正在进行尝试,并将那个信息存储在端点高速缓存610中。然后逻辑引擎600访问策略高速缓存612以确定是否允许用户和应用或服务连接到所请求的网络。
如果允许用户和应用或服务两者连接到网络,创建合适的防火墙配置诸如较低级别的防火墙过滤器,来允许应用或服务具有无拘无束的网络通信。将防火墙配置存储在过滤器高速缓存614中。本地防火墙客户606和网络穿越协议客户608可使用此过滤器信息来命令防火墙代码302和边界防火墙324以允许建立连接。
按照本发明的一个实施例,为拦截模块500提供通知客户616。通知客户616配置和安排为与外壳通知管理器(未示出,但在本领域中公知)或者相似的组件,以便通知用户一个事件。例如,通知客户616可命令通知管理器以通知用户:应用或服务正在尝试访问因特网和操作系统300正在阻止此尝试,诸如图7的用户界面700所示。另外,通知客户616可命令通知管理器请求与继续阻止或允许访问有关的用户指令,诸如由图7中的702和704允许的。如果适合,通知客户616可等待和通知逻辑引擎600:用户对查询的响应。
如果用户选择按钮704,则允许连接,那个按钮的选择导致为那个应用(这里,应用X)建立策略。如果需要,策略可只允许一次连接,可允许将来的连接,或者可允许在时限内(例如在一天内)的连接。
图8所示的是拦截模块500如何能够使非察觉性防火墙的应用310穿越诸如防火墙代码302和/或边界防火墙324的防火墙的例子。始于步骤800,用户创建允许应用X连接到网络的策略,例如仅在用户运行该应用时。用户稍后在步骤802运行应用X。应用X尝试连接和监听网络堆栈508。拦截模块500在步骤804捕获这些连接和监听尝试。拦截模块500在步骤806确定哪个应用或服务正在进行请求,并在步骤808确定哪个用户正在运行应用或服务。
根据这个信息,拦截模块500确定允许用户和应用连接到网络,并自动修改防火墙策略以允许监听本地端口及连接到所请求的端点。
因为这种用户专用策略只为给定用户建立,不同的用户不能访问网络。例如,在步骤812,第二用户运行应用X,并且在步骤814拦截模块500进行必需的许可检查,类似于步骤806和808。在步骤816,拦截模块500确定不允许第二用户在网络上运行应用X并返回错误给应用,例如通过通知客户616。
图9是流程图,所示的是服务如何能够将服务的网络需求通知防火墙代码302和/或边界防火墙324的例子的步骤。始于步骤900,在计算机上的一个服务,例如计算机102打开一个监听套接字。在步骤902,服务使用API,诸如套接字API 312,以建立策略,例如表示只应该接受来自本地子网(例如安全网络104)的入网通信。在步骤904,服务绑定到套接字并且等待连接尝试。在步骤906,在第二台计算机上的用户,诸如在安全网络104上的另一个计算机102打开尝试连接至在计算机102上的服务的应用。
在计算机102上的拦截模块500在步骤908拦截连接尝试,并将第二台计算机的子网与其自己的子网比较。在步骤910,子网检查成功并且在第二台计算机102上的应用连接至在第一台计算机102上的服务。
在步骤902建立的相同策略可用于拒绝不是来自本地子网的计算机,诸如在步骤912-916中所示的。在步骤912,在远程计算机108上的用户打开尝试连接至在第一台计算机102上的服务的应用。在步骤914,在第一台计算机102上的防火墙代码302拦截连接尝试并且将远程计算机108的子网与其自己的子网比较。在步骤916,子网检查未通过并且不允许在远程计算机104上的应用连接至在第一台计算机102上的服务。
在此列举的所有引用,包括出版物、专利申请和专利,被结合引用作为同样的扩充,与如果每个引用被单独地和明确地提示结合引用一样,并且在此作为整体提出。
在描述本发明的上下文中(尤其在以下权利要求书的上下文中)词语“a”和“an”和“the”和类似的指示物的使用将被解释以覆盖单数和复数两者,除非在这里另行指出或与上下文明显矛盾。词语“comrising”、“having”、“including”和“containing”将解释为“开口”的词语(即,意味着“including,but notlimited to”(包括,但不限于)),除非另行指出。在这里值的范围详述只是意在用作一种简约的方法,每单独的值都各自落在范围内,除非在此特别表示,并且将单独的值结合到说明书中,好象它是在此一个一个单独地列举的。可以任何合适的顺序执行在此描述的所有方法,除非在此另行指出或者与上下文明显矛盾。使用任何或所有例子,或者在此提供的示例性语言(例如“诸如”),只是想要更好地阐明本发明的实施例,并且不在本发明的范围上形成限制,除非另外要求。在说明书中的语言不应该解释为表示任何非要求的元素为实施本发明所必需的。
在这里描述了本发明的较佳实施例,包括发明人所知的完成本发明的最佳模式。这些较佳实施例的变体对于那些本领域的普通技术人员将在阅读前面描述的基础上变得显而易见。发明人期望熟练的技术人员适当地使用这些变体,并且发明人希望不同于如在这里明确描述的来实施本发明。相应地本发明包括所附权利要求书中所述的主题的、由适用法律许可的所有修改和本身。而且,在本发明的所有可能的变体中上述元素的任何组合也由本发明包括,除非这里另行指出或上下文明显矛盾的。

Claims (37)

1.一种计算机实现的方法,其特征在于,包括:
通过应用编程接口从应用接收调用,所述调用具有参数用于所述应用想要建立的、至一个端点的连接;
从所述应用接收一个指示,它表示所述应用想要建立所述连接;以及
对防火墙进行调用,以按照所述参数建立所述连接。
2.如权利要求1所述的方法,其特征在于,还包括,在所述防火墙,以相关策略评估所述参数,并且如果所述参数符合所述策略,按照所述参数建立所述网络连接。
3.如权利要求1所述的方法,其特征在于,所述参数包括所述应用愿意被连接到的已知端点。
4.如权利要求3所述的方法,其特征在于,所述参数还包括将所述连接限制于一个单一连接的请求。
5.如权利要求4所述的方法,其特征在于,还包括,在已经建立所述连接之后,按照所述请求关闭所述连接。
6.如权利要求1所述的方法,其特征在于,所述参数包括对用于所述连接的连接阻塞的带宽请求。
7.如权利要求1所述的方法,其特征在于,所述参数将所述连接限制于接口、本地地址或远程地址或它们的组合的一个子集。
8.如权利要求1所述的方法,其特征在于,所述参数包括用于所述连接的超时策略。
9.如权利要求1所述的方法,其特征在于,所述参数包括关闭或打开特定的协议选项。
10.如权利要求1所述的方法,其特征在于,所述参数包括与请求特别处理的流程的属性有关的信息。
11.如权利要求10所述的方法,其特征在于,所述信息包括对认证或加密的请求。
12.如权利要求1所述的方法,其特征在于,所述指示包括打开一监听套接字。
13.如权利要求1所述的方法,其特征在于,所述指示包括连接至一套接字。
14.如权利要求1所述的方法,其特征在于,所述对防火墙的调用是通过防火墙应用编程接口进行的。
15.如权利要求1所述的方法,其特征在于,所述防火墙位于具有所述应用的计算机上。
16.如权利要求1所述的方法,其特征在于,所述防火墙包括一边界防火墙,并且还包括一个代理以将有关所述连接的信息传送至所述边界防火墙。
17.如权利要求1所述的方法,其特征在于,所述防火墙包括一边界防火墙,并且还包括一个认证过的协议以将有关所述连接的信息传送至所述边界防火墙。
18.具有用于执行如权利要求1所述的方法的计算机可执行指令的计算机可读介质。
19.一种计算机系统,其特征在于,包括:
一操作系统;
一与所述操作系统相关联的应用编程接口,配置并适合于从一应用接收调用,所述调用具有参数用于所述应用想要建立的、至一个端点的连接;以及
一与所述操作系统相关联的实施模块,配置并适应于:
从所述应用接收一个指示,它表示所述应用想要建立所述连接;以及
对防火墙进行调用,以按照所述参数建立所述连接。
20.如权利要求19所述的计算机系统,其特征在于,还包括防火墙应用编程接口用于对所述防火墙进行所述调用。
21.一种计算机实现的方法,其特征在于,包括:
建立用于至端点的连接的策略;
从一应用或一服务接收一连接尝试、一监听尝试或它们的组合;
从所述连接尝试、所述监听尝试或所述它们的组合提取用户和应用或服务信息;
评估所述应用或服务信息以确定所述连接尝试、所述监听尝试或者所述它们的组合是否与所述策略一致;以及
如果所述连接尝试、所述监听尝试或者所述它们的组合与所述策略一致,则配置所述防火墙以允许所述连接尝试、所述监听尝试或者所述它们的组合。
22.如权利要求21所述的方法,其特征在于,还包括,如果所述连接尝试、所述监听尝试或者所述它们的组合与所述策略不一致,发送通知至所述应用或服务的用户。
23.如权利要求22所述的方法,其特征在于,所述通知包括允许所述连接的选择。
24.如权利要求21所述的方法,其特征在于,所述建立所述策略的步骤包括从所述应用或服务接收一个策略。
25.如权利要求24所述的方法,其特征在于,所述接收策略的步骤包括通过应用编程接口接收策略。
26.如权利要求24所述的方法,其特征在于,从所述应用或服务接收的所述策略包括使用一个或多个因特网协议地址、关于子网的信息、关于所述连接的范围的信息或它们的组合的入网或出网限制。
27.如权利要求24所述的方法,其特征在于,从所述应用或服务接收的所述策略包括通信安全级别。
28.如权利要求27所述的方法,其特征在于,所述通信安全级别包括认证。
29.如权利要求27所述的方法,其特征在于,所述通信安全级别包括加密。
30.如权利要求21所述的方法,其特征在于,所述防火墙包括位于具有所述应用的计算机上的主机防火墙。
31.如权利要求21所述的方法,其特征在于,所述防火墙包括一边界防火墙,并且还包括一代理以传送有关所述连接的信息。
32.如权利要求21所述的方法,其特征在于,所述防火墙包括一边界防火墙,并且还包括一认证过的协议以将有关所述连接的信息传送至所述边界防火墙。
33.具有用于执行如权利要求21所述的方法的计算机可执行指令的计算机可读介质。
34.一个计算机系统,其特征在于,包括:
一防火墙;以及
一拦截模块,配置并适合于:
访问用于与至端点的连接有关的应用、服务或它们的组合的策略;
从一应用或一服务拦截对一连接尝试、一监听尝试或它们的组合;
从所述连接尝试、所述监听尝试或所述它们的组合提取用户和应用或服务信息;
评估所述应用或服务信息以确定所述连接尝试、所述监听尝试或所述它们的组合是否与所述策略一致;以及
如果所述连接尝试、所述监听尝试或所述它们的组合与所述策略一致,命令所述防火墙配置所述连接尝试、所述监听尝试或所述它们的组合。
35.如权利要求34所述的计算机系统,其特征在于,所述拦截模块包括用于存储所述策略的策略高速缓存。
36.如权利要求34所述的计算机系统,其特征在于,所述拦截模块包括应用编程接口用于从一应用或服务接收所述策略。
37.如权利要求34所述的计算机系统,其特征在于,所述拦截模块包括一防火墙客户用于将与所述连接尝试、所述监听尝试或所述它们的组合有关的信息传送至一边界防火墙。
CNB2004100618852A 2003-06-25 2004-06-25 帮助应用穿越防火墙的方法 Expired - Fee Related CN100499487C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/603,648 US7559082B2 (en) 2003-06-25 2003-06-25 Method of assisting an application to traverse a firewall
US10/603,648 2003-06-25

Publications (2)

Publication Number Publication Date
CN1578232A true CN1578232A (zh) 2005-02-09
CN100499487C CN100499487C (zh) 2009-06-10

Family

ID=33418664

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100618852A Expired - Fee Related CN100499487C (zh) 2003-06-25 2004-06-25 帮助应用穿越防火墙的方法

Country Status (5)

Country Link
US (1) US7559082B2 (zh)
EP (1) EP1492299A3 (zh)
JP (1) JP2005018769A (zh)
KR (1) KR20050001397A (zh)
CN (1) CN100499487C (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871484A (zh) * 2013-01-23 2015-08-26 迈克菲公司 用于安全环境中的端点硬件辅助的网络防火墙的系统和方法
CN105934927A (zh) * 2014-01-13 2016-09-07 思科技术公司 针对跨安全边界的sdn api调用的动态过滤

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1726491A (zh) * 2002-12-11 2006-01-25 皇家飞利浦电子股份有限公司 用于显现文档的方法和系统、媒体播放器、信息载体和计算机程序产品
US7509673B2 (en) * 2003-06-06 2009-03-24 Microsoft Corporation Multi-layered firewall architecture
US7409707B2 (en) 2003-06-06 2008-08-05 Microsoft Corporation Method for managing network filter based policies
US7260840B2 (en) * 2003-06-06 2007-08-21 Microsoft Corporation Multi-layer based method for implementing network firewalls
US7308711B2 (en) * 2003-06-06 2007-12-11 Microsoft Corporation Method and framework for integrating a plurality of network policies
US7574603B2 (en) * 2003-11-14 2009-08-11 Microsoft Corporation Method of negotiating security parameters and authenticating users interconnected to a network
GB2416879B (en) * 2004-08-07 2007-04-04 Surfcontrol Plc Device resource access filtering system and method
US7784096B2 (en) * 2004-11-15 2010-08-24 Microsoft Corporation Outgoing connection attempt limiting to slow down spreading of viruses
US7640346B2 (en) * 2005-02-01 2009-12-29 Microsoft Corporation Dispatching network connections in user-mode
CN100414929C (zh) * 2005-03-15 2008-08-27 华为技术有限公司 一种移动互联网协议网络中的报文传送方法
JP4507104B2 (ja) * 2005-08-03 2010-07-21 日本電気株式会社 情報処理装置、通信制御方法および通信制御用プログラム
BRPI0615752A2 (pt) * 2005-09-12 2011-05-24 Microsoft Corp provisão de aplicação consistente ciente de travessia de parede corta-fogo
US8122492B2 (en) * 2006-04-21 2012-02-21 Microsoft Corporation Integration of social network information and network firewalls
US8079073B2 (en) * 2006-05-05 2011-12-13 Microsoft Corporation Distributed firewall implementation and control
US8176157B2 (en) * 2006-05-18 2012-05-08 Microsoft Corporation Exceptions grouping
US7886351B2 (en) * 2006-06-19 2011-02-08 Microsoft Corporation Network aware firewall
US8495181B2 (en) * 2006-08-03 2013-07-23 Citrix Systems, Inc Systems and methods for application based interception SSI/VPN traffic
US8869262B2 (en) * 2006-08-03 2014-10-21 Citrix Systems, Inc. Systems and methods for application based interception of SSL/VPN traffic
US8099774B2 (en) * 2006-10-30 2012-01-17 Microsoft Corporation Dynamic updating of firewall parameters
US8302179B2 (en) * 2006-12-13 2012-10-30 Avaya Inc. Embedded firewall at a telecommunications endpoint
US20080244723A1 (en) * 2007-03-27 2008-10-02 Microsoft Corporation Firewall Restriction Using Manifest
US8392981B2 (en) * 2007-05-09 2013-03-05 Microsoft Corporation Software firewall control
US8307415B2 (en) * 2007-05-09 2012-11-06 Microsoft Corporation Safe hashing for network traffic
US8166534B2 (en) * 2007-05-18 2012-04-24 Microsoft Corporation Incorporating network connection security levels into firewall rules
US8370919B2 (en) * 2007-06-26 2013-02-05 Microsoft Corporation Host firewall integration with edge traversal technology
US8955088B2 (en) * 2007-11-07 2015-02-10 Futurewei Technologies, Inc. Firewall control for public access networks
US9418219B2 (en) * 2008-04-11 2016-08-16 Microsoft Technology Licensing, Llc Inter-process message security
US9130972B2 (en) * 2009-05-26 2015-09-08 Websense, Inc. Systems and methods for efficient detection of fingerprinted data and information
US8612541B2 (en) * 2011-04-29 2013-12-17 Blue Coat Systems, Inc. Method and apparatus for multi-tenant policy management in a network device
IL221975A (en) 2012-09-19 2015-02-26 Tufin Software Technologies Ltd A method and device for managing connectivity between resources in a computer network
EP3161709B1 (en) 2014-06-24 2018-08-01 Virsec Systems, Inc. Automated code lockdown to reduce attack surface for software
US9621588B2 (en) 2014-09-24 2017-04-11 Netflix, Inc. Distributed traffic management system and techniques
US11252190B1 (en) * 2015-04-23 2022-02-15 Amazon Technologies, Inc. Limited access policy bypass
US9900285B2 (en) 2015-08-10 2018-02-20 International Business Machines Corporation Passport-controlled firewall
TW201926108A (zh) * 2017-12-04 2019-07-01 和碩聯合科技股份有限公司 網路安全系統及其方法
US11218508B2 (en) * 2018-06-27 2022-01-04 Cisco Technology, Inc. Assurance of security rules in a network
KR20200033048A (ko) * 2018-09-19 2020-03-27 삼성전자주식회사 패킷을 필터링하는 전자 장치 및 그 작동 방법
CN109088886B (zh) * 2018-09-29 2021-10-01 郑州云海信息技术有限公司 在防火墙上监控策略的管理方法和装置
US11522869B2 (en) * 2020-08-19 2022-12-06 Lenovo (Singapore) Pte. Ltd. User approval of application communication based on location or domain name for device
CN114499948A (zh) * 2021-12-23 2022-05-13 麒麟软件有限公司 一种Linux防火墙动态策略处理方法、装置及存储介质

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5826014A (en) * 1996-02-06 1998-10-20 Network Engineering Software Firewall system for protecting network elements connected to a public network
US5828833A (en) * 1996-08-15 1998-10-27 Electronic Data Systems Corporation Method and system for allowing remote procedure calls through a network firewall
US5987611A (en) 1996-12-31 1999-11-16 Zone Labs, Inc. System and methodology for managing internet access on a per application basis for client computers connected to the internet
US5943478A (en) 1997-04-04 1999-08-24 Flash Communications, Inc. System for immediate popup messaging across the internet
US6345361B1 (en) 1998-04-06 2002-02-05 Microsoft Corporation Directional set operations for permission based security in a computer system
US6366912B1 (en) 1998-04-06 2002-04-02 Microsoft Corporation Network security zones
US6233688B1 (en) * 1998-06-30 2001-05-15 Sun Microsystems, Inc. Remote access firewall traversal URL
US6321334B1 (en) 1998-07-15 2001-11-20 Microsoft Corporation Administering permissions associated with a security zone in a computer system security model
US6925495B2 (en) * 2000-07-13 2005-08-02 Vendaria Media, Inc. Method and system for delivering and monitoring an on-demand playlist over a network using a template
JP2002108729A (ja) * 2000-09-29 2002-04-12 Toshiba Corp ネットワーク接続装置及び同装置に適用されるファイアウォール制御プログラムを記憶したコンピュータ読み取り可能な記憶媒体
JP3775196B2 (ja) * 2000-09-29 2006-05-17 株式会社日立製作所 ネットワークアクセス制御装置,その制御方法,その制御システム及び通信サービス方法
US7533409B2 (en) * 2001-03-22 2009-05-12 Corente, Inc. Methods and systems for firewalling virtual private networks
US7000006B1 (en) * 2001-05-31 2006-02-14 Cisco Technology, Inc. Implementing network management policies using topology reduction
WO2003083692A1 (en) * 2002-03-27 2003-10-09 First Virtual Communications System and method for traversing firewalls with protocol communications
US7146638B2 (en) * 2002-06-27 2006-12-05 International Business Machines Corporation Firewall protocol providing additional information
US20040128545A1 (en) * 2002-12-31 2004-07-01 International Business Machines Corporation Host controlled dynamic firewall system

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104871484A (zh) * 2013-01-23 2015-08-26 迈克菲公司 用于安全环境中的端点硬件辅助的网络防火墙的系统和方法
US10103892B2 (en) 2013-01-23 2018-10-16 Mcafee, Llc System and method for an endpoint hardware assisted network firewall in a security environment
CN104871484B (zh) * 2013-01-23 2019-04-16 迈克菲公司 用于安全环境中的端点硬件辅助的网络防火墙的系统和方法
CN105934927A (zh) * 2014-01-13 2016-09-07 思科技术公司 针对跨安全边界的sdn api调用的动态过滤

Also Published As

Publication number Publication date
EP1492299A3 (en) 2010-07-21
JP2005018769A (ja) 2005-01-20
US7559082B2 (en) 2009-07-07
US20050005165A1 (en) 2005-01-06
CN100499487C (zh) 2009-06-10
EP1492299A2 (en) 2004-12-29
KR20050001397A (ko) 2005-01-06

Similar Documents

Publication Publication Date Title
CN1578232A (zh) 帮助应用穿越防火墙的方法
JP4743911B2 (ja) 分散コンピュータ・ネットワークに接続されたデバイスへの保護エージェントの自動配備
AU2014203463B2 (en) Method and system for managing a host-based firewall
US9558343B2 (en) Methods and systems for controlling access to resources and privileges per process
US7284267B1 (en) Automatically configuring a computer firewall based on network connection
US8321927B2 (en) Network aware firewall
US8443433B2 (en) Determining a merged security policy for a computer system
US8001245B2 (en) System and method for autonomically configurable router
KR100999236B1 (ko) 프레임워크 내의 설치된 필터 집합에 새로운 필터를 추가하는 방법 및 컴퓨터 판독가능 기록 매체
GB2606466A (en) Endpoint security
US20050138416A1 (en) Object model for managing firewall services
CA2458771C (en) Network zones
KR101076683B1 (ko) 호스트 기반의 망분리 장치 및 방법
JP2006074705A (ja) 通信サービスを制限するための装置
US9843603B2 (en) Techniques for dynamic access control of input/output devices
US20080184368A1 (en) Preventing False Positive Detections in an Intrusion Detection System
CN101340275B (zh) 数据卡及其数据处理和传输方法
KR20040065674A (ko) 통합형 호스트 기반의 보안 시스템 및 방법
TW201531880A (zh) 使用基於一邏輯多維度標籤之原則模型之分散式網路安全
Susilo et al. Personal firewall for Pocket PC 2003: design & implementation
KR101059698B1 (ko) 에이피아이 후킹 모듈을 포함하는 휴대용 저장장치 및 이를 이용한 개인 방화벽 운용 방법
US20060075493A1 (en) Sending a message to an alert computer
RU2571725C2 (ru) Система и способ управления параметрами приложений на компьютерных устройствах пользователя
KR20030017063A (ko) 퍼스널 컴퓨터의 방화벽을 위한 시스템

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

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

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington State

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090610

Termination date: 20200625