Next Article in Journal
Special Issue on Optical Communications and Networking: Prospects in Industrial Applications
Previous Article in Journal
Calculation and Analysis of Wind Turbine Health Monitoring Indicators Based on the Relationships with SCADA Data
 
 
Font Type:
Arial Georgia Verdana
Font Size:
Aa Aa Aa
Line Spacing:
Column Width:
Background:
Article

FMNISCF: Fine-Grained Multi-Domain Network Interconnection Security Control Framework

1
Key Laboratory of Trustworthy Distributed Computing and Service, Ministry of Education, Beijing University of Posts and Telecommunications (BUPT), Beijing 100876, China
2
The School of Cyberspace Security, Beijing University of Posts and Telecommunications (BUPT), Beijing 100876, China
3
The School of Information and Communication Engineering, Beijing University of Posts and Telecommunications (BUPT), Beijing 100876, China
*
Author to whom correspondence should be addressed.
Appl. Sci. 2020, 10(1), 409; https://doi.org/10.3390/app10010409
Submission received: 7 November 2019 / Revised: 28 December 2019 / Accepted: 30 December 2019 / Published: 6 January 2020
(This article belongs to the Section Electrical, Electronics and Communications Engineering)

Abstract

:
The integrated air-ground multi-domain network provides users with a set of shared infrastructures. Security policies can be defined flexibly in the context of multi-domain network semantics. The packet filter module in the security gateway can run efficiently, which is an urgent requirement in this network environment. The framework combined with multi-domain network semantics implements the transformation into rules. It replaces the traditional manual method of configuring rules. The framework supports the whole life cycle management of rules from generation state and distribution state to execution state. In the aspect of security, the map security and semantic security are analyzed and optimized, respectively. Finally, through a series of experiments, compared with iptables/DPDK-IPFW/BSD-IPFW/BSD-pfsense, the high efficiency of the scheme is verified.

Graphical Abstract

1. Introduction

In recent years, the complex network environment represented by the integrated air-ground network [1,2], IOT [3,4], and the complex private network [5,6] has developed rapidly, which has brought great convenience to people’s daily life and also generated a lot of security related problems, especially those dealing with data security. Therefore, as an advanced technology to protect the legitimate access to data, the research on access control technology in complex network environment is particularly necessary.
The integrated air-ground network is multiple domain networks with a set of shared communication infrastructures. The differences among the securities of the multi-domain [7] require the communication in the application scenarios to have the complex adaptive ability. This adaptability includes the following aspects, that is, in the network, the business type/feature/security level changes with the spatiotemporal characteristics of multi-domain and multi-user. The integrated air-ground network can form physical or virtual network domains due to different user types, business types, and security levels. In order to ensure the security of the cross-domain communication, a security gateway needs to be set among the domains. We call this gateway the security interconnection gateway. The security interconnection gateway is a device that can connect the multi-domain networks according to the security policies. It is set up in a domain interconnection node of isolated physical or virtual networks.
The complex network environment has the characteristics of dynamic device access, heterogeneous network segment, and frequent information flow across domains. For example, the integrated air-ground network is composed of heterogeneous networks such as space-based backbone networks, space-based access networks, ground-based node networks, ground Internet, and mobile communication networks. In this network, a large number of ground users have frequent dynamic access, and the real-time ground information obtained by the space-based access network flows to ground nodes via the space-based backbone network.
These characteristics bring many new requirements for access control technology in a complex network environment.
(1)
fine-grained control: the complex network environment has a huge amount of information, and different users have different permissions to use the information, so that the coarse-grained control will bring lots of security problems.
(2)
policy tracking: data information flows frequently between networks. If the corresponding control policy does not follow the data information ontology to the new network, users will lose control of the data.
(3)
policy semantic normalization: data information flows across different networks, and inconsistencies in policy languages between networks may cause errors in policy transformation between networks.
Existing packet filtering techniques [8,9,10,11,12] were initially used in the network to provide security protection. The access control function of the network packet is implemented on the router, and the security function of it is separated. The working principle of the program of this technology is that in a interconnected network device, it works by loading some special instructions such as allowing or prohibiting packet transfer from specific source address, destination address, TCP terminal number, etc. Through the corresponding instructions for series of equipment inspections of packets, it can restrict dangerous packets in and out of the internal network. The advantages of the control are obvious. It can keep high transparency to users, and high work efficiency. However, he also has serious shortcomings. For example, the manager can’t fully control information flow in the network. It only can control the most basic security maintenance. In the face of the high technical content of attack without resistance, it is difficult to upgrade maintenance, and so can’t maintain the security of users.
These characteristics bring many new requirements for access control technology in a complex network environment. The fine-grained interconnection security control framework is a key technique for multi-domain interconnection and access control in multi-domain networks. The impacts of it are the following aspects:
First, for the complexity of rules working at the bottom, a policy needs to be designed to simplify the description of logical relationships in complex networks. With this abstract level of policy language, when designing business-oriented access control logic, network configuration scripts based on the policy language can look more concise and understandable. In engineering practice, the domain of the network can be easily configured, and the packet filter program can be executed efficiently in the gateway. The policy language designed for users in the network can be used to configure network security constraints flexibly and improve the readability and maintenance of programs. This requires normalization of policy semantics and data information flows across different networks. In addition, inconsistencies in policy languages between networks may cause errors in policy transformation between networks.
Second, in complex business application scenarios, inter-domain isolation needs to be supported. The traditional coarse-grained access control model can no longer fully meet the requirements of access control under complex networks in many scenarios. In recent years, fine-grained interconnection security control [13,14,15] has developed rapidly and has important applications in the internet of things security and cloud security.
Many of the current attacks are more and more application-oriented, such as cross-network scripting attacks, SQL injection attacks, and lunch attacks. This puts forward higher requirements on the dimension of data filtering. This requires the system to be able to filter packets at a fine-grained level. They include time and characteristics. The complex network environment has a huge amount of information, and different users have different permissions to use the information, so that the coarse-grained control will bring about lots of security problems. Data information flows frequently between networks. If the corresponding control policy does not follow the data information ontology to the new network, users will lose control of the data.
In addition, to turn access control policies for complex application scenarios into rules, a mapping needs to be designed. By designing a map, the polices are translated into the rules automatically. In the security policies, the description of multi-domain interconnection is supported. Users can flexibly set the network functions according to the network security requirements.
Finally, to meet the needs of high-speed network communication, it is necessary to design rules that can adapt to the high-speed filtering packet of security gateway and the fast filtering of gateway. According to our proposed rules, gateways can filter packets efficiently. By summarizing the above requirements, it can be concluded that the fine-grained interconnected security access control framework needs to design an abstract language (policy) that can directly describe complex application scenarios, with fine-grained attributes that resist more attacks. The gateway can load and execute rules efficiently. Mapping mechanisms can translate policies into rules. The research progress in these aspects will be introduced below.

