CN100341282C - 基于通用协议分析引擎的内核级透明代理方法 - Google Patents

基于通用协议分析引擎的内核级透明代理方法 Download PDF

Info

Publication number
CN100341282C
CN100341282C CNB2004100651850A CN200410065185A CN100341282C CN 100341282 C CN100341282 C CN 100341282C CN B2004100651850 A CNB2004100651850 A CN B2004100651850A CN 200410065185 A CN200410065185 A CN 200410065185A CN 100341282 C CN100341282 C CN 100341282C
Authority
CN
China
Prior art keywords
kernel
proxy
protocol
user
analysis engine
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.)
Expired - Fee Related
Application number
CNB2004100651850A
Other languages
English (en)
Other versions
CN1604540A (zh
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.)
Jiangsu Njusoft Co ltd
Nanjing University
Original Assignee
JIANGSU NJUSOFT CO Ltd
Nanjing University
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 JIANGSU NJUSOFT CO Ltd, Nanjing University filed Critical JIANGSU NJUSOFT CO Ltd
Priority to CNB2004100651850A priority Critical patent/CN100341282C/zh
Publication of CN1604540A publication Critical patent/CN1604540A/zh
Application granted granted Critical
Publication of CN100341282C publication Critical patent/CN100341282C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

一种实现防火墙内核级透明代理的方法,它的工作步骤如下:防火墙包过滤在链路层和IP层对数据包进行安全策略检查后,将其通过专用通道传送到TCP层透明代理,代理在确认用户身份后,接着包过滤未完成的工作继续进行安全检查,并利用通用协议分析引擎对数据流进行协议判定以及会话状态分析控制,最终在内外网两条连接之间对数据进行代理转发。通过这种方法,可在网关和网桥两种模式下,无需用户改变原有的网络结构和设置,向用户提供具有身份认证和细粒度访问控制功能的透明代理。

Description

基于通用协议分析引擎的内核级透明代理方法
                           技术领域
本发明涉及一种内核级透明代理的实现技术,是基于通用协议分析引擎的内核级透明代理,特别涉及一种具有高可配置可扩展性的通用协议分析引擎,属于计算机网络安全领域。
                           背景技术
通常的代理都在操作系统应用层实现,但是这种做法效率低下,并且在做NAT的时候要和位于内核中的包过滤模块交互,增加了程序处理的复杂度。因此,将代理放在系统内核中实现是一种很好的解决方案。
此外,目前应用代理一般都是为每种协议开发一个分析程序,虽然具有一定的可扩展性,但开发测试的代价都比较高,利用有限状态自动机的机制,对协议会话状态和通信数据特征进行抽象,可以很好地解决这个问题,并且在实现效率上也比用普通模式匹配算法实现的协议分析程序要高。
                           发明内容
本发明的目的在于,提供一种和包过滤紧密结合的内核透明代理的实现方法,它使得防火墙代理具有更高的处理效率;在安全策略检查方面和包过滤前后相承,无需重复的检查和数据包的复制;并对用户具有透明性,无需额外配置,也不必改变原有网络结构,既支持网关模式也支持网桥模式。
本发明的另一目的在于,使用通用协议分析引擎替代普通的常用协议分析程序,不但对协议分析更精确,效率更高,在对协议支持的扩充方面也具有很高的灵活性、可配置性和可扩展性。
本发明的目的是这样实现的:内核透明代理的实现方法,即基于通用协议分析引擎的内核级透明代理方法,至少包含以下几个步骤:
步骤1:包过滤模块在链路层和IP层,对通过的数据包进行安全检查;
步骤2:根据安全策略将数据包转发、丢弃或送交内核代理;
步骤3:内核代理在确认用户身份后,继续进行安全检查;
步骤4:对符合安全策略的,内核代理代替目标服务器同用户建立连接;
步骤5:内核代理将用户发来的请求传送通用协议分析引擎进行协议判定;
步骤6:内核代理根据安全策略决定是否建立与目标服务器的连接;
步骤7:对符合安全策略的连接,内核代理在内外两条连接间进行代理转发,并将所有通过的数据送通用协议分析引擎进行分析检查。
本发明的改进在于:在此基础上,实现内核透明代理与包过滤一体化的安全检查方法,使两者共用同一安全策略表,分析同一个未经复制的数据包,并且代理可接着包过滤分析到的检查点继续进行安全策略检查。
包过滤发现数据包需要代理处理后,要提供对应用代理的支撑,通过对skb中的相关项进行修改,利用协议栈实现专用通道将待处理数据包传送到TCP层内核代理。
内核代理首先要确认用户身份,它利用工作于操作系统应用层的身份认证系统,代理通过内核接口获得已认证用户的信息,用户一次认证可持续使用;对未认证用户,代理在返回认证失败提示的同时,通过网络触发用户认证客户端弹出请求认证的窗口,提请用户到防火墙进行身份认证。
之后,内核代理使用通用协议分析引擎,用通用的调用接口和程序,对当前连接的应用层协议进行判定和监控,使得代理的协议判定不仅仅依赖于连接的目标端口。
该通用协议分析引擎,用经过抽象的协议通讯数据特征,代替对不同协议进行分析的编码,用统一的分析程序依据协议特征库进行分析,提高协议支持的可配置可扩展性。它还使用有限状态自动机的机制,对协议会话状态进行抽象,根据对数据流的特征分析进行状态转换,对应用层协议会话过程进行分析控制,由此实现应用层协议命令监控等细粒度访问控制。此外,还是用使用语法分析表对数据流进行协议分析,该表对通讯数据特征进行抽象,在分析具体数据流时,可实现无回溯的快速匹配。
本发明在操作系统内核协议栈中实现了包过滤和应用代理的协同工作,减少了重复的安全检查以及额外的数据包复制,具有很高的工作效率,结合NAT也实现了对用户的透明性,使得用户无需额外配置,支持网关/网桥双模式,不必改变用户原有网络结构。通用协议分析引擎的引入,使得对新应用协议支持的更加简便,无需为新协议分析代码的编写和测试提供额外开销,在效率上也由于采取了更好的算法具有更高的性能。
                          附图说明
