CN107317816B - 一种基于客户端应用程序鉴别的网络访问控制方法 - Google Patents

一种基于客户端应用程序鉴别的网络访问控制方法 Download PDF

Info

Publication number
CN107317816B
CN107317816B CN201710540866.5A CN201710540866A CN107317816B CN 107317816 B CN107317816 B CN 107317816B CN 201710540866 A CN201710540866 A CN 201710540866A CN 107317816 B CN107317816 B CN 107317816B
Authority
CN
China
Prior art keywords
requester
network
information
access control
request
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.)
Active
Application number
CN201710540866.5A
Other languages
English (en)
Other versions
CN107317816A (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.)
BEIJING INFORMATION TECHNOLOGY COLLEGE
Original Assignee
BEIJING INFORMATION TECHNOLOGY COLLEGE
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 BEIJING INFORMATION TECHNOLOGY COLLEGE filed Critical BEIJING INFORMATION TECHNOLOGY COLLEGE
Priority to CN201710540866.5A priority Critical patent/CN107317816B/zh
Publication of CN107317816A publication Critical patent/CN107317816A/zh
Application granted granted Critical
Publication of CN107317816B publication Critical patent/CN107317816B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0876Network architectures or network communication protocols for network security for authentication of entities based on the identity of the terminal or configuration, e.g. MAC address, hardware or software configuration or device fingerprint
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/102Entity profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Power Engineering (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公布了基于客户端应用程序鉴别的网络访问控制方法,构建包括请求者、控制器和服务方的网络安全应用系统;在客户端作为请求者访问服务方提供的网络资源时,额外提供客户端进程信息,控制器串接在请求者和服务方之间,根据客户端进程信息精确判断访问的来源,据此进行访问控制;客户端进程信息的处理在协议栈底层完成,由此可在不修改已有的网络应用的服务器和客户端的前提下进行网络访问控制,达到网络防护的目的。本发明操作简单方便,能起到有效的网络防护作用,适用于各种网络访问控制应用。

Description

一种基于客户端应用程序鉴别的网络访问控制方法
技术领域
本发明涉及计算机与网络安全技术领域,尤其涉及一种基于网络客户端应用程序(进程信息)鉴别进行网络访问控制的方法。
背景技术
TCP/IP各主要协议主要用来实现互联互通,而安全性并不是首要考虑的,相关的若干安全协议是后来应对各种不断涌现的问题而提出的,实现相关的功能往往也需要特殊的设备,有些甚至要求每一种网络设备都要支持。
当前以防火墙、入侵检测系统、入侵防御系统等构成的网络安全防护体系完全基于现有的网络协议设计,其防护原理或是基于网络报文的协议特征,或是基于网络传输的数据特征,并没有考虑通讯双方主机环境内的应用程序运行情况。这导致此类产品的防护效果是有限的,一方面仅针对协议特征的过滤由于可用信息(地址、端口)过少导致失效,使用黑客工具伪造的报文是可以穿过防火墙的;另一方面,针对报文内容的过滤则需要庞大的、不断更新的知识库,各种入侵检测/防御系统面对0Day攻击仍然无能为力。
在信息安全领域中,访问控制是最基本的、最重要的技术手段之一,其主要任务是根据策略(规则,即访问控制矩阵)确定用户代理(主体)是否有权限访问资源(客体),从而达到保护指定资源的目的。访问控制主要包含认证、授权和审计,其中认证是先决条件,用于确认主体的身份,授权、审计动作依赖于认证的结果。
防火墙使用的就是访问控制技术,按网络报文中的地址和端口信息来制定规则,其主体是网络地址+端口,客体也是网络地址+端口,而将地址和端口信息无论是作为主体,还是作为客体,都是模糊的、粗粒度的,很难达到预期的目的。例如,一个Web服务在TCP 80端口监听,预期响应浏览器发起的连接请求,但是当一个连接请求到达后,仅根据网络地址和端口信息,防火墙无法确定对方到底是一个浏览器,还是一个恶意的工具。套用访问控制模型,这种情况就是因主体不明确而导致控制失效。
现有访问控制技术主要采用网络防火墙、主机防火墙或代理(堡垒主机)。其中,网络防火墙是一种位于内部网络与外部网络之间的网络安全设备,防火墙参照网络协议的设计,依照特定的规则,允许或是限制传输的数据通过(即包过滤),由此达到防护内网主机的目的。防火墙在过滤时的主要根据是报文中包含的网络地址、协议和端口信息,此外,防火墙还支持连接状态的分析。网络防火墙仅根据网络报文里包含的协议信息进行过滤,无法确定报文是否来源于正确的网络应用。
主机防火墙是部署在计算机操作系统上,与网络防火墙相比,主机防火墙的过滤依据除了网络地址、协议和端口信息之外,还支持对本机的进程进行过滤。主机防火墙能够有效的拦截未授权的本地应用使用网络资源。但主机防火墙仍然无法确定报文是否来源于正确的网络应用。
代理(堡垒主机)可能是一台专属的硬件设备,也可能只是计算机上的一套软件,代理能够像常规的应用程序一样,响应客户端的报文并转发双方的数据,代理能够对于传输数据的内容进行审计,同时能够拦截其他的报文,达到类似于防火墙的效果。与防火墙一样,代理也同样无法获取报文来源的精确信息。而且,代理在兼容性方面也存在问题,对于一些网络应用会造成影响。例如当作为专属的硬件设备或堡垒主机时,对于使用TLS加密的报文,会影响证书的交换过程,对于IPSec报文也是不兼容的。此外,代理对网络性能也存在一定的影响。
发明内容
为了克服上述现有技术的不足,本发明提供一种基于客户端应用程序(客户端进程信息)的网络访问控制方法,通过鉴别应用程序,能够精确判断网络访问的来源;利用该方法可构建具备强访问控制能力的网络安全应用系统,由此实现可以在不修改已有的网络应用(服务应用程序和客户端应用程序)的前提下,达到网络防护的目的。
本发明的原理是:利用本发明方法构建具备强访问控制能力的网络安全应用系统,构建的系统逻辑上可抽象为以下三种对象(角色):请求者、控制器和服务方;其中:请求者:网络资源访问的请求方,是网络连接的发起者;控制器:是访问控制的执行者,串接在请求者和服务方之间,控制器包含管理员用户界面,以供管理员注册服务方的网络资源信息(如应用描述、监听请求的网络地址和端口),以及制定的访问控制策略(如请求某个资源要求访问者具备某些特征);在访问请求抵达后,控制器负责验证请求的来源信息,以仲裁请求是否可以通过;服务方是提供网络资源的服务程序。
本发明提供的技术方案是:
一种网络访问控制方法,该方法不仅使用网络协议中包含的信息(如IP地址、协议和端口)进行判断,还通过鉴别/判断客户端的进程信息,由此进行网络访问控制;可构建具备强访问控制能力的网络安全应用系统;所述网络安全应用系统的角色包括请求者、控制器和服务方;客户端进程作为请求者访问网络资源;服务应用程序作为服务方提供网络资源;控制器串接在请求者和服务方之间,用于执行网络访问控制;包括如下步骤:
A.改造请求者计算机和控制器设备的TCP/IP协议栈,以支持请求者详细信息的处理,在TCP的握手过程中交换进程信息;
其中,请求者详细信息包括(但不限于):
(一)请求者的主机信息:计算机标识,操作系统版本;
(二)请求者的进程信息:进程名称,可执行镜像的版本信息、HASH及代码签名信息;
(三)请求者的调用线程信息:线程的调用栈签名,最后一个代码签名不明确的动态库。
所述改造请求者计算机和控制器设备的TCP/IP协议栈,具体来说,针对请求者计算机操作系统,使用挂钩技术(对于非开源系统)或重新编译协议栈驱动程序(对于开源系统),使其TCP/IP协议栈在发起连接请求时,能够在连接报文中附加请求者详细信息;对于控制器的操作系统,同样使用挂钩技术(对于非开源系统)或重新编译协议栈驱动程序(对开源系统),使其TCP/IP协议栈在处理连接请求时,能够解析出请求者的详细信息。
本发明在具体实施时,对于请求者,在请求者计算机操作系统上安装TCP/IP协议栈的请求者插件程序;请求者插件程序同操作系统的TCP/IP协议栈驱动程序同样运行在内核模式下。对于控制器,当控制器与服务方位于同一主机,在服务方计算机操作系统上安装TCP/IP协议栈的插件程序作为控制器角色;当控制器为专用的控制器设备时,控制器设备是双接口(包括请求来源网络接口和被保护网络接口)的网络设备;该设备内部操作系统的TCP/IP协议栈在报文转发部分加以特殊处理:在其请求来源网络接口上,可处理携带有请求者信息的请求报文,在处理后转发到被保护网络接口;在其被保护网络接口上,则不做任何处理,直接转发到来源网络接口。
B.通过控制器注册服务方的网络资源信息、制定访问控制策略、在访问请求抵达后验证请求的来源信息,以仲裁请求是否可以通过;
控制器包含管理员用户界面,以供管理员注册服务方的网络资源信息(如应用描述、监听请求的网络地址和端口),以及制定的访问控制策略(如请求某个资源要求访问者具备某些特征);在访问请求抵达后,控制器负责验证请求的来源信息,以仲裁请求是否可以通过;
C.服务方提供的应用程序可以不做任何改动;也可以实现自主注册机制之类的应用,为更好地支持访问控制。
所述网络访问控制过程包括如下步骤:
1)请求者发起对网络资源访问的请求;将请求发送到服务方;
在本发明具体实施中,请求者应用程序可以是任意的用户模式进程,这些进程使用操作系统提供的套接字API向服务方发送访问请求;在请求者计算机操作系统上安装TCP/IP协议栈的请求者插件程序;请求者插件程序同操作系统的TCP/IP协议栈驱动程序同样运行在内核模式下,使得请求者插件在处理请求时的运行上下文(进程/线程)与请求者应用程序一致;请求者插件程序负责拦截应用程序到服务方的连接请求,采集请求发生时的调用环境信息,包括如前所述的主机信息、进程信息及线程信息,并将这些信息采用特定的算法及参数编码后,附加到后续构造的连接报文中,发送到服务方;
2)控制器接收/拦截到所述对网络资源访问的请求,验证所述请求的来源信息,仲裁所述请求是否可以通过;
控制器和服务方可能位于同一主机;也可以为专用的控制器设备;可以是为多个服务方提供防护的多控制器;在多控制器的情况下,可以将控制器的实现分离成两部分:控制器和控制器管理中心,控制器负责履行访问控制,管理中心为管理员提供统一的管理界面。
在本发明一实施例中,控制器与服务方位于同一主机,在服务方计算机操作系统上安装TCP/IP协议栈的插件程序作为控制器角色,该插件程序负责对呼入的请求进行来源验证:在验证通过后,剥离连接报文中的验证信息,提交到上层的服务方应用程序;如果验证失败,则丢弃报文,拒绝请求。控制器提供管理员用户界面,实现服务方网络资源的定义(注册)及访问控制策略的编辑;该管理界面以本机程序呈现,包含命令行接口和图形界面接口。
在本发明另一实施例中,控制器为专用的控制器设备,该设备在逻辑上可理解为一个双接口的网络设备,串接在请求来源网络与被保护网络之间,其内部操作系统的TCP/IP协议栈在报文转发部分加以特殊处理:在其请求来源网络接口上,可处理携带有请求者信息的请求报文,在处理后转发到被保护网络接口;在其被保护网络接口上,则不做任何处理,直接转发到来源网络接口;控制器设备可提供命令行(CLI)、Web管理接口,或基于SNMP的管理接口,以供管理员操作。
控制器执行操作具体包括如下步骤:
步骤一,注册服务方网络资源:
管理员获得控制器需要对来源进行鉴别的服务应用程序,在控制器管理界面上登记服务应用程序的名称、开放监听的网络地址及端口号;并获得能够访问此服务应用程序的客户端应用程序;
具体地,对于一个服务应用程序,管理员需要整理出它的URL,即开放监听的IP地址和端口号;并且期望哪些客户端应用程序能够访问此服务,提取出这些客户端应用程序的进程名称、版本、哈希值、发布者(其中发布者一般通过代码签名技术确认)。例如,对于一个视频会议服务V,管理员希望制定策略仅允许应用程序a能访问,为此,管理员需要采集应用程序a的特征信息,例如:进程名称、版本、进程文件的哈希值、发布者等;然后制定访问控制策略,就是建立V到a的一个映射关系。系统工作时,在控制器拦截到对视频会议服务V的访问时,就可以尝试从其请求者信息中提取出上述进程的特征,如果匹配,即可确认来源是应用程序a,允许访问,反之如果不包含或者不匹配,则阻断请求。由此,即可确保合规的应用访问被保护的服务。
步骤二,制定访问控制策略,构成访问控制矩阵:
管理员针对已注册的服务方网络资源,指定访问该服务的请求者需要满足哪些条件(例如,进程名称、版本或HASH值、是否要求代码签名,调用栈匹配等),将这些条件关联到服务方网络资源,并可指定审计规则,多个这样的关联构成访问控制矩阵;
步骤三,访问控制实施:
控制器程序在拦截到对指定服务方网络资源的呼入请求后,检查其请求中是否包含符合标准的请求者信息,如果不包含,则拒绝请求并可在拒绝报文中提出来源信息要求,以期请求者重新发送符合要求的请求;如果呼入的请求中包含请求者信息,则尝试根据步骤二中制定的访问控制策略对请求者信息进行匹配,如果匹配则放行连接请求,否则丢弃报文,拒绝请求。
步骤三所述访问控制实施过程具体包括:
步骤3A,请求目标判断,即根据请求报文中的目标地址和目标端口信息,在访问控制矩阵中查找服务方网络资源注册信息,如果没有找到,则根据默认规则放行或拒绝请求;
步骤3B,请求者信息提取,即从请求报文中提取出请求者信息,如果信息存在且符合标准,则将其解码到本地的数据结构;
步骤3C,如果请求报文中不包含必要的请求者信息,控制器程序将根据系统的配置决定简单的拒绝此请求,或者直接发送包含来源要求的拒绝报文,以期客户端重新发送符合标准的请求。
步骤3D,访问控制匹配,在提取出请求者信息后,控制器程序按照访问控制矩阵中描述的规则对请求者进行验证,在满足条件后,从请求报文中卸载掉请求信息(这是为了尽量不影响协议栈上层程序的处理),放行请求;如果不匹配,则丢弃报文,拒绝请求。
采用本发明方法,当控制器和网络服务在一台主机上时,报文的处理是内部的提交和丢弃;当控制器分离成独立的设备时,就可以看成一个逻辑上的双端口设备,报文处理则以转发为主,将报文转发至被保护网络接口。
步骤3E,对于步骤D的访问控制匹配结果,可根据审计规则,记录访问日志,或发送警报。
3)服务方返回常规的连接确认或拒绝,提交到上层应用程序。
与现有技术相比,本发明的有益效果是:
本发明提供一种基于客户端应用程序/进程信息鉴别的网络访问控制方法,通过鉴别应用程序,能够精确判断网络访问的来源;利用该方法可构建具备强访问控制能力的网络安全应用系统,由此实现可在不修改已有的网络应用的前提下,达到网络防护的目的。例如,当有非法的黑客工具尝试攻击视频服务V时,该工具发送的请求不会携带请求者信息,请求在经过控制器时,就会被阻断。而这在现有传统的网络安全防护技术中是无法做到的,如在穿透的技术中,防火墙或入侵检测设备在接收到请求时,只能根据报文中携带的源地址和源端口进行判断,达不到网络防护的目的。本发明操作简单方便,且能起到有效的网络防护作用,适用于各种网络访问控制应用中。
附图说明
图1是本发明提供的网络访问控制方法中请求者、控制器和服务方角色关系。
图2是本发明实施例一中请求者的系统结构框图。
图3是本发明实施例二中控制器与服务方位于同一主机的系统结构框图。
图4是本发明实施例三中控制器作为专用设备的系统结构框图。
具体实施方式
下面结合附图,通过实施例进一步描述本发明,但不以任何方式限制本发明的范围。
本发明提供一种基于客户端应用程序鉴别的网络访问控制方法,能够精确判断网络访问的来源;利用该方法可构建具备强访问控制能力的网络安全应用系统,由此达到在不修改已有的网络应用前提下进行网络防护的目的。
利用本发明方法构建具备强访问控制能力的网络安全应用系统,构建的系统逻辑上可抽象为三种对象/角色:请求者、控制器和服务方。请求者是网络资源访问的请求方,是网络连接的发起者;控制器是访问控制的执行者,串接在请求者和服务方之间,控制器包含管理员用户界面,以供管理员注册服务方的网络资源信息(如应用描述、监听请求的网络地址和端口),以及制定的访问控制策略(如请求某个资源要求访问者具备某些特征)。在访问请求抵达后,控制器负责验证请求的来源信息,以仲裁请求是否可以通过。服务方是提供网络资源的服务程序。图1示意了本发明方法中网络访问请求在请求者、控制器和服务方角色之间传递的过程。在客户端作为请求者访问服务方提供的网络资源时,额外提供客户端进程信息,控制器串接在请求者和服务方之间,根据客户端进程信息精确判断访问的来源,据此进行访问控制;客户端进程信息的处理在协议栈底层完成,由此可在不修改已有的网络应用的服务器和客户端的前提下进行网络访问控制,达到网络防护的目的。
以下实施例分别说明系统角色为请求者的情况、系统控制器与服务方位于同一主机的情况、控制器作为专用设备的实现情况。
实施例一:系统角色为请求者的情况;
如图2所示的请求者应用程序可以是任意的用户模式进程,这些进程使用操作系统提供的套接字API向服务方发送访问请求。
为达成本发明所述技术的要求,即在不改动已有应用程序的前提下,实现匹配客户端进程信息的网络访问控制,需要在请求者计算机操作系统上安装TCP/IP协议栈的插件程序,即下文所述的请求者插件。请求者插件同操作系统的TCP/IP协议栈驱动程序同样运行在内核模式下,这使得请求者插件在处理请求时的运行上下文(进程/线程)与请求者应用程序一致,在报文进一步传递到微端口设备前,提取请求者的进程信息和线程信息在技术上是可行的。
请求者插件程序负责拦截应用程序到服务方的连接请求,采集请求发生时的调用环境信息,包括如前所述的主机信息、进程信息及线程信息,并将这些信息采用特定的算法及参数编码后,附加到后续构造的连接报文中,发送到服务方。
对连接报文的具体构造方法,根据协议特征有其它的专项技术予以保障,本发明所述的方法中不做特定的说明。
请求者插件程序可视作可信计算基(TCB),其采集、传输信息的可靠性(不可仿冒、不可篡改)决定了系统的安全性。对此,有其它的专项技术(诸如公钥基础设施,PKI)予以保障,本发明所述的方法中不做特定的说明。
请求者的实施步骤详细如下:
步骤一,配置请求者插件的工作模式,在请求者插件程序安装时,可配置工作参数
,具体可包括:
1)工作模式:配置为主动模式或被动模式。
2)主动模式下,采用默认的信息编码的算法参数,如加密算法的类型(AES)、提供者(软算法还是硬件)、密钥长度(128位、256位)以及密钥等。
3)被动模式下,可用信息编码的算法参数,如加密算法的类型、提供者、密钥长度以及密钥等。
步骤二,请求者插件在启动时采集主机相关的信息,包括计算机ID、操作系统版本号等,缓存起来以备后续步骤使用。
步骤三,在请求者插件拦截到上层应用程序对外部网络资源的连接请求时,实时采集当前的调用环境信息,包括进程信息(名称,版本,HASH,代码签名等)、线程信息(调用栈签名,最近的代码签名不明的动态库),这些信息与步骤二中采集的主机信息联合起来,即可构成完整的请求者信息。
步骤四,如果工作模式为主动模式,请求者插件将按步骤一中配置的默认算法将请求者信息编码,附加到连接请求报文中,由协议栈发送到服务方。
步骤五,如果工作模式为被动模式,请求者插件将缓存当前的请求者信息,以供在服务方回送来源要求时使用。
所述的步骤五,具体包括:
步骤A,从连接报文中提取出本次连接的会话信息,如源、目标网络地址,源、目标端口,以及协议中包含特定信息(如TCP协议中的SYN/ACK序号)。
步骤B,在缓存中建立会话信息与请求者信息的映射关系,并为其开启超时定时器,以便在合适的时间后销毁此缓存。
步骤C,放行连接报文,报文将被发往服务方。
步骤D,如果连接请求被控制器拦截,请求者插件将随后接收到来源于控制器的回送带有来源要求的拒绝连接报文,从步骤B中缓存的映射中查找到会话对应的请求者信息(这是因为此时先前的调用环境已丢失),构造新的连接报文,发往服务方。
步骤E,如果连接请求没有被控制器拦截,从服务方返回了常规的连接确认报文,则继续常规的连接会话,销毁步骤B中缓存的会话信息。
步骤F,如果连接请求在步骤B中设定的时间之前没有返回任何应答,定时器例程将销毁步骤B中建立的缓存。
步骤六,服务方返回了常规的连接确认或拒绝,提交到上层应用程序。
至此,请求者插件的一次处理流程完毕,下一次的会话处理将重复上述步骤三至步骤六的流程。
实施例二:控制器与服务方位于同一主机的情况;
图3是本发明实施例二中控制器与服务方位于同一主机的系统结构框图。本发明要达到在不改动已有应用程序的前提下,实现匹配客户端进程信息的网络访问控制,因此,需要在服务方计算机操作系统上安装TCP/IP协议栈的插件程序充当控制器角色,该插件程序负责对呼入的请求进行来源验证:在验证通过后,剥离连接报文中的验证信息,提交到上层的服务方应用程序;如果验证失败,则丢弃报文,拒绝请求。
控制器需要提供管理员用户界面,实现服务方网络资源的定义(注册),及访问控制策略的编辑,该管理界面以本机程序呈现,包含命令行接口和图形界面接口。
本实施例所述方法的实施步骤如下:
步骤一,注册服务方网络资源:管理员整理出本主机需要对来源进行鉴别的服务应用程序信息,在控制器管理界面上登记服务的名称、开放监听的网络地址及端口号。
步骤二,制定访问控制策略:管理员针对已注册的服务方网络资源,指定访问该服务的请求者需要满足哪些条件(例如,进程名称、版本或HASH值、是否要求代码签名,调用栈匹配等),将这些条件关联到服务方网络资源,并可指定审计规则,多个这样的关联构成访问控制矩阵。
步骤三,访问控制实施:控制器程序在拦截到对指定服务方网络资源的呼入请求后,检查其请求中是否包含符合标准的请求者信息,如果不包含,则拒绝请求并可在拒绝报文中提出来源信息要求,以期请求者重新发送符合要求的请求;如果呼入的请求中包含请求者信息,则尝试根据步骤二中制定的访问控制规则对请求者信息进行匹配,如果匹配则放行连接请求,否则丢弃报文,拒绝请求。
所述步骤三,具体包括:
步骤A,请求目标判断,即根据请求报文中的目标地址和目标端口信息,在访问控制矩阵中查找服务方网络资源注册信息,如果没有找到,则根据默认规则放行或拒绝请求。
步骤B,请求者信息提取,即从请求报文中提取出请求者信息,如果信息存在且符合标准,则将其解码到本地的数据结构。
步骤C,如果请求报文中不包含必要的请求者信息,控制器程序将根据系统的配置决定简单的拒绝此请求,或者直接发送包含来源要求的拒绝报文,以期客户端重新发送符合标准的请求。
步骤D,访问控制匹配,在提取出请求者信息后,控制器程序按照访问控制矩阵中描述的规则对请求者进行验证,在满足条件后,从请求报文中卸载掉请求信息(这是为了尽量不影响协议栈上层程序的处理),放行请求;如果不匹配,则丢弃报文,拒绝请求。
步骤E,对于步骤D的访问控制匹配结果,可根据审计规则,记录访问日志,或发送警报。
实施例三:控制器作为专用设备实现的情况;
图4是本发明实施例三中控制器作为专用设备的系统结构框图。在本实施例中,控制器按专用设备实现,该设备在逻辑上可理解为一个双接口的网络设备,串接在请求来源网络与被保护网络之间,其内部操作系统的TCP/IP协议栈在报文转发部分加以特殊处理:在其请求来源网络接口上,可处理携带有请求者信息的请求报文,在处理后转发到被保护网络接口;在其被保护网络接口上,则不做任何处理,直接转发到来源网络接口。
控制器设备提供命令行(CLI)、Web管理接口,或基于SNMP的管理接口,以供管理员操作。
本实施例的实施步骤如下:
步骤一,注册服务方网络资源:管理员整理出本主机需要对来源进行鉴别的服务应用程序信息,在控制器管理界面上登记服务的名称、开放监听的网络地址及端口号。
步骤二,制定访问控制策略:管理员针对已注册的服务方网络资源,指定访问该服务的请求者需要满足哪些条件(例如,进程名称、版本或HASH值、是否要求代码签名,调用栈匹配等),将这些条件关联到服务方网络资源,并可指定审计规则,多个这样的关联构成访问控制矩阵。
步骤三,访问控制实施:控制器来源网络接口上在拦截到对指定服务方网络资源的请求后,检查其请求中是否包含符合标准的请求者信息,如果不包含,则拒绝请求并可在拒绝报文中提出来源信息要求,以期请求者重新发送符合要求的请求;如果呼入的请求中包含请求者信息,则尝试根据步骤二中制定的访问控制规则对请求者信息进行匹配,如果匹配则放行连接请求,否则丢弃报文,拒绝请求。
所述步骤三,具体包括:
步骤A,请求目标判断,即根据请求报文中的目标地址和目标端口信息,在访问控制矩阵中查找服务方网络资源注册信息,如果没有找到,则根据默认规则放行或拒绝请求。
步骤B,请求者信息提取,即从请求报文中提取出请求者信息,如果信息存在且符合标准,则将其解码到本地的数据结构。
步骤C,如果请求报文中不包含必要的请求者信息,控制器程序将根据系统的配置决定简单地拒绝此请求,或者向请求者回送包含来源要求的拒绝报文,以期客户端重新发送符合标准的请求。
步骤D,访问控制匹配,在提取出请求者信息后,控制器按照访问控制矩阵中描述的规则对请求者进行验证,在满足条件后,从请求报文中卸载掉请求信息,放行请求,将其转发至被保护网络接口;如果不匹配,则丢弃报文,拒绝请求。
采用本发明方法,当控制器和网络服务在一台主机上时,报文的处理是内部的提交和丢弃;当控制器分离成独立的设备时,就可以看成一个逻辑上的双端口设备,报文处理则以转发为主。
步骤E,对于步骤D的访问控制匹配结果,可根据审计规则,记录访问日志,或发送警报。
需要注意的是,公布实施例的目的在于帮助进一步理解本发明,但是本领域的技术人员可以理解:在不脱离本发明及所附权利要求的精神和范围内,各种替换和修改都是可能的。因此,本发明不应局限于实施例所公开的内容,本发明要求保护的范围以权利要求书界定的范围为准。