1.1. Related Work

Due to the importance of fine-grained multi-domain interconnection security control to high-traffic network platforms and devices, various methods have been used to solve the problems related to multi-domain interconnection, conflict detection, rule transformation, and fine-grained control. In this section, we’ll review existing technologies and describe the differences from FMNISCF. Regarding multi-domain interconnection management, Iizawa et al. [16] proposed a network orchestrator based on ODENOS (object-defined network allocation system) for orchestrating multi-layer and multi-domain networks. The network orchestrator can dynamically provide end-to-end paths according to requests of network services. Li et al. [17] proposed a controller cluster-based interconnecting framework based on load balance, which can be implemented through two levels of controller coordination, i.e., inter-cluster and intra-cluster interconnection. However, they have not carefully demonstrated and considered the security issues among domains. For the map from policies to rules, Min et al. [18] proposed a policy generation method for a control system in open environments. The main idea is to formalize the description of the control policy step by step, associate each stage of the policy generation in an automatic way, and reduce the difficulty of the description, generation, and final application of the policy. Hager et al. [19] proposed RuleBender, a rule set transformation technique that encodes decision tree search structures into the transformed rule set, which in turn can be traversed significantly faster. However, they have not demonstrated the security of rule map in detail, and there are more ways to utilize the traversal speed of rule set. Aiming at rule conflict detection, Pisharody et al. [20] proposed a security policy analysis framework Brew based on OpenDaylight SDN controller, which identified and solved cross-layer conflicts by using global priority ranking technology for convection rules in a decentralized environment. Khelf et al. [21] proposed an algorithm for dynamic detection of both intra and inter conflicts of an IPsec security policy. The proposed algorithm is based on a simple and comprehensive mechanism that uses Boolean functions to classify and identify. The resolution of intra-policy conflict is also integrated into the algorithm. However, there is no detailed discussion of the semantic security of the rules. For fine-grained management control, Liu et al. [22] proposed a fine-grained two-factor authentication (2FA) access control system for web-based cloud computing services, which requires a user key and a lightweight security device to complete fine-grained access control of the system and enhance the security of the system. Pei et al. [23] proposed a fine-grained access control method for the cloud resources, and the basic idea is to use XACML as an access control language and optimize policies by data fragmentation and policy refinement algorithms. The XACML language can determine whether users can access web resources or not. Merindol et al. [24] proposed a new fine-grained multi-source measurement platform DCART. DCART is a distributed platform running over an operational network (RENATER, the French research and education network); it gathers data from several sources.

1.2. Our Work

However, the above systems do not introduce time features and cannot control the detailed content characteristics of the packet. Different from existing studies, our work generates rules by translating policies, and builds a tree structure of rules to filter packets. The same condition is integrated when the rules are generated by the policy, which ensures that there is no conflict and redundancy among rules. At the same time, the rules are arranged in lexicographical order, which facilitates binary search in packet filtering and improves matching speed. Our work introduces fine-grained control of time, characteristic, and adds constraint conditions of time and characteristics to the rules. When filtering packets, not only the five-tuples need to be matched, but also the time and the URL characteristics need to be matched. We also design the syntax of policies and rules respectively and discuss the semantic security of policy-to-rule transformations in multi-domain networks by using a formal method. In the experimental part, we compare the performance of our scheme with the netfilter/iptables of the Linux operating system. The results show that our scheme is more efficient.

2. Framework

In order to facilitate the management and application, a security policy language is designed, which fits users’ usage habits. However, this security policy language has low performance and complex logic, which cannot be directly applied to high-throughput security interconnection gateway. Therefore, a map method is proposed, which interprets security policies as security rules.
Consider a situation where user u 1 of domain d 1 and user u 2 of domain d 2 can communicate with each other using a p p 1 . The communication time is limited from 9:00 a.m. to 10:00 a.m. every day, and there is no restriction on feature contents. The details of a p p 1 communication among domains d 1 and d 2 are stored in a relationship and do not appear directly in the policy script. We can express it as follows:
d e f a u l t : d r o p w h i t e l i s t : { d 1 d 2 , a p p 1 } .
By means of map components, we can translate this policy into rules that can be loaded by the gateway. See the following:
10.0.0.1 10.0.0.1 , 20.0.0.2 20.0.0.2 , 6 6 , 0 65 , 535 , 23 23 , 287 , 485 , 200 287 , 488 , 800 , _ : a c c e p t ,
where 10.0.0.1 is the address of user u 1 , 20.0.0.2 is the address of user u 2 , 6 is the type of TCP, 0–65,535 is the source port range, 23–23 is the destination port of range, 287,485,200–287,488,800 means 9:00 a.m.–10:00 a.m. every day, the symbol _ means that there is no restriction on feature contents, and a c c e p t is the action of rule. The detail of time code can be shown in Formulas (38) and (39).
Once the gateway loads this rule, it allows only packets that conform to the rule to pass through, with the rest discarded by default.
Generally speaking, security rules are a kind of language which can be loaded by a security interconnection gateway. The security interconnection gateway has a large capacity and high efficiency of execution to meet the requirements of fine-grained security control of the integrated network of air–ground in multiple domains and achieve the purpose of in-depth protection. In this paper, we propose a multi-category of joint protection security rules.
Security rules have life cycle management, which consists of the generation state of security rule, distribution state, and execution state. The elements mentioned above form the framework of fine-grained multi-domain network interconnection security control, FMNISCF for short. The specific relationships will be shown in Figure 1.

2.1. Security Policy

Security policies in the system are used to help engineers configure access control logic information for multi-domain networks. Therefore, the security policy should be able to represent the information such as domain, application, connect/reject etc, and organize them together in the form of a list to form an overall control map. We design a policy language, which is a collection of strings called P . The semantics of security policies can be expressed as a map:
p f : D × D × A P P a c t i o n ,
where D is a set of domains of the network, A P P is a set of applications of network and a c t i o n is a set of actions that gateway can do. From the perspective of relationship, in the multi-domain network, application communication among domains needs to rely on IP address, protocol, and port at the network layer. In addition, we also add time and URL (Uniform Resource Locator) characteristics. They form a relationship in a multi-domain network, whose detail is as follows:
R m d r D × U × I P × A P P × P R O T O C O L × P O R T × T I M E × R E G ,
where U is a set of users in the multi-domain network, I P is a set of IP addresses, P O R T is a set of communication port in the network, T I M E is a set of time, and R E G is a regular expression language.

2.2. Security Rule

Security rules can be loaded by the gateway. Corresponding to the policy, we also design a rule language, which is a collection of strings called R . In fine-grained access control logic, it is a map that maps dimensional parameters to actions. It can be shown as follows:
r f : T 1 × T 2 × × T n a c t i o n ,
where T i is a dimension in fine-grained access control logic. In the rule which is designed by engineering personnel, the gateway analyzes packets from seven dimensions: source IP address, destination IP address, protocol type, source port, destination port, gateway time, and URL characteristics.