图1为本发明的包过滤预处理的流程图;
图2为本发明的包过滤提供的应用代理支撑的流程图;
图3为本发明的内核代理安全策略检查的流程图;
图4为本发明的内核代理模块的结构图;
图5为本发明的通用协议分析引擎对SMTP协议进行特征抽象的有限状态自动机示例;
图6为本发明的一个对HTTP协议GET/PUT/POST命令抽象的语法分析表的示例。
图7为本发明流程图
                     具体实施方式
下面结合附图和具体实施方式对本发明做进一步的详细说明:
本发明主要包含两方面的技术要素:在操作系统内核中实现的、与包过滤紧密结合的透明代理的实现;以及透明代理中使用的通用协议分析引擎。图1、图2、图3,主要说明本发明中描述的与包过滤紧密结合的内核透明代理的工作流程;图4说明了该透明代理的主要组成与结构;图5给出将一个协议的会话流程抽象为有限状态自动机的例子;图6则给出一个构造语法分析表的简单实例。
具体的,参见图1,包过滤模块截获网络数据包之后,在链路层和IP层对数据包进行分析转发,并在策略树中查找相应的安全策略分支。根据查找的结果,对数据包进行转发/丢弃处理,对需要代理处理的发送应用代理支撑函数进行处理。
参见图2,应用代理支撑函数首先在全状态表中添加本连接信息项,然后在skb中将代理模式置位,并记录原目标地址,接着取接收该数据包的网卡地址填充在目的地址字段,并重新计算数据包校验和,这样数据包就进入了协议栈的一个专用通道,经由这个通道数据包可到达位于TCP层的透明代理,此外,针对网关和网桥两种模式在连接建立时要做不同的处理,网关模式下要变换socket中的域,以便数据包能从TCP层返回,网桥模式下则要实时生成伪输入路由和伪输出路由,使得数据包可以经过TCP层。
参见图3,应用代理在收到新连接的数据包时,首先对数据包来源的用户身份进行认证,这个过程要借助操作系统应用层的认证程序完成,用户在使用代理前要先用专用客户端进行身份认证,使用完毕后手动选择或一定时间内没有数据通过防火墙,该用户被注销登录,在此期间,代理可通过内核接口获得用户认证信息以确定用户身份,如当前用户未认证,则发UDP包到认证客户端提示用户进行认证,并同时拒绝当前连接;认证完成后,代理从skb读当前连接信息,包括包过滤已经匹配到的安全策略检查点,从这点开始,代理继续进行应用层的安全审查,其间将数据转交通用协议分析引擎进行协议分析、细粒度访问控制以及内容过滤等工作,分析结束后决定是否对当前数据进行转发。
参见图4,包过滤和内核代理相结合的系统结构图,包过滤提供数据包以及当前检查点给内核代理,内核代理调用身份认证接口获得用户身份信息,并继续包过滤未完的安全检查,然后将数据交通用协议分析引擎按协议库中配置的协议特征进行分析,并将需要的部分送内容检查函数进行内容过滤,最终返回审查结果给内核代理,内核代理进行相应的转发或者拒绝连接的操作。
参见图5,一个简化的SMTP(简化邮件传输协议)协议通信状态转换图示例,从初始状态Initial State开始,每次收到客户端命令时,进行一次状态转换,经过发出邮件send、接收邮件received和,reset表示复位,可以随时监控当前命令、以及它是否合乎会话状态,进行这样的抽象之后,任意的应用协议(经过加密处理的除外)都可以有限状态自动机的形式放入协议库,用通用的分析程序进行解析。Send Data发送文件,Have Messag表示有消息。
参见图6,用于分析协议命令的语法分析表示例,该算法用于对数据流进行无回溯的匹配,其中,ξ-Find为通配符,代表任意的字符串,Δ1Δ2为限界符,代表有该字符串出现时前面的通配符作用域结束,在这里,Δ1为空格、Δ2为回车换行”\r\n”。经过这样的匹配当到达end时,即可得出当前的命令或者发现语法不符合协议规定的结论。
最后应当说明:以上实施例仅用以说明本发明而并非限制本发明的技术方案,尽管参照上述的各个实例对本发明已经进行了详细地说明,但是,本领域的普通技术人员应当理解,仍然可以对本发明进行修改或者等同替换,一切不脱离本发明的精神和范围的技术方案及其改进,均应涵盖在本发明的权利要求范围当中。

