RFC 1244

Site Security Handbook

๐Ÿ“… published July 1991, from ietf

Site Security Handbook ๐ŸŽ€

RFC 1244 ยท FYI 8 ๐Ÿ’–

Network Working Group, FYI 8 ๐Ÿงš Edited by P. Holbrook (CICNet) and J. Reynolds (ISI) ๐Ÿ’… Dated July 1991 ๐Ÿ“… Category: FYI, which is informational only โœจ The title block doesn't list anything it obsoletes or updates ๐Ÿ™ˆ

Status of this Memo โœจ

okay so this handbook came out of the Site Security Policy Handbook Working Group (SSPHWG) ๐Ÿซถ It's a team effort between the Security Area and the User Services Area of the Internet Engineering Task Force (IETF) ๐Ÿ”ฅ This is an FYI RFC, so it's giving information for the Internet community, not an actual Internet standard ๐Ÿ’€ Distribution of this memo is unlimited ๐Ÿฆ‹

Contributing Authors ๐ŸŒธ

these are the people who wrote the Site Security Handbook, and it literally wouldn't exist without them ๐Ÿ˜ญ Dave Curry (Purdue University), Sean Kirkpatrick (Unisys), Tom Longstaff (LLNL), Greg Hollingsworth (Johns Hopkins University), Jeffrey Carpenter (University of Pittsburgh), Barbara Fraser (CERT), Fred Ostapik (SRI NISC), Allen Sturtevant (LLNL), Dan Long (BBN), Jim Duncan (Pennsylvania State University), and Frank Byrum (DEC) ๐Ÿ‘‘

Editors' Note ๐Ÿ’œ

this FYI RFC is a first attempt at helping Internet users figure out how to handle security issues on the Internet ๐ŸŒˆ So yeah, it's necessarily incomplete, and there are some clear shortfalls ๐Ÿ™ˆ For example, it mostly focuses on resources available in the United States ๐Ÿ‡บ๐Ÿ‡ธ Following the spirit of the "Request for Comments" series, the editors really want feedback from people using the handbook, especially anyone using it to build their own policies and procedures ๐Ÿซถ

This handbook is meant to be a starting point for more research ๐Ÿ” It's a useful resource, but it is not the final authority โญ Different organizations and jurisdictions have different resources and rules, so talk to your local organizations, consult an informed lawyer, or check in with local and national law enforcement ๐Ÿ’… Those groups can fill in the gaps this document can't cover ๐ŸŽ€

Please don't treat this as the final word. Your local people and a real lawyer know things this handbook can't.

Finally, the editors plan for this FYI RFC to grow and evolve ๐Ÿฆ‹ Send comments and suggestions to ssphwg@cert.sei.cmu.edu ๐Ÿ’Œ

Table of Contents ๐Ÿ“

1.  Introduction.....................................................  3
1.1  Purpose of this Work............................................  3
1.2  Audience........................................................  3
1.3  Definitions.....................................................  4
1.4  Related Work....................................................  4
1.5  Scope...........................................................  4
1.6  Why Do We Need Security Policies and Procedures?................  5
1.7  Basic Approach..................................................  7
1.8  Organization of this Document...................................  7
2.  Establishing Official Site Policy on Computer Security...........  9
2.1  Brief Overview..................................................  9
2.2  Risk Assessment................................................. 10
2.3  Policy Issues................................................... 13
2.4  What Happens When the Policy Is Violated........................ 19
2.5  Locking In or Out............................................... 21
2.6  Interpreting the Policy......................................... 23
2.7  Publicizing the Policy.......................................... 23
3.  Establishing Procedures to Prevent Security Problems............. 24
3.1  Security Policy Defines What Needs to be Protected.............. 24
3.2  Identifing Possible Problems.................................... 24
3.3  Choose Controls to Protect Assets in a Cost-Effective Way....... 26
3.4  Use Multiple Strategies to Protect Assets....................... 26
3.5  Physical Security............................................... 27
3.6  Procedures to Recognize Unauthorized Activity................... 27
3.7  Define Actions to Take When Unauthorized Activity is Suspected.. 29
3.8  Communicating Security Policy................................... 30
3.9  Resources to Prevent Security Breaches.......................... 34
4.  Types of Security Procedures..................................... 56
4.1  System Security Audits.......................................... 56
4.2  Account Management Procedures................................... 57
4.3  Password Management Procedures.................................. 57
4.4  Configuration Management Procedures............................. 60
5.  Incident Handling................................................ 61
5.1  Overview........................................................ 61
5.2  Evaluation...................................................... 65
5.3  Possible Types of Notification.................................. 67
5.4  Response........................................................ 71
5.5  Legal/Investigative............................................. 73
5.6  Documentation Logs.............................................. 77
6.  Establishing Post-Incident Procedures............................ 78
6.1  Overview........................................................ 78
6.2  Removing Vulnerabilities........................................ 78
6.3  Capturing Lessons Learned....................................... 80
6.4  Upgrading Policies and Procedures............................... 81
7.  References....................................................... 81
8.  Annotated Bibliography........................................... 83
8.1  Computer Law.................................................... 84
8.2  Computer Security............................................... 85
8.3  Ethics.......................................... 91
8.4  The Internet Worm............................................... 93
8.5  National Computer Security Center (NCSC)........................ 95
8.6  Security Checklists............................................. 99
8.7  Additional Publications......................................... 99
9.  Acknlowledgements................................................101
10.  Security Considerations.........................................101
11.  Authors' Addresses..............................................101

1. Introduction โœจ

1.1. Purpose of this Work ๐ŸŒท

this handbook is a guide to setting computer security policies and procedures for sites that have systems on the Internet ๐Ÿ’ป It lists the issues and factors a site must consider when setting its own policies ๐Ÿ“ It also makes some recommendations and talks through the relevant areas ๐Ÿง 

this guide is only a framework ๐Ÿ–ผ๏ธ To end up with a solid set of policies and procedures, a site will have to make a lot of decisions, get everyone to agree, and then communicate and implement the policies ๐Ÿ’ช

1.2. Audience ๐ŸŽฏ

the audience for this work is system administrators and decision makers at sites (the ones more traditionally called "administrators" or "middle management") ๐Ÿ‘ฉโ€๐Ÿ’ผ This document is not aimed at programmers or anyone trying to build secure programs or systems ๐Ÿ™… Its focus is on the policies and procedures that need to be in place to support whatever technical security features a site is using ๐Ÿ”

the primary audience is sites that are members of the Internet community ๐ŸŒ But honestly, any site that lets communication happen with other sites should find this useful too ๐Ÿ’œ And as a general guide to security policies, it may also help sites with isolated systems ๐Ÿซง

1.3. Definitions ๐Ÿ“š

for the purposes of this guide, a "site" is any organization that owns computers or network-related resources ๐Ÿ–ฅ๏ธ That can include host computers that users use, routers, terminal servers, PCs, or other devices with access to the Internet ๐Ÿงธ A site can be an end user of Internet services, or a service provider like a regional network ๐Ÿ›ฐ๏ธ Most of this guide's focus is on those end users ๐ŸŽ€

we assume the site can set its own policies and procedures, with the agreement and support of the people who actually own the resources ๐Ÿค

The "Internet" is the set of networks and machines that use the TCP/IP protocol suite, connected through gateways and sharing a common name and address space [1] ๐ŸŒ

The term "system administrator" covers everyone responsible for the day-to-day running of resources ๐Ÿ› ๏ธ That might be one person or an entire organization โœจ

The term "decision maker" refers to the people at a site who set or approve policy ๐Ÿ‘‘ They are often, but not always, the people who own the resources ๐Ÿ’…

the IETF Security Policy Working Group (SPWG) is working on a set of recommended security policy guidelines for the Internet [23] ๐Ÿ“œ Regional networks or owners of other resources may adopt these guidelines as policy ๐Ÿ›๏ธ This handbook should help sites carry out those policies as they want or need to ๐Ÿฆ‹

but here's the tea: even implementing the proposed policies isn't enough to fully secure a site ๐Ÿ™ˆ The proposed Internet policies only deal with network access security ๐Ÿšช They say nothing about how sites should handle local security issues ๐Ÿ 

1.5. Scope ๐Ÿ”

this document covers what a computer security policy should contain, what kinds of procedures are needed to enforce security, and some recommendations for dealing with the problem ๐Ÿงฉ When you're developing a security policy, you should pay close attention not only to the security needs of your local network, but also to the security needs of the other networks you're connected to ๐ŸŒธ

this is not a cookbook for computer security ๐Ÿ™…โ€โ™€๏ธ Every site has different needs, and a corporation's needs might be totally different from an academic institution's ๐ŸŽ“ Any security plan has to fit the needs and culture of its site ๐Ÿ’–

This handbook does not cover the details of how to do risk assessment, contingency planning, or physical security ๐Ÿ“‰ Those things are essential for setting and implementing effective security policy, but this document leaves them to other documents ๐Ÿ“š It will try to point the way to some of those ๐Ÿงญ

This document also doesn't talk about how to design or implement secure systems or programs ๐Ÿ™…

1.6 Why Do We Need Security Policies and Procedures? ๐Ÿ›ก๏ธ

okay so for most sites, how much they care about computer security depends on how risky and threatening things feel to them ๐Ÿ˜ฌ

The computer world has changed SO much in the last twenty-five years ๐Ÿ•ฐ๏ธ Back then, most computers lived in data centers. They sat in locked rooms, and teams of people kept them carefully managed and physically locked down ๐Ÿ”’ Connections to the outside world were rare. Security threats were rare too, and they were mostly about insiders: authorized users misusing their accounts, theft, vandalism, that kind of thing. Those problems were well understood, and the fix was pretty simple: keep the computers behind locked doors and keep track of every resource ๐Ÿšช

Computing in the 1990s is a totally different vibe ๐Ÿ’ป Lots of systems sit in private offices and labs, often run by individuals or by people who don't work in a computer center at all. Tons of systems are connected to the Internet, and through it to the whole world. The United States, Europe, Asia, and Australia are all connected together ๐ŸŒโœจ

Security threats are different now too ๐Ÿ˜ณ The old advice is "don't write your password down and put it in your desk" so nobody finds it. But with worldwide Internet connections, someone on the other side of the planet could get into your system and steal your password in the middle of the night, when your building is locked up and everyone's asleep ๐ŸŒ™ Viruses and worms can hop from machine to machine ๐Ÿฆ  The Internet is basically the digital version of a thief checking for open windows and doors, except now one person can check hundreds of machines for weaknesses in just a few hours. Wild, right? ๐Ÿ’€

System administrators and decision makers need to understand the security threats that exist. They also need to know what the risk and cost of a problem would be, and what kind of action they want to take (if any) to prevent and respond to those threats ๐Ÿง ๐Ÿ’…

To show some of the issues you have to deal with in security problems, here are some scenarios (thanks to Russell Brand [2, BRAND] for these ๐Ÿซถ):

  • A system programmer gets a call saying that a major underground cracker newsletter is being distributed from the administrative machine at his center to five thousand sites in the US and Western Europe.

Eight weeks later, the authorities call to tell you that the information in one of those newsletters was used to disable "911" in a major city for five hours. ๐Ÿ˜ฑ

  • A user calls to say he can't log in to his account at 3 o'clock in the morning on a Saturday. The system staffer can't log in either. After rebooting into single user mode, he finds that the password file is empty. By Monday morning, your staff figures out that a number of privileged file transfers happened between this machine and a local university.

Tuesday morning, a copy of the deleted password file is found on the university machine, along with password files for a dozen other machines.

A week later, you find that your system initialization files have been altered in a hostile way. ๐Ÿฅฒ

  • You get a call saying that a breakin to a government lab happened from one of your center's machines. You are asked to provide accounting files to help track down the attacker.

A week later, you are given a list of the machines at your site that have been broken into.

  • A reporter calls asking about the breakin at your center. You haven't heard of any such breakin.

Three days later, you learn that there was a breakin. The center director had his wife's name as his password. ๐Ÿ™ˆ

  • A change in system binaries is detected.

The day it gets corrected, they change again. This keeps happening for weeks. ๐Ÿ˜ค

  • If an intruder is found on your system, should you leave the system open to monitor the situation, or should you close the holes and open them up again later?
  • If an intruder is using your site, should you call law enforcement? Who makes that decision? If law enforcement asks you to leave your site open, who makes that decision? ๐Ÿšจ
  • What steps should be taken if another site calls you and says they see activity coming from an account on your system? What if the account belongs to a local manager? ๐Ÿ‘€

1.7 Basic Approach ๐Ÿ—บ๏ธ

Setting security policies and procedures really means making a plan for how to handle computer security. One way to approach this, suggested by Fites, et. al. [3, FITES], goes like this:

  • Look at what you are trying to protect.
  • Look at what you need to protect it from.
  • Determine how likely the threats are.
  • Implement measures which will protect your assets in a cost-effective manner.
  • Review the process continuously, and improve things every time a weakness is found.

This handbook will mostly focus on the last two steps, but the first three are super important for making good security decisions ๐Ÿง There's an old truism in security that the cost of protecting yourself against a threat should be less than the cost of recovering if the threat strikes you. Without a good idea of what you're protecting and what the likely threats are, following that rule could be really hard ๐Ÿ˜ตโ€๐Ÿ’ซ

1.8 Organization of this Document ๐Ÿ“š

This document is organized into seven parts in addition to this introduction.

The basic form of each section is to talk about issues a site might want to consider when creating a computer security policy and setting procedures to carry it out. In some cases, possible options are discussed, along with some of the ramifications of those choices. As far as possible, this document tries not to dictate the choices a site should make, since those depend on local circumstances. Some of the issues raised may not apply to every site. Still, all sites should at least consider the issues raised here so they don't miss some important area ๐Ÿ’–

The overall flow of the document goes like this: policy issues first, then the issues that come up when you create procedures to put those policies into practice ๐ŸŽ€

Section 2 covers setting official site policies for access to computing resources. It also gets into what happens when a policy is violated. Policies drive the procedures that need to be created, so decision makers will need to make choices about policy before many of the procedural issues in the following sections can be handled. A key part of creating policies is doing some kind of risk assessment, to decide what really needs protecting and how many resources should go toward protecting it ๐Ÿ’…

Once policies are in place, procedures to prevent future security problems should be set up. Section 3 defines and suggests actions to take when unauthorized activity is suspected. Resources for preventing security breaches are also discussed ๐Ÿฆ‹

Section 4 covers types of procedures that prevent security problems. Prevention is the key to security. For example, the Computer Emergency Response Team/Coordination Center (CERT/CC) at Carnegie-Mellon University (CMU) estimates that 80% or more of the problems they see have to do with poorly chosen passwords ๐Ÿ”‘๐Ÿ˜ฉ

Section 5 covers incident handling: what kinds of issues a site faces when someone violates the security policy. Lots of decisions have to be made on the spot as an incident happens, but many of the options and issues can be discussed in advance. At the very least, responsibilities and methods of communication can be set up before an incident. Again, the choices here are shaped by the policies discussed in Section 2 ๐ŸŒธ

Section 6 deals with what happens after a security violation has been handled. Security planning is an ongoing cycle, and right after an incident is a perfect time to improve policies and procedures ๐ŸŒˆ

The rest of the document provides references and an annotated bibliography ๐Ÿ“–โœจ


2 Establishing Official Site Policy on Computer Security ๐Ÿ‘‘

2.1 Brief Overview ๐ŸŽ€

2.1.1 Organization Issues ๐Ÿข

Okay bestie, so the goal of a site security policy is to spell out what the org expects for proper computer and network use, plus the procedures to prevent and respond to security incidents ๐Ÿšจ. To pull that off you have to look at the particular org you're dealing with โœจ.

First, look at the goals and direction of the organization ๐Ÿงญ. A military base is gonna have totally different security concerns than a university ๐ŸŽ–๏ธ๐ŸŽ“, no cap.

Second, the policy has to conform to the existing policies, rules, regulations and laws the org is subject to ๐Ÿ“œ. So you gotta identify those and factor them in while writing the policy ๐Ÿ’….

Third, unless the local network is completely isolated and standalone ๐Ÿ๏ธ, you need to think about security in a more global context ๐ŸŒ. The policy should cover local problems that develop because of a remote site, and problems on remote systems that happen because of a local host or user ๐Ÿ‘€.

2.1.2 Who Makes the Policy? ๐Ÿ‘‘

Policy creation has to be a team effort ๐Ÿซถ. You need technical personnel who understand the full ramifications of the policy and how it gets implemented, and decision makers who actually have the power to enforce it ๐Ÿ’ผ. A policy that's neither implementable nor enforceable is literally useless ๐Ÿ’€.

Since a computer security policy can affect everyone in the org, take some care to make sure you've got the right level of authority on the policy decisions ๐Ÿ”. A group like a campus information services group might be responsible for enforcing it, but an even higher group may need to support and approve it ๐Ÿ™Œ.

2.1.3 Who is Involved? ๐Ÿ‘ฅ

Setting a site policy can involve every computer user at the site in a bunch of different ways ๐Ÿซ . Computer users may be responsible for their own personal password administration ๐Ÿ”‘. Systems managers are obligated to fix security holes and to oversee the system ๐Ÿ› ๏ธ.

It's critical to get the right people involved at the start ๐Ÿšฆ. There may already be groups concerned with security who would see a computer security policy as their area ๐Ÿ‘€. Some types of groups that might be involved include auditing/control, organizations that deal with physical security, campus information systems groups, and so forth ๐Ÿง‘โ€๐Ÿคโ€๐Ÿง‘. Asking these groups to "buy in" from the start can help facilitate the acceptance of the policy โœ….

2.1.4 Responsibilities ๐Ÿ“‹

A key element of a computer security policy is making sure everyone knows their own responsibility for maintaining security ๐Ÿ”’. A policy can't anticipate every possibility, but it can make sure each kind of problem has someone assigned to deal with it ๐ŸŽฏ.

There may be levels of responsibility tied to a policy on computer security ๐Ÿชœ. At one level, each user of a computing resource may have a responsibility to protect their account ๐Ÿ™‹. A user who lets their account get compromised increases the chances of compromising other accounts or resources ๐Ÿ˜ญ.

System managers may form another responsibility level: they must help to ensure the security of the computer system ๐Ÿ–ฅ๏ธ. Network managers may reside at yet another level ๐ŸŒ.

2.2 Risk Assessment โš–๏ธ

2.2.1 General Discussion ๐Ÿ’ญ

One of the most important reasons for creating a computer security policy is to make sure the efforts spent on security yield cost effective benefits ๐Ÿ’ธ. This may seem obvious, but it's really possible to be misled about where the effort is needed ๐Ÿ™ƒ. For example, there's a ton of publicity about intruders on computer systems ๐Ÿ“ฐ, yet most surveys of computer security show that for most organizations, the actual loss from "insiders" is much greater ๐Ÿ˜ณ.

Risk analysis involves determining what you need to protect, what you need to protect it from, and how to protect it ๐Ÿ›ก๏ธ. It's the process of examining all of your risks and ranking them by level of severity ๐Ÿ“Š. This process is about making cost-effective decisions on what you want to protect. The old security adage says you should not spend more to protect something than it is actually worth ๐Ÿค‘.

A full treatment of risk analysis is outside the scope of this document ๐Ÿ“š. [3, FITES] and [16, PFLEEGER] provide introductions to this topic. However, there are two elements of a risk analysis that will be briefly covered in the next two sections ๐Ÿ’:

  1. Identifying the assets
  2. Identifying the threats

For each asset, the basic goals of security are availability, confidentiality, and integrity ๐Ÿ’–. Each threat should be examined with an eye to how it could affect these areas ๐Ÿ‘๏ธ.

2.2.2 Identifying the Assets ๐Ÿ“ฆ

One step in a risk analysis is to identify all the things that need to be protected ๐Ÿ“. Some things are obvious, like all the various pieces of hardware, but some get overlooked, like the people who actually use the systems ๐Ÿ™‹โ€โ™€๏ธ. The essential point is to list all things that could be affected by a security problem โœจ.

One list of categories is suggested by Pfleeger [16, PFLEEGER, page 459]; this list is adapted from that source ๐Ÿ“–:

  1. Hardware: cpus, boards, keyboards, terminals, workstations, personal computers, printers, disk drives, communication lines, terminal servers, routers.
  2. Software: source programs, object programs, utilities, diagnostic programs, operating systems, communication programs.
  3. Data: during execution, stored on-line, archived off-line, backups, audit logs, databases, in transit over communication media.
  4. People: users, people needed to run systems.
  5. Documentation: on programs, hardware, systems, local administrative procedures.
  6. Supplies: paper, forms, ribbons, magnetic media.

2.2.3 Identifying the Threats ๐Ÿฆน

Once the assets requiring protection are identified, it's necessary to identify threats to those assets ๐ŸŽฏ. The threats can then be examined to figure out what potential for loss exists ๐Ÿ“‰. It helps to ask what threats you're actually trying to protect your assets from ๐Ÿค”.

The following sections describe a few of the possible threats ๐Ÿ•ต๏ธ.

2.2.3.1 Unauthorized Access ๐Ÿšช

A common threat that concerns many sites is unauthorized access to computing facilities, and it takes lots of forms ๐Ÿ˜ค. One means of unauthorized access is using another user's account to get into a system ๐ŸŽญ. Using any computer resource without prior permission may be considered unauthorized access to computing facilities ๐Ÿšซ.

How serious an unauthorized access is will vary from site to site ๐Ÿ“. For some sites, just granting access to an unauthorized user may cause irreparable harm through negative media coverage ๐Ÿ“บ๐Ÿ’€. For other sites, an unauthorized access opens the door to other security threats ๐Ÿšชโžก๏ธ. Some sites may also be more frequent targets than others, so the risk from unauthorized access varies from site to site ๐ŸŽฏ. The Computer Emergency Response Team (CERT - see section 3.9.7.3.1) has observed that well-known universities, government sites, and military sites seem to attract more intruders ๐Ÿงฒ.

2.2.3.2 Disclosure of Information ๐Ÿซฃ

Another common threat is disclosure of information ๐Ÿ‘€. Figure out the value or sensitivity of the information stored on your computers ๐Ÿ’Ž. Disclosure of a password file might allow for future unauthorized accesses ๐Ÿ”“. A glimpse of a proposal may give a competitor an unfair advantage ๐Ÿƒโ€โ™€๏ธ. A technical paper may contain years of valuable research ๐Ÿ“šโœจ.

2.2.3.3 Denial of Service ๐Ÿšซ

Computers and networks provide valuable services to their users ๐Ÿ’ป. Lots of people rely on these services to do their jobs efficiently ๐Ÿ’ผ. When the services aren't available when they're needed, productivity takes a hit ๐Ÿ“‰.

Denial of service comes in many forms and can affect users in a number of ways ๐ŸŒช๏ธ. A network may be rendered unusable by a rogue packet, by jamming, or by a disabled network component ๐Ÿ“ก. A virus might slow down or cripple a computer system ๐Ÿฆ . Each site should determine which services are essential, and for each one, determine the effect on the site if that service became disabled ๐Ÿงฎ.

2.3 Policy Issues ๐Ÿ“