2.3. Execution of Packet Filter

During the process of gateway loading rules, the loader acts as a map. This map transforms a specific rule string into a packet filtering machine. This machine is the semantics that rules represent. It can be shown as follows:
e f : R M r f ,
where M r f is a machine that can load security rules and filter packets. It has two kinds of instructions: l o a d s e c u r i t y r u l e and f i t e r p a c k e t . The machine can be understood as having a matching tree. It updates the matching tree structure by executing the l o a d s e c u r i t y r u l e instruction. When it performs the f i t e r p a c k e t instruction, it determines whether the packet is accepted or not by comparing each field of the packet in the matching tree.

2.4. Map

The map from policy to rule is a translator that translates the policy language into the rule language. The semantic consistency between the two is required in this process. It can be shown as follows:
m f : P R .
The above is the definition of FMNISCF four components, which are independent of each other and complete the whole life cycle management of security rules through mutual cooperation. In the integrated air-ground multi-domain network, the network communication can be configured according to the actual security requirements of the domain, and the process can be executed safely and efficiently.

3. Implementation

In this section, we will use Backus–Naur Form (BNF) paradigm to give a normalized policy/rule language definition and define a map method from policy language to rule language. As a formal description of policies and rules, subsequent security proofs depend on their structure.

3.1. Security Policy Grammar

In the following production, the string is enclosed in double quotation “”, the brackets [ ] indicate that the element appears at most once, the asterisk * indicates that the element appears 0 time or more times, and the parentheses 〈〉 indicate that the element is a production reference as a whole:
p o l i c y s e t : : [ d e f a u l t : a c t i o n ] p o l i c y * ,
p o l i c y : : w h i t e l i s t | b l a c k l i s t | s c o p e a c t i o n l i s t ,
w h i t e l i s t : : w h i t e l i s t : { l i s t b o d y } ,
b l a c k l i s t : : b l a c k l i s t : { l i s t b o d y } ,
s c o p e l i s t : : s c o p e { l i s t b o d y } ,
, l i s t b o d y : : c o n f i g * ,
, c o n f i g : : I D I D , a p p l i c a t i o n ;
a p p l i c a t i o n : : I D | [ a p p l i s t ] | * ,
a p p l i s t : : I D ( , I D ) * ,
a c t i o n : : a c c e p t | d r o p ,
where I D is a string literal and its detailed definition can refer to the string definition in the c99 standard.
In addition, the functional-independent annotation syntax is not mentioned above. Strictly speaking, they are also part of the policy language.

3.2. Security Rule Grammar

r u l e s e t : : [ d e f a u l t : a c t i o n ] r u l e * ,
r u l e : : i p s e c t i o n , d s t i p r u l e ,
d s t i p r u l e : : i p s e c t i o n , p r o t o c o l t y p e r u l e | { d s t i p l i s t } ,
p r o t o c o l t y p e r u l e : : s e c t i o n , s r c p o r t r u l e | { p r o t o c o l t y p e l i s t } ,
s r c p o r t r u l e : : s e c t i o n , d s t p o r t r u l e | { s r c p o r t l i s t } ,
d s t p o r t r u l e : : s e c t i o n , t i m e r u l e | { d s t p o r t l i s t } ,
t i m e r u l e : : s e c t i o n , c h a r a c t e r i s t i c r u l e | { t i m e l i s t } ,
c h a r a c t e r i s t i c r u l e : : c h a r a c t e r i s t i c s e c t i o n : a c t i o n ; | { c h a r a c t e r i s t i c l i s t } ,
d s t i p l i s t : : ( i p , p r o t o c o l t y p e r u l e ) * ,
p r o t o c o l t y p e l i s t : : ( s e c t i o n , s r c p o r t r u l e ) * ,
s r c p o r t l i s t : : ( s e c t i o n , d s t p o r t r u l e ) * ,
d e s p o r t l i s t : : ( s e c t i o n , t i m e r u l e ) * ,
t i m e l i s t : : ( s e c t i o n , c h a r a c t e r i s t i c r u l e ) * ,
c h a r a c t e r i s t i c l i s t : : ( c h a r a c t e r i s t i c s e c t i o n : a c t i o n ; ) * ,
i p : : i p n u m b e r . i p n u m b e r . i p n u m b e r . i p n u m b e r i p n u m b e r . i p n u m b e r . i p n u m b e r . i p n u m b e r ,
i p s e c t i o n : : [ i p ( , i p ) * ] | i p ,
s e c t i o n : : n u m b e r n u m b e r | _ ,
c h a r a c t e r i s t i c s e c t i o n : : r e g u l a r e x p r e s s i o n | _ ,
where n u m b e r is a decimal natural number, i p n u m b e r is a decimal number ranging from 0 to 255, and the detailed definition of r e g u l a r e x p r e s s i o n is available in reference [25].

3.3. Map Policies to Rules

