Search

Forum

Home

Feedback

Credits

About Raj

Network Security

Home Network Security Cryptography Firewalls

Introduction

Can a networked system be truly secure? While that wired world has so much to offer security is one facet that people wonder about. From the most large and secure networked organisations to smaller companies have been hacked in spite of the network managers' efforts to attain the unreachable goal. It simply is not possible to render a networked system completely secure. This should be understood before applying the principles of security to the Internet or other networks. Proper security can be achieved only when the information is isolated, locked in a safe, surrounded by guards and rendered inaccessible. Some would argue that even then that there is not absolute security.

Networks were created to address the problems of data isolation in the early days of computing and networks became the communication bridges. But the explosion of information across the networks in the world has raised the specter of corporate espionage to new heights. Corporations today know that in the information age, information is power and those organizations who don't control their information aptly cannot gain competitive advantage.

Since security and privacy are the direct opposite of sharing and distribution and both of them have become the need of the day, network security must become a balance between providing appropriate access to those who need the information and safeguarding that information by denying access to those not authorized. In this impenetrable situation managers must plot a course between the risks of losing information so necessary to the enterprise's operation and the costs and constraints associated with an overly aggressive security solution.

Security Issues:
Before taking an in-depth look at security issues let us define the basic concepts involved in securing any object:

  • Vulnerability
    is a potential, a possibility, a weakness, an opening. Vulnerability by itself may not pose a serious problem. It may depend on what tools are available to exploit that weakness.
  • A threat
    is an action or tool that can exploit or expose a vulnerability and thereby compromise the integrity of a given system.
  • An attack
    shows the details of how a threat could be used to exploit vulnerability. Situations exist where vulnerabilities are known and threats are developed, but no reasonable attack can be conceived to use it on a vulnerable system.
  • Countermeasures
    are those actions taken to protect systems from attacks that threaten specific vulnerabilities. In the network security world, countermeasures consist of tools such as virus detection and cleansing, packet filtering, password authentication, and encryption.

A security scheme must be devised that must identify vulnerabilities and threats, anticipate potential attacks, assess whether they are likely to succeed or not, assess what the potential damage might be from successful attacks, and then implement countermeasures against those defined significant attacks. Hence security is all about identifying and managing risk, and security must be tailored to the needs, budget, and culture of each organization. The impact of an attack on an organisation would depend on the sensitivity of the data available on that system. Hence each organisation must consider the factors that should be defended and the ones that can be ignored and apply counter measures accordingly.

Security Threats:
Some generic security threats that organisations must deal with are the theft of information, the compromising or corruption of information, loss of confidentiality, and the disruption of service. Other threats which companies are dealing with is the introduction of malicious programs over the network or what may be termed as "computer virus" which fall under different categories like Trojan Horses, worms, and logic bombs as well as true viruses.

  • A Trojan horse
    is a program that contains harmful code and it disguises itself as an attractive or useful program that lures users to execute it, and in doing so, damages the user's system.
  • A logic bomb
    is a program that has a code that checks for certain conditions and when these conditions are met, it "detonates" to do its damage.
  • A worm
    is a self-contained program that replicates itself across the network and therefore multiplies its damage by infecting many different nodes.

Other viruses may have a code that plants a version of itself in any program it can modify. E.g.: a virus had "infected" Microsoft Word, all subsequent documents which are opened by the user may only be saved as template files.

These are however not mutually exclusive threats. A logic bomb could fix a virus under the specified conditions, as could a Trojan horse deliver a worm.

In addition to planting programs on the computer there are threats involving the theft or compromise of information while it is in transit between endpoints of a network like in the case of Snooping, in which an attacker simply eavesdrops on electronic communications.

Security Policy While there are multiple technologies that can be brought to bear on the issues there is no amount of technology that can overcome a poorly planned, poorly implemented or nonexistent security policy. The security of any information in any organization today is primarily dependent on the quality of the security policy and the processes by which that organization imposes on itself. If the security procedures are lax, are not enforced uniformly, and allow gaping security holes to exist, no amount of technology will restore the security breaches. have access to each level of security.

Authentication A primary tool in securing any computer system is the ability to recognize and verify the identity of users. This security feature is known as authentication. Traditionally, special names and secret passwords have been used to authenticate users, but as the anecdote above demonstrates, the password is only as good as the users' ability to keep it secret and protect it from being abused by unauthorized users.