There are a number of issues that must be addressed when developing a security policy ๐Ÿง. These are:

  1. Who is allowed to use the resources?
  2. What is the proper use of the resources?
  3. Who is authorized to grant access and approve usage?
  4. Who may have system administration privileges?
  5. What are the user's rights and responsibilities?
  6. What are the rights and responsibilities of the system administrator vs. those of the user?
  7. What do you do with sensitive information?

These issues will be discussed below ๐Ÿ‘‡. You may also want to include a section in your policy about ethical use of computing resources ๐ŸŒท. Parker, Swope and Baker [17, PARKER90] and Forester and Morrison [18, FORESTER] are two useful references that address ethical issues ๐Ÿ“–๐Ÿ’œ.

2.3.1 Who is Allowed to use the Resources? ๐Ÿ”‘

One step you must take when developing your security policy is defining who is allowed to use your system and services ๐Ÿชช. The policy should explicitly state who is authorized to use what resources ๐Ÿ™Œ.

2.3.2 What is the Proper Use of the Resources? ๐Ÿงผ

After you've determined who is allowed access to system resources, you need guidelines for acceptable use of those resources ๐Ÿ“‹. You may have different guidelines for different types of users, like students, faculty, and external users ๐ŸŽ“. The policy should state what is acceptable use as well as unacceptable use, and it should include types of use that may be restricted ๐Ÿšง.

Define limits to access and authority ๐Ÿงฑ. You'll need to consider the level of access various users will have and what resources will be available or restricted to various groups of people ๐Ÿ—๏ธ.

Your acceptable use policy should clearly state that individual users are responsible for their actions ๐Ÿซต. That responsibility exists regardless of the security mechanisms that are in place ๐Ÿ›ก๏ธ. It should be clearly stated that breaking into accounts or bypassing security is not permitted ๐Ÿ™…โ€โ™€๏ธ.

The following points should be covered when developing an acceptable use policy ๐Ÿ“:

  • Is breaking into accounts permitted?
  • Is cracking passwords permitted?
  • Is disrupting service permitted?
  • Should users assume that a file being world-readable grants them the authorization to read it?
  • Should users be permitted to modify files that are not their own even if they happen to have write permission?
  • Should users share accounts?

The answer to most of these questions will be "no" ๐Ÿ™…โ€โ™€๏ธ๐Ÿ’…

You may wish to add a statement to your policies about copyrighted and licensed software ๐Ÿ“šโœจ Licensing agreements with vendors can take some effort on your part so the license doesn't get violated, and you may also want to tell users that copying copyrighted software can break copyright laws and is not permitted ๐Ÿ™…โ€โ™€๏ธ

Specifically for copyrighted and/or licensed software, you may wish to include the following:

  • Copyrighted and licensed software may not be duplicated unless it is explicitly stated that you may do so. ๐Ÿ’…
  • Methods of conveying information on the copyright/licensed status of software.
  • When in doubt, DON'T COPY. ๐Ÿšซ๐Ÿซถ

Your acceptable use policy is SO important ๐Ÿ˜ญ If it doesn't clearly say what is not permitted, you could end up unable to prove that a user violated policy. Not a vibe ๐Ÿ’€

There are exception cases too, like tiger teams and users or administrators who want "licenses to hack" ๐Ÿ•ต๏ธโ€โ™€๏ธ You might find that users want to "hack" on your services for security research purposes. You should come up with a policy that decides whether you will allow this kind of research on your services and, if so, what your guidelines for it will be. ๐Ÿงช

Points you may wish to cover in this area:

  • Whether it is permitted at all.
  • What type of activity is permitted: breaking in, releasing worms, releasing viruses, etc..
  • What type of controls must be in place to ensure that it does not get out of control (e.g., separate a segment of your network for these tests). ๐Ÿšง
  • How you will protect other users from being victims of these activities, including external users and networks. ๐Ÿ›ก๏ธ
  • The process for obtaining permission to conduct these tests.

In cases where you do permit these activities, you should isolate the portions of the network that are being tested from your main network. Worms and viruses should never be released on a live network. ๐Ÿ™…โ€โ™€๏ธ๐Ÿฆ 

You may also wish to employ, contract, or otherwise solicit one or more people or organizations to evaluate the security of your services, of which may include "hacking". You may wish to provide for this in your policy. ๐Ÿง‘โ€๐Ÿ’ป๐Ÿ’œ

2.3.3. Who Is Authorized to Grant Access and Approve Usage? ๐Ÿ”‘

Your policy should state who is authorized to grant access to your services. Further, it must be determined what type of access they are permitted to give. If you do not have control over who is granted access to your system, you will not have control over who is using your system. Controlling who has the authorization to grant access will also enable you to know who was or was not granting access if problems develop later. ๐Ÿ•ฐ๏ธ

There are many schemes that can be developed to control the distribution of access to your services. The following are the factors that you must consider when determining who will distribute access to your services:

  • Will you be distributing access from a centralized point or at various points?

You can have a centralized distribution point or a distributed system where various sites or departments independently authorize access. The trade off is between security and convenience. The more centralized, the easier to secure. ๐Ÿฐ

  • What methods will you use for creating accounts and terminating access?

From a security standpoint, you need to examine the mechanism that you will be using to create accounts. In the least restrictive case, the people who are authorized to grant access would be able to go into the system directly and create an account by hand or through vendor supplied mechanisms. Generally, these mechanisms place a great deal of trust in the person running them, and the person running them usually has a large amount of privileges. If this is the choice you make, you need to select someone who is trustworthy to perform this task. The opposite solution is to have an integrated system that the people authorized to create accounts run, or the users themselves may actually run. Be aware that even in the restrictive case of having a mechanized facility to create accounts does not remove the potential for abuse. ๐Ÿค–๐Ÿ‘€

You should have specific procedures developed for the creation of accounts. These procedures should be well documented to prevent confusion and reduce mistakes. A security vulnerability in the account authorization process is not only possible through abuse, but is also possible if a mistake is made. Having clear and well documented procedure will help ensure that these mistakes won't happen. You should also be sure that the people who will be following these procedures understand them. ๐Ÿ“โœจ

The granting of access to users is one of the most vulnerable of times. You should ensure that the selection of an initial password cannot be easily guessed. You should avoid using an initial password that is a function of the username, is part of the user's name, or some algorithmically generated password that can easily be guessed. In addition, you should not permit users to continue to use the initial password indefinitely. If possible, you should force users to change the initial password the first time they login. Consider that some users may never even login, leaving their password vulnerable indefinitely. Some sites choose to disable accounts that have never been accessed, and force the owner to reauthorize opening the account. ๐Ÿฅบ๐Ÿ”

2.3.4. Who May Have System Administration Privileges? ๐Ÿ‘‘

One security decision that needs to be made very carefully is who will have access to system administrator privileges and passwords for your services. Obviously, the system administrators will need access, but inevitably other users will request special privileges. The policy should address this issue. Restricting privileges is one way to deal with threats from local users. The challenge is to balance restricting access to these to protect security with giving people who need these privileges access so that they can perform their tasks. One approach that can be taken is to grant only enough privilege to accomplish the necessary tasks. โš–๏ธ

Additionally, people holding special privileges should be accountable to some authority and this should also be identified within the site's security policy. If the people you grant privileges to are not accountable, you run the risk of losing control of your system and will have difficulty managing a compromise in security. ๐Ÿšจ

2.3.5. What Are The Users' Rights and Responsibilities? ๐ŸŽ€

The policy should incorporate a statement on the users' rights and responsibilities concerning the use of the site's computer systems and services. It should be clearly stated that users are responsible for understanding and respecting the security rules of the systems they are using. The following is a list of topics that you may wish to cover in this area of the policy:

  • What guidelines you have regarding resource consumption (whether users are restricted, and if so, what the restrictions are).
  • What might constitute abuse in terms of system performance.
  • Whether users are permitted to share accounts or let others use their accounts.
  • How "secret" users should keep their passwords.
  • How often users should change their passwords and any other password restrictions or requirements.
  • Whether you provide backups or expect the users to create their own.
  • Disclosure of information that may be proprietary.
  • Statement on Electronic Mail Privacy (Electronic Communications Privacy Act).
  • Your policy concerning controversial mail or postings to mailing lists or discussion groups (obscenity, harassment, etc.).
  • Policy on electronic communications: mail forging, etc.

The Electronic Mail Association sponsored a white paper on the privacy of electronic mail in companies [4]. Their basic recommendation is that every site should have a policy on the protection of employee privacy. They also recommend that organizations establish privacy policies that deal with all media, rather than singling out electronic mail. ๐Ÿ“ง๐Ÿ”

They suggest five criteria for evaluating any policy:

  1. Does the policy comply with law and with duties to third parties?
  2. Does the policy unnecessarily compromise the interest of the employee, the employer or third parties?
  3. Is the policy workable as a practical matter and likely to be enforced?
  4. Does the policy deal appropriately with all different forms of communications and record keeping with the office?
  5. Has the policy been announced in advance and agreed to by all concerned? ๐Ÿ“ฃ

2.3.6. What Are The Rights and Responsibilities of System Administrators Versus Rights of Users โš–๏ธ๐Ÿ’ญ

There is a tradeoff between a user's right to absolute privacy and the need of system administrators to gather sufficient information to diagnose problems. There is also a distinction between a system administrator's need to gather information to diagnose problems and investigating security violations. The policy should specify to what degree system administrators can examine user files to diagnose problems or for other purposes, and what rights you grant to the users. You may also wish to make a statement concerning system administrators' obligation to maintaining the privacy of information viewed under these circumstances. A few questions that should be answered are:

  • Can an administrator monitor or read a user's files for any reason?
  • What are the liabilities?
  • Do network administrators have the right to examine network or host traffic?

2.3.7. What To Do With Sensitive Information ๐Ÿคซ๐Ÿ—‚๏ธ

Before granting users access to your services, you need to determine at what level you will provide for the security of data on your systems. By determining this, you are determining the level of sensitivity of data that users should store on your systems. You do not want users to store very sensitive information on a system that you are not going to secure very well. You need to tell users who might store sensitive information what services, if any, are appropriate for the storage of sensitive information. This part should include storing of data in different ways (disk, magnetic tape, file servers, etc.). Your policy in this area needs to be coordinated with the policy concerning the rights of system administrators versus users (see section 2.3.6). ๐Ÿ’–

2.4 What Happens When the Policy is Violated ๐Ÿšจ

okay so, no matter how amazing your policy is, it's going to get broken at some point. bestie, it's just how it goes ๐Ÿ’€ A violation can come from someone being careless, making an accident, not being told about the current policy, or not really understanding it. It's also possible for someone (or a whole group) to knowingly break the policy on purpose. ๐Ÿ™ˆ

When a violation is detected, the first move should already be planned out so enforcement is quick and correct. Then someone should investigate how and why it happened. After that, the right corrective action gets taken. The type and severity of that action depend on what kind of violation it was โœจ

2.4.1 Determining the Response to Policy Violations

Violations can come from all kinds of users. Some will be local users, and some will be from outside the local environment. It can really help for a site to decide who counts as "insiders" and who counts as "outsiders," based on administrative, legal, or political boundaries. Those boundaries shape what action is needed to correct the offending party, from a written reprimand all the way up to pressing legal charges ๐Ÿ˜ฌ So you don't just need actions for each type of violation. You also need a clearly defined series of actions for each kind of user who breaks your computer security policy. It all sounds kinda complicated, I know, but you should sort it out long before a violation actually happens ๐ŸŽ€

Here's the thing to remember: proper education is your best defense ๐Ÿ›ก๏ธ For outsiders who are using your computer legally, it's your job to verify that they know the policies you've set. Having that proof can really help you later if legal action ever becomes necessary.

For users who are using your computer illegally, it's basically the same deal. Who violated the policy, and how and why did they do it? Depending on what the investigation finds, you might just decide to "plug" the hole in your computer security and chalk it up to experience. But if a significant amount of loss was incurred, you may want to take more drastic action ๐Ÿ’…

2.4.2 What to do When Local Users Violate the Policy of a Remote Site

If a local user breaks the security policy of a remote site, the local site should have a clearly defined set of administrative actions to take against that local user. The site should also be ready to protect itself from possible actions by the remote site. These situations involve legal issues, which should be addressed when the security policy is being formed โš–๏ธโœจ

2.4.3 Defining Contacts and Responsibilities to Outside Organizations

The local security policy should include procedures for talking to outside organizations. That includes law enforcement agencies, other sites, external response team organizations (e.g., the CERT, CIAC), and various press agencies ๐Ÿ“ž The procedure should say who is authorized to make that contact and how it should be handled. Some questions to answer include:

  • Who may talk to the press?
  • When do you contact law enforcement and investigative agencies?
  • If a connection is made from a remote site, is the system manager authorized to contact that site?
  • Can data be released? What kind?

Detailed contact information should be readily available, along with clearly defined procedures to follow ๐Ÿงš

2.4.4 What are the Responsibilities to our Neighbors and Other Internet Sites?

The Security Policy Working Group within the IETF is working on a document called "Policy Guidelines for the Secure Operation of the Internet" [23]. It covers the idea that the Internet is a cooperative venture, and that sites are expected to give each other mutual security assistance ๐Ÿซถ This should be addressed when a site's policy is being developed. The big question is how much information should be released. The answer will vary from site to site, depending on the type of site (e.g., military, education, commercial) and on the type of security violation that occurred ๐ŸŒˆ

2.4.5 Issues for Incident Handling Procedures

Along with the policy statements, the document being prepared should include procedures for incident handling. That's covered in detail in the next chapter ๐Ÿ“– There should be procedures available that cover every facet of a policy violation.

2.5 Locking In or Out ๐Ÿ”

whenever a site suffers an incident that may compromise computer security, how it reacts can be pushed by two opposing pressures. It's giving tug-of-war ๐Ÿ˜ญ

If management fears the site is vulnerable enough, it may choose a "Protect and Proceed" strategy. The main goal here is to protect and preserve the site's facilities, and to get users back to normal as quickly as possible ๐Ÿƒโ€โ™€๏ธ The site will try to actively interfere with the intruder's processes, stop further access, and start damage assessment and recovery right away. This might mean shutting down the facilities, closing off network access, or other drastic measures. The catch is that unless the intruder is identified directly, they may come back into the site through a different path, or attack another site instead ๐Ÿ˜ต

The other approach, "Pursue and Prosecute," is the complete opposite in philosophy and goals. The main goal is to let intruders keep going at the site until the site can identify the people responsible ๐Ÿ•ต๏ธโ€โ™€๏ธ Law enforcement agencies and prosecutors endorse this approach. The downside is that those agencies can't exempt a site from possible lawsuits by users if damage is done to their systems and data ๐Ÿ’€

Prosecution isn't the only possible outcome if the intruder is identified. If the culprit is an employee or a student, the organization may choose to take disciplinary action ๐Ÿ“ The computer security policy needs to spell out the choices, and how they'll be selected, if an intruder is caught.

Site management has to think carefully about its approach to this issue before the problem happens. The strategy might depend on each circumstance. Or there may be a global policy that mandates one approach in all circumstances. The pros and cons must be examined thoroughly, and the users of the facilities must be made aware of the policy so they understand their vulnerabilities, no matter which approach is taken ๐ŸŒธ

The following checklists can help a site decide which strategy to adopt: "Protect and Proceed" or "Pursue and Prosecute" ๐Ÿ’–

Protect and Proceed

  1. If assets are not well protected.
  2. If continued penetration could result in great financial risk.
  3. If the possibility or willingness to prosecute is not present.
  4. If user base is unknown.
  5. If users are unsophisticated and their work is vulnerable.
  6. If the site is vulnerable to lawsuits from users, e.g., if their resources are undermined.

Pursue and Prosecute

  1. If assets and systems are well protected.
  2. If good backups are available.
  3. If the risk to the assets is outweighed by the disruption caused by the present and possibly future penetrations.
  4. If this is a concentrated attack occurring with great frequency and intensity.
  5. If the site has a natural attraction to intruders, and consequently regularly attracts intruders.
  6. If the site is willing to incur the financial (or other) risk to assets by allowing the penetrator to continue.
  7. If intruder access can be controlled.
  8. If the monitoring tools are sufficiently well-developed to make the pursuit worthwhile.
  9. If the support staff is sufficiently clever and knowledgeable about the operating system, related utilities, and systems to make the pursuit worthwhile.
  10. If there is willingness on the part of management to prosecute.
  11. If the system administrators know in general what kind of evidence would lead to prosecution.
  12. If there is established contact with knowledgeable law enforcement.
  13. If there is a site representative versed in the relevant legal issues.
  14. If the site is prepared for possible legal action from its own users if their data or systems become compromised during the pursuit.

2.6 Interpreting the Policy ๐Ÿง

It's important to define who will interpret the policy. This could be an individual or a committee. No matter how well it's written, the policy will need interpreting from time to time, and this body would review, interpret, and revise the policy as needed ๐Ÿ’œ

2.7 Publicizing the Policy ๐Ÿ“ฃ

Once the site security policy has been written and established, a vigorous process should be started to make sure the policy statement is widely and thoroughly shared and discussed. Mailing out the policy should not be considered enough ๐Ÿ™…โ€โ™€๏ธ A period for comments should be allowed before the policy takes effect, so all affected users get a chance to share their reactions and talk through any unforeseen ramifications. Ideally, the policy should strike a balance between protection and productivity โš–๏ธ

Meetings should be held to collect these comments, and also to make sure the policy is correctly understood. (Policy promulgators are not necessarily known for their skill with language ๐Ÿ˜‚) These meetings should include higher management as well as line employees. Security is a collective effort ๐Ÿซถ

Beyond the initial push to publicize the policy, it's essential for the site to keep up a continual awareness of its computer security policy. Current users may need periodic reminders. New users should have the policy included in their site introduction packet. As a condition for using the site's facilities, it may be advisable to have them sign a statement that they have read and understood the policy. If any of these users require legal action for serious policy violations, that signed statement might prove to be a valuable aid ๐Ÿ“โœจ

3. Establishing Procedures to Prevent Security Problems ๐Ÿ”’

The security policy defines what needs to be protected. This section talks about the security procedures that specify what steps will be used to carry out the security policy ๐Ÿฆ‹

3.1. Security Policy Defines What Needs to be Protected ๐ŸŽ€

okay so the security policy is where you decide the WHATs: what needs to be protected, what matters most, what the priorities are, and what the general approach to security problems should be. ๐Ÿ’…

The policy on its own doesn't say HOW things get protected. That's the job of security procedures, which is what this section is about. โœจ The policy should be a high level document that gives the general strategy, and the procedures need to spell out, in detail, the exact steps your site will take to protect itself. ๐Ÿซถ

The policy should also include a general risk assessment covering the types of threats a site is most likely to face and what those threats would cost you (see section 2.2). Part of doing that assessment is making a general list of assets that need protecting (section 2.2.2). This info is critical for coming up with procedures that are actually cost-effective. ๐Ÿง 

It's super tempting to start with the mechanisms, like "our site should have logging on all hosts, call-back modems, and smart cards for all users." ๐Ÿ™ˆ But that approach can leave some areas way over-protected for the risk they face while other areas are underprotected. Starting from the security policy and the risks it lays out keeps the procedures at the right level of protection for every asset. ๐Ÿ‘‘

3.2. Identifing Possible Problems ๐Ÿ”

To figure out risk, you have to identify the vulnerabilities first. Part of the policy's purpose is helping to shore those up, which cuts risk in as many areas as possible. ๐Ÿฆ‹ A few of the most popular problem areas are covered in the sections below. This list is by no means complete, and every site is likely to have a few unique vulnerabilities of its own. ๐Ÿ’œ

3.2.1. Access Points ๐Ÿšช

Access points are typically how unauthorized users get in. The more access points you have, the higher the risk of someone reaching your organization's computer and network facilities. ๐Ÿ˜ฌ

Network links to outside networks let everyone else connected to that external network get into your organization. A network link usually gives access to a big pile of network services, and each one is a potential way in. ๐Ÿ’€

Dialup lines might only give access to the login port of a single system, depending on how they're set up. If a dialup line is connected to a terminal server, though, it can give access to the entire network. ๐Ÿ˜ญ

Terminal servers can be a problem all on their own. Lots of them don't require any kind of authentication. Intruders love using them to hide what they're doing: they dial in on a local phone, then use the terminal server to head out onto the local network. Some terminal servers are set up so intruders can TELNET [19] in from outside the network and then TELNET back out again, which makes them way harder to trace. ๐Ÿ•ต๏ธโ€โ™€๏ธ

3.2.2. Misconfigured Systems โš™๏ธ

Misconfigured systems make up a large percentage of security holes, and honestly that's not a shock. Today's operating systems and their software are so complex that understanding how the system works is basically a full-time job. ๐Ÿ˜ตโ€๐Ÿ’ซ And the systems managers are often non-specialists picked from the organization's current staff. ๐Ÿฅฒ

Vendors are partly to blame too. To make installation easier, they sometimes pick initial configurations that aren't secure in every environment. ๐Ÿ™ƒ

3.2.3. Software Bugs ๐Ÿ›

Software will never be bug free, full stop. Publicly known security bugs are a common way for unauthorized people to get in. ๐Ÿ˜ค Part of the fix is being aware of these security problems and updating the software whenever a problem is detected. When you find bugs, report them to the vendor so a solution can be built and distributed. ๐Ÿซถ

3.2.4. "Insider" Threats ๐Ÿ‘€

Insiders can be a serious threat to the security of your computer systems. They often have direct access to computer and network hardware, and being able to get at the components of a system makes most systems much easier to compromise. ๐Ÿ’… Most desktop workstations can be easily manipulated so they grant privileged access. And access to a local area network lets someone view potentially sensitive data as it moves across the network. ๐Ÿซฃ

3.3. Choose Controls to Protect Assets in a Cost-Effective Way ๐Ÿ’–

Once you've decided what needs protecting and assessed the risks those assets face, you have to decide how to implement the controls that protect them. The controls and protection mechanisms should be picked so they adequately counter the threats found during the risk assessment, and so they're implemented in a cost-effective way. โœจ There's zero point spending an exorbitant amount of money and over-constricting the user base if the risk of exposure is very small. ๐Ÿ’ธ

3.3.1. Choose the Right Set of Controls ๐ŸŽฏ

The controls you select are the physical embodiment of your security policy. They're your first and primary line of defense for your assets, so it's super important that you pick the right set. ๐Ÿ‘‘ If the major threat is outside penetrators, it probably doesn't make much sense to use biometric devices to authenticate your regular system users. But if the major threat is regular system users misusing computing resources, you'll probably want very rigorous automated accounting procedures. ๐Ÿงพ

3.3.2. Use Common Sense ๐Ÿง 

Common sense is the most appropriate tool you have for establishing your security policy. Elaborate schemes and mechanisms are seriously impressive, and they do have their place ๐Ÿคฉ but there's little point pouring money and time into a fancy implementation if the simple controls get forgotten. For example, no matter how elaborate a system you build on top of existing security controls, a single user with a poor password can still leave your whole system open to attack. ๐Ÿ˜ญ๐Ÿ”“

3.4. Use Multiple Strategies to Protect Assets ๐Ÿ›ก๏ธ

