Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- COPS and Robbers
- UN*X System Security
- In the last few years, computer security has received a
- great deal more attention than it has in the past. Compu-
- terized break-ins and criminal activity, once merely the
- product of the imagination of science fiction writers, has
- became a fairly common occurence in both commercial and
- academic circles. In this paper, I will go over the prob-
- lems that face any multiuser computing system, then discuss
- how these problems apply to UNIX[1] specifically, and
- finally present in detail a suite of programs that were
- developed in an attempt to address some of the main problems
- that could be solved via software. UNIX, although con-
- sidered to be a fairly secure operating system ([Wood 88],
- [Duff 89], etc), has the advantage of having many published
- works ([Grampp and Morris 84], [Bishop 83], etc) on the
- problems that a computing site can have with security, and
- in addition, on how a UNIX system administrator might make
- his/her system more secure by monitoring various aspects of
- his/her UNIX site. This, combined with UNIX's popularity,
- make it an ideal target for a software security system to
- operate on.
- In this report I am not going to discuss specific ways
- of breaking into a given UNIX machine (for a more detailed
- description on how to compromise UNIX security, see either
- [Baldwin88], [Bishop83], [Wood & Kochran 86], or [Grampp &
- Morris 84]) -- instead, I will concentrate on how to improve
- and strengthen the potentially good security of a generic
- UNIX system by means of a software toolkit that examines the
- weaker areas of UNIX that are either traditionally ignored
- (due to the time constraints or ignorance of the system
- administrators) or are simply reoccurring problems that need
- to be watched over. In addition, this report is not meant
- for UNIX neophytes -- although a great deal of proficiency
- is not needed to read this report and use the programs
- described herein, a familiarity with basic UNIX features --
- the file system and file permission modes for example -- and
- commands such as awk,grep,sed as well as a working
- knowledge of shell and C programming are necessary to
- _________________________
- 9 [1] Although originally designed and developed by Ken
- Thompson and Dennis Ritchie of AT&T, UNIX has grown far
- beyond its' original design and now numerous companies
- market their own "flavor" of UNIX. When I use the term
- UNIX in this paper, I don't mean merely AT&T's version,
- but instead I mean the majority of the most popular
- varieties, made by developers at Berkely, Sun, and a
- host of other manufacturers. I believe UNIX is still a
- trademark of Bell Laboratories.
- 9
- February 19, 1991
- - 2 -
- understand the internal workings of the security system
- described in this paper.
- Although there is no reasonable way that all security
- problems can be solved (at least not with a software solu-
- tion) on any arbitrary UNIX system, administrators and sys-
- tem programs can be assisted by a software security tool.
- The Computer Oracle Password and Security system (COPS) that
- will be described in this paper is just such a device. The
- COPS system is a collection of programs and shell scripts
- that attempt to address as many of these problems as possi-
- ble in an efficient, portable, and above all in a reliable
- and safe way. The main goal of COPS is one of prevention;
- it tries to anticipate and eliminate security problems by
- making sure people don't get a chance to compromise security
- in the first place. Alerting the administrators of a poten-
- tial intruder or that a virus has infected the system is
- beyond the scope of the present system, although with work
- with such capabilities could be added ([Bauer and Koblentz
- 88] and [Duff 89].)
- To understand the reason COPS might check any specific
- problem, a look at computer security problems in general is
- in order. The problems listed below are not meant to be
- inclusive, but they are indicative of the myriad types of
- dilemmas a typical computer multiuser system might
- encounter:
- 1) Administrators, system programmers, and computer
- operators. The very people that (should) worry the most
- about security are sometimes the ones that are the least
- concerned. Carelessness is one of the main culprits; a mis-
- take by a user might cause little or no problem, but when
- someone with no restrictions (or almost none) on their com-
- puter activity makes a mistake, a security hole can result.
- "I can trust my users" is a fine statement to make -- but
- can you trust your users' friends? How about the users of
- computers that are networked to yours? New software, sys-
- tems, or procedures can facilitate extra problems; a comput-
- ing staff is often ill or completely non-trained on new
- techniques and software. Too often "RTFM" is the only
- training that they will ever receive. Programs that are
- created for in-house use are often ill-documented and not
- debugged thoroughly, and when users other than the author
- start to use/abuse the program, problems can result. Espe-
- cially misunderstood, even by experienced UNIX system pro-
- grammers, is the SUID program or, worse yet, the SUID shell
- script ([Bishop 83].) When a user says that his/her password
- was forgotten (or any other account/security related prob-
- lem), what checks are made to verify that the person is
- really the owner of that account? Are users that are secu-
- rity problems kept track of, so that repeated abuses of the
- system will result in punitive action? Does your site even
- have a security policy? And of course, the last straw is
- February 19, 1991
- - 3 -
- that most system administrators simply have too much other
- work to do than to constantly check the system for potential
- security flaws -- let alone to double-check that any work
- done by other system programmers has been done correctly.
- These are the actions that often get left unsaid and undone.
- A UNIX environment has no special defenses against this
- kind of "attack". Fortunately, a number of these potential
- problems (unless catastrophic in scope) are not only
- correctable, but are easy to detect with a software toolkit
- such as COPS. Even the most careful UNIX guru will periodi-
- cally make a mistake; COPS has been designed to aid in
- her/his never ending battle against the forces of darkness.
- 2) Physical security. This is perhaps the most frus-
- trating of all possible problems because it effects all com-
- puter systems and is often the hardest to safeguard against.
- Even if the software is secure, even if the system adminis-
- trators are alert to potential problems, what happens if a
- user walks up to the root console and starts typing? Does
- the night janitorial staff let anyone into the machine room
- without proper identification? Who has access to the key
- that opens up the computing center? Are terminals that are
- logged on left unguarded or unlocked? Are passwords written
- on or near a users terminal or desk? No software in the
- world can help against human nature or carelessness.
- Reiterating to your staff and users that terminals should
- not be left alone or unguarded and that passwords (espe-
- cially root) should not be typed in front of unfriendly (and
- in this case, _everyone_ is your enemy) eyes would be a good
- start. A simple analogy: since you would never give the
- keys to the company car away, why on earth would you give
- away the keys to your computer, which is certainly worth a
- hell of a lot more time and money (although it may not get
- as good mileage on the interstate.) Common sense goes a
- long ways to help prevent this kind of risk.
- 3) Authentication. What is authentication? All
- modern computing systems that have capabilities for multiple
- users have a means of identifying who is using the computer
- at any given time. A common means of identification is by
- using a password; and since the inception of this idea, poor
- passwords have been a perennial problem. People have a ten-
- dency to use their own name, or their social security
- number, or some other common word, name, or phrase for a
- password. The problem then arises when an unauthorized user
- wants to access clandestine information, he/she simply tries
- one of these simple passwords until a successful match is
- found.
- Other problems with authentication? What computer
- hosts are "trusted" and allow users to log in from other
- machines without any further authentication? Are incorrect
- login attempts kept and/or monitored so as to allow
- February 19, 1991
- - 4 -
- administrators to keep track of any unusual activity? What
- about "Trojan horses" -- programs that can steal passwords
- and the privileges that a user owns -- is there a program or
- a administrative method that detects a potential 'horse?
- Fortunately UNIX systems again have some fairly good
- tools to aid in this fight. Although finding simple pass-
- words is indeed a trivial task, forcing the users on a sys-
- tem to use passwords that are harder to guess is also
- trivial, by either modifying the mechanism that gets/gives
- the password to the user, and/or by having the system
- administrators run a simple password detector periodically,
- and notifying users if their password is deemed too obvious.
- The crypt command, although proven to be insecure for a
- knowledgeable and resourceful attacker ([Reed and Weinberger
- 84], [Baldwin 86]), does offer an added shield against most
- unauthorized users. Logs can be kept of incorrect login
- attempts, but as with most security measures, to be effec-
- tive someone (usually the site administrator) must take the
- time to examine the evidence.
- 4) Bugs/Features. Massive software designs (such as
- an operating system) are usually the result of a team or of
- teams of developers working together. It only takes one
- programmer to make a mistake, and it will almost always hap-
- pen. "Back doors" that allow unauthorized entrances are
- sometimes purposefully coded in -- for debugging, mainte-
- nance, or other reasons. And there are always unexpected
- side effects when thousands of people using the system start
- doing strange (stupid?) things. The best kind of defense
- against this is to report the problems to the developer as
- they are discovered, and if possible, to also report a way
- to fix the problem. Unfortunately, in many cases the source
- code is needed to make a bug fix, and especially in non-
- academic areas, this is simply not available due to the
- prohibitive costs involved. Combining this with the reluc-
- tance of a (usually) commercial developer to admit any prob-
- lems with their product, and the end result is a security
- hole that will not be mended unless some kind of financial
- loss or gain is at stake -- for the developer of the pro-
- duct, not yours!
- 5) Ignorance. Users who don't know or care can be a
- problem as well. Even if someone doesn't care about their
- own security, they can unwittingly compromise the entire
- system -- especially if they are a user with high
- privileges. Administrators and system operators are not
- immune to this either, but hopefully are better informed, or
- at least have access to a means of combating this dysfunc-
- tion. It may also be due to apathy, an unwillingness to
- learn a new system, a lack of time to explore all of the
- features of a large system, or simply not enough computer
- savvy to learn more about a very complex system, and no one
- willing to teach it to the user. This problem is much like
- February 19, 1991
- - 5 -
- illiteracy; it is a never-ending battle that will never go
- completely away. And while a software toolkit such as COPS
- can help combat this problem by calling attention to
- neglected or misunderstood critical areas, by far and away
- the best weapon against this is education. An educated user
- will simply not make as many mistakes; and while it may seem
- impractical to teach _all_ users about (even) the fundamen-
- tals of computer security, think of all the time and
- resources wasted tracking down the mistakes that keep recur-
- ring time and time again.
- 6) Unauthorized permissions or privileges. Are users
- given _too much_ freedom? Do new computer accounts have any
- default security at all, or are the new users expected to
- know what to do to protect their programs, data, and other
- files. System files, programs, and data are sometimes
- shipped with minimal or no protection when gotten straight
- from the manufacturer; someone at the installation site must
- have enough knowledge to "tune" the system to be effective
- and safe. Password, memory, and log files especially should
- all be carefully monitored, but unfortunately an experienced
- user can often still find out any information they want with
- perseverance and a little luck. This is where a system such
- as COPS can really shine. After a new system is configured,
- some basic flaws can be uncovered with just a small amount
- of effort. New system problems that somehow slip through
- the cracks of the site installers can be caught and modified
- before any serious problems result. The key here is to
- prevent your system users from getting a denial of computer
- service that they need and deserve. Service could mean any-
- thing from CPU time, response time, file space, or any other
- commodity that a computer has to offer.
- 7) Crackers/Hackers/Evil twin brothers. Not much is
- needed on this subject, save to say that they are often not
- the main problem. Professional evil-users are a rarity;
- often harmful acts are done by users who "just wanted to see
- what would happen" or had no idea of the ramifications of
- their acts. Someone who is truly experienced is very diffi-
- cult to stop, and is certainly outside the realm of any
- software security tool as discussed in this paper. For-
- tunately, most evil-doers are fairly inexperienced and
- ignorant, and when they make a mistake, a watchful adminis-
- trator can deal with a problem before it gets out of hand.
- Sometimes they can even reveal security problems that were
- previously undiscovered. COPS can help here mostly by
- reducing an attacker's options; the less holes to exploit,
- the better.
- The COPS system attempts to help protect as many of the
- above items as possible for a generic UNIX system. In the
- proper UNIX spirit, instead of having a large program that
- attempts to solve every possible problem, it is composed of
- several small programs that each check one or more potential
- February 19, 1991
- - 6 -
- UNIX security holes. The COPS system uses a variety of
- these problems to see if there are any cracks in a given
- UNIX security wall. These methods correspond to some of the
- problems discussed above; specifically to administrators,
- system programmers, and computer operators; authentication;
- ignorance; unauthorized permissions or privileges; and
- finally crackers/hackers/evil twin brothers (numbers 1,3,5,
- and 6.) It is very difficult, almost a practical impossi-
- bility to give software assistance to problems in physical
- security, and finally bugs or features that are present in a
- given UNIX system are possible to detect, but are not
- covered in this system (yet). The design of most of the the
- programs were at least described if not outlined from the
- following sources:
- Aho, Kernighan, and Weinberger 88
- Baldwin 87
- Fiedler and Hunter 86
- Grampp and Morris 84
- Wood and Kochran 86
- Of course with all of the problems listed below, look-
- ing at the actual source code of the program is very
- instructive -- each numbered section lists the corresponding
- program that is used to perform the check:
- 1) COPS Checks "vital" system directories to see if
- they are world-writable. Directories listed as critical are
- in a configuration file and are initially:
- / /etc /usr
- /bin /Mail /usr/spool
- /usr/adm /usr/etc /usr/lib
- /usr/bin /usr/etc /usr/spool/mail
- /usr/spool/uucp /usr/spool/at
- The method COPS uses to detect problems -- read through
- a configuration file (dir.chklst) containing all of the
- potential danger spots, and then simply comparing each
- directory modes with a bit mask to see if it is world writ-
- able. The program that performs this task is dir.chk
- 2) Check "vital" system files to see if they are
- world-writable. Files listed as critical are in a confi-
- guration file (file.chklst) and are initially:
- February 19, 1991
- - 7 -
- /.*
- /etc/*
- /bin/*
- /usr/etc/yp*
- /usr/lib/crontab /usr/lib/aliases /usr/lib/sendmail
- The wildcards are used like in UNIX, so these would include
- (some of the more important files):
- /.login /.profile /.cshrc /.crontab /.rhost
- /etc/passwd /etc/group /etc/inittab /etc/rc
- /etc/rc.local /etc/rc.boot /etc/hosts.equiv /etc/profile
- /etc/syslog.conf /etc/export
- As well as the executable command files (among others):
- sh,csh, and ls.
- Method -- again read through a configuration file list-
- ing all of the files to be checked, comparing each in turn
- with a write mask. The program that performs this task is
- file.chk
- 3) Check "vital" system files to see if they are
- world-readable, plus check for a NFS file system with no
- restriction. These critical files are:
- /dev/kmem /dev/mem
- All file systems found in /etc/fstab
- Plus a small number of user selectable files -- initially
- set to include /.netrc, /usr/adm/sulog, and /etc/btmp.
- Method -- checking each in turn against a read mask for
- their read status. The file system names are read from
- /etc/fstab, the selectable files are kept in a variable.
- The program that performs this task is dev.chk
- 4) Check all files in system for SUID status, notify-
- ing the COPS user of any changes in SUID status.
- Method -- Use the "find" command on the root directory (this
- must be done by root to avoid missing any files unreadable
- but still dangerous.) The previous run will create a file
- February 19, 1991
- - 8 -
- that can be checked against the current run to keep track of
- changes in SUID status and any new SUID files. The program
- that performs this task is suid.chk and was written by Pren-
- tiss Riddle.
- 5) Check the /etc/passwd file (and the yellow pages
- password database, if applicable) for null passwords,
- improper # of fields, non-unique user-id's, non-numeric
- group id's, blank lines, and non-alphanumeric user-id's.
- Method -- Read through password file, flag any differences
- with normal password file, as documented in "man 5 passwd".
- Fortunately, the syntax of the password file is relatively
- simple and rigid. The program that performs this task is
- passwd.chk
- 6) Check the /etc/group file (and the yellow pages
- database, if applicable) for groups with passwords, improper
- # of fields, duplicate users in groups, blank lines, and
- non-unique group-id's.
- Method -- Read through group file, flag any differences with
- normal group file as documented in "man 5 group". Again,
- the syntax of this file is fairly simple. The program that
- performs this task is group.chk
- 7) Check passwords of users on system.
- Method -- using the stock "crypt" command, compare the
- encrypted password found in the /etc/passwd file against the
- following (encrypted) guesses:
- The login id (uid), information in the gecos field, and all
- single letter passwords.
- The program that performs this task is pass.chk and was
- written by Craig Leres and was modified by Seth Alford,
- Roger Southwick, Steve Dum, and Rick Lindsley.
- 8) Check the root path, umask, and if root is in
- /etc/ftpuser.
- Method -- look inside the /.profile and /.cshrc files to
- ensure that all of the directories listed are not world
- writable, that "." isn't anywhere in the path, and that the
- umask is not set to create world writable files. The pro-
- gram that performs this task is root.chk
- 9) Examine the commands in /etc/rc* to ensure that
- none of the files or paths used are world-writable.
- Method -- grep through the files and examine any strings
- that start with "/" for writability. The program that
- February 19, 1991
- - 9 -
- performs this task is rc.chk
- 10) Examine the commands in /usr/lib/crontab to ensure
- that none of the files or paths used are world-writable.
- Method -- grep through the crontab file and examine any
- strings after field five (first five are not files, but how
- crontab is to be run) that start with "/" for writability.
- The program that performs this task is cron.chk 11) Check
- all of the user home directories to ensure they are not
- world writable.
- Method -- get all of the home directories using the system
- call getpwent() and then for every home directory found,
- check the write permissions of of the home directory against
- a bit mask. The program that performs this task is home.chk
- and it was written by John Owens.
- 12) Check important user files in user's home direc-
- tories to ensure they are not world writable. The files
- checked (all in the individual users' home directory, all
- with the prefix "."):
- rhost profile login cshrc kshrc tcshr crhost
- netrc forward dbxinit distfile exrc emacsrc
- Method -- using the same system call as #10, determine user
- home directory. Then simply check all of the above files
- against a bit mask. The program that performs this task is
- user.chk
- 13) Given a goal to compromise, such as user root, and
- a list of user and group id's that can be used in an attempt
- to achieve the goal, this security tool will search through
- the system until it verifies that the goal is compromisible
- or not. The program that performs this tricky task is part
- of the U-Kuang (rhymes with "twang") system. Robert Baldwin
- was kind enough to allow me to include this security checker
- (a fine security machine in it's own right) within this dis-
- tribution. For more information on this fascinating secu-
- rity checker, see kuang.man.ms and [Baldwin 87]. I have
- rewritten it in Bourne shell (it was in C-Shell) for further
- portability.
- None of programs listed above certain cover all of the
- possible areas that can harm a system, but if run together
- they can aid an overworked administrator to locate some of
- the potential trouble spots. The COPS system is not meant
- to be a panacea against all UNIX security woes, but an
- administrator who examines the security toolbox programs and
- this research paper might reduce the danger of their UNIX
- system being compromised -- and that's all any security tool
- can ever hope to do. The COPS system could never replace a
- February 19, 1991
- - 10 -
- vigilant administration staffed with knowledgeable people,
- but hopefully, as administrators look into the package, more
- comprehensive programs will come into being, covering more
- of the problems that will continue as the latest versions of
- UNIX continue to grow.
- Design Notes:
- The programs that are described here were designed to
- address the problems discussed above, but still be usable on
- as many UNIX "flavors" as possible. Speed was sacrificed
- for simplicity/portability; hopefully the tools here will
- either be replaced or modified, as by no means are they the
- final word or solution to _any_ of these problems; indeed,
- it is my hope that after other programmers/administrators
- see this report, they will create newer, better, and more
- general tools that can be re-distributed periodically. None
- of the programs need to be run by root to be effective, with
- the exception of the SUID checker (to ensure that all files
- are checked.) Some of the tools were written by myself, the
- others were written by other programmers on the network and
- (with their permission) presented here. All of the programs
- in this report are in the public domain, with the exception
- of Robert Baldwin's U-Kuang system; they all exist solely to
- be used and modified to fit your needs. If they are re-
- distributed, please keep them in their original form unless
- it is clearly stated that they were modified. Any improve-
- ments (that might not be too hard :-), suggestions, or other
- security programs that you would like to see get further
- distribution can be sent to:
- (That's me)
- or
- (Dr. Eugene Spafford)
- Note that the COPS system is still in an infancy stage
- -- although it has been tested on a variety of computers at
- Purdue, it has not undergone any serious trials.
- Enhancements I envision include:
- i) Improved speed and portability without sacrificing func-
- tionality (pretty obvious, I guess....)
- ii) A level of severity assigned to each warning; anything
- that could compromise root instantly (root having no pass-
- word, for example) might have a level 0 priority, while sim-
- ply having a user with a writable home directory might only
- February 19, 1991
- - 11 -
- be level 3. This way the system could be run at a certain
- threshold level, or simply have the set of warnings priori-
- tized for a less sophisticated administrator.
- iii) Better handling of SUID programs. The current program
- needs more work to be done on it to be run effectively by
- most people; many will not be willing to put the time needed
- to go through the list of SUID files by hand to decide if
- they are needed or not. Perhaps also an alarm would sound
- if a shell script is SUID; doubly so if root owned.
- iv) A CRC checker that would check a file system (possibly
- just the most important programs (such as this :-)) and
- report if any of the executable files were changed -- possi-
- bly signalling a viral infection.
- v) The eradication of any design flaws or coding errors that
- are in the COPS system.
- The main purpose of creating the COPS system was two-
- fold; the first was to foster an understanding of the secu-
- rity problems common to most UNIX systems, and the second
- was to try to create and apply software tools that, when
- run, will inform system administrators of potential problems
- present in their system. No attempt is made by the tools to
- correct any problems because a potential security problem at
- one site may be standard policy/practice at another. An
- emphasis on furthering education and knowledge about UNIX in
- general is the key to good security practices, not following
- blindly what an unintelligent tool might say.
- Some of the advantages to using a system such as COPS
- are:
- i) Nearly Continuous monitoring of traditional problem
- areas.
- ii) A new system can be checked before being put into pro-
- duction.
- iii) New or inexperienced administrators can not only stop
- some of their problems in security they may have, but can
- also raise their consciousness about the potential for secu-
- rity dilemmas.
- And a couple of disadvantages:
- i) An administrator could get a false sense of security from
- running these programs. Caveat emptor (ok, they are free,
- but still beware.)
- ii) A specific path to the elimination of the problem is not
- presented. This could also be construed as an advantage,
- when considering the third point.
- February 19, 1991
- - 12 -
- iii) Badguys can get these tools. You know -- the guys with
- black hats. What happens when they get a copy of this pack-
- age? With any sensitive subject like security, knowledge is
- zealously guarded. People are afraid that absolute
- knowledge corrupts -- who knows, they may be right. But I
- staunchly stand by the tree of knowledge. Let the bad guys
- taste the fruit, and they may see the light, so to speak.
- In addition, the system does not say how to exploit the
- hole, just that it exists.
- Results of Running COPS:
- Not surprisingly, the results when COPS was run varied
- significantly depending on what system and site it was run
- on. Here at Purdue, it was run on a Sequent Symmetry run-
- ning DYNIX 3.0.12, on a pair of Suns (a 3/280 and 3/50) run-
- ning UNIX 4.2 release 3.4, a VAX 11/780 running 4.3 BSD
- UNIX, a VAX 8600 running Ultrix 2.2, and finally a NeXT
- machine running their 0.9 O/S version of UNIX. The results
- of the COPS system showed a reasonable amount of security
- concern on all of the machines; the faculty only machines
- showed the weakest security, followed by the machines used
- by the graduate students, and finally the undergraduate
- machines had the strongest security (our administrators
- _know_ that you can't trust those (us?) young folks.)
- Whether this was showing that Purdue has a good administra-
- tion, or that the UNIX vendors have a fairly good grasp on
- potential security problems, or if it was merely showcasing
- the shortcomings of this system wasn't clear to me from the
- results.
- The security results probably will vary significantly
- from machine to machine -- this is not a fault of UNIX;
- merely having the same machine and software does not mean
- that two sites will not have completely different security
- concerns. In addition, different vendors and administrators
- have significantly varying opinions on how a machine should
- be set up. There is no fundamental reason why any system
- cannot pass all or nearly all of these tests, but what is
- standard policy at one sites may be an unthinkable risk at
- another, depending upon the nature of the work being done,
- the information stored on the computer, and the users of the
- system.
- When I first started researching this report, I thought
- it would be a fairly easy task. Go to a few computing
- sites, read some theoretical papers, gather all the programs
- everyone had written, and write a brief summary paper. But
- what I found was an tremendous lack of communication and
- concerted effort towards the subject of security. AT&T had
- written a couple of programs ([Kaplilow and Cherepov 88], as
- had Hewlett Packard ([Spence 89]), but they were
- proprietary. I heard rumors that the government was either
- working on or had such a security system, but they certainly
- February 19, 1991
- - 13 -
- weren't going to give it to me. The one book devoted to
- UNIX security ([Kochran and Wood 86]) was good, but the pro-
- grams that they presented were not expansive enough for what
- I had in mind, plus the fact that they had written their
- programs mostly based on System V. And while most system
- administrators I talked to had written at least a shell
- script or two that performed a minor security task (SUID
- programs seemed the most popular), no one seemed to exchange
- ideas or any their problems with other sites -- possibly
- afraid that the admission of a weakness in their site might
- be an invitation to disaster. There is an excellent secu-
- rity discussion group on the network ([Various Authors 84-
- ]), from which I received some excellent ideas for this pro-
- ject, but it is very restrictive to whom it allows to parti-
- cipate. I hope that with the release of this security sys-
- tem it will not only help stamp out problems with UNIX secu-
- rity, but would encourage people to exchange ideas, pro-
- grams, problems and solutions to the computer community at
- large.
- Dan Farmer September 29, 1989
- Acknowledgements: I would like to thank Eugene Spafford
- for his invaluable help in the researching, planning, and
- development of this project. Without the writings and pro-
- grams created by Robert Morris, Matt Bishop, and other capa-
- ble UNIX programmers, this project could never have gotten
- off the ground. Thanks also go to Brian Kernighan, Dennis
- Ritchie, Donald Knuth, and Ken Thompson, for such inspira-
- tional computer work. And of course without Peg, none of
- this would have come into being. Thanks again to all of
- you.
- February 19, 1991
- - 14 -
- BIBLIOGRAPHY
- _, UNIX Programmers Manual, 4.2 Berkeley Software Distribu-
- tion, Computer Science Division, Department of Electrical
- Engineering and Computer Science University of California,
- Berkeley, CA, August 1983.
- _, DYNIX(R) V3.0.12 System Manuals, Sequent Computer Sys-
- tems, Inc., 1984.
- Aho, Alfred V., Brian W. Kernighan, and Peter J. Weinberger,
- The AWK Programming Language, Addison-Wesley Publishing Com-
- pany, 1988.
- Authors, Various, UNIX Security Mailing List/Security Dig-
- est, December 1984 -.
- Baldwin, Robert W., Crypt Breakers Workbench, Usenet,
- October 1986.
- Baldwin, Robert W., Rule Based Analysis of Computer Secu-
- rity, Massachusetts Institute of Technology, June 1987.
- Bauer, David S. and Michael E. Koblentz, NIDX - A Real-Time
- Intrusion Detection Expert System, Proceedings of the Summer
- 1988 USENIX Conference, Summer, 1988.
- Bishop, Matt, Security Problems with the UNIX Operating Sys-
- tem, Department of Computer Sciences, Purdue University,
- January 31, 1983.
- Bishop, Matt, How to Write a Setuid Program, April 18, 1985.
- Denning, Dorothy, Cryptography and Data Security, Addison-
- Wesley Publishing Company, Inc, 1983.
- Duff, Tom, Viral Attacks On UNIX System Security, Proceed-
- ings of the Winter 1988 USENIX Conference, Winter, 1988.
- Fiedler, David and Bruce Hunter, UNIX System Administration,
- Hayden Book Company, 1986.
- Grampp, F. T. and R. H. Morris, "UNIX Operating System Secu-
- rity," AT&T Bell Laboratories Technical Journal, October
- 1984.
- Kaplilow, Sharon A. and Mikhail Cherepov, "Quest -- A Secu-
- rity Auditing Tool," AT&T Bell Laboratories Technical Jour-
- nal, AT&T Bell Laboratories Technical Journal, May/June
- 1988.
- Morris, Robert and Ken Thompson, "Password Security : A Case
- History," Communications of the ACM, November 1979.
- February 19, 1991
- - 15 -
- Reed, Brian, "Reflections on Some Recent Widespread Computer
- Break-ins," Communications of the ACM, vol. Vol 30, No. 2,
- February 1987.
- Reed, J.A. and P.J. Weinberger, File Security and the UNIX
- System Crypt Command, Vol 63, No. 8, AT&T Bell Laboratories
- Technical Journal, October 1984.
- Smith, Kirk, Tales of the Damned, UNIX Review, February
- 1988.
- Spafford, Eugene H., The Internet Worm Program: An Analysis,
- Purdue Technical Report CSD-TR-823, Nov 28, 1988.
- Spafford, Eugene H., 1989. Private Communications
- Bruce Spence, spy: A UNIX File System Security Monitor,
- Workshop Proceedings of the Large Installation Systems
- Administration III, September, 1988.
- Stoll, Clifford, Stalking the Wily Hacker, Volume 31, Number
- 5, Communications of the ACM, May 1988.
- Thompson, Ken, Reflections on Trusting Trust, Volume 27,
- Number 8, Communications of the ACM, August 1984.
- Wood, Patrick and Stephen Kochran, UNIX System Security,
- Hayden Books, 1986.
- Wood, Patrick, A Loss of Innocence, UNIX Review, February
- 1988.
Advertisement
Add Comment
Please, Sign In to add comment