Claims (9)

1.一种基于客户端应用程序进程信息鉴别的网络访问控制方法,构建包括请求者、控制器和服务方的网络安全应用系统;所述请求者通过客户端应用程序向网络资源访问发起请求;所述控制器串接在请求者和服务方之间,用于执行网络访问控制;服务应用程序作为所述服务方提供网络资源;对所述请求者、控制器和服务方分别执行如下操作:
A.改造请求者计算机和控制器设备的TCP/IP协议栈,以支持请求者详细信息的处理;
所述改造请求者计算机和控制器设备的TCP/IP协议栈,具体是:
针对请求者计算机操作系统,对于非开源系统使用挂钩技术,对于开源系统使用重新编译协议栈驱动程序,使所述请求者计算机操作系统的TCP/IP协议栈在发起连接请求时,能够在连接报文中附加请求者详细信息;
对于控制器的操作系统,对于非开源系统使用挂钩技术,对于开源系统使用重新编译协议栈驱动程序,使控制器的操作系统的TCP/IP协议栈在处理连接请求时,能够解析出请求者详细信息;
B.通过控制器注册服务方的网络资源信息、制定访问控制策略、在访问请求抵达后验证请求的来源信息,以仲裁请求是通过还是拒绝;
C.服务方提供的应用程序不做任何改动;或可实现自主注册机制类的应用;
在网络访问过程中,所述请求者发起对网络资源访问的请求;所述网络访问控制方法通过鉴别请求者的客户端应用程序,精确判断服务方的网络应用访问的来源,通过所述控制器执行网络访问控制;所述服务方返回连接通过确认或拒绝连接,提交到上层应用程序;由此实现在不修改已有的网络应用的前提下进行网络访问控制,达到网络防护的目的。
2.如权利要求1所述网络访问控制方法,其特征是,A所述请求者详细信息包括但不限于:请求者的主机信息、请求者的进程信息、请求者的调用线程信息;所述请求者的主机信息包括计算机标识、操作系统版本;所述请求者的进程信息包括进程名称、可执行镜像的版本信息、HASH及代码签名信息;所述请求者的调用线程信息包括线程的调用栈签名。
3.如权利要求1所述网络访问控制方法,其特征是,在请求者计算机操作系统上安装TCP/IP协议栈的请求者插件程序;请求者插件程序同操作系统的TCP/IP协议栈驱动程序同样运行在内核模式下。
4.如权利要求1所述网络访问控制方法,其特征是,所述控制器与所述服务方位于同一主机;或所述控制器是专用的控制器设备。
5.如权利要求4所述网络访问控制方法,其特征是,当控制器与服务方位于同一主机时,在服务方计算机操作系统上安装TCP/IP协议栈的插件程序作为控制器角色。
6.如权利要求4所述网络访问控制方法,其特征是,当控制器为专用的控制器设备时,所述控制器设备是双接口的网络设备,包括请求来源网络接口和被保护网络接口;所述控制器设备内部操作系统的TCP/IP协议栈对报文转发进行如下处理:在所述请求来源网络接口上处理携带有请求者信息的请求报文,经处理后转发到所述被保护网络接口;在所述被保护网络接口上,则不做任何处理,直接转发到所述请求来源网络接口。
7.如权利要求1所述网络访问控制方法,其特征是,所述控制器执行网络访问控制具体包括如下步骤:
步骤一,获得服务方网络资源并注册;获得能够访问此服务应用程序的客户端应用程序,提取客户端应用程序信息;
步骤二,通过建立服务方网络资源与客户端应用程序之间的关联制定访问控制策略,生成访问控制矩阵:
步骤三,实施访问控制,根据步骤二所述访问控制矩阵,对请求进行判断和匹配,返回拒绝报文或通过连接。
8.如权利要求7所述网络访问控制方法,其特征是,步骤一服务方网络资源包括服务应用程序的名称、开放监听的网络地址及端口号;所述提取客户端应用程序信息包括客户端应用程序的进程名称、版本、哈希值、发布者。
9.如权利要求7所述网络访问控制方法,其特征是,步骤三所述实施访问控制具体包括如下过程:
3A,对请求目标进行判断:根据请求报文中的目标地址和目标端口信息,在访问控制矩阵中查找服务方网络资源注册信息,如果没有找到,则根据默认规则放行或拒绝请求;
3B,请求者信息提取:从请求报文中提取出请求者信息,如果信息存在且符合标准,则将其解码到本地的数据结构;
3C,如果请求报文中不包含必要的请求者信息,控制器程序根据系统配置拒绝请求;
3D,访问控制匹配:在提取出请求者信息后,控制器程序根据访问控制矩阵对请求者进行验证;当验证通过时,则从请求报文中卸载掉请求信息,放行请求,且使得不影响协议栈上层程序的处理;如果验证不通过,则丢弃报文或将报文转发至控制器设备的被保护网络接口,拒绝请求;
3E,对于D的访问控制匹配结果,可根据审计规则,记录访问日志或发送警报。
CN201710540866.5A 2017-07-05 2017-07-05 一种基于客户端应用程序鉴别的网络访问控制方法 Active CN107317816B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710540866.5A CN107317816B (zh) 2017-07-05 2017-07-05 一种基于客户端应用程序鉴别的网络访问控制方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710540866.5A CN107317816B (zh) 2017-07-05 2017-07-05 一种基于客户端应用程序鉴别的网络访问控制方法