Another way to protect assets is to use multiple strategies. That way, if one strategy fails or gets circumvented, another one kicks in and keeps protecting the asset. ๐ŸŒˆ Several simpler strategies can often make a system more secure than one very sophisticated method swapped in for them. For example, dial-back modems can be used alongside traditional logon mechanisms. Lots of similar approaches could be devised that give assets several levels of protection. ๐Ÿงฉ Just don't go overboard with extra mechanisms, because it's really easy to do. Always keep in mind exactly what it is that needs protecting. ๐Ÿ’œ

3.5. Physical Security ๐Ÿ”’

Okay, bestie, this is the section everyone skips and then cries about later ๐Ÿ˜ญ. It is a given in computer security that if the system itself is not physically secure, nothing else about the system can be considered secure ๐Ÿ’€. With physical access to a machine, an intruder can halt it, bring it back up in privileged mode, replace or alter the disk, plant Trojan horse programs (see section 2.13.9.2), or take any number of other undesirable (and hard to prevent) actions. Literally the scariest plot twist ๐Ÿ™ˆ.

Critical communications links, important servers, and other key machines should be located in physically secure areas. Some security systems (such as Kerberos) require that the machine be physically secure ๐Ÿ”.

If you cannot physically secure machines, care should be taken about trusting those machines. Sites should consider limiting access from non-secure machines to more secure machines. In particular, allowing trusted access (e.g., the BSD Unix remote commands such as rsh) from these kinds of hosts is particularly risky ๐Ÿšฉ.

For machines that seem or are intended to be physically secure, care should be taken about who has access to the machines. Remember that custodial and maintenance staff often have keys to rooms ๐Ÿงน๐Ÿ”‘. The people with the mop can be the problem too, so keep the list tight ๐Ÿ’….

3.6. Procedures to Recognize Unauthorized Activity ๐Ÿ‘€

Several simple procedures can be used to detect most unauthorized uses of a computer system โœจ. These procedures use tools provided with the operating system by the vendor, or tools publicly available from other sources ๐Ÿงฐ.

3.6.1. Monitoring System Use

System monitoring can be done either by a system administrator, or by software written for the purpose. It basically means looking at several parts of the system and searching for anything unusual ๐Ÿ”. Some of the easier ways to do this are described in this section.

The most important thing about monitoring system use is that it be done on a regular basis. Picking one day out of the month to monitor the system is pointless, since a security breach can be isolated to a matter of hours โฐ. Only by maintaining a constant vigil can you expect to detect security violations in time to react to them ๐Ÿ‘๏ธ.

3.6.2. Tools for Monitoring the System

This section describes tools and methods for monitoring a system against unauthorized access and use ๐Ÿ› ๏ธ.

3.6.2.1. Logging

Most operating systems store numerous bits of information in log files ๐Ÿ“œ. Examining these log files on a regular basis is often the first line of defense in detecting unauthorized use of the system ๐Ÿ›ก๏ธ.

  • Compare lists of currently logged in users and past login histories. Most users typically log in and out at roughly the same time each day. An account logged in outside the "normal" time for the account may be in use by an intruder ๐Ÿ‘€.
  • Many systems maintain accounting records for billing purposes. These records can also be used to determine usage patterns for the system; unusual accounting records may indicate unauthorized use of the system ๐Ÿงพ.
  • System logging facilities, such as the UNIX syslog utility, should be checked for unusual error messages from system software. For example, a large number of failed login attempts in a short period of time may indicate someone trying to guess passwords ๐Ÿšจ.
  • Operating system commands which list currently executing processes can be used to detect users running programs they are not authorized to use, as well as to detect unauthorized programs which have been started by an intruder ๐Ÿ•ต๏ธโ€โ™€๏ธ.

3.6.2.2. Monitoring Software

Other monitoring tools can easily be constructed using standard operating system software, by using several, often unrelated, programs together ๐Ÿงฉ. For example, checklists of file ownerships and permission settings can be constructed (for example, with ls and find on UNIX) and stored off-line ๐Ÿ“. These lists can then be reconstructed periodically and compared against the master checklist (on UNIX, by using the diff utility). Differences may indicate that unauthorized modifications have been made to the system ๐Ÿšฉ.

Still other tools are available from third-party vendors and public software distribution sites. Section 3.9.9 lists several sources from which you can learn what tools are available and how to get them ๐ŸŒˆ.

3.6.2.3. Other Tools

Other tools can also be used to monitor systems for security violations, although this is not their primary purpose ๐Ÿ™ƒ. For example, network monitors can be used to detect and log connections from unknown sites ๐ŸŒ.

3.6.3. Vary the Monitoring Schedule

The task of system monitoring is not as daunting as it may seem ๐Ÿ’–. System administrators can execute many of the commands used for monitoring periodically throughout the day during idle moments (e.g., while talking on the telephone), rather than spending fixed periods of each day monitoring the system โ˜Ž๏ธ. By executing the commands frequently, you will rapidly become used to seeing "normal" output, and will easily spot things which are out of the ordinary ๐Ÿ‘‘.

Varying the timing is the real power move ๐Ÿฆ‹. By running various monitoring commands at different times throughout the day, you make it hard for an intruder to predict your actions. For example, if an intruder knows that each day at 5:00 p.m. the system is checked to see that everyone has logged off, he will simply wait until after the check has completed before logging in ๐Ÿ™„. But the intruder cannot guess when a system administrator might type a command to display all logged-in users, and thus he runs a much greater risk of detection ๐Ÿซฃ.

Plot twist: some intruders will be aware of the standard logging mechanisms in use on systems they are attacking. They will actively pursue and attempt to disable monitoring mechanisms ๐Ÿ’€. So regular monitoring is useful for detecting intruders, but it does not provide any guarantee that your system is secure. Monitoring should not be considered an infallible method of detecting unauthorized use ๐Ÿšซ.

3.7. Define Actions to Take When Unauthorized Activity is Suspected ๐Ÿšจ

Sections 2.4 and 2.5 discussed the course of action a site should take when it suspects its systems are being abused ๐Ÿง. The computer security policy should state the general approach towards dealing with these problems ๐Ÿ“‹.

The procedures for dealing with these types of problems should be written down. Who has authority to decide what actions will be taken? Should law enforcement be involved? Should your organization cooperate with other sites in trying to track down an intruder? Answers to all the questions in section 2.4 should be part of the incident handling procedures ๐Ÿ“.

Whether you decide to lock out or pursue intruders, you should have tools and procedures ready to apply ๐Ÿงฏ. It is best to work up these tools and procedures before you need them. Don't wait until an intruder is on your system to figure out how to track the intruder's actions; you will be busy enough if an intruder strikes ๐Ÿ˜….

3.8. Communicating Security Policy โœจ

okay so a security policy is only useful if people actually know it exists ๐Ÿ™ˆ it has to be communicated to both the users of the system AND the system maintainers. this section is about who needs to hear what, and how to tell them ๐Ÿ’…

3.8.1. Educating the Users ๐ŸŽ€

users need to know how the computer systems are supposed to be used, and how to protect themselves from unauthorized users ๐Ÿซถ

3.8.1.1. Proper Account/Workstation Use ๐Ÿ’–

every user should be told what counts as "proper" use of their account or workstation ("proper" use is discussed in section 2.3.2) ๐Ÿ“ the easiest moment to do this is when they first get their account, by handing them a policy statement โœจ

proper use policies usually decide stuff like whether the account or workstation can be used for personal things (like balancing your checkbook or writing letters), whether making a profit is allowed, whether playing games is okay, and so on ๐ŸŽฎ these statements can also explain how the computer facility is licensed and which software licenses the institution holds ๐Ÿ” for example, lots of universities have educational licenses that flat out ban commercial use of the system, so that's a big deal ๐Ÿ˜ญ a fuller list of things to think about when writing a policy statement is in section 2.3 ๐Ÿงš

3.8.1.2. Account/Workstation Management Procedures ๐ŸŒธ

each user should be told how to manage their account and workstation properly ๐Ÿ’… that means explaining how to protect the files stored on the system, how to log out or lock the terminal or workstation, and more ๐Ÿ”’ most of this is usually already in the "beginning user" docs from the operating system vendor, though lots of sites like to add their own local info on top ๐Ÿ“

if your site offers dial-up modem access to the computer systems, you've gotta be extra careful about telling users the security problems that come with it ๐Ÿšจ things like making sure they log out before hanging up the modem should be covered right when they first get dial-up access ๐Ÿ“ž

local and wide-area networks come with their own set of security problems too, and users should know about them ๐ŸŒ files that give "trusted host" or "trusted user" status to remote systems and users need to be explained really carefully ๐Ÿซฃ

3.8.1.3. Determining Account Misuse ๐Ÿ”

users should be told how to spot unauthorized access to their account ๐Ÿ•ต๏ธโ€โ™€๏ธ if the system prints the last login time when someone logs in, they should check that time and see whether it matches the last time they actually logged in ๐Ÿ‘€

some command interpreters (like the UNIX C shell) keep a history of the last several commands that were run ๐Ÿ“œ users should check these histories to make sure nobody else has run other commands using their account ๐Ÿ˜ค

3.8.1.4. Problem Reporting Procedures ๐Ÿ“ฃ

there should be a procedure that lets users report suspected misuse of their accounts, or any other misuse they've noticed ๐Ÿ™‹โ€โ™€๏ธ you can do this by giving them the name and phone number of a system administrator who handles the security of the computer system, or by setting up an electronic mail address (for example, "security") that users can send their problems to ๐Ÿ’Œ

3.8.2. Educating the Host Administrators ๐Ÿ‘‘

in lots of organizations, computer systems are run by a whole bunch of different people ๐Ÿ™Œ these administrators need to know how to protect their own systems from attack and unauthorized use ๐Ÿ›ก๏ธ they also need to know how to tell other administrators about a successful break-in so everyone else gets a warning ๐Ÿšฉ

3.8.2.1. Account Management Procedures ๐Ÿ”

you have to be careful when setting up accounts on the system so they end up secure ๐Ÿง when you install a system from distribution media, check the password file for "standard" accounts the vendor included ๐Ÿ‘€ lots of vendors ship accounts for system services or field service personnel, and these usually have either no password or one that's common knowledge ๐Ÿ˜ฌ if those accounts are needed, give them new passwords, and if they aren't, disable or delete them ๐Ÿ—‘๏ธ

accounts without passwords are generally super dangerous since they let anyone into the system ๐Ÿ’€ even accounts that don't run a command interpreter (like accounts that only exist to show who's logged in) can get compromised if they're set up wrong ๐Ÿ˜ฑ there's also "anonymous" file transfer (FTP) [20], which lets users from all over the network reach your system to grab files from (usually) a protected disk area ๐ŸŒ weigh the benefits of a password-less account against the security risks of giving that kind of access to your system, carefully โš–๏ธ

if the operating system has a "shadow" password facility, which stores passwords in a separate file that only privileged users can access, you should use it ๐Ÿซถ System V UNIX, SunOS 4.0 and above, and versions of Berkeley UNIX after 4.3BSD Tahoe (plus others) all have this feature โœจ it protects passwords by hiding their encrypted values from unprivileged users ๐Ÿ™ˆ that stops an attacker from copying your password file to their own machine and trying to crack the passwords at their leisure ๐Ÿ•ฐ๏ธ

keep track of who has access to privileged user accounts (like "root" on UNIX or "MAINT" on VMS) ๐Ÿ—๏ธ whenever a privileged user leaves the organization or no longer needs the privileged account, change the passwords on all privileged accounts ๐Ÿ”„

3.8.2.2. Configuration Management Procedures โš™๏ธ

when you install a system from distribution media or install third-party software, check the installation carefully ๐Ÿ”Ž a lot of installation procedures assume you're on a "trusted" site, so they'll install files with world write permission enabled, or otherwise mess with the security of files ๐Ÿ˜ค

network services should also be looked at carefully when they're first installed ๐Ÿ‘€ many vendors ship default network permission files that imply all outside hosts are "trusted", which is rarely the case once you're connected to wide-area networks like the Internet ๐ŸŒ

intruders often collect info on the vulnerabilities of particular system versions ๐Ÿ•ต๏ธ the older a system is, the more likely it has security problems that the vendor has already fixed in a later release ๐Ÿง“ so weigh the risk of not upgrading to a new operating system release (leaving security holes unplugged) against the cost of upgrading (possibly breaking third-party software, etc.) ๐Ÿค” vendor bug fixes should be weighed in a similar way, with the extra note that "security" fixes from a vendor usually address pretty serious security problems ๐Ÿš‘

other bug fixes, the kind you get through network mailing lists and the like, should usually be installed, but not without careful examination ๐Ÿ“ฌ never install a bug fix unless you're sure what its consequences are ๐Ÿ™…โ€โ™€๏ธ there's always the chance that an intruder suggested a "fix" which actually gives them access to your system ๐Ÿ˜ˆ

3.8.2.3. Recovery Procedures - Backups ๐Ÿ’พ

you literally cannot overemphasize how much you need a good backup strategy ๐Ÿ˜ญ file system backups protect you if hardware fails or files get deleted by accident, but they also protect you against unauthorized changes made by an intruder ๐Ÿ›Ÿ without a copy of your data the way it's "supposed" to be, it can be really hard to undo something an attacker has done ๐Ÿฅฒ

backups, especially if they're run daily, can also show you a history of an intruder's activities ๐Ÿ“… looking through old backups can reveal when your system was first penetrated ๐Ÿ•ต๏ธโ€โ™€๏ธ intruders may leave files lying around that get deleted later but still get captured on the backup tapes ๐Ÿ“ผ backups can also document an intruder's activities for law enforcement agencies if needed ๐Ÿš”

a good backup strategy dumps the entire system to tape at least once a month ๐Ÿ—“๏ธ partial (or "incremental") dumps should be done at least twice a week, and ideally they should be done daily ๐Ÿ” use commands made specifically for file system backups (like UNIX "dump" or VMS "BACKUP") instead of other file copying commands ๐Ÿ™Œ those tools are designed with the express goal of restoring a system to a known state, which is exactly what you want ๐Ÿ’–

3.8.2.4. Problem Reporting Procedures ๐Ÿšจ

just like users, system administrators should have a defined procedure for reporting security problems ๐Ÿ“ฃ in big installations, that's often an electronic mail alias containing the names of all the system administrators in the organization ๐Ÿ“ง other options include setting up a response team similar to the CERT, or a "hotline" run by an existing support group โ˜Ž๏ธ


3.9. Resources to Prevent Security Breaches ๐Ÿงฐ

this section talks about the software, hardware, and procedural resources you can use to back up your site security policy ๐Ÿ’ช

3.9.1. Network Connections and Firewalls ๐Ÿ”ฅ

a "firewall" is put in a building to act as a point of resistance against flames spreading into another area ๐Ÿ”ฅ๐Ÿงฑ a secretary's desk and reception area works the same way, since it's a checkpoint that controls access to the other office spaces ๐Ÿข this same technique can be applied to a computer site, especially when it comes to network connections ๐ŸŒโœจ

some sites are only connected to other sites within the same organization and can't connect to other networks at all ๐Ÿ๏ธ those sites are less susceptible to threats from outside their organization, although intrusions can still happen through paths like dial-up modems ๐Ÿ“ž on the flip side, lots of other organizations are connected to other sites through much bigger networks, like the Internet ๐ŸŒ those sites are susceptible to the entire range of threats that come with a networked environment ๐Ÿ˜ฌ๐Ÿ’€

Okay so, connecting to outside networks is a whole risk vs. reward situation ๐Ÿ˜คโœจ The risks must be weighed against the benefits, and it may be smart to limit outside connections to hosts that don't store sensitive stuff ๐Ÿ™ˆ Keep the "vital" machines (the ones running payroll or inventory systems) isolated. ๐Ÿ”’

If you need to join a Wide Area Network (WAN), consider restricting all access to your local network through a single system. Basically, all traffic to or from your local network has to go through one host computer that acts as a firewall between you and the outside world ๐Ÿงฑ That firewall system should be rigorously controlled and password protected, and external users who reach it should be constrained by limiting what they can do. Once you have that, your site can relax some of its internal security controls on the local net and still be protected by a super locked-down host front end. Iconic. ๐Ÿ’…

Note that even with a firewall, compromising the firewall could mean compromising the network behind it ๐Ÿ’€ Some people have worked on building a firewall that still protects the local network even when it's been compromised [6, CHESWICK] ๐Ÿฆ‹

3.9.2 Confidentiality ๐Ÿคซ

Confidentiality, which is basically keeping things hidden or secret, is one of the main goals of computer security folks ๐Ÿซถ Most modern operating systems give users several mechanisms to control who gets to see their information. It depends on where you work: you might be at a site where everything is locked down, a site where basically all info is treated as public, or something in-between. Most sites lean toward the in-between, at least until someone gets in and causes a mess ๐Ÿ˜ญ

Generally, information can be exposed in three situations: when it's stored on a computer system, when it's in transit to another system (on the network), and when it's stored on backup tapes ๐Ÿ“ผ

The first case is handled by file permissions, access control lists, and other similar mechanisms. The last can be handled by restricting access to the backup tapes (like locking them in a safe, for example). All three cases can be helped by using encryption mechanisms ๐Ÿ”

3.9.2.1 Encryption (hardware and software)

Encryption is the process of taking information that's in some readable form and converting it into a non-readable form ๐Ÿช„ There are several commercially available encryption packages in both hardware and software forms. Hardware encryption engines are much faster than the software version, but because they're faster, they're also more useful to an attacker who wants to run a brute-force attack on your encrypted info ๐Ÿ‘€

The big advantage of encryption is that even if other access control mechanisms (passwords, file permissions, etc.) get compromised by an intruder, the data is still unusable ๐Ÿ™Œ Naturally, encryption keys and the like should be protected at least as well as account passwords ๐Ÿ”‘

Information in transit over a network may also be vulnerable to interception ๐Ÿ˜ฌ There are a few solutions, ranging from simply encrypting files before transferring them (end-to-end encryption) to special network hardware that encrypts everything it sends without any user intervention (secure links). The Internet as a whole doesn't use secure links, so end-to-end encryption must be used if you want encryption across the Internet ๐ŸŒ

3.9.2.1.1 Data Encryption Standard (DES)

DES is perhaps the most widely used data encryption mechanism today ๐Ÿ’– Lots of hardware and software implementations exist, and some commercial computers come with a software version. DES turns plain text into encrypted data (or ciphertext) using a special algorithm and a "seed" value called a key ๐Ÿ—๏ธ As long as the original user keeps (or remembers) the key, the ciphertext can be restored to the original plain text.

One pitfall of every encryption system is that you have to remember the key something was encrypted under (kind of like the password problem discussed elsewhere in this document ๐Ÿ™ƒ). If you write the key down, it becomes less secure. If you forget it, there's little (if any) hope of recovering the original data ๐Ÿ˜ฑ

Most UNIX systems provide a DES command that lets a user encrypt data with the DES algorithm โœจ

3.9.2.1.2 Crypt

Similar to the DES command, the UNIX "crypt" command lets a user encrypt data. Unfortunately, the algorithm "crypt" uses is very insecure ๐Ÿ’€ It's based on the World War II "Enigma" device, and files encrypted with this command can be decrypted easily in a matter of a few hours. Generally, you should avoid using the "crypt" command for anything but the most trivial encryption tasks ๐Ÿ™…โ€โ™€๏ธ

3.9.2.2 Privacy Enhanced Mail ๐Ÿ“ฌ

Electronic mail normally travels across the network in the clear (meaning anyone can read it) ๐Ÿ‘๏ธ This is obviously not the optimal solution. Privacy enhanced mail gives you a way to automatically encrypt email messages, so someone eavesdropping at a mail distribution node is not (easily) able to read them ๐Ÿ•ต๏ธโ€โ™€๏ธ Several privacy enhanced mail packages are being developed and deployed on the Internet right now.

The Internet Activities Board Privacy Task Force has defined a draft standard, elective protocol for implementing privacy enhanced mail. It's defined in RFCs 1113, 1114, and 1115 [7,8,9]. For the standardization state and status of these protocols, check the current edition of the "IAB Official Protocol Standards" (currently, RFC 1200 [21]) ๐Ÿ“š

3.9.3 Origin Authentication ๐Ÿชช

We mostly take it on faith that the header of an email message truly shows who sent it. But it is easy to "spoof," or forge, the source of a mail message ๐Ÿซฃ Origin authentication gives you a way to be certain of who originated a message or other object, kind of like how a Notary Public confirms a signature on a legal document โœ๏ธ This is done with a "Public Key" cryptosystem.

A public key cryptosystem differs from a private key cryptosystem in a few ways. First, a public key system uses two keys: a Public Key that anyone can use (hence the name) and a Private Key that only the originator of a message uses ๐Ÿ”‘ The originator uses the private key to encrypt the message (as in DES). The receiver, who has gotten the originator's public key, can then decrypt the message ๐Ÿ“ฉ

With this scheme, the public key is used to authenticate the originator's use of their private key, so the originator's identity is more rigorously proven ๐Ÿฅ‡ The most widely known implementation of a public key cryptosystem is the RSA system [26], and the Internet standard for privacy enhanced mail uses the RSA system too ๐ŸŒŸ

3.9.4 Information Integrity ๐Ÿงฉ

Information integrity refers to the state of information being complete, correct, and unchanged since the last time it was verified to be in an "integral" state โœ… How much this matters depends on the site. For example, military and government installations are more concerned with preventing the "disclosure" of classified information, whether it's right or wrong. A bank, on the other hand, cares far more about whether the account info it keeps for customers is complete and accurate ๐Ÿฆ

Lots of computer system mechanisms, plus procedural controls, affect the integrity of system information. Traditional access control mechanisms control who can access system information, but on their own they aren't always enough to give the level of integrity required. A few other mechanisms are briefly discussed below.

It should be noted that there are other aspects of keeping system integrity besides these mechanisms, like two-person controls and integrity validation procedures. Those are beyond the scope of this document ๐Ÿ™

3.9.4.1 Checksums

Easily the simplest mechanism, a simple checksum routine can compute a value for a system file and compare it with the last known value. If the two match, the file is probably unchanged. If not, the file has been changed by some unknown means ๐Ÿง

Though it's the easiest to implement, the checksum scheme has a serious flaw: it isn't very sophisticated, and a determined attacker could easily add enough characters to the file to eventually get the correct value ๐Ÿ˜ค

A specific type of checksum, called a CRC checksum, is considerably more robust than a simple checksum. It's only slightly more difficult to implement and does a better job of catching errors. It too, however, can be compromised by an attacker ๐Ÿฅฒ

Checksums can be used to detect changes to information, but they don't actively guard against changes being made. For that, other mechanisms like access controls and encryption should be used ๐Ÿ›ก๏ธ

3.9.4.2 Cryptographic Checksums

Cryptographic checksums (also called cryptosealing) involve breaking a file into smaller chunks, calculating a (CRC) checksum for each chunk, and adding the CRCs together ๐Ÿงฎ Depending on the exact algorithm, this can result in a nearly unbreakable way to tell whether a file has been changed ๐Ÿ”ฅ The catch is that it's sometimes computationally intensive and may be prohibitive, except where the utmost integrity protection is desired.

Another related mechanism, called a one-way hash function (or a Manipulation Detection Code (MDC)), can also be used to uniquely identify a file. The idea is that no two inputs can produce the same output, so a modified file won't have the same hash value ๐Ÿชž One-way hash functions can be implemented efficiently on a wide variety of systems, which makes unbreakable integrity checks possible. (Snefru, a one-way hash function available via USENET as well as the Internet, is just one example of an efficient one-way hash function.) [10] ๐ŸŒˆ

3.9.5 Limiting Network Access ๐Ÿšง

The dominant network protocols on the Internet, IP (RFC 791) [11], TCP (RFC 793) [12], and UDP (RFC 768) [13], carry certain control information that can be used to restrict access to certain hosts or networks within an organization ๐Ÿ‘‘

The IP packet header carries the network addresses of both the sender and the recipient, like a return address and a delivery address on an envelope ๐Ÿ’Œ. Then TCP and UDP add the "port" ๐Ÿšช, which identifies the endpoint (usually a network server) of a communications path. Sometimes you may want to deny access to a specific TCP or UDP port, or even to certain hosts and networks altogether ๐Ÿ›‘.

3.9.5.1. Gateway Routing Tables

One of the simplest ways to block unwanted connections is to remove certain networks from a gateway's routing tables ๐Ÿ—บ๏ธ. This makes it "impossible" for a host to send packets to those networks. (Most protocols need bidirectional packet flow even for one-way data, so breaking one side of the route is usually enough ๐Ÿ™Œ.)

This is commonly done in "firewall" systems, which stop advertising local routes to the outside world ๐Ÿงฑ. The catch is that it often blocks too much ๐Ÿ˜ฉ. To block access to one system on the network, you end up disabling access to every system on it.

3.9.5.2. Router Packet Filtering

Lots of commercially available gateway systems (more correctly called routers) can filter packets based on not just sources or destinations, but also source-destination combinations ๐Ÿ”. You can use this to deny access to a specific host, network, or subnet from any other host, network, or subnet.

Some vendors (e.g., cisco Systems) go even further ๐Ÿ’… with a more complex scheme that gives finer control over source and destination addresses. Using address masks, you can deny access to all but one host on a particular network. The cisco Systems gear can also screen packets based on IP protocol type and TCP or UDP port numbers [14].

This can be dodged by "source routing" packets destined for the "secret" network ๐Ÿซฃ. Gateways can filter out source routed packets, but that might also block other legit stuff, like diagnosing routing problems.

3.9.6. Authentication Systems

Authentication is the process of proving a claimed identity to the satisfaction of some permission-granting authority ๐Ÿ”. Authentication systems are hardware, software, or procedural mechanisms that let a user get access to computing resources. At the simplest level, the sysadmin who adds new user accounts is part of the system's authentication mechanism ๐Ÿง‘โ€๐Ÿ’ป. At the other end of the spectrum, fingerprint readers or retinal scanners are a very high-tech way to establish a potential user's identity ๐Ÿ‘๏ธ. Without establishing and proving a user's identity before a session starts, your site's computers are vulnerable to any sort of attack ๐Ÿ’€.

Typically, a user authenticates himself or herself to the system by entering a password in response to a prompt. Challenge/Response mechanisms improve on passwords by prompting the user for some piece of information shared by both the computer and the user (such as mother's maiden name, etc.) โœจ.

3.9.6.1. Kerberos

Kerberos, named after the dog who in mythology is said to stand at the gates of Hades ๐Ÿ•โ€๐Ÿฆบ๐Ÿ”ฅ, is a collection of software used in a large network to establish a user's claimed identity. It was developed at the Massachusetts Institute of Technology (MIT) and uses a combination of encryption and distributed databases, so a user at a campus facility can login and start a session from any computer located on campus ๐Ÿซ. This has clear advantages in environments with lots of potential users who may connect from any one of many workstations. Some vendors are now incorporating Kerberos into their systems ๐Ÿ’œ.

It should be noted that while Kerberos makes several advances in authentication, some security weaknesses in the protocol still remain [15] ๐Ÿฅบ.

3.9.6.2. Smart Cards

Several systems use "smart cards" (a small calculator-like device) to help authenticate users ๐Ÿ’ณ. These systems depend on the user having an object in their possession. One such system involves a new password procedure that requires a user to enter a value obtained from a "smart card" when the computer asks for a password. Typically, the host machine gives the user some piece of information that gets entered into the keyboard of the smart card. The smart card then displays a response, which must then be entered into the computer before the session is established. Another such system uses a smart card that displays a number that changes over time, synchronized with the authentication software on the computer โฑ๏ธ.

This is a better way of handling authentication than the traditional password approach ๐Ÿ™Œ. On the other hand, some say it's inconvenient to carry the smart card, and start-up costs are likely to be high as well ๐Ÿ’ธ.

3.9.7. Books, Lists, and Informational Sources

There are many good sources of information on computer security ๐Ÿ“š. The annotated bibliography at the end of this document can give you a good start. Information can also come from a variety of other sources, some of which are described in this section ๐ŸŒธ.

3.9.7.1. Security Mailing Lists

The UNIX Security mailing list exists to notify system administrators of security problems before they become common knowledge, and to provide security enhancement information ๐Ÿ””. It is a restricted-access list, open only to people who can be verified as principal systems people at a site ๐Ÿ”’. Requests to join the list must be sent by either the site contact listed in the Defense Data Network's Network Information Center's (DDN NIC) WHOIS database, or from the "root" account on one of the major site machines. You must include the destination address you want on the list, an indication of whether you want to be on the mail reflector list or receive weekly digests, the electronic mail address and voice telephone number of the site contact if it isn't you, and the name, address, and telephone number of your organization. This information should be sent to SECURITY-REQUEST@CPD.COM ๐Ÿ“จ.

The RISKS digest is a component of the ACM Committee on Computers and Public Policy, moderated by Peter G. Neumann ๐Ÿง . It's a discussion forum on risks to the public in computers and related systems. Along with computer security and privacy issues, it has discussed things like the Stark incident, the shooting down of the Iranian airliner in the Persian Gulf (as it relates to computerized weapons systems), problems in air and railroad traffic control systems, software engineering, and so on โœˆ๏ธ. To join the mailing list, send a message to RISKS-REQUEST@CSL.SRI.COM. It's also available in the USENET newsgroup "comp.risks".

The VIRUS-L list is a forum for discussing computer virus experiences, protection software, and related topics ๐Ÿฆ . It's open to the public and implemented as a moderated digest. Most of the info is related to personal computers, though some may apply to larger systems. To subscribe, send the line:

SUB VIRUS-L your full name

to the address LISTSERV%LEHIIBM1.BITNET@MITVMA.MIT.EDU. This list is also available via the USENET newsgroup "comp.virus" ๐Ÿ’ป.

The Computer Underground Digest "is an open forum dedicated to sharing information among computerists and to the presentation and debate of diverse views." ๐Ÿ’ฌ While it's not directly a security list, it does have discussions about privacy and other security-related topics. It can be read on USENET as alt.society.cu-digest, or to join the mailing list, send mail to Gordon Myer (TK0JUT2%NIU.bitnet@mitvma.mit.edu). Submissions may be mailed to: cud@chinacat.unicom.com ๐Ÿฆ‹.

3.9.7.2. Networking Mailing Lists

The TCP-IP mailing list is a discussion forum for developers and maintainers of implementations of the TCP/IP protocol suite ๐Ÿ› ๏ธ. It also discusses network-related security problems when they involve programs providing network services, such as "Sendmail". To join the TCP-IP list, send a message to TCP-IP-REQUEST@NISC.SRI.COM. It's also available in the USENET newsgroup "comp.protocols.tcp-ip".

SUN-NETS is a discussion list for networking on Sun systems ๐ŸŒž. Much of the chat is about NFS, NIS (formally Yellow Pages), and name servers. To subscribe, send a message to SUN-NETS-REQUEST@UMIACS.UMD.EDU.

The USENET groups misc.security and alt.security also discuss security issues ๐Ÿ”. misc.security is a moderated group that also includes discussions of physical security and locks ๐Ÿ”‘. alt.security is unmoderated.

3.9.7.3. Response Teams

Several organizations have formed special groups of people to deal with computer security problems ๐Ÿฆธ. These teams collect information about possible security holes and disseminate it to the proper people, track intruders, and assist in recovery from security violations. The teams typically have both electronic mail distribution lists and a special telephone number to call for information or to report a problem ๐Ÿ“ž. Many of these teams are members of the CERT System, which is coordinated by the National Institute of Standards and Technology (NIST) and exists to facilitate information exchange between the various teams ๐Ÿค.

3.9.7.3.1. DARPA Computer Emergency Response Team

The Computer Emergency Response Team/Coordination Center (CERT/CC) was established in December 1988 by the Defense Advanced Research Projects Agency (DARPA) to address computer security concerns of research users of the Internet ๐Ÿšจ. It is operated by the Software Engineering Institute (SEI) at Carnegie-Mellon University (CMU). The CERT can immediately confer with experts to diagnose and solve security problems, and also establish and maintain communications with the affected computer users and government authorities as appropriate ๐Ÿ‘‘.

The CERT/CC serves as a clearing house for the identification and repair of security vulnerabilities, informal assessments of existing systems, improvement of emergency response capability, and both vendor and user security awareness ๐ŸŒˆ. In addition, the team works with vendors of various systems to coordinate the fixes for security problems ๐Ÿซถ.

The CERT/CC sends out security advisories to the CERT-ADVISORY mailing list whenever appropriate ๐Ÿ“ข They also run a 24-hour hotline you can call to report security problems (e.g., someone breaking into your system) ๐Ÿšจ, and to get current (and accurate) info about rumored security problems ๐Ÿ‘€

To join the CERT-ADVISORY mailing list, send a message to CERT@CERT.SEI.CMU.EDU and ask to be added ๐Ÿ’Œ Stuff sent to this list also shows up in the USENET newsgroup comp.security.announce ๐Ÿซถ Past advisories are available for anonymous FTP from the host CERT.SEI.CMU.EDU ๐Ÿฆ‹ The 24-hour hotline number is (412) 268-7090 ๐Ÿ“ž

The CERT/CC also keeps a CERT-TOOLS list ๐Ÿงฐ It exists to encourage the exchange of info on tools and techniques that make Internet systems more secure ๐Ÿ” Quick heads up: the CERT/CC does not review or endorse the tools described on the list ๐Ÿ’… To subscribe, send a message to CERT-TOOLS-REQUEST@CERT.SEI.CMU.EDU and ask to be added to the mailing list โœจ

The CERT/CC also maintains other generally useful security info for anonymous FTP from CERT.SEI.CMU.EDU ๐ŸŒธ Grab the README file for a list of what's available ๐Ÿ“‚

For more information, contact:

   CERT
   Software Engineering Institute
   Carnegie Mellon University
   Pittsburgh, PA  15213-3890

   (412) 268-7090
   cert@cert.sei.cmu.edu.

3.9.7.3.2 DDN Security Coordination Center ๐Ÿ›ก๏ธ

For DDN users, the Security Coordination Center (SCC) does a job similar to CERT ๐ŸŽ€ The SCC is the DDN's clearinghouse for host/user security problems and fixes ๐Ÿงน It works with the DDN Network Security Officer ๐Ÿค The SCC also distributes the DDN Security Bulletin, which shares info on network and host security exposures, fixes, and concerns with security and management people at DDN facilities ๐Ÿ“ฐ It's available online, via kermit or anonymous FTP, from the host NIC.DDN.MIL, in SCC:DDN-SECURITY-yy-nn.TXT (where "yy" is the year and "nn" is the bulletin number) ๐Ÿ—‚๏ธ The SCC gives immediate help with DDN-related host security problems ๐Ÿš‘ Call (800) 235-3155 (6:00 a.m. to 5:00 p.m. Pacific Time) or email SCC@NIC.DDN.MIL ๐Ÿ’œ For 24 hour coverage, call the MILNET Trouble Desk at (800) 451-7413 or AUTOVON 231-1713 ๐ŸŒ™

3.9.7.3.3 NIST Computer Security Resource and Response Center ๐Ÿ›๏ธ

The National Institute of Standards and Technology (NIST) is in charge of computer science and technology activities within the U.S. Federal Government ๐Ÿ‡บ๐Ÿ‡ธ NIST has played a strong role in organizing the CERT System and is now serving as the CERT System Secretariat ๐Ÿ‘‘ NIST also runs a Computer Security Resource and Response Center (CSRC) to provide help and info about computer security events and incidents โœจ It also raises awareness about computer security vulnerabilities ๐Ÿ‘€

The CSRC team operates a 24-hour hotline at (301) 975-5200 โ˜Ž๏ธ People with Internet access can get on-line publications and computer security info via anonymous FTP from the host CSRC.NCSL.NIST.GOV (129.6.48.87) ๐ŸŒ NIST also runs a personal computer bulletin board with info about computer viruses and other computer security stuff ๐Ÿฆ  To access it, set your modem to 300/1200/2400 BPS, 1 stop bit, no parity, and 8-bit characters, then call (301) 948-5717 ๐Ÿ“Ÿ Everyone gets full access to the board right after registering ๐ŸŽ‰

NIST has produced several special publications on computer security and computer viruses in particular ๐Ÿ“š Some of these are downloadable ๐Ÿ’พ For further info, contact NIST at the following address:

   Computer Security Resource and Response Center
   A-216 Technology
   Gaithersburg, MD 20899
   Telephone: (301) 975-3359
   Electronic Mail: CSRC@nist.gov

3.9.7.3.4 DOE Computer Incident Advisory Capability (CIAC) ๐Ÿ”ฅ

CIAC is the Department of Energy's (DOE's) Computer Incident Advisory Capability ๐Ÿ’– It's a four-person team of computer scientists from Lawrence Livermore National Laboratory (LLNL) ๐Ÿง‘โ€๐Ÿ”ฌ Their main job is helping DOE sites that are dealing with computer security incidents (e.g., intruder attacks, virus infections, worm attacks, etc.) ๐Ÿชฑ This help is available to DOE sites 24 hours a day ๐Ÿ•ฐ๏ธ

CIAC was formed to give a centralized response capability (including technical assistance) ๐Ÿง  It keeps sites informed about current events, deals proactively with computer security issues, and maintains liaisons with other response teams and agencies ๐Ÿค CIAC's charter is to help sites through direct technical assistance, providing info, or referring inquiries to other technical experts ๐Ÿซถ It also serves as a clearinghouse for info about threats/known incidents/vulnerabilities ๐Ÿ—ƒ๏ธ On top of that, CIAC develops guidelines for incident handling and software for responding to events/incidents ๐Ÿ› ๏ธ It analyzes events and trends, runs training and awareness activities, and alerts and advises sites about vulnerabilities and potential attacks ๐Ÿ“ฃ

CIAC's business hours phone number is (415) 422-8193 or FTS 532-8193 ๐Ÿ“ž CIAC's e-mail address is CIAC@TIGER.LLNL.GOV ๐Ÿ’Œ

3.9.7.3.5 NASA Ames Computer Network Security Response Team ๐Ÿš€

The Computer Network Security Response Team (CNSRT) is NASA Ames Research Center's local version of the DARPA CERT ๐ŸŒŒ It was formed in August of 1989 ๐Ÿ—“๏ธ The team's constituency is mainly Ames users, but it also helps other NASA Centers and federal agencies ๐Ÿซถ CNSRT keeps liaisons with the DOE's CIAC team and the DARPA CERT ๐Ÿ”— It's also a charter member of the CERT System ๐Ÿ… The team can be reached by 24 hour pager at (415) 694-0571, or by electronic mail to CNSRT@AMES.ARC.NASA.GOV ๐Ÿ’œ

3.9.7.4 DDN Management Bulletins ๐Ÿ“ฌ

The DDN Management Bulletin is distributed electronically by the DDN NIC under contract to the Defense Communications Agency (DCA) ๐Ÿ’… It's how official policy, procedures, and other info get shared with management people at DDN facilities ๐Ÿ“‹

The DDN Security Bulletin is distributed electronically by the DDN SCC, also under contract to DCA ๐Ÿ” It's a way of sharing info on network and host security exposures, fixes, and concerns with security and management people at DDN facilities ๐Ÿ›ก๏ธ

Anyone can join the mailing lists for these two bulletins ๐Ÿ™Œ Just send a message to NIC@NIC.DDN.MIL and ask to be placed on the mailing lists ๐Ÿ’Œ These messages also get posted to the USENET newsgroup ddn.mgt-bulletin ๐Ÿ“ฐ For additional info, see section 8.7 ๐ŸŒท

3.9.7.5 System Administration List ๐Ÿ–ฅ๏ธ

The SYSADM-LIST is a list that's all about UNIX system administration ๐Ÿง To get added, mail your request to SYSADM-LIST-REQUEST@SYSADMIN.COM ๐Ÿ“จ

3.9.7.6 Vendor Specific System Lists ๐Ÿ“

The SUN-SPOTS and SUN-MANAGERS lists are discussion groups for users and admins of systems from Sun Microsystems ๐ŸŒž SUN-SPOTS is a pretty general list that covers everything from hardware configs to simple UNIX questions ๐Ÿ™ˆ To subscribe, send a message to SUN-SPOTS-REQUEST@RICE.EDU ๐Ÿ’– This list is also in the USENET newsgroup comp.sys.sun ๐ŸŒˆ SUN-MANAGERS is a discussion list for Sun system admins and covers all aspects of Sun system administration ๐Ÿง‘โ€๐Ÿ’ป To subscribe, send a message to SUN-MANAGERS-REQUEST@EECS.NWU.EDU ๐Ÿซถ

The APOLLO list is about the HP/Apollo system and its software ๐Ÿบ To subscribe, send a message to APOLLO-REQUEST@UMIX.CC.UMICH.EDU ๐Ÿ’Œ APOLLO-L is a similar list you can subscribe to by sending this:

   SUB APOLLO-L your full name

to LISTSERV%UMRVMB.BITNET@VM1.NODAK.EDU ๐Ÿ“ฌ

HPMINI-L is about the Hewlett-Packard 9000 series and the HP/UX operating system ๐Ÿ’ป To subscribe, send this:

   SUB HPMINI-L your full name

to LISTSERV%UAFSYSB.BITNET@VM1.NODAK.EDU ๐Ÿงš

INFO-IBMPC is about IBM PCs and compatibles, plus MS-DOS ๐Ÿ’พ To subscribe, send a note to INFO-IBMPC-REQUEST@WSMR-SIMTEL20.ARMY.MIL ๐ŸŒธ

There are tons of other mailing lists for nearly every popular computer or workstation in use today ๐Ÿคฏ For a complete list, grab the file "netinfo/interest-groups" via anonymous FTP from the host FTP.NISC.SRI.COM ๐Ÿ“‚

3.9.7.7 Professional Societies and Journals ๐ŸŽ“

The IEEE Technical Committee on Security & Privacy publishes a quarterly magazine called "CIPHER" ๐Ÿฆ‹

   IEEE Computer Society,
   1730 Massachusetts Ave. N.W.
   Washington, DC  2036-1903

The ACM SigSAC (Special Interest Group on Security, Audit, and Controls) publishes a quarterly magazine called "SIGSAC Review" ๐ŸŒŸ

   Association for Computing Machinery
   11 West 42nd St.
   New York, N.Y.  10036

The Information Systems Security Association publishes a quarterly magazine called "ISSA Access" ๐Ÿ’œ

   Information Systems Security Association
   P.O. Box 9457
   Newport Beach, CA  92658

"Computers and Security" is an "international journal for the professional involved with computer security, audit and control, and data integrity." ๐Ÿง

   $266/year, 8 issues (1990)

   Elsevier Advanced Technology
   Journal Information Center
   655 Avenue of the Americas
   New York, NY 10010

The "Data Security Letter" is published "to help data security professionals by providing inside information and knowledgable analysis of developments in computer and communications security." ๐Ÿ’…

   $690/year, 9 issues (1990)

   Data Security Letter
   P.O. Box 1593
   Palo Alto, CA 94302

3.9.8 Problem Reporting Tools ๐Ÿšฉ

3.9.8.1 Auditing ๐Ÿ”

Auditing is an important tool for boosting the security of your installation ๐Ÿ” It doesn't just tell you who has accessed your system (and may have done something to it) ๐Ÿ‘€ It also gives you a sense of how your system is being used (or abused) by authorized users and attackers alike ๐Ÿซฃ And if your system ever gets penetrated, the audit trail that computer systems traditionally keep can become an invaluable piece of evidence ๐Ÿ•ต๏ธโ€โ™€๏ธโœจ

3.9.8.1.1 Verify Security ๐Ÿ•ต๏ธโ€โ™€๏ธ

okay so an audit trail is basically the receipts of your system ๐Ÿงพโœจ it shows how the system gets used day to day. depending on how your site's audit log is set up, your log files should show a range of access attempts that tell you what normal usage looks like. ๐Ÿ’… if you spot something that doesn't match that normal vibe, it could mean someone's sneaking in from outside using an old or stale user account ๐Ÿ‘€ ngl, noticing a weird pattern in logins could be your very first clue that something unusual is going on ๐Ÿšจ

3.9.8.1.2 Verify Software Configurations ๐Ÿด

bestie, the Trojan Horse is giving sneaky villain ๐Ÿ˜ค attackers love using one to get into a system. it can be a program that does something useful, or one that's just kinda interesting ๐ŸŽ€ but it ALWAYS does something unexpected, like stealing passwords or copying your files without you knowing [25] ๐Ÿ’€ picture a fake login program that asks for your username and password like normal, but quietly writes them to a secret file the attacker can come back and read whenever ๐Ÿ™ˆ or picture a fake editor that makes copies of everything in your directory space even though you set your file permissions ๐Ÿซ  no thank you!!

this is why you need configuration management for the software running on a system ๐Ÿงš and not just while it's being developed, but while it's actually in operation ๐Ÿ’œ there are different ways to do this. you could check every command each time it runs against some criterion (like a cryptoseal, described above), or you could just check the date and time stamp of the executable ๐ŸŒธ another option is to check each command in batch mode at midnight ๐ŸŒ™

3.9.8.2 Tools ๐Ÿงฐ

okay, COPS is a security tool for system administrators that checks for a bunch of common security problems on UNIX systems [27] ๐Ÿฆ‹ it's a collection of shell scripts and C programs that run on almost any UNIX variant, so it's super accessible โœจ among other things, it checks the following and sends the results to the system administrator:

  • Checks /dev/kmem and other devices for world read/writability.
  • Checks special or important files and directories for "bad" modes (world writable, etc.).
  • Checks for easily-guessed passwords.
  • Checks for duplicate user ids, invalid fields in the password file, etc..
  • Checks for duplicate group ids, invalid fields in the group file, etc..
  • Checks all users' home directories and their .cshrc, .login, .profile, and .rhosts files for security problems.
  • Checks all commands in the /etc/rc files and cron files for world writability.
  • Checks for bad root paths, NFS file systems exported to the world, etc..
  • Includes an expert system that checks to see if a given user (usually root) can be compromised, given that certain rules are true.
  • Checks for changes in the setuid status of programs on the system.

the COPS package is available from the comp.sources.unix archive on ftp.uu.net, and also from the UNIX-SW repository on the MILNET host wsmr-simtel20.army.mil ๐ŸŽ€


3.9.9 Communication Among Administrators ๐Ÿซถ

3.9.9.1 Secure Operating Systems ๐Ÿ”

okay so this list of products and vendors is adapted from the National Computer Security Center's (NCSC) Evaluated Products List ๐Ÿ‘‘ it's the companies that either got an evaluation from the NCSC or are in the middle of one ๐Ÿ’… the list isn't complete, BUT it's representative of the operating systems and add-on components you can actually buy on the commercial market โœจ

if you want the full scoop on what's in the NCSC EPL right now, contact the NCSC at:

   National Computer Security Center
   9800 Savage Road
   Fort George G. Meade, MD  20755-6000
   (301) 859-4458
                                      Version    Evaluation
Evaluated Product               Vendor            Evaluated  Class
-----------------------------------------------------------------------
Secure Communications           Honeywell Information    2.1         A1
Processor (SCOMP)               Systems, Inc.

Multics                         Honeywell Information    MR11.0      B2
                                Systems, Inc.

System V/MLS 1.1.2 on UNIX      AT&T                     1.1.2       B1
System V 3.1.1 on AT&T 3B2/500and 3B2/600

OS 1100                         Unisys Corp.             Security    B1
                                                         Release 1

MPE V/E                         Hewlett-Packard Computer G.03.04     C2
                                Systems Division

AOS/VS on MV/ECLIPSE series     Data General Corp.        7.60       C2

VM/SP or VM/SP HPO with CMS,    IBM Corp.                    5       C2
RACF, DIRMAINT, VMTAPE-MS,
ISPF

MVS/XA with RACF                IBM Corp.                 2.2,2.3    C2

AX/VMS                          Digital Equipment Corp.      4.3     C2

NOS                             Control Data Corp.         NOS
                                                           Security  C2
                                                       Eval Product

TOP SECRET                      CGA Software Products       3.0/163  C2
                                Group, Inc.

Access Control Facility 2       SKK, Inc.                    3.1.3   C2

UTX/32S                         Gould, Inc. Computer          1.0    C2
                                Systems Division

A Series MCP/AS with            Unisys Corp.                  3.7    C2
InfoGuard Security
Enhancements

Primos                          Prime Computer, Inc.    21.0.1DODC2A C2
Resource Access Control         IBM Corp.                     1.5    C1
Facility (RACF)

                                                  Version      Candidate
Candidate Product            Vendor               Evaluated    Class
-----------------------------------------------------------------------
Boeing MLS LAN                  Boeing Aerospace                  A1 M1

Trusted XENIX                   Trusted Information
                                Systems, Inc.                     B2

VSLAN                           VERDIX Corp.                      B2

System V/MLS                    AT&T                              B1

VM/SP with RACF                 IBM Corp.              5/1.8.2    C2
Wang SVS/OS with CAP            Wang Laboratories, Inc.  1.0      C2

3.9.9.2. Obtaining Fixes for Known Problems โœจ

okay bestie, it goes without saying that computer systems have bugs ๐Ÿ’€. even operating systems, the ones we depend on to protect our data, have bugs ๐Ÿ˜ญ. and since bugs exist, things can get broken, both on purpose and by accident. so it's super important that whenever a bug is discovered, a should fix gets identified and implemented asap ๐Ÿซถ. that should minimize any exposure the bug caused in the first place ๐Ÿ’….

the next question is: where do I get the fixes from? ๐Ÿค” most systems have some support from the manufacturer or supplier, and fixes from that source tend to get implemented quickly once they arrive ๐Ÿ”ฅ. fixes for some problems are often posted on the network, and then it's up to the system administrators to add them as they can. the vibe is that you want faith that the fix will close the hole and won't introduce any new ones ๐Ÿ™ˆ. so ngl, we tend to trust the manufacturer's fixes more than the ones posted on the net ๐Ÿ’œ.

3.9.9.3. Sun Customer Warning System ๐ŸŒธ

Sun Microsystems has established a Customer Warning System (CWS) for handling security incidents. this is a formal process which includes:

  • Having a well advertised point of contact in Sun for reporting security problems.
  • Pro-actively alerting customers of worms, viruses, or other security holes that could affect their systems.
  • Distributing the patch (or work-around) as quickly as possible.

they've created an electronic mail address, SECURITY-ALERT@SUN.COM, so customers can report security problems ๐Ÿ“ง. a voice-mail backup is available at (415) 688-9081 ๐Ÿ“ž. each customer site can designate a "Security Contact," and this person will be contacted by Sun in case of any new security problems ๐Ÿงš. for more information, contact your Sun representative โœจ.

3.9.9.4. Trusted Archive Servers ๐Ÿฆ‹

several sites on the Internet maintain large repositories of public-domain and freely distributable software, and make this material available for anonymous FTP ๐Ÿ“‚. this section describes some of the larger repositories. note that none of these servers implements secure checksums or anything else guaranteeing the integrity of their data ๐Ÿ‘€. so the notion of "trust" should be taken as a somewhat limited definition ๐Ÿ™ƒ.

3.9.9.4.1. Sun Fixes on UUNET

Sun Microsystems has contracted with UUNET Communications Services, Inc., to make fixes for bugs in Sun software available via anonymous FTP ๐ŸŽ€. you can access these fixes by using the "ftp" command to connect to the host FTP.UU.NET. then change into the directory "sun-dist/security", and obtain a directory listing. the file "README" contains a brief description of what each file in this directory contains, and what is required to install the fix ๐Ÿ“–.

3.9.9.4.2. Berkeley Fixes

the University of California at Berkeley also makes fixes available via anonymous FTP ๐Ÿป. these fixes pertain primarily to the current release of BSD UNIX (currently, release 4.3). but even if you aren't running their software, these fixes are still important, since many vendors (Sun, DEC, Sequent, etc.) base their software on the Berkeley releases ๐Ÿ’–.

the Berkeley fixes are available for anonymous FTP from the host UCBARPA.BERKELEY.EDU in the directory 4.3/ucb-fixes. the file INDEX in this directory describes what each file contains. they are also available from UUNET (see section 3.9.9.4.3).

Berkeley also distributes new versions of "sendmail" and "named" from this machine. new versions of these commands are stored in the "4.3" directory, usually in the files sendmail.tar.Z and bind.tar.Z, respectively ๐Ÿง.

3.9.9.4.3. Simtel-20 and UUNET ๐ŸŒˆ

the two largest general-purpose software repositories on the Internet are the hosts WSMR-SIMTEL20.ARMY.MIL and FTP.UU.NET ๐Ÿ‘‘.

WSMR-SIMTEL20.ARMY.MIL is a TOPS-20 machine operated by the U.S. Army at White Sands Missile Range (WSMR), New Mexico. the directory pd2:<unix-c> contains a large amount of UNIX software, primarily taken from the "comp.sources" newsgroups. the directories pd1:<msdos> and pd2:<msdos2> contain software for IBM PC systems, and pd3:<macintosh> contains software for the Apple Macintosh ๐ŸŽ.

FTP.UU.NET is operated by UUNET Communications Services, Inc. in Falls Church, Virginia. this company sells Internet and USENET access to sites all over the country (and internationally). the software posted to the following USENET source newsgroups is stored here, in directories of the same name:

comp.sources.games
comp.sources.misc
comp.sources.sun
comp.sources.unix
comp.sources.x

numerous other distributions, such as all the freely distributable Berkeley UNIX source code, Internet Request for Comments (RFCs), and so on are also stored on this system ๐Ÿ“š.

3.9.9.4.4. Vendors ๐Ÿ›๏ธ

many vendors make fixes for bugs in their software available electronically, either via mailing lists or via anonymous FTP. you should contact your vendor to find out if they offer this service, and if so, how to access it. some vendors that offer these services include Sun Microsystems (see above), Digital Equipment Corporation (DEC), the University of California at Berkeley (see above), and Apple Computer [5, CURRY] ๐Ÿ“.


4. Types of Security Procedures โœจ

4.1. System Security Audits ๐Ÿ”

most businesses undergo some sort of annual financial auditing as a regular part of their business life ๐Ÿ’ผ. security audits are an important part of running any computing environment ๐Ÿ›ก๏ธ. part of the security audit should be a review of any policies that concern system security, as well as the mechanisms that are put in place to enforce them ๐Ÿ’….

4.1.1. Organize Scheduled Drills ๐ŸŽฏ

although it isn't something that would be done each day or week, scheduled drills may be conducted to determine if the procedures defined are adequate for the threat to be countered. if your major threat is natural disaster, then a drill would be conducted to verify your backup and recovery mechanisms ๐ŸŒช๏ธ. on the other hand, if your greatest threat is from external intruders attempting to penetrate your system, a drill might be conducted to actually try a penetration to observe the effect of the policies ๐Ÿ•ต๏ธโ€โ™€๏ธ.

drills are a valuable way to test that your policies and procedures are effective ๐Ÿ’œ. on the other hand, drills can be time-consuming and disruptive to normal operations. it is important to weigh the benefits of the drills against the possible time loss which may be associated with them โฐ.

4.1.2. Test Procedures ๐Ÿงช

if the choice is made to not to use scheduled drills to examine your entire security procedure at one time, it is important to test individual procedures frequently. examine your backup procedure to make sure you can recover data from the tapes. check log files to be sure that information which is supposed to be logged to them is being logged to them, etc.. ๐Ÿ“

when a security audit is mandated, great care should be used in devising tests of the security policy. it is important to clearly identify what is being tested, how the test will be conducted, and results expected from the test. this should all be documented and included in or as an adjunct to the security policy document itself ๐ŸŽ€.

it is important to test all aspects of the security policy, both procedural and automated, with a particular emphasis on the automated mechanisms used to enforce the policy. tests should be defined to ensure a comprehensive examination of policy features. that is, if a test is defined to examine the user logon process, it should be explicitly stated that both valid and invalid user names and passwords will be used to demonstrate proper operation of the logon program ๐Ÿ”.

keep in mind that there is a limit to the reasonableness of tests ๐ŸŒ™. the purpose of testing is to ensure confidence that the security policy is being correctly enforced, and not to "prove" the absoluteness of the system or policy. the goal should be to obtain some assurance that the reasonable and credible controls imposed by your security policy are adequate โœจ.

4.2. Account Management Procedures ๐Ÿชช

procedures to manage accounts are important in preventing unauthorized access to your system ๐Ÿšช. it is necessary to decide several things: who may have an account on the system? how long may someone have an account without renewing his or her request? how do old accounts get removed from the system? the answers to all these questions should be explicitly set out in the policy ๐Ÿ’–.

in addition to deciding who may use a system, it may be important to determine what each user may use the system for (is personal use allowed, for example). if you are connected to an outside network, your site or the network management may have rules about what the network may be used for. therefore, it is important for any security policy to define an adequate account management procedure for both administrators and users ๐Ÿซถ. typically, the system administrator would be responsible for creating and deleting user accounts and generally maintaining overall control of system use ๐Ÿ‘‘.

to some degree, account management is also the responsibility of each system user in the sense that the user should observe any system messages and events that may be indicative of a policy violation ๐Ÿ‘€. for example, a message at logon that indicates the date and time of the last logon should be reported by the user if it indicates an unreasonable time of last logon ๐Ÿšจ.

4.3 Password Management Procedures โœจ

Okay bestie, password management is a whole vibe ๐Ÿ”. A policy on this may be important if your site wants to enforce secure passwords ๐Ÿ’…. The procedures can range from asking or forcing users to change their passwords every so often, all the way to actively trying to crack users' passwords and then telling them how easy it was ๐Ÿ˜ญ. Another part of the policy covers who gets to distribute passwords. Can users give their passwords to other users? ๐Ÿ™ˆ

Section 2.3 walks through some of the policy questions you need to settle for proper password management ๐Ÿ“. No matter what your policies say, the password management procedures need to be set up carefully so they don't disclose passwords ๐Ÿซถ. The choice of initial passwords is critical ๐Ÿ”ฅ. Some users may never log in to activate their account, so the initial password should not be easily guessed ๐Ÿ’€. Default passwords should never be assigned to accounts: always create new passwords for each user ๐ŸŒธ. If there are any printed lists of passwords, keep them off-line in secure locations. Even better, don't list passwords at all ๐Ÿงš.

4.3.1 Password Selection

The most vulnerable part of any computer system is honestly the account password ๐Ÿฅบ. A system can be locked down against network and dial-up attacks, Trojan horse programs, and so on, and an intruder can still take over everything if they get in with a poorly chosen password ๐Ÿ’”. It's important to define a good set of rules for password selection and share them with all users ๐Ÿ“œ. If possible, the software that sets user passwords should be modified to enforce as many of the rules as it can โœจ.

A sample set of guidelines for password selection is below:

  • DON'T use your login name in any form (as-is, reversed, capitalized, doubled, etc.).
  • DON'T use your first, middle, or last name in any form.
  • DON'T use your spouse's or child's name.
  • DON'T use other information easily obtained about you. This includes license plate numbers, telephone numbers, social security numbers, the make of your automobile, the name of the street you live on, etc..
  • DON'T use a password of all digits, or all the same letter.
  • DON'T use a word contained in English or foreign language dictionaries, spelling lists, or other lists of words.
  • DON'T use a password shorter than six characters.
  • DO use a password with mixed-case alphabetics.
  • DO use a password with non-alphabetic characters (digits or punctuation).
  • DO use a password that is easy to remember, so you don't have to write it down.
  • DO use a password that you can type quickly, without having to look at the keyboard.

Here are some ways to pick a password that follows these guidelines ๐ŸŽ€:

  • Choose a line or two from a song or poem, and use the first letter of each word.
  • Alternate between one consonant and one or two vowels, up to seven or eight characters. This gives you nonsense words that are usually pronounceable, so they're easy to remember ๐Ÿฆ‹.
  • Choose two short words and stick them together with a punctuation character between them.

Users should also be told to change their password periodically, usually every three to six months ๐Ÿ—“๏ธ. This makes sure that an intruder who has guessed a password will eventually lose access, and it also invalidates any list of passwords they may have picked up ๐Ÿ‘‘. Many systems let the system administrator force users to change their passwords after an expiration period, and this software should be enabled if your system supports it [5, CURRY] ๐Ÿ’œ.

Some systems provide software that forces users to change their passwords on a regular basis. Many of these also include password generators that offer the user a set of passwords to pick from, and the user isn't allowed to make up their own password ๐Ÿ™…. There are arguments both for and against systems like these โš–๏ธ. On the one hand, generated passwords stop users from picking insecure ones. On the other hand, unless the generator is good at making up easy-to-remember passwords, users will start writing them down just to remember them ๐Ÿ“๐Ÿ’€.

4.3.2 Procedures for Changing Passwords

How password changes are handled is a big deal for keeping passwords secure ๐Ÿ”’. Ideally, users should be able to change their own passwords on-line. (Heads up: password changing programs are a favorite target of intruders. See section 4.4 on configuration management for more info ๐Ÿ‘€.)

There are exception cases that need to be handled carefully, though ๐Ÿ˜ฌ. Users may forget their passwords and get locked out. The standard procedure is to assign the user a new password. Care should be taken to make sure the real person is the one requesting the change and getting the new password. One common trick intruders use is to call or message a system administrator and request a new password. Some external form of verification should be used before a password is assigned. At some sites, users have to show up in person with ID ๐Ÿชช.

There may also be times when many passwords need to be changed at once ๐ŸŒช๏ธ. If a system is compromised, an intruder may be able to steal a password file and take it off the system. In that situation, one course of action is to change all passwords on the system. Your site should have procedures for how to do this quickly and efficiently โšก. Which course you pick may depend on how urgent the problem is. For a known attack that has caused damage, you may choose to forcibly disable all accounts and assign users new passwords before they come back onto the system ๐Ÿšซ. Some places send users a message saying they should change their passwords, maybe within a certain time period. If the password isn't changed before that period expires, the account is locked ๐Ÿ”.

Users should know the standard procedure for passwords when a security event has happened ๐Ÿ“ฃ. One well-known spoof reported by the Computer Emergency Response Team (CERT) involved messages sent to users, supposedly from local system administrators, asking them to immediately change their password to a new value provided in the message [24]. Those messages weren't from the administrators at all. They came from intruders trying to steal accounts ๐Ÿ˜ฑ. Users should be warned to immediately report any suspicious requests like this to site administrators ๐Ÿšจ.

4.4 Configuration Management Procedures ๐Ÿ› ๏ธ

Configuration management is generally applied to the software development process. But it's totally applicable in an operational sense too ๐Ÿ’–. Since many of the system-level programs are intended to enforce the security policy, it's important that they be "known" as correct. In other words, you shouldn't let system-level programs (like the operating system, etc.) get changed arbitrarily ๐Ÿ™…โ€โ™€๏ธ. At the very least, the procedures should state who is authorized to make changes to systems, under what circumstances, and how the changes should be documented ๐Ÿ“š.

In some environments, configuration management is also desirable for the physical configuration of equipment ๐Ÿ–ฅ๏ธ. Keeping a valid and authorized hardware configuration should be given due consideration in your security policy โœ….

4.4.1 Non-Standard Configurations

Sometimes it can be useful to have a slightly non-standard configuration to thwart the "standard" attacks some intruders use ๐Ÿ•ต๏ธโ€โ™€๏ธ. The non-standard parts of the configuration might include different password encryption algorithms, different configuration file locations, and rewritten or functionally limited system commands ๐Ÿงฉ.

Non-standard configurations also come with drawbacks, though ๐Ÿ˜ค. By changing the "standard" system, these modifications make software maintenance harder. They require extra documentation, software changes after operating system upgrades, and usually someone with special knowledge of the changes ๐Ÿฅด.

Because of those drawbacks, non-standard configurations are often only used in environments with a "firewall" machine (see section 3.9.1) ๐Ÿงฑ. The firewall machine is modified in non-standard ways since it's susceptible to attack, while the internal systems behind the firewall are left in their standard configurations ๐Ÿซก.

5. Incident Handling ๐Ÿšจ

5.1. Overview โœจ

okay bestie, this section is gonna give you some guidance for when a computer security event is actively happening on a machine, network, site, or multi-site environment ๐Ÿšจ The big philosophy when there's a breach, whether it's an external intruder attack or a disgruntled employee, is to plan for adverse events in advance ๐Ÿ’– There is literally no substitute for creating contingency plans for the types of events described above, no cap.

Traditional computer security is super important in the overall site security plan ๐Ÿ›ก๏ธ but it usually goes all in on protecting systems from attack, and maybe watching systems to detect attacks. Like, how to actually handle the attack when it happens? Barely anyone talks about that ๐Ÿ˜ญ So when an attack is in progress, people make decisions in a total panic, and those choices can wreck things like tracking down the source of the incident, collecting evidence for prosecution, preparing to recover the system, and protecting the valuable data on the system. Not it ๐Ÿ’€

5.1.1. Have a Plan to Follow in Case of an Incident

Part of handling an incident is being ready to respond before it happens ๐ŸŽ€ That includes setting up a suitable level of protections, so if things get severe, the damage is limited. Protection includes preparing incident handling guidelines or a contingency response plan for your organization or site. Written plans wipe out a ton of the ambiguity that shows up during an incident and lead to a more appropriate and thorough set of responses โœจ Second, part of protection is preparing a method of notification, so you'll know who to call and the relevant phone numbers ๐Ÿ“ž It's important, for example, to conduct "dry runs," where your computer security personnel, system administrators, and managers simulate handling an incident. Main character rehearsal energy ๐ŸŽญ

Learning to respond efficiently to an incident matters for lots of reasons ๐ŸŒธ The most important benefit goes straight to human beings: preventing loss of human life ๐Ÿซถ Some computing systems are life critical systems, meaning human life depends on them (e.g., by controlling some aspect of life-support in a hospital or assisting air traffic controllers). Serious stakes, bestie ๐Ÿ˜ญ

An important but often overlooked benefit is an economic one ๐Ÿ’… Having both technical and managerial personnel respond to an incident takes considerable resources, resources that could be used more profitably if an incident didn't need their services. If these people are trained to handle an incident efficiently, less of their time gets eaten up by it ๐Ÿงš

A third benefit is protecting classified, sensitive, or proprietary information ๐Ÿ” One of the major dangers of a computer security incident is that information may be irrecoverable, and efficient incident handling minimizes that danger. When classified information is involved, other government regulations may apply and must be integrated into any plan for incident handling.

A fourth benefit is related to public relations ๐Ÿ“ฐ News about computer security incidents tends to be damaging to an organization's stature among current or potential clients. Efficient incident handling minimizes the potential for negative exposure. Reputation protected, iconic behavior ๐Ÿ‘‘

A final benefit of efficient incident handling is related to legal issues โš–๏ธ It's possible that in the near future, organizations may be sued because one of their nodes was used to launch a network attack. Similarly, people who develop patches or workarounds may be sued if those patches or workarounds are ineffective and result in damage to systems, or if the patches or workarounds themselves damage systems. Knowing about operating system vulnerabilities and patterns of attacks, then taking appropriate measures, is critical to circumventing possible legal problems ๐ŸŒˆ

5.1.2. Order of Discussion in this Session Suggests an Order for a Plan

This chapter is arranged so a list can be generated from the Table of Contents, giving you a starting point for creating a policy for handling ongoing incidents ๐Ÿ“ The main points to include in a policy for handling incidents are:

  • Overview (what are the goals and objectives in handling the incident).
  • Evaluation (how serious is the incident).
  • Notification (who should be notified about the incident).
  • Response (what should the response to the incident be).
  • Legal/Investigative (what are the legal and prosecutorial implications of the incident).
  • Documentation Logs (what records should be kept from before, during, and after the incident).

Each of these points is important in an overall plan for handling incidents ๐Ÿฆ‹ The rest of this chapter breaks down the issues in each topic and gives some guidance on what to include in a site policy for handling incidents.

5.1.3. Possible Goals and Incentives for Efficient Incident Handling

As with any set of pre-planned procedures, you have to focus on a set of goals to hit when handling an incident ๐ŸŽฏ These goals get put in order of importance depending on the site, but one possible set of goals might be:

  • Assure integrity of (life) critical systems.
  • Maintain and restore data.
  • Maintain and restore service.
  • Figure out how it happened.
  • Avoid escalation and further incidents.
  • Avoid negative publicity.
  • Find out who did it.
  • Punish the attackers.

It's important to prioritize actions during an incident well in advance of when one happens ๐Ÿ’œ Sometimes an incident is so complex that you can't do everything at once, so priorities are essential. Priorities will vary from institution to institution, but the following suggested priorities are a good starting point for defining an organization's response:

  • Priority one -- protect human life and people's safety; human life always has precedence over all other considerations. ๐Ÿซถ
  • Priority two -- protect classified and/or sensitive data (as regulated by your site or by government regulations). ๐Ÿ”’
  • Priority three -- protect other data, including proprietary, scientific, managerial and other data, because loss of data is costly in terms of resources. ๐Ÿ’พ
  • Priority four -- prevent damage to systems (e.g., loss or alteration of system files, damage to disk drives, etc.); damage to systems can result in costly down time and recovery. ๐Ÿ› ๏ธ
  • Priority five -- minimize disruption of computing resources; it is better in many cases to shut a system down or disconnect from a network than to risk damage to data or systems. ๐Ÿ”Œ

An important implication of these priorities is that once human life and national security considerations have been addressed, it's generally more important to save data than system software and hardware ๐Ÿง  It's undesirable to have any damage or loss during an incident, but systems can be replaced. The loss or compromise of data (especially classified data), however, is usually not an acceptable outcome under any circumstances. Data is the main character, periodt ๐Ÿ’…

Part of handling an incident is being prepared to respond before it occurs ๐ŸŒท This includes establishing a suitable level of protections so that if the incident becomes severe, the damage is limited. Protection includes preparing incident handling guidelines or a contingency response plan for your organization or site. Written plans eliminate much of the ambiguity during an incident and lead to a more appropriate and thorough set of responses. Second, part of protection is preparing a method of notification so you know who to call and how to contact them. For example, every member of the Department of Energy's CIAC Team carries a card with every other team member's work and home phone numbers, as well as pager numbers ๐Ÿ“‡ Third, your organization or site should establish backup procedures for every machine and system. Having backups eliminates much of the threat of even a severe incident, since backups preclude serious data loss ๐Ÿ’พโœจ Fourth, you should set up secure systems. This involves eliminating vulnerabilities, establishing an effective password policy, and other procedures, all of which will be explained later in this document ๐Ÿ” Finally, conducting training activities is part of protection. It's important, for example, to conduct "dry runs," where your computer security personnel, system administrators, and managers simulate handling an incident. Yes, we're repeating it, because it's that important ๐Ÿ™ˆ

5.1.4. Local Policies and Regulations Providing Guidance

Any plan for responding to security incidents should be guided by local policies and regulations ๐Ÿ—บ๏ธ Government and private sites that deal with classified material have specific rules they must follow.

The policies your site makes about how it responds to incidents (as discussed in sections 2.4 and 2.5) will shape your response ๐ŸŒŸ For example, it may make little sense to create mechanisms to monitor and trace intruders if your site doesn't plan to take action against them if they're caught. Other organizations may have policies that affect your plans too. Telephone companies often release information about telephone traces only to law enforcement agencies ๐Ÿ“ฑ

Section 5.5 also notes that if any legal action is planned, there are specific guidelines that must be followed to make sure any information collected can be used as evidence. This is a big deal, so take notes, bestie ๐Ÿ“šโš–๏ธ

5.2. Evaluation ๐Ÿ’…

5.2.1. Is It Real? ๐Ÿ”

Okay so this stage is all about figuring out the exact problem ๐Ÿ•ต๏ธโ€โ™€๏ธ Ngl, a LOT of the stuff that looks like a virus infection, a system intrusion, etc. is literally just anomalies, like hardware failures ๐Ÿ’€ So first you gotta check whether there's actually an incident. Using any detection software that might be available is super helpful! For example, widely available software packages can really help someone who thinks there might be a virus in a Macintosh computer ๐ŸŽ Audit information is also extremely useful, especially for figuring out whether there's a network attack ๐Ÿ”ฅ It is extremely important to get a system snapshot the second you suspect something is wrong ๐Ÿ“ธ Lots of incidents set off a dynamic chain of events, and an initial system snapshot can do more good for identifying the problem and any source of attack than most other things you can do at this stage ๐Ÿง  Finally, start a log book ๐Ÿ“– Recording system events, telephone conversations, time stamps, etc. leads to a faster, more systematic identification of the problem, and it's the basis for the later stages of incident handling โœจ

There are certain indications or "symptoms" of an incident that deserve special attention ๐Ÿ‘€

  • System crashes ๐Ÿ’ฅ
  • New user accounts (e.g., the account RUMPLESTILTSKIN has unexplainedly been created), or high activity on an account that has had virtually no activity for months ๐Ÿซฃ
  • New files (usually with novel or strange file names, such as data.xx or k) ๐Ÿ“
  • Accounting discrepancies (e.g., in a UNIX system you might notice that the accounting file called /usr/admin/lastlog has shrunk, something that should make you very suspicious that there may be an intruder) ๐Ÿšจ
  • Changes in file lengths or dates (e.g., a user should be suspicious if he/she observes that the .EXE files in an MS DOS computer have unexplainedly grown by over 1800 bytes) ๐Ÿ“
  • Attempts to write to system (e.g., a system manager notices that a privileged user in a VMS system is attempting to alter RIGHTSLIST.DAT) โœ๏ธ
  • Data modification or deletion (e.g., files start to disappear) ๐Ÿ˜ฑ
  • Denial of service (e.g., a system manager and all other users become locked out of a UNIX system, which has been changed to single user mode) ๐Ÿ™…โ€โ™€๏ธ
  • Unexplained, poor system performance (e.g., system response time becomes unusually slow) ๐Ÿข
  • Anomalies (e.g., "GOTCHA" is displayed on a display terminal or there are frequent unexplained "beeps") ๐Ÿ‘ป
  • Suspicious probes (e.g., there are numerous unsuccessful login attempts from another node) ๐Ÿ”Ž
  • Suspicious browsing (e.g., someone becomes a root user on a UNIX system and accesses file after file in one user's account, then another's) ๐Ÿ‘€

None of these indications is absolute "proof" that an incident is occurring, and not all of them are normally observed when an incident occurs ๐Ÿ™ƒ But if you observe any of these indications, it is important to suspect that an incident might be occurring and act accordingly ๐Ÿซก There is no formula for determining with 100 percent accuracy that an incident is occurring (possible exception: when a virus detection package indicates that your machine has the nVIR virus and you confirm this by examining contents of the nVIR resource in your Macintosh computer, you can be very certain that your machine is infected ๐Ÿ’ฏ). It is best at this point to collaborate with other technical and computer security personnel and make a decision as a group about whether an incident is occurring ๐Ÿซถ

5.2.2. Scope ๐Ÿ—บ๏ธ

Along with identifying the incident, you also have to evaluate its scope and impact, and this is where it gets real ๐Ÿ˜ค It is important to correctly identify the boundaries of the incident so you can deal with it effectively ๐ŸŽฏ The impact of an incident also determines its priority when allocating resources to deal with the event, so without an indication of the scope and impact, it's hard to pick a correct response ๐Ÿ’ญ

In order to identify the scope and impact, a set of criteria should be defined that fits the site and the type of connections available ๐Ÿ“‹ Some of the issues are:

  • Is this a multi-site incident? ๐ŸŒ
  • Are many computers at your site effected by this incident? ๐Ÿ’ป
  • Is sensitive information involved? ๐Ÿ”
  • What is the entry point of the incident (network, phone line, local terminal, etc.)? ๐Ÿšช
  • Is the press involved? ๐Ÿ“ฐ
  • What is the potential damage of the incident? ๐Ÿ’ฅ
  • What is the estimated time to close out the incident? โฐ
  • What resources could be required to handle the incident? ๐Ÿงฐ

5.3. Possible Types of Notification ๐Ÿ’Œ

okay so once you've confirmed an incident is actually happening, the right people need to hear about it, bestie ๐Ÿซถ Who gets told and how they get told is a BIG deal for keeping things under control, both technically and emotionally ๐Ÿ˜ญโœจ

5.3.1. Explicit

First things first, any notification to people inside or outside the site has to be explicit ๐Ÿ’… That means whatever you send (an email, a phone call, or a fax) needs info about the incident that is clear, concise, and fully qualified. If you're pinging people who are gonna help you handle it, a "smoke screen" just splits the effort and creates chaos ๐Ÿ’€ If you're dividing up the work, it helps to tell each group what the other groups are doing too. This not only cuts down on duplicate work, it also lets people know where to find the info they need to fix their part of the problem ๐Ÿงฉ

5.3.2. Factual

Another big one is being factual ๐Ÿ’ฏ Trying to hide parts of the incident by giving false or incomplete info can not only block a successful fix, it can actually make things worse ๐Ÿ˜ฌ This is especially true when the press is involved. If an incident is big enough to get press attention, any false info you gave out is probably not going to be backed up by other sources, and that will make the site look bad and may create enough bad blood with the press to damage the site's public relations ๐Ÿ“‰

5.3.3. Choice of Language

The words you pick when telling people about the incident can totally change how the info is received ๐ŸŽ€ If you use emotional or inflammatory terms, people expect more damage and worse outcomes, and nobody needs that drama ๐Ÿ™ˆ It's important to stay calm, both in writing and out loud ๐ŸŒธ

Talking to non-technical or off-site folks is its own thing too. You need to describe the incident accurately without causing undue alarm or confusing messages ๐Ÿ’– Yes, it's harder to explain it to a non-technical crowd, but it's often more important. Upper-level management, the press, or law enforcement liaisons might need a non-technical description, and getting this right can be the difference between handling the incident properly and escalating it to a higher level of damage ๐Ÿšจ

5.3.4. Notification of Individuals

  • Point of Contact (POC) people (Technical, Administrative, Response Teams, Investigative, Legal, Vendors, Service providers), and which POCs are visible to whom.
  • Wider community (users).
  • Other sites that might be affected.

Last but definitely not least, you have to figure out who should be notified during and after the incident ๐Ÿ‘‘ There are several classes of people to think about: technical personnel, administration, appropriate response teams (like CERT or CIAC), law enforcement, vendors, and other service providers ๐Ÿงš This matters a LOT for the central point of contact, since that person is the one actually doing the notifying (see section 5.3.6 for further information). Keeping a list of people in each of these categories is a total time saver for the POC during an incident ๐Ÿ“ Finding the right person is so much harder when a bunch of urgent stuff is happening at once ๐Ÿ˜ฉ

Besides the people handling part of the incident, other sites might be affected by it (or might just be at risk from it) ๐ŸŒˆ A wider community of users may also benefit from knowing about it. Often, a report on the incident once it's closed out is appropriate to publish for the wider user community ๐Ÿ“ฐ

5.3.5. Public Relations - Press Releases

One of the most important questions is when, who, and how much to release to the general public through the press ๐Ÿ“ฃ There are a lot of things to weigh here. First and foremost, if the site has a public relations office, use that office as the liaison to the press ๐Ÿ’… The PR office is trained in the type and wording of released info, and will help protect the site's image during and after the incident (if possible) ๐Ÿซง They're also great because you can be totally candid with them, and they act as a buffer between the constant press attention and the POC, who needs to stay in control of the incident ๐Ÿ›ก๏ธ

If there's no PR office, you have to be extra careful about what goes to the press ๐Ÿ‘€ If the info is sensitive, it may be a good idea to give only minimal or overview info. It's quite possible that anything given to the press will be quickly reviewed by the perpetrator of the incident ๐Ÿ˜ณ But, plot twist, we also said that misleading the press can backfire and cause more damage than releasing sensitive info. Iconic dilemma, honestly ๐Ÿฅฒ

It's hard to know in advance how much detail to share, so here are some guidelines to keep in mind ๐Ÿ“

  • Keep the technical level of detail low. Detailed info about the incident may give enough info for copy-cat events, or even damage the site's ability to prosecute once the event is over.
  • Keep the speculation out of press statements. Speculating about who is causing the incident or why is very likely to be wrong and may inflame the view of the incident ๐Ÿ”ฅ
  • Work with law enforcement professionals to make sure evidence is protected. If prosecution is involved, make sure the evidence collected is not divulged to the press ๐Ÿ”’
  • Try not to be forced into a press interview before you're prepared. The popular press is famous for the "2am" interview, where the goal is to catch the interviewee off guard and get info they otherwise wouldn't give ๐ŸŒ™๐Ÿ˜ญ
  • Don't let press attention detract from handling the event. Always remember that successfully closing the incident is the primary goal ๐Ÿ

5.3.6. Who Needs to Get Involved?

There are now a bunch of incident response teams (IRTs) like the CERT and the CIAC. (See sections 3.9.7.3.1 and 3.9.7.3.4.) Teams exist for lots of major government agencies and large corporations ๐Ÿข If a team like that is available for your site, notifying it should be a top priority in the early stages of an incident ๐Ÿš€ These teams coordinate computer security incidents across a range of sites and bigger entities, so even if the incident seems contained to one site, the info a response team has could help close it out ๐Ÿฆ‹

When you're setting up a site policy for incident handling, it may be a good idea to create an incident handling team (IHT) ๐Ÿง‘โ€๐Ÿ’ป It's like the teams that already exist, and it would be responsible for handling computer security incidents for the site (or organization) ๐Ÿ’œ If you make one, it's essential that communication lines are opened between your IHT and other IHTs ๐Ÿค Trying to build a trusted dialogue with other IHTs in the middle of an incident is really hard if you never talked before, so set that up early, bestie โœจ

5.4. Response ๐Ÿ’–

okay bestie, the big question nobody has touched yet is how you actually respond when something happens ๐Ÿ™ˆ responses fall into four main vibes: containment, eradication, recovery, and follow-up โœจ

Containment ๐Ÿ›‘

the whole point of containment is to limit how far an attack gets. it's SO important to stop a worm from spreading across a network as fast as humanly possible ๐Ÿƒโ€โ™€๏ธ a big part of containment is decision making (aka deciding whether to shut a system down, disconnect it from the network, monitor system or network activity, set traps, disable stuff like remote file transfer on a UNIX system, etc.). sometimes it's a no-brainer: shut it down if the system is classified or sensitive, or if proprietary info is at risk!! ๐Ÿ˜ญ other times it's actually worth risking some damage to the system if keeping it up might help you identify an intruder ๐Ÿ•ต๏ธโ€โ™€๏ธ

the third stage, containment, should involve carrying out predetermined procedures ๐Ÿ“‹ your org or site should, for example, define acceptable risks in dealing with an incident ahead of time, and prescribe specific actions and strategies to match. and notifying the cognizant authorities should happen during this stage too ๐Ÿซถ

Eradication ๐Ÿงน

once an incident has been detected, first think about containing it. once it's contained, it's time to eradicate the cause ๐Ÿ”ฅ software may be available to help, like eradication software that can eliminate most viruses infecting small systems ๐Ÿ’ป if any bogus files were created, delete them at this point. for virus infections, clean and reformat any disks holding infected files. and ensure that all backups are clean โœจ lowkey so many systems keep getting reinfected because people never systematically eradicate the virus from their backups ๐Ÿ’€

Recovery ๐ŸŒฑ

once the cause has been eradicated, the recovery phase is the next stage. the goal is to return the system to normal ๐ŸŒธ in the case of a network-based attack, install patches for any operating system vulnerability that was exploited ๐Ÿฉน

Follow-up ๐Ÿ”

this is one of the most important stages of responding to incidents and also the most often omitted (it's the follow-up stage, bestie, don't skip it!!) ๐Ÿ˜ค it helps the people handling the incident develop a set of "lessons learned" (see section 6.3) so they level up next time ๐Ÿ“ˆ it also provides information that justifies an organization's computer security effort to management, and it yields info that may be essential in legal proceedings โš–๏ธ

the most important element of follow-up is performing a postmortem analysis ๐Ÿ“ exactly what happened, and at what times? how well did the staff involved perform? what kind of information did the staff need quickly, and how could they have gotten it as soon as possible? what would the staff do differently next time? a follow-up report is valuable because it's a reference for other similar incidents. creating a formal chronology of events (including time stamps) is also important for legal reasons. it's also important to quickly get a monetary estimate of the damage in terms of lost software and files, hardware damage, and manpower costs to restore altered files, reconfigure affected systems, and so forth. this estimate may become the basis for subsequent prosecution activity by the FBI, the U.S. Attorney General's Office, etc.. ๐Ÿ’ผ

5.4.1. What Will You Do? ๐Ÿค”

  • Restore control.
  • Relation to policy.
  • Which level of service is needed?
  • Monitor activity.
  • Constrain or shut down system.

5.4.2. Consider Designating a "Single Point of Contact" ๐Ÿ“ฃ

when an incident is under way, a major issue is deciding who is in charge of coordinating the activity of the multitude of players ๐ŸŽ€ a major mistake is having a bunch of "points of contact" (POC) that aren't pulling their efforts together. that only adds to the confusion of the event, and will probably lead to even more confusion and wasted or ineffective effort ๐Ÿ™ƒ

the single point of contact may or may not be the person "in charge" of the incident. there are two distinct rolls to fill when deciding who shall be the point of contact and the person in charge of the incident. the person in charge makes decisions about how policy applies to the event, and is responsible for handling the event. the point of contact, in contrast, must coordinate the effort of all the parties involved with handling the event ๐Ÿ‘‘

the POC must have the technical expertise to successfully coordinate the effort of the system managers and users involved in monitoring and reacting to the attack ๐Ÿง  often, the management structure of a site means the administrator of a set of resources isn't a technically competent person when it comes to the details of operating the computers, but is ultimately responsible for how those resources are used ๐Ÿคทโ€โ™€๏ธ

another important job of the POC is maintaining contact with law enforcement and other external agencies (such as the CIA, DoD, U.S. Army, or others) to make sure multi-agency involvement happens ๐Ÿฆ‹

finally, if legal action in the form of prosecution is involved, the POC may be able to speak for the site in court ๐Ÿ‘ฉโ€โš–๏ธ the alternative is having multiple witnesses who will be hard to coordinate in a legal sense, and that will weaken any case against the attackers ๐Ÿ˜ฌ a single POC may also be the single person in charge of evidence collected, which keeps the number of people accounting for evidence to a minimum. as a rule of thumb, the more people that touch a potential piece of evidence, the greater the possibility that it will be inadmissible in court. the section below (Legal/Investigative) will provide more details for consideration on this topic ๐ŸŒˆ

5.5.1. Establishing Contacts with Investigative Agencies ๐Ÿ’ผ

bestie, it is so important to get in touch with people at investigative agencies like the FBI and Secret Service as soon as you can, and there are a few reasons why ๐Ÿซถ. Local law enforcement and local security offices or campus police orgs should also be looped in when it makes sense.

The first reason is that once a major attack is already happening, there is zero time to start calling around to figure out who the right point of contact is ๐Ÿ˜ญ. The second reason is that you want to cooperate with these agencies in a way that builds a good working relationship and matches how they actually operate. Knowing their working procedures and what your point of contact expects ahead of time is a huge step in that direction ๐Ÿ’…. For example, it's important to gather evidence that will be admissible in a court of law. If you don't already know how to gather admissible evidence, all your effort to collect evidence during an incident might be totally useless to the agency you're working with ๐Ÿ’€. The third reason is that you can never know in advance which agency will end up with jurisdiction over a given incident. Making contacts and finding the proper channels early will make responding to an incident go way more smoothly โœจ.

If your organization or site has legal counsel, you need to notify that office soon after you learn an incident is in progress ๐ŸŽ€. At a minimum, your legal counsel needs to be involved to protect the legal and financial interests of your site or organization. There are a lot of legal and practical issues, and here are a few of them:

  1. Whether your site or organization is willing to risk negative publicity or exposure in order to cooperate with legal prosecution efforts.
  2. Downstream liability: if you leave a compromised system as is so it can be monitored, and another computer gets damaged because the attack came from your system, your site or organization may be liable for the damages incurred ๐Ÿ˜ฌ.
  3. Distribution of information: if your site or organization shares information about an attack that another site or organization may be involved in, or about a product vulnerability that could affect how well that product sells, your site or organization may again be liable for any damages, including damage to its reputation ๐Ÿ“‰.
  4. Liabilities due to monitoring: your site or organization may get sued if users at your site or elsewhere find out that you're monitoring account activity without telling them ๐Ÿ™ˆ.

Unfortunately, there are no clear precedents yet on the liabilities or responsibilities of organizations involved in a security incident, or of organizations that might help support an investigation. Investigators will often encourage organizations to help trace and monitor intruders. Honestly, most investigators can't pursue computer intrusions without a lot of support from the organizations involved ๐Ÿ™. But investigators can't protect you from liability claims, and these efforts may drag on for months and take a ton of work ๐Ÿฅฒ.

On the flip side, an organization's legal counsel may advise extreme caution and suggest halting tracing activities and shutting the intruder out of the system. That alone may not protect you from liability, and it may stop investigators from identifying anyone ๐Ÿšซ.

Balancing support for investigations against limiting liability is tricky. You'll need to weigh your counsel's advice against the damage the intruder is causing (if any) when you decide what to do during any particular incident โš–๏ธ.

Your legal counsel should also be involved in any decision to contact investigative agencies when an incident happens at your site. The decision to coordinate with investigative agencies is most properly up to your site or organization. Involving your legal counsel also helps build multi-level coordination between your site and the investigative agency involved, which leads to an efficient division of labor ๐Ÿงš. It also tends to get you guidance that helps you avoid future legal mistakes ๐Ÿ™Œ.

Finally, your legal counsel should evaluate your site's written procedures for responding to incidents. It is essential to get a "clean bill of health" from a legal perspective before you actually carry out those procedures ๐Ÿฉบ.

One of the most important things when dealing with investigative agencies is verifying that the person calling for information is a legitimate representative of that agency ๐Ÿ•ต๏ธโ€โ™€๏ธ. Unfortunately, lots of well-intentioned people have unknowingly leaked sensitive information about incidents, or let unauthorized people into their systems, because a caller pretended to be an FBI or Secret Service agent. Using a secure means of communication is a similar consideration. Because many network attackers can easily reroute electronic mail, avoid using electronic mail to communicate with other agencies (and with others dealing with the incident at hand) ๐Ÿ“ง. Non-secured phone lines (like the phones normally used in the business world) are also frequent targets for tapping by network intruders, so be careful!

There is no established set of rules for responding to an incident when the U.S. Federal Government gets involved ๐Ÿ‡บ๐Ÿ‡ธ. Except by court order, no agency can force you to monitor, disconnect from the network, avoid telephone contact with the suspected attackers, and so on. As discussed in section 5.5.1, you should consult with your legal counsel, especially before taking an action your organization has never taken ๐Ÿ“ž. The particular agency involved may ask you to leave an attacked machine on and to monitor activity on it, for example. Complying with that request keeps the agency cooperating with you, which is usually the best route to finding the source of the network attacks and, ultimately, ending them ๐Ÿฆ‹.

You may also need some information or a favor from the agency involved in the incident, and you're most likely to get what you need if you've been cooperative ๐ŸŽ. Above all, avoid unnecessary or unauthorized disclosure of information about the incident, including any information the agency gave you. The trust between your site and the agency depends on your ability to avoid compromising the case the agency is building, so keeping "tight lipped" is imperative ๐Ÿค.

Sometimes your needs and the needs of an investigative agency will differ. Your site may want to get back to normal business by closing an attack route, while the agency may want you to keep that route open ๐Ÿšช. Similarly, your site may want to shut down a compromised system to avoid negative publicity, but the agency may want you to keep monitoring it. When there's a conflict like this, there may be a complex set of tradeoffs to think through, such as your site's management interests, how many resources you can put into the problem, jurisdictional boundaries, and so on ๐Ÿงฉ. An important guiding principle here is what's sometimes called "Internet citizenship" [22, IAB89, 23] and its responsibilities ๐ŸŒ. Your site can shut a system down, and that will relieve you of the stress, resource demands, and danger of negative exposure. The attacker, however, is likely to simply move on to another system, which leaves others blind to the attacker's intentions and actions until another attack path is detected ๐Ÿ‘€. As long as there's no damage to your systems or others, the most responsible move is to cooperate with the participating agency by leaving your compromised system on. This allows monitoring and, ultimately, the possibility of ending the threat to systems just like yours ๐Ÿ’œ. On the other hand, if there is damage to computers that were illegally accessed through your system, the choice gets more complicated. Shutting down the intruder may prevent further damage to systems, but it might make it impossible to track the intruder down ๐Ÿ˜ต. If there has been damage, the decision about whether it's important to leave systems up to catch the intruder should involve all the organizations affected. Adding to the complexity, if you don't cooperate with the agency involved, you'll be less likely to get help from that agency in the future ๐Ÿฅ€.

5.6. Documentation Logs โœจ

Okay bestie, when you respond to an incident, you have to document EVERYTHING related to it ๐Ÿ“ This gives you (and everyone else trying to figure out what actually happened) valuable info. Documenting everything literally saves you time ๐Ÿ’… If you skip logging a phone call, for example, you'll forget a good chunk of what you learned and have to contact the source all over again. That wastes your time AND everyone else's, and nobody can afford that ๐Ÿ˜ญ Detailed records also count as evidence for prosecution, if the case goes that way ๐Ÿ‘‘ They help you do a final damage assessment (management and law enforcement will both want that, iykyk), and they give you the basis for a "lessons learned" session later ๐Ÿฆ‹

Early on, it's often impossible to tell whether prosecution is even on the table, so document like you're gathering evidence for a court case ๐Ÿซถ At minimum, you should record:

  • All system events (audit records).
  • All actions you take (time tagged).
  • All phone conversations (including the person with whom you talked, the date and time, and the content of the conversation).

The most straightforward way to do this is keeping a log book ๐Ÿ“– It gives you one centralized, chronological source of info, so you don't have to dig through a pile of loose sheets of paper. A lot of this info is potential evidence in a court of law, so when you first suspect an incident will lead to prosecution, or an investigative agency gets involved, you need to regularly (e.g., every day) turn in photocopied, signed copies of your logbook (plus any media you used to record system events) to a document custodian. That custodian stores the copied pages somewhere secure (e.g., a safe) ๐Ÿ” When you hand stuff over, you should get a signed, dated receipt back from the custodian ๐Ÿงพ Not following these procedures can get any evidence you collected thrown out in a court of law. Yikes ๐Ÿ’€


6. Establishing Post-Incident Procedures โœจ

6.1. Overview

After an incident, several actions should happen ๐ŸŒธ They can be summarized like this:

  1. An inventory should be taken of the systems' assets, i.e., a careful examination should determine how the system was affected by the incident,
  2. The lessons learned as a result of the incident should be included in revised security plan to prevent the incident from re-occurring,
  3. A new risk analysis should be developed in light of the incident,
  4. An investigation and prosecution of the individuals who caused the incident should commence, if it is deemed desirable.

All four steps should feed back into the site security policy committee, which leads to prompt re-evaluation and amendment of the current policy ๐Ÿ”ฅ

6.2. Removing Vulnerabilities

Getting rid of ALL vulnerabilities after an incident is hard ๐Ÿ˜ฉ The key is knowing and understanding the breach. Sometimes it's smart to remove all access or functionality ASAP, then bring normal operation back in limited stages ๐ŸŽ€ Just keep in mind that cutting off all access mid-incident obviously tells every user, including the alleged problem users, that the admins know something's up. That could seriously mess with an investigation ๐Ÿ™ˆ But letting the incident keep going might also mean more damage, loss, aggravation, or liability (civil or criminal), so it's a tough call.

If it turns out the breach came from a flaw in the systems' hardware or software, the vendor (or supplier) and the CERT should be notified ASAP ๐Ÿ“ฃ Putting relevant phone numbers (plus electronic mail addresses and fax numbers) in the site security policy is strongly recommended ๐Ÿ’œ To help get a quick acknowledgment and understanding, describe the flaw in as much detail as possible, including how to exploit it.

The second the breach happens, the entire system and all its components should be treated as suspect ๐Ÿ•ต๏ธโ€โ™€๏ธ System software is the most likely target. Prep is everything when it comes to recovering from a possibly tainted system ๐Ÿงš This includes checksumming all tapes from the vendor using a checksum algorithm which (hopefully) is resistant to tampering [10]. (See sections 3.9.4.1, 3.9.4.2.) If the original vendor distribution tapes are available, an analysis of all system files should start, and any irregularities should be noted and referred to all parties involved in handling the incident ๐Ÿ” Picking which backup tapes to recover from can be really hard, honestly. Remember the incident may have been going on for months or years before anyone found it, and the suspect might be an employee or otherwise have intimate knowledge of or access to the systems ๐Ÿ˜ฌ In every case, your pre-incident preparation decides what recovery is possible. In the absolute worst case, restoring from the original manufactures' media and reinstalling the systems will be the most prudent solution ๐Ÿซ 

Look back at the lessons learned from the incident and always update the policy and procedures to reflect the changes the incident made necessary โœจ

6.2.1. Assessing Damage

Before cleanup can start, you need to figure out the actual system damage ๐Ÿ”Ž This can take forever, but it should give you some insight into what kind of incident this was, and help with investigation and prosecution. It's best to compare against previous backups or original tapes when you can, since advance preparation is the key again ๐Ÿ”‘ If the system supports centralized logging (most do), go back through the logs and look for abnormalities. If process accounting and connect time accounting are enabled, look for patterns of system usage. To a lesser extent, disk usage might shed some light too. Accounting can give you SO much helpful info for analyzing an incident and any later prosecution ๐Ÿ“Š

6.2.2. Cleanup

Once you've assessed the damage, you need a plan for system cleanup ๐Ÿงน In general, bringing services back up in the order of demand, so users are inconvenienced as little as possible, is the best practice ๐Ÿ’– Understand that the proper recovery procedures are extremely important and should be specific to the site.

You might have to go back to the original distributed tapes and recustomize the system ๐Ÿ˜ค To prepare for this worst-case scenario, keep a record of the original system setup and each customization change, kept current with every change to the system ๐Ÿ“š

6.2.3. Follow up

Once you think a system is back in a "safe" state, holes and even traps could still be lurking in there ๐Ÿ‘€ In the follow-up stage, monitor the system for stuff that might have been missed during cleanup. It would be smart to use some of the tools mentioned in section 3.9.8.2 (e.g., COPS) as a starting point ๐Ÿ› ๏ธ Just remember, these tools don't replace continual system monitoring and good systems administration procedures ๐Ÿ’…

6.2.4. Keep a Security Log

Like we covered in section 5.6, a security log is seriously valuable during this vulnerability-removal phase ๐Ÿ““ There are two things to think about. First, keep logs of the procedures you used to make the system secure again. This should include command procedures (e.g., shell scripts) that can be run on a periodic basis to recheck security. Second, keep logs of important system events. You can reference these when you're trying to figure out how far the damage from an incident went ๐Ÿ”ฅ

6.3. Capturing Lessons Learned

6.3.1. Understand the Lesson

After an incident, it's smart to write a report covering the incident, the method of discovery, the correction procedure, the monitoring procedure, and a summary of the lesson learned ๐Ÿ“ This helps everyone clearly understand the problem. Remember, it's really hard to learn from an incident if you don't understand its source ๐Ÿง

6.3.2. Resources

6.3.2.1. Other Security Devices, Methods

Security is a dynamic process, not a static one ๐Ÿฆ‹ What works depends on the kind of security available at each site and the whole array of devices and methods that help promote security. Keep up with the security side of the computer industry and its methods, and a security manager will make sure they're taking advantage of the latest tech ๐Ÿš€

6.3.2.2. Repository of Books, Lists, Information Sources

Keep an on-site collection of books, lists, information sources, etc., as guides and references for securing the system ๐Ÿ“š Keep this collection up to date too. As systems change, so do security methods and problems ๐ŸŒˆ

6.3.2.3. Form a Subgroup

Form a subgroup of system administration personnel to be the core security staff ๐Ÿ‘ฏโ€โ™€๏ธ This lets you discuss security problems and get multiple views on the site's security issues. The subgroup can also develop the site security policy and suggest changes as needed to keep the site secure ๐Ÿ’œ

6.4. Upgrading Policies and Procedures

6.4.1. Establish Mechanisms for Updating Policies, Procedures, and Tools

If an incident is based on poor policy, and the policy doesn't change, then you're doomed to repeat the past ๐Ÿ˜ญ Once a site has recovered from an incident, its policy and procedures should be reviewed to include changes that prevent similar incidents ๐Ÿ›ก๏ธ Even without an incident, it's smart to review policies and procedures on a regular basis. Reviews are imperative because computing environments keep changing ๐ŸŒธ

6.4.2. Problem Reporting Procedures

Set up a problem reporting procedure to describe, in detail, the incident and its solutions ๐Ÿ“‹ Each incident should be reviewed by the site security subgroup, so everyone understands it and can make suggestions for the site policy and procedures ๐Ÿซถ

7. References โœจ

okay bestie, this is the receipts section ๐Ÿงพ๐Ÿ’… every source the spec leans on is listed here with all its details, so you can go find the originals if you want to dig in ๐Ÿ”

  • [1] Quarterman, J., "The Matrix: Computer Networks and Conferencing Systems Worldwide", Pg. 278, Digital Press, Bedford, MA, 1990.
  • [2] Brand, R., "Coping with the Threat of Computer Security Incidents: A Primer from Prevention through Recovery", R. Brand, available on-line from: cert.sei.cmu.edu:/pub/info/primer, 8 June 1990.
  • [3] Fites, M., Kratz, P. and A. Brebner, "Control and Security of Computer Information Systems", Computer Science Press, 1989.
  • [4] Johnson, D., and J. Podesta, "Formulating a Company Policy on Access to and Use and Disclosure of Electronic Mail on Company Computer Systems", Available from: The Electronic Mail Association (EMA) 1555 Wilson Blvd, Suite 555, Arlington VA 22209, (703) 522-7111, 22 October 1990.
  • [5] Curry, D., "Improving the Security of Your UNIX System", SRI International Report ITSTD-721-FR-90-21, April 1990.
  • [6] Cheswick, B., "The Design of a Secure Internet Gateway", Proceedings of the Summer Usenix Conference, Anaheim, CA, June 1990.
  • [7] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part I -- Message Encipherment and Authentication Procedures", RFC 1113, IAB Privacy Task Force, August 1989.
  • [8] Kent, S., and J. Linn, "Privacy Enhancement for Internet Electronic Mail: Part II -- Certificate-Based Key Management", RFC 1114, IAB Privacy Task Force, August 1989.
  • [9] Linn, J., "Privacy Enhancement for Internet Electronic Mail: Part III -- Algorithms, Modes, and Identifiers", RFC 1115, IAB Privacy Task Force, August 1989.
  • [10] Merkle, R., "A Fast Software One Way Hash Function", Journal of Cryptology, Vol. 3, No. 1.
  • [11] Postel, J., "Internet Protocol - DARPA Internet Program Protocol Specification", RFC 791, DARPA, September 1981.
  • [12] Postel, J., "Transmission Control Protocol - DARPA Internet Program Protocol Specification", RFC 793, DARPA, September 1981.
  • [13] Postel, J., "User Datagram Protocol", RFC 768, USC/Information Sciences Institute, 28 August 1980.
  • [14] Mogul, J., "Simple and Flexible Datagram Access Controls for UNIX-based Gateways", Digital Western Research Laboratory Research Report 89/4, March 1989.
  • [15] Bellovin, S., and M. Merritt, "Limitations of the Kerberos Authentication System", Computer Communications Review, October 1990.
  • [16] Pfleeger, C., "Security in Computing", Prentice-Hall, Englewood Cliffs, N.J., 1989.
  • [17] Parker, D., Swope, S., and B. Baker, "Ethical Conflicts: Information and Computer Science, Technology and Business", QED Information Sciences, Inc., Wellesley, MA.
  • [18] Forester, T., and P. Morrison, "Computer Ethics: Tales and Ethical Dilemmas in Computing", MIT Press, Cambridge, MA, 1990.
  • [19] Postel, J., and J. Reynolds, "Telnet Protocol Specification", RFC 854, USC/Information Sciences Institute, May 1983.
  • [20] Postel, J., and J. Reynolds, "File Transfer Protocol", RFC 959, USC/Information Sciences Institute, October 1985.
  • [21] Postel, J., Editor, "IAB Official Protocol Standards", RFC 1200, IAB, April 1991.
  • [22] Internet Activities Board, "Ethics and the Internet", RFC 1087, Internet Activities Board, January 1989.
  • [23] Pethia, R., Crocker, S., and B. Fraser, "Policy Guidelines for the Secure Operation of the Internet", CERT, TIS, CERT, RFC in preparation.
  • [24] Computer Emergency Response Team (CERT/CC), "Unauthorized Password Change Requests", CERT Advisory CA-91:03, April 1991.
  • [25] Computer Emergency Response Team (CERT/CC), "TELNET Breakin Warning", CERT Advisory CA-89:03, August 1989.
  • [26] CCITT, Recommendation X.509, "The Directory: Authentication Framework", Annex C.
  • [27] Farmer, D., and E. Spafford, "The COPS Security Checker System", Proceedings of the Summer 1990 USENIX Conference, Anaheim, CA, Pgs. 165-170, June 1990.

8. Annotated Bibliography ๐Ÿ“š

okay so this bibliography is basically a curated reading list ๐ŸŒธ It's meant to give you a starting point for digging deeper into security stuff, and it points at other sources for anyone who wants to go full rabbit hole ๐Ÿ‡ Think of it as a friendly map of the computer security world ๐Ÿ—บ๏ธโœจ

8.1. Computer Law โš–๏ธ

  • [ABA89] American Bar Association, Section of Science and Technology, "Guide to the Prosecution of Telecommunication Fraud by the Use of Computer Crime Statutes", American Bar Association, 1989.
  • [BENDER] Bender, D., "Computer Law: Evidence and Procedure", M. Bender, New York, NY, 1978-present.
    • Kept up to date with supplements. Years covering 1978-1984 focus on: Computer law, evidence and procedures. The years 1984 to the current focus on general computer law. Bibliographical references and index included.
  • [BLOOMBECKER] Bloombecker, B., "Spectacular Computer Crimes", Dow Jones-Irwin, Homewood, IL. 1990.
  • [CCH] Commerce Clearing House, "Guide to Computer Law", (Topical Law Reports), Chicago, IL., 1989.
    • Court cases and decisions rendered by federal and state courts throughout the United States on federal and state computer law. Includes Case Table and Topical Index.
  • [CONLY] Conly, C., "Organizing for Computer Crime Investigation and Prosecution", U.S. Dept. of Justice, Office of Justice Programs, Under Contract Number OJP-86-C-002, National Institute of Justice, Washington, DC, July 1989.
  • [FENWICK] Fenwick, W., Chair, "Computer Litigation, 1985: Trial Tactics and Techniques", Litigation Course Handbook Series No. 280, Prepared for distribution at the Computer Litigation, 1985: Trial Tactics and Techniques Program, February-March 1985.
  • [GEMIGNANI] Gemignani, M., "Viruses and Criminal Law", Communications of the ACM, Vol. 32, No. 6, Pgs. 669-671, June 1989.
  • [HUBAND] Huband, F., and R. Shelton, Editors, "Protection of Computer Systems and Software: New Approaches for Combating Theft of Software and Unauthorized Intrusion", Papers presented at a workshop sponsored by the National Science Foundation, 1986.
  • [MCEWEN] McEwen, J., "Dedicated Computer Crime Units", Report Contributors: D. Fester and H. Nugent, Prepared for the National Institute of Justice, U.S. Department of Justice, by Institute for Law and Justice, Inc., under contract number OJP-85-C-006, Washington, DC, 1989.
  • [PARKER] Parker, D., "Computer Crime: Criminal Justice Resource Manual", U.S. Dept. of Justice, National Institute of Justice, Office of Justice Programs, Under Contract Number OJP-86-C-002, Washington, D.C., August 1989.
  • [SHAW] Shaw, E., Jr., "Computer Fraud and Abuse Act of 1986, Congressional Record (3 June 1986), Washington, D.C., 3 June 1986.
  • [TRIBLE] Trible, P., "The Computer Fraud and Abuse Act of 1986", U.S. Senate Committee on the Judiciary, 1986.

8.2. Computer Security ๐Ÿ”

  • [CAELLI] Caelli, W., Editor, "Computer Security in the Age of Information", Proceedings of the Fifth IFIP International Conference on Computer Security, IFIP/Sec '88.
  • [CARROLL] Carroll, J., "Computer Security", 2nd Edition, Butterworth Publishers, Stoneham, MA, 1987.
  • [COOPER] Cooper, J., "Computer and Communications Security: Strategies for the 1990s", McGraw-Hill, 1989.
  • [BRAND] Brand, R., "Coping with the Threat of Computer Security Incidents: A Primer from Prevention through Recovery", R. Brand, 8 June 1990.
    • As computer security becomes a more important issue in modern society, it begins to warrant a systematic approach. The vast majority of the computer security problems and the costs associated with them can be prevented with simple inexpensive measures. The most important and cost effective of these measures are available in the prevention and planning phases. These methods are presented in this paper, followed by a simplified guide to incident handling and recovery. Available on-line from: cert.sei.cmu.edu:/pub/info/primer.
  • [CHESWICK] Cheswick, B., "The Design of a Secure Internet Gateway", Proceedings of the Summer Usenix Conference, Anaheim, CA, June 1990.
    • Brief abstract (slight paraphrase from the original abstract): AT&T maintains a large internal Internet that needs to be protected from outside attacks, while providing useful services between the two. This paper describes AT&T's Internet gateway. This gateway passes mail and many of the common Internet services between AT&T internal machines and the Internet. This is accomplished without IP connectivity using a pair of machines: a trusted internal machine and an untrusted external gateway. These are connected by a private link. The internal machine provides a few carefully-guarded services to the external gateway. This configuration helps protect the internal internet even if the external machine is fully compromised.
    • This is a very useful and interesting design. Most firewall gateway systems rely on a system that, if compromised, could allow access to the machines behind the firewall. Also, most firewall systems require users who want access to Internet services to have accounts on the firewall machine. AT&T's design allows AT&T internal internet users access to the standard services of TELNET and FTP from their own workstations without accounts on the firewall machine. A very useful paper that shows how to maintain some of the benefits of Internet connectivity while still maintaining strong security.
  • [CURRY] Curry, D., "Improving the Security of Your UNIX System", SRI International Report ITSTD-721-FR-90-21, April 1990.
    • This paper describes measures that you, as a system administrator, can take to make your UNIX system(s) more secure. Oriented primarily at SunOS 4.x, most of the information covered applies equally well to any Berkeley UNIX system with or without NFS and/or Yellow Pages (NIS). Some of the information can also be applied to System V, although this is not a primary focus of the paper. A very useful reference, this is also available on the Internet in various locations, including the directory cert.sei.cmu.edu:/pub/info.
  • [FITES] Fites, M., Kratz, P. and A. Brebner, "Control and Security of Computer Information Systems", Computer Science Press, 1989.
    • This book serves as a good guide to the issues encountered in forming computer security policies and procedures. The book is designed as a textbook for an introductory course in information systems security.

That's the whole bibliography, bestie! ๐ŸŒˆ๐Ÿ’–

Okay so this part picks up mid-blurb, and bestie, the book is giving structure ๐ŸŽ€. It's split into five sections: Risk Management (I), Safeguards: security and control measures, organizational and administrative (II), Safeguards: Security and Control Measures, Technical (III), Legal Environment and Professionalism (IV), and CICA Computer Control Guidelines (V).

The vibe is super straight-forward ๐Ÿ’…. It's all about common sense being the first thing you consider when you design a security program ๐Ÿง . The authors call out how people tend to jump straight to fancy technical fixes and totally overlook organizational controls, which are often cheaper and way more effective ๐Ÿ’–. 298 pages, including references and index ๐Ÿ“š.

[GARFINKEL] Garfinkel, S, and E. Spafford, "Practical Unix Security", O'Reilly & Associates, ISBN 0-937175-72-2, May 1991.

Approx 450 pages, $29.95. Orders: 1-800-338-6887 (US & Canada), 1-707-829-0515 (Europe), email: nuts@ora.com ๐Ÿฆ‹

This one is literally one of the most useful books out there on Unix security ๐Ÿ”ฅ. Part one covers standard Unix and Unix security basics, with major focus on passwords ๐Ÿ”‘. Part two is all about enforcing security on the system ๐Ÿ›ก๏ธ. The network security sections are a must for Internet Unix users, because they tackle the common problems that keep hitting those systems ๐Ÿ˜ญ. Four chapters are about handling security incidents, and it wraps up with encryption, physical security, and checklists plus lists of resources ๐ŸŒธ. It lives up to its name, ngl. It's packed with specific references to possible security holes, files to check, and things to do to level up your security ๐Ÿ‘‘. This book is an excellent complement to this handbook ๐Ÿซถ.

[GREENIA90] Greenia, M., "Computer Security Information Sourcebook", Lexikon Services, Sacramento, CA, 1989.

A manager's guide to computer security ๐Ÿ’ผ. It's got a sourcebook of key reference materials, including access control and computer crimes bibliographies ๐Ÿงš.

[HOFFMAN] Hoffman, L., "Rogue Programs: Viruses, Worms, and Trojan Horses", Van Nostrand Reinhold, NY, 1990. (384 pages, includes bibliographical references and index.) ๐Ÿ›

[JOHNSON] Johnson, D., and J. Podesta, "Formulating A Company Policy on Access to and Use and Disclosure of Electronic Mail on Company Computer Systems".

A white paper prepared for the EMA, written by two experts in privacy law โš–๏ธ. It gives background on the issues and presents some policy options ๐Ÿ“.

Available from: The Electronic Mail Association (EMA) 1555 Wilson Blvd, Suite 555, Arlington, VA, 22209. (703) 522-7111.

[KENT] Kent, Stephen, "E-Mail Privacy for the Internet: New Software and Strict Registration Procedures will be Implemented this Year", Business Communications Review, Vol. 20, No. 1, Pg. 55, 1 January 1990. ๐Ÿ“ฐ

[LU] Lu, W., and M. Sundareshan, "Secure Communication in Internet Environments: A Hierachical Key Management Scheme for End-to-End Encryption", IEEE Transactions on Communications, Vol. 37, No. 10, Pg. 1014, 1 October 1989. ๐Ÿ”

[LU1] Lu, W., and M. Sundareshan, "A Model for Multilevel Security in Computer Networks", IEEE Transactions on Software Engineering, Vol. 16, No. 6, Page 647, 1 June 1990. ๐Ÿงฉ

[NSA] National Security Agency, "Information Systems Security Products and Services Catalog", NSA, Quarterly Publication.

