WO2024130949A1 - 数据处理方法、设备及可读存储介质 - Google Patents
数据处理方法、设备及可读存储介质 Download PDFInfo
- Publication number
- WO2024130949A1 WO2024130949A1 PCT/CN2023/095120 CN2023095120W WO2024130949A1 WO 2024130949 A1 WO2024130949 A1 WO 2024130949A1 CN 2023095120 W CN2023095120 W CN 2023095120W WO 2024130949 A1 WO2024130949 A1 WO 2024130949A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- secure
- resource
- target
- access
- path
- 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.)
- Ceased
Links
Classifications
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/029—Firewall traversal, e.g. tunnelling or, creating pinholes
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/52—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow
- G06F21/53—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems during program execution, e.g. stack integrity ; Preventing unwanted data erasure; Buffer overflow by executing in a restricted environment, e.g. sandbox or secure virtual machine
-
- 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/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0227—Filtering policies
- H04L63/0236—Filtering by address, protocol, port number or service, e.g. IP-address or URL
-
- 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/30—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information
- H04L63/306—Network architectures or network communication protocols for network security for supporting lawful interception, monitoring or retaining of communications or communication related information intercepting packet switched data communications, e.g. Web, Internet or IMS communications
Definitions
- the embodiments of the present application relate to the field of network security technology, and in particular to a data processing method, device, and readable storage medium.
- computers are divided into a secure domain and a personal domain through virtual isolation technology. Users surf the Internet in the personal domain and work in the secure domain.
- the network is an important data communication channel for the secure domain.
- Network protection for the secure domain is the top priority for preventing corporate data leakage.
- API hooks are usually used to protect the secure domain.
- the embodiments of the present application provide a data processing method, device and readable storage medium, which direct traffic according to the target network address of the network data packet without modifying the IP header of the network data packet, thereby achieving network security and decoupling the security tunnel and sandbox network protection isolation.
- an embodiment of the present application provides a data processing method, including:
- the network data packet is processed according to the target path and the access permission.
- an embodiment of the present application provides a data processing device, including:
- An acquisition module used for acquiring a network data packet sent by the first process
- a determination module configured to determine a target path from a first path and a second path according to a target network address of the network data packet, wherein the first path is a path passing through a physical network card, and the second path points to a preset secure tunnel;
- a permission module used to determine the access permission of the target resource corresponding to the target network address
- a processing module is used to process the network data packet according to the target path and the access permission.
- an embodiment of the present application provides an electronic device, comprising: a processor, a memory, and a computer program stored in the memory and executable on the processor, wherein when the processor executes the computer program, the electronic device implements the method described in the first aspect or various possible implementation methods of the first aspect.
- an embodiment of the present application provides a non-volatile computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed by a processor, they are used to implement the method described in the first aspect or various possible implementation methods of the first aspect.
- an embodiment of the present application provides a computer program product comprising a computing program, and when the computer program is executed by a processor, the method described in the first aspect or various possible implementation methods of the first aspect is implemented.
- the electronic device obtains the network data packet sent by the first process of the application, determines the target path from the first path and the second path according to the target network address of the network data packet, and determines the access rights of the target resource corresponding to the target network address. After that, the network data packet is processed according to the target path and the access rights.
- the electronic device diverts the traffic according to the target network address of the network data packet without modifying the IP header of the network data packet, thereby achieving network security protection and decoupling of the security tunnel and the sandbox network protection isolation.
- FIG1 is a schematic diagram of a desktop of an electronic device in a data processing method provided in an embodiment of the present application
- FIG2 is a schematic diagram of the structure of a sandbox in a data processing method provided in an embodiment of the present application
- FIG3 is a flow chart of a data processing method provided in an embodiment of the present application.
- FIG. 4 is a schematic diagram of a first path and a second path in a data processing method provided in an embodiment of the present application
- FIG5 is another flow chart of the data processing method provided in an embodiment of the present application.
- FIG. 6 is a schematic diagram of inter-process communication in a data processing method provided in an embodiment of the present application.
- FIG7 is a schematic diagram of a data processing device provided in an embodiment of the present application.
- FIG8 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application.
- Enterprise data leakage prevention is an important part of network security.
- Traditional enterprise data leakage prevention solutions mainly include file transparent encryption and decryption solutions, pre-interception detection solutions, in-process protection solutions, post-audit solutions and virtual cloud solutions.
- the file transparent encryption and decryption solution will bring some unstable risks, such as file damage, complex policy configuration, poor compatibility and other problems, which will affect office efficiency.
- Pre-interception solutions and in-process protection solutions will make users feel layers of interception during the office process, with poor experience and low work efficiency; for some core data that has been leaked, although the post-audit solution can trace back to the source of the leak, it is already difficult to remedy.
- Virtual cloud desktops require investment in hardware and network equipment, which is costly.
- the industry uses the zero-trust concept as a support and virtual isolation control technology to divide computers into security domains and personal domains to prevent data leakage from the source.
- the security domain or the personal domain, especially the security domain
- the network is the top priority for enterprise data leakage prevention.
- API hook is used for network protection.
- the API hook solution cannot hook some system processes, and some system processes are missed, which also poses the risk of leakage.
- DNS Domain Name System
- the embodiments of the present application provide a data processing method, device and readable storage medium, which direct traffic according to the target network address of the network data packet without modifying the IP header of the network data packet, thereby achieving network security and decoupling of security tunnels and sandbox network protection isolation.
- the executor of the data processing method described in the embodiment of the present application is an electronic device, and the operating system of the electronic device is, for example, a device of the Windows system.
- Multiple application programs are installed on the electronic device, hereinafter referred to as programs. These programs include system programs and application programs of the electronic device.
- System programs are, for example, programs that come with the electronic device after leaving the factory, such as video players, etc.
- Application programs are programs installed by users on electronic devices, such as word office applications, instant messaging tools, etc.
- the electronic device can specifically be a desktop computer, a laptop computer, a tablet computer, an enterprise data leakage prevention (Endpoint Data Leakage Prevention, EDLP), a zero-trust network (Zero-Trust-Architecture, ZTNA) terminal, etc., and the embodiment of the present application is not limited.
- EDLP Endpoint Data Leakage Prevention
- ZTNA Zero-trust network
- a security domain and a personal domain are divided on an electronic device through virtual isolation control technology.
- the virtual isolation technology is also called sandbox technology.
- the electronic device isolates the processes of the security domain and the processes of the personal domain based on the sandbox technology.
- the personal domain is also called a non-security domain.
- the display of the electronic device has at least two desktops, and the user can switch to different desktops, one of which is a desktop of the security domain.
- the user opens an application on the desktop of the security domain, and the process created by the electronic device is a secure process;
- the other desktop is the desktop of the personal domain.
- the process created by the electronic device is a non-secure process, which is also called a personal domain process.
- the display of the electronic device displays the desktop of the personal domain
- the floating window on the desktop represents the desktop of the security domain.
- Figure 1 is a schematic diagram of the desktop of the electronic device in the data processing method provided in the embodiment of the present application.
- desktop 11 is the desktop of the personal domain
- desktop 12 is a floating window floating on desktop 11
- desktop 12 is the desktop of the security domain
- the user can zoom in, zoom out or hide desktop 12 by operating the mouse.
- the embodiment of the present application does not limit the number of desktops 12, that is, a personal domain and multiple security domains can be divided on the electronic device through virtual isolation technology, and different security domains have different permissions.
- the personal domain has Internet access permission
- a security domain has access to a first security resource
- another security domain has access to a second security resource.
- the security domain is a secure container. Using virtual isolation technology, the permissions of the security process will be limited to the minimum range. Normally, the security process is allowed to write data to the security domain, but not to the personal domain. When the security process needs to write data to the personal domain, it will be redirected to the security disk corresponding to the security domain. The security process is allowed to read data in the personal domain, and the security process is prohibited from communicating with the personal domain process. The security disk is stored in an encrypted manner, and non-security processes cannot read or write to the security disk. Through a series of isolation technologies, the security domain becomes a closed environment. In principle, data can only enter but not exit, and data can only be sent and received through authorized and secure network resources.
- FIG2 is a schematic diagram of the structure of the sandbox in the data processing method provided in the embodiment of the present application.
- the sandbox 200 includes an isolation application module 201, a sandbox service 202, and other application modules 203 located in the application space; and an isolation driver module 204, a process identification module 205, and other driver modules 206 located in the kernel space.
- the isolation driver module 204 includes a Windows Filtering Platform (WFP) driver unit 2041 and a Network Driver Interface Specification (NDIS) filter driver unit 2042.
- WFP Windows Filtering Platform
- NDIS Network Driver Interface Specification
- FIG2 also illustrates a tunnel gateway 207, a virtual network card 208, and a physical network card 209 related to the sandbox.
- FIG3 is a flow chart of a data processing method provided in an embodiment of the present application. This embodiment is executed by an electronic device and includes:
- the application is opened by double-clicking or other operations.
- the system creates a process.
- the process created by the system is called a non-secure process
- the process created by the system is called a secure process.
- some applications are started from another application. For example, an office application is started from a browser. At this time, a new process is also created.
- the Transmission Control Protocol/Internet Protocol (TCP/IP) protocol stack of the electronic device obtains the network data packet, which carries at least the domain name of the target resource, etc.
- TCP/IP Transmission Control Protocol/Internet Protocol
- the first path is a path passing through the physical network card, and the second path points to a preset secure tunnel.
- the electronic device pre-stores the correspondence between the network address of the resource and the target path. For example, the electronic device pre-stores the target path of resource A as the first path and the target path of resource B as the second path.
- the electronic device after the electronic device obtains the network data packet, it determines the target network address according to the domain name carried in the network data packet. For example, the electronic device sends a DNS request carrying the domain name to the Domain Name System (DNS) so that the DNS returns the target network address. After determining the target network address, the electronic device queries the above-mentioned correspondence and determines the target path from the first path and the second path.
- DNS Domain Name System
- FIG4 is a schematic diagram of the first path and the second path in the data processing method provided in an embodiment of the present application.
- the TCP/IP model includes a 5-layer architecture, which is the application layer, the transport layer, the network layer, the data link layer, and the physical layer from top to bottom.
- the electronic device creates a first process, and the first process sends a network data packet to the TCP/IP protocol stack.
- the TCP/IP protocol stack includes a routing selection module and a WFP network protection module.
- the electronic device pre-creates an independent secure tunnel, which is also called a network tunnel.
- resources include: resources that are only allowed to be accessed by secure processes, resources that are only allowed to be accessed by non-secure processes, and resources that are accessible to both secure processes and non-secure processes.
- the routing selection module determines the target path from the first path and the second path according to the target network address of the network data packet.
- the first path is the path through the physical network card, as shown by the thick black solid line in the figure, and the second path points to the preset secure tunnel, as shown by the thick black dotted line in the figure.
- the TCP/IP protocol stack sends the network data packet to the physical network card, and the network data packet is sent out through the physical network card.
- the TCP/IP protocol stack sends the network data packet to the virtual network card, and then the data packet returns to the application layer, and the virtual network card is read through the application layer's secure tunnel program, and the read data packet is sent to the TCP/IP protocol stack, so that the TCP/IP protocol stack reassembles the data packet and sends the reassembled data packet through the physical network card.
- Whether these callouts are registered can be automatically enumerated by tools, or enumerated by drivers, or static analysis methods can be used to analyze the corresponding sys driver files (reverse analysis).
- callout1 is used for outbound connection events
- callout2 is used for inbound connection events
- callout3 is used for port allocation events
- callout4 is used for port release events
- callout5 is used to obtain the User Datagram Protocol (UDP) transport layer message data stream, and then resolve the relationship between the domain name and IP in the DNS.
- UDP User Datagram Protocol
- the electronic device pre-stores the correspondence between resources and access rights. For example, the electronic device pre-stores an access rights table, which indicates that resource A is only accessible to secure domain processes, resource B is only accessible to non-secure processes, and resource C is accessible to both secure and non-secure processes. Therefore, the electronic device can determine the access rights of the target resource by querying the access rights table.
- the electronic device when the access permission indicates that the first process can access the target resource, the electronic device sends the network data packet of the first process through the first path. When the access permission indicates that the first process cannot access the target resource, the electronic device discards the network data packet of the first process.
- not all network data packets of the secure process are sent through the second path, and not all network data packets of the non-secure process are sent through the first path, but it is related to the target path determined in step 302.
- the target resource is a resource that only the secure process is allowed to access, a resource that only the non-secure process is allowed to access, or a resource that both the secure process and the non-secure process can access. Therefore, the decoupling of the secure tunnel and the sandbox network protection isolation can be achieved.
- the target path is the first path
- the first process is a secure process
- the target resource is a resource that can be accessed by both the secure process and the non-secure process
- the TCP/IP protocol stack sends the network data packet of the first process through the physical network card.
- the target resource is, for example, a read-only resource.
- the network data packet of the secure process is not sent through the secure tunnel, that is, it is not sent through the second path.
- the TCP/IP protocol stack sends the network data packet of the first process through the virtual network card, that is, through the second path.
- the target resource is, for example, a read-only resource.
- the network data packet of the non-secure process is not sent through the physical network card, but is sent through the second path.
- an electronic device obtains a network data packet sent by a first process of an application, determines a target path from a first path and a second path according to a target network address of the network data packet, and determines the access rights to the target resource corresponding to the target network address. Afterwards, the network data packet is processed according to the target path and the access rights.
- the electronic device directs traffic according to the target network address of the network data packet without modifying the IP header of the network data packet, thereby achieving network security protection and decoupling of security tunnel and sandbox network protection isolation.
- FIG5 is another flow chart of a method for processing a data packet provided by an embodiment of the present application. This embodiment includes:
- step 504. Determine whether the first process is a safe process. If the first process is a safe process, execute step 505; if the first process is a non-safe process, execute step 508.
- each time the electronic device creates a process it will assign a unique process identification number (Process Identification, PID, PID) to the process.
- the WFP network protection module is used to determine whether a process is a safe process based on the PID of the process. For example, the WFP network protection module sends the PID to the process identification module in the sandbox, and the process identification module determines whether the first process is a safe process and returns the identification result to the WFP network protection module. For another example, the process is monitored by a process callback. When a new process is started, that is, when the first process is started, it is distinguished whether the first process is a safe process or a non-safe process according to the rules.
- step 505. Determine whether the target resource corresponding to the target network address allows the security process to access based on the access permission. If the target resource allows the security process to access, execute step 506; if the target resource does not allow the security process to access, execute step 507.
- the electronic device After the electronic device determines that the first process is a secure process, it continues to determine whether the target resource corresponding to the target network address allows the secure process to access. Only when the secure process is allowed to access can the secure process access the target resource and the TCP/IP protocol stack can send the network data packet.
- the target path is the first path
- the first process is a secure process and the target resource is a resource accessible to both the secure process and the non-secure process
- the TCP/IP protocol stack sends the network data packet of the first process through the physical network card.
- the target resource is, for example, a read-only resource.
- the TCP/IP protocol stack discards the network data packet.
- the TCP/IP protocol stack discards the network data packet.
- the TCP/IP protocol stack sends the network data packet of the first process through the virtual network card.
- the secure process cannot access any resources other than the secure resources, so that by default the secure process will not leak information through network channels, while the non-secure process is not controlled.
- a trusted secure network resource is configured for the security domain, the secure process is only allowed to access this network resource and cannot access other resources, thereby complying with the "least privilege" principle. Since in some embodiments of the present application, routing control is not targeted at the process, once the secure tunnel is opened, the non-secure process can also access feasible secure network resources.
- step 508 Determine whether the target resource corresponding to the target network address allows access by non-secure processes according to the access rights. If the target resource allows access by non-secure processes, execute step 509; if the target resource does not allow access by non-secure processes, execute step 510.
- the TCP/IP protocol stack sends the network data packet of the first process through the physical network card.
- the TCP/IP protocol stack sends the network data packet of the unsafe process through the first path.
- the TCP/IP protocol stack discards the network data packet.
- the target path is the second path
- the first process is an unsafe process
- the target resource is a resource that is allowed to be accessed by both unsafe processes and safe processes
- the TCP/IP protocol stack sends the network data packet of the unsafe process through the virtual network card.
- the target resource is, for example, a read-only resource.
- the network data packet of the non-secure process is sent through the target path based on the access rights and determination, thereby achieving network protection while realizing the decoupling of the secure tunnel and the sandbox network protection isolation.
- the electronic device before the electronic device obtains the network data packet sent by the first process, it also obtains a first configuration file and a second configuration file, the first configuration file is used to indicate the correspondence between the network address of the resource and the target path, and the second configuration file is used to indicate the correspondence between the network address of the resource and the target path.
- the configuration file is used to indicate the access rights of resources.
- the access rights include allowing only secure domain processes to access, allowing only non-secure processes to access, or allowing both secure and non-secure processes to access.
- the electronic device obtains the first configuration file from a local or remote server in advance, and then registers it in the system routing table, so that the corresponding relationship between the network address of the resource and the target path is stored in the routing table.
- the electronic device obtains the second configuration file from a local or remote server in advance and stores it in the TCP/IP protocol stack. In this way, after the first process sends a network data packet, the electronic device can determine the target path and access rights of the target resource by querying the first configuration file, which is fast and accurate.
- a personal domain and a security domain can be divided on the same electronic device through virtual isolation technology, wherein the security domain can be multiple, that is, there are multiple floating windows on the desktop of the personal domain in Figure 1, and different floating windows represent different security domains.
- communication between non-security processes in the personal domain is allowed, and communication between security processes in the same security domain is allowed, so that the security processes created in the same security domain are not restricted by the network, and the network between security processes in the security domain is guaranteed to be normal.
- non-security processes and security processes are not allowed to communicate, and security processes in different security domains are not allowed to communicate.
- the electronic device uses WFP technology to record the PID of the running process, the protocol to which it belongs, and the port monitored by the process, etc., to filter the inbound request of the non-security process requesting to connect to the security process, and to filter the outbound request of the security process requesting to connect to the non-security process.
- the outbound request includes a local loopback request.
- the electronic device also processes DNS requests, etc. through WFP technology.
- the request initiated by the first process is called an outbound request.
- the first process is the source process and the second process is the target process.
- a local loopback refers to a request by the first process to establish a connection with the local second process
- a non-local loopback refers to a request by the first process to establish a network connection with a remote process.
- the second process when the first process is a non-secure process and the first process initiates an outbound request of a local loopback, the second process is determined from the local process.
- the second process is a non-secure process, a connection between the first process and the second process is established, and when the second process is a secure process, the connection between the first process and the second process is prohibited.
- the electronic device records the corresponding relationship between the port listened by each process in the local process, the protocol to which it belongs, and the PID of the process through the WFP technology. Therefore, when the first process initiates an outbound request for a local loopback, the electronic device can infer the PID of the second process based on the protocol and PID, that is, determine the second process from the local process. Afterwards, the electronic device uses the WFP network protection module in Figure 4 to determine whether the second process is a secure process. Since the first process is a non-secure process, when the second process is a non-secure process, the electronic device establishes a connection between the first process and the second process, thereby ensuring that the network between non-secure processes in the personal domain is normal. When the second process is a secure process, it is prohibited to establish a connection between the first process and the second process, thereby preventing data leakage and ensuring the security of network protection.
- the first process when the first process is a non-secure process and the first process initiates an outbound request of a non-local loop, it is determined whether the outbound resource corresponding to the outbound request allows the non-secure process to access.
- the outbound resource is a resource that the non-secure process is allowed to access, a connection is established between the first process and the outbound resource.
- the outbound resource is a resource that the non-secure process is not allowed to access, establishing a connection between the first process and the outbound resource is prohibited.
- the electronic device when the outbound request is a non-local loopback outbound request, the electronic device cannot determine the second process because the target process is on a remote device.
- the indication information indicates the outbound resource, that is, the resource that the first process requests to access, the electronic device determines whether the outbound resource corresponding to the outbound request allows non-secure processes to access.
- the outbound resource is a resource that allows non-secure processes to access, a connection is established between the first process and the outbound resource so that the first process can successfully access the outbound resource.
- the outbound resource is a resource that does not allow non-secure processes to access, it is prohibited to establish a connection between the first process and the outbound resource to prevent data leakage.
- the first process is a non-secure process and requests an outbound request
- it is processed based on whether the outbound request is a local loopback request, thereby ensuring communication of the non-secure process in the personal domain while preventing data leakage.
- a second process is determined from the local process, and when the second process is a secure process, a connection is established between the first process and the second process, and when the second process is an unsecure process, establishing a connection between the first process and the second process is prohibited.
- the electronic device records the corresponding relationship between the port monitored by each process in the local process, the protocol to which it belongs, and the PID of the process through the WFP technology. Therefore, when the first process initiates an outbound request for a local loopback, the electronic device can infer the PID of the second process based on the protocol and PID. Afterwards, the electronic device uses the WFP network protection module in Figure 4 to determine whether the second process is a secure process. Since the first process is a secure process, when the second process is a secure process, the electronic device establishes a connection between the first process and the second process, thereby ensuring that the network between the secure processes in the security domain is normal. When the second process is a non-secure process, it is prohibited to establish a connection between the first process and the second process, thereby preventing data leakage and ensuring the security of network protection.
- the first process when the first process is a secure process and the first process initiates an outbound request of a non-local loop, it is determined whether the outbound resource corresponding to the outbound request allows the secure process to access it.
- the outbound resource allows the secure process to access it, a connection is established between the first process and the outbound resource.
- the outbound resource does not allow the secure process to access it, establishing a connection between the first process and the outbound resource is prohibited.
- the electronic device when the outbound request is a non-local loopback outbound request, the electronic device cannot determine the second process because the target process is on a remote device.
- the indication information indicates the outbound resource, that is, the resource that the first process requests to access, the electronic device determines whether the outbound resource corresponding to the outbound request allows the security process to access.
- the outbound resource allows the security process to access the resource, a connection is established between the first process and the outbound resource so that the first process can access the outbound resource.
- the connection between the first process and the outbound resource is prohibited to prevent data leakage.
- the outbound request is processed based on whether it is a local loopback request, thereby ensuring communication of the secure process within the security domain while preventing data leakage.
- the request received by the first process is called an inbound request.
- the first process is the target process and the third process is the source process.
- a local loopback refers to a local third process requesting to establish a connection with the first process;
- a non-local loopback refers to a remote third process requesting to establish a network connection with the first process.
- the electronic device determines whether the third process is a secure process, and if the third process is a secure process, a network connection between the first process and the third process is established. If the third process is a non-secure process, the establishment of a network connection between the first process and the third process is prohibited.
- the electronic device determines whether the third process is a secure process, and if the third process is a non-secure process, a network connection between the first process and the third process is established. If the third process is a secure process, the establishment of a network connection between the first process and the third process is prohibited.
- the above-mentioned first process receives an inbound request initiated by a local third process, which is equivalent to the local third process requesting to establish a network connection with the first process, that is, the third process outbound.
- the previous article has described the outbound scenario of the local loopback of the first process.
- the inbound of the local loopback of the first process can be understood as the outbound of the local loopback of the third process.
- a network connection between the first process and the third process may be established because the first process is a non-secure process.
- the first process is a secure process and receives an inbound request of a non-local loopback, that is, when the third process is a remote process
- the inbound request is blocked, thereby preventing data leakage through the network and preventing attacks from external malicious networks to avoid damaging the security domain.
- an accessible network resource is configured for the security domain
- the third process is a process of the accessible network resource
- the third process is allowed to establish a connection with the first process.
- all inbound requests of non-local loopbacks are blocked.
- Fig. 6 is a schematic diagram of inter-process communication in a data processing method provided by an embodiment of the present application.
- an electronic device 61 is divided into a personal domain 611 and a security domain 612
- an electronic device 62 is divided into a personal domain 621 and a security domain 622 .
- the non-secure process of the personal domain 611 is prohibited from connecting to the secure process in the security domain 612; the non-secure process in the personal domain 611 is prohibited from accessing the trusted network resources, and the non-secure process in the personal domain 611 is allowed to access the untrusted network resources.
- the secure process in the security domain 622 is prohibited from accessing the secure process in the security domain 612.
- the trusted network resources configured for the security domain 622 include the security domain 612
- the secure process in the security domain 622 is allowed to access the secure process in the security domain 612.
- non-secure processes in the personal domain 611 are prohibited from accessing trusted network resources
- secure processes in the security domain 612 are prohibited from accessing untrusted network resources
- non-secure processes in the personal domain 611 may be allowed to access trusted network resources
- secure processes in the security domain 612 may be allowed to access untrusted network resources.
- the untrusted network resources are, for example, read-only resources and cannot be written, thereby at least ensuring that no data leakage occurs.
- the electronic device before the electronic device determines the target path from the first path and the second path according to the target network address of the network data packet, it also uses the first process to construct a DNS request. Afterwards, the electronic device sends the DNS request to the local proxy process so that the proxy process resolves the DNS request.
- connection event does not support domain name identification.
- the connection event refers to the event that the electronic device connects to the server corresponding to the target resource.
- the target resource is often in the form of a domain name.
- the electronic device needs to send a DNS request to the DNS server to obtain the IP corresponding to the domain name, that is, the target network address.
- the DNS server is often an untrusted network resource, which will cause the DNS request to fail.
- a proxy process is established in the electronic device to handle all DNS requests.
- the electronic device uses a proxy process to determine whether the target resource corresponding to the domain name carried in the DNS request is a resource accessible to the security process.
- a response message corresponding to the DNS request is sent through the UDP53 port; when the target resource corresponding to the domain name is a resource inaccessible to the security process, the response message is prohibited from being sent through the UDP53 port.
- the first process constructs a DNS request carrying the domain name of the target resource.
- the DNS request is parsed by the local proxy process to obtain a response message.
- the response message carries the IP address corresponding to the domain name, that is, the target network address. Afterwards, the proxy process determines whether the target resource is a resource accessible to the security process.
- the proxy process Only when the target resource is accessible to the security process, the proxy process will send the response message obtained by parsing the DNS request through the UDP53 port. If the target resource is a resource that the security process is not allowed to access, it is prohibited to send a response message through the UDP53 port. In this way, only Allows querying of DNS information of specific secure network resources, and intercepts all others as leaked messages to prevent data leakage and improve network protection security.
- the first process When the first process is a non-secure process, the first process constructs a DNS request carrying the domain name of the target resource, and the DNS request is parsed by the local proxy process to obtain a response message, which carries the IP address corresponding to the domain name, that is, the target network address. After that, the proxy process sends the response message through UDP port 53.
- the electronic device when the target resource corresponding to the domain name is a resource accessible to the security process, after the proxy process of the electronic device sends a response message corresponding to the DNS request through the UDP53 port, the electronic device also parses the mapping relationship between the domain name and the target network address from the response message and caches the mapping relationship.
- the electronic device parses all the response messages of UDP53 port in WFP, parses the mapping relationship between the domain name and the network address and caches it. In this way, when another connection event occurs next, it can automatically identify whether the domain name corresponding to the network address needs to be restricted, and the response speed is fast.
- the data processing device 700 includes: an acquisition module 71, a determination module 72, a permission module 73 and a processing module 74. In some embodiments, the data processing device 700 also includes a transceiver module 75.
- An acquisition module 71 is used to acquire a network data packet sent by the first process
- a determination module 72 configured to determine a target path from a first path and a second path according to a target network address of the network data packet, wherein the first path is a path passing through a physical network card, and the second path points to a preset secure tunnel;
- the permission module 73 is used to determine the access rights of the target resource corresponding to the target network address
- the processing module 74 is used to process the network data packet according to the target path and access permission.
- the processing module 74 is used to determine whether the first process is a secure process; when the first process is a secure process, determine whether the target resource corresponding to the target network address allows the secure process to access according to the access rights;
- the transceiver module 75 is used to send a network data packet through a target path when the target resource is a resource that allows the security process to access;
- the processing module 74 is further configured to discard the network data packet when the target resource does not allow the security process to access it.
- the processing module 74 is used to determine whether the target resource corresponding to the target network address allows the non-secure process to access according to the access permission when the first process is a non-secure process;
- the transceiver module 75 is used to send a network data packet through a target path when the target resource is a resource that allows non-secure processes to access;
- the processing module 74 is further configured to discard the network data packet when the target resource does not allow the security process to access it.
- the acquisition module 71 before the acquisition module 71 acquires the network data packet sent by the first process, it is also used to acquire a first configuration file and a second configuration file.
- the first configuration file is used to indicate the correspondence between the network address of the resource and the target path
- the second configuration file is used to indicate the access rights of the resource.
- the access rights include allowing only secure domain processes to access, allowing only non-secure processes to access, and both secure and non-secure processes to access.
- the processing module 74 is also used to, when the first process is a non-secure process and the first process initiates an outbound request of a local loop, determine the second process from the local process, and when the second process is a non-secure process, establish a connection between the first process and the second process, and when the second process is a secure process, prohibit the establishment of a connection between the first process and the second process; when the first process is a non-secure process and the first process initiates an outbound request of a non-local loop, determine whether the outbound resource corresponding to the outbound request allows the non-secure process to access, and when the outbound resource allows the non-secure process to access the resource, establish a connection between the first process and the outbound resource, and when the outbound resource does not allow the non-secure process to access the resource, prohibit the establishment of a connection between the first process and the outbound resource.
- the processing module 74 is also used to, when the first process is a secure process and the first process initiates an outbound request of a local loop, determine the second process from the local process, and when the second process is a secure process, establish a connection between the first process and the second process, and when the second process is a non-secure process, prohibit the establishment of a connection between the first process and the second process; when the first process is a secure process and the first process initiates an outbound request of a non-local loop, determine whether the outbound resource corresponding to the outbound request is allowed to be accessed by the secure process, and when the outbound resource is a resource that the secure process is allowed to access, establish a connection between the first process and the outbound resource, and when the outbound resource is a resource that the secure process is not allowed to access, prohibit the establishment of a connection between a process and the outbound resource.
- the processing module 74 is further configured to block an inbound request when the first process is a secure process and the first process receives an inbound request of a non-local loopback.
- the processing module 74 is further configured to construct a DNS request using the first process before determining the target path from the first path and the second path according to the target network address of the network data packet;
- the transceiver module 75 is used to send the DNS request to the local proxy process so that the proxy process resolves the DNS request.
- the processing module 74 is further used to determine whether the target resource corresponding to the domain name carried in the DNS request is a resource accessible to the security process when the first process is a security process after the transceiver module 75 sends the DNS request to the local proxy process so that the proxy process resolves the DNS request;
- the transceiver module 75 is also used to send a response message corresponding to the DNS request through the UDP53 port when the target resource corresponding to the domain name is a resource accessible to the security process;
- the processing module 74 is further configured to prohibit sending a response message through the UDP53 port when the target resource corresponding to the domain name is a resource that is inaccessible to the security process.
- the processing module 74 is further used to parse out the mapping relationship between the domain name and the target network address from the response message; and cache the mapping relationship.
- the data processing device provided in the embodiment of the present application can execute the actions of the electronic device in the above embodiment. Its implementation principle and technical effect are similar and will not be repeated here.
- FIG8 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application. As shown in FIG8 , the electronic device 800 includes:
- Memory 82 stores computer instructions
- the processor 81 executes the computer instructions stored in the memory 82, so that the processor 81 executes the data processing method implemented by the above electronic device.
- the electronic device 800 further includes a communication component 83 , wherein the processor 81 , the memory 82 and the communication component 83 may be connected via a bus 88 .
- An embodiment of the present application also provides a non-volatile computer-readable storage medium, in which computer instructions are stored. When the computer instructions are executed by a processor, they are used to implement the data processing method described in any embodiment implemented by the above electronic device.
- An embodiment of the present application also provides a computer program product, which includes a computer program.
- the computer program When the computer program is executed by a processor, it implements the data processing method described in any embodiment implemented by the above electronic device.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Technology Law (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
Description
Claims (12)
- 一种数据处理方法,包括:获取第一进程发送的网络数据包;根据所述网络数据包的目标网络地址从第一路径和第二路径中确定出目标路径,所述第一路径为经过物理网卡的路径,所述第二路径指向预设的安全隧道;确定所述目标网络地址对应的目标资源的访问权限;根据所述目标路径和所述访问权限处理所述网络数据包。
- 根据权利要求1所述的方法,其中,所述根据所述目标路径和所述访问权限处理所述网络数据包,包括:确定所述第一进程是否为安全进程;当所述第一进程为安全进程时,根据所述访问权限确定所述目标网络地址对应的所述目标资源是否允许安全进程访问;当所述目标资源允许安全进程访问的资源时,通过所述目标路径发送所述网络数据包;当所述目标资源不允许安全进程访问时,丢弃所述网络数据包。
- 根据权利要求1或2所述的方法,其中,还包括:当所述第一进程为非安全进程时,根据所述访问权限确定所述目标网络地址对应的所述目标资源是否允许非安全进程访问;当所述目标资源允许非安全进程访问的资源时,通过所述目标路径发送所述网络数据包;当所述目标资源不允许非安全进程访问时,丢弃所述网络数据包。
- 根据权利要求1至3中任一项所述的方法,其中,所述获取第一进程发送的网络数据包之前,还包括:获取第一配置文件和第二配置文件,所述第一配置文件用于指示资源的网络地址和所述目标路径的对应关系,所述第二配置文件用于指示资源的所述访问权限,所述访问权限包括仅允许安全域进程访问、仅允许非安全进程访问、安全进程和非安全进程均可访问。
- 根据权利要求1至4中任一项所述的方法,其中,还包括:当所述第一进程为非安全进程、所述第一进程发起本地回环的出站请求时,从本地进程中确定出第二进程,当所述第二进程是非安全进程时,建立所述第一进程和所述第二进程之间的连接,当所述第二进程是安全进程时,禁止在所述第一进程和所述第二进程之间建立连接;当所述第一进程为非安全进程、所述第一进程发起非本地回环的出站请求时,确定出站 请求对应的出站资源是否允许非安全进程访问,当所述出站资源为允许非安全进程访问的资源时,建立所述第一进程与所述出站资源之间的连接,当所述出站资源为不允许非安全进程访问的资源时,禁止在所述第一进程与所述出站资源之间建立连接。
- 根据权利要求1至4中任一项所述的方法,其中,还包括:当所述第一进程为安全进程、所述第一进程发起本地回环的出站请求时,从本地进程中确定出第二进程,当所述第二进程是安全进程时,建立所述第一进程和所述第二进程之间的连接,当所述第二进程是非安全进程时,禁止在所述第一进程和所述第二进程之间建立连接;当所述第一进程为安全进程、所述第一进程发起非本地回环的出站请求时,确定出站请求对应的出站资源是否允许安全进程访问,当所述出站资源为允许安全进程访问的资源时,建立所述第一进程与所述出站资源之间的连接,当所述出站资源为不允许安全进程访问的资源时,禁止在所述第一进程与所述出站资源之间建立连接。
- 根据权利要求1至6中任一项所述的方法,其中,还包括:当所述第一进程为安全进程、所述第一进程接收到非本地回环的入站请求时,阻止所述入站请求。
- 根据权利要求1至7中任一项所述的方法,其中,所述根据所述网络数据包的目标网络地址从第一路径和第二路径中确定出目标路径之前,还包括:利用所述第一进程构建DNS请求;将所述DNS请求发送给本地的代理进程,以使得所述代理进程解析所述DNS请求。
- 根据权利要求8所述的方法,其中,所述将所述DNS请求发送给本地的代理进程,以使得所述代理进程解析所述DNS请求之后,还包括:当所述第一进程为安全进程时,确定所述DNS请求携带的域名对应的所述目标资源是否为安全进程可访问的资源;当所述域名对应的所述目标资源为安全进程可访问的资源时,通过UDP53端口发送所述DNS请求对应的应答报文;当所述域名对应的所述目标资源为安全进程不可访问的资源时,禁止通过UDP53端口发送所述应答报文。
- 根据权利要求9所述的方法,其中,所述当所述域名对应的所述目标资源为安全进程可访问的资源时,通过UDP53端口发送所述DNS请求对应的应答报文之后,还包括:从所述应答报文中解析出所述域名和所述目标网络地址的映射关系;缓存所述映射关系。
- 一种电子设备,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时使得所述电子设备实现如权利要求1至 10任一所述的方法。
- 一种非易失性计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如权利要求1至10任一所述的方法。
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| EP23800725.6A EP4641974A4 (en) | 2022-12-23 | 2023-05-18 | DATA PROCESSING METHOD, DEVICE AND READABLE STORAGE MEDIA |
| US18/506,585 US20240214356A1 (en) | 2022-12-23 | 2023-11-10 | Network data packet processing method, electronic device, and non-transitory computer-readable storage medium |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN202211668150.0 | 2022-12-23 | ||
| CN202211668150.0A CN116232659A (zh) | 2022-12-23 | 2022-12-23 | 数据处理方法、设备及可读存储介质 |
Related Child Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US18/506,585 Continuation US20240214356A1 (en) | 2022-12-23 | 2023-11-10 | Network data packet processing method, electronic device, and non-transitory computer-readable storage medium |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2024130949A1 true WO2024130949A1 (zh) | 2024-06-27 |
Family
ID=86590140
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/CN2023/095120 Ceased WO2024130949A1 (zh) | 2022-12-23 | 2023-05-18 | 数据处理方法、设备及可读存储介质 |
Country Status (2)
| Country | Link |
|---|---|
| CN (1) | CN116232659A (zh) |
| WO (1) | WO2024130949A1 (zh) |
Families Citing this family (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN117749489B (zh) * | 2023-12-20 | 2024-09-24 | 北京熠智科技有限公司 | 一种分布式系统的网络传输隐私保护方法及系统 |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8887152B1 (en) * | 2011-11-04 | 2014-11-11 | Trend Micro, Inc. | Android application virtual environment |
| CN111274583A (zh) * | 2020-01-17 | 2020-06-12 | 湖南城市学院 | 一种大数据计算机网络安全防护装置及其控制方法 |
| CN112003877A (zh) * | 2020-09-03 | 2020-11-27 | 上海优扬新媒信息技术有限公司 | 一种网络隔离方法、装置、电子设备及存储介质 |
| CN112910917A (zh) * | 2021-02-25 | 2021-06-04 | 深信服科技股份有限公司 | 网络隔离方法、装置、设备及可读存储介质 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN106411814B (zh) * | 2015-07-27 | 2019-12-06 | 深圳市中兴微电子技术有限公司 | 一种策略管理方法及系统 |
-
2022
- 2022-12-23 CN CN202211668150.0A patent/CN116232659A/zh active Pending
-
2023
- 2023-05-18 WO PCT/CN2023/095120 patent/WO2024130949A1/zh not_active Ceased
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US8887152B1 (en) * | 2011-11-04 | 2014-11-11 | Trend Micro, Inc. | Android application virtual environment |
| CN111274583A (zh) * | 2020-01-17 | 2020-06-12 | 湖南城市学院 | 一种大数据计算机网络安全防护装置及其控制方法 |
| CN112003877A (zh) * | 2020-09-03 | 2020-11-27 | 上海优扬新媒信息技术有限公司 | 一种网络隔离方法、装置、电子设备及存储介质 |
| CN112910917A (zh) * | 2021-02-25 | 2021-06-04 | 深信服科技股份有限公司 | 网络隔离方法、装置、设备及可读存储介质 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN116232659A (zh) | 2023-06-06 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| RU2738021C2 (ru) | Система и способы для дешифрования сетевого трафика в виртуализированной среде | |
| US10652210B2 (en) | System and method for redirected firewall discovery in a network environment | |
| JP6188832B2 (ja) | データベース・クライアント要求を処理するための方法、コンピュータ・プログラム製品、データ処理システム、およびデータベース・システム | |
| US9306933B2 (en) | Ensuring network connection security between a wrapped app and a remote server | |
| US8893300B2 (en) | Security systems and methods to reduce data leaks in enterprise networks | |
| US10417428B2 (en) | Methods and systems for providing and controlling cryptographic secure communications terminal providing a remote desktop accessible in secured and unsecured environments | |
| TWI549452B (zh) | 用於對虛擬私人網路之特定應用程式存取之系統及方法 | |
| US5826014A (en) | Firewall system for protecting network elements connected to a public network | |
| CN113904826B (zh) | 数据传输方法、装置、设备和存储介质 | |
| US20040199763A1 (en) | Security System with Methodology for Interprocess Communication Control | |
| US9473298B2 (en) | Simplifying IKE process in a gateway to enable datapath scaling using a two tier cache configuration | |
| US11411933B2 (en) | Trusted cyber physical system | |
| US20240214356A1 (en) | Network data packet processing method, electronic device, and non-transitory computer-readable storage medium | |
| KR20150046176A (ko) | 네트워크 환경에서 암호화된 데이터 검사 | |
| JP2016530814A (ja) | 大量のvpn接続を遮断するためのゲートウェイデバイス | |
| JP2001337864A (ja) | アクセス制御システム | |
| US7966643B2 (en) | Method and system for securing a remote file system | |
| KR101076683B1 (ko) | 호스트 기반의 망분리 장치 및 방법 | |
| US8272041B2 (en) | Firewall control via process interrogation | |
| Pinkerton et al. | Direct data placement protocol (DDP)/remote direct memory access protocol (RDMAP) security | |
| WO2024130949A1 (zh) | 数据处理方法、设备及可读存储介质 | |
| WO2025096362A1 (en) | Systems and methods for zero trust dns based networking | |
| US20250141886A1 (en) | Data centric approach for supporting multiple inline cloud services | |
| US11539755B1 (en) | Decryption of encrypted network traffic using an inline network traffic monitor | |
| US11902298B2 (en) | Dynamic remote browsing |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 23800725 Country of ref document: EP Kind code of ref document: A1 |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2023800725 Country of ref document: EP |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 2023800725 Country of ref document: EP Effective date: 20250723 |
|
| ENP | Entry into the national phase |
Ref document number: 2023800725 Country of ref document: EP Effective date: 20250723 |
|
| ENP | Entry into the national phase |
Ref document number: 2023800725 Country of ref document: EP Effective date: 20250723 |
|
| WWP | Wipo information: published in national office |
Ref document number: 2023800725 Country of ref document: EP |