Claims (4)

1.基于通用协议分析引擎的内核级透明代理方法,其特征为至少包含以下几个步骤:
步骤1:包过滤模块在链路层和IP层,对通过的数据包进行安全检查;包过滤模块中的包过滤时发现数据包需要代理处理后,实现包过滤对应用代理进行支撑,对skb中的相关项进行修改,利用协议栈实现专用的代理数据包传送通道;
步骤2:根据安全策略将数据包转发、丢弃或送交内核代理;
步骤3:内核代理在确认用户身份后,继续进行安全检查;上述内核代理确认用户身份的方法是:在有工作于操作系统应用层的身份认证系统中,用户一次认证持续使用,代理通过内核接口获得已认证用户的信息,对未认证用户,在返回认证失败提示的同时,通过网络触发用户认证客户端弹出请求认证的窗口提请用户进行身份认证;采用内核透明代理与包过滤一体化的安全检查方法:两者共用同一安全策略表,分析同一个未经复制的数据包,并且代理接着包过滤分析到的检查点继续进行安全策略检查;
步骤4:对符合安全策略的,内核代理代替目标服务器同用户建立连接;
步骤5:内核代理将用户发来的请求传送至通用协议分析引擎进行协议判定;
步骤6:内核代理根据安全策略决定是否建立与目标服务器的连接;
步骤7:对符合安全策略的连接,内核代理在内外两条连接间进行代理转发,并将所有通过的数据送通用协议分析引擎进行分析检查。
2.根据权利要求1所述的基于通用协议分析引擎的内核级透明代理方法,其特征在于设有实现应用层协议支持可配置可扩展的方法:用经过抽象的协议通讯数据特征,代替对不同协议进行分析的编码,用统一的分析程序依据协议特征库进行分析,提高协议支持的可配置可扩展性。
3.根据权利要求2所述的基于通用协议分析引擎的内核级透明代理方法,其特征在于:实现应用层协议支持可配置可扩展的方法中,会话过程分析控制的方法是:使用有限状态自动机机制,对协议会话状态进行抽象,根据对数据流的特征分析进行状态转换,并以此为基础实现应用层协议命令监控等细粒度访问控制。
4.根据权利要求1所述的基于通用协议分析引擎的内核级透明代理方法,其特征在于:对通过的数据包进行安全检查,对数据流进行协议分析,使用语法分析表,对通讯数据特征进行抽象,在对数据流进行分析时,实现无回溯的快速匹配。
CNB2004100651850A 2004-10-29 2004-10-29 基于通用协议分析引擎的内核级透明代理方法 Expired - Fee Related CN100341282C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2004100651850A CN100341282C (zh) 2004-10-29 2004-10-29 基于通用协议分析引擎的内核级透明代理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2004100651850A CN100341282C (zh) 2004-10-29 2004-10-29 基于通用协议分析引擎的内核级透明代理方法

Publications (2)

Publication Number Publication Date
CN1604540A CN1604540A (zh) 2005-04-06
CN100341282C true CN100341282C (zh) 2007-10-03

Family

ID=34666469

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2004100651850A Expired - Fee Related CN100341282C (zh) 2004-10-29 2004-10-29 基于通用协议分析引擎的内核级透明代理方法

Country Status (1)

Country Link
CN (1) CN100341282C (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217464B (zh) * 2007-12-28 2010-09-08 北京大学 一种udp数据包的传输方法
CN101217493B (zh) * 2008-01-08 2011-05-04 北京大学 一种tcp数据包的传输方法
CN101374050B (zh) * 2008-10-23 2011-04-06 普天信息技术研究院有限公司 一种实现身份认证的装置、系统及方法
CN101453424B (zh) * 2009-01-06 2011-09-07 中国人民解放军信息工程大学 一种网络信息资源访问控制方法和系统
CN101854340B (zh) * 2009-04-03 2015-04-01 瞻博网络公司 基于访问控制信息进行的基于行为的通信剖析
JP4843116B1 (ja) * 2011-08-22 2011-12-21 株式会社Into ネットワークゲートウェイ装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349336B1 (en) * 1999-04-26 2002-02-19 Hewlett-Packard Company Agent/proxy connection control across a firewall
WO2002046971A1 (en) * 2000-12-05 2002-06-13 Softdomain Remote service agent for sending commands and receiving data over e-mail network
US6584508B1 (en) * 1999-07-13 2003-06-24 Networks Associates Technology, Inc. Advanced data guard having independently wrapped components
CN1437115A (zh) * 2002-02-08 2003-08-20 联想(北京)有限公司 实现防火墙交换式透明代理的方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6349336B1 (en) * 1999-04-26 2002-02-19 Hewlett-Packard Company Agent/proxy connection control across a firewall
US6584508B1 (en) * 1999-07-13 2003-06-24 Networks Associates Technology, Inc. Advanced data guard having independently wrapped components
WO2002046971A1 (en) * 2000-12-05 2002-06-13 Softdomain Remote service agent for sending commands and receiving data over e-mail network
CN1437115A (zh) * 2002-02-08 2003-08-20 联想(北京)有限公司 实现防火墙交换式透明代理的方法

Also Published As

Publication number Publication date
CN1604540A (zh) 2005-04-06

Similar Documents

Publication Publication Date Title
US7823194B2 (en) System and methods for identification and tracking of user and/or source initiating communication in a computer network
US6321336B1 (en) System and method for redirecting network traffic to provide secure communication
CN101465856B (zh) 一种对用户进行访问控制的方法和系统
CN100459563C (zh) 认证网关及其数据处理方法
CN111586025B (zh) 一种基于sdn的sdp安全组实现方法及安全系统
JP2003525557A (ja) 迅速なパケット・フィルタリング及びパケット・プロセシングのためのシステム、デバイス及び方法
CN1575462A (zh) 在第2层装置中实现第3层/第7层防火墙的方法和设备
US20020042883A1 (en) Method and system for controlling access by clients to servers over an internet protocol network
EP0986229A2 (en) Method and system for monitoring and controlling network access
CN1790980A (zh) 安全验证通告协议
CN101051891A (zh) 一种安全网关中进行安全策略统一处理的方法及装置
WO2002035795A1 (en) Transparent proxy server
US7249191B1 (en) Transparent bridge that terminates TCP connections
EP1574009B1 (en) Systems and apparatuses using identification data in network communication
CN1747436A (zh) 一种虚拟专网客户端的接入方法及系统
CN110401672A (zh) 一种基于虚拟网卡的网络访问控制系统及方法
CN100341282C (zh) 基于通用协议分析引擎的内核级透明代理方法
CN1538706A (zh) 一种用于web认证的http重定向方法
CN112532642A (zh) 一种基于改进Suricata引擎的工控系统网络入侵检测方法
CN1521993A (zh) 网络控制方法和设备
CN1184781C (zh) 网络通信中报文的封装转发方法
CN1947455A (zh) 支持无线台站之后的网络
CN1688124A (zh) 基于端口技术和认证协议的无线网络接入控制方法
CN1317852C (zh) 防火墙内核安全组件一体化的方法
CN1606304A (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
C14 Grant of patent or utility model
GR01 Patent grant
C56 Change in the name or address of the patentee

Owner name: NANJING UNIVERSITY; JIANGSU NANDA SUFUTE SOFTWARE

Free format text: FORMER NAME OR ADDRESS: JIANGSU NANDA SUFUTE SOFTWARE CO., LTD.; NANJING UNIVERSITY

CP03 Change of name, title or address

Address after: 210093 No. 22, Hankou Road, Nanjing, Jiangsu

Co-patentee after: JIANGSU NJUSOFT Co.,Ltd.

Patentee after: NANJING University

Address before: 210008, Beijing West Road, Jiangsu, Nanjing

Co-patentee before: Nanjing University

Patentee before: JIANGSU NJUSOFT Co.,Ltd.

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: 20071003

Termination date: 20211029