As a map, this section transforms the conforming policy language into the corresponding rule language. In combination with the actual situation, IP addresses among users are different, and IP addresses domains are also different. Therefore, we can further conclude that the relation has the following properties:
Definition 1.
u π U ( R m d r ) . i p . u , i p π U , I P ( R m d r ) ,
Definition 2.
d L ( c o n f i g I D ) . π U ( σ D = d R m d r ) ,
Definition 3.
a p p L ( a p p l i c a t i o n I D ) . π A P P ( σ A P P = a p p R m d r ) ,
Definition 4.
r e g 1 , r e g 1 π R E G ( R m d r ) . r e g 1 = r e g 2 L ( r e g 1 ) L ( r e g 2 ) = ,
Definition 5.
d 1 , i p 1 , d 2 , i p 2 π D , I P ( R m d r ) . d 1 d 2 i p 1 i p 2 ,
Definition 6.
u 1 , i p 1 , u 2 , i p 2 π U , I P ( R m d r ) . u 1 u 2 i p 1 i p 2 ,
where π is a projection operation on a relationship. The parameters between them are the terms to be projected. The function L ( ) represents a collection of strings that a node of grammar tree matches. The function L ( ) is a set of strings represented by a regular expression. Now, we describe the steps of the algorithm by means of the following examples:
d e f a u l t : a c c e p t w h i t e l i s t : A B , a p p 1 A C , a p p 1 , a p p 2 A B , a p p 2 b l a c k l i s t : { A B , a p p 1 A B , a p p 3 } s c o p e l i s t : A B , a p p 1 , a p p 2 , a p p 3 .
  • From Formulas (6) and (16), we can know that ε p o l i c y l a n g u a g e ε r u l e l a n g u a g e , where ε is empty string. We specify that, when the policy is ε , the corresponding rule image is ε . Using the same policy, we transform [ d e f a u l t : a c t i o n ] statement from the policy to rule.
  • Transform a p o l i c y statement into a r u l e statement. We divide the p o l i c y into three cases: when the p o l i c y is w h i t e l i s t , the rule action is translated as a c c e p t ; when the policy is the b l a c k l i s t , it is translated as d r o p , and, in the last case, it is translated as the default statement of the opposite action.
    First, merge every c o n f i g bar in the whitelist into a tree (white list tree). Traversal from root to leaf: if the two nodes currently being compared are the same, merge them into one node; otherwise, the remaining subtrees are merged under the parent node. Figure 2 is the algorithm of c o n f i g in w h i t e l i s t to merge into white list tree.
    Next, merge each c o n f i g of the blacklist into the white list tree in turn and conflict checking is performed for each merge. The specific process is that, if the exact same subtree appears, the system will prompt for a “detected conflict” message. Figure 3 and Figure 4 show an example of a conflict detected.
    Next, each scope list is merged into the whitelist tree, as opposed to the default operation, which merges the list (if the default action is accepted, it merges with the blacklist; otherwise, it merges with the whitelist). Figure 5 shows that the scope list is merged into the whitelist tree.
    Through this algorithm, a new tree can be merged into the existing tree, and the original principle can be maintained. The operation to merge the subtree into the original tree is represented by plus sign +.
  • If the l i s t b o d y is ε , translate ε as follows (all other parts of the signed * are the same). When there is only one configuration, from Formula (12), we have:
    c o n f i g : : I D I D , a p p l i c a t i o n ; .
    From script (34), we get the domain set { A , B , C } and the application set { a p p 1 , a p p 2 , a p p 3 } . For example, the domain of A corresponds to IP interval [10.0.0.1-10.0.0.3 10.0.0.5, 10.0.0.7]. Similarly, the IP interval of the domain B is [6,8-9]. For the language element A B of the security policy script, it can be translated into the source IP interval, and the destination IP interval of the language element in the security rules script respectively. It can be written as [1-3,5,7,10],[6,8-9]. Similarly, a c can be translated into [1-3,5,7,10],[10,12].
  • Ignoring the control characters , and ; , we consider the second half of the formula a p p l i c a t i o n . We mark these A P P s as a p p i . By Definition 3, for each I D , it can obtain the protocol type, destination port, time, and characteristics via relational operation expression π P R O T O C O L , P O R T , T I M E , R E G ( σ A P P = a p p i ( R m d r ) ) . The source port is used for its own side to receive messages and is randomly assigned with no restrictions. Covert this relational structure into a tree structure in order. The application element is translated into protocol type interval, source port interval, destination port interval and time interval characteristics in security rules. By searching for application name in scripts, we can get a security rule subtree with an application from the multi-domain network. For example, a p p 1 uses TCP, UDP and ICMP protocols. Among them, TCP uses port 80 as the destination port, and UDP uses port 90 as the destination port. The usage time of app1 is limited to 5:00 a.m.–11:00 a.m. per day. The algorithm is illustrated by the following Figure 6:
  • In steps 3 and 4, multiple tree merges are involved. Our approach is the same merge, different splits. Combining the whitelist tree of step 2, the security policy language is finally translated into the security rules script. In this process, the subtrees of the step 2 are connected, and the corresponding actions are added to the final rule part in combination with the black and white list action of the whitelist tree.
In the implementation, the packet filter module will call the mutual exclusion of the two operations through the synchronization variable l o c k when loading the forest rules or filtering the packet. Algorithm 1 is described precisely as follows:
Algorithm 1: Fine-grained packet filter
Applsci 10 00409 i001
We define a type named F o r e s t _ p o l i c y whose type can be seen in Formula (35):
F o r e s t _ p o l i c y { F o r e s t _ p o l i c y p a r e n t ; L i s t < F o r e s t _ p o l i c y > c h i l d _ l i s t ; U n i o n { L i s t < I n t e r v a l > d a t a _ l i s t ; E n u m e r a t e a c t i o n ; } l i s t _ a c t i o n ; } ,
where p a r e n t is the parent of this level, and c h i l d _ l i s t is its children. c h i l d _ a c t i o n is the data of the node.
There are four levels of the forest which has been built. They are the source of the domain, the destination of the domain, the application, and the action of the forest policy, respectively. Corresponding to F o r e s t _ p o l i c y , we also define F o r e s t _ r u l e . There are eight levels that are the source of IP, the destination of IP, the source of the port, the destination of the port, the protocol type, the time, the characteristic, and the action. See Formula (36):
F o r e s t _ r u l e { F o r e s t _ r u l e p a r e n t ; L i s t < F o r e s t _ r u l e > c h i l d _ l i s t ; U n i o n { L i s t < I n t e r v a l > d a t a _ l i s t ; E n u m e r a t e a c t i o n ; } l i s t _ a c t i o n ; } .
The policies can be mapped to the rules by Algorithm 3. The initialization of it also needs to be finished by Algorithm 2. It merges each policy tree in the policy file into the forest policy. In the process, the algorithm simultaneously merges the policies and detects conflicts.
Algorithm 2: Merge trees into forest
Applsci 10 00409 i002
Each policy p in the list is regarded as a tree, so policies f can be considered as a forest. Both forest and trees are three-layer structures. The layers represent source domain, destination domain, and app, respectively. As for app nodes, they all contain an action field ( B L A C K / W H I T E / S C O P E ). The function of Algorithm 2 is to merge trees into a forest.
Algorithm 2 is described precisely as follows:
Travel through every tree in the forest and try to merge policy p into the tree. If it fails to merge policy p into any tree in the forest, just add policy p into f . c h i l d l i s t . The method of merging trees is as follows. First, compare the root node of policy p with that of the i-th tree in the forest, which are denoted as t and f _ r o o t i , respectively. If they are different, policy p cannot be merged into the i-th tree. Try to merge it into another tree. If they are the same, compare their child nodes which are denoted as p _ n o d e and f _ n o d e .
If a child node of f _ r o o t i denoted as f _ n o d e j is the same as p _ n o d e , compare their child nodes which are denoted as f _ a p p and p _ a p p , or add p _ n o d e to f _ r o o t i . c h i l d _ l i s t .
For each p _ a p p , if there is no f _ a p p like it, add it to f _ n o d e j . c h i l d _ l i s t . If there is an f _ a p p denoted as _ a p p l which is the same as p _ a p p k , compare their actions. If one is S C O P E and the other is B L A C K or W H I T E , then f _ a p p k . a c t i o n = B L A C K or W H I T E . If they are different and neither is S C O P E , throw “conflict detection!”.
Algorithm 3 is described precisely as follows:
In Algorithm 3, it maps forest policies f, p into forest rules r, t. For each tree in the forest f, p, use the following method to turn it into a rule tree. As mentioned above, the trees of policy forest are three-layer structure, representing source domain, destination domain and app, respectively. Thus, given the root of the i-th tree, we can get the source domain, and further obtain the source IP address s r c i p i by searching the set of relationships R m d r . The destination IP address d s t i p j can be obtained similarly. Then, add it to s r c i p i . c h i l d _ l i s t . From the app, we can get the information of protocol, source port, destination port, time, reg and action. Add them to the c h i l d _ l i s t of their previous element respectively and make r e g the leaf node of the rule tree. Leaf nodes of rule trees contain an action field which is the same as the app node of the original policy tree.
Algorithm 3: Map policies to rules
Applsci 10 00409 i003
Time coding is divided into absolute time and relative time. Time elements such as year, month, day, week, hour, minute and second are used to encode relative time. Absolute time is encoded in seconds that have elapsed since 1 January 1970. The relative time of the base structure from low to high is 60, 60, 24, 7, 31, and 12. Of these, number 7 means that the week is unlimited. Number 31 means days are unlimited. Number 12 means month is unlimited. For the time format “ y y y y m m d d h h : M M : s s ”,
intToRe ( m m , d d , w , h h , M M , s s ) = s s × 1 + M M × 60 + h h × 60 × 60 + w × 24 × 60 × 60 + d d × 7 × 24 × 60 × 60 + m m × 31 × 7 × 24 × 60 × 60 ,
where the week w can be calculated using the library function provided by “time.h”. For example, from 9:00 a.m. to 10:00 a.m. every day, the code of relative time is Formulas (38) and (39):
287485200 = intToRe ( 12 , 31 , 7 , 9 , 0 , 0 ) ,
287488800 = intToRe ( 12 , 31 , 7 , 10 , 0 , 0 ) .
If it’s 0:00 a.m. to 0:00 a.m. per day, this means that there’s no limit about time. For “ intToAb ( · ) ”, we first reverse calculate [ m m , d d , w , h h , m m , s s ] = intToRe 1 ( · ) , obtain the current absolute time via “ t i m e ( · ) ”, then assign the rest to the absolute time structure, and finally calculate the absolute time value through the library function “ m k t i m e ( · ) ”.
Algorithm 4 is described precisely as follows.
In Algorithm 4, given the relative time interval which begins with s t a m p 1 and ends with s t a m p 2 , the corresponding absolute time interval can be obtained. Time stamp is an integer and can be converted into relative time or absolute time through function “ intToRe ( · ) ” or “ intToAb ( · ) ”. Using function “ intToRe 1 ( · ) ” for s t a m p 1 and s t a m p 2 , we can get six pairs of numbers representing the restrictions on month, date, day of week, hour, minute, and second. Placing restrictions on month means the period from one month to one month every year and no restriction implies January to December. Similarly, for date, day of week, hour, minute, and second, whether to make restrictions or not is optional.
Algorithm 4: Convert relative time into absolute Time
Applsci 10 00409 i004
Using function intToAb() for update, the time stamp of current time, we can get the current month, date, day of week, hour, minute, and second. If current time meets the limits to month, date, and day of week, there are two cases to consider. One case is that there are no limits to hour, minute, and second, and the other is that hour, minute, and second are limited. For the former, the absolute time interval converted is from 0:0:0 a.m. that day to 0:0:0 a.m. the next day. For the latter, it is the limited time interval that day. If current time does not meet any limit to month, date or day of week, the absolute time interval converted is from 1 January 1970, 0:0:0 a.m. to 1 January 1970, 0:0:0 a.m..
Algorithm 5 is described precisely as follows:
Since absolute time interval are converted from relative time interval according to current time, the absolute time interval converted should change as current time changes. Thus, it is necessary to invoke Algorithm 5 to update absolute time interval to ensure accuracy. The update input is the time stamp of the last time calling Algorithm 4. If the time stamp of packet p a c k e t T i m e is bigger than u p d a t e , invoke Algorithm 4 and update u p d a t e ensuring that the next update will be completed before the time constrained.
Algorithm 5: Update time interval
Applsci 10 00409 i005

3.4. Match Tree Building of Packet Filter

The transmitted security rules are built into a packet filter match tree in the gateway machine. The implementation method is to build an 8-layer filter matching tree. The root node is in the first layer, the second layer is the source IP range of child nodes, and the third layer is the source IP range of which the parent node is IP range node. By analogy, the fourth floor is protocol type interval, the fifth layer is the source port interval, the sixth layer is the destination port, the seventh layer is the time interval, and the eighth floor is URL characteristics. As you can see from step 2, the security rule script has a very similar structure to the filter match tree. This procedure can be understood as the gateway machine M r f executing the l o a d s e c u r i t y r u l e instruction.
After the matching tree has been built, when the gateway machine executes the instructions f i l t e r p a c k e t , it will start from the root node, from top to bottom, and select the matching subtree from the eligible subtree, until it finds the action of the leaf node. In particular, if no eligible subtrees are found at a certain level, it jumps out of the tree traversal and performs the default action.

4. Security of System

We treat the p o l i c y s e t as a string of elements, which can be abstracted into three categories: Empty set ε , d e f a u l t : a c t i o n , and p o l i c y . According to the policy set grammar, we know that:
Definition 7.
1. 
Empty set is a policy set.
2. 
The default action is a policy set.
3. 
A policy set join policy is a policy set.
4. 
The other cases are not a policy set.
The join operation between the policy set and the policy is marked as ⊕. According to the above definition, the join operation is closed on p o l i c y s e t . The p o l i c y s e t , now constitutes an algebraic system.
In the same way, rule sets are also divided into three similar parts: empty set ε , d e f a u l t : a c t i o n , and r u l e .
According to the rule set grammar, we know that:
Definition 8.
1. 
Empty set is a rule set.
2. 
The default action is a rule set.
3. 
A rule set join rule is a rule set.
4. 
The other cases are not a rule set.
The join operation between the rule set and the policy is marked as ⊗. According to the above definition, the join operation is closed on r u l e s e t . The r u l e s e t , now constitutes an algebraic system.

4.1. Map Security

Review Section 3.3 map policies to rules, we stipulate map m f :
m f ( p ) = ε p = ε , d e f a u l t : a c t i o n p = d e f a u l t : a c t i o n , m f ( p ) + p c o n f i g p = p p c o n f i g .
The meaning of the operator + is specified above.
Theorem 1.
p p o l i c y s e t . r r u l e s e t . m f ( p ) = r
Proof. 
From Formula (40), if p = ε or p = d e f a u l t : a c t i o n , the theorem is established.
Assuming that m f ( p ) satisfies the Theorem 1, we can deduce that this policy has a corresponding t r e e p . From Step 3, the policy p c o n f i g also has a corresponding t r e e p c o n f i g . From Step 5, these trees can be merged into a t r e e p , which can be translated into a rule.
Now, this theorem is proved by induction. □
From Theorem 1, we can reach a conclusion that, for every set of grammatical and semantical policies in the network, we can always find the set of rules corresponding to them.