There are three generally accepted techniques for authenticating users to host machines.

  1. Authentication by something the user knows. This is the password/username concept described above. There are two common approaches to password authentication, known as PAP and CHAP. PAP, which stands for Password Authentication Protocol, simply asks the requester to provide a "secret" password, and if the password provided is included in the user profiles, the requester is given access. CHAP (Challenge Handshake Authentication Protocol) takes the concept one step further by challenging the requester to encrypt a response to the challenge message. This, in effect, acts as a different password for each entry. Often, the CHAP mechanism is combined with an encrypting smart card, which uses an encryption key to encode the challenge message. Only if the challenge message is correct will the requester be granted access to the system.
  2. Authentication by something the user has. In this technique, the user is given some kind of token, such as a magnetic stripe card, key, the user has a smart card equipped with a computer chip which can generate an encrypted code back to the computer system.
  3. Authentication by physical characteristics. Here, the mechanism is to recognize some measure of the individual that presumably cannot be duplicated. Biometric techniques such as fingerprint ID, palm print ID, retinal scan, manual and digital signature, or voice recognition are used to validate the identity of the potential user.

Authentication is also necessary when two computers communicate with each other. For example, what should my host computer do when another computer asks to have a disk mounted which contains all of my organization's personnel data? How do I know that the requesting computer has a legitimate reason to access that information, and that it is not some external network hacker trying to steal information from my organization? In order to prevent such events, the Internet Engineering Task Force (IETF) has formed a working group by the name of IPSec (Internet Protocol Security). Additionally, there are a number of de facto standards - those which are developed by companies rather than by official committees, but which enjoy widespread acceptance. While many of these standards are under review and take some time to work their way through the approval process, two are worthy of mention here, IPSec's SKIP (Simple Key Management for Internet Protocol) and Livingston's RADIUS (Remote Authentication Dial In User Service).

SKIP is a technique for providing authentication and encryption security at the IP layer of the Internet architecture. It relies on the existence of an authority in the network which can issue a certificate to known trusted entities within the system. If an entity claiming to be a member of the system requests an action, the receiving computer system can have the requester present an encrypted certification that they are who they say they are. The certificate conforms to one of the methods of authentication, namely, a secret encoding technique and a secret key that is only available to trusted members of the system. The fact that SKIP operates at the very lowest protocol layers of the architecture has the advantage that it will protect all upstream applications as well, by preventing connections between systems which are not authorized. Since potential intruders cannot even establish connections, their ability to do malicious damage is severely restricted.

In the scenario depicted above, the Requesting Entity first gains a certificate by requesting one from the trusted certification authority (1), who validates the trustworthiness of the Requester by granting a certificate (2). Armed with this certificate, the Requester can now petition the host and presents the certificate along with the request of the host (3). The host, upon seeing the certificate will grant the information to the requester (4).

RADIUS is one of the more popular public network authentication protocols. The primary purpose of RADIUS is to offer centralized access control for remote dial-in users. RADIUS simplifies the administration of passwords, user names, profiles for remote users, and other security and accounting related information by placing all of the security in a central server, and issuing challenges to the user.

Integrity
Integrity refers to the completeness and fidelity of the message as it passes through the network. The key here is making sure that the data passes from the source to the destination without undetected alteration. Note the use of the word "undetected". We may not be able to thwart someone from tapping out messages and attempting to modify them as they move through the network, but we will be able to detect any attempt at modification and therefore reject the message if such a modification attempt is detectable.

If the order of transmitted data also is ensured, the service is termed connection-oriented integrity. The term anti-replay refers to a minimal form of connection-oriented integrity designed to detect and reject duplicated or very old data units.

Access Control
This concept relates to the accepting or rejecting of a particular requester to have access to some service or data in any given system. A service could be a program, a device such as a printer or a file system, and data could be a text file, an image, a collection of files, or any combination of the above. The real question is, what are the risks involved in allowing access to any of the system's services or information to individuals requesting such access? In some cases, such as the advertising Web page of an organization, the answer is that no damage could occur. The objective of such a page is precisely to spread the word about the organization, and therefore access control is not an issue. On the other hand, access control is a major issue if someone requests access to the file which contains the passwords for all of the users of the system.

It is therefore necessary to define a set of access rights, privileges, and authorizations, and assign these to appropriate people within the domain of the system under analysis.

The Open Systems Interconnection Model

The ISO has defined this as a standard for networking called the Open Systems Interconnection model (OSI). The model describes the flow of information between the physical network and applications.