The NSA catalogue has chapters on the Endorsed Cryptographic Products List; NSA Endorsed Data Encryption Standard (DES) Products List; Protected Services List; Evaluated Products List; Preferred Products List; and Endorsed Tools List ๐Ÿ•ต๏ธโ€โ™€๏ธ.

The catalogue is available from the Superintendent of Documents, U.S. Government Printing Office, Washington, D.C. You can place telephone orders by calling: (202) 783-3238 ๐Ÿ“ž.

[OTA] United States Congress, Office of Technology Assessment, "Defending Secrets, Sharing Data: New Locks and Keys for Electronic Information", OTA-CIT-310, October 1987.

This report was prepared for a congressional committee looking at Federal policy on protecting electronic information, and it's so interesting because of the issues it raises about how the technology used to protect information actually affects things ๐Ÿคฏ. It's also a reasonable intro to the different encryption and information protection mechanisms ๐Ÿ”’. 185 pages. Available from the U.S. Government Printing Office ๐Ÿ–จ๏ธ.

[PALMER] Palmer, I., and G. Potter, "Computer Security Risk Management", Van Nostrand Reinhold, NY, 1989. ๐Ÿงฎ

[PFLEEGER] Pfleeger, C., "Security in Computing", Prentice-Hall, Englewood Cliffs, NJ, 1989.

A general textbook in computer security, and it's an excellent, super readable intro to classic computer security problems and solutions ๐Ÿ“–โœจ. It puts a particular emphasis on encryption, and that coverage is a good intro to the subject ๐Ÿ”. It also covers building secure programs and systems, security of databases, personal computer security, network and communications security, physical security, risk analysis and security planning, and legal and ethical issues ๐Ÿ’œ. 538 pages including index and bibliography.

[SHIREY] Shirey, R., "Defense Data Network Security Architecture", Computer Communication Review, Vol. 20, No. 2, Page 66, 1 April 1990. ๐Ÿ›ฐ๏ธ

[SPAFFORD] Spafford, E., Heaphy, K., and D. Ferbrache, "Computer Viruses: Dealing with Electronic Vandalism and Programmed Threats", ADAPSO, 1989. (109 pages.)

This is a good general reference on computer viruses and related concerns ๐Ÿฆ . Besides describing viruses in detail, it also covers broader security issues, legal recourse when security problems happen, and includes lists of laws, journals focused on computer security, and other security-related resources ๐Ÿ“š๐ŸŽ€.

Available from: ADAPSO, 1300 N. 17th St, Suite 300, Arlington VA 22209. (703) 522-5055.

[STOLL88] Stoll, C., "Stalking the Wily Hacker", Communications of the ACM, Vol. 31, No. 5, Pgs. 484-497, ACM, New York, NY, May 1988.

This article describes some of the technical means used to trace the intruder that was later chronicled in "Cuckoo's Egg" (see below) ๐Ÿ•ต๏ธโ€โ™€๏ธ๐Ÿ’ป.

[STOLL89] Stoll, C., "The Cuckoo's Egg", ISBN 00385-24946-2, Doubleday, 1989.

Clifford Stoll, an astronomer turned UNIX System Administrator, recounts an exciting, true story of how he tracked a computer intruder through the maze of American military and research networks ๐Ÿ”ญ๐ŸŒˆ. It's easy to understand and can be an interesting intro to the world of networking ๐Ÿฆ‹. Jon Postel says in a book review, "[this book] ... is absolutely essential reading for anyone that uses or operates any computer connected to the Internet or any other computer network." ๐Ÿ’…

[VALLA] Vallabhaneni, S., "Auditing Computer Security: A Manual with Case Studies", Wiley, New York, NY, 1989. ๐Ÿงพ

8.3. Ethics ๐Ÿซถ

Okay bestie, this is the ethics shelf of the reading list ๐Ÿ“š๐Ÿ’œ Lowkey the most important part of the whole thing, so let's go.

[CPSR89] Computer Professionals for Social Responsibility, "CPSR Statement on the Computer Virus", CPSR, Communications of the ACM, Vol. 32, No. 6, Pg. 699, June 1989.

This one is a statement on the Internet Computer Virus from the Computer Professionals for Social Responsibility (CPSR). Short, sharp, and very on point ๐Ÿ’…

[DENNING] Denning, Peter J., Editor, "Computers Under Attack: Intruders, Worms, and Viruses", ACM Press, 1990.

This is a collection of 40 pieces split into six sections. It covers the rise of worldwide computer networks, electronic break-ins, worms, viruses, and counterculture (articles about the world of the "hacker"). The last section looks at social, legal, and ethical considerations. It's a thoughtful read about attacks on computers, mixing older published articles with some new ones. The older pieces are well chosen and include references that are otherwise hard to find. It's basically a key reference for the computer security threats that have caused so much worry in recent years ๐Ÿ”ฅ

[ERMANN] Ermann, D., Williams, M., and C. Gutierrez, Editors, "Computers, Ethics, and Society", Oxford University Press, NY, 1990. (376 pages, includes bibliographical references).

[FORESTER] Forester, T., and P. Morrison, "Computer Ethics: Tales and Ethical Dilemmas in Computing", MIT Press, Cambridge, MA, 1990. (192 pages including index.)

The preface says the book has two goals ๐ŸŽ€ First, it describes problems that computers create for society. Second, it shows how those problems turn into ethical dilemmas for computer professionals and computer users. The problems come from two main places: hardware and software malfunctions, and misuse by humans. The authors argue that computer systems are insecure, unreliable, and unpredictable by their very nature, and that society hasn't really caught up with what that means. They also show how society has become newly vulnerable to people misusing computers, through things like computer crime, software theft, hacking, creating viruses, and invasions of privacy.

The eight chapters are "Computer Crime", "Software Theft", "Hacking and Viruses", "Unreliable Computers", "The Invasion of Privacy", "AI and Expert Systems", and "Computerizing the Workplace." It also has extensive notes on sources and an index ๐Ÿ“–โœจ

[GOULD] Gould, C., Editor, "The Information Web: Ethical and Social Implications of Computer Networking", Westview Press, Boulder, CO, 1989.

[IAB89] Internet Activities Board, "Ethics and the Internet", RFC 1087, IAB, January 1989. Also appears in the Communications of the ACM, Vol. 32, No. 6, Pg. 710, June 1989.

This is a statement of policy from the Internet Activities Board (IAB) about using the Internet's resources properly. It's giving official guidance energy ๐Ÿงš You can grab it on-line from host ftp.nisc.sri.com, directory rfc, filename rfc1087.txt. It's also on host nis.nsf.net, directory RFC, filename RFC1087.TXT-1.

[MARTIN] Martin, M., and R. Schinzinger, "Ethics in Engineering", McGraw Hill, 2nd Edition, 1989.

[MIT89] Massachusetts Institute of Technology, "Teaching Students About Responsible Use of Computers", MIT, 1985-1986. Also reprinted in the Communications of the ACM, Vol. 32, No. 6, Pg. 704, Athena Project, MIT, June 1989.

This is MIT's policy statement on the responsible use of computers. Very principled, very iconic ๐ŸŒธ

[NIST] National Institute of Standards and Technology, "Computer Viruses and Related Threats: A Management Guide", NIST Special Publication 500-166, August 1989.

[NSF88] National Science Foundation, "NSF Poses Code of Networking Ethics", Communications of the ACM, Vol. 32, No. 6, Pg. 688, June 1989. Also appears in the minutes of the regular meeting of the Division Advisory Panel for Networking and Communications Research and Infrastructure, Dave Farber, Chair, November 29-30, 1988.

This is the National Science Foundation (NSF) laying down its policy on the ethical use of the Internet. Main character energy ๐Ÿ‘‘

[PARKER90] Parker, D., Swope, S., and B. Baker, "Ethical Conflicts: Information and Computer Science, Technology and Business", QED Information Sciences, Inc., Wellesley, MA. (245 pages).

Additional publications on Ethics:

The University of New Mexico (UNM) has a collection of ethics documents ๐Ÿฆ‹ It includes legislation from several states and policies from many institutions. You can get it by FTP at IP address ariel.umn.edu. Look in the directory /ethics.


8.4. The Internet Worm ๐Ÿ›

Okay, this section is the "what actually happened" tea โ˜• Every one of these is about the Internet worm.

[BROCK] Brock, J., "November 1988 Internet Computer Virus and the Vulnerability of National Telecommunications Networks to Computer Viruses", GAO/T-IMTEC-89-10, Washington, DC, 20 July 1989.

This is the testimony of Jack L. Brock, Director, U. S. Government Information, before the Subcommittee on Telecommunications and Finance, Committee on Energy and Commerce, House of Representatives. Very official, very serious ๐Ÿง

[EICHIN89] Eichin, M., and J. Rochlis, "With Microscope and Tweezers: An Analysis of the Internet Virus of November 1988", Massachusetts Institute of Technology, February 1989.

This one is a detailed dissection of the worm program ๐Ÿ”ฌ It goes through the main points of the worm, then reviews strategies, chronology, lessons and open issues, and Acknowledgments. There's a detailed appendix going through the worm subroutine by subroutine, another appendix on the cast of characters, and a reference section. Bestie, it's so thorough it's unhinged in the best way ๐Ÿ˜ญ

[EISENBERG89] Eisenberg, T., D. Gries, J. Hartmanis, D. Holcomb, M. Lynn, and T. Santoro, "The Computer Worm", Cornell University, 6 February 1989.

This is a Cornell University report given to the Provost of the University on 6 February 1989 about the Internet Worm.

[GAO] U.S. General Accounting Office, "Computer Security - Virus Highlights Need for Improved Internet Management", United States General Accounting Office, Washington, DC, 1989.

This 36 page report (GAO/IMTEC-89-57) from the U.S. Government Accounting Office describes the Internet worm and what it did. It gives a great overview of the different U.S. agencies involved with the Internet today, and their concerns vis-a-vis computer security and networking. ๐Ÿงš

You can get it on-line from host nnsc.nsf.net, directory pub, filename GAO_RPT. It's also on nis.nsf.net, directory nsfnet, filename GAO_RPT.TXT.

[REYNOLDS89] The Helminthiasis of the Internet, RFC 1135, USC/Information Sciences Institute, Marina del Rey, CA, December 1989.

This report looks back at the helminthiasis (infestation with, or disease caused by, parasitic worms) of the Internet that was unleashed on the evening of 2 November 1988 ๐Ÿชฑ It covers the infection, its festering, and the cure. It also discusses the impact of the worm on the Internet community, ethics statements, the role of the news media, crime in the computer world, and future prevention. There's a documentation review of four publications that describe this particular parasitic computer program in detail, plus reference and bibliography sections.

You can get it on-line from host ftp.nisc.sri.com, directory rfc, filename rfc1135.txt. It's also on host nis.nsf.net, directory RFC, filename RFC1135.TXT-1.

[SEELEY89] Seeley, D., "A Tour of the Worm", Proceedings of 1989 Winter USENIX Conference, Usenix Association, San Diego, CA, February 1989.

This paper is a "walk thru" of this particular worm program ๐Ÿšถโ€โ™€๏ธ It opens with an abstract and an introduction, then gives a detailed chronology of events after the worm was discovered. After that comes an overview, the internals of the worm, personal opinions, and a conclusion.

[SPAFFORD88] Spafford, E., "The Internet Worm Program: An Analysis", Computer Communication Review, Vol. 19, No. 1, ACM SIGCOM, January 1989. Also issued as Purdue CS Technical Report CSD-TR-823, 28 November 1988.

This one describes the infection of the Internet as a worm program that exploited flaws in utility programs on UNIX based systems. It gives a detailed description of the worm's components: its data and functions. Spafford's study focuses on two completely independent reverse-compilations of the worm, plus a version disassembled to VAX assembly language ๐Ÿง 

[SPAFFORD89] Spafford, G., "An Analysis of the Internet Worm", Proceedings of the European Software Engineering Conference 1989, Warwick England, September 1989. Proceedings published by Springer-Verlag as: Lecture Notes in Computer Science #387. Also issued as Purdue Technical Report #CSD-TR-933.

That's the whole ethics and worm shelf, bestie ๐Ÿ’œโœจ

8.5. National Computer Security Center (NCSC) ๐Ÿ”โœจ

Okay bestie, all NCSC publications that are approved for public release are available from the NCSC Superintendent of Documents ๐Ÿ“š

NCSC = National Computer Security Center
9800 Savage Road
Ft Meade, MD 20755-6000

CSC = Computer Security Center:
an older name for the NCSC

NTISS = National Telecommunications and
Information Systems Security
NTISS Committee, National Security Agency
Ft Meade, MD 20755-6000

[CSC] Department of Defense, "Password Management Guideline", CSC-STD-002-85, 12 April 1985, 31 pages. ๐Ÿ”‘

Okay so the security of a password system depends on passwords staying secret at all times ๐Ÿ˜ญ That means a password is vulnerable to compromise whenever it's used, stored, or even known. In a password-based authentication mechanism on an ADP system, passwords are at risk because of five essential aspects of the password system: 1) a password has to be initially assigned to a user when they enroll on the ADP system; 2) a user's password has to be changed periodically; 3) the ADP system has to maintain a 'password database'; 4) users have to remember their passwords; and 5) users have to enter their passwords into the ADP system at authentication time. This guideline lays out steps to minimize the vulnerability of passwords in each of these situations. It's giving careful, it's giving prepared ๐Ÿ’…

[NCSC1] NCSC, "A Guide to Understanding AUDIT in Trusted Systems", NCSC-TG-001, Version-2, 1 June 1988, 25 pages. ๐Ÿงพ

Audit trails are used to detect and deter penetration of a computer system and to reveal usage that identifies misuse. At the discretion of the auditor, audit trails may be limited to specific events or may cover all of the activities on a system. Although not required by the criteria, it should be possible for the target of the audit mechanism to be either a subject or an object. In other words, the audit mechanism should be able to monitor every time John accessed the system, as well as every time the nuclear reactor file was accessed, and likewise every time John accessed the nuclear reactor file. Main character energy for the audit log ๐Ÿ‘€๐Ÿ”ฅ

[NCSC2] NCSC, "A Guide to Understanding DISCRETIONARY ACCESS CONTROL in Trusted Systems", NCSC-TG-003, Version-1, 30 September 1987, 29 pages. ๐ŸŽ€

Discretionary control is the most common type of access control mechanism in computer systems today. The idea is that an individual user, or a program running on the user's behalf, is allowed to explicitly specify the types of access other users (or programs running on their behalf) may have to information under the user's control. [...] Discretionary controls are not a replacement for mandatory controls. In any environment where information is protected, discretionary security gives a finer granularity of control within the overall constraints of the mandatory policy. Layers, bestie, layers ๐Ÿง

[NCSC3] NCSC, "A Guide to Understanding CONFIGURATION MANAGEMENT in Trusted Systems", NCSC-TG-006, Version-1, 28 March 1988, 31 pages. ๐Ÿ—‚๏ธ

Configuration management has four separate tasks: identification, control, status accounting, and auditing. For every change made to an automated data processing (ADP) system, the design and requirements of the changed version of the system should be identified. The control task is handled by putting every change to documentation, hardware, and software/firmware through review and approval by an authorized authority. Configuration status accounting is responsible for recording and reporting on the configuration of the product throughout the change. Finally, though the process of a configuration audit, the completed change can be verified to be functionally correct and, for trusted systems, consistent with the security policy of the system. Verified, certified, iconic โœจ

[NTISS] NTISS, "Advisory Memorandum on Office Automation Security Guideline", NTISSAM CONPUSEC/1-87, 16 January 1987, 58 pages. ๐Ÿ–ฅ๏ธ

This document gives guidance to users, managers, security officers, and procurement officers of Office Automation Systems. The areas it covers are: physical security, personnel security, procedural security, hardware/software security, emanations security (TEMPEST), and communications security. That's for stand-alone OA Systems, OA Systems used as terminals connected to mainframe computer systems, and OA Systems used as hosts in a Local Area Network (LAN). It also separates Office Automation Systems that only have removable storage media (e.g., floppy disks, cassette tapes, removable hard disks) from those with fixed media (e.g., Winchester disks). Thorough, bestie, thorough ๐Ÿซถ

Additional NCSC Publications:

  • [NCSC4] National Computer Security Center, "Glossary of Computer Security Terms", NCSC-TG-004, NCSC, 21 October 1988. ๐Ÿ“–
  • [NCSC5] National Computer Security Center, "Trusted Computer System Evaluation Criteria", DoD 5200.28-STD, CSC-STD-001-83, NCSC, December 1985. ๐Ÿ†
  • [NCSC7] National Computer Security Center, "Guidance for Applying the Department of Defense Trusted Computer System Evaluation Criteria in Specific Environments", CSC-STD-003-85, NCSC, 25 June 1985. ๐ŸŒธ
  • [NCSC8] National Computer Security Center, "Technical Rationale Behind CSC-STD-003-85: Computer Security Requirements", CSC-STD-004-85, NCSC, 25 June 85. ๐Ÿง 
  • [NCSC9] National Computer Security Center, "Magnetic Remanence Security Guideline", CSC-STD-005-85, NCSC, 15 November 1985. ๐Ÿงฒ

This guideline is tagged as a "For Official Use Only" exemption under Section 6, Public Law 86-36 (50 U.S. Code 402). Distribution is authorized to U.S. Government agencies and their contractors to protect unclassified technical, operational, or administrative data relating to operations of the National Security Agency. Very classified energy ๐Ÿคซ

  • [NCSC10] National Computer Security Center, "Guidelines for Formal Verification Systems", Shipping list no.: 89-660-P, The Center, Fort George G. Meade, MD, 1 April 1990. โœ…
  • [NCSC11] National Computer Security Center, "Glossary of Computer Security Terms", Shipping list no.: 89-254-P, The Center, Fort George G. Meade, MD, 21 October 1988. ๐Ÿ“š
  • [NCSC12] National Computer Security Center, "Trusted UNIX Working Group (TRUSIX) rationale for selecting access control list features for the UNIX system", Shipping list no.: 90-076-P, The Center, Fort George G. Meade, MD, 1990. ๐Ÿง
  • [NCSC13] National Computer Security Center, "Trusted Network Interpretation", NCSC-TG-005, NCSC, 31 July 1987. ๐ŸŒ
  • [NCSC14] Tinto, M., "Computer Viruses: Prevention, Detection, and Treatment", National Computer Security Center C1 Technical Report C1-001-89, June 1989. ๐Ÿฆ 
  • [NCSC15] National Computer Security Conference, "12th National Computer Security Conference: Baltimore Convention Center, Baltimore, MD, 10-13 October, 1989: Information Systems Security, Solutions for Today - Concepts for Tomorrow", National Institute of Standards and National Computer Security Center, 1989. ๐ŸŽค

8.6. Security Checklists ๐Ÿ“‹๐Ÿ’œ

[AUCOIN] Aucoin, R., "Computer Viruses: Checklist for Recovery", Computers in Libraries, Vol. 9, No. 2, Pg. 4, 1 February 1989. ๐Ÿงน

[WOOD] Wood, C., Banks, W., Guarro, S., Garcia, A., Hampel, V., and H. Sartorio, "Computer Security: A Comprehensive Controls Checklist", John Wiley and Sons, Interscience Publication, 1987. โœ”๏ธ


8.7. Additional Publications ๐ŸŒˆ

Defense Data Network's Network Information Center (DDN NIC)

The DDN NIC keeps DDN Security bulletins and DDN Management bulletins online on the machine NIC.DDN.MIL. You can grab them via anonymous FTP. The DDN Security bulletins live in the directory SCC, and the DDN Management bulletins live in the directory DDN-NEWS. ๐Ÿ“‚

If you want more info, you can send a message to NIC@NIC.DDN.MIL, or call the DDN NIC at 1-800-235-3155. ๐Ÿ“ž

[DDN88] Defense Data Network, "BSD 4.2 and 4.3 Software Problem Resolution", DDN MGT Bulletin #43, DDN Network Information Center, 3 November 1988. ๐Ÿ› ๏ธ

This is a Defense Data Network Management Bulletin announcement about the 4.2bsd and 4.3bsd software fixes for the Internet worm. Worm arc, closed ๐Ÿ›

[DDN89] DCA DDN Defense Communications System, "DDN Security Bulletin 03", DDN Security Coordination Center, 17 October 1989. ๐Ÿ”’

IEEE Proceedings

[IEEE] "Proceedings of the IEEE Symposium on Security and Privacy", published annually. ๐Ÿ—ž๏ธ

IEEE Proceedings are available from:

Computer Society of the IEEE
P.O. Box 80452
Worldway Postal Center
Los Angeles, CA  90080

Other Publications:

  • Computer Law and Tax Report
  • Computers and Security
  • Security Management Magazine
  • Journal of Information Systems Management
  • Data Processing & Communications Security
  • SIG Security, Audit & Control Review

9. Acknowledgments ๐Ÿ’Œ๐Ÿซถ

Huge thanks to the SSPHWG's illustrious "Outline Squad", who got together at USC/Information Sciences Institute on 12-June-90: Ray Bates (ISI), Frank Byrum (DEC), Michael A. Contino (PSU), Dave Dalva (Trusted Information Systems, Inc.), Jim Duncan (Penn State Math Department), Bruce Hamilton (Xerox), Sean Kirkpatrick (Unisys), Tom Longstaff (CIAC/LLNL), Fred Ostapik (SRI/NIC), Keith Pilotti (SAIC), and Bjorn Satdeva (/sys/admin, inc.). The squad is iconic ๐Ÿ‘‘

Many, many thanks to Rich Pethia and the Computer Emergency Response Team (CERT). Much of the work by Paul Holbrook was done while he was working for CERT. Rich also gave a very thorough review of this document. Thanks also to Jon Postel and USC/Information Sciences Institute for contributing facilities and moral support to this effort. ๐Ÿ™

Last, but NOT least, we'd like to thank members of the SSPHWG and Friends for their extra contributions: Vint Cerf (CNRI), Dave Grisham (UNM), Nancy Lee Kirkpatrick (Typist Extraordinaire), Chris McDonald (WSMR), H. Craig McKee (Mitre), Gene Spafford (Purdue), and Aileen Yuan (Mitre). Typist Extraordinaire, no cap ๐Ÿ’…๐ŸŽ€


10. Security Considerations ๐Ÿšจ

If security considerations had not been so widely ignored in the Internet, this memo would not have been possible. ๐Ÿ˜ญ๐Ÿ”ฅ

11. Authors' Addresses โœจ

okay so this is the contact card section, bestie ๐Ÿ“‡๐Ÿ’… it's where the two authors leave their addresses, phone numbers, and emails so people can reach them. no cap, the vibe is very "here's my number, text me" ๐Ÿซถ

J. Paul Holbrook ๐ŸŒธ CICNet, Inc. 2901 Hubbard Ann Arbor, MI 48105

Phone: (313) 998-7680 EMail: holbrook@cic.net

Joyce K. Reynolds ๐Ÿฆ‹ University of Southern California Information Sciences Institute 4676 Admiralty Way Marina del Rey, CA 90292

Phone: (213) 822-1511 EMail: JKREY@ISI.EDU

and that's the whole document, periodt! ๐ŸŽ€๐Ÿ’–

๐Ÿ“ฆ where this page comes from