US20070260873A1 - Systems and methods that provide external network access from a protected network - Google Patents
Systems and methods that provide external network access from a protected network Download PDFInfo
- Publication number
- US20070260873A1 US20070260873A1 US11/822,161 US82216107A US2007260873A1 US 20070260873 A1 US20070260873 A1 US 20070260873A1 US 82216107 A US82216107 A US 82216107A US 2007260873 A1 US2007260873 A1 US 2007260873A1
- Authority
- US
- United States
- Prior art keywords
- browser
- communications
- module
- information
- network
- 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.)
- Abandoned
Links
Images
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/0272—Virtual private networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/10—Network architectures or network communication protocols for network security for controlling access to devices or network resources
- H04L63/102—Entity profiles
-
- 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/14—Network architectures or network communication protocols for network security for detecting or protecting against malicious traffic
- H04L63/1441—Countermeasures against malicious traffic
- H04L63/145—Countermeasures against malicious traffic the attack involving the propagation of malware through the network, e.g. viruses, trojans or worms
Definitions
- the systems and methods of this invention generally relate to network security. Specifically, the systems and methods of this invention provide secure access to an external network or computer from a protected network or computer.
- malicious code on a user workstation likewise has direct or proxy access to the Internet, raising the possibility of confidential or proprietary information being transmitted to the Internet or external network without the knowledge of the user.
- the exemplary systems and methods of this invention provide external network access, such as Internet access, for a protected network by a dedicated browser.
- an exemplary embodiment of the present invention provides Internet access for users on a private or limited-access/protected network (hereinafter the “protected network”) to the Internet or other network off the protected network by dedicating a browser module(s) to execute the Internet browser and other Internet access programs.
- the browser module has limited access to the protected network, sufficient to communicate with browser clients on one or more user workstations of the protected network. This provides a mechanism to protect the protected network and the user computer(s) from viruses, worms, trojan horses, and all forms of unauthorized code encountered while accessing the Internet.
- the browser module prevents unauthorized code on the protected network from communicating with the Internet.
- the browser module and the browser client module communicate via a restricted protocol.
- an optional browser isolator module which can restrict the network communications, such as ethernet communications, to specifically that protocol necessary to support the remote Internet access on the protected computer.
- the systems and methods provide external network access, such as Internet access, for users on a private or limited-access/protected network to the Internet or other network off the protected network by running Internet-accessing programs, e.g., browser programs, ftp programs, telnet programs, Voice over IP programs, streaming media programs, or the like, on a special virtual machine on the user workstation.
- This special virtual machine provides a tunnelled and authenticated communications path from the browser to a border module which then provides access to the Internet.
- the authenticated tunnel from the special virtual machine to the border module prevents unauthorized code on any workstation on the protected network from accessing the border module and thereby accessing the Internet.
- an exemplary aspect of the systems and methods of this invention is to provide security to a protected network.
- aspects of the present invention also relate to computer security.
- the exemplary embodiments of the systems and methods of this invention relate to providing secure access to an unprotected network.
- aspects of the present invention also relate to monitoring communication to ensure the communications are performing in an authorized manner.
- aspects of the present invention also relate to providing a simulated environment via which communication with an unprotected network can be accomplished, thereby protecting the protected environment.
- FIG. 1 is a functional block diagram illustrating an exemplary browser module according to this invention
- FIG. 2 is a functional block diagram illustrating an exemplary tunnelled communications path according to this invention
- FIG. 3 illustrates an exemplary method of operating the browser interface system according to an embodiment of this invention.
- FIG. 4 illustrates an exemplary method of establishing a tunnelled communications path according to an exemplary embodiment of this invention.
- Appendix A illustrates exemplary pseudo code for performing connectivity and filtering for communications to/from the protected network to an external network.
- FIG. 1 illustrates an exemplary browser interface system 10 that provides Internet access for a protected network through a browser module.
- the browser interface system 10 comprises one or more protected networks 100 , one or more protected computers 110 , comprising a browser client module 120 , a browser isolator module 130 , a browser module 140 , and one or more networks 150 , all connected by links 5 .
- the various components of these systems can be located at distant portions of a distributed network, such as a local area network, a wide area network, a telecommunications network, an intranet and/or the Internet or within a dedicated browser interface system or restricted tunneling system.
- a distributed network such as a local area network, a wide area network, a telecommunications network, an intranet and/or the Internet or within a dedicated browser interface system or restricted tunneling system.
- the components of these systems can be combined into one or more devices or collocated on a particular node of a distributed network, such as a protected network.
- the components of these systems can be arranged at any location within a distributed network without affecting the operation of the system.
- module refers to hardware or software of any combination thereof that is capable of performing the functionality associated with the particular element(s).
- the various links 5 connecting the elements can be wired or wireless links, or a combination thereof, or any known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements.
- the protected network 100 includes a plurality of protected computers 110 , two of which are shown for purposes of illustration.
- the protected computers 110 in the protected network 100 are connected to a browser module 140 via a browser isolator module 130 .
- the browser module 140 is connected to one or more external networks 150 and provides its Internet-access services to the one or more protected computers 110 on the protected network 100 .
- the browser module 140 is separate and physically distinct from the protected computers 110 .
- the protected computers 110 on the protected network 100 each have a browser client module 120 that communicates with the browser module. Any browser-executed code operates not on the protected computer, but rather on the browser module 140 .
- the browser module(s) is/are sacrificial, in that if unauthorized code is encountered and executed in the process of Internet access, only the browser module 140 is corrupted, and that module can be, for example, taken off-line until repaired. Thus the protected computer 110 and data/programs thereon are not corrupted.
- another browser module may serve in the absence of the corrupted browser module.
- the browser module 140 may have software/hardware installed to detect anomalies caused by unauthorized code and may optionally shut itself down automatically.
- the browser module 140 can also have logically separate access to both the external network 150 and the protected network 100 .
- the browser module 140 protocol-level access to the protected network can also be limited to that specifically necessary to support authorized protected computer 110 access.
- the protected computer's 110 access to the protected network is limited to those communications specifically necessary for the remote operation of the browser module 140 and the user feedback (audio and visual) of the same. Other communications are generally prohibited. This isolation can be accomplished in hardware and/or software.
- the protocol can involve a TCP connection initiated by the protected computer to the browser module 140 acting as a “server.” The browser module 140 could then not permit TCP connections initiated by an unprotected computer directed towards a protected computer 110 on the protected network.
- the specific TCP ports which can be addressed in either direction could be limited to those required by the browser client module 120 . In this manner, damage to computers on the protected network is further prevented in the case of a compromised browser module 140 .
- This function can be accomplished in software and/or hardware on the protected computer 110 , or, for greater security, in hardware between the protected computer and the protected network.
- the hardware configuration has the advantage of not being corruptible by unauthorized code inadvertently loaded onto the browser computer.
- the hardware device can also have a separate network connection (not shown) for each side (the browser computer and the protected network) and could act as a restrictive router between the two.
- the browser client module 120 on the protected computer 110 provides the user with the control of and the visual and/or audio output of the actual browser operating remotely on the browser module 140 .
- This operates analogously to robotic manipulators used in handling dangerous materials, e.g., explosives, except that the browser is operated remotely on a sacrificial browser computer, e.g., the browser module 140 , and the audio and video appears as if it would to a local browser on the protected computer 110 .
- the user(s) may download files from the Internet just as they normally would from a local browser. However, in this case, the files are initially downloaded onto the browser module 140 .
- the browser module 140 and browser isolator module 130 prevent unauthorized access to the protected network 100 .
- the browser isolator module 130 prevents communications between the browser module 140 and the protected network 100 other than those particular authorized messages necessary for the remote operation of the protected computer 110 .
- the ability of a compromised browser module 140 to adversely affect the protected computers 110 on the protected network 100 is minimized.
- the browser isolator module 130 is also capable of restricting this communication.
- individual users are prevented from direct access to the Internet, except as provided by the browser client module 120 and the protected computer 110 .
- the browser client module 120 and the protected computer 110 may also both monitor the characteristics of the user's browser communications with the browser module 140 to validate that it is indeed not being manipulated by, for example, a user-computer-resident unauthorized code.
- the browser module may also periodically validate that an actual person is controlling the browser client module 120 .
- One exemplary implementation of the systems and methods of this invention uses two network protocols from the X-Windows system: The “X Window System Protocol” (the X protocol) by the X Consortium Standard, X Version 11, Release 6.4, and the “X Display Manager Control Protocol” (the XDMCP protocol), by the X Consortium Standard X Version 11, Release 6.4, both of which are incorporated herein by reference in their entirety.
- the “X Window System Protocol” (the X protocol) by the X Consortium Standard, X Version 11, Release 6.4
- the X Display Manager Control Protocol the X Consortium Standard X Version 11, Release 6.4
- client/server protocols are both client/server protocols and are used together to allow a user on one computer to execute and control applications that run on another computer.
- the user is working at one of the protected computers 110 and executes and controls applications that run on the browser module 140 by means of the X and XDMCP protocols.
- the applications run by the user on the protected computer 110 can be any applications supported by that computer system, including those that access the Internet.
- the browser isolator module 130 ensures that communication with the protected computer 110 is restricted to these two protocols.
- an X-Windows session is established between the two computers.
- the first step towards this goal is accomplished by the XDMCP protocol.
- the protected computer 110 is the client and the browser module 140 is the server.
- the protected computer 110 starts by sending an XDMCP request to the browser module 140 requesting that it establish an X-Windows session with the protected computer.
- the browser module 140 responds by indicating its willingness to establish an X-Windows session and, assuming it is willing, several more XDMCP requests and responses are exchanged. In a successful scenario this results in the browser module 140 initiating an X-Windows session with the protected computer 110 .
- the browser module 140 When the browser module 140 establishes an X-Windows session with the protected computer 110 , the user can be authenticated through the browser module's login process, e.g. providing a username and password, to gain access to the browser module 140 . Once authentication is validated, the user will be able to execute applications on the browser module 140 .
- the browser isolator module 130 which scrutinizes the network communications between the protected computer 110 and the browser module 140 .
- the selected protocols of the X-Windows system have the attribute that that they do not transfer data between computers other than that necessary for the user interface.
- the user interface data is temporary in that it is transferred across the network and used to generate the interface shown to the user, but is not stored permanently. This is unlike the Internet File Transfer Protocol (FTP), which copies the contents of files from one computer to another and permanently stores the copies on the receiving computer.
- FTP Internet File Transfer Protocol
- the browser isolator module 130 If the browser isolator module 130 only restricted communications with the browser module 140 to certain protocols, the browser isolator module 130 would be nothing more than a simple firewall. However, the browser isolator module 130 not only restricts communication to the XDMCP and X protocols, it can examine each protocol packet in detail, inspecting one or more predetermined fields in the packets to ensure that each field contains valid, e.g., authorized, information. Beyond verifying that each field contains valid information, fields with related information can be compared within and between packets in the protocol session to ensure that there is a consistent relationship during the life of the session. Individual field contents can also be verified in a variety of ways depending on the type of the field.
- text fields can be checked against a list of expected values where known. If a text field is not restricted to a list of known values, it may still have a predictable pattern to which it should conform, e.g., a capital letter followed by three decimal digits. If so, this can be checked and enforced. At a minimum, text fields can be checked to ensure that they are composed of, for example, printable characters. In general, any information can be checked to insure the information is what is expected to for particular communication and/or environment.
- XDMCP packets can contain a field with one or more Authorization Names.
- Field values can be checked against a list of known values that consists of the strings “MIT-KERBEROS- 4 ”, “MIT-KERBEROS- 5 ”, “MIT-MAGIC-COOKIE- 1 ”, “SUN-DES- 1 ”, “XC-QUERY-SECURITY- 1 ”, and “XDM-AUTHORIZATION- 1 .” Any Authorization Name that does not match one of the values in this list can be rejected.
- Numeric fields either can have a restricted set of values or can be unconstrained. Fields with a restricted set of values can be checked against the restricted set. Some numeric fields can have unconstrained values but a fixed length that can also be checked.
- the value of one field can restrict the permitted values or length of another field. These relationships can be enforced both within a packet and between packets. Some fields are expected to have the same value over a long period of time, even spanning system restarts.
- the exemplary purpose of these detailed packet field checks by the browser isolator module 130 is two-fold. By ensuring that the fields contain only valid, consistent information, the browser isolator module 130 reduces the chances that a defect in the protocol implementation on either the browser module 140 or a protected computer 110 can be exploited by unauthorized software. The checks for data consistency also reduce the possibility that packet fields can be used to surreptitiously transfer data by varying their contents over time.
- the protected computer can specify an X-Windows display number, which has legal values between 0 and 63.
- the browser module initiates the X-Window session with the protected computer it does so on a TCP port number that is derived from the display number (display number plus 6000).
- the display number specified in the XDMCP packets can be stored in a profile for that user's workstation.
- the browser module starts the X-Windows session can must use the TCP port that corresponds to the display number or the connection can be rejected.
- Appendix A provides a high-level description of the exemplary processing logic that can be applied to one or more packets sent to or sent from the browser module 140 .
- the following information can be screened to determine of the communication is authorized: source and destination ports, user information, direction of information, host information, destination information, character information, IP address information, display identification, session information, display class, display number, TCP information, date and/or time information, or the like.
- an information communicated between the browser and the browser client can be used.
- there are a plurality of options that can be invoked upon determining that one or more packets are authorized including deleting the packet, further analyzing the packet, determining the origin of the packet of the like.
- the systems and methods of this invention can provide Internet access from a protected network 200 by a tunnelled communications path.
- the protected network 200 comprises one or more protected computers 210 , two of which are shown for purposes of illustration.
- Each protected computer 210 comprises a special virtual machine (SVM) 220 having a browser 230 .
- the browser 230 for each protected computer 210 communicates with the external network 150 , such as the Internet by means of a border module 240 .
- the browser 230 can be any browser which runs on a virtual machine or an emulated machine.
- the browser 230 could be a browser written in Java® running on a Java® Virtual Machine or a Windows®-based browser running in a “virtual PC,” or, in general, any browser not running in a “native mode” on the user workstation.
- the special virtual machine 220 can be a traditional virtual machine (VM), such as a Java® VM, which has had its communications ability modified so as to tunnel and authenticate all network communications to the border module 240 .
- VM virtual machine
- the normal network communications ability of the VM would traditionally allow an application direct local network and Internet access in a straightforward manner, for example by creating sockets, sending and receiving packets, etc.
- the communications protocol stacks of the SVM 220 are modified so that all communications are tunnelled and authenticated to the border module 240 for transmission to/from the external network 150 . This tunnelling and authentication is transparent to the browser 230 and any other applications running on the SVM.
- Any application running on the virtual machine such as a browser, Internet Relay Chat, e-mail, streaming media, or the like, would appear to have direct access to the external network.
- Applications running on the SVM would have no access to the protected network or its traffic, since all network communications paths are tunnelled to the border module 240 .
- Applications on the protected computer 210 other than the SVM 220 would not have access to the external network since they would lack access to the authenticated tunnel.
- the border module 240 is a component which has at least two logical and/or physical network connections: one to the protected network 200 and another to the external network 150 .
- the border module 240 encapsulates and tunnels inbound external network communications to the end-user workstations SVMs on the protected network 200 .
- Outbound traffic from the SVMs 220 is authenticated, de-capsulated, and forwarded to the external network 150 as normal traffic.
- the authentication of the communications between the SVM 220 and the border module 240 prevents unauthorized or unauthorized native code anywhere on the protected network from accessing the external network 150 , since only the SVM 220 has the authentication necessary to accomplish the transfer of the restricted data. Generally, unauthorized code on the SVM 220 is not prevented from accessing the external network 150 .
- the SVM 220 acquires unauthorized code, such as a virus or trojan horse, the unauthorized code would not have access to the information on the protected network 200 , and the SVM 220 could simply be re-loaded, reset, or the like, for example, automatically or by a user, thus removing the unauthorized code.
- unauthorized code such as a virus or trojan horse
- an optional tunnel restrictor module 250 may be placed between the border module 240 and the protected network 200 .
- the tunnel restrictor module 250 can limit the border module's access to the protected network 200 to those communications specifically necessary for the tunnelled communications with the SVM's on the protected computers 210 on the protected network 200 .
- tunnel restrictor module 250 can be prevented bi-directionally by the tunnel restrictor module 250 .
- This isolation can be accomplished in hardware and/or software, by a unit placed between the border module and the protected network. This unit could have at least two network interfaces: one for the protected network side, and one for the border processor side.
- the tunnel protocol could involve a TCP connection initiated by the SVM 220 on a user workstation to the border module 240 acting as the “server.”
- the tunnel restrictor module 250 could then not permit TCP connections initiated by the border module 240 directed towards a user workstation 210 on the protected network 200 .
- the specific TCP or UDP ports which can be addressed in either direction would be limited to those required by the SVM. In this manner, damage to computers on the protected network is further prevented in case of a compromised border module 240 .
- external e-mail may also be sent or received via the browser 230 running on the SVM 220 .
- the border module 240 tunnels and thereby encapsulates outside traffic as it travels on the protected network 200 to the special virtual machines 220 . Therefore, outside access to the protected computer 210 and to the normal traffic of the protected network 200 is prevented.
- the tunnel restrictor module 250 further prevents access to the protected network 200 from the external network 150 should the border processor module 240 be compromised.
- Unauthorized code brought onto the protected network 200 via another mechanism, such as a user's floppy disk, is prevented from direct access to the Internet, since only the special virtual machine 220 on the protected computer 210 can communicate with the border module 240 , and thereby the external network.
- the optional tunnel restrictor module 250 can also prevents this type of communication.
- individual users are prevented from direct access to the Internet, except as provided by the browser 230 or other software on the special virtual machine 220 .
- FIG. 3 illustrates an exemplary method of operating the browser interface system according to this invention.
- control begins in step S 100 and continues to step S 110 .
- step S 110 communications are established between the browser and the browser client.
- step S 120 communications between the browser and the browser client are inspected.
- step S 130 a determination is made whether the communications are authorized.
- step S 150 If the communications are authorized, control jumps to step S 150 . Otherwise, control continues to step S 140 .
- step S 140 the unauthorized information is processed in accordance with a predetermined procedure. Control then continues to step S 160 .
- step S 150 the authorized communications are allowed. Control then continues to step S 160 .
- step S 160 a determination is made whether to end the communication session. If the session is complete, control continues to step S 160 where the control sequence ends. Otherwise, control jumps back to step S 130 .
- FIG. 4 outlines an exemplary method of establishing and monitoring a tunnelled communications path according to an exemplary embodiment of this invention. Specifically, control begins in step S 200 and continues to step S 210 . In step S 210 , the browser of the virtual machine is enabled. Next, in step S 220 , communications between the browser of the virtual machine and the border module are established. Then, in step S 230 , the communications to/form the virtual machine are authenticated. Control then continues to step S 240 .
- step S 240 a determination is made whether the communications are authorized. If the communications are authorized, control jumps to step S 260 where the communications are allowed. Otherwise, control continues to step S 250 .
- step S 250 the unauthorized communications are processed accordingly. Control then continues to step S 270 where the control sequence ends.
- the browser interface system and restricted tunneling system can be implemented either on a single programmed general purpose computer or a separate programmed general purpose computer.
- the browser interface system and restricted tunneling system can also be implemented on a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as PLD, PLA, FPGA, PAL, or the like.
- any device capable of implementing a finite state machine that is in turn capable of implementing the attached pseudo-code and performing the steps in the accompanying flowcharts can be used to implement the browser interface system and restricted tunneling system according to this invention.
- the disclosed method may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation hardware platforms.
- the disclosed browser interface system and restricted tunneling system can be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software and/or hardware systems or microprocessor or microcomputer systems being utilized.
- the browser interface system and restricted tunneling system and methods illustrated herein can be readily implemented in hardware and/or software using any known or later-developed systems or structures, devices and/or software by those of ordinary skill in the applicable art from the functional description provided herein and with a general basic knowledge of the computer arts.
- the disclosed methods may be readily implemented as software executed on a programmed general purpose computer, a special purpose computer, a microprocessor, or the like.
- the methods and systems of this invention can be implemented as a program embedded on a personal computer, such as a JAVA® or CGI script, as a resource residing on a server or workstation, a routine embedded on a dedicated browser interface system and restricted tunneling system, a web browser, a PDA, a dedicated browser interface system, a dedicated restricted tunneling system, or the like.
- the browser interface system and restricted tunneling system can also be implemented by physically incorporating the system into a software and/or hardware system, such as the hardware and software systems of a computer workstation or dedicated browser interface system and restricted tunneling system.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Virology (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Abstract
A user who is connected to an unprotected network via a protected network is able to browse the Internet without concern that unauthorized code will execute within their local workstation as the result of a vulnerability within the browser executing on a special virtual machine or a browser module. Any unauthorized code will only affect one of a special virtual machine or a browser module.
Description
- This application is a continuation application of U.S. patent application Ser. No. 10/085,130 of HATFALVI et al., entitled “SYSTEMS AND METHODS THAT PROVIDE EXTERNAL NETWORK ACCESS FROM A PROTECTED NETWORK,” filed Mar. 1, 2002, to issue as U.S. Pat. No. 7,240,193, which claims the benefit of and priority to U.S. Provisional Patent Application Ser. No. 60/272,055, entitled “APPARATUS AND METHOD TO PROVIDE INTERNET ACCESS FOR A PROTECTED NETWORK BY A DEDICATED BROWSER COMPUTER,” filed Mar. 01, 2001, and U.S. Provisional Patent Application Ser. No. 60/272,053, entitled “APPARATUS AND METHOD TO PROVIDE INTERNET ACCESS FROM A PROTECTED NETWORK BY A TUNNELLED COMMUNICATIONS PATH,” filed Mar. 1, 2001, the entire disclosures of all of which are hereby incorporated by reference herein.
- 1. Field of the Invention
- The systems and methods of this invention generally relate to network security. Specifically, the systems and methods of this invention provide secure access to an external network or computer from a protected network or computer.
- 2. Description Of Related Art
- On a private or limited-access protected network, there is a need to provide access to one or more external networks or computers, such as “Internet access,” to user workstations for purposes such as browsing, file transfer, etc. (collectively “browsing”). Current browsers run on a user workstation or personal computer and require direct or proxy access to the Internet. This creates a mechanism for the introduction of malicious code onto the user workstation or personal computer.
- Further, malicious code on a user workstation likewise has direct or proxy access to the Internet, raising the possibility of confidential or proprietary information being transmitted to the Internet or external network without the knowledge of the user.
- The exemplary systems and methods of this invention provide external network access, such as Internet access, for a protected network by a dedicated browser. Specifically, an exemplary embodiment of the present invention provides Internet access for users on a private or limited-access/protected network (hereinafter the “protected network”) to the Internet or other network off the protected network by dedicating a browser module(s) to execute the Internet browser and other Internet access programs. The browser module has limited access to the protected network, sufficient to communicate with browser clients on one or more user workstations of the protected network. This provides a mechanism to protect the protected network and the user computer(s) from viruses, worms, trojan horses, and all forms of unauthorized code encountered while accessing the Internet. Furthermore, the browser module prevents unauthorized code on the protected network from communicating with the Internet. The browser module and the browser client module communicate via a restricted protocol. Between the browser module and the protected network is an optional browser isolator module, which can restrict the network communications, such as ethernet communications, to specifically that protocol necessary to support the remote Internet access on the protected computer.
- In accordance with a second exemplary embodiment of this invention, the systems and methods provide external network access, such as Internet access, for users on a private or limited-access/protected network to the Internet or other network off the protected network by running Internet-accessing programs, e.g., browser programs, ftp programs, telnet programs, Voice over IP programs, streaming media programs, or the like, on a special virtual machine on the user workstation. This special virtual machine provides a tunnelled and authenticated communications path from the browser to a border module which then provides access to the Internet. The authenticated tunnel from the special virtual machine to the border module prevents unauthorized code on any workstation on the protected network from accessing the border module and thereby accessing the Internet.
- Accordingly, an exemplary aspect of the systems and methods of this invention is to provide security to a protected network.
- Aspects of the present invention also relate to computer security. In particular, the exemplary embodiments of the systems and methods of this invention relate to providing secure access to an unprotected network.
- Aspects of the present invention also relate to monitoring communication to ensure the communications are performing in an authorized manner.
- Aspects of the present invention also relate to providing a simulated environment via which communication with an unprotected network can be accomplished, thereby protecting the protected environment.
- These and other features and advantages of this invention are described in or are apparent from the following detailed description of the embodiments. For example, the systems and methods of this invention can be used in conjunction with copending U.S. application Ser. No. 09/571,377, entitled “Method of Communications and Communication Network Intrusion Protection Methods And Intrusion Attempt Detection System,” U.S. application Ser. No. 09/862,477, entitles “Systems And Methods For Communication Protection,” U.S. application Ser. No. 09/867,442, entitled “Systems And Methods For Distributed Network Protection,” U.S. application Ser. No. 09/925,503, entitled “Systems And Methods For Distributed Network Protection,” and Attorney Docket No. 741946-43, entitled “Systems and Methods For Creating a Code Inspection System,” filed Feb. 14, 2002, all of which are incorporated herein by reference in their entirety.
- The embodiments of the invention will be described in detail, with reference to the following figures wherein:
-
FIG. 1 is a functional block diagram illustrating an exemplary browser module according to this invention; -
FIG. 2 is a functional block diagram illustrating an exemplary tunnelled communications path according to this invention; -
FIG. 3 illustrates an exemplary method of operating the browser interface system according to an embodiment of this invention; and -
FIG. 4 illustrates an exemplary method of establishing a tunnelled communications path according to an exemplary embodiment of this invention. - Appendix A illustrates exemplary pseudo code for performing connectivity and filtering for communications to/from the protected network to an external network.
-
FIG. 1 illustrates an exemplarybrowser interface system 10 that provides Internet access for a protected network through a browser module. Specifically, thebrowser interface system 10 comprises one or more protectednetworks 100, one or more protectedcomputers 110, comprising abrowser client module 120, abrowser isolator module 130, abrowser module 140, and one ormore networks 150, all connected bylinks 5. - While the exemplary embodiments illustrated herein show the various components of the browser interface system and restricted tunneling system collocated, it is to be appreciated that the various components of these systems can be located at distant portions of a distributed network, such as a local area network, a wide area network, a telecommunications network, an intranet and/or the Internet or within a dedicated browser interface system or restricted tunneling system. Thus, it should be appreciated that the components of these systems can be combined into one or more devices or collocated on a particular node of a distributed network, such as a protected network. As will be appreciated from the following description, and for reasons of computational efficiency, the components of these systems can be arranged at any location within a distributed network without affecting the operation of the system.
- Additionally, it is to be appreciated that the term module as referenced herein refers to hardware or software of any combination thereof that is capable of performing the functionality associated with the particular element(s).
- Furthermore, it should be appreciated that the
various links 5 connecting the elements can be wired or wireless links, or a combination thereof, or any known or later developed element(s) that is capable of supplying and/or communicating data to and from the connected elements. - Additionally, it should be appreciated that while various functional components are illustrated, various other components, such as input and output devices, firewalls, network security devices, or the like, can also be included without affecting the operation of these systems.
- The
protected network 100 includes a plurality of protectedcomputers 110, two of which are shown for purposes of illustration. The protectedcomputers 110 in theprotected network 100 are connected to abrowser module 140 via abrowser isolator module 130. - The
browser module 140 is connected to one or moreexternal networks 150 and provides its Internet-access services to the one or more protectedcomputers 110 on the protectednetwork 100. Thebrowser module 140 is separate and physically distinct from the protectedcomputers 110. Theprotected computers 110 on theprotected network 100 each have abrowser client module 120 that communicates with the browser module. Any browser-executed code operates not on the protected computer, but rather on thebrowser module 140. The browser module(s) is/are sacrificial, in that if unauthorized code is encountered and executed in the process of Internet access, only thebrowser module 140 is corrupted, and that module can be, for example, taken off-line until repaired. Thus the protectedcomputer 110 and data/programs thereon are not corrupted. - Optionally, another browser module (not shown) may serve in the absence of the corrupted browser module. The
browser module 140 may have software/hardware installed to detect anomalies caused by unauthorized code and may optionally shut itself down automatically. Thebrowser module 140 can also have logically separate access to both theexternal network 150 and the protectednetwork 100. Thebrowser module 140 protocol-level access to the protected network can also be limited to that specifically necessary to support authorized protectedcomputer 110 access. - The protected computer's 110 access to the protected network is limited to those communications specifically necessary for the remote operation of the
browser module 140 and the user feedback (audio and visual) of the same. Other communications are generally prohibited. This isolation can be accomplished in hardware and/or software. For example, the protocol can involve a TCP connection initiated by the protected computer to thebrowser module 140 acting as a “server.” Thebrowser module 140 could then not permit TCP connections initiated by an unprotected computer directed towards a protectedcomputer 110 on the protected network. Likewise, the specific TCP ports which can be addressed in either direction could be limited to those required by thebrowser client module 120. In this manner, damage to computers on the protected network is further prevented in the case of a compromisedbrowser module 140. This function can be accomplished in software and/or hardware on the protectedcomputer 110, or, for greater security, in hardware between the protected computer and the protected network. The hardware configuration has the advantage of not being corruptible by unauthorized code inadvertently loaded onto the browser computer. The hardware device can also have a separate network connection (not shown) for each side (the browser computer and the protected network) and could act as a restrictive router between the two. - The
browser client module 120 on the protectedcomputer 110 provides the user with the control of and the visual and/or audio output of the actual browser operating remotely on thebrowser module 140. This operates analogously to robotic manipulators used in handling dangerous materials, e.g., explosives, except that the browser is operated remotely on a sacrificial browser computer, e.g., thebrowser module 140, and the audio and video appears as if it would to a local browser on the protectedcomputer 110. - Additionally, the user(s) may download files from the Internet just as they normally would from a local browser. However, in this case, the files are initially downloaded onto the
browser module 140. - The
browser module 140 andbrowser isolator module 130 prevent unauthorized access to the protectednetwork 100. Thebrowser isolator module 130 prevents communications between thebrowser module 140 and the protectednetwork 100 other than those particular authorized messages necessary for the remote operation of the protectedcomputer 110. Thus, the ability of a compromisedbrowser module 140 to adversely affect the protectedcomputers 110 on the protectednetwork 100 is minimized. - Unauthorized code brought onto the protected network via another mechanism, e.g., a user's floppy disk, is prevented from direct access to the Internet, since only the
browser client module 120 on the protectedcomputer 110 can communicate with thebrowser module 140. Thebrowser isolator module 130 is also capable of restricting this communication. Similarly, individual users are prevented from direct access to the Internet, except as provided by thebrowser client module 120 and the protectedcomputer 110. Thebrowser client module 120 and the protectedcomputer 110 may also both monitor the characteristics of the user's browser communications with thebrowser module 140 to validate that it is indeed not being manipulated by, for example, a user-computer-resident unauthorized code. The browser module may also periodically validate that an actual person is controlling thebrowser client module 120. - One exemplary implementation of the systems and methods of this invention uses two network protocols from the X-Windows system: The “X Window System Protocol” (the X protocol) by the X Consortium Standard, X Version 11, Release 6.4, and the “X Display Manager Control Protocol” (the XDMCP protocol), by the X Consortium Standard X Version 11, Release 6.4, both of which are incorporated herein by reference in their entirety. However, it is to be appreciated that any protocol/system/software can be used with equal success that allows a first computer to execute and control applications that run on a second computer.
- These are both client/server protocols and are used together to allow a user on one computer to execute and control applications that run on another computer. In the context of
FIG. 1 , the user is working at one of the protectedcomputers 110 and executes and controls applications that run on thebrowser module 140 by means of the X and XDMCP protocols. The applications run by the user on the protectedcomputer 110 can be any applications supported by that computer system, including those that access the Internet. Thebrowser isolator module 130 ensures that communication with the protectedcomputer 110 is restricted to these two protocols. - In order for a user working at one of the protected
computers 110 to execute applications on thebrowser module 140, an X-Windows session is established between the two computers. The first step towards this goal is accomplished by the XDMCP protocol. For this protocol, the protectedcomputer 110 is the client and thebrowser module 140 is the server. The protectedcomputer 110 starts by sending an XDMCP request to thebrowser module 140 requesting that it establish an X-Windows session with the protected computer. Thebrowser module 140 responds by indicating its willingness to establish an X-Windows session and, assuming it is willing, several more XDMCP requests and responses are exchanged. In a successful scenario this results in thebrowser module 140 initiating an X-Windows session with the protectedcomputer 110. - When the
browser module 140 establishes an X-Windows session with the protectedcomputer 110, the user can be authenticated through the browser module's login process, e.g. providing a username and password, to gain access to thebrowser module 140. Once authentication is validated, the user will be able to execute applications on thebrowser module 140. - What has been described thus far is just the normal operation of the XDMCP and X protocols. One focus of this invention is the operation of the
browser isolator module 130, which scrutinizes the network communications between the protectedcomputer 110 and thebrowser module 140. The selected protocols of the X-Windows system have the attribute that that they do not transfer data between computers other than that necessary for the user interface. The user interface data is temporary in that it is transferred across the network and used to generate the interface shown to the user, but is not stored permanently. This is unlike the Internet File Transfer Protocol (FTP), which copies the contents of files from one computer to another and permanently stores the copies on the receiving computer. By restricting communication with the protectedcomputer 110 to these two X-Windows protocols, thebrowser isolator module 130 prevents the transfer of permanent data between one or more of the protectedcomputers 110 and thebrowser module 140, and from there theexternal network 150. - If the
browser isolator module 130 only restricted communications with thebrowser module 140 to certain protocols, thebrowser isolator module 130 would be nothing more than a simple firewall. However, thebrowser isolator module 130 not only restricts communication to the XDMCP and X protocols, it can examine each protocol packet in detail, inspecting one or more predetermined fields in the packets to ensure that each field contains valid, e.g., authorized, information. Beyond verifying that each field contains valid information, fields with related information can be compared within and between packets in the protocol session to ensure that there is a consistent relationship during the life of the session. Individual field contents can also be verified in a variety of ways depending on the type of the field. - For example, text fields can be checked against a list of expected values where known. If a text field is not restricted to a list of known values, it may still have a predictable pattern to which it should conform, e.g., a capital letter followed by three decimal digits. If so, this can be checked and enforced. At a minimum, text fields can be checked to ensure that they are composed of, for example, printable characters. In general, any information can be checked to insure the information is what is expected to for particular communication and/or environment.
- For example, several XDMCP packets can contain a field with one or more Authorization Names. Field values can be checked against a list of known values that consists of the strings “MIT-KERBEROS-4”, “MIT-KERBEROS-5”, “MIT-MAGIC-COOKIE-1”, “SUN-DES-1”, “XC-QUERY-SECURITY-1”, and “XDM-AUTHORIZATION-1.” Any Authorization Name that does not match one of the values in this list can be rejected.
- Numeric fields either can have a restricted set of values or can be unconstrained. Fields with a restricted set of values can be checked against the restricted set. Some numeric fields can have unconstrained values but a fixed length that can also be checked.
- The value of one field can restrict the permitted values or length of another field. These relationships can be enforced both within a packet and between packets. Some fields are expected to have the same value over a long period of time, even spanning system restarts.
- The exemplary purpose of these detailed packet field checks by the
browser isolator module 130 is two-fold. By ensuring that the fields contain only valid, consistent information, thebrowser isolator module 130 reduces the chances that a defect in the protocol implementation on either thebrowser module 140 or a protectedcomputer 110 can be exploited by unauthorized software. The checks for data consistency also reduce the possibility that packet fields can be used to surreptitiously transfer data by varying their contents over time. - For example, during the XDMCP packet exchange the protected computer can specify an X-Windows display number, which has legal values between 0 and 63. When the browser module initiates the X-Window session with the protected computer it does so on a TCP port number that is derived from the display number (display number plus 6000). The display number specified in the XDMCP packets can be stored in a profile for that user's workstation. When the browser module starts the X-Windows session can must use the TCP port that corresponds to the display number or the connection can be rejected.
- Appendix A provides a high-level description of the exemplary processing logic that can be applied to one or more packets sent to or sent from the
browser module 140. For example, the following information can be screened to determine of the communication is authorized: source and destination ports, user information, direction of information, host information, destination information, character information, IP address information, display identification, session information, display class, display number, TCP information, date and/or time information, or the like. In general, an information communicated between the browser and the browser client can be used. Furthermore, there are a plurality of options that can be invoked upon determining that one or more packets are authorized including deleting the packet, further analyzing the packet, determining the origin of the packet of the like. - Alternatively, or in conjunction with the above, the systems and methods of this invention can provide Internet access from a protected
network 200 by a tunnelled communications path. As illustrated inFIG. 2 , the protectednetwork 200 comprises one or more protectedcomputers 210, two of which are shown for purposes of illustration. Each protectedcomputer 210 comprises a special virtual machine (SVM) 220 having abrowser 230. Thebrowser 230 for each protectedcomputer 210 communicates with theexternal network 150, such as the Internet by means of aborder module 240. - The
browser 230 can be any browser which runs on a virtual machine or an emulated machine. For example, thebrowser 230 could be a browser written in Java® running on a Java® Virtual Machine or a Windows®-based browser running in a “virtual PC,” or, in general, any browser not running in a “native mode” on the user workstation. - The special
virtual machine 220 can be a traditional virtual machine (VM), such as a Java® VM, which has had its communications ability modified so as to tunnel and authenticate all network communications to theborder module 240. The normal network communications ability of the VM would traditionally allow an application direct local network and Internet access in a straightforward manner, for example by creating sockets, sending and receiving packets, etc. The communications protocol stacks of theSVM 220 are modified so that all communications are tunnelled and authenticated to theborder module 240 for transmission to/from theexternal network 150. This tunnelling and authentication is transparent to thebrowser 230 and any other applications running on the SVM. Any application running on the virtual machine, such as a browser, Internet Relay Chat, e-mail, streaming media, or the like, would appear to have direct access to the external network. Applications running on the SVM would have no access to the protected network or its traffic, since all network communications paths are tunnelled to theborder module 240. Applications on the protectedcomputer 210 other than theSVM 220 would not have access to the external network since they would lack access to the authenticated tunnel. - The
border module 240 is a component which has at least two logical and/or physical network connections: one to the protectednetwork 200 and another to theexternal network 150. Theborder module 240 encapsulates and tunnels inbound external network communications to the end-user workstations SVMs on the protectednetwork 200. Outbound traffic from theSVMs 220 is authenticated, de-capsulated, and forwarded to theexternal network 150 as normal traffic. The authentication of the communications between theSVM 220 and theborder module 240 prevents unauthorized or unauthorized native code anywhere on the protected network from accessing theexternal network 150, since only theSVM 220 has the authentication necessary to accomplish the transfer of the restricted data. Generally, unauthorized code on theSVM 220 is not prevented from accessing theexternal network 150. However, if theSVM 220 acquires unauthorized code, such as a virus or trojan horse, the unauthorized code would not have access to the information on the protectednetwork 200, and theSVM 220 could simply be re-loaded, reset, or the like, for example, automatically or by a user, thus removing the unauthorized code. - To further enhance the security of the protected
network 200, an optionaltunnel restrictor module 250 may be placed between theborder module 240 and the protectednetwork 200. Thetunnel restrictor module 250 can limit the border module's access to the protectednetwork 200 to those communications specifically necessary for the tunnelled communications with the SVM's on the protectedcomputers 210 on the protectednetwork 200. - Other communications can be prevented bi-directionally by the
tunnel restrictor module 250. This isolation can be accomplished in hardware and/or software, by a unit placed between the border module and the protected network. This unit could have at least two network interfaces: one for the protected network side, and one for the border processor side. For example, the tunnel protocol could involve a TCP connection initiated by theSVM 220 on a user workstation to theborder module 240 acting as the “server.” Thetunnel restrictor module 250 could then not permit TCP connections initiated by theborder module 240 directed towards auser workstation 210 on the protectednetwork 200. Likewise, the specific TCP or UDP ports which can be addressed in either direction would be limited to those required by the SVM. In this manner, damage to computers on the protected network is further prevented in case of a compromisedborder module 240. Likewise, external e-mail may also be sent or received via thebrowser 230 running on theSVM 220. - The
border module 240 tunnels and thereby encapsulates outside traffic as it travels on the protectednetwork 200 to the specialvirtual machines 220. Therefore, outside access to the protectedcomputer 210 and to the normal traffic of the protectednetwork 200 is prevented. Thetunnel restrictor module 250 further prevents access to the protectednetwork 200 from theexternal network 150 should theborder processor module 240 be compromised. - Unauthorized code brought onto the protected
network 200 via another mechanism, such as a user's floppy disk, is prevented from direct access to the Internet, since only the specialvirtual machine 220 on the protectedcomputer 210 can communicate with theborder module 240, and thereby the external network. The optionaltunnel restrictor module 250 can also prevents this type of communication. Similarly, individual users are prevented from direct access to the Internet, except as provided by thebrowser 230 or other software on the specialvirtual machine 220. -
FIG. 3 illustrates an exemplary method of operating the browser interface system according to this invention. In particular, control begins in step S100 and continues to step S110. In step S110, communications are established between the browser and the browser client. Next, in step S120, communications between the browser and the browser client are inspected. Then, in step S130, a determination is made whether the communications are authorized. - If the communications are authorized, control jumps to step S150. Otherwise, control continues to step S140. In step S140, the unauthorized information is processed in accordance with a predetermined procedure. Control then continues to step S160.
- In step S150, the authorized communications are allowed. Control then continues to step S160.
- In step S160, a determination is made whether to end the communication session. If the session is complete, control continues to step S160 where the control sequence ends. Otherwise, control jumps back to step S130.
-
FIG. 4 outlines an exemplary method of establishing and monitoring a tunnelled communications path according to an exemplary embodiment of this invention. Specifically, control begins in step S200 and continues to step S210. In step S210, the browser of the virtual machine is enabled. Next, in step S220, communications between the browser of the virtual machine and the border module are established. Then, in step S230, the communications to/form the virtual machine are authenticated. Control then continues to step S240. - In step S240, a determination is made whether the communications are authorized. If the communications are authorized, control jumps to step S260 where the communications are allowed. Otherwise, control continues to step S250.
- In step S250, the unauthorized communications are processed accordingly. Control then continues to step S270 where the control sequence ends.
- As shown in
FIGS. 1-2 , the browser interface system and restricted tunneling system can be implemented either on a single programmed general purpose computer or a separate programmed general purpose computer. However, the browser interface system and restricted tunneling system can also be implemented on a special purpose computer, a programmed microprocessor or microcontroller and peripheral integrated circuit element, an ASIC or other integrated circuit, a digital signal processor, a hardwired electronic or logic circuit such as a discrete element circuit, a programmable logic device such as PLD, PLA, FPGA, PAL, or the like. In general, any device capable of implementing a finite state machine that is in turn capable of implementing the attached pseudo-code and performing the steps in the accompanying flowcharts can be used to implement the browser interface system and restricted tunneling system according to this invention. - Furthermore, the disclosed method may be readily implemented in software using object or object-oriented software development environments that provide portable source code that can be used on a variety of computer or workstation hardware platforms. Alternatively, the disclosed browser interface system and restricted tunneling system can be implemented partially or fully in hardware using standard logic circuits or VLSI design. Whether software or hardware is used to implement the systems in accordance with this invention is dependent on the speed and/or efficiency requirements of the system, the particular function, and the particular software and/or hardware systems or microprocessor or microcomputer systems being utilized. However, the browser interface system and restricted tunneling system and methods illustrated herein can be readily implemented in hardware and/or software using any known or later-developed systems or structures, devices and/or software by those of ordinary skill in the applicable art from the functional description provided herein and with a general basic knowledge of the computer arts.
- Moreover, the disclosed methods may be readily implemented as software executed on a programmed general purpose computer, a special purpose computer, a microprocessor, or the like. In these instances, the methods and systems of this invention can be implemented as a program embedded on a personal computer, such as a JAVA® or CGI script, as a resource residing on a server or workstation, a routine embedded on a dedicated browser interface system and restricted tunneling system, a web browser, a PDA, a dedicated browser interface system, a dedicated restricted tunneling system, or the like. The browser interface system and restricted tunneling system can also be implemented by physically incorporating the system into a software and/or hardware system, such as the hardware and software systems of a computer workstation or dedicated browser interface system and restricted tunneling system.
- It is, therefore, apparent there has been provided in accordance with the present invention, systems and methods for protecting a protected network. While this invention has been described in conjunction with a number of embodiments, it is evident that many alternatives, modifications, and variations would be or are apparent those of ordinary skill in the applicable art. Accordingly, the invention is intended to embrace all such alternatives, modifications, equivalents and variations that are within the spirit and scope of this invention.
Claims (20)
1. A communications isolation system comprising:
a browser module that provides communications access to an unprotected network from a protected network;
a browser client module that communicates with the browser module; and
a browser isolator module that analyzes communications between the browser module and the browser client module, wherein the communication between the browser module and the browser client module are limited to those communications necessary for remote operation of the browser module.
2. The system of claim 1 , further comprising a browser isolator module that is capable of preventing unauthorized communications between the browser module and the browser client module.
3. The system of claim 2 , wherein the browser isolator module screens at least one of the following types of information to determine of the communication is authorized: source and destination ports, user information, origination information, host information, destination information, character information, IP address information, display identification, session information, display class, display number, TCP information, and date and/or time information.
4. The system of claim 1 , wherein the browser module comprises a distributed network browser.
5. The system of claim 1 , wherein the protected network is isolated from unauthorized communications received from the unprotected network.
6. A communications isolation system comprising:
a browser running on a virtual machine within a protected network;
a border module that tunnels communications from an unprotected network to the browser via a communications tunnel, wherein
only authorized communications are allowed between the browser and the unprotected network.
7. The system of claim 6 , further comprising a tunnel restrictor module that limits communications from the border module to the virtual machine to those communications authorized for browser operability.
8. The system of claim 6 , wherein the virtual machine is isolated from the protected network.
9. The system of claim 6 , wherein communications from the unprotected network are encapsulated and forwarded to the virtual machine.
10. The system of claim 6 , wherein protected information on the protected network is prevented from reaching the unprotected network.
11. A method of communicating with an unprotected network comprising:
establishing communications between a browser and a browser client;
inspecting the communications between the browser and the browser client;
determining if the communications are authorized; and
allowing the authorized communications between the browser and the browser client.
12. The method of claim 11 , wherein the communication between the browser module and the browser client module are limited to those communications necessary for remote operation of the browser module.
13. The method of claim 11 , further comprising screening at least one of the following types of information to determine of the communications are authorized: source and destination ports, user information, origination information, host information, destination information, character information, IP address information, display identification, session information, display class, display number, TCP information, and date and/or time information.
14. A method of establishing a restricted communications tunnel comprising:
enabling a browser on a virtual machine that is isolated from a protected network;
establishing communications with a border module;
tunneling communications from the border module to the browser; and
preventing unauthorized communications from reaching the protected network.
15. The method of claim 14 , further comprising limiting communications from the border module to the virtual machine to those communications authorized for browser. operability.
16. The method of claim 14 , wherein communications from the unprotected network are encapsulated and forwarded to the virtual machine.
17. An information storage media comprising information for communicating with an unprotected network comprising:
information that establishes communications between a browser and a browser client;
information that inspects the communications between the browser and the browser client;
information that determines if the communications are authorized; and
information that allows the authorized communications between the browser and the browser client.
18. An information storage media comprising information for establishing a restricted communications tunnel comprising:
information that enables a browser on a virtual machine that is isolated from a protected network;
information that establishes communications with a border module;
information that tunnels communications from the border module to the browser; and
information that prevents unauthorized communications from reaching the protected network.
19. A communications isolation system comprising:
means for providing communications access to an unprotected network from a protected network;
means for communicating with a browser module; and
means for analyzing communications between the browser module and the a browser client module, wherein the communication between the browser module and the browser client module are limited to those communications necessary for remote operation of the browser module.
20. A communications isolation system comprising:
means for running a virtual machine within a protected network; and
means for tunnelling communications from an unprotected network to a browser running on the virtual machine via a communications tunnel, wherein only authorized communications are allowed between the browser and the unprotected network.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/822,161 US20070260873A1 (en) | 2001-03-01 | 2007-07-02 | Systems and methods that provide external network access from a protected network |
Applications Claiming Priority (4)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US27205501P | 2001-03-01 | 2001-03-01 | |
US27205301P | 2001-03-01 | 2001-03-01 | |
US10/085,130 US7240193B2 (en) | 2001-03-01 | 2002-03-01 | Systems and methods that provide external network access from a protected network |
US11/822,161 US20070260873A1 (en) | 2001-03-01 | 2007-07-02 | Systems and methods that provide external network access from a protected network |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/085,130 Continuation US7240193B2 (en) | 2001-03-01 | 2002-03-01 | Systems and methods that provide external network access from a protected network |
Publications (1)
Publication Number | Publication Date |
---|---|
US20070260873A1 true US20070260873A1 (en) | 2007-11-08 |
Family
ID=26955274
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/085,130 Expired - Fee Related US7240193B2 (en) | 2001-03-01 | 2002-03-01 | Systems and methods that provide external network access from a protected network |
US11/822,161 Abandoned US20070260873A1 (en) | 2001-03-01 | 2007-07-02 | Systems and methods that provide external network access from a protected network |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US10/085,130 Expired - Fee Related US7240193B2 (en) | 2001-03-01 | 2002-03-01 | Systems and methods that provide external network access from a protected network |
Country Status (3)
Country | Link |
---|---|
US (2) | US7240193B2 (en) |
EP (1) | EP1410559A4 (en) |
WO (1) | WO2002071686A1 (en) |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103517A1 (en) * | 2011-01-27 | 2012-08-02 | L-3 Communications Corporation | Internet isolation for avoiding internet security threats |
US20130275492A1 (en) * | 2012-04-13 | 2013-10-17 | Microsoft Corporation | Enabling Web Clients to Provide Web Services |
US20140337965A1 (en) * | 2013-05-08 | 2014-11-13 | Texas Instruments Incorporated | Method and System for Access to Development Environment of Another with Access to Intranet Data |
US9294440B1 (en) * | 2012-09-07 | 2016-03-22 | Amazon Technologies, Inc. | Secure inter-zone data communication |
US10554475B2 (en) | 2017-06-29 | 2020-02-04 | L3Harris Technologies, Inc. | Sandbox based internet isolation in an untrusted network |
US10558798B2 (en) | 2017-06-29 | 2020-02-11 | L3Harris Technologies, Inc. | Sandbox based Internet isolation in a trusted network |
US10931669B2 (en) | 2017-09-28 | 2021-02-23 | L3 Technologies, Inc. | Endpoint protection and authentication |
US10992642B2 (en) | 2017-09-22 | 2021-04-27 | L3 Technologies, Inc. | Document isolation |
US11044233B2 (en) | 2017-09-28 | 2021-06-22 | L3 Technologies, Inc. | Browser switching system and methods |
US11120125B2 (en) | 2017-10-23 | 2021-09-14 | L3 Technologies, Inc. | Configurable internet isolation and security for laptops and similar devices |
US11170096B2 (en) | 2017-10-23 | 2021-11-09 | L3 Technologies, Inc. | Configurable internet isolation and security for mobile devices |
US11178104B2 (en) | 2017-09-26 | 2021-11-16 | L3 Technologies, Inc. | Network isolation with cloud networks |
US11184323B2 (en) | 2017-09-28 | 2021-11-23 | L3 Technologies, Inc | Threat isolation using a plurality of containers |
US11223601B2 (en) | 2017-09-28 | 2022-01-11 | L3 Technologies, Inc. | Network isolation for collaboration software |
US11240207B2 (en) | 2017-08-11 | 2022-02-01 | L3 Technologies, Inc. | Network isolation |
US11336619B2 (en) | 2017-09-28 | 2022-05-17 | L3 Technologies, Inc. | Host process and memory separation |
US11374906B2 (en) | 2017-09-28 | 2022-06-28 | L3 Technologies, Inc. | Data exfiltration system and methods |
US11550898B2 (en) | 2017-10-23 | 2023-01-10 | L3 Technologies, Inc. | Browser application implementing sandbox based internet isolation |
US11552987B2 (en) | 2017-09-28 | 2023-01-10 | L3 Technologies, Inc. | Systems and methods for command and control protection |
US11601467B2 (en) | 2017-08-24 | 2023-03-07 | L3 Technologies, Inc. | Service provider advanced threat protection |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7607171B1 (en) | 2002-01-17 | 2009-10-20 | Avinti, Inc. | Virus detection by executing e-mail code in a virtual machine |
US9652613B1 (en) | 2002-01-17 | 2017-05-16 | Trustwave Holdings, Inc. | Virus detection by executing electronic message code in a virtual machine |
US20100138909A1 (en) * | 2002-09-06 | 2010-06-03 | O2Micro, Inc. | Vpn and firewall integrated system |
US9100431B2 (en) | 2003-07-01 | 2015-08-04 | Securityprofiling, Llc | Computer program product and apparatus for multi-path remediation |
US9118710B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | System, method, and computer program product for reporting an occurrence in different manners |
US9118711B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118709B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US20070113272A2 (en) * | 2003-07-01 | 2007-05-17 | Securityprofiling, Inc. | Real-time vulnerability monitoring |
US9350752B2 (en) | 2003-07-01 | 2016-05-24 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US8984644B2 (en) | 2003-07-01 | 2015-03-17 | Securityprofiling, Llc | Anti-vulnerability system, method, and computer program product |
US9118708B2 (en) | 2003-07-01 | 2015-08-25 | Securityprofiling, Llc | Multi-path remediation |
US9537768B2 (en) | 2004-09-30 | 2017-01-03 | Rockwell Automation Technologies, Inc. | System that provides for removal of middleware in an industrial automation environment |
CA2544681C (en) * | 2005-04-22 | 2015-11-17 | Protexis Inc. | Location-specific or range-based licensing system |
US8234498B2 (en) | 2005-07-25 | 2012-07-31 | Britti Michael A | Screening using a personal identification code |
US8418254B2 (en) | 2005-07-25 | 2013-04-09 | Transunion Rental Screening Solutions, Inc. | Applicant screening |
US8112748B2 (en) * | 2005-09-01 | 2012-02-07 | International Business Machines Corporation | Method for operating software configured for internet access on a remote computer |
US8533778B1 (en) * | 2006-06-23 | 2013-09-10 | Mcafee, Inc. | System, method and computer program product for detecting unwanted effects utilizing a virtual machine |
US20080126978A1 (en) * | 2006-11-28 | 2008-05-29 | Likun Bai | System and method of enhancing computer security by using dual desktop technologies |
US8959647B2 (en) * | 2007-02-27 | 2015-02-17 | Microsoft Corporation | Runtime security and exception handler protection |
US8024790B2 (en) * | 2007-04-11 | 2011-09-20 | Trend Micro Incorporated | Portable secured computing environment for performing online confidential transactions in untrusted computers |
US8402529B1 (en) | 2007-05-30 | 2013-03-19 | M86 Security, Inc. | Preventing propagation of malicious software during execution in a virtual machine |
US10019570B2 (en) * | 2007-06-14 | 2018-07-10 | Microsoft Technology Licensing, Llc | Protection and communication abstractions for web browsers |
US8201246B1 (en) | 2008-02-25 | 2012-06-12 | Trend Micro Incorporated | Preventing malicious codes from performing malicious actions in a computer system |
US9679135B2 (en) | 2008-06-19 | 2017-06-13 | Bank Of America Corporation | Computing device for secured transactions and virtual monitoring external from the operating system |
US20090319432A1 (en) * | 2008-06-19 | 2009-12-24 | Renfro Chadwick R | Secure transaction personal computer |
US9317851B2 (en) | 2008-06-19 | 2016-04-19 | Bank Of America Corporation | Secure transaction personal computer |
KR101076683B1 (en) * | 2009-07-14 | 2011-10-26 | 주식회사 안철수연구소 | Apparatus and method for splitting host-based networks |
US8479294B1 (en) | 2011-02-15 | 2013-07-02 | Trend Micro Incorporated | Anti-malware scan management in high-availability virtualization environments |
US8484732B1 (en) | 2012-02-01 | 2013-07-09 | Trend Micro Incorporated | Protecting computers against virtual machine exploits |
US8966632B1 (en) | 2012-02-17 | 2015-02-24 | Trend Micro Incorporated | In-the-cloud sandbox for inspecting mobile applications for malicious content |
WO2013142948A1 (en) | 2012-03-30 | 2013-10-03 | Irdeto Canada Corporation | Method and system for preventing and detecting security threats |
US9444912B1 (en) | 2013-05-21 | 2016-09-13 | Trend Micro Incorporated | Virtual mobile infrastructure for mobile devices |
US9225799B1 (en) | 2013-05-21 | 2015-12-29 | Trend Micro Incorporated | Client-side rendering for virtual mobile infrastructure |
US9300720B1 (en) | 2013-05-21 | 2016-03-29 | Trend Micro Incorporated | Systems and methods for providing user inputs to remote mobile operating systems |
US9049169B1 (en) | 2013-05-30 | 2015-06-02 | Trend Micro Incorporated | Mobile email protection for private computer networks |
US9507617B1 (en) | 2013-12-02 | 2016-11-29 | Trend Micro Incorporated | Inter-virtual machine communication using pseudo devices |
US9531677B1 (en) * | 2014-05-07 | 2016-12-27 | Skyport Systems, Inc. | Method and system for managing network access |
CN104410685A (en) * | 2014-11-23 | 2015-03-11 | 国云科技股份有限公司 | Method allowing extranet to gain access to web application through intranet |
US11165751B2 (en) * | 2017-02-16 | 2021-11-02 | Emerald Cactus Ventures, Inc. | System and method for establishing simultaneous encrypted virtual private networks from a single computing device |
US11122013B2 (en) * | 2017-02-16 | 2021-09-14 | Emerald Cactus Ventures, Inc. | System and method for encrypting data interactions delineated by zones |
US11165825B2 (en) * | 2017-02-16 | 2021-11-02 | Emerald Cactus Ventures, Inc. | System and method for creating encrypted virtual private network hotspot |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065118A (en) * | 1996-08-09 | 2000-05-16 | Citrix Systems, Inc. | Mobile code isolation cage |
US6490626B1 (en) * | 1997-11-19 | 2002-12-03 | Hewlett Packard Company | Browser system |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5835726A (en) * | 1993-12-15 | 1998-11-10 | Check Point Software Technologies Ltd. | System for securing the flow of and selectively modifying packets in a computer network |
AU724259B2 (en) | 1996-08-09 | 2000-09-14 | Citrix Systems (Cambridge) Limited | Isolated execution location |
US6088796A (en) * | 1998-08-06 | 2000-07-11 | Cianfrocca; Francis | Secure middleware and server control system for querying through a network firewall |
US6081900A (en) * | 1999-03-16 | 2000-06-27 | Novell, Inc. | Secure intranet access |
US6981146B1 (en) * | 1999-05-17 | 2005-12-27 | Invicta Networks, Inc. | Method of communications and communication network intrusion protection methods and intrusion attempt detection system |
US6948003B1 (en) * | 2000-03-15 | 2005-09-20 | Ensim Corporation | Enabling a service provider to provide intranet services |
ES2249450T3 (en) * | 2000-07-05 | 2006-04-01 | ERNST & YOUNG LLP | METHOD AND APPLIANCE TO PROVIDE INFORMATIC SERVICES. |
US7281047B2 (en) * | 2001-01-16 | 2007-10-09 | Cognos Incorporated | System and method for automatic provision of an application |
-
2002
- 2002-03-01 EP EP02721204A patent/EP1410559A4/en not_active Ceased
- 2002-03-01 WO PCT/US2002/006018 patent/WO2002071686A1/en not_active Application Discontinuation
- 2002-03-01 US US10/085,130 patent/US7240193B2/en not_active Expired - Fee Related
-
2007
- 2007-07-02 US US11/822,161 patent/US20070260873A1/en not_active Abandoned
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6065118A (en) * | 1996-08-09 | 2000-05-16 | Citrix Systems, Inc. | Mobile code isolation cage |
US6490626B1 (en) * | 1997-11-19 | 2002-12-03 | Hewlett Packard Company | Browser system |
Cited By (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2012103517A1 (en) * | 2011-01-27 | 2012-08-02 | L-3 Communications Corporation | Internet isolation for avoiding internet security threats |
EP2668608A4 (en) * | 2011-01-27 | 2017-07-05 | L-3 Communications Corporation | Internet isolation for avoiding internet security threats |
US9942198B2 (en) | 2011-01-27 | 2018-04-10 | L3 Technologies, Inc. | Internet isolation for avoiding internet security threats |
US10601780B2 (en) | 2011-01-27 | 2020-03-24 | L3Harris Technologies, Inc. | Internet isolation for avoiding internet security threats |
US20130275492A1 (en) * | 2012-04-13 | 2013-10-17 | Microsoft Corporation | Enabling Web Clients to Provide Web Services |
US9294440B1 (en) * | 2012-09-07 | 2016-03-22 | Amazon Technologies, Inc. | Secure inter-zone data communication |
US20140337965A1 (en) * | 2013-05-08 | 2014-11-13 | Texas Instruments Incorporated | Method and System for Access to Development Environment of Another with Access to Intranet Data |
US9130904B2 (en) * | 2013-05-08 | 2015-09-08 | Texas Instruments Incorporated | Externally and internally accessing local NAS data through NSFV3 and 4 interfaces |
US10554475B2 (en) | 2017-06-29 | 2020-02-04 | L3Harris Technologies, Inc. | Sandbox based internet isolation in an untrusted network |
US10558798B2 (en) | 2017-06-29 | 2020-02-11 | L3Harris Technologies, Inc. | Sandbox based Internet isolation in a trusted network |
US11240207B2 (en) | 2017-08-11 | 2022-02-01 | L3 Technologies, Inc. | Network isolation |
US11601467B2 (en) | 2017-08-24 | 2023-03-07 | L3 Technologies, Inc. | Service provider advanced threat protection |
US10992642B2 (en) | 2017-09-22 | 2021-04-27 | L3 Technologies, Inc. | Document isolation |
US11178104B2 (en) | 2017-09-26 | 2021-11-16 | L3 Technologies, Inc. | Network isolation with cloud networks |
US11374906B2 (en) | 2017-09-28 | 2022-06-28 | L3 Technologies, Inc. | Data exfiltration system and methods |
US11184323B2 (en) | 2017-09-28 | 2021-11-23 | L3 Technologies, Inc | Threat isolation using a plurality of containers |
US11223601B2 (en) | 2017-09-28 | 2022-01-11 | L3 Technologies, Inc. | Network isolation for collaboration software |
US10931669B2 (en) | 2017-09-28 | 2021-02-23 | L3 Technologies, Inc. | Endpoint protection and authentication |
US11336619B2 (en) | 2017-09-28 | 2022-05-17 | L3 Technologies, Inc. | Host process and memory separation |
US11552987B2 (en) | 2017-09-28 | 2023-01-10 | L3 Technologies, Inc. | Systems and methods for command and control protection |
US11044233B2 (en) | 2017-09-28 | 2021-06-22 | L3 Technologies, Inc. | Browser switching system and methods |
US11170096B2 (en) | 2017-10-23 | 2021-11-09 | L3 Technologies, Inc. | Configurable internet isolation and security for mobile devices |
US11120125B2 (en) | 2017-10-23 | 2021-09-14 | L3 Technologies, Inc. | Configurable internet isolation and security for laptops and similar devices |
US11550898B2 (en) | 2017-10-23 | 2023-01-10 | L3 Technologies, Inc. | Browser application implementing sandbox based internet isolation |
Also Published As
Publication number | Publication date |
---|---|
US20020129281A1 (en) | 2002-09-12 |
WO2002071686A1 (en) | 2002-09-12 |
EP1410559A4 (en) | 2004-11-24 |
EP1410559A1 (en) | 2004-04-21 |
US7240193B2 (en) | 2007-07-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7240193B2 (en) | Systems and methods that provide external network access from a protected network | |
US10601780B2 (en) | Internet isolation for avoiding internet security threats | |
US20230388349A1 (en) | Policy enforcement using host information profile | |
US11170096B2 (en) | Configurable internet isolation and security for mobile devices | |
US9436820B1 (en) | Controlling access to resources in a network | |
Hunt | Internet/Intranet firewall security—policy, architecture and transaction services | |
US5892903A (en) | Method and apparatus for detecting and identifying security vulnerabilities in an open network computer communication system | |
US7343599B2 (en) | Network-based patching machine | |
US20040107360A1 (en) | System and Methodology for Policy Enforcement | |
US20050125697A1 (en) | Device for checking firewall policy | |
EP0713311A1 (en) | Secure gateway and method for communication between networks | |
US20120185563A1 (en) | Network system, virtual private connection forming method, static nat forming device, reverse proxy server and virtual connection control device | |
US20060203815A1 (en) | Compliance verification and OSI layer 2 connection of device using said compliance verification | |
US20120110320A1 (en) | Automatic Secure Client Access | |
Noonan et al. | Firewall fundamentals | |
WO2008040223A1 (en) | Method for filtering harmfulness data transferred between terminal and destination host in network | |
Rahman et al. | Holistic approach to arp poisoning and countermeasures by using practical examples and paradigm | |
Frankel et al. | Guide to ssl vpns | |
Cisco | Release Notes for the PIX Firewall Version 5.1(4) | |
Hindocha | Threats to instant messaging | |
Chadwick | Network firewall technologies | |
Gheorghe | " COBOT" TYPE MULTIAPLICATIVE INTELLIGENT PLATFORM WITH ROBOT & HEXAPOD MICROSYSTEM AND ULTRAPRECIS PING PROBE FOR MEASURING PARTS (WITH A 3KG TABLE) | |
Adamczyk | Security considerations of modern embedded devices and networking equipment | |
EP1966974B1 (en) | Secure system for inputting and processing authentication data | |
Ellis | Dynamic firewall techniques for residential use |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: INVICTA NETWORKS INC., VIRGINIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:HATFALVI, EMIL J.;NOBLE, JAMES G.;REEL/FRAME:021887/0688;SIGNING DATES FROM 20010309 TO 20010824 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |