CN113271344A - 一种基于访问控制的sdn应用程序安全管理方法及架构 - Google Patents
一种基于访问控制的sdn应用程序安全管理方法及架构 Download PDFInfo
- Publication number
- CN113271344A CN113271344A CN202110481261.XA CN202110481261A CN113271344A CN 113271344 A CN113271344 A CN 113271344A CN 202110481261 A CN202110481261 A CN 202110481261A CN 113271344 A CN113271344 A CN 113271344A
- Authority
- CN
- China
- Prior art keywords
- application program
- sdn application
- authority
- sdn
- controller
- 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.)
- Withdrawn
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/34—Network arrangements or protocols for supporting network services or applications involving the movement of software or configuration parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明提供一种基于访问控制的SDN应用程序安全管理方法及架构。该方法包括:步骤1:根据预先设定的敏感API检查表依次查验SDN应用程序权限请求的真实性和合法性,所述SDN应用程序权限请求中携带有权限清单和字节代码;步骤2:将通过真实性和合法性查验的SDN应用程序安全注册到控制器,并对其授权REST API调用;步骤3:将成功注册到控制器的SDN应用程序信息存储到数据库中。本发明可以有效防御恶意应用程序滥用API对网络造成的攻击。
Description
技术领域
本发明涉及计算机网络通信技术领域,尤其涉及一种基于访问控制的SDN应用程序安全管理方法及架构。
背景技术
软件定义网络(Software-Defined Networking,SDN)作为一种新型网络范式,实现了数据平面和控制平面的完全解耦,设计控制器实施集中式控制,同时控制器开放北向接口NBI与应用程序进行交互。应用程序通过调用NBI访问网络资源从而控制和管理网络,为SDN注入了灵活可编程能力。尽管NBI缺乏业界统一标准,但是从技术实现角度,REST API(Representational State Transfer Application Program Interface)是目前被开发者广泛接受的北向接口实现方式。
然而,随着应用程序类型不断丰富,随之产生的网络安全问题不可忽视。因为绝大多数应用程序由不同供应商开发,从各种来源获得的第三方应用程序可能包含缺陷、漏洞甚至恶意逻辑。
SDN应用程序的不可信性很难保证网络中运行的应用程序是正常且无故障的。恶意应用程序会对SDN网络构成严重威胁,例如,利用REST API提供的网络资源抽象获取网络拓扑、交换机流表等数据,导致数据泄露。此外,恶意应用程序还会通过调用REST API篡改或者删除流规则,中断用户间通信。
发明内容
针对SDN网络中存在恶意应用程序破坏网络正常操作的问题,从提升SDN网络安全的角度出发,本发明提供一种基于访问控制的SDN应用程序安全管理方法及架构,通过对应用程序的REST API调用实施访问控制(包括权限检测,加密注册及认证,动态授权),安全部署应用程序,能够有效防止恶意应用程序蓄意破坏SDN网络,实现SDN应用程序的安全运行和管理。
一方面,本发明提供一种基于访问控制的SDN应用程序安全管理方法,包括:
步骤1:根据预先设定的敏感API检查表依次查验SDN应用程序权限请求的真实性和合法性,所述SDN应用程序权限请求中携带有权限清单和字节代码;
步骤2:将通过真实性和合法性查验的SDN应用程序安全注册到控制器,并对其授权REST API调用;
步骤3:将成功注册到控制器的SDN应用程序信息存储到数据库中。
进一步地,步骤1具体包括:
基于XML语言对权限清单进行解析,输出SDN应用程序的声明权限;
将字节代码作为输入传递给静态分析工具Soot,通过Soot工具分析与转换字节代码,分析代码类中每个方法的控制流,获取函数之间的调用关系,并生成基于DOT语言的控制流图CFG;从控制流图CFG中获取所有图节点,逐节点解析,提取出所有图节点的API调用指令;根据API调用指令的提取结果,以XML输出SDN应用程序的真实权限;
比较SDN应用程序的声明权限和真实权限,若二者不一致,则表明SDN应用程序属于非法应用程序,否则输出SDN应用程序的真实权限;
比较SDN应用程序的真实权限和预先设定的敏感API检查表,检查真实权限的合法性。
进一步地,步骤2具体包括:
监听是否存在通过真实性和合法性查验的SDN应用程序权限请求,若存在,则解析SDN应用程序权限请求以获取SDN应用程序信息;
基于NTRU加密算法将获取到的SDN应用程序信息注册到控制器;
若SDN应用程序注册成功,则根据注册成功后返回的注册ID和密钥,生成应用程序注册信息;
提取应用程序注册信息中的注册ID和密钥,并发送至控制器,
基于NTRU加密访问认证过程,在与控制器认证成功后,应用程序被授权调用请求的REST API以管理和控制网络。
另一方面,本发明提供一种基于访问控制的SDN应用程序安全管理架构,包括:
所述权限检测组件,用于根据预先设定的敏感API检查表依次查验SDN应用程序权限请求的真实性和合法性,所述SDN应用程序权限请求中携带有权限清单和字节代码;
所述注册授权组件,用于将通过真实性和合法性查验的SDN应用程序安全注册到控制器,并对其授权REST API调用;
所述数据库,用于存储由网络管理员预先设定的敏感API检查表和成功注册到控制器的SDN应用程序信息。
进一步地,所述权限检测组件,具体用于:
基于XML语言对权限清单进行解析,输出SDN应用程序的声明权限;
将字节代码作为输入传递给静态分析工具Soot,通过Soot工具分析与转换字节代码,分析代码类中每个方法的控制流,获取函数之间的调用关系,并生成基于DOT语言的控制流图CFG;从控制流图CFG中获取所有图节点,逐节点解析,提取出所有图节点的API调用指令;根据API调用指令的提取结果,以XML输出SDN应用程序的真实权限;
比较SDN应用程序的声明权限和真实权限,若二者不一致,则表明SDN应用程序属于非法应用程序,否则输出SDN应用程序的真实权限;
比较SDN应用程序的真实权限和预先设定的敏感API检查表,检查真实权限的合法性。
进一步地,所述注册授权组件,具体用于:
监听是否存在通过真实性和合法性查验的SDN应用程序权限请求,若存在,则解析SDN应用程序权限请求以获取SDN应用程序信息;
基于NTRU加密算法将获取到的SDN应用程序信息注册到控制器;
若SDN应用程序注册成功,则根据注册成功后返回的注册ID和密钥,生成应用程序注册信息;
提取应用程序注册信息中的注册ID和密钥,并发送至控制器,
基于NTRU加密访问认证过程,在与控制器认证成功后,应用程序被授权调用请求的REST API以管理和控制网络。
本发明的有益效果:
本发明提供的方法及架构基于SDN控制器开发,包括两个组件:权限检测组件和注册授权组件,和一个存储敏感API检查表和应用程序信息的数据库。在权限检测组件,首先,一方面,通过解析应用程序权限清单直接得到声明权限,另一方面,分析应用程序字节代码生成控制流图间接得到所需权限,基于二者之间的权限差异检测应用程序权限真实性;然后,通过构建敏感API检查表检测应用程序权限合法性。在注册授权组件,基于NTRU(NumberTheory Research Unit)密码系统完成应用程序加密注册及认证,结合应用程序风险等级动态授权REST API调用。通过顺序执行权限检测组件和注册授权组件,能够实现SDN应用程序的安全运行和管理,防止恶意应用程序蓄意破坏SDN网络。
附图说明
图1为本发明实施例提供的一种基于访问控制的SDN应用程序安全管理方法的流程示意图;
图2为本发明实施例提供的一种基于访问控制的SDN应用程序安全管理方法中的权限检测流程图;
图3为本发明实施例提供了一种基于访问控制的SDN应用程序安全管理方法的注册授权流程图;
图4为本发明实施例提供的一种基于访问控制的SDN应用程序安全管理架构的总体架构图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供一种基于访问控制的SDN应用程序安全管理方法,包括以下步骤:
S101:根据预先设定的敏感API检查表依次查验SDN应用程序权限请求的真实性和合法性,所述SDN应用程序权限请求中携带有权限清单和字节代码;
如图2所示,作为一种可实施方式,查验SDN应用程序权限请求的真实性和合法性的过程具体包括:
基于XML语言对权限清单进行解析,输出SDN应用程序的声明权限;
将字节代码作为输入传递给静态分析工具Soot,通过Soot工具分析与转换(Java)字节代码,分析代码类中每个方法的控制流,获取函数之间的调用关系,并生成基于DOT语言的控制流图CFG;从控制流图CFG中获取所有图节点,逐节点解析,提取出所有图节点的API调用指令;根据API调用指令的提取结果,以XML输出SDN应用程序的真实权限;
比较SDN应用程序的声明权限和真实权限,若二者不一致,则表明SDN应用程序属于非法应用程序,否则输出SDN应用程序的真实权限;
比较SDN应用程序的真实权限和预先设定的敏感API检查表,检查真实权限的合法性。
S102:将通过真实性和合法性查验的SDN应用程序安全注册到控制器,并对其授权REST API调用;
如图3所示,作为一种可实施方式,将SDN应用程序安全注册到控制器,对其授权REST API调用的过程具体包括:
监听是否存在通过真实性和合法性查验的SDN应用程序权限请求,若存在,则解析SDN应用程序权限请求以获取SDN应用程序信息;
基于NTRU加密算法将获取到的SDN应用程序信息注册到控制器;
若SDN应用程序注册成功,则根据注册成功后返回的注册ID和密钥,生成应用程序注册信息;
提取应用程序注册信息中的注册ID和密钥,并发送至控制器,
基于NTRU加密访问认证过程,在与控制器认证成功后,应用程序被授权调用请求的REST API以管理和控制网络。
S103:将成功注册到控制器的SDN应用程序信息存储到数据库中。
对应上述的SDN应用程序安全管理方法,如图4所示,本发明实施例提供一种基于访问控制的SDN应用程序安全管理架构,包括:权限检测组件、注册授权组件和数据库;其中:
所述权限检测组件用于根据预先设定的敏感API检查表依次查验SDN应用程序权限请求的真实性和合法性,所述SDN应用程序权限请求中携带有权限清单和字节代码;所述注册授权组件用于将通过真实性和合法性查验的SDN应用程序安全注册到控制器,并对其授权REST API调用;所述数据库用于存储由网络管理员预先设定的敏感API检查表和成功注册到控制器的SDN应用程序信息。
具体地,该SDN应用程序安全管理架构逻辑上处于控制平面之上,应用平面之下。与传统的SDN网络架构不同,本发明实施例中,新安装的SDN应用程序提出REST API调用请求以访问和控制网络时,它不可以直接调用REST API,必须经过该SDN应用程序安全管理架构检测、注册和授权之后才能调用REST API,从而有效防御恶意应用程序滥用API对网络造成的攻击。在具体实施应用时,可以开发于具体的SDN控制器上。
该SDN应用程序安全管理架构包含两个核心组件(权限检测组件和注册授权组件)和一个数据库(存储敏感API检查表和应用程序信息的数据库)。权限检测组件依次查验应用程序权限请求的真实性和合法性。注册授权组件安全注册应用程序到控制器,并对其授权REST API调用。数据库负责存储以及更新敏感API检查表以及应用程序信息表。
为了便于对本发明实施例提供的SDN应用程序安全管理架构进一步的理解,下面将结合结构框图对本发明中的两大核心组件进行详细描述。
当第三方应用程序试图通过调用REST API访问网络资源时,在对其授予调用权限之前,该安全架构的首要任务是通过权限检测组件检查应用程序权限请求。权限检测组件的工作流程可以参考图2,具体包括:
(1)当应用程序调用REST API访问控制器时,首先,要向该架构提供权限清单和字节代码;(2)一方面分析权限清单,基于XML对它实施解析,输出SDN应用程序的声明权限;另一方面分析字节代码,将字节代码作为输入传递给静态分析工具Soot。Soot工具分析与转换Java字节代码,分析代码类中每个方法的控制流,获取函数之间的调用关系,并生成基于DOT语言的控制流图CFG。从控制流图CFG中获取所有图节点,逐节点解析,提取出所有图节点的API调用指令。根据API调用指令的提取结果,以XML输出SDM应用程序的真实权限。(3)比较声明权限和真实权限,如果二者不一致,则表明该应用程序属于非法应用程序,否则输出真实权限;(4)读取预先设定的敏感API检查表,比较SDN应用程序的真实权限和敏感API检查表,检查真实权限的合法性;(5)如果合法,则输出权限请求到注册授权组件,否则该应用程序属于非法应用程序。
待检测完应用程序的真实性和合法性之后,将检应用程序的权限请求发送至注册授权组件,通过注册授权组件安全注册应用程序,并对其授权REST API调用。注册授权组件的工作流程参考图3,具体包括:
(1)以权限检测组件发送过来的权限请求作为输入触发注册授权组件执行,即监听是否存在通过真实性和合法性查验的SDN应用程序权限请求,一旦监听到发送事件,解析权限请求以获取应用程序信息;(2)基于NTRU加密算法将获取到的SDN应用程序信息到控制器,即基于NTRU加密算法注册SDN应用程序到控制器;(3)若SDN应用程序注册成功,则根据注册成功后返回的注册ID和密钥,生成应用程序注册信息;(4)提取应用程序注册信息中的注册ID和密钥(公私钥对),将注册ID和密钥发送给控制器;(5)基于NTRU加密访问认证过程。只有和控制器认证成功后,应用程序才能正式被授权调用请求的REST API以管理和控制网络。
经过权限检测组件和注册授权组件的上述过程的顺序执行及相应的判断过程,本发明实施例提供的SDN应用程序安全管理架构可以基于REST API访问控制的通用机制安全管理SDN应用程序,防御恶意应用程序对网络造成的攻击。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种基于访问控制的SDN应用程序安全管理方法,其特征在于,包括:
步骤1:根据预先设定的敏感API检查表依次查验SDN应用程序权限请求的真实性和合法性,所述SDN应用程序权限请求中携带有权限清单和字节代码;
步骤2:将通过真实性和合法性查验的SDN应用程序安全注册到控制器,并对其授权REST API调用;
步骤3:将成功注册到控制器的SDN应用程序信息存储到数据库中。
2.根据权利要求1所述的SDN应用程序安全管理方法,其特征在于,步骤1具体包括:
基于XML语言对权限清单进行解析,输出SDN应用程序的声明权限;
将字节代码作为输入传递给静态分析工具Soot,通过Soot工具分析与转换字节代码,分析代码类中每个方法的控制流,获取函数之间的调用关系,并生成基于DOT语言的控制流图CFG;从控制流图CFG中获取所有图节点,逐节点解析,提取出所有图节点的API调用指令;根据API调用指令的提取结果,以XML输出SDN应用程序的真实权限;
比较SDN应用程序的声明权限和真实权限,若二者不一致,则表明SDN应用程序属于非法应用程序,否则输出SDN应用程序的真实权限;
比较SDN应用程序的真实权限和预先设定的敏感API检查表,检查真实权限的合法性。
3.根据权利要求1所述的SDN应用程序安全管理方法,其特征在于,步骤2具体包括:
监听是否存在通过真实性和合法性查验的SDN应用程序权限请求,若存在,则解析SDN应用程序权限请求以获取SDN应用程序信息;
基于NTRU加密算法将获取到的SDN应用程序信息注册到控制器;
若SDN应用程序注册成功,则根据注册成功后返回的注册ID和密钥,生成应用程序注册信息;
提取应用程序注册信息中的注册ID和密钥,并发送至控制器,
基于NTRU加密访问认证过程,在与控制器认证成功后,应用程序被授权调用请求的REST API以管理和控制网络。
4.一种基于访问控制的SDN应用程序安全管理架构,其特征在于,包括:
所述权限检测组件,用于根据预先设定的敏感API检查表依次查验SDN应用程序权限请求的真实性和合法性,所述SDN应用程序权限请求中携带有权限清单和字节代码;
所述注册授权组件,用于将通过真实性和合法性查验的SDN应用程序安全注册到控制器,并对其授权REST API调用;
所述数据库,用于存储由网络管理员预先设定的敏感API检查表和成功注册到控制器的SDN应用程序信息。
5.根据权利要求4所述的SDN应用程序安全管理架构,其特征在于,所述权限检测组件,具体用于:
基于XML语言对权限清单进行解析,输出SDN应用程序的声明权限;
将字节代码作为输入传递给静态分析工具Soot,通过Soot工具分析与转换字节代码,分析代码类中每个方法的控制流,获取函数之间的调用关系,并生成基于DOT语言的控制流图CFG;从控制流图CFG中获取所有图节点,逐节点解析,提取出所有图节点的API调用指令;根据API调用指令的提取结果,以XML输出SDN应用程序的真实权限;
比较SDN应用程序的声明权限和真实权限,若二者不一致,则表明SDN应用程序属于非法应用程序,否则输出SDN应用程序的真实权限;
比较SDN应用程序的真实权限和预先设定的敏感API检查表,检查真实权限的合法性。
6.根据权利要求4所述的SDN应用程序安全管理架构,其特征在于,所述注册授权组件,具体用于:
监听是否存在通过真实性和合法性查验的SDN应用程序权限请求,若存在,则解析SDN应用程序权限请求以获取SDN应用程序信息;
基于NTRU加密算法将获取到的SDN应用程序信息注册到控制器;
若SDN应用程序注册成功,则根据注册成功后返回的注册ID和密钥,生成应用程序注册信息;
提取应用程序注册信息中的注册ID和密钥,并发送至控制器,
基于NTRU加密访问认证过程,在与控制器认证成功后,应用程序被授权调用请求的REST API以管理和控制网络。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481261.XA CN113271344A (zh) | 2021-04-30 | 2021-04-30 | 一种基于访问控制的sdn应用程序安全管理方法及架构 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110481261.XA CN113271344A (zh) | 2021-04-30 | 2021-04-30 | 一种基于访问控制的sdn应用程序安全管理方法及架构 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113271344A true CN113271344A (zh) | 2021-08-17 |
Family
ID=77229840
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110481261.XA Withdrawn CN113271344A (zh) | 2021-04-30 | 2021-04-30 | 一种基于访问控制的sdn应用程序安全管理方法及架构 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113271344A (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871811A (zh) * | 2015-02-09 | 2016-08-17 | 华为技术有限公司 | 控制应用程序权限的方法及控制器 |
CN106529283A (zh) * | 2016-09-30 | 2017-03-22 | 中国人民解放军信息工程大学 | 一种面向软件定义网络的控制器安全性定量分析方法 |
CN108804912A (zh) * | 2018-06-15 | 2018-11-13 | 北京大学 | 一种基于权限集差异的应用程序越权检测方法 |
-
2021
- 2021-04-30 CN CN202110481261.XA patent/CN113271344A/zh not_active Withdrawn
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105871811A (zh) * | 2015-02-09 | 2016-08-17 | 华为技术有限公司 | 控制应用程序权限的方法及控制器 |
CN106529283A (zh) * | 2016-09-30 | 2017-03-22 | 中国人民解放军信息工程大学 | 一种面向软件定义网络的控制器安全性定量分析方法 |
CN108804912A (zh) * | 2018-06-15 | 2018-11-13 | 北京大学 | 一种基于权限集差异的应用程序越权检测方法 |
Non-Patent Citations (1)
Title |
---|
TAO HU等: ""SEAPP: A secure application management framework based on REST API access control in SDN-enabled cloud environment"", 《JOURNAL OF PARALLEL AND DISTRIBUTED COMPUTING,VOLUME 147》 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8578487B2 (en) | System and method for internet security | |
Benantar | Access control systems: security, identity management and trust models | |
Arce et al. | Avoiding the top 10 software security design flaws | |
US9288058B2 (en) | Executing compliance verification or remediation scripts | |
CN105704145A (zh) | 针对opc协议的安全防护方法和系统 | |
Ficco et al. | Modeling security requirements for cloud‐based system development | |
Majumdar et al. | User-level runtime security auditing for the cloud | |
CN102831355B (zh) | 安全操作系统中建立可信路径的方法 | |
US20130047204A1 (en) | Apparatus and Method for Determining Resource Trust Levels | |
CN113726726B (zh) | 一种基于边缘计算的电力物联网可信免疫体系及度量方法 | |
CN111131303A (zh) | 一种请求数据的校验系统和方法 | |
CN115701019A (zh) | 零信任网络的访问请求处理方法、装置及电子设备 | |
Nafees et al. | Vulnerability anti-patterns: a timeless way to capture poor software practices (vulnerabilities) | |
Delaune et al. | A decision procedure for the verification of security protocols with explicit destructors | |
Cuppens et al. | Availability enforcement by obligations and aspects identification | |
CN113271344A (zh) | 一种基于访问控制的sdn应用程序安全管理方法及架构 | |
CN108347411B (zh) | 一种统一安全保障方法、防火墙系统、设备及存储介质 | |
US20130047262A1 (en) | Method and Apparatus for Object Security Session Validation | |
Yang et al. | A model-based fuzz framework to the security testing of TCG software stack implementations | |
Chen et al. | Research on SQL injection and defense technology | |
Ayachit et al. | A petri net based XML firewall security model for web services invocation. | |
Alalayah | Pattern Image based Dynamic Framework for Security in Web Application | |
Chou | Controlling Information Flows in Net Services with Low Runtime Overhead | |
Aderhold et al. | Exemplary formalization of secure coding guidelines | |
Mauro Junior et al. | Securing iot apps with fine-grained control of information flows |
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 | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20210817 |
|
WW01 | Invention patent application withdrawn after publication |