Strategic Security Intelligence


Information Resource Guide


1.0 Introduction

1.1 Basic Internet Technical Details

The Internet utilizes a set of networking protocols called TCP/IP. The applications protocols that can be used with TCP/IP are described in a set of Internet Engineering Task Force (IETF) RFCs (Request For Comment). These documents describe the "standard" protocols and applications that have been developed to support these protocols. Protocols provide a standard method for passing messages. They define the message formats and how to handle error conditions. Protocols are independent of vendor network hardware, this allows communication between various networks with different hardware as long as they communicate (understand) the same protocol. The following diagram provides a conceptual layering diagram of the protocols.

1.1.1 TCP/IP : Transmission Control Protocol/Internet Protocol

TCP/IP is used to facilitate communication within a network of diverse hardware technology. Information is broken into packets (usually in the range of 1-1500 characters long) to prevent monopolizing of the network. TCP is a transport level protocol which allows a process on one computer to send data to a process on another computer. It is a connection oriented protocol which means that a path must be established between the two computers. IP defines the datagram, the format of the data being transferred throughout the network and performs connectionless delivery. Connectionless delivery requires each datagram to contain the source and destination address and each datagram is processed separately. TCP takes the information, and breaks it into pieces called packets, numbers the packets, and then sends them.

The receiving computer collects the packets, takes out the data and puts them in the proper order. If something is missing, the receiving computer asks the sender to retransmit. The packet sent also contains a checksum which is used to find errors that may have occurred during transmission. If the receiving computer notices that an error has occurred when it computes and compares the checksum, it throws that packet away and asks for a retransmission. Once everything is received, the data is passed to the proper application (e.g. e-mail).

1.1.2 UDP:User Datagram Protocol

The UDP has less overhead and is simpler than TCP. The concept is basically the same except that UDP is not concerned about lost packets or keeping things in order. It is used for short messages. If it does not receive a response, it just resends the request. Thjs type of protocol transfer method is called a "connectionless protocol."
 
 

1.1.3 Internet Addressing

All computers on the Internet must have a distinct network address to be able to efficiently communicate with each other. The addressing scheme used within the Internet is a 32 - bit address segmented into a hierarchical structure. IP addresses consist of four numbers, each less than 256 which are separated by periods. (#.#.#.#) At the lowest level, computers communicate with each other using a hardware address (on LANs, this is called the Medium Access Control or MAC address). Computer users, however, deal with 2 higher levels of abstraction in order to help visualize and remember computers within the network. The first level of abstraction is the IP address of the computer (e.g. 131.136.196.2) and the second level is the human readable form of this address (e.g. manitou.cse.dnd.ca). This address scheme is currently under review as the address space is running out. Address Resolution Protocol (ARP) can be used by the computer to resolve IP addresses into the corresponding hardware addresses.

1.1.4 Types of Connections and Connectors

There are two types of computer hosts connected to the Internet: server hosts and client hosts. The server host can be described as an "information provider". This type of host contains some type of resource or data which is available to other hosts on the Internet. The second type of host connected to the Internet is the client host which can be described as an "information retriever". The client host will access resources and data located on the server hosts, but usually will not provide any resources back to the server host.

Both server and client host computers can be connected to the Internet by various methods that offer different communication capabilities dependent on varied communications surcharges.

Direct Internet Connections: A computer connected directly to the Internet via a network interface will allow the user the highest internetwork functionality. Each computer connected in this manner must also have a unique Internet (IP) address. This type of connection is also the most expensive.

Serial Internet Connections: Another type of connection offering most communications capabilities is a SLIP (Serial Line Internet Protocol) or PPP (Point to Point Protocol) connection. These two connection schemes offer similar services: full network and application capability over a serial (modem) line. Since this connection offers full TCP/IP and ICMP functionality each computer configured in this manner requires its own IP address. This type of connection is an on-demand service, at slower speeds, that therefore reduces communications charges, however all TCP/IP and Internet vulnerabilities remain when the connection is "live".

An important point for the network security investigator to remember is that most dial-up TCP connections, either SLIP or PPP, assign the IP address to a connected machine dynamically. This means that when a system dials-up to the Internet Service Provider (ISP), the ISP assigns an IP address at that point. It also means that the address for the dialer may change each and every time the system connects. This can cause serious problems for the investigator when attempting to trace access back through firewall and router logs for specific IP addresses. You will need to work closely with the victim and the ISP to properly track which system was assigned a particular IP address when the system connected to the ISP at a particular point in time.

Host Access Connections: The most limited type of network access is available as a user account on a host which is directly connected to the Internet. The user will then use a terminal to access that host using a standard serial connection. This type of connection is usually the most inexpensive form of access.

Sneaker-Net Connections: This type of connection is by far the most limiting, since the computer has no electrical connection to the Internet at all. This type of connection is the most secure because there is no direct access to the user's computer by a hacker. If information and programs are required on the computer they must be transferred from a networked computer to the user's computer via magnetic media or manually.

All computers with direct, SLIP, and PPP connections must have their own IP address, and their security administrators must be aware of the vulnerability concerns associated with these connections. Communications channels work both ways: a user having access to the Internet implies that the Internet also has access to that user. Therefore, these computers must be protected and secured to ensure the Internet has limited access. A terminal user calling using an Internet host has fewer concerns since the host is where the Internet interface lies. In this situation the host must take all necessary security precautions.

To connect the various sub-networks and pieces of the Internet together, hardware equipment is required. The following are definitions of the various terms which are use to describe this equipment.

Repeater A repeater is a hardware device which is used to connect two Local Area Segments that use the same physical level protocol. The repeater will copy all bits from one network segment to another network segment. This device will not make any routing decisions at all, and will not modify the packets. This device operates at layer 1 (Physical) of the OSI Network Model. A repeater may also be used to connect specific workstations in a physically local area to each other. All units connected to a repeater "see" each other’s traffic on the network. Repeaters are very often used on networks like Ethernet/802.3 networks and very commonly available at most computer stores at a low price.

Modem A modem is a device which will convert between the digital signal structures that computers require and the analog voltage levels that are used by telephone services. The term MODEM stands for MOdulator DEModulator. A modem operates at level 1 (Physical) of the OSI Network Model and therefore does not modify the data packets or make any routing decisions. Modems are used to connect two computers together over standard phone lines (usually for on-demand services). Current MODEM speeds range from 50 bits per second to over 56 thousand bits per second (56kbps).

Bridge A bridge is a device which is used to connect two Local Area Networks that use the same LAN framing protocol (such as Ethernet or token ring). The bridge acts as an address filter by picking up packets from one LAN segment and transferring them to another IF the bridge recognizes that the packets need to travel from one LAN to the other. If the communicating source system and destination system are on the same side of the bridge, the bridge will not forward the frame to the other side of the bridge.. The bridge makes no modification to any packets it forwards, and the bridge operates at layer 2 (data-link) of the OSI Network Model.

Router A router is a device that is used to connect two or more LAN, MAN or WANsegments that may or may not use the framing protocols. Since the router operates at level 3 (Network) of the OSI Network Model it is able to make routing decisions based on the destination network address (IP address for the Internet). Routers will sometimes have filtering capability included. In this case a router might be used as a packet filter to enhance security and/or reduce traffic flow throughout the network that does not need to traverse all locations on the network (described below). Some very large routers at larger network sites can interconnect dozens of different types of network framing formats.

Gateway A gateway is a device which will interconnect two network segments which utilize different communications architectures. Gateways typically function on a program-type by program-type (application) basis.The gateway maps (or translates) data from one application to another application and as such operates at level 7 (Application) of the OSI Network Model.

Packet filter Packet filtering is a capability usually added to routers, but can be implemented in host or firewall systems as well. Packet filtering applies a set of filters (or rules of traversal) to all packets entering or leaving the filtering mechanism that enable the router to decide whether the packet should be forwarded or disregarded. For instance, security configurations may add address filters for certain ranges of addresses to keep traffic from roaming all over a network or to keep undesireable addresses from accessing resources that are restricted in access.

Firewall A firewall is a description of a system (one or more pieces of hardware) that acts as a barrier between two or more network segments. A firewall can be used to provide a barrier between an internal network and the Internet. A firewall can be considered the technical implementation of a security policy. The firewall upholds the security policy of a network when connecting that network to a second network which has a less stringent security policy.

Cyberwall A cyberwall is similar in scope to a firewall, but instead of offering perimeter defense filtering between two or more networks, cyberwalls are typically installed on desktop and server systems on the inside network at a corporate site. Cyberwalls provide a defensive barrier to attacks on mission critical systems on internal networks and help "harden" the operating system environment from a network attack. Some cyberwalls also include intrusion detection software to allow the system to detect an attack of specific types in progress and effect some levels of defense against them.

Readers are cautioned that these terms are not always used in a consistent manner in publications which can cause confusion or misconceptions.

1.1.5 Routing

There are two types of routing used by the Internet: source routing and dynamic routing. The Internet is a very robust networking system. The network routers will automatically (dynamically) send out messages to other routers broadcasting routes to known domains and addresses. If a network or router goes down, packets can be dynamically rerouted to the destination. The user does not usually know how a packet will be routed to the destination. The packet could be rerouted through an untrusted network and intercepted. A router connected to the Internet should be configured to ignore dynamic routing changes and the routing tables should remain static. If the routing tables must be changed, then they should be changed by the network administrator after understanding the reasons for the changes. Unfortunately this is not usually convenient for Internet connected routers. This is another example of when a tradeoff must be made. If the router is configured in this manner then the dynamic routing that the Internet depends on would be disabled. In this situation your network could be cut off (completely or partially) until the Network Administrator makes the required changes in the routing tables.

The second type of routing is known as source routing. In this method of routing a user is able to define a route for the packet between the source and destination. All packets returning to the destination will follow the route information given. A hacker can use a source routed packet to spoof another address. Computers and routers connected to external networks should be configured to ignore source routed packets.

1.2 Internet Applications and Protocols

The Internet is a global collection of networks all using the TCP/IP network protocol suite to communicate. The TCP/IP protocols allow data packets to be transmitted, and routed from a source computer to a destination computer. Above this set of protocols reside the applications that allow users to generate data packets. The following sections describe some of the more common applications as well as some security vulnerabilities and concerns.

1.2.1 ARCHIE

Archie is a system for locating public files available via anonymous ftp (see ftp for vulnerability information). A program is run by an Archie site to contact servers with public files and the program builds a directory of all the files on the servers. Archie can then be used to search the merged directories for a filename and will provide a list of all the files that match and the servers on which the files reside. Public Archie servers are available and can be accessed using telnet, e-mail or an Archie client. Once the filename/server pair has been found using Archie, ftp can be used to get the file from the server. Archie can be used to find security related information(e.g. if one looks up firewall, Archie will give all the matches and locations for information on firewalls). Archie is limited in that it can only match on filenames exactly (e.g. if the file contains information on firewalls but the author named it burnbarrier, Archie will not find it if the search was for firewalls).

Archie can be exploited to locate anonymous ftp sites that provide world writable areas that can then be used to store and disseminate illegal versions of software. In this case, a hacker uses the Internet tool to gain legitimate access to the database and then misuse the information.

1.2.2 DNS — Domain Name System

DNS is a hierarchical, distributed method or organizing the name space of the Internet. It is used to map human readable host names into IP addresses and vice-versa. A host sends a User Datagram Protocol (UDP) query to a DNS server which either provides the IP address or information about a smarter server than itself. Different groups are given the responsibility for a subset or subsets of names. The number of names in each group gets larger from left to right. For example: cse.dnd.ca, each level of the system is called a domain, cse represents the domain of the Communications Security Establishment which is smaller and within the dnd - Department of National Defense domain. The dnd domain is within the ca - Canada domain. The elements of the domain are separated by periods. Queries can also be made using TCP (port 53) and are called zone transfers. Zone transfers are used by backup servers to obtain a copy of their portion of the name space. Zone transfers can also be used by hackers to obtain lists of targets. The Computer Emergency Response Team (CERT) advises that access to this port be only permitted from known secondary domain servers. This prevents intruders from gaining additional information about the system connected to the local network.

1.2.3 E-mail — Electronic Mail

Electronic mail is probably the most widely used application on the Internet. Messages are transported using a specific message format and the simple mail transport protocol (SMTP). This protocol offers no security features at all. E-mail messages can be read by a hacker residing on the network between the source and destination of the message. As well, SMTP e-mail messages can be forged or modified very easily. The SMTP protocol offers no message integrity or sender authentication mechanisms.

Some security and a higher level of trust can be provided to SMTP by applying some cryptographic measures to the message. If message integrity or sender authentication are required then the application of a digital signature is called for. A digital signature allows a user to authenticate the e-mail message just as a written signature authenticates a document in today's paper world. Message confidentiality can be obtained by applying an encryption algorithm to the message prior to sending it.

1.2.4 SMTP — Simple Mail Transport Protocol

SMTP is an application level protocol used to distribute e-mail messages between computers. This protocol is very simple and understands only simple text based messages and commands. All messages transferred between computers are in ASCII form and are unencrypted. The message is available to everyone in the path that the message takes. There is no method of verifying the message source or ensuring the message integrity, this must be done at a higher level using another protocol such as PEM.

A common implementation of the SMTP protocol is found in the UNIX sendmail facility. This program has a very colourful security history. Sendmail is an extensive program which allows remote computers more access than required to drop off e-mail.

SMTP is also commonly implemented in Post Office Protocol version 3 servers (also known as POP3) and the new IMAP4 protocol used on newer e-mail servers on Internet.

1.2.5 PEM — Privacy Enhanced Mail

PEM is a set of standards for adding a security overlay to Internet e-mail providing message confidentiality and integrity. This set of standards describes a security protocol that can be used above the common Simple Mail Transport Protocol (SMTP) or the UNIX-to-UNIX Copy Protocol (UUCP). The PEM security enhancements provide three security services: message integrity, message origin authentication, and message confidentiality. The PEM enhancements can be used as a foundation to provide non-repudiation for electronic commerce applications.

Currently the PEM standard defines the use of the RSA public key algorithm to be used for key management and digital signature operations, and the DES algorithm is included for message confidentiality encryption.

The PEM protocols rely on the trusted distribution of the public keys. PEM public keys are distributed within an X.509 certificate. These certificates are digitally signed by a certification authority. The PEM user trusts a certification authority to provide public key certificates. The certification authorities can also cross certify public key certificates from another certification authority. The certification authorities are distributed in a hierarchical structure with the Internet Policy Registration Authority (IPRA) at the top. The IPRA will certify the certification authorities. The IPRA is a non-government, private agency and may or may not be trusted by an organization.

1.2.6 Entrust and Entrust-Lite

Entrust is an cryptographic module that is being developed by Bell Northern Research (BNR). This module will be available for multiple computer platforms and operating systems. The module provides an Application Interface for user applications to utilize the cryptographic functions. This module will provide the cryptographic functionality required for both message and document integrity (Digital Signatures) as well as message/document confidentiality.

This cryptographic module is being validated by the Communications Security Establishment against the FIPS 140-1 standards.

1.2.7 PGP — Pretty Good Privacy

PGP is a public key encryption package to protect e-mail and data files. It lets you communicate securely with people you've never met, with no secure channels needed for prior exchange of keys. It's well featured and fast, with sophisticated key management, digital signatures, data compression, and good ergonomic design.

This program provides the RSA algorithm for key management and digital signatures, and uses the IDEA algorithm to provide confidentiality. The program is available for non-commercial use to Canadian citizens from the site ftp://ftp.wimsey.bc.ca. There is commercial version of this program for sale from ViaCrypt, and an international version available as well. The international version has the message encryption (IDEA algorithm) functionality removed.

1.2.8 RIPEM — Riordan's Internet Privacy-Enhanced Mail

RIPEM (pronounced RYE-pehm) is a public key encryption program oriented toward use with electronic mail. It allows you to generate your own public keypairs, and to encrypt and decrypt messages based on your key and the keys of your correspondents. RIPEM is free, but each user is required to agree to a license agreement which places some limitations on its use.

RIPEM is available on Internet at ftp://ftp.rsa.com. This program is a public domain implementation of the PEM standard. The RIPEM application is available for a variety of computer platforms and operating systems.

1.2.9 MIME — Multipurpose Internet Mail Extensions

MIME is an Internet Engineering Task Force (IETF) solution that allows users to attach non-text objects to Internet messages. A MIME-capable e-mail client can be configured to automatically retrieve and execute data files that are attached to an e-mail message. The MIME standard provides a standard method of providing attachments to e-mail messages. Some of the MIME e-mail programs allow the user to configure what type of attachments are accepted and how they are interpreted, other programs are not configurable. Users are cautioned to disable the automatic execution and interpretation of mail attachments. The attachments can be examined and processed after the user responds to prompt. In this configuration the user is warned that an attachment is going to be processed and the user has the option of cancelling that processing if they are unsure of the consequences.

There is a system in development called atomicmail. Atomicmail is described as a language for interactive and computational e-mail. This language is being developed to provide portability between computer systems for the advanced e-mail attachments as well as to address security concerns. The atomicmail language is being designed with the constraints that processing does no harm and that access to the operating system, CPU, files and other resources is tightly controlled.

1.3 File Systems

1.3.1 AFS — Andrew File system

AFS is a networked file system with similar functionality to NFS. This file system is newer in design and can interoperate (to some degree) with NFS file systems. Unlike NFS, the AFS designers placed security in the protocol and incorporated the Kerberos authentication system into the file protocol.

1.3.2 NFS — Network File System

NFS is a Remote Procedure Call (RPC) based facility which utilizes port 2049. This facility allows NFS-capable clients to mount a file system on a NFS server located on the network. Once the NFS file system has been mounted it is treated like a local file system. If an internal system exports a file system to external systems, then the file system is available to a hacker across the network. Even if the file system is exported to only a select set of clients the possibility of a hacker spoofing one of those clients is possible. As well, it might be possible for a hacker to hijack an existing NFS connection. NFS should never be allowed across a firewall to an external network such as the Internet.

1.3.3 FTP — File Transfer Protocol

FTP allows a user to transfer text or binary files between two networked computers using ports 20 and 21. The ftp protocol uses a client-server structure with a client program opening a session on a server. There are many "anonymous ftp servers" located across the Internet. An anonymous server allows anyone to log on and retrieve information without any user identification and authentication (the user gives the username "anonymous" or "ftp").

If an anonymous ftp server allows world writable areas then the server could be used to distribute malicious or illegal software. A server could also be the source of computer viruses, trojan horses or other malicious software.

CERT provides a document on setting up an anonymous ftp server which is available via anonymous ftp from:

ftp://info.cert.org/pub/tech_tips/anonymous_ftp

This document describes the procedures of configuring an anonymous server, with restricted access. The procedures for restricting access to incoming files are also provided. Even though access to incoming files is restricted, a hacker is able to deposit corrupt, malicious, or illegal software on a server; it is unavailable however, until the server administrator reviews the software and moves it to the archive of retrievable software.

1.3.4 GOPHER

Gopher is a client-server system designed to locate and retrieve files or information from servers, "gopher holes", across the Internet. When a user initiates a connection to a Gopher server, the user is presented with a menu of data topics to choose from. When a user selects a topic, Gopher returns access information and a data type description. The access information tells the client program what IP address, port and filename to access. The data type description informs the client program how to interpret the raw information that is being retrieved. The data types include text and graphic files, script programs and binary executable files. If software is retrieved and executed automatically without user intervention then malicious code (e.g. viruses or trojan horses) could be obtained and executed without prior screening. Therefore, software should not be executed until it has been screened by a virus checker.

For those trivia hounds, it was originally developed at a U.S. university whose mascot was a gopher…

1.3.5 ICMP — Internet Control Message Protocol

The ICMP protocol is used to determine routing information and host status. An ICMP redirect packet is used to inform a router or computer about "new and improved" routes to a destination. These packets can be forged providing false routes to a destination to allow an attacker to spoof another system.

Another common ICMP packet is known as the ICMP unreachable message. These packets indicate problems with a route to a destination address. A false ICMP unreachable message could be used to deny access to another network or host. If this type of vulnerability is of concern to your organization then the routing server or firewall can be configured to ignore ICMP unreachable messages. The drawback of this configuration is that if the packet is genuine and a host is actually unreachable, the network routing tables will still not be updated and users will not know that the host is not available. They will simply be denied access.

Ping is a common ICMP based service. Ping sends a packet to a given destination which in effect says "Are you alive?" The destination returns an acknowledgement to the ping or an ICMP unreachable message may be returned by a routing system in the path. PING also has an ugly and sordid history in its use in network attacks and in network infiltrations.

ICMP packets should be filtered and not allowed across network boundaries.

1.3.6 LPD — Line Printer Daemon

LPD allows networked computers to access printing services on another computer. If lpd packets (destined for port 515) are allowed to be printed on an internal print server from external sources, a hacker could deny printing services to internal users by monopolizing the printer. This can be prevented by applying quotas, such as, limiting amount of time the printer can be used, time of day it can be used, etc. This can also be prevented by denying external network access to the printer.

1.3.7 NNTP — Network News Transfer Protocol

NNTP is an application level protocol which is used to distribute news groups. This protocol provides an unauthenticated and unsecured transfer service. The information passed between computers using this protocol is not encrypted and can be read by anyone with a network monitoring device located in the information pathway. Since there is no authentication, neither the integrity nor the source of the information can be guaranteed.

To provide some sort of information integrity or confidentiality, a higher level of security protocol must be applied to the news messages. One example of this type of security service is the PEM protocol.

1.3.8 News Readers

Network news readers are applications which provide the user with access to NNTP. The news readers usually do not require privileges to run and therefore can only get access to the files owned by the user running the news reader. One concern with these applications is that they do not control the flow of information. An organization cannot control the content of the message; the news reader will not screen information.

1.3.9 NIS — Network Information Services

NIS was originally developed and known as "yp or yellow pages". The NIS protocol acts in a client server type of fashion where the server provides user and host information to a client. The NIS system provides a central password and host file system for networks of computers. It is possible for a hacker to inform an NIS client to use another NIS server to authenticate logins. If this was successful then a hacker could gain unauthorized access to the client computer.

A hacker can use the NIS protocol to gain information about the network configuration including host and usernames. The more information that a hacker has available, the easier it is to break into a system. NIS should never be allowed across a firewall to an external network such as the Internet.

1.3.10 RPC — Remote Procedure Call

A RPC is similar to a procedure call in the C programming language. The difference is that the procedure call includes a remote IP address and port. The procedure is called from one computer and is executed on another computer across the network. The network file system (NFS) works in this manner. These procedure calls and ports can be used by a hacker to obtain unauthorized access to resources and information on a system. RPC calls should be filtered and not allowed across network boundaries.

The unfortunate thing about RPC’s is that programs, such as certain Windows 32 bit applications, require RPCs to operate. Because so many ports must be opened to support the RPC functionality, the additional application flexibility also causes major and serious security problems.

1.3.11 R-utils (rlogin, rcp, rsh)

These utilities came with the original Berkly version of UNIX. These utilities allow a "trusted" user from a known host to login or execute commands on another network computer. No user identification and authentication is required, since these systems assume a trusted user and host. If a hacker was to spoof one of the trusted hosts, then unauthorized access could be possible. These utilities should never be allowed across a firewall to the Internet.

1.3.12 SNMP — Simple Network Management Protocol

The SNMP protocol allows a network administrator to manage network resources from a remote node. This protocol should never be allowed through a firewall connected to the Internet. A hacker would have the ability to remotely manage and change the configuration of network systems. It would also allow a hacker to rewrite the security policy of the internal network.

1.3.13 TELNET

Telnet is an application which allows a user to log in to a remote computer. Telnet transmits all data between computers in an unencrypted fashion (including the username and password pair). A hacker located on the routing path could monitor all information transferred and pick up sensitive data or the username-password that was used. As well, an ambitious hacker could possibly hijack an existing telnet session. If a hacker gained access to a telnet session then all system resources available to the authorized user would be compromised. A possible solution for this is to use an encryption scheme with telnet.

Telnet is also used as the connection method for most network infrastructure devices such as routers, bridges and lower-level hardware such as CSU/DSU facilities on leased lines and frame relay connections. It has great potential to allow a hacker access to a great deal of very sensitive hardware that can cripple a network if compromised.

1.3.14 TFTP ? Trivial File Transfer Protocol

TFTP is mainly used for remotely booting another networked computer and operates on port 69. A computer can initiate a tftp session to a boot server and transfer the system boot information it requires to start up. This protocol should be disabled if not required and should never be allowed across a firewall to the Internet. TFTP can also be used to transfer and deposit information to a networked computer. An attacker could use this protocol to grab sensitive data, password files or to deposit compromised system files. TFTP should not be allowed.

TFTP is also the most common protocol used to download bootstrap kernel software for diskless systems such as routers. Compromise of TFTP host systems on a network can cause a great deal of security problems for a customer network.

1.3.15 Motif

Motif is a graphical environment developed by the Open Software Foundation (OSF) as a front end for the X11 X-windows interface. The vulnerabilities of the X-Windows system are described below.

1.3.16 Openwindows

Openwindows is a graphical environment developed by Sun for its SunOS and Solaris operating systems. This system is now publicly available within other versions of the UNIX operating system. This graphical environment is similar to the Xwindows system, however, it connects to port number 2000.

1.3.17 Winsock

Winsock is a Microsoft Windows dynamic link library providing TCP/IP port services to windows applications. These services allow users to run many Internet tools, such as Archie, Cello, ftp, Gopher, Mosaic and telnet on an MS-DOS/MS-Windows computer.

1.3.18 Windows — X11

X windows is a graphical environment for user application software. This environment supports distributed services using TCP ports numbered 6000+. This system is designed to remotely control and display processes across the network. It is possible for a malicious process to monitor or take control of the screen, mouse and keyboard devices. The opening of so many ports also allows the intruder an opportunity to use an open port to compromise a trusted network from an untrusted connection.

1.3.19 WAIS — Wide Area Information Servers

This is another of the WWW family of applications and protocols. (see http for vulnerability information)

1.3.20 WWW — World Wide Web

WWW is a new family of applications and protocols developed to provide users with a convenient method of accessing information across the Internet. (see http for vulnerability information)

1.3.21 HTTP — HyperText Transfer Protocol

HTTP is the application level protocol used to access world wide web (WWW) servers and information. Http is similar to the Gopher protocol; it transfers an information block and a data type description to the client. The client program (Internet Explorer, Mosaic, Lynx, and Netscape Navigator are common client applications) is responsible for interpreting the information and presenting it to the user in the correct form. As with the Gopher protocol, executable code is a valid data type to be retrieved. Some client programs can be configured to automatically interpret and process the information that is retrieved. If this protocol is supported care should be taken to configure client programs to prompt prior to executing any script or executable programs. Any executable code retrieved should be scanned for viruses, trojan horses or other malicious activities before being executed.

A potential solution is s-http, which is intended to be a secure version of the http protocol. The s-http protocol is still in development and further information will be sent automatically if an e-mail message is sent to: info@commerce.net. This protocol uses the PEM standard for mail and data exchange and provides the PEM capabilities above the http protocol. In this manner all data

exchanged between an http server and client can be both authenticated and/or encrypted as required.

Another standard in progress is the SSL or Secure Sockets Layer activity. This standard provides a security layer between the TCP and application protocol layers. SSL can be used to provide integrity (proof of sender) and confidentiality for any TCP data stream. This security protocol can be used with all applications level protocols not just http.

Section References

1. 0 INFOSEC Services, Communications Security Establishment, An Introduction to the Internet and Internet Security. Ottawa, Canada, September 1995.