1. Field of the Invention
The present invention relates to computer network protocols, and particularly to a tunneling-based method of bypassing Internet access denial by creating a bypass tunnel between a local system and a destination system.
2. Description of the Related Art
An IP tunnel is an Internet Protocol (IP) network communications channel between two networks. It is used to transport another network protocol by encapsulation of its packets. IP tunnels are often used for connecting two disjointed IP networks that do not have a native routing path to each other via an underlying routable protocol across an intermediate transport network. In conjunction with the Internet Protocol Security (IPsec) protocol, as will be described below, IP tunnels may be used to create a virtual private network between two or more private networks across a public network, such as the Internet.
In IP tunneling, every IP packet, including addressing information of its source and destination IP networks, is encapsulated within another packet format native to the transit network. At the borders between the source network and the transit network, as well as the transit network and the destination network, gateways are used that establish the end-points of the IP tunnel across the transit network. Thus, the IP tunnel endpoints become native IP routers that establish a standard IP route between the source and destination networks. Packets traversing these end-points from the transit network are stripped from their transit frame format headers and trailers used in the tunneling protocol, and thus converted into native IP format and injected into the IP stack of the tunnel endpoints. In addition, any other protocol encapsulations used during transit, such as IPsec or Transport Layer Security, are removed.
IP-in-IP, which is sometimes referred to as “ipencap”, is an example of IP encapsulation within IP. IP tunneling often bypasses simple firewall rules transparently since the specific nature and addressing of the original datagrams are hidden. Content-control software is usually required to block IP tunnels. IP-in-IP is an IP tunneling protocol that encapsulates one IP packet in another IP packet. To encapsulate an IP packet in another IP packet, an outer header is added with SourceIP, being the entry point of the tunnel, and DestinationIP being the exit point of the tunnel.
Computer networks use a tunneling protocol when one network protocol (the delivery protocol) encapsulates a different payload protocol. By using tunneling, one can, for example, carry a payload over an incompatible delivery-network, or provide a secure path through an untrusted network. Tunneling typically contrasts with a layered protocol model, such as those of OSI or TCP/IP. The delivery protocol usually operates at a higher level in the model than does the payload protocol, or at the same level.
As an example of network layer over network layer, Generic Routing Encapsulation (GRE), a protocol running over IP, often serves to carry IP packets with RFC 1918 private addresses over the Internet using delivery packets with public IP addresses. In this case, the delivery and payload protocols are compatible, but the payload addresses are incompatible with those of the delivery network. Tunneling protocols may use data encryption to transport insecure payload protocols over a public network (such as the Internet), thereby providing VPN functionality. Internet Protocol Security (IPsec) has an end-to-end Transport Mode, but can also operate in a tunneling mode through a trusted security gateway.
IPsec is a protocol suite for securing IP communications by authenticating and encrypting each IP packet of a communication session. IPsec also includes protocols for establishing mutual authentication between agents at the beginning of the session and negotiation of cryptographic keys to be used during the session.
IPsec is an end-to-end security scheme operating in the Internet Layer of the Internet Protocol Suite. It can be used in protecting data flow between a pair of hosts (host-to-host), between a pair of security gateways (network-to-network), or between a security gateway and a host (network-to-host). Some other Internet security systems in widespread use, such as Secure Sockets Layer (SSL), Transport Layer Security (TLS) and Secure Shell (SSH), operate in the upper layers of the TCP/IP model. Thus, IPsec protects any application traffic across an IP network.
Although tunneling protocols may be used for creating secure private networks within a public network, such as the Internet, they are not tools that typically may be used to bypass an Internet Service Provider (ISP) or other system that is maliciously blocking network access. Thus, a tunneling-based method of bypassing Internet access denial solving the aforementioned problems is desired.
The tunneling-based method of bypassing Internet access denial allows for the re-routing of communication between a local system and a destination system when the local system's Internet protocol (IP) address has been blocked by a malicious higher-tier Internet service provider. First, it is determined if the local system is blocked from communicating with the destination system. If the local system is blocked from communicating with the destination system, then it is determined if a malicious higher-tier Internet service provider is responsible for the blockage of service.
If the local system is blocked by the malicious higher-tier Internet service provider, then the malicious higher-tier Internet service provider is identified and communication is established between the local system and a neighboring system that is not blocked by the malicious higher-tier Internet service provider. The neighboring system will then help in establishing either a secure or a non-secure tunnel between the local system and the destination system. Finally, communications are then transmitted from the local system to the destination system, through the established tunnel, by first transmitting from the local system to the neighboring system, and then transmitting from the neighboring system through the malicious higher-tier Internet service provider to the destination system.
These and other features of the present invention will become readily apparent upon further review of the following specification and drawings.
Similar reference characters denote corresponding features consistently throughout the attached drawings.
The tunneling-based method of bypassing Internet access denial allows for the re-routing of communication between a local system and a destination system when the local system's internet protocol (IP) address has been blocked by a malicious higher-tier Internet service provider.
As shown in
It should be understood that any suitable type of LAN, WAN, network access and router may be utilized. In the example of
In
To validate the forwarding settings of the different routers, such as the entry point of the tunnel router, the exit point of the tunnel router, the malicious router, and the proper malicious router interface selection for traffic forwarding, Tables 1, 2 and 3 are provided in
From Tables 1, 2 and 3, the incoming and outgoing traffic of the local system 100 can be determined. In the example of
In order to simulate a tunnel configuration, the same baseline network for simulation was used, with the addition of the creation of a tunnel between routers R2 and R5 that passes through router R3 of neighboring system 200. As will be described in detail below, neighboring system 200 is pre-established for creating a tunnel to bypass access from system 100 through ISP 300 in the event that ISP 300 blocks the IP address of system 100.
The non-blocked IP address that is provided by the neighboring system 200 is used to create the tunnel. Thus, with the help of a neighboring system 200, a tunnel that passes through the malicious ISP 300 is created. The use of a non-blocked IP address prevents the malicious router R4 from dropping incoming and outgoing local system traffic.
To create a tunnel, a prefix is required to be used for the tunnel interface. In the simulation, the chosen prefix belongs to subnet 200.0.0.0/24. The tunnel starting point IP address is 200.0.0.1, the tunnel ending point IP address is 200.0.0.2, and the tunnel name is Tunnel0. The starting point of the tunnel is interface IF11 of router R2, and its non-tunnel IP address is 192.0.3.1. The ending point of the tunnel is interface IF10 of router R5, and its non-tunnel IP address is 192.0.5.2.
The routing protocol used for the tunnel interface is OSPF, although it should be understood that any routing protocol may be used, such as the Enhanced Interior Gateway Routing Protocol (EIGRP).
In the present method, it is first determined if the local system 100 is blocked from communicating with the destination system 400. If the local system 100 is blocked from communicating with the destination system 400, then it is determined if a malicious higher-tier Internet service provider 300 is responsible for the blockage of service.
If the local system 100 is blocked by the malicious higher-tier Internet service provider 300, then the malicious higher-tier Internet service provider 300 is identified and communication is established between the local system 100 and a neighboring system 200 that is not blocked by the malicious higher-tier Internet service provider 300. Finally, communications are then transmitted from the local system 100 to the destination system 400 by first transmitting from the local system 100 to the neighboring system 200, and then transmitting from the neighboring system 200 through the higher-tier Internet service provider 300 to the destination system 400.
The neighboring system 200 is a cooperating system that is a neighbor network system to local system 100, and which is in place before the malicious higher-tier ISP blocks access; i.e., neighboring systems are in place before any denial of service in the event that a higher-tier ISP may block service. The destination system 400 is shown as being a neighboring system to the malicious higher-tier ISP 300, although it should be understood that the destination system 400 does not need to be a neighbor system of ISP 300.
When the higher-tier ISP 300 is not malicious, the traffic exchanged between the local system 100 and the destination system 400 follows the normal direct path through the ISP 300. However, when the higher-tier ISP 300 is malicious (i.e., the ISP 300 blocks the IP address of system 100, allowing no communication through ISP 300), then the previous path causes the traffic exchanged between local system 100 and destination system 400 to be intercepted and dropped by ISP 300. To circumvent this malicious activity caused by ISP 300, a tunnel is established between local system 100 and destination system 400. Particularly, a tunnel between router R2 in the local system 100 (i.e., in the blocked system) and router R5 in the destination system 400 is established using any suitable type of tunneling protocol, such as IP-in-IP, GRE, or IPSec.
The established tunnel passes through router R3 of neighboring system 200, and then through router R4 of ISP 300, since ISP 300 has not blocked the IP address of system 200. The non-blocked IP address provided by the neighboring and cooperating system 200 is used to establish the tunnel. The use of the non-blocked IP address prevents the malicious higher-tier ISP router R4 from stopping the establishment of the tunnel between routers R2 and R5, since the non-blocked IP address does not belong to the IP address range of local system 100. Thus, with the help of the neighboring and cooperating system 200, a tunnel that passes through the malicious higher-tier ISP 300 is established.
Once the tunnel is established, the local system 100 and the destination system 400 stop using the normal path for exchanging traffic, and start using the established tunnel for exchanging traffic, as the identity of the exchanged traffic between them is hidden by virtue of the established tunnel. Thus, the traffic exchanged between the local system 100 and destination system 400 will not be intercepted by the malicious higher-tier ISP 300 and will not be dropped.
It should be understood that there is no limit to the number of tunnels that can be created. Several tunnel interfaces may be used, as long as the system does not use the same combination of source, destination, and tunnel mode more than once. For purposes of validation, another tunnel interface (Tunnel1) between router R2 and router R8 of system 600 was examined, as shown in
To make the above method scalable, the tunnel-based method is scaled to reach multiple systems from the affected system 100, as shown in
For example, in
To extend the reach to other systems through a tunnel route, redistribution must be used. Manual redistribution may be used. The purpose of the route redistribution is to propagate routes learned using one protocol into another routing protocol. For example, network 192.0.9.0/24 on the LAN of system 18 in the network is populated as an IBGP route in the BGP forwarding table of router R5, as shown in Table 8 of
Since the prefix 192.0.9.0/24 is known to router R5 through IBGP, and since it is desired to make the same prefix reachable by router R2 through the tunnel established between routers R2 and R5 (which uses OSPF), the prefix must be redistributed at router R5. The route redistribution value at router R5 must be changed to both IBGP and EBGP so that the desired prefix gets redistributed into the tunnel through the use of the OSPF protocol.
To verify the route redistribution, the IP forwarding tables of routers R2 and R5 may be examined. From the routing table of router R2 (Table 6 of
Similarly, examination of the IP forwarding table of router R5 (Table 9 of
Another tunnel-based solution scalability issue considered is the processing requirement on the gateway router. At the gateway router, every packet is sent or received through the tunnel, and must go through the encapsulation and decapsulation process. This process increases the processing time at the gateway router. However, through the use of multiple gateway routers and pools of public IP addresses, the load will be distributed on the gateway routers. A design for load balancing is shown in
It is to be understood that the present invention is not limited to the embodiments described above, but encompasses any and all embodiments within the scope of the following claims.