Each layer communicates with the adjacent layer through an interface. The set of rules that the layers use to communicate logically with their counterpart on the other computer are called protocols. Data passes through each layer wrapped with a layer specific information. On the recipient computer each layer removes the layer specific information before passing it to the next layer.

The seven layers from bottom to top are:

  1. The Physical layer
    that is responsible for the physical transmission of the data across the physical network. This layer defines all the physical parts of the network such as cabling type, pin configuration etc.
  2. The Data Link Layer converts the bit stream received from the physical layer to the data frames or packets that contains data. If the frame is not acknowledges then the data link layer retransmits the frame.
  3. The Network layer addresses the messages and translates the logical address and name to the physical addresses. It routes packets from the source computer to the destination computer. The packets are broken up in to smaller pieces and reassembled at the destination computer.
  4. The Transport Layer ensures that messages are delivered without errors in a proper sequence without errors or losses.
  5. The Session Layer handles name recognition and other functions that permit two applications to communicate.
  6. The Presentation Layer translates the applications data into a commonly recognized format for transmission. The intermediate format is translated back into its original format at the receiving end. The network redirector works at this level. Data compression, encryption and other conversions take place at this level.
  7. The Application Layer services user applications like file transfer, messaging or database access.

Two Approaches to Security
Over time, two distinct approaches have evolved to applying security countermeasures: networked coupled security and application coupled security.

  1. Network Coupled Security
    In a Network coupled scheme, the focus is to make the network itself a trusted and secure subsystem so that the applications can assume the data being transmitted is safe, comes from authorized users and is being delivered to the appropriate recipients. If the network itself is secure, then the applications don't have to do anything special to operate in a secure environment they simply assume that all security functions are being performed by the network itself. This philosophy is very similar to that of the Internet and OSI architectures. In a secure network environment, applications can assume that the lower levels are handling the security.
  2. Application Coupled Security
    Proponents of this scheme argue that the application knows best what kind of security is required for that application. Therefore, control of the security aspects should rest in the application layer.

Different Tools for Different Layers
There is no shortage of technology available to secure an organization's Internet connections. More appropriate questions have to do with which tools to use at which layers to effect the secure communications.

Early on, router manufacturers recognized the key role they could play in this endeavor, and have placed filtering capabilities in their products to establish a primary front line of defense. A router's ability to examine and discriminate network traffic based on the IP packet addresses is known as a "screening router". Some advanced routers provide the capability to screen packets based upon other criteria such as the type of protocol (http, ftp, udp), the source address, and the destination address fields for a particular type of protocol. This way, a communications manager can build "profiles" of users who are allowed access to different applications based on the protocols. Such a case is shown below.

In this same figure, the packet filtering of the screening router is enhanced with authentication software which can add either password authentication or challenge authentication. In the scenario described above, simple filtering, even with profiles, cannot authenticate that the individual on the other end of the connection is in fact the individual who should have access to the applications and data residing on the server connected to the local LAN. Therefore, we need to add PAP/CHAP authentication to accomplish this, which provides another layer of security to the system.

The screening router either alone or in combination with authentication, is known as a "Firewall", because it keeps the "fire" of unsecured communications outside a protective "wall".

Another popular configuration, particularly for organizations which have WWW presence, is the use of a so called "bastion host". This concept consists of a double walled security layer. The outside wall, or perimeter wall, consists of a screening router which provides a first pass screen for the population of outside users who are allowed access to the Internet accessible applications in the Bastion Hosts, which sits in the "moat" between the two walls. A secondary router with or without authentication enhancements provides a second filter for those few privileged users who have access to the internal network. The bastion host concept is demonstrated below.

Protecting against unauthorized access to the data via controlling who is allowed to communicate with the protected servers will guard against many of the vulnerabilities of networks. However, these schemes do not prevent espionage and theft of the data which may be captured en route between two validated correspondents. This is an area where the addition of encryption and key management, as defined in the SKIP standard, will provide effective countermeasures. By encrypting the data and properly managing the keys to the encryption and decryption, data which is intercepted is rendered unusable, and at the same time unmodifiable, thereby adding a further layer of protection for the data.

Beyond this level, additional security is still available coupled to the applications, as mentioned earlier. For example, database systems also have authentication capabilities with user names and passwords as well as profiles, access control lists, and the like. It is possible to add yet more layers of security beyond those discussed so far by adding similar technologies to the application layer. In these schemes, applications could also issue challenge passwords beyond those required to gain access to the network, thereby increasing the security of the data by decreasing the odds that a single error (lost password, etc.) could compromise the application or the data. One common form of application level security is the use of Secure Socket Layer (SSL) directly coupled with the application. In order for SSL to work, both the Browser client and the Server application must support its use, making the application security aware. SSL is discussed further in the tools section of this paper.

Internet Security Toolkit
This section will describe the different technology tools available to deploy in developing security architecture for any given network.

Secure Sockets Layer (SSL)
The SSL is inserted between the TCP protocol and the application protocol. The SSL protocol operates in two phases. In the first phase, the sender and receiver agree on the read and write keys to be used, and then in the second phase data is encrypted using the keys chosen in the first phase. Authentication and secure key exchange is also achieved using the RSA public key encryption algorithm.

Hypertext Transport Protocol Secure (HTTPS)
By layering a version of SSL between HTTP and TCP, Netscape has developed a secure version of HTTP as well.

Proxy servers
A proxy server is a firewall implemented in a hardware unit such as a workstation on a NT server, rather than in a router. This device looks at all of the data in each packet, not just address and headers. In most cases, the proxy examines the content and replaces the network address in the packet with proxy destinations that are known to be secure. Besides hiding the network from the outside world, they provide more control over the actual data at the application level. However, because they inspect all of the data in each packet, there have been reports of some significant performance degradations in high traffic areas.

Encryption
Encryption is a technique as old as the Romans. It is simply the scrambling of the transmitted text using a set of rules (algorithms, which in today's world means mathematical manipulations) which is known to the recipient, but hopefully to no one else. The recipient can then use the same set of rules in reverse to unscramble the coded text and read the intended message.

There are two classes of encryption algorithms. They are:

  1. Symmetric key: A symmetric key algorithm is one where the same key is used both to encode and decode the message. The most popular symmetric key algorithm is the Data Encryption Standard (DES), whose major advantage is that it is fast and widely implemented. Its major limitations are its relatively small key size (56 bits), which weakens the security of the algorithm, and the need to exchange a secret key between the communicating parties, before secure communication can be established. A variant of DES, Triple-DES or 3DES is based on using DES three times (normally in an encrypt-decrypt-encrypt sequence with three different, unrelated keys). Many people consider Triple-DES to be much safer than plain DES.
  2. Asymmetric key: It is a surprising fact that there are some algorithms that are difficult to reverse, even when the algorithm, the key, and the encrypted data are all available, unless some other piece of information is known. A public key encryption system is based on an algorithm of this type. Two keys are generated. One is kept private and the other can be made public. Two systems that want to hold a secure conversation can exchange their public keys. When one system sends to the other, it will encrypt the message using the other system's public key. Even though an attacker might observe the exchange of keys and an encrypted message, the irreversiblity of the public key algorithm ensures that the data is secure.

The most popular public key algorithm is the RSA algorithm. (The name RSA is derived from the first letters of the surnames of the algorithms inventors, Ron Rivest, Adi Shamir, and Leonard Adleman).

Although public key algorithms solve the key distribution problem, they are much slower than symmetric key algorithms. When implemented in hardware, DES is up to 10,000 faster than RSA. If efficiency is required, a public key system can be used to securely exchange symmetric keys which can then be used for the bulk of the data transfer.

Application Gateways
All packets are addressed to an application on the gateway that relays the packets between the two communication points. In most application gateway implementations, additional packet filter machines are required to control and screen the traffic between the gateway and the networks. Typically, this is a use of bastion hosts. These are secure but inefficient, since they are not transparent to users and applications.

Screening Routers
One of the most cost efficient and ubiquitous techniques for securing a network, a screening router, sometimes known as a packet filtering router, will allow known users (known by their IP addresses) to connect to specified applications (determined by their port address), thereby limiting the connections of even those users allowed to enter through the firewall, and completely denying any connections to those not authorized to access any applications.

Authenticating Servers
Authenticating Servers are often used in conjunction with Screening Routers to provide authentication services, thus verifying that those users who claim to be originating from valid addresses are in fact who they say they are.

Firewalls

The term "firewall" has become a generic term which encompasses a spectrum of technologies intended to provide protection from communications attacks on an organization. Screening routers, application gateways, proxy servers, authentication servers, are all examples of firewalls in use today. It is possible, and often desirable, to combine these different technologies according to the needs of the organization and their budget limitations.
Home Network Security Cryptography Firewalls

 



Copyright © 1997-2000 Dr. Raj Mehta. All rights reserved.