Publications (2)

Publication Number Publication Date
CN107317816A CN107317816A (zh) 2017-11-03
CN107317816B true CN107317816B (zh) 2020-06-12

Family

ID=60180007

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710540866.5A Active CN107317816B (zh) 2017-07-05 2017-07-05 一种基于客户端应用程序鉴别的网络访问控制方法

Country Status (1)

Country Link
CN (1) CN107317816B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109462589B (zh) * 2018-11-13 2021-08-24 北京天融信网络安全技术有限公司 应用程序网络访问控制的方法、装置及设备
CN110753040B (zh) * 2019-09-30 2022-02-22 迈普通信技术股份有限公司 一种请求处理的方法及装置
CN112492036A (zh) * 2020-12-01 2021-03-12 成都颜创启新信息技术有限公司 信息处理方法和装置、电子设备及存储介质
CN113079180B (zh) * 2021-04-20 2023-03-10 成都安恒信息技术有限公司 一种基于执行上下文的防火墙细粒度访问控制方法及系统
CN113676561A (zh) * 2021-07-16 2021-11-19 阿里巴巴新加坡控股有限公司 域名访问控制方法及装置
CN117093639B (zh) * 2023-10-18 2024-01-26 北京安华金和科技有限公司 一种基于审计服务的套接字连接处理方法和系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786630A (zh) * 2016-02-26 2016-07-20 浪潮通用软件有限公司 一种基于中间件的Web API调控方法
CN106385435A (zh) * 2016-08-30 2017-02-08 乐视控股(北京)有限公司 一种业务系统的服务治理方法和系统
CN106911778A (zh) * 2017-02-27 2017-06-30 网宿科技股份有限公司 一种流量引导方法和系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10600076B2 (en) * 2014-08-14 2020-03-24 Google Llc Systems and methods for obfuscated audience measurement

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105786630A (zh) * 2016-02-26 2016-07-20 浪潮通用软件有限公司 一种基于中间件的Web API调控方法
CN106385435A (zh) * 2016-08-30 2017-02-08 乐视控股(北京)有限公司 一种业务系统的服务治理方法和系统
CN106911778A (zh) * 2017-02-27 2017-06-30 网宿科技股份有限公司 一种流量引导方法和系统

Also Published As

Publication number Publication date
CN107317816A (zh) 2017-11-03

Similar Documents

Publication Publication Date Title
CN107317816B (zh) 一种基于客户端应用程序鉴别的网络访问控制方法
US10305903B2 (en) Bypassing certificate pinning
CN104052734B (zh) 使用全球设备指纹识别的攻击检测和防止
Modi et al. A survey of intrusion detection techniques in cloud
US9167000B2 (en) Dynamic threat event management system and method
US10447726B2 (en) Mitigating attacks on server computers by enforcing platform policies on client computers
US7966381B2 (en) Methods and apparatus for performing context management in a networked environment
US20110239291A1 (en) Detecting and Thwarting Browser-Based Network Intrusion Attacks For Intellectual Property Misappropriation System and Method
WO2014094151A1 (en) System and method for monitoring data in a client environment
CN111034150A (zh) 高效ssl/tls代理
US20100146046A1 (en) Methods and apparatus for verifying context participants in a context management system in a networked environment
JP7388613B2 (ja) パケット処理方法及び装置、デバイス、並びに、コンピュータ可読ストレージ媒体
CN114145004A (zh) 用于使用dns消息以选择性地收集计算机取证数据的系统及方法
KR102020178B1 (ko) 동적 정책 제어를 수행하는 방화벽 시스템
KR101076683B1 (ko) 호스트 기반의 망분리 장치 및 방법
US10609075B2 (en) Masquerading and monitoring of shared resources in computer networks
CN114402567A (zh) 算法生成的域的在线检测
Tahir et al. A novel DDoS floods detection and testing approaches for network traffic based on linux techniques
US11522832B2 (en) Secure internet gateway
US10425416B2 (en) Method of unblocking external computer systems in a computer network infrastructure, distributed computer network having such a computer network infrastructure as well as computer program product
US20120324569A1 (en) Rule compilation in a firewall
Sørensen et al. Automatic profile-based firewall for iot devices
WO2020057156A1 (zh) 一种安全管理方法和安全管理装置
WO2020255185A1 (ja) 攻撃グラフ加工装置、方法およびプログラム
RU2695983C1 (ru) Способ фильтрации защищенных сетевых соединений в цифровой сети передачи данных

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant