SlideShare ist ein Scribd-Unternehmen logo
1 von 47
Network Security 10EC832
UNIT 6
Intruders, Intrusion Detection, Password Management.
6.1. INTRUDERS
One of the two most publicized threats to security is the intruder (the other isviruses), often referred
to as a hacker or cracker. In an important early study ofintrusion, Anderson[ANDE80] identified three
classes of intruders:
 Masquerader: An individual who is not authorized to use the computer andwhopenetrates a
system’s access controls to exploit a legitimate user’s account
 Misfeasor: A legitimate user who accesses data, programs, or resources for which such access
is not authorized, or who is authorized for such access but misuses his or her privileges .
 Clandestine user: An individual who seizes supervisory control of the system and uses this
control to evade auditing and access controls or to suppress audit collection
The masquerader is likely to be an outsider; the misfeasor generally is an insider;and theclandestine
user can be either an outsider or an insider.
Intruder attacks range from the benign to the serious. At the benign end of thescale, there are many
people who simply wish to explore internets and see what isout there. At the serious end are individuals
who are attempting to read privilegeddata, perform unauthorized modifications to data, or disrupt the
system. the following are examples of intrusion:
Performing a remote root compromise of an e-mail server
 Defacing a Web server
 Guessing and cracking passwords
 Copying a database containing credit card numbers
 Viewing sensitive data, including payroll records and medical information,
 without authorization
 Running a packet sniffer on a workstation to capture usernames and passwords
 Using a permission error on an anonymous FTP server to distribute pirated
Network Security 10EC832
 software and music files
 Dialing into an unsecured modem and gaining internal network access
 Posing as an executive, calling the help desk, resetting the executive’s e-mail
 password, and learning the new password
 Using an unattended, logged-in workstation without permission
Intruder BehaviorPatterns
The techniques and behavior patterns of intruders are constantly shifting, to discovered weaknesses
and to evade detection and countermeasures. Even so, intruders typically follow one of a number of
recognizable behavior patterns, and these patterns typically differ from those of ordinary users. In the
following, we look at three broad examples of intruder behavior patterns, to give the reader some feel for
the challenge facing the security administrator. Table 20.1, based on [RADC04],summarizes the
behavior.
HACKERS Traditionally, those who hack into computers do so for the thrill of it or for status. The
hacking community is a strong meritocracy in which status is determined by level of competence. Thus,
attackers often look for targets of opportunity and then share the information with others. A typical
example is a break-in at a large financial institution reported in [RADC04]. The intruder took advantage
of the fact that the corporate network was running unprotected services, some of which were not even
needed. In this case, the key to the break-in was the pc Anywhere application. The manufacturer,
Symantec, advertises this program as a remote control solution that enables secure connection to remote
devices. But the attacker had an easy time gaining access to pc Anywhere; the administrator used the
same three-letter username and password for the program. In this case, there was no intrusion detection
system on the 700-node corporate network. The intruder was only discovered when a vice president
walked into her office and saw the cursor moving files around on her Windows workstation.
Some Examples of Intruder Patterns of Behavior
(a) Hacker
 Select the target using IP lookup tools such as NS Lookup, Dig, and others.
 Map network for accessible services using tools such as NMAP.
 Identify potentially vulnerable services (in this case, pcAnywhere).
 Brute force (guess) pc Anywhere password.
 Install remote administration tool called Dame Ware.
 Wait for administrator to log on and capture his password.
Network Security 10EC832
 Use that password to access remainder of network.
Intrusion Techniques
The objective of the intruder is to gain access to a system or to increase the range of privileges
accessible on a system. Most initial attacks use system or software vulnerabilities that allow a user to
execute code that opens a back door into the system. Alternatively, the intruder attempts to acquire
information that should have been protected. In some cases, this information is in the form of a user
password. With knowledge of some other user’s password, an intruder can log in to a system and exercise
all the privileges accorded to the legitimate user.
Typically, a system must maintain a file that associates a password with each authorized user. If such
a file is stored with no protection, then it is an easy matter to gain access to it and learn passwords. The
password file can be protected in one of two ways:
 One-way function: The system stores only the value of a function based on the user’s
password. When the user presents a password, the system transforms that password and
compares it with the stored value. In practice, the system usually performs a one- way
transformation (not reversible) in which the password is used to generate a key for the one-ay
function and in which a fixed-length output is produced.
 Access control: Access to the password file is limited to one or a very few accounts.
If one or both of these countermeasures are in place, some effort is needed fora potential intruder to
learn passwords. On the basis of a survey of the literature and interviews with a number of password
crackers, [ALVA90] reports the following techniques for learning passwords:
 Try default passwords used with standard accounts that are shipped with the system. Many
administrators do not bother to change these defaults.
Network Security 10EC832
 Exhaustively try all short passwords (those of one to three characters).
 Try words in the system’s online dictionary or a list of likely passwords. Examples of the
latter are readily available on hacker bulletin boards.
 Collect information about users, such as their full names, the names of their spouse and
children, pictures in their office, and books in their office that are related to hobbies.
 Try users’ phone numbers, Social Security numbers, and room numbers.
 Try all legitimate license plate numbers for this state.
 Use a Trojan horse (described in Chapter 21) to bypass restrictions on access.
 Tap the line between a remote user and the host system.
6.2.INTRUSION DETECTION
Inevitably, the best intrusion prevention system will fail. A system’s second line of defense is
intrusion detection, and this has been the focus of much research in recent years. This interest is motivated
by a number of considerations, including the following:
If an intrusion is detected quickly enough, the intruder can be identified and ejected from the system
before any damage is done or any data are compromised. Even if the detection is not sufficiently
timely to preempt the intruder, the sooner that the intrusion is detected, the less the amount of damage
and the more quickly that recovery can be achieved.
An effective intrusion detection system can serve as a deterrent, so acting to prevent Intrusions.
Intrusion detection enables the collection of information about intrusion techniques that can be used
to strengthen the intrusion prevention facility.
Intrusion detection is based on the assumption that the behavior of the intruder differs from that of a
legitimate user in ways that can be quantified. Of course, we cannot expect that there will be a crisp,
exact distinction between an attack by an intruder and the normal use of resources by an authorized user.
Rather, we must expect that there will be some overlap.
Figure 6.1 suggests, in very abstract terms, the nature of the task confronting the designer of an
intrusion detection system. Although the typical behavior of an intruder differs from the typical behavior
of an authorized user, there is an overlap in these behaviors. Thus, a loose interpretation of intruder
behavior, which will catch more intruders, will also lead to a number of “false positives,” or
Network Security 10EC832
authorized users identified as intruders. On the other hand, an attempt to limit false positives by a tight
interpretation of intruder behavior will lead to an increase in false negatives, or intruders not identified
as intruders. Thus, there is an element of compromise and art in the practice of intrusion detection.
In Anderson’s study [ANDE80], it was postulated that one could, with reasonable confidence,
distinguish between a masquerader and a legitimate user. Patterns of legitimate user behavior can be
established by observing past history, and significant deviation from such patterns can be detected.
Anderson suggests that the task of detecting a misfeasor(legitimate user performing in an unauthorized
fashion) is more difficult, in that the distinction between abnormal and normal behavior maybe small.
Anderson concluded that such violations would be undetectable solely through the search for anomalous
behavior. However, misfeasor behavior might nevertheless be detectable by intelligent definition of the
class of conditions that suggest unauthorized use. Finally, the detection of the clandestine user was felt
to be beyond the scope of purely automated techniques. These observations, which were made in 1980,
remain true today.
Figure 6.1: Profiles of Behavior of Intruders and Authorized Users
Identifies the following approaches to intrusion detection:
1. Statistical anomaly detection: Involves the collection of data relating to the behavior of
legitimate users over a period of time. Then statistical tests are applied to observed
Network Security 10EC832
Behavior to determine with a high level of confidence whether that behavior is not
legitimate user behavior.
 Threshold detection: This approach involves defining thresholds, independent of
user, for the frequency of occurrence of various events.
 Profile based: A profile of the activity of each user is developed and used to detect
changes in the behavior of individual accounts.
2. Rule-based detection: Involves an attempt to define a set of rules that can be used to decide
that a given behavior is that of an intruder.
 Anomaly detection: Rules are developed to detect deviation from previous usage
patterns.
 Penetration identification: An expert system approach that searches for suspicious
behavior.
Audit Records
A fundamental tool for intrusion detection is the audit record. Some record of ongoing activity by
users must be maintained as input to an intrusion detection system. Basically, two plans are used:
 Native audit records: Virtually all multiuser operating systems include accounting software
that collects information on user activity. The advantage of using this information is that no
additional collection software is needed. The disadvantage is that the native audit records may
not contain the needed information or may not contain it in a convenient form.
 Detection-specific audit records: A collection facility can be implemented that generates
audit records containing only that information required by the intrusion detection system. One
advantage of such an approach is that it could be made vendor independent and ported to a
variety of systems. The disadvantage is the extra overhead involved in having, in effect, two
accounting packages running on a machine.
Each audit record contains the following fields:
 Subject: Initiators of actions. A subject is typically a terminal user but might also be a process
acting on behalf of users or groups of users. All activity arises through commands issued by
subjects. Subjects may be grouped into different access classes, and these classes may overlap.
 Action: Operation performed by the subject on or with an object; for example, login, read,
perform I/O, execute.
Network Security 10EC832
 Object: Receptors of actions. Examples include files, programs, messages ,records, terminals,
printers, and user- or program-created structures When a subject is the recipient of an action,
such as electronic mail, then that subject is considered an object. Objects may be grouped by
type. Object granularity may vary by object type and by environment. For example, database
actions may be audited for the database as a whole or at the record level.
 Exception-Condition: Denotes which, if any, exception condition is raised on return.
 Resource-Usage:A list of quantitative elements in which each element gives the amount used
of some resource (e.g., number of lines printed or displayed, number of records read or
written, processor time, I/O units used, session elapsed time).
 Time-Stamp: Unique time-and-date stamp identifying when the action took place.
Most user operations are made up of a number of elementary actions. For example, a file copy
involves the execution of the user command, which includes doing access validation and setting up the
copy, plus the read from one file, plus the write to another file. Consider the command
COPY GAME.EXE TO <Library>GAME.EXE
Issued by Smith to copy an executable file GAME from the current directory to the<Library>
directory .The following audit records may be generated:
In this case, the copy is aborted because Smith does not have write permission to<Library>.
The decomposition of a user operation into elementary actions has three advantages:
Because objects are the protectable entities in a system, the use of elementary actions enables an
audit of all behavior affecting an object. Thus, the system can detect attempted subversions of access
controls (by noting an abnormality in the number of exception conditions returned) and can detect
successful subversions by noting an abnormality in the set of objects accessible to the subject.
Network Security 10EC832
Single-object, single-action audit records simplify the model and the implementation.
Because of the simple, uniform structure of the detection-specific audit records, it may be relatively
easy to obtain this information or at least part of it by a straightforward mapping from existing native
audit records to the detection-specific audit records.
StatisticalAnomaly Detection
As was mentioned, statistical anomaly detection techniques fall into two broad categories: threshold
detection and profile-based systems. Threshold detection involves counting the number of occurrences
of a specific event type over an interval of time. If the count surpasses what is considered a reasonable
number that one might expect to occur, then intrusion is assumed.
Threshold analysis, by itself, is a crude and ineffective detector of even moderately sophisticated
attacks. Both the threshold and the time interval must be determined. Because of the variability across
users, such thresholds are likely to generate either a lot of false positives or a lot of false negatives.
However, simple threshold detectors may be useful in conjunction with more sophisticated techniques.
Profile-based anomaly detection focuses on characterizing the past behavior of individual users or
related groups of users and then detecting significant deviations .A profile may consist of a set of
parameters, so that deviation on just a single parameter may not be sufficient in itself to signal an alert.
The foundation of this approach is an analysis of audit records. The audit records provide input to the
intrusion detection function in two ways. First, the designer must decide on a number of quantitative
metrics that can be used to measure user behavior. An analysis of audit records over a period of time can
be used to determine the activity profile of the average user. Thus, the audit records serve to define typical
behavior. Second, current audit records are the input used to detect intrusion. That is, the intrusion
detection model analyzes incoming audit records to determine deviation from average behavior.
Examples of metrics that are useful for profile-based intrusion detection are the following:
Counter: A nonnegative integer that may be incremented but not decremented until it is reset by
management action. Typically, a count of certain event types is kept over a particular period of time.
Examples include the number of logins by a single user during an hour, the number of times a
Network Security 10EC832
given command is executed during a single user session, and the number of password failures
during a minute.
Gauge: A nonnegative integer that may be incremented or decremented. Typically, a gauge is used
to measure the current value of some entity. Examples include the number of logical connections
assigned to a user application and the number of outgoing messages queued for a user process.
Interval timer: The length of time between two related events. An example is the length of time
between successive logins to an account.
Resource utilization: Quantity of resources consumed during a specified period. Examples include
the number of pages printed during a user session and total time consumed by a program execution.
Given these general metrics, various tests can be performed to determine whether current activity fits
within acceptable limits. [DENN87] lists the following approaches that may be taken:
Mean and standard deviation
 Multivariate
 Markov process
 Time series
 Operational
The simplest statistical test is to measure the mean and standard deviation of a parameter over some
historical period. This gives a reflection of the average behavior and its variability. The use of mean and
standard deviation is applicable to a wide variety of counters ,timers, and resource measures. But these
measures, by themselves ,are typically too crude for intrusion detection purposes.
A multivariate model is based on correlations between two or more variables. Intruder behavior may
be characterized with greater confidence by considering such correlations (for example, processor time
and resource usage, or login frequency and session elapsed time).
A Markov process model is used to establish transition probabilities among various states. As an
example, this model might be used to look at transitions between certain commands.
A time series model focuses on time intervals, looking for sequences of events that happen too rapidly
or too slowly. A variety of statistical tests can be applied to characterize abnormal timing.
Network Security 10EC832
Finally, an operational model is based on a judgment of what is considered abnormal, rather than an
automated analysis of past audit records. Typically, fixed limits are defined and intrusion is suspected for
an observation that is outside the limits. This type of approach works best where intruder behavior can
be deduced from certain types of activities. For example, a large number of login attempts over a short
period suggests an attempted intrusion.
As an example of the use of these various metrics and models, Table, shows various measures
considered or tested for the Stanford Research Institute(SRI) intrusion detection system (IDES)
[DENN87, JAVI91, LUNT88].The main advantage of the use of statistical profiles is that a prior
knowledge of security flaws is not required. The detector program learns what is “normal” behavior and
then looks for deviations. The approach is not based on system-dependent characteristics and
vulnerabilities. Thus, it should be readily portable among a variety of systems.
Network Security 10EC832
Table 7.1: Measures That May Be Used for Intrusion Detection
System administrators and security analysts to collect a suite of known penetration scenarios and key
events that threaten the security of the target system. A simple example of the type of rules that can be
used is found in NIDX, a nearly system that used heuristic rules that can be used to assign degrees of
suspicion to activities [BAUE88]. Example heuristics are the following:
 Users should not read files in other users’ personal directories.
 Users must not write other users’ files.
Users who log in after hours often access the same files they used earlier.
Network Security 10EC832
Users do not generally open disk devices directly but rely on higher-level operating system utilities.
Users should not be logged in more than once to the same system.
Users do not make copies of system programs.
The Base-Rate Fallacy
To be of practical use, an intrusion detection system should detect a substantial percentage of
intrusions while keeping the false alarm rate at an acceptable level .If only a modest percentage of actual
intrusions are detected, the system provides a false sense of security. On the other hand, if the system
frequently triggers an alert when there is no intrusion (a false alarm), then either system managers will
begin to ignore the alarms, or much time will be wasted analyzing the false alarms.
Unfortunately, because of the nature of the probabilities involved, it is very difficult to meet the
standard of high rate of detections with a low rate of false alarms. In general, if the actual numbers of
intrusions is low compared to the number of legitimate uses of a system, then the false alarm rate will be
high unless the test is extremely discriminating. A study of existing intrusion detection systems, reported
in [AXEL00], indicated that current systems have not overcome the problem of the base-rate fallacy. See
Appendix 20A for a brief background on the mathematics of this problem.
Distributed Intrusion Detection
Until recently, work on intrusion detection systems focused on single-system standalone facilities.
The typical organization, however, needs to defend a distributed collection of hosts supported by a LAN
or internetwork. Although it is possible to mount a defense by using stand-alone intrusion detection
systems on each host, amore effective defense can be achieved by coordination and cooperation among
intrusion detection systems across the network .Porras points out the following major issues in the design
of a distributed intrusion detection system [PORR92]:
A distributed intrusion detection system may need to deal with different audit record formats. In a
heterogeneous environment, different systems will employ different native audit collection systems
and, if using intrusion detection, may employ different formats for security-related audit records.
One or more nodes in the network will serve as collection and analysis points for the data from the
systems on the network. Thus, either raw audit data or summary data must be transmitted across the
network. Therefore, there is a requirement to assure the integrity and confidentiality of these data.
Integrity is required to prevent an intruder from masking his or her activities by altering the
Network Security 10EC832
transmitted audit information. Confidentiality is required because the transmitted audit information
could be valuable.
Either a centralized or decentralized architecture can be used. With a centralized architecture, there
is a single central point of collection and analysis of all audit data. This eases the task of correlating
incoming reports but creates a potential bottleneck and single point of failure. With a decentralized
architecture, there are more than one analysis centers, but these must coordinate their activities and
exchange information.
Fig: 6.2: Architecture for Distributed Intrusion Detection
A good example of a distributed intrusion detection system is one developed at the university of
California at Davis [HEBE92, SNAP91]. Figure 20.2 shows the over all architecture, which consists of
three main components:
• Host agent module: An audit collection module operating as a background process on a monitored
system. Its purpose is to collect data on security related events on the host and transmit these to the central
manager.
• LAN monitor agent module: Operates in the same fashion as a host agent module except that it
analyzes LAN traffic and reports the results to the central manager.
• Central manager module: Receives reports from LAN monitor and host agents and processes and
correlates these reports to detect intrusion. The scheme is designed to be independent of any operating
system or system auditing implementation. Figure 20.3 [SNAP91] shows the general approach that is
taken. The agent captures each audit record produced by the native audit collection system .A filter is
Network Security 10EC832
applied that retains only those records that are of security interest. These records are then reformatted
into a standardized format referred to as the host audit record (HAR). Next, a template-driven logic module
analyzes the records for suspicious activity. At the lowest level, the agent scans for notable events that are of
interest independent of any past events.Examples include failed file accesses,accessingsystem files, and changing
a file’s access control. At the next higher level, the agent looks for sequences of events, such as known attack
patterns (signatures). Finally, the agent looks for anomalous behavior of an individual user based on a historical
profile of that user, such as number of programs executed, number of files accessed.
Fig: 6.2: Agent Architecture
When suspicious activity is detected, an alert is sent to the central manager. The central manager includes
an expert system that can draw inferences from received data. The manager may also query individual
systems for copies of HAR sto correlate with those from other agents.
The LAN monitor agent also supplies information to the central manager. The LAN monitor agent
audits host-host connections, services used, and volume of traffic .It searches for significant events, such
as sudden changes in network load, the use of security-related services, and network activities such as
rlogin.
The architecture depicted in Figures 20.2 and 20.3 is quite general and flexible .It offers a foundation
for a machine-independent approach that can expand from stand-alone intrusion detection to a system
that is able to correlate activity from a number of sites and networks to detect suspicious activity that
would otherwise remain undetected.
Network Security 10EC832
Honeypots
A relatively recent innovation in intrusion detection technology is the honeypot. Honeypots are decoy
systems that are designed to lure a potential attacker away from critical systems. Honeypots are designed
to
 Divert an attacker from accessing critical systems
 Collect information about the attacker’s activity
 Encourage the attacker to stay on the system long enough for administrators to respond
These systems are filled with fabricated information designed to appear valuable but that a legitimate
user of the system wouldn’t access. Thus, any access to the honeypot is suspect. The system is
instrumented with sensitive monitors and event loggers that detect these accesses and collect information
about the attacker’s activities. Because any attack against the honeypot is made to seem successful,
administrators have time to mobilize and log and track the attacker without ever exposing productive
systems.
Initial efforts involved a single honeypot computer with IP addresses designed to attract hackers.
More recent research has focused on building entire honeypot networks that emulate an enterprise,
possibly with actual or simulated traffic and data. Once hackers are within the network, administrators
can observe their behavior in detail and figure out defenses.
Intrusion DetectionExchange Format
To facilitate the development of distributed intrusion detection systems that can function across a
wide range of platforms and environments, standards are needed to support interoperability. Such
standards are the focus of the IETF Intrusion Detection Working Group. The purpose of the working
group is to define data formats and exchange procedures for sharing information of interest to intrusion
detection and response systems and to management systems that may need to interact with them. The
outputs of this working group include:
 A requirements document, which describes the high-level functional requirements for
communication between intrusion detection systems and requirements for communication
between intrusion detection systems and with management systems, including the rationale
for those requirements. Scenarios will be used to illustrate the requirements.
Network Security 10EC832
 A common intrusion language specification, which describes data formats that satisfy the
requirements.
 A framework document, which identifies existing protocols best used for communication
between intrusion detection systems, and describes how the devised data formats relate to
them. As of this writing, all of these documents are in an Internet-draft document stage.
6.3. PASSWORD MANAGEMENT
PasswordProtection
The front line of defense against intruders is the password system. Virtually all multiuser systems
require that a user provide not only a name or identifier (ID) but also a password. The password serves
to authenticate the ID of the individual logging on to the system. In turn, the ID provides security in the
following ways:
 The ID determines whether the user is authorized to gain access to a system .In some systems,
only those who already have an ID filed on the system are allowed to gain access.
 The ID determines the privileges accorded to the user .A few users may have supervisory or
“super user” status that enables them to read files and perform functions that are especially
protected by the operating system. Some systems have guest or anonymous accounts, and
users of these accounts have more limited privileges than others.
 The ID is used in what is referred to as discretionary access control. For example, by listing
the IDs of the other users, a user may grant permission to them to read files owned by that
user.
THE VULNERABILITY OF PASSWORDS To understand the nature of the threat to password-
based systems, let us consider a scheme that is widely used on UNIX, in which passwords are never
stored in the clear. Rather, the following procedure is employed (Figure 20.4a). Each user selects a
password of up to eight printable characters in length. This is converted into a 56-bit value (using 7-bit
Network Security 10EC832
ASCII) that serves as the key input to an encryption routine. The encryption routine, known as crypt, is
based on DES. The DES algorithm is modified using a 12-bit “salt” value. Typically, this value is related
to the time at which the password is assigned to the user. The modified DES algorithm is exercised with
a data input consisting of a 64-bit block of zeros. The output of the algorithm then serves as input for a
second encryption. This process is repeated for a total of 25 encryptions. The resulting 64-bit output is
then translated into an 11-character sequence. The hashed password is then stored, together with a
plaintext copy of the salt, in the password file for the corresponding user ID. This method has been shown
to be secure against a variety of cryptanalytic attacks [WAGN00].
The salt serves three purposes:
 It prevents duplicate passwords from being visible in the password file. Even if two users
choose the same password, those passwords will be assigned at different times. Hence, the
“extended” passwords of the two users will differ.
 It effectively increases the length of the password without requiring the user to remember two
additional characters. Hence, the number of possible passwords is increased by a factor of
4096, increasing the difficulty of guessing a password.
 It prevents the use of a hardware implementation of DES, which would ease the difficulty of
a brute-force guessing attack.
When a user attempts to log on to a UNIX system, the user provides an ID and a password. The
operating system uses the ID to index into the password file and retrieve the plaintext salt and the
encrypted password. The salt and user-supplied password are used as input to the encryption routine. If
the result matches the stored value, the password is accepted.
The encryption routine is designed to discourage guessing attacks. Software implementations of DES
are slow compared to hardware versions, and the use of25 iterations multiplies the time required by 25.
However, since the original design of this algorithm, two changes have occurred. First, newer
implementations of the algorithm itself have resulted in speedups.
Network Security 10EC832
(a) Loading a new password
(b) Verifying a password
Fig 6.4: UNIX Password Scheme
In a reasonably short time by using a more efficient encryption algorithm than the standard one stored
on the UNIX systems that it attacked. Second, hardware performance continues to increase, so that any
software algorithm executes more quickly.
Thus, there are two threats to the UNIX password scheme. First, a user can gain access on a machine
using a guest account or by some other means and then run a password guessing program, called a
password cracker, on that machine. The attacker should be able to check hundreds and perhaps thousands
of possible passwords with little resource consumption. In addition, if an opponent is able to obtain a
copy of the password file, then a cracker program can be run on another machine at leisure. This enables
the opponent to run through many thousands of possible passwords in a reasonable period.
Network Security 10EC832
As an example, a password cracker was reported on the Internet in August 1993 [MADS93]. Using a
Thinking Machines Corporation parallel computer, a performance of 1560 encryptions per second per
vector unit was achieved. With four vector units per processing node (a standard configuration), this
works out to 800,000 encryptions per second on a 128-node machine (which is a modest size) and 6.4
million encryptions per second on a 1024-node machine. Even these stupendous guessing rates do not
yet make it feasible for an attacker to use a dumb brute-force technique of trying all possible combinations
of characters to discover a password. Instead, password crackers rely on the fact that some people choose
easily guessable passwords.
Some users, when permitted to choose their own password, pick one that is absurdly short. The results
of one study at Purdue University are shown in Table 20.4. The study observed password change choices
on 54 machines, representing approximately 7000 user accounts. Almost 3% of the passwords were three
characters or fewer in length. An attacker could begin the attack by exhaustively testing all possible
passwords of length 3 or fewer .A simple remedy is for the system to reject any password choice of fewer
than, say, six characters or even to require that all passwords be exactly eight characters in length. Most
users would not complain about such a restriction.
Password length is only part of the problem. Many people, when permitted to choose their own
password, pick a password that is guessable, such as their own name, their street name, a common
dictionary word, and so forth. This makes the job of password cracking straightforward. The cracker
simply has to test the password file against lists of likely passwords. Because many people use guessable
passwords, such a strategy should succeed on virtually all systems.
One demonstration of the effectiveness of guessing is reported in [KLEI90]. From a variety of
sources, the author collected UNIX password files, containing nearly 14,000 encrypted passwords. The
result, which the author rightly characterizes .
 Try various permutations on the words from step 2. This included making the first letter uppercase
or a control character, making the entire word uppercase, reversing the word, changing the letter “o”
to the digit “zero,” and so on. These permutations added another 1 million words to the list.
Try various capitalization permutations on the words from step 2 that were not considered in step3.
This added almost 2 million additional words to the list. Thus, the test involved in the neighborhood
of 3 million words. Using the fastest Thinking Machines implementation listed earlier, the time to
Network Security 10EC832
encrypt all these words for all possible salt values is under an hour. Keep in mind that such a thorough
search could produce a success rate of about 25%, whereas even a single hit may be enough to gain
a wide range of privileges on a system.
ACCESS CONTROL: One way to thwart a password attack is to deny the opponent access to the
password file. If the encrypted password portion of the file is accessible only by a privileged user, then
the opponent cannot read it without already knowing the password of a privileged user. [SPAF92a] points
out several flaws in this strategy:• Many systems, including most UNIX systems, are susceptible to
unanticipated break-ins. Once an attacker has gained access by some means, he or she may wish to obtain
a collection of passwords in order to use different accounts for different logon sessions to decrease the
risk of detection. Or a user with an account may desire another user’s account to access privileged data
An accident of protection might render the password file readable, thus compromising all the accounts.
Some of the users have accounts on other machines in other protection domains, and they use the
same password. Thus, if the passwords could be read by anyone on one machine, a machine in another
location might be compromised. Thus, a more effective strategy would be to force users to select
passwords that are difficult to guess.
PasswordSelectionStrategies
The lesson from the two experiments just described (Tables 20.4 and 20.5) is that ,left to their own
devices, many users choose a password that is too short or too easy to guess. At the other extreme, if
users are assigned passwords consisting of eight randomly selected printable characters, password
cracking is effectively impossible. But it would be almost as impossible for most users to remember their
passwords. Fortunately, even if we limit the password universe to strings of characters that are reasonably
memorable, the size of the universe is still too large to permit practical cracking. Our goal, then, is to
eliminate guessable passwords while allowing the user to select a password that is memorable. Four basic
techniques are in use:
 User education
 Computer-generated passwords
 Reactive password checking
 Proactive password checking
Network Security 10EC832
Users can be told the importance of using hard-to-guess passwords and can be provided with
guidelines for selecting strong passwords. This user education strategy is unlikely to succeed at most
installations, particularly where there is a large user population or a lot of turnover. Many users will
simply ignore the guidelines. Others may not be good judges of what is a strong password. For example,
many users (mistakenly) believe that reversing a word or capitalizing the last letter makes a password un
guessable
Computer-generated passwords also have problems. If the passwords are quite random in nature,
users will not be able to remember them. Even if the password is pronounceable, the user may have
difficulty remembering it and so be tempted to write it down. In general, computer-generated password
schemes have a history of poor acceptance by users. FIPS PUB 181 defines one of the best-designed
automated password generators. The standard includes not only a description of the approach but also a
complete listing of the C source code of the algorithm. The algorithm generates words by forming
pronounceable syllables and concatenating them to form a word. A random number generator produces
a random stream of characters used to construct the syllables and words.
A reactive password checking strategy is one in which the system periodically runs its own
password cracker to find guessable passwords. The system cancels any passwords that are guessed and
notifies the user. This tactic has a number of drawbacks .First, it is resource intensive if the job is done
right. Because a determined opponent who is able to steal a password file can devote full CPU time to
the task for hours or even days, an effective reactive password checker is at a distinct disadvantage
.Furthermore, any existing passwords remain vulnerable until the reactive password checker finds them.
The most promising approach to improved password security is a proactive password checker. In this
scheme, a user is allowed to select his or her own password. However, at the time of selection, the system
checks to see if the password is allowable and, if not, rejects it. Such checkers are based on the philosophy
that, with sufficient guidance from the system, users can select memorable passwords from a fairly large
password space that are not likely to be guessed in a dictionary attack.
The trick with a proactive password checker is to strike a balance between user acceptability and
strength. If the system rejects too many passwords, users will complain that it is too hard to select a
password. If the system uses some simple algorithm to define what is acceptable, this provides guidance
Network Security 10EC832
to password crackers to refine their guessing technique. In the remainder of this subsection, we look at
possible approaches to proactive password checking.
The first approach is a simple system for rule enforcement. For example, the following rules could
be enforced:
 All passwords must be at least eight characters long.
 In the first eight characters, the passwords must include at least one each of uppercase,
lowercase, numeric digits, and punctuation marks.
These rules could be coupled with advice to the user. Although this approach is superior to simply
educating users, it may not be sufficient to thwart password crackers. This scheme alerts crackers as to
which passwords not to try but may still make it possible to do password cracking.
Another possible procedure is simply to compile a large dictionary of possible“ bad” passwords.
When a user selects a password, the system checks to make sure that it is not on the disapproved list.
There are two problems with this approach:
 Space: The dictionary must be very large to be effective. For example, the dictionary used in
the Purdue study [SPAF92a] occupies more than 30 megabytes of storage.
 Time: The time required to search a large dictionary may itself be large. In addition, to check
for likely permutations of dictionary words, either those words most be included in the dictionary, making
it truly huge, or each search must also involve considerable processing.
Network Security 10EC832
UNIT 7
Viruses and related Threats, Virus Countermeasures
7.1. MALICIOUS SOFTWARE
The terminology in this area presents problems because of a lack of universal agreement on all of
the terms and because some of the categories overlap.
Malicious software can be divided into two categories: those that need a host program, and those that
are independent. The former, referred to as parasitic, are essentially fragments of programs that
cannot exist independently of some actual application program, utility, or system program. Viruses,
logic bombs.
The taxonomy of malicious software as follows:
Fig 7.1: Taxonomy of Malicious Software
Network Security 10EC832
Table 7.1 Terminology of Malicious Programs
and backdoors are examples. Independent malware is a self-contained program that can be scheduled
and run by the operating system.Worms and bot programs are examples.
We can also differentiate between those software threats that do not replicate and those that do. The
former are programs or fragments of programs that are activated by a trigger. Examples are logic
bombs, backdoors, and bot programs. The latter consist of either a program fragment or an
independent program that, when executed, may produce one or more copies of itself to be activated
later on the same system or some other system.Viruses and worms are examples.
Network Security 10EC832
In the remainder of this section, we briefly survey some of the key categories of malicious software,
deferring discussion on the key topics of viruses and worms until the following sections.
Backdoor
A backdoor, also known as a trapdoor, is a secret entry point into a program that allows someone
who is aware of the backdoor to gain access without going through the usual security access
procedures. Programmers have used backdoors legitimately for many years to debug and test
programs; such a backdoor is called a maintenance hook. This usually is done when the programmer
is developing an application that has an authentication procedure, or a long setup, requiring the user
to enter many different values to run the application. To debug the program, the developer may wish
to gain special privileges or to avoid all the necessary setup and authentication. The programmer may
also want to ensure that there is a method of activating the program should something be wrong with
the authentication procedure that is being built into the application. The backdoor is code that
recognizes some special sequence of input or is triggered by being run from a certain user ID or by
an unlikely sequence of events.
It is difficult to implement operating system controls for backdoors. Security measures must focus
on the program development and software update activities.
Logic Bomb
One of the oldest types of program threat, predating viruses and worms, is the logic bomb.The logic
bomb is code embedded in some legitimate program that is set to “explode” when certain conditions
are met. Examples of conditions that can be used as triggers for a logic bomb are the presence or
absence of certain files, a particular day of the week or date, or a particular user running the
application. Once triggered, a bomb may alter or delete data or entire files, cause a machine halt, or
do some other damage.
Trojan Horses
A Trojan horse is a useful, or apparently useful, program or command procedure containing hidden
code that, when invoked, performs some unwanted or harmful function.
Trojan horse programs can be used to accomplish functions indirectly that an unauthorized user could
not accomplish directly. For example, to gain access to the files of another user on a shared system,
a user could create a Trojan horse program that, when executed, changes the invoking
Network Security 10EC832
user’s file permissions so that the files are readable by any user. The author could then induce users
to run the program by placing it in a common directory and naming it such that it appears to be a
useful utility program or application. An example is a program that ostensibly produces a listing of
the user’s files in a desirable format. After another user has run the program, the author of the program
can then access the information in the user’s files. An example of a Trojan horse program that would
be difficult to detect is a compiler that has been modified to insert additional code into certain
programs as they are compiled, such as a system login program [THOM84]. The code creates a
backdoor in the login program that permits the author to log on to the system using a special
password.This Trojan horse can never be discovered by reading the source code of the login program.
Trojan horses fit into one of three models:
• Continuing to perform the function of the original program and additionally performing a separate
malicious activity
• Continuing to perform the function of the original program but modifying the function to perform
malicious activity (e.g., a Trojan horse version of a login program that collects passwords) or to
disguise other malicious activity (e.g., a Trojan horse version of a process listing program that does
not display certain processes that are malicious)
• Performing a malicious function that completely replaces the function of the original program
Mobile Code
Mobile code refers to programs (e.g., script, macro, or other portable instruction) that can be shipped
unchanged to a heterogeneous collection of platforms and execute with identical semantics
[JANS01]. The term also applies to situations involving a large homogeneous collection of platforms
(e.g., Microsoft Windows). Mobile code is transmitted from a remote system to a local system and
then executed on the local system without the user’s explicit instruction. Mobile code often acts as a
mechanism for a virus, worm, or Trojan horse to be transmitted to the user’s workstation. In other
cases, mobile code takes advantage of vulnerabilities to perform its own exploits, such as
unauthorized data access or root compromise. Popular vehicles for mobile code include Java applets,
ActiveX, JavaScript, and VBScript.The most common ways of using mobile code for malicious
operations on local system are cross-site scripting, interactive and dynamic Web sites, e-mail
attachments, and downloads from untrusted sites or of untrusted software.
Network Security 10EC832
Multiple-Threat Malware
Viruses and other malware may operate in multiple ways. The terminology is far from uniform; this
subsection gives a brief introduction to several related concepts that could be considered multiple-
threat malware.
A multipartite virus infects in multiple ways.Typically, the multipartite virus is capable of infecting
multiple types of files, so that virus eradication must deal with all of the possible sites of infection.
A blended attack uses multiple methods of infection or transmission, to maximize the speed of
contagion and the severity of the attack. Some writers characterize a blended attack as a package that
includes multiple types of malware.An example of a blended attack is the Nimda attack, erroneously
referred to as simply a worm. Nimda uses four distribution methods:
• E-mail: A user on a vulnerable host opens an infected e-mail attachment; Nimda looks for e-mail
addresses on the host and then sends copies of itself to those addresses.
• Windows shares: Nimda scans hosts for unsecured Windows file shares; it can then use
NetBIOS86 as a transport mechanism to infect files on that host in the hopes that a user will run an
infected file, which will activate Nimda on that host.
• Web servers: Nimda scans Web servers, looking for known vulnerabilities in Microsoft IIS. If it
finds a vulnerable server, it attempts to transfer a copy of itself to the server and infect it and its files.
• Web clients: If a vulnerable Web client visits a Web server that has been infected by Nimda, the
client’s workstation will become infected.
Thus, Nimda has worm, virus, and mobile code characteristics. Blended attacks may also spread
through other services, such as instant messaging and peer-to-peer file sharing.
7.2. VIRUSES AND RELATED ATTACKS:
The Nature of Viruses
A computer virus is a piece of software that can “infect” other programs by modifying them; the
modification includes injecting the original program with a routine to make copies of the virus
Network Security 10EC832
program, which can then go on to infect other programs. Computer viruses first appeared in the early
1980s, and the term itself is attributed to Fred Cohen in 1983. Cohen is the author of a groundbreaking
book on the subject Biological viruses are tiny scraps of genetic code—DNA or RNA—that can take
over the machinery of a living cell and trick it into making thousands of flawless replicas of the
original virus. Like its biological counterpart, a computer virus carries in its instructional code the
recipe for making perfect copies of itself. The typical virus becomes embedded in a program on a
computer. Then, whenever the infected computer comes into contact with an uninfected piece of
software, a fresh copy of the virus passes into the new program. Thus, the infection can be spread
from computer to computer by unsuspecting users who either swap disks or send programs to one
another over a network. In a network environment, the ability to access applications and system
services on other computers provides a perfect culture for the spread of a virus.
A virus can do anything that other programs do. The difference is that a virus attaches itself to another
program and executes secretly when the host program is run. Once a virus is executing, it can perform
any function, such as erasing files and programs that is allowed by the privileges of the current user.
A computer virus has three parts
1. Infection mechanism: The means by which a virus spreads, enabling it to replicate. The
mechanism is also referred to as the infection vector.
2. Trigger: The event or condition that determines when the payload is activated or delivered.
3. Payload: What the virus does, besides spreading. The payload may involve damage or may involve
benign but noticeable activity.
During its lifetime, a typical virus goes through the following four phases:
1. Dormant phase: The virus is idle. The virus will eventually be activated by some event, such
as a date, the presence of another program or file, or the capacity of the disk exceeding some
limit. Not all viruses have this stage.
Network Security 10EC832
2. Propagation phase: The virus places a copy of itself into other programs or into certain
system areas on the disk. The copy may not be identical to the propagating version; viruses
often morph to evade detection. Each infected program will now contain a clone of the virus,
which will itself enter a propagation phase.
3. Triggering phase: The virus is activated to perform the function for which it was intended.
As with the dormant phase, the triggering phase can be caused by a variety of system events,
including a count of the number of times that this copy of the virus has made copies of itself.
4. Execution phase: The function is performed. The function may be harmless, such as a
message on the screen, or damaging, such as the destruction of programs and data files. Most
viruses carry out their work in a manner that is specific to a particular operating system and,
in some cases, specific to a particular hardware platform. Thus, they are designed to take
advantage of the details and weaknesses of particular systems.
VIRUS STRUCTURE:
A virus can be prepended or postpended to an executable program, or it can be embedded in some
other fashion. The key to its operation is that the infected program, when invoked, will first execute
the virus code and then execute the original code of the program.
A very general depiction of virus structure is shown in Figure 7.1 In this case, the virus code,V, is
prepended to infected programs, and it is assumed that the entry point to the program, when invoked,
is the first line of the program.
The infected program begins with the virus code and works as follows.The first line of code is a jump
to the main virus program.The second line is a special marker that is used by the virus to determine
whether or not a potential victim program has already been infected with this virus.When the program
is invoked, control is immediately transferred to the main virus program. The virus program may first
seek out uninfected executable files and infect them. Next, the virus may perform some action, usually
detrimental to the system.This action could be performed every time the program is invoked, or it
could be a logic bomb that triggers only under certain conditions. Finally, the virus transfers control
to the original program. If the infection phase of the program is reasonably rapid, a user is unlikely
to notice any difference between the execution of an infected and an uninfected program.
Network Security 10EC832
A virus such as the one just described is easily detected because an infected version of a program is
longer than the corresponding uninfected one. A way to thwart such a simple means of detecting a
virus is to compress the executable file so that both the infected and uninfected versions are of
identical length. Figure 7.2 shows in general terms the logic required.The key lines in this virus are
numbered, and Figure 21.3 [COHE94] illustrates the operation.We assume that program P1 is
infected with the virus CV.When this program is invoked, control passes to its virus, which performs
the following steps:
1. For each uninfected file P2 that is found, the virus first compresses that file to produce , which is
shorter than the original program by the size of the virus.
2. A copy of the virus is prepended to the compressed program.
3. The compressed version of the original infected program, , is uncompressed.
4. The uncompressed original program is executed.
Figure 7.2 Logic for a Compression Virus
Network Security 10EC832
Figure 7.3 A Compression Virus
Viruses Classification
There has been a continuous arms race between virus writers and writers of antivirus software since
viruses first appeared. As effective countermeasures are developed for existing types of viruses,
newer types are developed. There is no simple or universally agreed upon classification scheme for
viruses, In this section, classify viruses along two orthogonal axes: the type of target the virus tries to
infect and the method the virus uses to conceal itself from detection by users and antivirus software.
A virus classification by target includes the following categories:
1. Boot sector infector: Infects a master boot record or boot record and spreads when a system
is booted from the disk containing the virus.
2. File infector: Infects files that the operating system or shell consider to be executable.
3. Macro virus: Infects files with macro code that is interpreted by an application. A virus
classification by concealment strategy includes the following categories:
4. Encrypted virus: A typical approach is as follows.A portion of the virus creates a random
encryption key and encrypts the remainder of the virus.The key is stored with the virus.When
an infected program is invoked, the virus uses the stored random key to decrypt the
virus.When the virus replicates, a different random key is selected. Because the bulk of the
virus is encrypted with a different key for each instance, there is no constant bit pattern to
observe.
5. Stealth virus: A form of virus explicitly designed to hide itself from detection by antivirus
software.Thus, the entire virus, not just a payload is hidden.
Network Security 10EC832
6. Polymorphic virus: A virus that mutates with every infection, making detection by the
“signature” of the virus impossible.
7. Metamorphic virus: As with a polymorphic virus, a metamorphic virus mutates with every
infection.The difference is that a metamorphic virus rewrites itself completely at each
iteration, increasing the difficulty of detection.
Metamorphic viruses may change their behavior as well as their appearance. One example of a stealth
virus was discussed earlier: a virus that uses compression so that the infected program is exactly the
same length as an uninfected version. Far more sophisticated techniques are possible. For example, a
virus can place intercept logic in disk I/O routines, so that when there is an attempt to read suspected
portions of the disk using these routines, the virus will present back the original, uninfected
program.Thus, stealth is not a term that applies to a virus as such but, rather, refers to a technique
used by a virus to evade detection.
A polymorphic virus creates copies during replication that are functionally equivalent but have
distinctly different bit patterns. As with a stealth virus, the purpose is to defeat programs that scan for
viruses. In this case, the “signature” of the virus will vary with each copy. To achieve this variation,
the virus may randomly insert superfluous instructions or interchange the order of independent
instructions.
A more effective approach is to use encryption.The strategy of the encryption virus is followed. The
portion of the virus that is responsible for generating keys and performing encryption/decryption is
referred to as the mutation engine. The mutation engine itself is altered with each use.
Virus Kits
Another weapon in the virus writers’ armory is the virus-creation toolkit. Such a toolkit enables a
relative novice to quickly create a number of different viruses. Although viruses created with toolkits
tend to be less sophisticated than viruses designed from scratch, the sheer number of new viruses that
can be generated using a toolkit creates a problem for antivirus schemes.
Network Security 10EC832
Macro Viruses
In the mid-1990s, macro viruses became by far the most prevalent type of virus. Macro viruses are
particularly threatening for a number of reasons:
1. A macro virus is platform independent. Many macro viruses infect Microsoft Word documents
or other Microsoft Office documents. Any hardware platform and operating system that supports
these applications can be infected.
2. Macro viruses infect documents, not executable portions of code. Most of the information
introduced onto a computer system is in the form of a document rather than a program.
3. Macro viruses are easily spread.A very common method is by electronic mail.
4. Because macro viruses infect user documents rather than system programs, traditional file system
access controls are of limited use in preventing their spread.
Macro viruses take advantage of a feature found in Word and other office applications such as
Microsoft Excel, namely the macro. In essence, a macro is an executable program embedded in a
word processing document or other type of file. Typically, users employ macros to automate
repetitive tasks and thereby save keystrokes. The macro language is usually some form of the Basic
programming language.A user might define a sequence of keystrokes in a macro and set it up so that
the macro is invoked when a function key or special short combination of keys is input.
Successive releases of MS Office products provide increased protection against macro viruses. For
example, Microsoft offers an optional Macro Virus Protection tool that detects suspicious Word files
and alerts the customer to the potential risk of opening a file with macros.Various antivirus product
vendors have also developed tools to detect and correct macro viruses. As in other types of viruses,
the arms race continues in the field of macro viruses, but they no longer are the predominant virus
threat.
E-Mail Viruses
A more recent development in malicious software is the e-mail virus. The first rapidly spreading e-
mail viruses, such as Melissa, made use of a Microsoft Word macro embedded in an attachment. If
the recipient opens the e-mail attachment, the Word macro is activated.Then
Network Security 10EC832
1. The e-mail virus sends itself to everyone on the mailing list in the user’s e-mail package.
2. The virus does local damage on the user’s system.
In 1999, a more powerful version of the e-mail virus appeared. This newer version can be activated
merely by opening an e-mail that contains the virus rather than opening an attachment. The virus uses
the Visual Basic scripting language supported by the e-mail package.
Thus we see a new generation of malware that arrives via e-mail and uses e-mail software features to
replicate itself across the Internet. The virus propagates itself as soon as it is activated (either by
opening an e-mail attachment or by opening the e-mail) to all of the e-mail addresses known to the
infected host. As a result, whereas viruses used to take months or years to propagate, they now do so
in hours.This makes it very difficult for antivirus software to respond before much damage is done.
Ultimately, a greater degree of security must be built into Internet utility and application software on
PCs to counter the growing threat.
7.3. VIRUS COUNTERMEASURES
Antivirus Approaches
The ideal solution to the threat of viruses is prevention: Do not allow a virus to get into the system in
the first place, or block the ability of a virus to modify any files containing executable code or macros.
This goal is, in general, impossible to achieve, although prevention can reduce the number of
successful viral attacks. The next best approach is to be able to do the following:
1. Detection: Once the infection has occurred, determine that it has occurred and locate the virus.
2. Identification: Once detection has been achieved, identify the specific virus that has infected
a program.
3. Removal: Once the specific virus has been identified, remove all traces of the virus from the
infected program and restore it to its original state. Remove the virus from all infected systems
so that the virus cannot spread further. If detection succeeds but either identification or
removal is not possible, then the alternative is to discard the infected file and reload a clean
backup version. Advances in virus and antivirus technology go hand in hand. Early viruses
were relatively simple code fragments and could be identified and purged with relatively
Network Security 10EC832
simple antivirus software packages. As the virus arms race has evolved, both viruses and,
necessarily, antivirus software have grown more complex and sophisticated.
Four generations of antivirus software:
• First generation: simple scanners
• Second generation: heuristic scanners
• Third generation: activity traps
• Fourth generation: full-featured protection
A first-generation scanner requires a virus signature to identify a virus. The virus may contain
“wildcards” but has essentially the same structure and bit pattern in all copies. Such signature-
specific scanners are limited to the detection of known viruses. Another type of first-generation
scanner maintains a record of the length of programs and looks for changes in length.
A second-generation scanner does not rely on a specific signature. Rather, the scanner uses heuristic
rules to search for probable virus infection. One class of such scanners looks for fragments of code
that are often associated with viruses. For example, a scanner may look for the beginning of an
encryption loop used in a polymorphic virus and discover the encryption key. Once the key is
discovered, thescanner can decrypt the virus to identify it, then remove the infection and return the
program to service.
Another second-generation approach is integrity checking. A checksum can be appended to each
program. If a virus infects the program without changing the checksum, then an integrity check will
catch the change. To counter a virus that is sophisticated enough to change the checksum when it
infects a program, an encrypted hash function can be used. The encryption key is stored separately
from the program so that the virus cannot generate a new hash code and encrypt that. By using a hash
function rather than a simpler checksum, the virus is prevented from adjusting the program to produce
the same hash code as before.
Third-generation programs are memory-resident programs that identify a virus by its actions rather
than its structure in an infected program. Such programs have the advantage that it is not necessary
to develop signatures and heuristics for a wide array of viruses. Rather, it is necessary
Network Security 10EC832
only to identify the small set of actions that indicate an infection is being attempted and then to
intervene.
Fourth-generation products are packages consisting of a variety of antivirus techniques used in
conjunction. These include scanning and activity trap components. In addition, such a package
includes access control capability, which limits the ability of viruses to penetrate a system and then
limits the ability of a virus to update files in order to pass on the infection.
The arms race continues. With fourth-generation packages, a more comprehensive defense strategy
is employed, broadening the scope of defense to more general-purpose computer security measures.
Digital Immune System
The Digital Immune system is a comprehensive approach to virus protection developed by IBM. The
motivation for this development has been the rising threat of Internet-based virus
propagation.Traditionally the virus threat was characterized by the relatively slow spread of new viruses
and new mutations. Antivirus software was typically updated on a monthly basis and this has been
sufficient to control the problem.
i. Two major trends in Internet technology had an increasing impact on the rate of virus propagation
in recent years:
 Integrated Mail Systems: Systems such as Lotus Notes and Microsoft Outlook make it very
simple to send anything to anyone and to work with objects that are received.
 Mobile-Program Systems: Capabilities such as Java and ActiveX allow programs to move on
their own form one system to another.
Network Security 10EC832
ii. In response to threat posed by these Internet-based capabilities, IBM has developed a prototype digital
immune system. The objective of this system is to provide rapid response time so that viruses can be
stamped out almost as soon as they are introduced.
iii. When a new virus enters an organization, the immune system automatically captures it, analyzes it,
adds detection and shielding for it, removes it and passes information about that virus to systems running
IBM antivirus so that it can be detected before it is allowed to run elsewhere.
The operation of digital immune system as follows:
 A monitoring program on each PC uses a variety of heuristics based on system behaviour, suspicious
changes to programs or family signature to inform that a virus may be present. The monitoring program
forwards a copy of any program thought to be infected to an administrative machine within the
organization.
 The administrative machine encrypts the sample and sends it to a central virus analysis machine.
 This machine creates an environment in which the infected program can be safely run for analysis.
Techniques used for this purpose include emulation, or the creation of a protected environment within
which the suspect program can be executed and monitored. The virus analysis machine then produces a
prescription for identifying and removing the virus.
 The resulting prescription is sent back to the administrative machine.
 The administrative machine forwards the prescription to the infected client.
 The prescription is also forwarded to other clients in the organization.
 Subscribers around the world receive regular antivirus updates that protect them from the new virus.
The success of digital immune system depends on the ability of the virus analysis machine to detect new
and innovative virus strains. By constantly analyzing and monitoring the viruses found in the wild, it
should be possible to continuously update the Digital Immune System software to keep up with the threat.
Network Security 10EC832
Network Security 10EC832
Dept. ofECE/ SJBIT Page 123
UNIT 8
Firewall Design Principles, Trusted Systems
8.1.Introduction:
Firewalls are seen evolution of information systems and now everyone want to be on the Internet
and to interconnect networks .It has persistent security concerns and can’t easily secure every system in org
and so typically use a Firewall to provide perimeter defence as part of comprehensive security strategy.
8.1.1 What is a Firewall?
A firewall is inserted between the premises network and the Internet to establish a controlled link and
to erect an outer security wall or perimeter, forming a single choke point where security and audit can be
imposed. A firewall is defined as a single choke point that keeps unauthorized users out of the protected
network, prohibits potentially vulnerable services from entering or leaving the network, and provides
protection from various kinds of IP spoofing and routing attacks. It provides a location for monitoring
security-related events and is a convenient platform for several Internet functions that are not security related,
such as NAT and Internet usage audits or logs. A firewall can serve as the platform for IPSec to implement
virtual private networks. The firewall itself must be immune to penetration, since it will be a target of attack.
The Figure below illustrates the general model of firewall use on the security perimeter, as a choke
point for traffic between between the external less-trusted Internet and the internal more trusted private
network.
Fig 8.1 : the general model of firewall
Network Security 10EC832
Dept. ofECE/ SJBIT Page 124
Firewalls have their limitations, including that they cannot protect against attacks that bypass the
firewall, eg PCs with dial-out capability to an ISP, or dial-in modem pool use. They do not protect against
internal threats, eg disgruntled employee or one who cooperates with an attacker. An improperly secured
wireless LAN may be accessed from outside the organization. An internal firewall that separates portions of
an enterprise network cannot guard against wireless communications between local systems on different
sides of the internal firewall. A laptop, PDA, or portable storage device may be used and infected outside the
corporate network, and then attached and used internally.
8.1.2 Firewalls – Packet Filters:
Have three common types of firewalls: packet filters, application-level gateways, & circuit-level
gateways.A packet-filtering router applies a set of rules to each incoming and outgoing IP packet to forward
or discard the packet. Filtering rules are based on information contained in a network packet such as src &
dest IP addresses, ports, transport protocol & interface. Some advantages are simplicity, transparency &
speed. If there is no match to any rule, then one of two default policies are applied that which is not expressly
permitted is prohibited (default action is discard packet), conservative policy and that which is not expressly
prohibited is permitted (default action is forward packet), permissive policy
Fig: 8.2:Types of Firewall
Network Security 10EC832
Dept. ofECE/ SJBIT Page 125
Figure illustrates the packet filter firewall role as utilising information from the transport, network &
data link layers to make decisions on allowable traffic flows, and its placement in the border router between
the external less-trusted Internet and the internal more trusted private network
8.1.3 Attacks on Packet Filters:
Some of the attacks that can be made on packet-filtering routers & countermeasures are:
• IP address spoofing: where intruder transmits packets from the outside with internal host source IP
addr, need to filter & discard such packets
• Source routing attacks: where source specifies the route that a packet should take to bypass security
measures, should discard all source routed packets
• Tiny fragment attacks: intruder uses the IP fragmentation option to create extremely small
fragments and force the TCP header information into a separate fragments to circumvent filtering
rules needing full header info, can enforce minimum fragment size to include full header.
In IP address spoofing fake source address to be trusted and we can add filters on router to block .In
source routing attacks attacker sets a route other than default and block source routed packets.In tiny fragment
attacks split header info over several tiny packets either discard or reassemble before check .
8.1.4 Firewalls – Stateful Packet Filters
A traditional packet filter makes filtering decisions on an individual packet basis and does not take
into consideration any higher layer context. In general, when an application that uses TCP creates a session
with a remote host, it creates a TCP connection in which the TCP port number for the remote (server)
application is a number less than 1024 and the TCP port number for the local (client) application is a number
between 1024 and 65535. A simple packet filtering firewall must permit inbound network traffic on all these
high- numbered ports for TCP-based traffic to occur. This creates a vulnerability that can be exploited by
unauthorized users. A stateful inspection packet filter tightens up the rules for TCP traffic by creating a
directory of outbound TCP connections, and will allow incoming traffic to high-numbered ports only for
those packets that fit the profile of one of the entries in this directory. Hence they are better able to detect
bogus packets sent out of context. A stateful packet inspection firewall reviews the same packet
Network Security 10EC832
Dept. ofECE/ SJBIT Page 126
information as a packet filtering firewall, but also records information about TCP connections. Some stateful
firewalls also keep track of TCP sequence numbers to prevent attacks that depend on the sequence number,
such as session hijacking. Some even inspect limited amounts of application data for some well- known
protocols like FTP, IM and SIPS commands, in order to identify and track related connections.
A traditional packet filters do not examine higher layer context ie matching return packets with
outgoing flow stateful packet filters address this need they examine each IP packet in context and keep track
of client-server sessions and check each packet validly belongs to one . Hence are better able to detect bogus
packets out of context and may even inspect limited application data.
8.1.5 Firewalls - Application Level Gateway (or Proxy):
These have application specific gateway / proxy and has full access to protocol and the user requests
service from proxy . The proxy validates request as legal and then actions request and returns result to user
so that can log / audit traffic at application level. We need separate proxies for each service and some services
naturally support proxying and others are more problematic
8.1.6 Firewalls - Circuit Level Gateway
A fourth type of firewall is the circuit-level gateway or circuit-level proxy. This can be a stand- alone
system or it can be a specialized function performed by an application-level gateway for certain applications.
A circuit-level gateway relays two TCP connections, one between itself and an inside TCP user, and the other
between itself and a TCP user on an outside host. Once the two connections are established, it relays TCP
data from one connection to the other without examining its contents. The security function consists of
determining which connections will be allowed. It is typically used when internal users are trusted to decide
what external services to access.
One of the most common circuit-level gateways is SOCKS, defined in RFC 1928. It consists of a
SOCKSserver on the firewall, and a SOCKSlibrary & SOCKS-awareapplications on internal clients. When
a TCP-based client wishes to establish a connection to an object that is reachable only via a firewall (such
determination is left up to the implementation), it must open a TCP connection to the appropriate SOCKS
port on the SOCKS server system. If the connection request succeeds, the client enters a negotiation for the
authentication method to be used, authenticates with the chosen method, and then sends
Network Security 10EC832
Dept. ofECE/ SJBIT Page 127
a relay request. The SOCKS server evaluates the request and either establishes the appropriate connection
or denies it. UDP exchanges are handled in a similar fashion.
It relays two TCP connections which imposes security by limiting which such connections are
allowed and once created usually relays traffic without examining contents. These typically used when trust
internal users by allowing general outbound connections and SOCKS is commonly used
8.1.7 Bastion Host
It is common to base a firewall on a stand-alone machine running a common operating system, such
as UNIX or Linux. Firewall functionality can also be implemented as a software module in a router or LAN
switch.
A bastion host is a critical strong point in the network’s security, serving as a platform for an
application-level or circuit-level gateway, or for external services. It is thus potentially exposed to "hostile"
elements and must be secured to withstand this. Common characteristics of a bastion host include that it
executes a secure version of its O/S, making it a trusted system and • has only essential services installed on
the bastion host. It may require additional authentication before a user may access to proxy services
configured to use only subset of standard commands, access only specific hosts which maintains detailed
audit information by logging all traffic. Each proxy module a very small software package designed for
network security and has each proxy independent of other proxies on the bastion host which have a proxy
performs no disk access other than read its initial configuration file. They also have each proxy run as a non-
privileged user in a private and secured directory
8.1.8 Host-BasedFirewalls
A host-based firewall is a software module used to secure an individual host. Such modules are available in
many operating systems or can be provided as an add-on package. Like conventional stand-alone firewalls,
host-resident firewalls filter and restrict the flow of packets. A common location for such firewalls is a server.
There are several advantages to the use of a server-based or workstation-based firewall:
• Filtering rules can be tailored to the host environment. Specific corporate security policies for servers can
be implemented, with different filters for servers used for different application.
• Protection is provided independent of topology. Thus both internal and external attacks must pass through
the firewall.
Network Security 10EC832
Dept. ofECE/ SJBIT Page 128
• Used in conjunction with stand-alone firewalls, the host-based firewall provides an additional layer of
protection. A new type of server can be added to the network, with its own firewall, without the necessity of
altering the network firewall configuration.
Software module used to secure individual host are available in many operating systems or can be provided
as an add-on package often used on servers
Advantages:
 can tailor filtering rules to host environment
 protection is provided independent of topology
 provides an additional layer of protection
8.1.9 Personal Firewalls
A personal firewall controls the traffic between a personal computer or workstation on one side and
the Internet or enterprise network on the other side. Personal firewall functionality can be used in the home
environment and on corporate intranets. Typically, the personal firewall is a software module on the personal
computer. In a home environment with multiple computers connected to the Internet, firewall functionality
can also be housed in a router that connects all of the home computers to a DSL, cable modem, or other
Internet interface.
Personal firewalls are typically much less complex than either server-based firewalls or stand-alone
firewalls. The primary role of the personal firewall is to deny unauthorized remote access to the computer.
The firewall can also monitor outgoing activity in an attempt to detect and block worms and other malware.
It controls traffic between PC/workstation and Internet or enterprise network. It is a software module on
personal computer or in home/office DSL/cable/ISP router typically much less complex than other firewall
types whose primary role to deny unauthorized remote access to the computer and monitor outgoing activity
for malware
In today's distributed computing environment, the virtual private network (VPN) offers an attractive
solution to network managers. The VPN consists of a set of computers that interconnect by means of a
relatively unsecure network and that make use of encryption and special protocols to provide security. At
each corporate site, workstations, servers, and databases are linked by one or more local area networks
(LANs). The Internet or some other public network can be used to interconnect sites, providing a cost savings
over the use of a private network and offloading the wide area network management task to the
Network Security 10EC832
Dept. ofECE/ SJBIT Page 129
public network provider. That same public network provides an access path for telecommuters and other
mobile employees to log on to corporate systems from remote sites.
A logical means of implementing an IPSec is in a firewall. If IPSec is implemented in a separate box
behind (internal to) the firewall, then VPN traffic passing through the firewall in both directions is encrypted.
In this case, the firewall is unable to perform its filtering function or other security functions, such as access
control, logging, or scanning for viruses. IPSec could be implemented in the boundary router, outside the
firewall. However, this device is likely to be less secure than the firewall and thus less desirable as an IPSec
platform.
A distributed firewall configuration involves stand-alone firewall devices plus host-based firewalls
working together under a central administrative control. It suggests a distributed firewall configuration.
Administrators can configure host-resident firewalls on hundreds of servers and workstation as well as
configure personal firewalls on local and remote user systems. Tools let the network administrator set policies
and monitor security across the entire network. These firewalls protect against internal attacks and provide
protection tailored to specific machines and applications. Stand-alone firewalls provide global protection,
including internal firewalls and an external firewall, as discussed previously. With distributed firewalls, it
may make sense to establish both an internal and an external DMZ. Web servers that need less protection
because they have less critical information on them could be placed in an external DMZ, outside the external
firewall. What protection is needed is provided by host-based firewalls on these servers. An important aspect
of a distributed firewall configuration is security monitoring. Such monitoring typically includes log
aggregation and analysis, firewall statistics, and fine-grained remote monitoring of individual hosts if needed.
The following alternatives can be identified:
• Host-resident firewall: incl. personal firewall software and firewall software on servers, used alone or as
part of an in-depth firewall deployment.
• Screening router: A single router between internal and external networks with stateless or full packet
filtering. Typical for small office/home office (SOHO) use.
• Single bastion inline: A single firewall device between an internal and external router. The firewall may
implement stateful filters and/or application proxies. This is the typical firewall appliance configuration for
small to medium-sized organizations.
Network Security 10EC832
Dept. ofECE/ SJBIT Page 130
• Single bastion T: Similar to single bastion inline but has a third network interface on bastion to a DMZ
where externally visible servers are placed. Again, this is a common appliance configuration for medium to
large organizations.
• Double bastion inline: In this configuration, where the DMZ is sandwiched between bastion firewalls.
This configuration is common for large businesses and government organizations.
• Double bastion T: The DMZ is on a separate network interface on the bastion firewall. This configuration
is also common for large businesses and government organizations and may be required. For example, this
configuration is required for Australian government use.
• Distributed firewall configuration: This configuration is used by some large businesses and government
organizations.
8.2 Trusted Systems:
In the security engineering subspecialty of computer science,atrusted system is a system that is relied
upon to a specified extent to enforce a specified security policy. As such, a trusted system is one whose
failure may break a specified security policy. Trusted systems are used for the processing, storage and
retrieval of sensitive or classified information. Central to the concept of U.S. Department of Defense-style
"trusted systems" is the notion of a "reference monitor", which is an entity that occupies the logical heart of
the system and is responsible for all access control decisions. Ideally, the reference monitor is (a)
tamperproof, (b) always invoked, and (c) small enough to be subject to independent testing, the completeness
of which can be assured. Per the U.S. National Security Agency's 1983 Trusted Computer System Evaluation
Criteria (TCSEC), or "Orange Book", a set of "evaluation classes" were defined that described the features and
assurances that the user could expect from a trusted system.
The highest levels of assurance were guaranteed by significant system engineering directed toward
minimization of the size of thetrusted computing base (TCB), defined as that combination of hardware,
software, and firmware that is responsible for enforcing the system's security policy. Because failure of the
TCB breaks the trusted system, higher assurance is provided by the minimization of the TCB. An inherent
engineering conflict arises in higher-assurance systems in that, the smaller the TCB, the larger the set of
hardware, software, and firmware that lies outside the TCB. This may lead to some philosophical arguments
about the nature of trust, based on the notion that a "trustworthy" implementation may not necessarily be a
"correct" implementation from the perspective of users' expectations.
One way to enhance the ability of a system to defend against intruders and malicious programs is to
implement trusted system technology.
Network Security 10EC832
Dept. ofECE/ SJBIT Page 131
8.2.1 Data Access Control
Through the user access control procedure (log on), user is identified to the system. Associated with each
user, there is a profile that specifies permissible operations and file accesses. The operating system can
enforce rules based on the user profile.
Access Control List: An access control list lists users and their permitted access right.The list may contain
a default or public entry. This is how Unix handles security, and is the only mechanism available in Unix.
Everything in Unix looks like a text file. All files have 9-bit permissions in the inode pointer
8.2.2 Trusted Systems Concept:
Trusted Systems protect data and resources on the basis of levels of security (e.g. military). Users can
be granted clearances to access certain categories of data. Trusted systems need not discern levels of
permissions; they can operate “system high”. cf. Telephone systems
Security Levels: Multilevel security: multiple categories or levels of data. Multilevel secure system
must enforce. No read up: A subject can only read an object of lower or equal security level (BLP Simple
Security Property). No write down: A subject can only write into an object of greater or equal security level
(BLP *-Property). May enforce discretionary security (BLP DS property). Security levels may be linear or
latticed.
Trusted Systems Implementation: Reference Monitor provides multilevel security for a data
processing system. Reference Monitor is a concept, not a thing
Reference Monitor: Controlling element in the security kernel of a computer that regulates access of
subjects to objects on basis of security parameters. The monitor has access to a file (security kernel database).
The monitor enforces the security rules (no read up, no write down)
Reference Monitor Properties: Complete mediation: Security rules are enforced on every access
Isolation: Reference monitor and database protected from unauthorized modification.
Verifiability: reference monitor’s correctness must be mathematically provable this may be where we
bend the rules!
Trusted Systems: A system that can provide such verifications (properties) is referred to as a trusted
system

Weitere ähnliche Inhalte

Was ist angesagt?

Introduction to penetration testing
Introduction to penetration testingIntroduction to penetration testing
Introduction to penetration testingNezar Alazzabi
 
Intruders and Viruses in Network Security NS9
Intruders and Viruses in Network Security NS9Intruders and Viruses in Network Security NS9
Intruders and Viruses in Network Security NS9koolkampus
 
Detection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacksDetection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacksIAEME Publication
 
Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...
Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...
Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...IOSR Journals
 
Ethical hacking interview questions and answers
Ethical hacking interview questions and answersEthical hacking interview questions and answers
Ethical hacking interview questions and answersShivamSharma909
 
Module 10 (session hijacking)
Module 10 (session hijacking)Module 10 (session hijacking)
Module 10 (session hijacking)Wail Hassan
 
L2 Intrusion Detection System (IDS)
L2  Intrusion Detection System (IDS)L2  Intrusion Detection System (IDS)
L2 Intrusion Detection System (IDS)Rushdi Shams
 
D03302030036
D03302030036D03302030036
D03302030036theijes
 
IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...
IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...
IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...IRJET Journal
 
Intrusion detection using data mining
Intrusion detection using data miningIntrusion detection using data mining
Intrusion detection using data miningbalbeerrawat
 
Introduction of hacking and cracking
Introduction of hacking and crackingIntroduction of hacking and cracking
Introduction of hacking and crackingHarshil Barot
 
Intrusion Detection
Intrusion DetectionIntrusion Detection
Intrusion Detectionbutest
 
IDS (intrusion detection system)
IDS (intrusion detection system)IDS (intrusion detection system)
IDS (intrusion detection system)Netwax Lab
 
Ethical hacking Chapter 3 - Network and Computer Attacks - Eric Vanderburg
Ethical hacking   Chapter 3 - Network and Computer Attacks - Eric VanderburgEthical hacking   Chapter 3 - Network and Computer Attacks - Eric Vanderburg
Ethical hacking Chapter 3 - Network and Computer Attacks - Eric VanderburgEric Vanderburg
 
Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...
Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...
Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...Jowin John Chemban
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testingsrivinayak
 
Whitepaper: Network Penetration Testing - Happiest Minds
Whitepaper: Network Penetration Testing - Happiest MindsWhitepaper: Network Penetration Testing - Happiest Minds
Whitepaper: Network Penetration Testing - Happiest MindsHappiest Minds Technologies
 
Intrusion detection system
Intrusion detection systemIntrusion detection system
Intrusion detection systemNikhil Singh
 

Was ist angesagt? (20)

Introduction to penetration testing
Introduction to penetration testingIntroduction to penetration testing
Introduction to penetration testing
 
Intruders and Viruses in Network Security NS9
Intruders and Viruses in Network Security NS9Intruders and Viruses in Network Security NS9
Intruders and Viruses in Network Security NS9
 
Detection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacksDetection and prevention of keylogger spyware attacks
Detection and prevention of keylogger spyware attacks
 
Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...
Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...
Detection of Session Hijacking and IP Spoofing Using Sensor Nodes and Cryptog...
 
Ethical hacking interview questions and answers
Ethical hacking interview questions and answersEthical hacking interview questions and answers
Ethical hacking interview questions and answers
 
Module 10 (session hijacking)
Module 10 (session hijacking)Module 10 (session hijacking)
Module 10 (session hijacking)
 
L2 Intrusion Detection System (IDS)
L2  Intrusion Detection System (IDS)L2  Intrusion Detection System (IDS)
L2 Intrusion Detection System (IDS)
 
Bt33430435
Bt33430435Bt33430435
Bt33430435
 
Chapter 2
Chapter 2Chapter 2
Chapter 2
 
D03302030036
D03302030036D03302030036
D03302030036
 
IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...
IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...
IRJET- Review on Intrusion Detection System using Recurrent Neural Network wi...
 
Intrusion detection using data mining
Intrusion detection using data miningIntrusion detection using data mining
Intrusion detection using data mining
 
Introduction of hacking and cracking
Introduction of hacking and crackingIntroduction of hacking and cracking
Introduction of hacking and cracking
 
Intrusion Detection
Intrusion DetectionIntrusion Detection
Intrusion Detection
 
IDS (intrusion detection system)
IDS (intrusion detection system)IDS (intrusion detection system)
IDS (intrusion detection system)
 
Ethical hacking Chapter 3 - Network and Computer Attacks - Eric Vanderburg
Ethical hacking   Chapter 3 - Network and Computer Attacks - Eric VanderburgEthical hacking   Chapter 3 - Network and Computer Attacks - Eric Vanderburg
Ethical hacking Chapter 3 - Network and Computer Attacks - Eric Vanderburg
 
Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...
Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...
Seminar Report | Network Intrusion Detection using Supervised Machine Learnin...
 
Software Security Testing
Software Security TestingSoftware Security Testing
Software Security Testing
 
Whitepaper: Network Penetration Testing - Happiest Minds
Whitepaper: Network Penetration Testing - Happiest MindsWhitepaper: Network Penetration Testing - Happiest Minds
Whitepaper: Network Penetration Testing - Happiest Minds
 
Intrusion detection system
Intrusion detection systemIntrusion detection system
Intrusion detection system
 

Ähnlich wie Ns unit 6,7,8

VTU network security(10 ec832) unit 6 notes
VTU network security(10 ec832) unit 6 notesVTU network security(10 ec832) unit 6 notes
VTU network security(10 ec832) unit 6 notesJayanth Dwijesh H P
 
M.Tech. IDS Lecture-Mid Term.pptx
M.Tech. IDS        Lecture-Mid Term.pptxM.Tech. IDS        Lecture-Mid Term.pptx
M.Tech. IDS Lecture-Mid Term.pptxpawandeoli1
 
M.Tech. IDS Lecture by graphic era university
M.Tech. IDS Lecture by graphic era universityM.Tech. IDS Lecture by graphic era university
M.Tech. IDS Lecture by graphic era universitypheonix4
 
Network and web security
Network and web securityNetwork and web security
Network and web securityNitesh Saitwal
 
Top 20 cyber security interview questions and answers in 2023.pdf
Top 20 cyber security interview questions and answers in 2023.pdfTop 20 cyber security interview questions and answers in 2023.pdf
Top 20 cyber security interview questions and answers in 2023.pdfAnanthReddy38
 
Network Security_4th Module_Dr. Shivashankar
Network Security_4th Module_Dr. ShivashankarNetwork Security_4th Module_Dr. Shivashankar
Network Security_4th Module_Dr. ShivashankarDr. Shivashankar
 
Ethical Hacking Interview Questions and Answers.pdf
Ethical Hacking Interview Questions and Answers.pdfEthical Hacking Interview Questions and Answers.pdf
Ethical Hacking Interview Questions and Answers.pdfShivamSharma909
 
Security Operation Center Fundamental
Security Operation Center FundamentalSecurity Operation Center Fundamental
Security Operation Center FundamentalAmir Hossein Zargaran
 
Network security chapter 1,2
Network security chapter  1,2Network security chapter  1,2
Network security chapter 1,2Education
 
Security Attacks in Stand-Alone Computer and Cloud Computing: An Analysis
Security Attacks in Stand-Alone Computer and Cloud Computing: An AnalysisSecurity Attacks in Stand-Alone Computer and Cloud Computing: An Analysis
Security Attacks in Stand-Alone Computer and Cloud Computing: An Analysisdadkhah077
 
Ethical hacking ppt
Ethical hacking pptEthical hacking ppt
Ethical hacking pptNitesh Dubey
 
Chapter 2 konsep dasar keamanan
Chapter 2 konsep dasar keamananChapter 2 konsep dasar keamanan
Chapter 2 konsep dasar keamanannewbie2019
 
Introduction to Pre-Cybersecurity.pptx
Introduction to Pre-Cybersecurity.pptxIntroduction to Pre-Cybersecurity.pptx
Introduction to Pre-Cybersecurity.pptxyoufanlimboo
 
Current Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy Logic
Current Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy LogicCurrent Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy Logic
Current Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy Logicijdpsjournal
 

Ähnlich wie Ns unit 6,7,8 (20)

System Security
System SecuritySystem Security
System Security
 
VTU network security(10 ec832) unit 6 notes
VTU network security(10 ec832) unit 6 notesVTU network security(10 ec832) unit 6 notes
VTU network security(10 ec832) unit 6 notes
 
M.Tech. IDS Lecture-Mid Term.pptx
M.Tech. IDS        Lecture-Mid Term.pptxM.Tech. IDS        Lecture-Mid Term.pptx
M.Tech. IDS Lecture-Mid Term.pptx
 
M.Tech. IDS Lecture by graphic era university
M.Tech. IDS Lecture by graphic era universityM.Tech. IDS Lecture by graphic era university
M.Tech. IDS Lecture by graphic era university
 
IS - Firewall
IS - FirewallIS - Firewall
IS - Firewall
 
Network and web security
Network and web securityNetwork and web security
Network and web security
 
Top 20 cyber security interview questions and answers in 2023.pdf
Top 20 cyber security interview questions and answers in 2023.pdfTop 20 cyber security interview questions and answers in 2023.pdf
Top 20 cyber security interview questions and answers in 2023.pdf
 
Network Security_4th Module_Dr. Shivashankar
Network Security_4th Module_Dr. ShivashankarNetwork Security_4th Module_Dr. Shivashankar
Network Security_4th Module_Dr. Shivashankar
 
Ethical Hacking Interview Questions and Answers.pdf
Ethical Hacking Interview Questions and Answers.pdfEthical Hacking Interview Questions and Answers.pdf
Ethical Hacking Interview Questions and Answers.pdf
 
CNS unit -1.docx
CNS unit -1.docxCNS unit -1.docx
CNS unit -1.docx
 
Security Operation Center Fundamental
Security Operation Center FundamentalSecurity Operation Center Fundamental
Security Operation Center Fundamental
 
Network security chapter 1,2
Network security chapter  1,2Network security chapter  1,2
Network security chapter 1,2
 
Bt33430435
Bt33430435Bt33430435
Bt33430435
 
Security Attacks in Stand-Alone Computer and Cloud Computing: An Analysis
Security Attacks in Stand-Alone Computer and Cloud Computing: An AnalysisSecurity Attacks in Stand-Alone Computer and Cloud Computing: An Analysis
Security Attacks in Stand-Alone Computer and Cloud Computing: An Analysis
 
Ethical hacking ppt
Ethical hacking pptEthical hacking ppt
Ethical hacking ppt
 
Chapter 2 konsep dasar keamanan
Chapter 2 konsep dasar keamananChapter 2 konsep dasar keamanan
Chapter 2 konsep dasar keamanan
 
Is4560
Is4560Is4560
Is4560
 
Introduction to Pre-Cybersecurity.pptx
Introduction to Pre-Cybersecurity.pptxIntroduction to Pre-Cybersecurity.pptx
Introduction to Pre-Cybersecurity.pptx
 
Current Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy Logic
Current Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy LogicCurrent Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy Logic
Current Studies On Intrusion Detection System, Genetic Algorithm And Fuzzy Logic
 
Kx3419591964
Kx3419591964Kx3419591964
Kx3419591964
 

Kürzlich hochgeladen

Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating SystemRashmi Bhat
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESkarthi keyan
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxRomil Mishra
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHSneha Padhiar
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewsandhya757531
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfBalamuruganV28
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating SystemRashmi Bhat
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTSneha Padhiar
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.elesangwon
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communicationpanditadesh123
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Sumanth A
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书rnrncn29
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organizationchnrketan
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Communityprachaibot
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Erbil Polytechnic University
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxsiddharthjain2303
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmDeepika Walanjkar
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Coursebim.edu.pl
 

Kürzlich hochgeladen (20)

Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
Stork Webinar | APM Transformational planning, Tool Selection & Performance T...
 
Virtual memory management in Operating System
Virtual memory management in Operating SystemVirtual memory management in Operating System
Virtual memory management in Operating System
 
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTESCME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
CME 397 - SURFACE ENGINEERING - UNIT 1 FULL NOTES
 
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptxCurve setting (Basic Mine Surveying)_MI10412MI.pptx
Curve setting (Basic Mine Surveying)_MI10412MI.pptx
 
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACHTEST CASE GENERATION GENERATION BLOCK BOX APPROACH
TEST CASE GENERATION GENERATION BLOCK BOX APPROACH
 
Artificial Intelligence in Power System overview
Artificial Intelligence in Power System overviewArtificial Intelligence in Power System overview
Artificial Intelligence in Power System overview
 
CS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdfCS 3251 Programming in c all unit notes pdf
CS 3251 Programming in c all unit notes pdf
 
Input Output Management in Operating System
Input Output Management in Operating SystemInput Output Management in Operating System
Input Output Management in Operating System
 
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENTFUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
FUNCTIONAL AND NON FUNCTIONAL REQUIREMENT
 
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
2022 AWS DNA Hackathon 장애 대응 솔루션 jarvis.
 
multiple access in wireless communication
multiple access in wireless communicationmultiple access in wireless communication
multiple access in wireless communication
 
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
Robotics-Asimov's Laws, Mechanical Subsystems, Robot Kinematics, Robot Dynami...
 
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
『澳洲文凭』买麦考瑞大学毕业证书成绩单办理澳洲Macquarie文凭学位证书
 
priority interrupt computer organization
priority interrupt computer organizationpriority interrupt computer organization
priority interrupt computer organization
 
Designing pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptxDesigning pile caps according to ACI 318-19.pptx
Designing pile caps according to ACI 318-19.pptx
 
Prach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism CommunityPrach: A Feature-Rich Platform Empowering the Autism Community
Prach: A Feature-Rich Platform Empowering the Autism Community
 
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
Comparative study of High-rise Building Using ETABS,SAP200 and SAFE., SAFE an...
 
Energy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptxEnergy Awareness training ppt for manufacturing process.pptx
Energy Awareness training ppt for manufacturing process.pptx
 
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithmComputer Graphics Introduction, Open GL, Line and Circle drawing algorithm
Computer Graphics Introduction, Open GL, Line and Circle drawing algorithm
 
Katarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School CourseKatarzyna Lipka-Sidor - BIM School Course
Katarzyna Lipka-Sidor - BIM School Course
 

Ns unit 6,7,8

  • 1. Network Security 10EC832 UNIT 6 Intruders, Intrusion Detection, Password Management. 6.1. INTRUDERS One of the two most publicized threats to security is the intruder (the other isviruses), often referred to as a hacker or cracker. In an important early study ofintrusion, Anderson[ANDE80] identified three classes of intruders:  Masquerader: An individual who is not authorized to use the computer andwhopenetrates a system’s access controls to exploit a legitimate user’s account  Misfeasor: A legitimate user who accesses data, programs, or resources for which such access is not authorized, or who is authorized for such access but misuses his or her privileges .  Clandestine user: An individual who seizes supervisory control of the system and uses this control to evade auditing and access controls or to suppress audit collection The masquerader is likely to be an outsider; the misfeasor generally is an insider;and theclandestine user can be either an outsider or an insider. Intruder attacks range from the benign to the serious. At the benign end of thescale, there are many people who simply wish to explore internets and see what isout there. At the serious end are individuals who are attempting to read privilegeddata, perform unauthorized modifications to data, or disrupt the system. the following are examples of intrusion: Performing a remote root compromise of an e-mail server  Defacing a Web server  Guessing and cracking passwords  Copying a database containing credit card numbers  Viewing sensitive data, including payroll records and medical information,  without authorization  Running a packet sniffer on a workstation to capture usernames and passwords  Using a permission error on an anonymous FTP server to distribute pirated
  • 2. Network Security 10EC832  software and music files  Dialing into an unsecured modem and gaining internal network access  Posing as an executive, calling the help desk, resetting the executive’s e-mail  password, and learning the new password  Using an unattended, logged-in workstation without permission Intruder BehaviorPatterns The techniques and behavior patterns of intruders are constantly shifting, to discovered weaknesses and to evade detection and countermeasures. Even so, intruders typically follow one of a number of recognizable behavior patterns, and these patterns typically differ from those of ordinary users. In the following, we look at three broad examples of intruder behavior patterns, to give the reader some feel for the challenge facing the security administrator. Table 20.1, based on [RADC04],summarizes the behavior. HACKERS Traditionally, those who hack into computers do so for the thrill of it or for status. The hacking community is a strong meritocracy in which status is determined by level of competence. Thus, attackers often look for targets of opportunity and then share the information with others. A typical example is a break-in at a large financial institution reported in [RADC04]. The intruder took advantage of the fact that the corporate network was running unprotected services, some of which were not even needed. In this case, the key to the break-in was the pc Anywhere application. The manufacturer, Symantec, advertises this program as a remote control solution that enables secure connection to remote devices. But the attacker had an easy time gaining access to pc Anywhere; the administrator used the same three-letter username and password for the program. In this case, there was no intrusion detection system on the 700-node corporate network. The intruder was only discovered when a vice president walked into her office and saw the cursor moving files around on her Windows workstation. Some Examples of Intruder Patterns of Behavior (a) Hacker  Select the target using IP lookup tools such as NS Lookup, Dig, and others.  Map network for accessible services using tools such as NMAP.  Identify potentially vulnerable services (in this case, pcAnywhere).  Brute force (guess) pc Anywhere password.  Install remote administration tool called Dame Ware.  Wait for administrator to log on and capture his password.
  • 3. Network Security 10EC832  Use that password to access remainder of network. Intrusion Techniques The objective of the intruder is to gain access to a system or to increase the range of privileges accessible on a system. Most initial attacks use system or software vulnerabilities that allow a user to execute code that opens a back door into the system. Alternatively, the intruder attempts to acquire information that should have been protected. In some cases, this information is in the form of a user password. With knowledge of some other user’s password, an intruder can log in to a system and exercise all the privileges accorded to the legitimate user. Typically, a system must maintain a file that associates a password with each authorized user. If such a file is stored with no protection, then it is an easy matter to gain access to it and learn passwords. The password file can be protected in one of two ways:  One-way function: The system stores only the value of a function based on the user’s password. When the user presents a password, the system transforms that password and compares it with the stored value. In practice, the system usually performs a one- way transformation (not reversible) in which the password is used to generate a key for the one-ay function and in which a fixed-length output is produced.  Access control: Access to the password file is limited to one or a very few accounts. If one or both of these countermeasures are in place, some effort is needed fora potential intruder to learn passwords. On the basis of a survey of the literature and interviews with a number of password crackers, [ALVA90] reports the following techniques for learning passwords:  Try default passwords used with standard accounts that are shipped with the system. Many administrators do not bother to change these defaults.
  • 4. Network Security 10EC832  Exhaustively try all short passwords (those of one to three characters).  Try words in the system’s online dictionary or a list of likely passwords. Examples of the latter are readily available on hacker bulletin boards.  Collect information about users, such as their full names, the names of their spouse and children, pictures in their office, and books in their office that are related to hobbies.  Try users’ phone numbers, Social Security numbers, and room numbers.  Try all legitimate license plate numbers for this state.  Use a Trojan horse (described in Chapter 21) to bypass restrictions on access.  Tap the line between a remote user and the host system. 6.2.INTRUSION DETECTION Inevitably, the best intrusion prevention system will fail. A system’s second line of defense is intrusion detection, and this has been the focus of much research in recent years. This interest is motivated by a number of considerations, including the following: If an intrusion is detected quickly enough, the intruder can be identified and ejected from the system before any damage is done or any data are compromised. Even if the detection is not sufficiently timely to preempt the intruder, the sooner that the intrusion is detected, the less the amount of damage and the more quickly that recovery can be achieved. An effective intrusion detection system can serve as a deterrent, so acting to prevent Intrusions. Intrusion detection enables the collection of information about intrusion techniques that can be used to strengthen the intrusion prevention facility. Intrusion detection is based on the assumption that the behavior of the intruder differs from that of a legitimate user in ways that can be quantified. Of course, we cannot expect that there will be a crisp, exact distinction between an attack by an intruder and the normal use of resources by an authorized user. Rather, we must expect that there will be some overlap. Figure 6.1 suggests, in very abstract terms, the nature of the task confronting the designer of an intrusion detection system. Although the typical behavior of an intruder differs from the typical behavior of an authorized user, there is an overlap in these behaviors. Thus, a loose interpretation of intruder behavior, which will catch more intruders, will also lead to a number of “false positives,” or
  • 5. Network Security 10EC832 authorized users identified as intruders. On the other hand, an attempt to limit false positives by a tight interpretation of intruder behavior will lead to an increase in false negatives, or intruders not identified as intruders. Thus, there is an element of compromise and art in the practice of intrusion detection. In Anderson’s study [ANDE80], it was postulated that one could, with reasonable confidence, distinguish between a masquerader and a legitimate user. Patterns of legitimate user behavior can be established by observing past history, and significant deviation from such patterns can be detected. Anderson suggests that the task of detecting a misfeasor(legitimate user performing in an unauthorized fashion) is more difficult, in that the distinction between abnormal and normal behavior maybe small. Anderson concluded that such violations would be undetectable solely through the search for anomalous behavior. However, misfeasor behavior might nevertheless be detectable by intelligent definition of the class of conditions that suggest unauthorized use. Finally, the detection of the clandestine user was felt to be beyond the scope of purely automated techniques. These observations, which were made in 1980, remain true today. Figure 6.1: Profiles of Behavior of Intruders and Authorized Users Identifies the following approaches to intrusion detection: 1. Statistical anomaly detection: Involves the collection of data relating to the behavior of legitimate users over a period of time. Then statistical tests are applied to observed
  • 6. Network Security 10EC832 Behavior to determine with a high level of confidence whether that behavior is not legitimate user behavior.  Threshold detection: This approach involves defining thresholds, independent of user, for the frequency of occurrence of various events.  Profile based: A profile of the activity of each user is developed and used to detect changes in the behavior of individual accounts. 2. Rule-based detection: Involves an attempt to define a set of rules that can be used to decide that a given behavior is that of an intruder.  Anomaly detection: Rules are developed to detect deviation from previous usage patterns.  Penetration identification: An expert system approach that searches for suspicious behavior. Audit Records A fundamental tool for intrusion detection is the audit record. Some record of ongoing activity by users must be maintained as input to an intrusion detection system. Basically, two plans are used:  Native audit records: Virtually all multiuser operating systems include accounting software that collects information on user activity. The advantage of using this information is that no additional collection software is needed. The disadvantage is that the native audit records may not contain the needed information or may not contain it in a convenient form.  Detection-specific audit records: A collection facility can be implemented that generates audit records containing only that information required by the intrusion detection system. One advantage of such an approach is that it could be made vendor independent and ported to a variety of systems. The disadvantage is the extra overhead involved in having, in effect, two accounting packages running on a machine. Each audit record contains the following fields:  Subject: Initiators of actions. A subject is typically a terminal user but might also be a process acting on behalf of users or groups of users. All activity arises through commands issued by subjects. Subjects may be grouped into different access classes, and these classes may overlap.  Action: Operation performed by the subject on or with an object; for example, login, read, perform I/O, execute.
  • 7. Network Security 10EC832  Object: Receptors of actions. Examples include files, programs, messages ,records, terminals, printers, and user- or program-created structures When a subject is the recipient of an action, such as electronic mail, then that subject is considered an object. Objects may be grouped by type. Object granularity may vary by object type and by environment. For example, database actions may be audited for the database as a whole or at the record level.  Exception-Condition: Denotes which, if any, exception condition is raised on return.  Resource-Usage:A list of quantitative elements in which each element gives the amount used of some resource (e.g., number of lines printed or displayed, number of records read or written, processor time, I/O units used, session elapsed time).  Time-Stamp: Unique time-and-date stamp identifying when the action took place. Most user operations are made up of a number of elementary actions. For example, a file copy involves the execution of the user command, which includes doing access validation and setting up the copy, plus the read from one file, plus the write to another file. Consider the command COPY GAME.EXE TO <Library>GAME.EXE Issued by Smith to copy an executable file GAME from the current directory to the<Library> directory .The following audit records may be generated: In this case, the copy is aborted because Smith does not have write permission to<Library>. The decomposition of a user operation into elementary actions has three advantages: Because objects are the protectable entities in a system, the use of elementary actions enables an audit of all behavior affecting an object. Thus, the system can detect attempted subversions of access controls (by noting an abnormality in the number of exception conditions returned) and can detect successful subversions by noting an abnormality in the set of objects accessible to the subject.
  • 8. Network Security 10EC832 Single-object, single-action audit records simplify the model and the implementation. Because of the simple, uniform structure of the detection-specific audit records, it may be relatively easy to obtain this information or at least part of it by a straightforward mapping from existing native audit records to the detection-specific audit records. StatisticalAnomaly Detection As was mentioned, statistical anomaly detection techniques fall into two broad categories: threshold detection and profile-based systems. Threshold detection involves counting the number of occurrences of a specific event type over an interval of time. If the count surpasses what is considered a reasonable number that one might expect to occur, then intrusion is assumed. Threshold analysis, by itself, is a crude and ineffective detector of even moderately sophisticated attacks. Both the threshold and the time interval must be determined. Because of the variability across users, such thresholds are likely to generate either a lot of false positives or a lot of false negatives. However, simple threshold detectors may be useful in conjunction with more sophisticated techniques. Profile-based anomaly detection focuses on characterizing the past behavior of individual users or related groups of users and then detecting significant deviations .A profile may consist of a set of parameters, so that deviation on just a single parameter may not be sufficient in itself to signal an alert. The foundation of this approach is an analysis of audit records. The audit records provide input to the intrusion detection function in two ways. First, the designer must decide on a number of quantitative metrics that can be used to measure user behavior. An analysis of audit records over a period of time can be used to determine the activity profile of the average user. Thus, the audit records serve to define typical behavior. Second, current audit records are the input used to detect intrusion. That is, the intrusion detection model analyzes incoming audit records to determine deviation from average behavior. Examples of metrics that are useful for profile-based intrusion detection are the following: Counter: A nonnegative integer that may be incremented but not decremented until it is reset by management action. Typically, a count of certain event types is kept over a particular period of time. Examples include the number of logins by a single user during an hour, the number of times a
  • 9. Network Security 10EC832 given command is executed during a single user session, and the number of password failures during a minute. Gauge: A nonnegative integer that may be incremented or decremented. Typically, a gauge is used to measure the current value of some entity. Examples include the number of logical connections assigned to a user application and the number of outgoing messages queued for a user process. Interval timer: The length of time between two related events. An example is the length of time between successive logins to an account. Resource utilization: Quantity of resources consumed during a specified period. Examples include the number of pages printed during a user session and total time consumed by a program execution. Given these general metrics, various tests can be performed to determine whether current activity fits within acceptable limits. [DENN87] lists the following approaches that may be taken: Mean and standard deviation  Multivariate  Markov process  Time series  Operational The simplest statistical test is to measure the mean and standard deviation of a parameter over some historical period. This gives a reflection of the average behavior and its variability. The use of mean and standard deviation is applicable to a wide variety of counters ,timers, and resource measures. But these measures, by themselves ,are typically too crude for intrusion detection purposes. A multivariate model is based on correlations between two or more variables. Intruder behavior may be characterized with greater confidence by considering such correlations (for example, processor time and resource usage, or login frequency and session elapsed time). A Markov process model is used to establish transition probabilities among various states. As an example, this model might be used to look at transitions between certain commands. A time series model focuses on time intervals, looking for sequences of events that happen too rapidly or too slowly. A variety of statistical tests can be applied to characterize abnormal timing.
  • 10. Network Security 10EC832 Finally, an operational model is based on a judgment of what is considered abnormal, rather than an automated analysis of past audit records. Typically, fixed limits are defined and intrusion is suspected for an observation that is outside the limits. This type of approach works best where intruder behavior can be deduced from certain types of activities. For example, a large number of login attempts over a short period suggests an attempted intrusion. As an example of the use of these various metrics and models, Table, shows various measures considered or tested for the Stanford Research Institute(SRI) intrusion detection system (IDES) [DENN87, JAVI91, LUNT88].The main advantage of the use of statistical profiles is that a prior knowledge of security flaws is not required. The detector program learns what is “normal” behavior and then looks for deviations. The approach is not based on system-dependent characteristics and vulnerabilities. Thus, it should be readily portable among a variety of systems.
  • 11. Network Security 10EC832 Table 7.1: Measures That May Be Used for Intrusion Detection System administrators and security analysts to collect a suite of known penetration scenarios and key events that threaten the security of the target system. A simple example of the type of rules that can be used is found in NIDX, a nearly system that used heuristic rules that can be used to assign degrees of suspicion to activities [BAUE88]. Example heuristics are the following:  Users should not read files in other users’ personal directories.  Users must not write other users’ files. Users who log in after hours often access the same files they used earlier.
  • 12. Network Security 10EC832 Users do not generally open disk devices directly but rely on higher-level operating system utilities. Users should not be logged in more than once to the same system. Users do not make copies of system programs. The Base-Rate Fallacy To be of practical use, an intrusion detection system should detect a substantial percentage of intrusions while keeping the false alarm rate at an acceptable level .If only a modest percentage of actual intrusions are detected, the system provides a false sense of security. On the other hand, if the system frequently triggers an alert when there is no intrusion (a false alarm), then either system managers will begin to ignore the alarms, or much time will be wasted analyzing the false alarms. Unfortunately, because of the nature of the probabilities involved, it is very difficult to meet the standard of high rate of detections with a low rate of false alarms. In general, if the actual numbers of intrusions is low compared to the number of legitimate uses of a system, then the false alarm rate will be high unless the test is extremely discriminating. A study of existing intrusion detection systems, reported in [AXEL00], indicated that current systems have not overcome the problem of the base-rate fallacy. See Appendix 20A for a brief background on the mathematics of this problem. Distributed Intrusion Detection Until recently, work on intrusion detection systems focused on single-system standalone facilities. The typical organization, however, needs to defend a distributed collection of hosts supported by a LAN or internetwork. Although it is possible to mount a defense by using stand-alone intrusion detection systems on each host, amore effective defense can be achieved by coordination and cooperation among intrusion detection systems across the network .Porras points out the following major issues in the design of a distributed intrusion detection system [PORR92]: A distributed intrusion detection system may need to deal with different audit record formats. In a heterogeneous environment, different systems will employ different native audit collection systems and, if using intrusion detection, may employ different formats for security-related audit records. One or more nodes in the network will serve as collection and analysis points for the data from the systems on the network. Thus, either raw audit data or summary data must be transmitted across the network. Therefore, there is a requirement to assure the integrity and confidentiality of these data. Integrity is required to prevent an intruder from masking his or her activities by altering the
  • 13. Network Security 10EC832 transmitted audit information. Confidentiality is required because the transmitted audit information could be valuable. Either a centralized or decentralized architecture can be used. With a centralized architecture, there is a single central point of collection and analysis of all audit data. This eases the task of correlating incoming reports but creates a potential bottleneck and single point of failure. With a decentralized architecture, there are more than one analysis centers, but these must coordinate their activities and exchange information. Fig: 6.2: Architecture for Distributed Intrusion Detection A good example of a distributed intrusion detection system is one developed at the university of California at Davis [HEBE92, SNAP91]. Figure 20.2 shows the over all architecture, which consists of three main components: • Host agent module: An audit collection module operating as a background process on a monitored system. Its purpose is to collect data on security related events on the host and transmit these to the central manager. • LAN monitor agent module: Operates in the same fashion as a host agent module except that it analyzes LAN traffic and reports the results to the central manager. • Central manager module: Receives reports from LAN monitor and host agents and processes and correlates these reports to detect intrusion. The scheme is designed to be independent of any operating system or system auditing implementation. Figure 20.3 [SNAP91] shows the general approach that is taken. The agent captures each audit record produced by the native audit collection system .A filter is
  • 14. Network Security 10EC832 applied that retains only those records that are of security interest. These records are then reformatted into a standardized format referred to as the host audit record (HAR). Next, a template-driven logic module analyzes the records for suspicious activity. At the lowest level, the agent scans for notable events that are of interest independent of any past events.Examples include failed file accesses,accessingsystem files, and changing a file’s access control. At the next higher level, the agent looks for sequences of events, such as known attack patterns (signatures). Finally, the agent looks for anomalous behavior of an individual user based on a historical profile of that user, such as number of programs executed, number of files accessed. Fig: 6.2: Agent Architecture When suspicious activity is detected, an alert is sent to the central manager. The central manager includes an expert system that can draw inferences from received data. The manager may also query individual systems for copies of HAR sto correlate with those from other agents. The LAN monitor agent also supplies information to the central manager. The LAN monitor agent audits host-host connections, services used, and volume of traffic .It searches for significant events, such as sudden changes in network load, the use of security-related services, and network activities such as rlogin. The architecture depicted in Figures 20.2 and 20.3 is quite general and flexible .It offers a foundation for a machine-independent approach that can expand from stand-alone intrusion detection to a system that is able to correlate activity from a number of sites and networks to detect suspicious activity that would otherwise remain undetected.
  • 15. Network Security 10EC832 Honeypots A relatively recent innovation in intrusion detection technology is the honeypot. Honeypots are decoy systems that are designed to lure a potential attacker away from critical systems. Honeypots are designed to  Divert an attacker from accessing critical systems  Collect information about the attacker’s activity  Encourage the attacker to stay on the system long enough for administrators to respond These systems are filled with fabricated information designed to appear valuable but that a legitimate user of the system wouldn’t access. Thus, any access to the honeypot is suspect. The system is instrumented with sensitive monitors and event loggers that detect these accesses and collect information about the attacker’s activities. Because any attack against the honeypot is made to seem successful, administrators have time to mobilize and log and track the attacker without ever exposing productive systems. Initial efforts involved a single honeypot computer with IP addresses designed to attract hackers. More recent research has focused on building entire honeypot networks that emulate an enterprise, possibly with actual or simulated traffic and data. Once hackers are within the network, administrators can observe their behavior in detail and figure out defenses. Intrusion DetectionExchange Format To facilitate the development of distributed intrusion detection systems that can function across a wide range of platforms and environments, standards are needed to support interoperability. Such standards are the focus of the IETF Intrusion Detection Working Group. The purpose of the working group is to define data formats and exchange procedures for sharing information of interest to intrusion detection and response systems and to management systems that may need to interact with them. The outputs of this working group include:  A requirements document, which describes the high-level functional requirements for communication between intrusion detection systems and requirements for communication between intrusion detection systems and with management systems, including the rationale for those requirements. Scenarios will be used to illustrate the requirements.
  • 16. Network Security 10EC832  A common intrusion language specification, which describes data formats that satisfy the requirements.  A framework document, which identifies existing protocols best used for communication between intrusion detection systems, and describes how the devised data formats relate to them. As of this writing, all of these documents are in an Internet-draft document stage. 6.3. PASSWORD MANAGEMENT PasswordProtection The front line of defense against intruders is the password system. Virtually all multiuser systems require that a user provide not only a name or identifier (ID) but also a password. The password serves to authenticate the ID of the individual logging on to the system. In turn, the ID provides security in the following ways:  The ID determines whether the user is authorized to gain access to a system .In some systems, only those who already have an ID filed on the system are allowed to gain access.  The ID determines the privileges accorded to the user .A few users may have supervisory or “super user” status that enables them to read files and perform functions that are especially protected by the operating system. Some systems have guest or anonymous accounts, and users of these accounts have more limited privileges than others.  The ID is used in what is referred to as discretionary access control. For example, by listing the IDs of the other users, a user may grant permission to them to read files owned by that user. THE VULNERABILITY OF PASSWORDS To understand the nature of the threat to password- based systems, let us consider a scheme that is widely used on UNIX, in which passwords are never stored in the clear. Rather, the following procedure is employed (Figure 20.4a). Each user selects a password of up to eight printable characters in length. This is converted into a 56-bit value (using 7-bit
  • 17. Network Security 10EC832 ASCII) that serves as the key input to an encryption routine. The encryption routine, known as crypt, is based on DES. The DES algorithm is modified using a 12-bit “salt” value. Typically, this value is related to the time at which the password is assigned to the user. The modified DES algorithm is exercised with a data input consisting of a 64-bit block of zeros. The output of the algorithm then serves as input for a second encryption. This process is repeated for a total of 25 encryptions. The resulting 64-bit output is then translated into an 11-character sequence. The hashed password is then stored, together with a plaintext copy of the salt, in the password file for the corresponding user ID. This method has been shown to be secure against a variety of cryptanalytic attacks [WAGN00]. The salt serves three purposes:  It prevents duplicate passwords from being visible in the password file. Even if two users choose the same password, those passwords will be assigned at different times. Hence, the “extended” passwords of the two users will differ.  It effectively increases the length of the password without requiring the user to remember two additional characters. Hence, the number of possible passwords is increased by a factor of 4096, increasing the difficulty of guessing a password.  It prevents the use of a hardware implementation of DES, which would ease the difficulty of a brute-force guessing attack. When a user attempts to log on to a UNIX system, the user provides an ID and a password. The operating system uses the ID to index into the password file and retrieve the plaintext salt and the encrypted password. The salt and user-supplied password are used as input to the encryption routine. If the result matches the stored value, the password is accepted. The encryption routine is designed to discourage guessing attacks. Software implementations of DES are slow compared to hardware versions, and the use of25 iterations multiplies the time required by 25. However, since the original design of this algorithm, two changes have occurred. First, newer implementations of the algorithm itself have resulted in speedups.
  • 18. Network Security 10EC832 (a) Loading a new password (b) Verifying a password Fig 6.4: UNIX Password Scheme In a reasonably short time by using a more efficient encryption algorithm than the standard one stored on the UNIX systems that it attacked. Second, hardware performance continues to increase, so that any software algorithm executes more quickly. Thus, there are two threats to the UNIX password scheme. First, a user can gain access on a machine using a guest account or by some other means and then run a password guessing program, called a password cracker, on that machine. The attacker should be able to check hundreds and perhaps thousands of possible passwords with little resource consumption. In addition, if an opponent is able to obtain a copy of the password file, then a cracker program can be run on another machine at leisure. This enables the opponent to run through many thousands of possible passwords in a reasonable period.
  • 19. Network Security 10EC832 As an example, a password cracker was reported on the Internet in August 1993 [MADS93]. Using a Thinking Machines Corporation parallel computer, a performance of 1560 encryptions per second per vector unit was achieved. With four vector units per processing node (a standard configuration), this works out to 800,000 encryptions per second on a 128-node machine (which is a modest size) and 6.4 million encryptions per second on a 1024-node machine. Even these stupendous guessing rates do not yet make it feasible for an attacker to use a dumb brute-force technique of trying all possible combinations of characters to discover a password. Instead, password crackers rely on the fact that some people choose easily guessable passwords. Some users, when permitted to choose their own password, pick one that is absurdly short. The results of one study at Purdue University are shown in Table 20.4. The study observed password change choices on 54 machines, representing approximately 7000 user accounts. Almost 3% of the passwords were three characters or fewer in length. An attacker could begin the attack by exhaustively testing all possible passwords of length 3 or fewer .A simple remedy is for the system to reject any password choice of fewer than, say, six characters or even to require that all passwords be exactly eight characters in length. Most users would not complain about such a restriction. Password length is only part of the problem. Many people, when permitted to choose their own password, pick a password that is guessable, such as their own name, their street name, a common dictionary word, and so forth. This makes the job of password cracking straightforward. The cracker simply has to test the password file against lists of likely passwords. Because many people use guessable passwords, such a strategy should succeed on virtually all systems. One demonstration of the effectiveness of guessing is reported in [KLEI90]. From a variety of sources, the author collected UNIX password files, containing nearly 14,000 encrypted passwords. The result, which the author rightly characterizes .  Try various permutations on the words from step 2. This included making the first letter uppercase or a control character, making the entire word uppercase, reversing the word, changing the letter “o” to the digit “zero,” and so on. These permutations added another 1 million words to the list. Try various capitalization permutations on the words from step 2 that were not considered in step3. This added almost 2 million additional words to the list. Thus, the test involved in the neighborhood of 3 million words. Using the fastest Thinking Machines implementation listed earlier, the time to
  • 20. Network Security 10EC832 encrypt all these words for all possible salt values is under an hour. Keep in mind that such a thorough search could produce a success rate of about 25%, whereas even a single hit may be enough to gain a wide range of privileges on a system. ACCESS CONTROL: One way to thwart a password attack is to deny the opponent access to the password file. If the encrypted password portion of the file is accessible only by a privileged user, then the opponent cannot read it without already knowing the password of a privileged user. [SPAF92a] points out several flaws in this strategy:• Many systems, including most UNIX systems, are susceptible to unanticipated break-ins. Once an attacker has gained access by some means, he or she may wish to obtain a collection of passwords in order to use different accounts for different logon sessions to decrease the risk of detection. Or a user with an account may desire another user’s account to access privileged data An accident of protection might render the password file readable, thus compromising all the accounts. Some of the users have accounts on other machines in other protection domains, and they use the same password. Thus, if the passwords could be read by anyone on one machine, a machine in another location might be compromised. Thus, a more effective strategy would be to force users to select passwords that are difficult to guess. PasswordSelectionStrategies The lesson from the two experiments just described (Tables 20.4 and 20.5) is that ,left to their own devices, many users choose a password that is too short or too easy to guess. At the other extreme, if users are assigned passwords consisting of eight randomly selected printable characters, password cracking is effectively impossible. But it would be almost as impossible for most users to remember their passwords. Fortunately, even if we limit the password universe to strings of characters that are reasonably memorable, the size of the universe is still too large to permit practical cracking. Our goal, then, is to eliminate guessable passwords while allowing the user to select a password that is memorable. Four basic techniques are in use:  User education  Computer-generated passwords  Reactive password checking  Proactive password checking
  • 21. Network Security 10EC832 Users can be told the importance of using hard-to-guess passwords and can be provided with guidelines for selecting strong passwords. This user education strategy is unlikely to succeed at most installations, particularly where there is a large user population or a lot of turnover. Many users will simply ignore the guidelines. Others may not be good judges of what is a strong password. For example, many users (mistakenly) believe that reversing a word or capitalizing the last letter makes a password un guessable Computer-generated passwords also have problems. If the passwords are quite random in nature, users will not be able to remember them. Even if the password is pronounceable, the user may have difficulty remembering it and so be tempted to write it down. In general, computer-generated password schemes have a history of poor acceptance by users. FIPS PUB 181 defines one of the best-designed automated password generators. The standard includes not only a description of the approach but also a complete listing of the C source code of the algorithm. The algorithm generates words by forming pronounceable syllables and concatenating them to form a word. A random number generator produces a random stream of characters used to construct the syllables and words. A reactive password checking strategy is one in which the system periodically runs its own password cracker to find guessable passwords. The system cancels any passwords that are guessed and notifies the user. This tactic has a number of drawbacks .First, it is resource intensive if the job is done right. Because a determined opponent who is able to steal a password file can devote full CPU time to the task for hours or even days, an effective reactive password checker is at a distinct disadvantage .Furthermore, any existing passwords remain vulnerable until the reactive password checker finds them. The most promising approach to improved password security is a proactive password checker. In this scheme, a user is allowed to select his or her own password. However, at the time of selection, the system checks to see if the password is allowable and, if not, rejects it. Such checkers are based on the philosophy that, with sufficient guidance from the system, users can select memorable passwords from a fairly large password space that are not likely to be guessed in a dictionary attack. The trick with a proactive password checker is to strike a balance between user acceptability and strength. If the system rejects too many passwords, users will complain that it is too hard to select a password. If the system uses some simple algorithm to define what is acceptable, this provides guidance
  • 22. Network Security 10EC832 to password crackers to refine their guessing technique. In the remainder of this subsection, we look at possible approaches to proactive password checking. The first approach is a simple system for rule enforcement. For example, the following rules could be enforced:  All passwords must be at least eight characters long.  In the first eight characters, the passwords must include at least one each of uppercase, lowercase, numeric digits, and punctuation marks. These rules could be coupled with advice to the user. Although this approach is superior to simply educating users, it may not be sufficient to thwart password crackers. This scheme alerts crackers as to which passwords not to try but may still make it possible to do password cracking. Another possible procedure is simply to compile a large dictionary of possible“ bad” passwords. When a user selects a password, the system checks to make sure that it is not on the disapproved list. There are two problems with this approach:  Space: The dictionary must be very large to be effective. For example, the dictionary used in the Purdue study [SPAF92a] occupies more than 30 megabytes of storage.  Time: The time required to search a large dictionary may itself be large. In addition, to check for likely permutations of dictionary words, either those words most be included in the dictionary, making it truly huge, or each search must also involve considerable processing.
  • 23. Network Security 10EC832 UNIT 7 Viruses and related Threats, Virus Countermeasures 7.1. MALICIOUS SOFTWARE The terminology in this area presents problems because of a lack of universal agreement on all of the terms and because some of the categories overlap. Malicious software can be divided into two categories: those that need a host program, and those that are independent. The former, referred to as parasitic, are essentially fragments of programs that cannot exist independently of some actual application program, utility, or system program. Viruses, logic bombs. The taxonomy of malicious software as follows: Fig 7.1: Taxonomy of Malicious Software
  • 24. Network Security 10EC832 Table 7.1 Terminology of Malicious Programs and backdoors are examples. Independent malware is a self-contained program that can be scheduled and run by the operating system.Worms and bot programs are examples. We can also differentiate between those software threats that do not replicate and those that do. The former are programs or fragments of programs that are activated by a trigger. Examples are logic bombs, backdoors, and bot programs. The latter consist of either a program fragment or an independent program that, when executed, may produce one or more copies of itself to be activated later on the same system or some other system.Viruses and worms are examples.
  • 25. Network Security 10EC832 In the remainder of this section, we briefly survey some of the key categories of malicious software, deferring discussion on the key topics of viruses and worms until the following sections. Backdoor A backdoor, also known as a trapdoor, is a secret entry point into a program that allows someone who is aware of the backdoor to gain access without going through the usual security access procedures. Programmers have used backdoors legitimately for many years to debug and test programs; such a backdoor is called a maintenance hook. This usually is done when the programmer is developing an application that has an authentication procedure, or a long setup, requiring the user to enter many different values to run the application. To debug the program, the developer may wish to gain special privileges or to avoid all the necessary setup and authentication. The programmer may also want to ensure that there is a method of activating the program should something be wrong with the authentication procedure that is being built into the application. The backdoor is code that recognizes some special sequence of input or is triggered by being run from a certain user ID or by an unlikely sequence of events. It is difficult to implement operating system controls for backdoors. Security measures must focus on the program development and software update activities. Logic Bomb One of the oldest types of program threat, predating viruses and worms, is the logic bomb.The logic bomb is code embedded in some legitimate program that is set to “explode” when certain conditions are met. Examples of conditions that can be used as triggers for a logic bomb are the presence or absence of certain files, a particular day of the week or date, or a particular user running the application. Once triggered, a bomb may alter or delete data or entire files, cause a machine halt, or do some other damage. Trojan Horses A Trojan horse is a useful, or apparently useful, program or command procedure containing hidden code that, when invoked, performs some unwanted or harmful function. Trojan horse programs can be used to accomplish functions indirectly that an unauthorized user could not accomplish directly. For example, to gain access to the files of another user on a shared system, a user could create a Trojan horse program that, when executed, changes the invoking
  • 26. Network Security 10EC832 user’s file permissions so that the files are readable by any user. The author could then induce users to run the program by placing it in a common directory and naming it such that it appears to be a useful utility program or application. An example is a program that ostensibly produces a listing of the user’s files in a desirable format. After another user has run the program, the author of the program can then access the information in the user’s files. An example of a Trojan horse program that would be difficult to detect is a compiler that has been modified to insert additional code into certain programs as they are compiled, such as a system login program [THOM84]. The code creates a backdoor in the login program that permits the author to log on to the system using a special password.This Trojan horse can never be discovered by reading the source code of the login program. Trojan horses fit into one of three models: • Continuing to perform the function of the original program and additionally performing a separate malicious activity • Continuing to perform the function of the original program but modifying the function to perform malicious activity (e.g., a Trojan horse version of a login program that collects passwords) or to disguise other malicious activity (e.g., a Trojan horse version of a process listing program that does not display certain processes that are malicious) • Performing a malicious function that completely replaces the function of the original program Mobile Code Mobile code refers to programs (e.g., script, macro, or other portable instruction) that can be shipped unchanged to a heterogeneous collection of platforms and execute with identical semantics [JANS01]. The term also applies to situations involving a large homogeneous collection of platforms (e.g., Microsoft Windows). Mobile code is transmitted from a remote system to a local system and then executed on the local system without the user’s explicit instruction. Mobile code often acts as a mechanism for a virus, worm, or Trojan horse to be transmitted to the user’s workstation. In other cases, mobile code takes advantage of vulnerabilities to perform its own exploits, such as unauthorized data access or root compromise. Popular vehicles for mobile code include Java applets, ActiveX, JavaScript, and VBScript.The most common ways of using mobile code for malicious operations on local system are cross-site scripting, interactive and dynamic Web sites, e-mail attachments, and downloads from untrusted sites or of untrusted software.
  • 27. Network Security 10EC832 Multiple-Threat Malware Viruses and other malware may operate in multiple ways. The terminology is far from uniform; this subsection gives a brief introduction to several related concepts that could be considered multiple- threat malware. A multipartite virus infects in multiple ways.Typically, the multipartite virus is capable of infecting multiple types of files, so that virus eradication must deal with all of the possible sites of infection. A blended attack uses multiple methods of infection or transmission, to maximize the speed of contagion and the severity of the attack. Some writers characterize a blended attack as a package that includes multiple types of malware.An example of a blended attack is the Nimda attack, erroneously referred to as simply a worm. Nimda uses four distribution methods: • E-mail: A user on a vulnerable host opens an infected e-mail attachment; Nimda looks for e-mail addresses on the host and then sends copies of itself to those addresses. • Windows shares: Nimda scans hosts for unsecured Windows file shares; it can then use NetBIOS86 as a transport mechanism to infect files on that host in the hopes that a user will run an infected file, which will activate Nimda on that host. • Web servers: Nimda scans Web servers, looking for known vulnerabilities in Microsoft IIS. If it finds a vulnerable server, it attempts to transfer a copy of itself to the server and infect it and its files. • Web clients: If a vulnerable Web client visits a Web server that has been infected by Nimda, the client’s workstation will become infected. Thus, Nimda has worm, virus, and mobile code characteristics. Blended attacks may also spread through other services, such as instant messaging and peer-to-peer file sharing. 7.2. VIRUSES AND RELATED ATTACKS: The Nature of Viruses A computer virus is a piece of software that can “infect” other programs by modifying them; the modification includes injecting the original program with a routine to make copies of the virus
  • 28. Network Security 10EC832 program, which can then go on to infect other programs. Computer viruses first appeared in the early 1980s, and the term itself is attributed to Fred Cohen in 1983. Cohen is the author of a groundbreaking book on the subject Biological viruses are tiny scraps of genetic code—DNA or RNA—that can take over the machinery of a living cell and trick it into making thousands of flawless replicas of the original virus. Like its biological counterpart, a computer virus carries in its instructional code the recipe for making perfect copies of itself. The typical virus becomes embedded in a program on a computer. Then, whenever the infected computer comes into contact with an uninfected piece of software, a fresh copy of the virus passes into the new program. Thus, the infection can be spread from computer to computer by unsuspecting users who either swap disks or send programs to one another over a network. In a network environment, the ability to access applications and system services on other computers provides a perfect culture for the spread of a virus. A virus can do anything that other programs do. The difference is that a virus attaches itself to another program and executes secretly when the host program is run. Once a virus is executing, it can perform any function, such as erasing files and programs that is allowed by the privileges of the current user. A computer virus has three parts 1. Infection mechanism: The means by which a virus spreads, enabling it to replicate. The mechanism is also referred to as the infection vector. 2. Trigger: The event or condition that determines when the payload is activated or delivered. 3. Payload: What the virus does, besides spreading. The payload may involve damage or may involve benign but noticeable activity. During its lifetime, a typical virus goes through the following four phases: 1. Dormant phase: The virus is idle. The virus will eventually be activated by some event, such as a date, the presence of another program or file, or the capacity of the disk exceeding some limit. Not all viruses have this stage.
  • 29. Network Security 10EC832 2. Propagation phase: The virus places a copy of itself into other programs or into certain system areas on the disk. The copy may not be identical to the propagating version; viruses often morph to evade detection. Each infected program will now contain a clone of the virus, which will itself enter a propagation phase. 3. Triggering phase: The virus is activated to perform the function for which it was intended. As with the dormant phase, the triggering phase can be caused by a variety of system events, including a count of the number of times that this copy of the virus has made copies of itself. 4. Execution phase: The function is performed. The function may be harmless, such as a message on the screen, or damaging, such as the destruction of programs and data files. Most viruses carry out their work in a manner that is specific to a particular operating system and, in some cases, specific to a particular hardware platform. Thus, they are designed to take advantage of the details and weaknesses of particular systems. VIRUS STRUCTURE: A virus can be prepended or postpended to an executable program, or it can be embedded in some other fashion. The key to its operation is that the infected program, when invoked, will first execute the virus code and then execute the original code of the program. A very general depiction of virus structure is shown in Figure 7.1 In this case, the virus code,V, is prepended to infected programs, and it is assumed that the entry point to the program, when invoked, is the first line of the program. The infected program begins with the virus code and works as follows.The first line of code is a jump to the main virus program.The second line is a special marker that is used by the virus to determine whether or not a potential victim program has already been infected with this virus.When the program is invoked, control is immediately transferred to the main virus program. The virus program may first seek out uninfected executable files and infect them. Next, the virus may perform some action, usually detrimental to the system.This action could be performed every time the program is invoked, or it could be a logic bomb that triggers only under certain conditions. Finally, the virus transfers control to the original program. If the infection phase of the program is reasonably rapid, a user is unlikely to notice any difference between the execution of an infected and an uninfected program.
  • 30. Network Security 10EC832 A virus such as the one just described is easily detected because an infected version of a program is longer than the corresponding uninfected one. A way to thwart such a simple means of detecting a virus is to compress the executable file so that both the infected and uninfected versions are of identical length. Figure 7.2 shows in general terms the logic required.The key lines in this virus are numbered, and Figure 21.3 [COHE94] illustrates the operation.We assume that program P1 is infected with the virus CV.When this program is invoked, control passes to its virus, which performs the following steps: 1. For each uninfected file P2 that is found, the virus first compresses that file to produce , which is shorter than the original program by the size of the virus. 2. A copy of the virus is prepended to the compressed program. 3. The compressed version of the original infected program, , is uncompressed. 4. The uncompressed original program is executed. Figure 7.2 Logic for a Compression Virus
  • 31. Network Security 10EC832 Figure 7.3 A Compression Virus Viruses Classification There has been a continuous arms race between virus writers and writers of antivirus software since viruses first appeared. As effective countermeasures are developed for existing types of viruses, newer types are developed. There is no simple or universally agreed upon classification scheme for viruses, In this section, classify viruses along two orthogonal axes: the type of target the virus tries to infect and the method the virus uses to conceal itself from detection by users and antivirus software. A virus classification by target includes the following categories: 1. Boot sector infector: Infects a master boot record or boot record and spreads when a system is booted from the disk containing the virus. 2. File infector: Infects files that the operating system or shell consider to be executable. 3. Macro virus: Infects files with macro code that is interpreted by an application. A virus classification by concealment strategy includes the following categories: 4. Encrypted virus: A typical approach is as follows.A portion of the virus creates a random encryption key and encrypts the remainder of the virus.The key is stored with the virus.When an infected program is invoked, the virus uses the stored random key to decrypt the virus.When the virus replicates, a different random key is selected. Because the bulk of the virus is encrypted with a different key for each instance, there is no constant bit pattern to observe. 5. Stealth virus: A form of virus explicitly designed to hide itself from detection by antivirus software.Thus, the entire virus, not just a payload is hidden.
  • 32. Network Security 10EC832 6. Polymorphic virus: A virus that mutates with every infection, making detection by the “signature” of the virus impossible. 7. Metamorphic virus: As with a polymorphic virus, a metamorphic virus mutates with every infection.The difference is that a metamorphic virus rewrites itself completely at each iteration, increasing the difficulty of detection. Metamorphic viruses may change their behavior as well as their appearance. One example of a stealth virus was discussed earlier: a virus that uses compression so that the infected program is exactly the same length as an uninfected version. Far more sophisticated techniques are possible. For example, a virus can place intercept logic in disk I/O routines, so that when there is an attempt to read suspected portions of the disk using these routines, the virus will present back the original, uninfected program.Thus, stealth is not a term that applies to a virus as such but, rather, refers to a technique used by a virus to evade detection. A polymorphic virus creates copies during replication that are functionally equivalent but have distinctly different bit patterns. As with a stealth virus, the purpose is to defeat programs that scan for viruses. In this case, the “signature” of the virus will vary with each copy. To achieve this variation, the virus may randomly insert superfluous instructions or interchange the order of independent instructions. A more effective approach is to use encryption.The strategy of the encryption virus is followed. The portion of the virus that is responsible for generating keys and performing encryption/decryption is referred to as the mutation engine. The mutation engine itself is altered with each use. Virus Kits Another weapon in the virus writers’ armory is the virus-creation toolkit. Such a toolkit enables a relative novice to quickly create a number of different viruses. Although viruses created with toolkits tend to be less sophisticated than viruses designed from scratch, the sheer number of new viruses that can be generated using a toolkit creates a problem for antivirus schemes.
  • 33. Network Security 10EC832 Macro Viruses In the mid-1990s, macro viruses became by far the most prevalent type of virus. Macro viruses are particularly threatening for a number of reasons: 1. A macro virus is platform independent. Many macro viruses infect Microsoft Word documents or other Microsoft Office documents. Any hardware platform and operating system that supports these applications can be infected. 2. Macro viruses infect documents, not executable portions of code. Most of the information introduced onto a computer system is in the form of a document rather than a program. 3. Macro viruses are easily spread.A very common method is by electronic mail. 4. Because macro viruses infect user documents rather than system programs, traditional file system access controls are of limited use in preventing their spread. Macro viruses take advantage of a feature found in Word and other office applications such as Microsoft Excel, namely the macro. In essence, a macro is an executable program embedded in a word processing document or other type of file. Typically, users employ macros to automate repetitive tasks and thereby save keystrokes. The macro language is usually some form of the Basic programming language.A user might define a sequence of keystrokes in a macro and set it up so that the macro is invoked when a function key or special short combination of keys is input. Successive releases of MS Office products provide increased protection against macro viruses. For example, Microsoft offers an optional Macro Virus Protection tool that detects suspicious Word files and alerts the customer to the potential risk of opening a file with macros.Various antivirus product vendors have also developed tools to detect and correct macro viruses. As in other types of viruses, the arms race continues in the field of macro viruses, but they no longer are the predominant virus threat. E-Mail Viruses A more recent development in malicious software is the e-mail virus. The first rapidly spreading e- mail viruses, such as Melissa, made use of a Microsoft Word macro embedded in an attachment. If the recipient opens the e-mail attachment, the Word macro is activated.Then
  • 34. Network Security 10EC832 1. The e-mail virus sends itself to everyone on the mailing list in the user’s e-mail package. 2. The virus does local damage on the user’s system. In 1999, a more powerful version of the e-mail virus appeared. This newer version can be activated merely by opening an e-mail that contains the virus rather than opening an attachment. The virus uses the Visual Basic scripting language supported by the e-mail package. Thus we see a new generation of malware that arrives via e-mail and uses e-mail software features to replicate itself across the Internet. The virus propagates itself as soon as it is activated (either by opening an e-mail attachment or by opening the e-mail) to all of the e-mail addresses known to the infected host. As a result, whereas viruses used to take months or years to propagate, they now do so in hours.This makes it very difficult for antivirus software to respond before much damage is done. Ultimately, a greater degree of security must be built into Internet utility and application software on PCs to counter the growing threat. 7.3. VIRUS COUNTERMEASURES Antivirus Approaches The ideal solution to the threat of viruses is prevention: Do not allow a virus to get into the system in the first place, or block the ability of a virus to modify any files containing executable code or macros. This goal is, in general, impossible to achieve, although prevention can reduce the number of successful viral attacks. The next best approach is to be able to do the following: 1. Detection: Once the infection has occurred, determine that it has occurred and locate the virus. 2. Identification: Once detection has been achieved, identify the specific virus that has infected a program. 3. Removal: Once the specific virus has been identified, remove all traces of the virus from the infected program and restore it to its original state. Remove the virus from all infected systems so that the virus cannot spread further. If detection succeeds but either identification or removal is not possible, then the alternative is to discard the infected file and reload a clean backup version. Advances in virus and antivirus technology go hand in hand. Early viruses were relatively simple code fragments and could be identified and purged with relatively
  • 35. Network Security 10EC832 simple antivirus software packages. As the virus arms race has evolved, both viruses and, necessarily, antivirus software have grown more complex and sophisticated. Four generations of antivirus software: • First generation: simple scanners • Second generation: heuristic scanners • Third generation: activity traps • Fourth generation: full-featured protection A first-generation scanner requires a virus signature to identify a virus. The virus may contain “wildcards” but has essentially the same structure and bit pattern in all copies. Such signature- specific scanners are limited to the detection of known viruses. Another type of first-generation scanner maintains a record of the length of programs and looks for changes in length. A second-generation scanner does not rely on a specific signature. Rather, the scanner uses heuristic rules to search for probable virus infection. One class of such scanners looks for fragments of code that are often associated with viruses. For example, a scanner may look for the beginning of an encryption loop used in a polymorphic virus and discover the encryption key. Once the key is discovered, thescanner can decrypt the virus to identify it, then remove the infection and return the program to service. Another second-generation approach is integrity checking. A checksum can be appended to each program. If a virus infects the program without changing the checksum, then an integrity check will catch the change. To counter a virus that is sophisticated enough to change the checksum when it infects a program, an encrypted hash function can be used. The encryption key is stored separately from the program so that the virus cannot generate a new hash code and encrypt that. By using a hash function rather than a simpler checksum, the virus is prevented from adjusting the program to produce the same hash code as before. Third-generation programs are memory-resident programs that identify a virus by its actions rather than its structure in an infected program. Such programs have the advantage that it is not necessary to develop signatures and heuristics for a wide array of viruses. Rather, it is necessary
  • 36. Network Security 10EC832 only to identify the small set of actions that indicate an infection is being attempted and then to intervene. Fourth-generation products are packages consisting of a variety of antivirus techniques used in conjunction. These include scanning and activity trap components. In addition, such a package includes access control capability, which limits the ability of viruses to penetrate a system and then limits the ability of a virus to update files in order to pass on the infection. The arms race continues. With fourth-generation packages, a more comprehensive defense strategy is employed, broadening the scope of defense to more general-purpose computer security measures. Digital Immune System The Digital Immune system is a comprehensive approach to virus protection developed by IBM. The motivation for this development has been the rising threat of Internet-based virus propagation.Traditionally the virus threat was characterized by the relatively slow spread of new viruses and new mutations. Antivirus software was typically updated on a monthly basis and this has been sufficient to control the problem. i. Two major trends in Internet technology had an increasing impact on the rate of virus propagation in recent years:  Integrated Mail Systems: Systems such as Lotus Notes and Microsoft Outlook make it very simple to send anything to anyone and to work with objects that are received.  Mobile-Program Systems: Capabilities such as Java and ActiveX allow programs to move on their own form one system to another.
  • 37. Network Security 10EC832 ii. In response to threat posed by these Internet-based capabilities, IBM has developed a prototype digital immune system. The objective of this system is to provide rapid response time so that viruses can be stamped out almost as soon as they are introduced. iii. When a new virus enters an organization, the immune system automatically captures it, analyzes it, adds detection and shielding for it, removes it and passes information about that virus to systems running IBM antivirus so that it can be detected before it is allowed to run elsewhere. The operation of digital immune system as follows:  A monitoring program on each PC uses a variety of heuristics based on system behaviour, suspicious changes to programs or family signature to inform that a virus may be present. The monitoring program forwards a copy of any program thought to be infected to an administrative machine within the organization.  The administrative machine encrypts the sample and sends it to a central virus analysis machine.  This machine creates an environment in which the infected program can be safely run for analysis. Techniques used for this purpose include emulation, or the creation of a protected environment within which the suspect program can be executed and monitored. The virus analysis machine then produces a prescription for identifying and removing the virus.  The resulting prescription is sent back to the administrative machine.  The administrative machine forwards the prescription to the infected client.  The prescription is also forwarded to other clients in the organization.  Subscribers around the world receive regular antivirus updates that protect them from the new virus. The success of digital immune system depends on the ability of the virus analysis machine to detect new and innovative virus strains. By constantly analyzing and monitoring the viruses found in the wild, it should be possible to continuously update the Digital Immune System software to keep up with the threat.
  • 39. Network Security 10EC832 Dept. ofECE/ SJBIT Page 123 UNIT 8 Firewall Design Principles, Trusted Systems 8.1.Introduction: Firewalls are seen evolution of information systems and now everyone want to be on the Internet and to interconnect networks .It has persistent security concerns and can’t easily secure every system in org and so typically use a Firewall to provide perimeter defence as part of comprehensive security strategy. 8.1.1 What is a Firewall? A firewall is inserted between the premises network and the Internet to establish a controlled link and to erect an outer security wall or perimeter, forming a single choke point where security and audit can be imposed. A firewall is defined as a single choke point that keeps unauthorized users out of the protected network, prohibits potentially vulnerable services from entering or leaving the network, and provides protection from various kinds of IP spoofing and routing attacks. It provides a location for monitoring security-related events and is a convenient platform for several Internet functions that are not security related, such as NAT and Internet usage audits or logs. A firewall can serve as the platform for IPSec to implement virtual private networks. The firewall itself must be immune to penetration, since it will be a target of attack. The Figure below illustrates the general model of firewall use on the security perimeter, as a choke point for traffic between between the external less-trusted Internet and the internal more trusted private network. Fig 8.1 : the general model of firewall
  • 40. Network Security 10EC832 Dept. ofECE/ SJBIT Page 124 Firewalls have their limitations, including that they cannot protect against attacks that bypass the firewall, eg PCs with dial-out capability to an ISP, or dial-in modem pool use. They do not protect against internal threats, eg disgruntled employee or one who cooperates with an attacker. An improperly secured wireless LAN may be accessed from outside the organization. An internal firewall that separates portions of an enterprise network cannot guard against wireless communications between local systems on different sides of the internal firewall. A laptop, PDA, or portable storage device may be used and infected outside the corporate network, and then attached and used internally. 8.1.2 Firewalls – Packet Filters: Have three common types of firewalls: packet filters, application-level gateways, & circuit-level gateways.A packet-filtering router applies a set of rules to each incoming and outgoing IP packet to forward or discard the packet. Filtering rules are based on information contained in a network packet such as src & dest IP addresses, ports, transport protocol & interface. Some advantages are simplicity, transparency & speed. If there is no match to any rule, then one of two default policies are applied that which is not expressly permitted is prohibited (default action is discard packet), conservative policy and that which is not expressly prohibited is permitted (default action is forward packet), permissive policy Fig: 8.2:Types of Firewall
  • 41. Network Security 10EC832 Dept. ofECE/ SJBIT Page 125 Figure illustrates the packet filter firewall role as utilising information from the transport, network & data link layers to make decisions on allowable traffic flows, and its placement in the border router between the external less-trusted Internet and the internal more trusted private network 8.1.3 Attacks on Packet Filters: Some of the attacks that can be made on packet-filtering routers & countermeasures are: • IP address spoofing: where intruder transmits packets from the outside with internal host source IP addr, need to filter & discard such packets • Source routing attacks: where source specifies the route that a packet should take to bypass security measures, should discard all source routed packets • Tiny fragment attacks: intruder uses the IP fragmentation option to create extremely small fragments and force the TCP header information into a separate fragments to circumvent filtering rules needing full header info, can enforce minimum fragment size to include full header. In IP address spoofing fake source address to be trusted and we can add filters on router to block .In source routing attacks attacker sets a route other than default and block source routed packets.In tiny fragment attacks split header info over several tiny packets either discard or reassemble before check . 8.1.4 Firewalls – Stateful Packet Filters A traditional packet filter makes filtering decisions on an individual packet basis and does not take into consideration any higher layer context. In general, when an application that uses TCP creates a session with a remote host, it creates a TCP connection in which the TCP port number for the remote (server) application is a number less than 1024 and the TCP port number for the local (client) application is a number between 1024 and 65535. A simple packet filtering firewall must permit inbound network traffic on all these high- numbered ports for TCP-based traffic to occur. This creates a vulnerability that can be exploited by unauthorized users. A stateful inspection packet filter tightens up the rules for TCP traffic by creating a directory of outbound TCP connections, and will allow incoming traffic to high-numbered ports only for those packets that fit the profile of one of the entries in this directory. Hence they are better able to detect bogus packets sent out of context. A stateful packet inspection firewall reviews the same packet
  • 42. Network Security 10EC832 Dept. ofECE/ SJBIT Page 126 information as a packet filtering firewall, but also records information about TCP connections. Some stateful firewalls also keep track of TCP sequence numbers to prevent attacks that depend on the sequence number, such as session hijacking. Some even inspect limited amounts of application data for some well- known protocols like FTP, IM and SIPS commands, in order to identify and track related connections. A traditional packet filters do not examine higher layer context ie matching return packets with outgoing flow stateful packet filters address this need they examine each IP packet in context and keep track of client-server sessions and check each packet validly belongs to one . Hence are better able to detect bogus packets out of context and may even inspect limited application data. 8.1.5 Firewalls - Application Level Gateway (or Proxy): These have application specific gateway / proxy and has full access to protocol and the user requests service from proxy . The proxy validates request as legal and then actions request and returns result to user so that can log / audit traffic at application level. We need separate proxies for each service and some services naturally support proxying and others are more problematic 8.1.6 Firewalls - Circuit Level Gateway A fourth type of firewall is the circuit-level gateway or circuit-level proxy. This can be a stand- alone system or it can be a specialized function performed by an application-level gateway for certain applications. A circuit-level gateway relays two TCP connections, one between itself and an inside TCP user, and the other between itself and a TCP user on an outside host. Once the two connections are established, it relays TCP data from one connection to the other without examining its contents. The security function consists of determining which connections will be allowed. It is typically used when internal users are trusted to decide what external services to access. One of the most common circuit-level gateways is SOCKS, defined in RFC 1928. It consists of a SOCKSserver on the firewall, and a SOCKSlibrary & SOCKS-awareapplications on internal clients. When a TCP-based client wishes to establish a connection to an object that is reachable only via a firewall (such determination is left up to the implementation), it must open a TCP connection to the appropriate SOCKS port on the SOCKS server system. If the connection request succeeds, the client enters a negotiation for the authentication method to be used, authenticates with the chosen method, and then sends
  • 43. Network Security 10EC832 Dept. ofECE/ SJBIT Page 127 a relay request. The SOCKS server evaluates the request and either establishes the appropriate connection or denies it. UDP exchanges are handled in a similar fashion. It relays two TCP connections which imposes security by limiting which such connections are allowed and once created usually relays traffic without examining contents. These typically used when trust internal users by allowing general outbound connections and SOCKS is commonly used 8.1.7 Bastion Host It is common to base a firewall on a stand-alone machine running a common operating system, such as UNIX or Linux. Firewall functionality can also be implemented as a software module in a router or LAN switch. A bastion host is a critical strong point in the network’s security, serving as a platform for an application-level or circuit-level gateway, or for external services. It is thus potentially exposed to "hostile" elements and must be secured to withstand this. Common characteristics of a bastion host include that it executes a secure version of its O/S, making it a trusted system and • has only essential services installed on the bastion host. It may require additional authentication before a user may access to proxy services configured to use only subset of standard commands, access only specific hosts which maintains detailed audit information by logging all traffic. Each proxy module a very small software package designed for network security and has each proxy independent of other proxies on the bastion host which have a proxy performs no disk access other than read its initial configuration file. They also have each proxy run as a non- privileged user in a private and secured directory 8.1.8 Host-BasedFirewalls A host-based firewall is a software module used to secure an individual host. Such modules are available in many operating systems or can be provided as an add-on package. Like conventional stand-alone firewalls, host-resident firewalls filter and restrict the flow of packets. A common location for such firewalls is a server. There are several advantages to the use of a server-based or workstation-based firewall: • Filtering rules can be tailored to the host environment. Specific corporate security policies for servers can be implemented, with different filters for servers used for different application. • Protection is provided independent of topology. Thus both internal and external attacks must pass through the firewall.
  • 44. Network Security 10EC832 Dept. ofECE/ SJBIT Page 128 • Used in conjunction with stand-alone firewalls, the host-based firewall provides an additional layer of protection. A new type of server can be added to the network, with its own firewall, without the necessity of altering the network firewall configuration. Software module used to secure individual host are available in many operating systems or can be provided as an add-on package often used on servers Advantages:  can tailor filtering rules to host environment  protection is provided independent of topology  provides an additional layer of protection 8.1.9 Personal Firewalls A personal firewall controls the traffic between a personal computer or workstation on one side and the Internet or enterprise network on the other side. Personal firewall functionality can be used in the home environment and on corporate intranets. Typically, the personal firewall is a software module on the personal computer. In a home environment with multiple computers connected to the Internet, firewall functionality can also be housed in a router that connects all of the home computers to a DSL, cable modem, or other Internet interface. Personal firewalls are typically much less complex than either server-based firewalls or stand-alone firewalls. The primary role of the personal firewall is to deny unauthorized remote access to the computer. The firewall can also monitor outgoing activity in an attempt to detect and block worms and other malware. It controls traffic between PC/workstation and Internet or enterprise network. It is a software module on personal computer or in home/office DSL/cable/ISP router typically much less complex than other firewall types whose primary role to deny unauthorized remote access to the computer and monitor outgoing activity for malware In today's distributed computing environment, the virtual private network (VPN) offers an attractive solution to network managers. The VPN consists of a set of computers that interconnect by means of a relatively unsecure network and that make use of encryption and special protocols to provide security. At each corporate site, workstations, servers, and databases are linked by one or more local area networks (LANs). The Internet or some other public network can be used to interconnect sites, providing a cost savings over the use of a private network and offloading the wide area network management task to the
  • 45. Network Security 10EC832 Dept. ofECE/ SJBIT Page 129 public network provider. That same public network provides an access path for telecommuters and other mobile employees to log on to corporate systems from remote sites. A logical means of implementing an IPSec is in a firewall. If IPSec is implemented in a separate box behind (internal to) the firewall, then VPN traffic passing through the firewall in both directions is encrypted. In this case, the firewall is unable to perform its filtering function or other security functions, such as access control, logging, or scanning for viruses. IPSec could be implemented in the boundary router, outside the firewall. However, this device is likely to be less secure than the firewall and thus less desirable as an IPSec platform. A distributed firewall configuration involves stand-alone firewall devices plus host-based firewalls working together under a central administrative control. It suggests a distributed firewall configuration. Administrators can configure host-resident firewalls on hundreds of servers and workstation as well as configure personal firewalls on local and remote user systems. Tools let the network administrator set policies and monitor security across the entire network. These firewalls protect against internal attacks and provide protection tailored to specific machines and applications. Stand-alone firewalls provide global protection, including internal firewalls and an external firewall, as discussed previously. With distributed firewalls, it may make sense to establish both an internal and an external DMZ. Web servers that need less protection because they have less critical information on them could be placed in an external DMZ, outside the external firewall. What protection is needed is provided by host-based firewalls on these servers. An important aspect of a distributed firewall configuration is security monitoring. Such monitoring typically includes log aggregation and analysis, firewall statistics, and fine-grained remote monitoring of individual hosts if needed. The following alternatives can be identified: • Host-resident firewall: incl. personal firewall software and firewall software on servers, used alone or as part of an in-depth firewall deployment. • Screening router: A single router between internal and external networks with stateless or full packet filtering. Typical for small office/home office (SOHO) use. • Single bastion inline: A single firewall device between an internal and external router. The firewall may implement stateful filters and/or application proxies. This is the typical firewall appliance configuration for small to medium-sized organizations.
  • 46. Network Security 10EC832 Dept. ofECE/ SJBIT Page 130 • Single bastion T: Similar to single bastion inline but has a third network interface on bastion to a DMZ where externally visible servers are placed. Again, this is a common appliance configuration for medium to large organizations. • Double bastion inline: In this configuration, where the DMZ is sandwiched between bastion firewalls. This configuration is common for large businesses and government organizations. • Double bastion T: The DMZ is on a separate network interface on the bastion firewall. This configuration is also common for large businesses and government organizations and may be required. For example, this configuration is required for Australian government use. • Distributed firewall configuration: This configuration is used by some large businesses and government organizations. 8.2 Trusted Systems: In the security engineering subspecialty of computer science,atrusted system is a system that is relied upon to a specified extent to enforce a specified security policy. As such, a trusted system is one whose failure may break a specified security policy. Trusted systems are used for the processing, storage and retrieval of sensitive or classified information. Central to the concept of U.S. Department of Defense-style "trusted systems" is the notion of a "reference monitor", which is an entity that occupies the logical heart of the system and is responsible for all access control decisions. Ideally, the reference monitor is (a) tamperproof, (b) always invoked, and (c) small enough to be subject to independent testing, the completeness of which can be assured. Per the U.S. National Security Agency's 1983 Trusted Computer System Evaluation Criteria (TCSEC), or "Orange Book", a set of "evaluation classes" were defined that described the features and assurances that the user could expect from a trusted system. The highest levels of assurance were guaranteed by significant system engineering directed toward minimization of the size of thetrusted computing base (TCB), defined as that combination of hardware, software, and firmware that is responsible for enforcing the system's security policy. Because failure of the TCB breaks the trusted system, higher assurance is provided by the minimization of the TCB. An inherent engineering conflict arises in higher-assurance systems in that, the smaller the TCB, the larger the set of hardware, software, and firmware that lies outside the TCB. This may lead to some philosophical arguments about the nature of trust, based on the notion that a "trustworthy" implementation may not necessarily be a "correct" implementation from the perspective of users' expectations. One way to enhance the ability of a system to defend against intruders and malicious programs is to implement trusted system technology.
  • 47. Network Security 10EC832 Dept. ofECE/ SJBIT Page 131 8.2.1 Data Access Control Through the user access control procedure (log on), user is identified to the system. Associated with each user, there is a profile that specifies permissible operations and file accesses. The operating system can enforce rules based on the user profile. Access Control List: An access control list lists users and their permitted access right.The list may contain a default or public entry. This is how Unix handles security, and is the only mechanism available in Unix. Everything in Unix looks like a text file. All files have 9-bit permissions in the inode pointer 8.2.2 Trusted Systems Concept: Trusted Systems protect data and resources on the basis of levels of security (e.g. military). Users can be granted clearances to access certain categories of data. Trusted systems need not discern levels of permissions; they can operate “system high”. cf. Telephone systems Security Levels: Multilevel security: multiple categories or levels of data. Multilevel secure system must enforce. No read up: A subject can only read an object of lower or equal security level (BLP Simple Security Property). No write down: A subject can only write into an object of greater or equal security level (BLP *-Property). May enforce discretionary security (BLP DS property). Security levels may be linear or latticed. Trusted Systems Implementation: Reference Monitor provides multilevel security for a data processing system. Reference Monitor is a concept, not a thing Reference Monitor: Controlling element in the security kernel of a computer that regulates access of subjects to objects on basis of security parameters. The monitor has access to a file (security kernel database). The monitor enforces the security rules (no read up, no write down) Reference Monitor Properties: Complete mediation: Security rules are enforced on every access Isolation: Reference monitor and database protected from unauthorized modification. Verifiability: reference monitor’s correctness must be mathematically provable this may be where we bend the rules! Trusted Systems: A system that can provide such verifications (properties) is referred to as a trusted system