4.2. Semantic Security

In terms of the semantics of rules, machine M r f with the same function is a kind of rule class for different forms of rules. The difference of these rules can be reflected in the choice of the interval, such as the case of 1 3 , 3 4 and 1 2 , 2 4 . However, in terms of the point of view of the packet filtering function of the machine, they are the same.
Lemma 1.
! p p o l i c y s e t , M p f 1 M p f 2 . e f ( m f ( p ) ) = M p f 1 e f ( m f ( p ) ) = M p f 2 .
Proof. 
Suppose there is a rule p that performs both receive and discard actions for a packet. This requires the encoding of the interval to have two meanings, which does not conform to the natural number encoding, time encoding, and collection of characteristic encoding (from Definition 4). This leads to a contradiction. □
Theorem 2.
The map e f is well-defined. (It involves semantics of m f )
Proof. 
According to Lemma 1, we know that the relation of the semantics of policy/rule forms a partition of it. From Theorem 1, we can know p p o l i c y s e t . M p f = e f ( m f ( p ) ) . Combined with the properties of partition, if two M p f 1 , M p f 2 are different, the corresponding partition must be different. This satisfies two requirements of a well-definition. □
By Theorem 2, we can guarantee that the “Execution of packate filter” component will not generate ambiguity, thus ensuring semantic security.

4.3. Optimization

Theorem 3.
Nodes in the same hierarchy can be arranged in order except for their characteristics.
Proof. 
Considering the source IP, destination IP, protocol type, source port, destination port and time, they are all encoded with a natural number, and there is no intersection between the intervals of each node, so they can be arranged orderly. □
By Theorem 3, we can optimize the packet filtering algorithm. In addition to characteristic nodes, nodes at other levels can be arranged in an orderly manner, so the gateway can use the binary search method to retrieve the rule tree.

5. Performance

The operation interface of the three procedure in the framework FMNISCF is shown as follows:
Figure 7a shows the configuration of a security policy on a web browser. The newly added security policy is saved in the database, and then the user can see it in the list. Figure 7b shows the deployment of security rules to the gateway through a web browser. While clicking the “Distribute” button, the system automatically converts security policies into security rules and deploys them to the gateway. Figure 7c shows the gateway loading security rules sent by the visual management system into the gateway through the security rules loader. Thus, the interconnected security gateway can filter fine-grained packets.
We test the performance of three processes of the framework FMNISCF. Since instructions are distributed by socket communication, the selection of operating system version does not affect FMNISCF deployment. The test hardware environment, software environment and running speed under different configurations are given below:
Table 1 shows the interconnected security gateway and the hardware environment of the visual management system. Interconnection security gateway, controlled by the visual management system, can accept or drop the packets passing through the network according to the instructions sent by the system.
We use software “iPerf3” [26] as the packet sending tool. It simulates communication scenarios in the network.
Table 2 shows the software environment of each state during the rule life cycle management. In the policy transfer phase, a database is required to store security policies, security rule data, and other management information. The data caching software in the web background improves the speed of data query in the system. Web service programs rely on JVM and rapid development framework spring. Fine-grained web management requires support from Shiro components. In the front-end, JavaScript provides rich support of the running script. In the phase of rule loading and packet filtering, the network modules in the kernel are used to provide support.
After setting up the running environment, we can test the three processes in the framework FMNISCF. The first step is to write the policy configuration file. Transform policies into rules through the map. The following is the rate at which rule profiles are generated under different semantic environments in a multi-domain network.
In Figure 8, the time of generating security rules increases linearly with the number of policies. When the number of policies reaches 660,000, generating security rules only costs about 5 s. This means that, in actual deployments, the system can support very complex security policy configurations and keep the rule generation process efficient.
Next is the test of time of the rule configuration file loading. In Figure 9, when the number of security rules is 400,000, the loading time of the interconnected security gateway is about 9 s, which means that, in the actual deployment, the system can quickly load the rules generated by the system and respond to the changes in the network. In different rule scales, the loading time changes are shown as follows:
Finally, the iPerf3/pktgen generates packet traffic to test the throughput of gateway after loading rules. In the experiment, the tools are used to generate 10 Gbps of traffic. We compare the iptables, DPDK-IPFW, BSD-IPFW, BSD-pfsense, and FMNISCF.
In Figure 10, we analyze the data: as for the optimization of network card drive, DPDK-IPFW can increase the limit value of the data transmission speed of the device. In the actual transmission, it reaches 9.3 Gbps. Furthermore, DPDK-IPFW supports up to 23,207 rules. In addition, BSD-IPFW supports up to 65,535 rules and maintains a stable transmission speed of 1.03 Gbps when the number of rules is greater than 1 W. This shows that BSD-IPFW is very suitable for deployment on the network equipment with a Gigabit network card. This speed is just the upper limit which is generally supported by the intermediate nodes of the network. The network speed of BSD-pfsense can only maintain at 0.2 Gbps. We compare other schemes with ours. It can be seen from the comparison that the throughput of other schemes decreases rapidly with the increase of rules. The speed of other schemes has dropped to 1 Gbps when there are 1 W rules. In contrast, when the number of security rules is 50 W, the throughput of FMNISCF can still maintain 4.6 Gbps. This means that, in the actual deployment, even if the system is loaded with complex filtering rules, the network data can still be transferred quickly. Our plan does not lead to a significant reduction.

6. Conclusions

This paper proposes the framework of a fine-grained multi-domain network interconnection security control, FMNISCF for short. BNF is used to design the grammar specifications of rules and policies. The map method from policy to rule is designed based on the semantics of integrated air-ground multi-domain network. Unifying policies and rules into the structure of the matching tree is the key to establishing the relationship between policies and rules. This structure also provides a scheme for the implementation of packet filtering semantics of gateway. In terms of security analysis, we discuss the security of design about map and semantic. This ensures that the system does not “crash” or generate ambiguities. Combining the characteristics of the system, we optimize the matching tree structure. Finally, we test the system running environment and the running time of each stage, respectively. Our solution is more efficient than iptables in terms of packet filtering performance. The framework can be used to filter more protocols/attacks from the application layer. In some common SQL injection attacks, mining Trojan attacks and other scenarios, it can filter this type of packet in a fine-grained way. In periodic application scenarios, for example, when employees arrive at work at 9:00 a.m. and leave at 5:00 p.m. on weekdays, window time can be set to prevent employees from accessing the company’s confidential database after work. Through the establishment of multiple domains, the framework can implement the access control management of each department of the company.

7. Future Research Work

In the future, we will design a fine-grained intrusion detection system. Combined with this system, many security policies can be automatically generated by the intrusion detection system and quickly deployed into the FMNISCF. In the intrusion detection system, the attack behavior is analyzed by combining multi-domain network semantics. This includes information such as network topology, department organization structure, and application protocol structure. Coordinated detection and response to attacks are implemented on distributed gateways supported by time synchronization.

Author Contributions

Conceptualization, B.L. and R.C.; methodology, B.L. and Y.L.; software, B.L. and L.T.; validation, B.L., L.T. and H.W.; formal analysis, B.L.; investigation, B.L. and R.C.; resources, Y.L.; data curation, B.L., L.T. and H.W.; writing—original draft preparation, B.L., L.T. and H.W.; writing—review and editing, B.L.; visualization, B.L.; supervision, Y.L.; project administration, Y.L.; funding acquisition, Y.L. All authors have read and agreed to the published version of the manuscript.

Funding

This research was funded by the National Key R&D Program of China (No. 2016YFB0800302), and funded by the BUPT Excellent Ph.D. Students Foundation (No. CX2019230).

Acknowledgments

This research is supported by the National Key R&D Program of China (No. 2016YFB0800302) and the BUPT Excellent Ph.D. Students Foundation (No. CX2019230).

Conflicts of Interest

The authors declare no conflict of interest.

Abbreviations

The following abbreviations are used in this manuscript:
FMNISCFFine-grained Multi-domain Network Interconnection Security Control Framework
TCPTransmission Control Protocol
ODENOSObject-Defined Network Allocation System
SDNSoftware Defend Network
2FATwo-Factor Authentication
XACMLeXtensible Access Control Markup Language
URLUniform Resource Locator
IPInternet Protocol
BNFBackus–Naur Form
UDPUser Datagram Protocol
ICMPInternet Control Message Protocol
JVMJava Virtual Machine
JDKJava Development Kit
MVCModel View Controller
GbpsGigabits/Second
DPDKData Plane Development Kit
BSDBerkeley Software Distribution
IPFWInternet Protocol Firewall
IOTInternet of Things

References

  1. Yang, Z.; Xiao, B.; Chen, Y. Modeling and Verification of Space-Air-Ground Integrated Networks on Requirement Level Using STeC. In Proceedings of the 2015 International Symposium on Theoretical Aspects of Software Engineering, Nanjing, China, 12–14 September 2015; pp. 131–134. [Google Scholar] [CrossRef]
  2. Varasteh, A.; Hofmann, S.; Deric, N.; He, M.; Schupke, D.; Kellerer, W.; Machuca, C.M. Mobility-Aware Joint Service Placement and Routing in Space-Air-Ground Integrated Networks. arXiv 2019, arXiv:1902.01682. [Google Scholar]
  3. Ronen, E.; Shamir, A.; Weingarten, A.O.; O’Flynn, C. IoT Goes Nuclear: Creating a Zigbee Chain Reaction. IEEE Secur. Priv. 2018, 16, 54–62. [Google Scholar] [CrossRef]
  4. Wang, L.; Wang, X.V. Latest Advancement in CPS and IoT Applications. In Cloud-Based Cyber-Physical Systems in Manufacturing; Wang, L., Wang, X.V., Eds.; Springer International Publishing: Cham, Switzerland, 2018; pp. 33–61. [Google Scholar] [CrossRef]
  5. Yan, H.; Li, Y.; Dong, W.; Jin, D. Software-Defined WAN via Open APIs. IEEE Access 2018, 6, 33752–33765. [Google Scholar] [CrossRef]
  6. Hauser, F.; Häberle, M.; Schmidt, M.; Menth, M. P4-IPsec: Implementation of IPsec Gateways in P4 with SDN Control for Host-to-Site Scenarios. arXiv 2019, arXiv:1907.03593. [Google Scholar]
  7. Hanemann, A.; Boote, J.; Boyd, E.; Durand, J.; Kudarimoti, L.; Lapacz, R.; Swany, M.; Trocha, S.; Zurawski, J. PerfSONAR: A Service Oriented Architecture for Multi-domain Network Monitoring. In Proceedings of the Third International Conference, Amsterdam, The Netherlands, 12–15 December 2005; Volume 3826, pp. 241–254. [Google Scholar] [CrossRef] [Green Version]
  8. Gawanmeh, A. Automatic Verification of Security Policies in Firewalls with Dynamic Rule Sequence. In Proceedings of the 2014 Eleventh International Conference on Information Technology: New Generations (ITNG), Las Vegas, NV, USA, 7–9 April 2014; pp. 279–284. [Google Scholar] [CrossRef]
  9. Wang, B.; Lu, K.; Chang, P. Design and implementation of Linux firewall based on the frame of Netfilter/IPtable. In Proceedings of the 2016 11th International Conference on Computer Science Education (ICCSE), Nagoya, Japan, 23–25 August 2016; pp. 949–953. [Google Scholar] [CrossRef]
  10. Thomas, Y.; Xylomenos, G.; Tsilopoulos, C.; Polyzos, G.C. Multi-Flow Congestion Control with Network Assistance. In Proceedings of the 2016 IFIP Networking Conference (IFIP Networking) and Workshops, Vienna, Austria, 17–19 May 2016; pp. 440–448. [Google Scholar] [CrossRef] [Green Version]
  11. Wang, H.; He, D.; Wang, H. Comparison of high-performance packet processing frameworks on NUMA. In Proceedings of the 2016 7th IEEE International Conference on Software Engineering and Service Science (ICSESS), Beijing, China, 26–28 August 2016. [Google Scholar]
  12. Pandey, V.C.; Peddoju, S.K.; Deshpande, P.S. A statistical and distributed packet filter against DDoS attacks in Cloud environment. Sādhanā 2018, 43, 32. [Google Scholar] [CrossRef] [Green Version]
  13. Zhu, H.; Liao, X.; de Laat, C.; Grosso, P. Joint flow routing-scheduling for energy efficient software defined data center networks: A prototype of energy-aware network management platform. J. Netw. Comput. Appl. 2016, 63, 110–124. [Google Scholar] [CrossRef]
  14. Sajjadi, D.; Ruby, R.; Tanha, M.; Pan, J. Fine-grained Access Provisioning via Joint Gateway Selection and Flow Routing on SDN-aware Wi-Fi Mesh Networks. In Proceedings of the 2017 IEEE 13th International Conference on Wireless and Mobile Computing, Networking and Communications (WiMob), Rome, Italy, 9–11 October 2017. [Google Scholar] [CrossRef]
  15. Sajjadi, D.; Ruby, R.; Tanha, M.; Pan, J. Fine-Grained Traffic Engineering on SDN-Aware Wi-Fi Mesh Networks. IEEE Trans. Veh. Technol. 2018, 67, 7593–7607. [Google Scholar] [CrossRef]
  16. Iizawa, Y.; Suzuki, K. Multi-layer and multi-domain network orchestration by ODENOS. In Proceedings of the 2016 Optical Fiber Communications Conference and Exhibition (OFC), Anaheim, CA, USA, 20–24 March 2016; pp. 1–3. [Google Scholar]
  17. Li, K.; Ou, Q.; Chen, H.; Zou, B. Controller Cluster-Based Interconnecting for Multi-domain SDN Networks. In Proceedings of the 2017 International Conference on Cyber-Enabled Distributed Computing and Knowledge Discovery (CyberC), Nanjing, China, 12–14 October 2017; pp. 482–485. [Google Scholar] [CrossRef]
  18. Min, L.J.; Lu, H.H. A Policy Generation Method for Control Systems in an Open Environment. CN106547248A, 29 March 2017. [Google Scholar]
  19. Hager, S.; John, P.; Dietzel, S.; Scheuermann, B. RuleBender: Tree-based policy transformations for practical packet classification systems. Comput. Netw. 2018, 135, 253–265. [Google Scholar] [CrossRef]
  20. Pisharody, S.; Natarajan, J.; Chowdhary, A.; Alshalan, A.; Huang, D. Brew: A Security Policy Analysis Framework for Distributed SDN-Based Cloud Environments. IEEE Trans. Dependable Secur. Comput. 2018, 16, 1011–1025. [Google Scholar] [CrossRef]
  21. Khelf, R.; Ghoualmi, N. Intra and inter policy Conflicts Dynamic Detection Algorithm. In Proceedings of the 2017 Seminar on Detection Systems Architectures and Technologies (DAT), Algiers, Algeria, 20–22 February 2017; pp. 1–6. [Google Scholar] [CrossRef]
  22. Liu, J.K.; Au, M.H.; Huang, X.; Lu, R.; Li, J. Fine-Grained Two-Factor Access Control for Web-Based Cloud Computing Services. IEEE Trans. Inf. Forensics Secur. 2016, 11, 484–497. [Google Scholar] [CrossRef]
  23. Pei, X.; Yu, H.; Fan, G. Fine-Grained Access Control via XACML Policy Optimization in Cloud Computing. Int. J. Softw. Eng. Knowl. Eng. 2015, 25, 1709–1714. [Google Scholar] [CrossRef]
  24. Merindol, P.; David, P.; Pansiot, J.J.; Clad, F.; Vissicchio, S. A Fine-Grained Multi-Source Measurement Platform Correlating Routing Transitions with Packet Losses. Comput. Commun. 2018, 129, 166–183. [Google Scholar] [CrossRef]
  25. Bispo, J.; Sourdis, I.; M.P.Cardoso, J.; Vassiliadis, S. Regular expression matching for reconfigurable packet inspection. In Proceedings of the 2006 IEEE International Conference on Field Programmable Technology, Bangkok, Thailand, 13–15 December 2006; pp. 119–126. [Google Scholar] [CrossRef]
  26. Kimura, B.Y.L.; Loureiro, A.A.F. MPTCP Linux Kernel Congestion Controls. arXiv 2018, arXiv:1812.03210. [Google Scholar]
Figure 1. FMNISCF: Fine-grained Multi-domain Network Interconnection Security Control Framework.
Figure 1. FMNISCF: Fine-grained Multi-domain Network Interconnection Security Control Framework.
Applsci 10 00409 g001
Figure 2. Tree mergers of config in the whitelist.
Figure 2. Tree mergers of config in the whitelist.
Applsci 10 00409 g002
Figure 3. Tree mergers of config in the blacklist.
Figure 3. Tree mergers of config in the blacklist.
Applsci 10 00409 g003
Figure 4. Tree mergers of config in the blacklist conflict checking.
Figure 4. Tree mergers of config in the blacklist conflict checking.
Applsci 10 00409 g004
Figure 5. Tree mergers of config in the scope list.
Figure 5. Tree mergers of config in the scope list.
Applsci 10 00409 g005
Figure 6. Transform from relationship to application match tree.
Figure 6. Transform from relationship to application match tree.
Applsci 10 00409 g006
Figure 7. Operation interface. (a) map from policy to rule and distribution; (b) add policy configuration; (c) packet filter execution.
Figure 7. Operation interface. (a) map from policy to rule and distribution; (b) add policy configuration; (c) packet filter execution.
Applsci 10 00409 g007
Figure 8. Time of rule generation.
Figure 8. Time of rule generation.
Applsci 10 00409 g008
Figure 9. Time of rule loading.
Figure 9. Time of rule loading.
Applsci 10 00409 g009
Figure 10. Packet throughput of Iptables and ours.
Figure 10. Packet throughput of Iptables and ours.
Applsci 10 00409 g010
Table 1. The Relation between test unit and running environment of hardware.
Table 1. The Relation between test unit and running environment of hardware.
CPUDDR4OSTest Unit
Intel(R) Xeon(R)128 GCentos 7Policy translation
E5-2670 0 2.60 GHz
Intel(R) Xeon(R)4 GUbuntu 14Rule loading
E3-1220 V2 3.10 GHz Packet filter
Table 2. The relation between test unit and running environment of FMNISCF.
Table 2. The relation between test unit and running environment of FMNISCF.
SoftwareVersionTest Unit
databaseMySQL 5.0Policy translation
in-memory dataredis 4.0Policy translation
structure store
JVMJDK1.8.0Policy translation
web frameworkspring MVC 4.2Policy translation
persistence frameworkmybatis 4.2Policy translation
Java security frameworkApache Shiro 1.2.5Policy translation
JavaScript libraryJQuery 1.8.3Policy translation
netfilterlinux kernelRule loading
3.10.0-862.el7.x86_64Packet filter
iPerf3iperf-3.1.3Packet sending

Share and Cite

MDPI and ACS Style

Lu, B.; Cao, R.; Tian, L.; Wang, H.; Lu, Y. FMNISCF: Fine-Grained Multi-Domain Network Interconnection Security Control Framework. Appl. Sci. 2020, 10, 409. https://doi.org/10.3390/app10010409

AMA Style

Lu B, Cao R, Tian L, Wang H, Lu Y. FMNISCF: Fine-Grained Multi-Domain Network Interconnection Security Control Framework. Applied Sciences. 2020; 10(1):409. https://doi.org/10.3390/app10010409

Chicago/Turabian Style

Lu, Bo, Ruohan Cao, Luyao Tian, Hao Wang, and Yueming Lu. 2020. "FMNISCF: Fine-Grained Multi-Domain Network Interconnection Security Control Framework" Applied Sciences 10, no. 1: 409. https://doi.org/10.3390/app10010409

APA Style

Lu, B., Cao, R., Tian, L., Wang, H., & Lu, Y. (2020). FMNISCF: Fine-Grained Multi-Domain Network Interconnection Security Control Framework. Applied Sciences, 10(1), 409. https://doi.org/10.3390/app10010409

Note that from the first issue of 2016, this journal uses article numbers instead of page numbers. See further details here.

Article Metrics

Back to TopTop