948 lines
48 KiB
Plaintext
948 lines
48 KiB
Plaintext
|
#127 (935 lines in body):
|
|||
|
Delivery-Date: 26 September 1986 23:06 edt
|
|||
|
Delivery-By: Network_Server.Daemon (NEUMANN@CSL.SRI.COM@ATHENA)
|
|||
|
Date: Friday, 26 September 1986 16:33 edt
|
|||
|
From: Peter G. Neumann <Neumann at CSL.SRI.COM>
|
|||
|
Subject: SUMMARY OF UNIX BREAKIN MESSAGES
|
|||
|
To: Saltzer at ATHENA.MIT.EDU
|
|||
|
In-Reply-To: Message from "Jerome H. Saltzer <Saltzer@ATHENA.MIT.EDU>" of Fri 26 Sep 86 13:29:11-PDT
|
|||
|
|
|||
|
RISKS@CSL.SRI.COM RISKS-FORUM Digest, Summary of messages on UNIX breakins.
|
|||
|
THIS FILE IS AVAILABLE FOR FTP FROM CSL.SRI.COM <RISKS>RISKS.REID.
|
|||
|
|
|||
|
RISKS-LIST: RISKS-FORUM Digest, Tuesday, 16 September 1986 Volume 3 : Issue 56
|
|||
|
|
|||
|
From: reid@decwrl.DEC.COM (Brian Reid)
|
|||
|
Date: 16 Sep 1986 1519-PDT (Tuesday)
|
|||
|
To: Peter G. Neumann <Neumann@csl.sri.com> [FOR RISKS]
|
|||
|
Subject: Massive UNIX breakins at Stanford
|
|||
|
|
|||
|
Lessons learned from a recent rash of Unix computer breakins
|
|||
|
|
|||
|
Introduction
|
|||
|
A number of Unix computers in the San Francisco area have
|
|||
|
recently been plagued with breakins by reasonably talented
|
|||
|
intruders. An analysis of the breakins (verified by a telephone
|
|||
|
conversation with the intruders!) show that the networking
|
|||
|
philosophy offered by Berkeley Unix, combined with the human
|
|||
|
nature of systems programmers, creates an environment in which
|
|||
|
breakins are more likely, and in which the consequences of
|
|||
|
breakins are more dire than they need to be.
|
|||
|
|
|||
|
People who study the physical security of buildings and military
|
|||
|
bases believe that human frailty is much more likely than
|
|||
|
technology to be at fault when physical breakins occur. It is
|
|||
|
often easier to make friends with the guard, or to notice that he
|
|||
|
likes to watch the Benny Hill show on TV and then wait for that
|
|||
|
show to come on, than to try to climb fences or outwit burglar
|
|||
|
alarms.
|
|||
|
|
|||
|
Summary of Berkeley Unix networking mechanism:
|
|||
|
|
|||
|
The user-level networking features are built around the
|
|||
|
principles of "remote execution" and "trusted host". For example,
|
|||
|
if you want to copy a file from computer A to computer B, you
|
|||
|
type the command
|
|||
|
rcp A:file B:file
|
|||
|
If you want to copy the file /tmp/xyz from the computer that you
|
|||
|
are now using over to computer C where it will be called
|
|||
|
/usr/spool/breakin, you type the command
|
|||
|
rcp /tmp/xyz C:/usr/spool/breakin
|
|||
|
The decision of whether or not to permit these copy commands is
|
|||
|
based on "permission" files that are stored on computers A, B,
|
|||
|
and C. The first command to copy from A to B will only work if
|
|||
|
you have an account on both of those computers, and the
|
|||
|
permission file stored in your directory on both of those
|
|||
|
computers authorizes this kind of remote access.
|
|||
|
|
|||
|
Each "permission file" contains a list of computer names and user
|
|||
|
login names. If the line "score.stanford.edu reid" is in the
|
|||
|
permission file on computer "B", it means that user "reid" on
|
|||
|
computer "score.stanford.edu" is permitted to perform remote
|
|||
|
operations such as rcp, in or out, with the same access
|
|||
|
privileges that user "reid" has on computer B.
|
|||
|
|
|||
|
How the breakins happened.
|
|||
|
|
|||
|
One of the Stanford campus computers, used primarily as a mail
|
|||
|
gateway between Unix and IBM computers on campus, had a guest
|
|||
|
account with user id "guest" and password "guest". The intruder
|
|||
|
somehow got his hands on this account and guessed the password.
|
|||
|
There are a number of well-known security holes in early releases
|
|||
|
of Berkeley Unix, many of which are fixed in later releases.
|
|||
|
Because this computer is used as a mail gateway, there was no
|
|||
|
particular incentive to keep it constantly up to date with the
|
|||
|
latest and greatest system release, so it was running an older version
|
|||
|
of the system. The intruder instantly cracked "root" on that
|
|||
|
computer, using the age-old trojan horse trick. (He had noticed
|
|||
|
that the guest account happened to have write permission into a
|
|||
|
certain scratch directory, and he had noticed that under certain
|
|||
|
circumstances, privileged jobs could be tricked into executing
|
|||
|
versions of programs out of that scratch directory instead of out
|
|||
|
of the normal system directories).
|
|||
|
|
|||
|
Once the intruder cracked "root" on this computer, he was able to
|
|||
|
assume the login identity of everybody who had an account on that
|
|||
|
computer. In particular, he was able to pretend to be user "x" or
|
|||
|
user "y", and in that guise ask for a remote login on other
|
|||
|
computers. Sooner or later he found a [user,remote-computer] pair
|
|||
|
for which there was a permission file on the other end granting
|
|||
|
access, and now he was logged on to another computer. Using the
|
|||
|
same kind of trojan horse tricks, he was able to break into root
|
|||
|
on the new computer, and repeat the process iteratively.
|
|||
|
|
|||
|
In most cases the intruder left trojan-horse traps behind on
|
|||
|
every computer that he broke into, and in most cases he created
|
|||
|
login accounts for himself on the computers that he broke into.
|
|||
|
Because no records were kept, it is difficult to tell exactly how
|
|||
|
many machines were penetrated, but the number could be as high as
|
|||
|
30 to 60 on the Stanford campus alone. An intruder using a
|
|||
|
similar modus operandi has been reported at other installations.
|
|||
|
|
|||
|
How "human nature" contributed to the problem
|
|||
|
|
|||
|
The three technological entry points that made this intrusion
|
|||
|
possible were:
|
|||
|
|
|||
|
* The large number of permission files, with entirely
|
|||
|
too many permissions stored in them, found all over the campus
|
|||
|
computers (and, for that matter, all over the ARPAnet).
|
|||
|
|
|||
|
* The presence of system directories in which users have write
|
|||
|
permission.
|
|||
|
|
|||
|
* Very sloppy and undisciplined use of search paths in privileged
|
|||
|
programs and superuser shell scripts.
|
|||
|
|
|||
|
|
|||
|
Permissions: Berkeley networking mechanism encourages carelessness.
|
|||
|
|
|||
|
The Berkeley networking mechanism is very very convenient. I use
|
|||
|
it all the time. You want to move a file from one place to
|
|||
|
another? just type "rcp" and it's there. Very fast and very
|
|||
|
efficient, and quite transparent. But sometimes I need to move a
|
|||
|
file to a machine that I don't normally use. I'll log on to that
|
|||
|
machine, quickly create a temporary permission file that lets me
|
|||
|
copy a file to that machine, then break back to my source machine
|
|||
|
and type the copy command. However, until I'm quite certain that
|
|||
|
I am done moving files, I don't want to delete my permission file
|
|||
|
from the remote end or edit that entry out of it. Most of us use
|
|||
|
display editors, and oftentimes these file copies are made to
|
|||
|
remote machines on which the display editors don't always work
|
|||
|
quite the way we want them to, so there is a large nuisance
|
|||
|
factor in running the text editor on the remote end. Therefore
|
|||
|
the effort in removing one entry from a permission file--by
|
|||
|
running the text editor and editing it out--is high enough that
|
|||
|
people don't do it as often as they should. And they don't want
|
|||
|
to *delete* the permission file, because it contains other
|
|||
|
entries that are still valid. So, more often than not, the
|
|||
|
permission files on rarely-used remote computers end up with
|
|||
|
extraneous permissions in them that were installed for a
|
|||
|
one-time-only operation. Since the Berkeley networking commands
|
|||
|
have no means of prompting for a password or asking for the name
|
|||
|
of a temporary permission file, everybody just edits things into
|
|||
|
the permanent permission file. And then, of course, they forget
|
|||
|
to take it out when they are done.
|
|||
|
|
|||
|
|
|||
|
Write permission in system directories permits trojan horse attacks.
|
|||
|
|
|||
|
All software development is always behind schedule, and
|
|||
|
programmers are forever looking for ways to do things faster. One
|
|||
|
convenient trick for reducing the pain of releasing new versions
|
|||
|
of some program is to have a directory such as /usr/local/bin or
|
|||
|
/usr/stanford/bin or /usr/new in which new or locally-written
|
|||
|
versions of programs are kept, and asking users to put that
|
|||
|
directory on their search paths. The systems programmers then
|
|||
|
give themselves write access to that directory, so that they can
|
|||
|
intall a new version just by typing "make install" rather than
|
|||
|
taking some longer path involving root permissions. Furthermore,
|
|||
|
it somehow seems more secure to be able to install new software
|
|||
|
without typing the root password. Therefore it is a
|
|||
|
nearly-universal practice on computers used by programmers to
|
|||
|
have program directories in which the development programmers
|
|||
|
have write permission. However, if a user has write permission in
|
|||
|
a system directory, and if an intruder breaks into that user's
|
|||
|
account, then the intruder can trivially break into root by using
|
|||
|
that write permission to install a trojan horse.
|
|||
|
|
|||
|
Search paths: people usually let convenience dominate caution.
|
|||
|
|
|||
|
Search paths are almost universally misused. For example, many
|
|||
|
people write shell scripts that do not specify an explicit search
|
|||
|
path, which makes them vulnerable to inheriting the wrong path.
|
|||
|
Many people modify the root search path so that it will be
|
|||
|
convenient for systems programmers to use interactively as the
|
|||
|
superuser, forgetting that the same search path will be used by
|
|||
|
system maintenance scripts run automatically during the night.
|
|||
|
It is so difficult to debug failures that are caused by incorrect
|
|||
|
search paths in automatically-run scripts that a common "repair"
|
|||
|
technique is to put every conceivable directory into the search
|
|||
|
path of automatically-run scripts. Essentially every Unix
|
|||
|
computer I have ever explored has grievous security leaks caused
|
|||
|
by underspecified or overlong search paths for privileged users.
|
|||
|
|
|||
|
Summary conclusion: Wizards cause leaks
|
|||
|
|
|||
|
The people who are most likely to be the cause of leaks are
|
|||
|
the wizards. When something goes wrong on a remote machine, often
|
|||
|
a call goes in to a wizard for help. The wizard is usually busy
|
|||
|
or in a hurry, and he often is sloppier than he should be with
|
|||
|
operations on the remote machine. The people who are most likely
|
|||
|
to have permission files left behind on stray remote machines are
|
|||
|
the wizards who once offered help on that machine. But, alas,
|
|||
|
these same wizards are the people who are most likely to have
|
|||
|
write access to system directories on their home machines,
|
|||
|
because it seems to be in the nature of wizards to want to
|
|||
|
collect as many permissions as possible for their accounts. Maybe
|
|||
|
that's how they establish what level of wizard that they are. The
|
|||
|
net result is that there is an abnormally high probability that
|
|||
|
when an errant permission file is abused by an intruder, that it
|
|||
|
will lead to the account of somebody who has an unusually large
|
|||
|
collection of permissions on his own machine, thereby making it
|
|||
|
easier to break into root on that machine.
|
|||
|
|
|||
|
Conclusions.
|
|||
|
|
|||
|
My conclusions from all this are these:
|
|||
|
* Nobody, no matter how important, should have write permission
|
|||
|
into any directory on the system search path. Ever.
|
|||
|
|
|||
|
* Somebody should carefully re-think the user interface of the
|
|||
|
Berkeley networking mechanisms, to find ways to permit people to
|
|||
|
type passwords as they are needed, rather than requiring them to
|
|||
|
edit new permissions into their permissions files.
|
|||
|
|
|||
|
* The "permission file" security access mechanism seems
|
|||
|
fundamentally vulnerable. It would be quite reasonable
|
|||
|
for a system manager to forbid the use of them, or to
|
|||
|
drastically limit the use of them. Mechanized checking is
|
|||
|
easy.
|
|||
|
|
|||
|
* Programmer convenience is the antithesis of security, because
|
|||
|
it is going to become intruder convenience if the programmer's
|
|||
|
account is ever compromised. This is especially true in
|
|||
|
setting up the search path for the superuser.
|
|||
|
|
|||
|
|
|||
|
|
|||
|
Lament
|
|||
|
I mentioned in the introduction that we had talked to the
|
|||
|
intruders on the telephone. To me the most maddening thing about
|
|||
|
this intrusion was not that it happened, but that we were unable
|
|||
|
to convince any authorities that it was a serious problem, and
|
|||
|
could not get the telephone calls traced. At one point an
|
|||
|
intruder spent 2 hours talking on the telephone with a Stanford
|
|||
|
system manager, bragging about how he had done it, but there was
|
|||
|
no way that the call could be traced to locate him. A few days
|
|||
|
later, I sat there and watched the intruder log on to one
|
|||
|
Stanford comptuer, and I watched every keystroke that he typed on
|
|||
|
his keyboard, and I watched him break in to new directories, but
|
|||
|
there was nothing that I could do to catch him because he was
|
|||
|
coming in over the telephone. Naturally as soon as he started to
|
|||
|
do anything untoward I blasted the account that he was using and
|
|||
|
logged him off, but sooner or later new intruders will come
|
|||
|
along, knowing that they will not be caught because what they are
|
|||
|
doing is not considered serious. It isn't necessarily serious,
|
|||
|
but it could be. I don't want to throw such people in jail,
|
|||
|
and I don't want to let them get away either. I just want to
|
|||
|
catch them and shout at them and tell them that they are being
|
|||
|
antisocial.
|
|||
|
|
|||
|
Brian Reid
|
|||
|
DEC Western Research and Stanford University
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
RISKS-LIST: RISKS-FORUM Digest, Wednesday, 17 Sept 1986 Volume 3 : Issue 58
|
|||
|
|
|||
|
From: davy@ee.ecn.purdue.edu (Dave Curry)
|
|||
|
To: risks@csl.sri.com
|
|||
|
Cc: reid@decwrl.dec.com
|
|||
|
Subject: Massive UNIX breakins
|
|||
|
Date: Wed, 17 Sep 86 08:01:03 EST
|
|||
|
|
|||
|
Brian -
|
|||
|
|
|||
|
I feel for you, I really do. Breakins can be a real pain in the
|
|||
|
neck, aside from being potentially hazardous to your systems. And, we
|
|||
|
too have had trouble convincing the authorities that anything serious
|
|||
|
is going on. (To their credit, they have learned a lot and are much
|
|||
|
more responsive now than they were a few years ago.)
|
|||
|
|
|||
|
I do have a couple of comments though. Griping about the Berkeley
|
|||
|
networking utilities is well and good, and yes, they do have their
|
|||
|
problems. However, I think it really had little to do with the
|
|||
|
initial breakins on your system. It merely compounded an already
|
|||
|
exisiting breakin several fold.
|
|||
|
|
|||
|
Two specific parts of your letter I take exception to:
|
|||
|
|
|||
|
One of the Stanford campus computers, used primarily as a mail
|
|||
|
gateway between Unix and IBM computers on campus, had a guest
|
|||
|
account with user id "guest" and password "guest". The intruder
|
|||
|
somehow got his hands on this account and guessed the
|
|||
|
password.
|
|||
|
|
|||
|
Um, to put it mildly, you were asking for it. "guest" is probably
|
|||
|
the second or third login name I'd guess if I were trying to break
|
|||
|
in. It ranks right up there with "user", "sys", "admin", and so on.
|
|||
|
And making the password to "guest" be "guest" is like leaving the
|
|||
|
front door wide open. Berkeley networking had nothing to do with your
|
|||
|
initial breakin, leaving an obvious account with an even more obvious
|
|||
|
password on your system was the cause of that.
|
|||
|
|
|||
|
There are a number of well-known security holes in early
|
|||
|
releases of Berkeley Unix, many of which are fixed in later
|
|||
|
releases. Because this computer is used as a mail gateway,
|
|||
|
there was no particular incentive to keep it constantly up to
|
|||
|
date with the latest and greatest system release, so it was
|
|||
|
running an older version of the system.
|
|||
|
|
|||
|
Once again, you asked for it. If you don't plug the holes, someone
|
|||
|
will come along and use them. Again Berkeley networking had nothing to
|
|||
|
do with your intruder getting root on your system, that was due purely
|
|||
|
to neglect. Granted, once you're a super-user, the Berkeley networking
|
|||
|
scheme enables you to invade many, many accounts on many, many machines.
|
|||
|
|
|||
|
Don't get me wrong. I'm not trying to criticize for the sake of
|
|||
|
being nasty here, but rather I'm emphasizing the need for enforcing
|
|||
|
other good security measures:
|
|||
|
|
|||
|
1. Unless there's a particularly good reason to have one, take
|
|||
|
all "generic" guest accounts off your system. Why let
|
|||
|
someone log in without identifying himself?
|
|||
|
|
|||
|
2. NEVER put an obvious password on a "standard" account.
|
|||
|
This includes "guest" on the guest account, "system" on the
|
|||
|
root account, and so on.
|
|||
|
|
|||
|
Enforcing this among the users is harder, but not
|
|||
|
impossible. We have in the past checked all the accounts
|
|||
|
on our machines for stupid passwords, and informed everyone
|
|||
|
whose password we found that they should change it. As a
|
|||
|
measure of how simple easy passwords make things, we
|
|||
|
"cracked" about 400 accounts out of 10,000 in one overnight
|
|||
|
run of the program, trying about 12 passwords per account.
|
|||
|
Think what we could have done with a sophisticated attack.
|
|||
|
|
|||
|
3. FIX SECURITY HOLES. Even on "unused" machines. It's amazing
|
|||
|
how many UNIX sites have holes wide open that were plugged
|
|||
|
years ago. I even found a site still running with the 4.2
|
|||
|
distributed sendmail a few months ago...
|
|||
|
|
|||
|
4. Educate your police and other authorities about what's going
|
|||
|
on. Invite them to come learn about the computer. Give
|
|||
|
them an account and some documentation. The first time we
|
|||
|
had a breakin over dialup (1982 or so), it took us three
|
|||
|
days to convince the police department that we needed the
|
|||
|
calls traced. Now, they understand what's going on, and
|
|||
|
are much quicker to respond to any security violations we
|
|||
|
deem important enough to bring to their attention. The
|
|||
|
Dean of Students office is now much more interested in
|
|||
|
handling cases of students breaking in to other students'
|
|||
|
accounts; several years ago their reaction was "so what?".
|
|||
|
This is due primarily to our people making an effort to
|
|||
|
educate them, although I'm sure the increased attention
|
|||
|
computer security has received in the media (the 414's, and
|
|||
|
so on) has had an effect too.
|
|||
|
|
|||
|
--Dave Curry
|
|||
|
Purdue University
|
|||
|
Engineering Computer Network
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
From: reid@decwrl.DEC.COM (Brian Reid)
|
|||
|
Date: 17 Sep 1986 0729-PDT (Wednesday)
|
|||
|
To: davy@ee.ecn.purdue.edu (Dave Curry)
|
|||
|
Cc: risks@csl.sri.com
|
|||
|
Subject: Massive UNIX breakins
|
|||
|
|
|||
|
The machine on which the initial breakin occurred was one that I didn't
|
|||
|
even know existed, and over which no CS department person had any
|
|||
|
control at all. The issue here is that a small leak on some
|
|||
|
inconsequential machine in the dark corners of campus was allowed to
|
|||
|
spread to other machines because of the networking code. Security is
|
|||
|
quite good on CSD and EE machines, because they are run by folks who
|
|||
|
understand security. But, as this episode showed, that wasn't quite good
|
|||
|
enough.
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
RISKS-LIST: RISKS-FORUM Digest, Saturday, 20 September 1986 Volume 3 : Issue 60
|
|||
|
|
|||
|
Date: Thu, 18 Sep 86 09:12:59 cdt
|
|||
|
From: "Scott E. Preece" <preece%ccvaxa@GSWD-VMS.ARPA>
|
|||
|
To: RISKS@CSL.SRI.COM
|
|||
|
Subject: Re: Massive UNIX breakins at Stanford
|
|||
|
|
|||
|
> From: reid@decwrl.DEC.COM (Brian Reid) The machine on which the initial
|
|||
|
> breakin occurred was one that I didn't even know existed, and over
|
|||
|
> which no CS department person had any control at all. The issue here is
|
|||
|
> that a small leak on some inconsequential machine in the dark corners
|
|||
|
> of campus was allowed to spread to other machines because of the
|
|||
|
> networking code. Security is quite good on CSD and EE machines, because
|
|||
|
> they are run by folks who understand security. But, as this episode
|
|||
|
> showed, that wasn't quite good enough.
|
|||
|
----------
|
|||
|
|
|||
|
No you're still blaming the networking code for something it's not supposed
|
|||
|
to do. The fault lies in allowing an uncontrolled machine to have full
|
|||
|
access to the network. The NCSC approach to networking has been just that:
|
|||
|
you can't certify networking code as secure, you can only certify a network
|
|||
|
of machines AS A SINGLE SYSTEM. That's pretty much the approach of the
|
|||
|
Berkeley code, with some grafted on protections because there are real-world
|
|||
|
situations where you have to have some less-controlled machines with
|
|||
|
restricted access. The addition of NFS makes the single-system model even
|
|||
|
more necessary.
|
|||
|
|
|||
|
scott preece, gould/csd - urbana, uucp: ihnp4!uiucdcs!ccvaxa!preece
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
RISKS-LIST: RISKS-FORUM Digest, Monday, 22 September 1986 Volume 3 : Issue 62
|
|||
|
|
|||
|
Date: Mon, 22 Sep 86 11:04:16 EDT
|
|||
|
To: RISKS FORUM (Peter G. Neumann -- Coordinator) <RISKS@CSL.SRI.COM>
|
|||
|
Subject: Massive UNIX breakins at Stanford
|
|||
|
From: Jerome H. Saltzer <Saltzer@ATHENA.MIT.EDU>
|
|||
|
|
|||
|
In RISKS-3.58, Dave Curry gently chastises Brian Reid:
|
|||
|
|
|||
|
> . . . you asked for it. . . Berkeley networking had nothing to
|
|||
|
> do with your intruder getting root on your system, that was due purely
|
|||
|
> to neglect. Granted, once you're a super-user, the Berkeley networking
|
|||
|
> scheme enables you to invade many, many accounts on many, many machines.
|
|||
|
|
|||
|
And in RISKS-3.59, Scott Preece picks up the same theme, suggesting that
|
|||
|
Stanford failed by not looking at the problem as one of network security,
|
|||
|
and, in the light of use of Berkeley software, not enforcing a no-attachment
|
|||
|
rule for machines that don't batten down the hatches.
|
|||
|
|
|||
|
These two technically- and policy-based responses might be more tenable if
|
|||
|
the problem had occurred at a military base. But a university is a
|
|||
|
different environment, and those differences shed some light on environments
|
|||
|
that will soon begin to emerge in typical commercial and networked home
|
|||
|
computing settings. And even on military bases.
|
|||
|
|
|||
|
There are two characteristics of the Stanford situation that
|
|||
|
RISK-observers should keep in mind:
|
|||
|
|
|||
|
1. Choice of operating system software is made on many factors,
|
|||
|
not just the quality of the network security features. A university
|
|||
|
has a lot of reasons for choosing BSD 4.2. Having made that choice,
|
|||
|
the Berkeley network code, complete with its casual approach to
|
|||
|
network security, usually follows because the cost of changing it is
|
|||
|
high and, as Brian noted, its convenience is also high.
|
|||
|
|
|||
|
2. It is the nature of a university to allow individuals to do
|
|||
|
their own thing. So insisting that every machine attached to a
|
|||
|
network must run a certifably secure-from-penetration configuration
|
|||
|
is counter-strategic. And on a campus where there may be 2000
|
|||
|
privately administered Sun III's, MicroVAX-II's, and PC RT's all
|
|||
|
running BSD 4.2, it is so impractical as to be amusing to hear it
|
|||
|
proposed. Even the military sites are going to discover soon that
|
|||
|
configuration control achieved by physical control of every network
|
|||
|
host is harder than it looks in a world of engineering workstations.
|
|||
|
|
|||
|
Brian's comments are very thoughtful and thought-provoking. He describes
|
|||
|
expected responses of human beings to typical current-day operating system
|
|||
|
designs. The observations he makes can't be dismissed so easily.
|
|||
|
|
|||
|
Jerry Saltzer
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
Date: Mon, 22 Sep 1986 23:03 EDT
|
|||
|
From: Rob Austein <SRA@XX.LCS.MIT.EDU>
|
|||
|
To: RISKS@CSL.SRI.COM
|
|||
|
Subject: Massive UNIX breakins at Stanford
|
|||
|
|
|||
|
I have to take issue with Scott Preece's statement that "the fault
|
|||
|
lies in allowing an uncontrolled machine to have full access to the
|
|||
|
network". This may be a valid approach on a small isolated network or
|
|||
|
in the military, but it fails horribly in the world that the rest of
|
|||
|
us have to live in. For example, take a person (me) who is
|
|||
|
(theoreticly) responsible for what passes for security on up to half a
|
|||
|
dozen mainframes at MIT (exact number varies). Does he have any
|
|||
|
control over what machines are put onto the network even across the
|
|||
|
street on the MIT main campus? Hollow laugh. Let alone machines at
|
|||
|
Berkeley or (to use our favorite local example) the Banana Junior
|
|||
|
6000s belonging to high school students in Sunnyvale, California.
|
|||
|
|
|||
|
As computer networks come into wider use in the private sector, this
|
|||
|
problem will get worse, not better. I'm waiting to see when AT&T
|
|||
|
starts offering a long haul packet switched network as common carrier.
|
|||
|
|
|||
|
Rule of thumb: The net is intrinsicly insecure. There's just too much
|
|||
|
cable out there to police it all. How much knowledge does it take to
|
|||
|
tap into an ethernet? How much money? I'd imagine that anybody with
|
|||
|
a BS from a good technical school could do it in a week or so for
|
|||
|
under $5000 if she set her mind to it.
|
|||
|
|
|||
|
As for NFS... you are arguing my case for me. The NFS approach to
|
|||
|
security seems bankrupt for just this reason. Same conceptual bug,
|
|||
|
NFS simply agravates it by making heavier use of the trusted net
|
|||
|
assumption.
|
|||
|
|
|||
|
Elsewhere in this same issue of RISKS there was some discussion about
|
|||
|
the dangers of transporting passwords over the net (by somebody other
|
|||
|
than Scott, I forget who). Right. It's a problem, but it needn't be.
|
|||
|
Passwords can be tranmitted via public key encryption or some other
|
|||
|
means. The fact that most passwords are currently transmitted in
|
|||
|
plaintext is an implementation problem, not a fundamental design
|
|||
|
issue.
|
|||
|
|
|||
|
A final comment and I'll shut up. With all this talk about security
|
|||
|
it is important to keep in mind the adage "if it ain't broken, don't
|
|||
|
fix it". Case in point. We've been running ITS (which has to be one
|
|||
|
of the -least- secure operating systems ever written) for something
|
|||
|
like two decades now. We have surprisingly few problems with breakins
|
|||
|
on ITS. Seems that leaving out all the security code made it a very
|
|||
|
boring proposition to break in, so almost nobody bothers (either that
|
|||
|
or they are all scared off when they realize that the "command
|
|||
|
processor" is an assembly language debugger ... can't imagine why).
|
|||
|
Worth thinking about. The price paid for security may not be obvious.
|
|||
|
|
|||
|
--Rob Austein <SRA@XX.LCS.MIT.EDU>
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
Date: Mon 22 Sep 86 11:07:04-PDT
|
|||
|
From: Andy Freeman <ANDY@Sushi.Stanford.EDU>
|
|||
|
Subject: Massive UNIX breakins at Stanford
|
|||
|
To: RISKS@CSL.SRI.COM, preece%ccvaxa@GSWD-VMS.ARPA
|
|||
|
|
|||
|
Scott E. Preece <preece%ccvaxa@GSWD-VMS.ARPA> writes in RISKS-3.60:
|
|||
|
|
|||
|
reid@decwrl.DEC.COM (Brian Reid) writes:
|
|||
|
The issue here is that a small leak on some [unknown]
|
|||
|
inconsequential machine in the dark corners of campus was
|
|||
|
allowed to spread to other machines because of the networking code.
|
|||
|
|
|||
|
No, you're still blaming the networking code for something it's not
|
|||
|
supposed to do. The fault lies in allowing an uncontrolled machine to
|
|||
|
have full access to the network. The NCSC approach to networking has
|
|||
|
been just that: you can't certify networking code as secure, you can
|
|||
|
only certify a network of machines AS A SINGLE SYSTEM. That's pretty
|
|||
|
much the approach of the Berkeley code, with some grafted on
|
|||
|
protections because there are real-world situations where you have to
|
|||
|
have some less-controlled machines with restricted access. The
|
|||
|
addition of NFS makes the single-system model even more necessary.
|
|||
|
|
|||
|
Then NCSC certification means nothing in many (most?) situations. A
|
|||
|
lot of networks cross adminstrative boundaries. (The exceptions are
|
|||
|
small companies and military installations.) Even in those that
|
|||
|
seemingly don't, phone access is often necessary.
|
|||
|
|
|||
|
Network access should be as secure as phone access. Exceptions may
|
|||
|
choose to disable this protection but many of us won't. (If Brian
|
|||
|
didn't know about the insecure machine, it wouldn't have had a valid
|
|||
|
password to access his machine. He'd also have been able to choose
|
|||
|
what kind of access it had.) The only additional problem that
|
|||
|
networks pose is the ability to physically disrupt other's
|
|||
|
communication.
|
|||
|
|
|||
|
-andy [There is some redundancy in these contributions,
|
|||
|
but each makes some novel points. It is better
|
|||
|
for you to read selectively than for me to edit. PGN]
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
Date: 22 Sep 1986 16:24-CST
|
|||
|
From: "Scott E. Preece" <preece%mycroft@GSWD-VMS.ARPA>
|
|||
|
Subject: Massive UNIX breakins at Stanford (RISKS-3.60)
|
|||
|
To: ANDY@SUSHI.STANFORD.EDU, RISKS%CSL.SRI.COM@CSNET-RELAY.ARPA
|
|||
|
|
|||
|
Andy Freeman writes [in response to my promoting the view
|
|||
|
of a network as a single system]:
|
|||
|
|
|||
|
> Then NCSC certification means nothing in many (most?) situations.
|
|||
|
--------
|
|||
|
|
|||
|
Well, most sites are NOT required to have certified systems (yet?). If they
|
|||
|
were, they wouldn't be allowed to have non-complying systems. The view as a
|
|||
|
single system makes the requirements of the security model feasible. You
|
|||
|
can't have anything in the network that isn't part of your trusted computing
|
|||
|
base. This seems to be an essential assumption. If you can't trust the
|
|||
|
code running on another machine on your ethernet, then you can't believe
|
|||
|
that it is the machine it says it is, which violates the most basic
|
|||
|
principles of the NCSC model. (IMMEDIATE DISCLAIMER: I am not part of the
|
|||
|
group working on secure operating systems at Gould; my knowledge of the area
|
|||
|
is superficial, but I think it's also correct.)
|
|||
|
[NOTE: The word "NOT" in the first line of this paragraph
|
|||
|
was interpolated by PGN as the presumed intended meaning.]
|
|||
|
|
|||
|
--------
|
|||
|
Network access should be as secure as phone access. Exceptions may
|
|||
|
choose to disable this protection but many of us won't. (If Brian
|
|||
|
didn't know about the insecure machine, it wouldn't have had a valid
|
|||
|
password to access his machine. He'd also have been able to choose
|
|||
|
what kind of access it had.) The only additional problem that
|
|||
|
networks pose is the ability to physically disrupt other's
|
|||
|
communication.
|
|||
|
--------
|
|||
|
|
|||
|
Absolutely, network access should be as secure as phone access,
|
|||
|
IF YOU CHOOSE TO WORK IN THAT MODE. Our links to the outside
|
|||
|
world are as tightly restricted as our dialins. The Berkeley
|
|||
|
networking software is set up to support a much more integrated
|
|||
|
kind of network, where the network is treated as a single system.
|
|||
|
For our development environment that is much more effective.
|
|||
|
You should never allow that kind of access to a machine you don't
|
|||
|
control. Never. My interpretation of the original note was that
|
|||
|
the author's net contained machines with trusted-host access
|
|||
|
which should not have had such access; I contend that that
|
|||
|
represents NOT a failing of the software, but a failing of the
|
|||
|
administration of the network.
|
|||
|
|
|||
|
scott preece
|
|||
|
gould/csd - urbana, uucp: ihnp4!uiucdcs!ccvaxa!preece
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
RISKS-LIST: RISKS-FORUM Digest Wednesday, 24 September 1986 Volume 3 : Issue 63
|
|||
|
|
|||
|
Date: Tue, 23 Sep 86 09:16:21 cdt
|
|||
|
From: "Scott E. Preece" <preece%ccvaxa@GSWD-VMS.ARPA>
|
|||
|
To: RISKS@CSL.SRI.COM
|
|||
|
Subject: Massive UNIX breakins at Stanford
|
|||
|
|
|||
|
[This was an addendum to Scott's contribution to RISKS-3.61. PGN]
|
|||
|
|
|||
|
I went back and reviewed Brian Reid's initial posting and found myself more
|
|||
|
in agreement than disagreement. I agree that the Berkeley approach offers
|
|||
|
the unwary added opportunities to shoot themselves in the foot and that
|
|||
|
local administrators should be as careful of .rhosts files as they are of
|
|||
|
files that are setuid root; they should be purged or justified regularly.
|
|||
|
|
|||
|
I also agree that it should be possible for the system administrator to turn
|
|||
|
off the .rhosts capability entirely, which currently can only be done in the
|
|||
|
source code and that it would be a good idea to support password checks (as
|
|||
|
a configuration option) on rcp and all the other remote services.
|
|||
|
|
|||
|
scott preece, gould/csd - urbana, uucp: ihnp4!uiucdcs!ccvaxa!preece
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
Date: Tue, 23 Sep 86 08:41:29 cdt
|
|||
|
From: "Scott E. Preece" <preece%ccvaxa@GSWD-VMS.ARPA>
|
|||
|
To: RISKS@CSL.SRI.COM
|
|||
|
Subject: Re: Massive UNIX breakins at Stanford
|
|||
|
|
|||
|
> From: Rob Austein <SRA@XX.LCS.MIT.EDU>
|
|||
|
|
|||
|
> I have to take issue with Scott Preece's statement that "the fault lies
|
|||
|
> in allowing an uncontrolled machine to have full access to the network"...
|
|||
|
|
|||
|
I stand by what I said, with the important proviso that you notice the word
|
|||
|
"full" in the quote. I took the description in the initial note to mean
|
|||
|
that the network granted trusted access to all machines on the net. The
|
|||
|
Berkeley networking code allows the system administrator for each machine to
|
|||
|
specify what other hosts on the network are to be treated as trusted and
|
|||
|
which are not. The original posting spoke of people on another machine
|
|||
|
masquerading as different users on other machines; that is only possible if
|
|||
|
the (untrustworthy) machine is in your hosts.equiv file, so that UIDs are
|
|||
|
equivalenced for connections from that machine. If you allow trusted access
|
|||
|
to a machine you don't control, you get what you deserve.
|
|||
|
|
|||
|
Also note that by "the network" I was speaking only of machines intimately
|
|||
|
connected by ethernet or other networking using the Berkeley networking
|
|||
|
code, not UUCP or telephone connections to which normal login and password
|
|||
|
checks apply.
|
|||
|
|
|||
|
The description in the original note STILL sounds to me like failure of
|
|||
|
administration rather than failure of the networking code.
|
|||
|
|
|||
|
scott preece
|
|||
|
|
|||
|
[OK. Enough on that. The deeper issue is that most operating
|
|||
|
systems are so deeply flawed that you are ALWAYS at risk. Some
|
|||
|
tentative reports of Trojan horses discovered in RACF/ACF2 systems
|
|||
|
in Europe are awaiting details and submission to RISKS. But their
|
|||
|
existence should come as no surprise. Any use of such a system in
|
|||
|
a hostile environment could be considered a failure of administration.
|
|||
|
But it is also a shortcoming of the system itself... PGN]
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
RISKS-LIST: RISKS-FORUM Digest Wednesday, 25 September 1986 Volume 3 : Issue 65
|
|||
|
|
|||
|
Date: Mon 22 Sep 86 17:09:27-PDT
|
|||
|
From: Andy Freeman <ANDY@SUSHI.STANFORD.EDU>
|
|||
|
Subject: UNIX and network security again
|
|||
|
To: preece%mycroft@GSWD-VMS.ARPA
|
|||
|
cc: RISKS%CSL.SRI.COM@CSNET-RELAY.ARPA
|
|||
|
|
|||
|
preece%mycroft@gswd-vms.ARPA (Scott E. Preece) writes:
|
|||
|
|
|||
|
If you can't trust the code running on another machine on your
|
|||
|
ethernet, then you can't believe that it is the machine it says it is,
|
|||
|
which violates the most basic principles of the NCSC model.
|
|||
|
|
|||
|
That's why electronic signatures are a good thing.
|
|||
|
|
|||
|
I wrote (andy@sushi):
|
|||
|
> Then NCSC certification means nothing in many (most?) situations.
|
|||
|
|
|||
|
Well, most sites are required to have certified systems (yet?). If
|
|||
|
they were, they wouldn't be allowed to have non-complying systems.
|
|||
|
|
|||
|
The designers of the Ford Pinto were told by the US DOT to use $x as a
|
|||
|
cost-benefit tradeoff point for rear end collisions. Ford was still
|
|||
|
liable. I'd be surprised if NCSC certification protected a company
|
|||
|
from liability. (In other words, being right can be more important
|
|||
|
than complying.)
|
|||
|
|
|||
|
[This case was cited again by Peter Browne (from old Ralph Nader
|
|||
|
materials?), at a Conference on Risk Analysis at NBS 15 September
|
|||
|
1986: Ford estimated that the Pinto gas tank would take $11 each to
|
|||
|
fix in 400,000 cars, totalling $4.4M. They estimated 6 people might
|
|||
|
be killed as a result, at $400,000 each (the going rate for lawsuits
|
|||
|
at the time?), totalling $2.4M. PGN]
|
|||
|
|
|||
|
Absolutely, network access should be as secure as phone access, IF YOU
|
|||
|
CHOOSE TO WORK IN THAT MODE. Our links to the outside world are as
|
|||
|
tightly restricted as our dialins. The Berkeley networking software
|
|||
|
is set up to support a much more integrated kind of network, where the
|
|||
|
network is treated as a single system. For our development
|
|||
|
environment that is much more effective. You should never allow that
|
|||
|
kind of access to a machine you don't control. Never. My
|
|||
|
interpretation of the original note was that the author's net
|
|||
|
contained machines with trusted-host access which should not have had
|
|||
|
such access; I contend that that represents NOT a failing of the
|
|||
|
software, but a failing of the administration of the network.
|
|||
|
|
|||
|
My interpretation of Brian's original message is that he didn't have a
|
|||
|
choice; Berkeley network software trusts hosts on the local net. If
|
|||
|
that's true, then the administrators didn't have a chance to fail; the
|
|||
|
software's designers had done it for them. (I repeated all of Scott's
|
|||
|
paragraph because I agree with most of what he had to say.)
|
|||
|
|
|||
|
-andy
|
|||
|
|
|||
|
[I think the implications are clear. The network software is weak.
|
|||
|
Administrators are often unaware of the risks. Not all hosts are
|
|||
|
trustworthy. The world is full of exciting challenges for attackers.
|
|||
|
All sorts of unrealistic simplifying assumptions are generally made.
|
|||
|
Passwords are typically stored or transmitted in the clear and easily
|
|||
|
readable or obtained -- or else commonly known. Encryption is still
|
|||
|
vulnerable if the keys can be compromised (flawed key distribution,
|
|||
|
unprotected or subject to bribable couriers) or if the algorithm is
|
|||
|
weak. There are lots of equally devastating additional vulnerabilities
|
|||
|
waiting to be exercised, particularly in vanilla UNIX systems and
|
|||
|
networks thereof. Remember all of our previous discussions about not
|
|||
|
trying to put the blame in ONE PLACE. PGN]
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
RISKS-LIST: RISKS-FORUM Digest Thursday, 25 September 1986 Volume 3 : Issue 66
|
|||
|
|
|||
|
From: reid@decwrl.DEC.COM (Brian Reid)
|
|||
|
Date: 25 Sep 1986 0014-PDT (Thursday)
|
|||
|
To: risks@sri-csl.ARPA
|
|||
|
Reply-To: Reid@sonora.DEC.COM
|
|||
|
Subject: Follow-up on Stanford breakins: PLEASE LISTEN THIS TIME!
|
|||
|
|
|||
|
"What experience and history teach is that people have never learned
|
|||
|
anything from history, or acted upon principles deduced from it."
|
|||
|
-- Georg Hegel, 1832
|
|||
|
|
|||
|
Since so many of you are throwing insults and sneers in my direction, I feel
|
|||
|
that I ought to respond. I am startled by how many of you did not understand
|
|||
|
my breakin message at all, and in your haste to condemn me for "asking for
|
|||
|
it" you completely misunderstood what I was telling you, and why.
|
|||
|
|
|||
|
I'm going to be a bit wordy here, but I can justify it on two counts. First,
|
|||
|
I claim that this topic is absolutely central to the core purpose of RISKS (I
|
|||
|
will support that statement in a bit). Second, I would like to take another
|
|||
|
crack at making you understand what the problem is. I can't remember the
|
|||
|
names, but all of you people from military bases and secure installations who
|
|||
|
coughed about how it was a network administration failure are completely
|
|||
|
missing the point. This is a "risks of technology" issue, pure and simple.
|
|||
|
|
|||
|
As an aside, I should say that I am not the system manager of any of the
|
|||
|
systems that was broken into, and that I do not control the actions of any
|
|||
|
of the users of any of the computers. Therefore under no possible explanation
|
|||
|
can this be "my fault". My role is that I helped to track the intruders down,
|
|||
|
and, more importantly, that I wrote about it.
|
|||
|
|
|||
|
I am guessing that most of you are college graduates. That means that you
|
|||
|
once were at a college. Allow me to remind you that people do not need badges
|
|||
|
to get into buildings. There are not guards at the door. There are a large
|
|||
|
number of public buildings to which doors are not even locked. There is not a
|
|||
|
fence around the campus, and there are not guard dogs patrolling the
|
|||
|
perimeter.
|
|||
|
|
|||
|
The university is an open, somewhat unregulated place whose purpose is the
|
|||
|
creation and exchange of ideas. Freedom is paramount. Not just academic
|
|||
|
freedom, but physical freedom. People must be able to walk where they need to
|
|||
|
walk, to see what they need to see, to touch what they need to touch.
|
|||
|
Obviously some parts of the university need to be protected from some people,
|
|||
|
so some of the doors will be locked. But the Stanford campus has 200
|
|||
|
buildings on it, and I am free to walk into almost any of them any time that
|
|||
|
I want. More to the point, *you* are also free to walk into any of them.
|
|||
|
|
|||
|
Now let us suppose that I am walking by the Linguistics building and I notice
|
|||
|
that there is a teenager taking books out of the building and putting them in
|
|||
|
his car, and that after I watch for a short while, I conclude that he is not
|
|||
|
the owner of the books. I will have no trouble convincing any policeman that
|
|||
|
the teenager is committing a crime. More important, if this teenager has had
|
|||
|
anything resembling a normal upbringing in our culture, I will have no
|
|||
|
trouble convincing the teenager that he is committing a crime. Part of the
|
|||
|
training that we receive as citizens in our society is a training in what is
|
|||
|
acceptable public behavior and what is not. The books were not locked up, the
|
|||
|
doors to the library were not locked, but in general people do not run in and
|
|||
|
steal all of the books.
|
|||
|
|
|||
|
Or let me suppose instead that I am a reporter for the Daily News. I have a
|
|||
|
desk in a huge room full of desks. Most of the desks are empty because the
|
|||
|
other reporters are out on a story. You've seen scenes like this in the
|
|||
|
movies. It is rare in small towns to find those newsrooms locked. Here in
|
|||
|
Palo Alto I can walk out of my office, walk over to the offices of the Times
|
|||
|
Tribune a few blocks away, walk in to the newsroom, and sit down at any of
|
|||
|
those desks without being challenged or stopped. There is no guard at the
|
|||
|
door, and the door is not locked. There are 50,000 people in my city, and
|
|||
|
since I have lived here not one of them has walked into the newsroom and
|
|||
|
started destroying or stealing anything, even though it is not protected.
|
|||
|
Why not? Because the rules for correct behavior in our society, which are
|
|||
|
taught to every child, include the concept of private space, private
|
|||
|
property, and things that belong to other people. My 3-year-old daughter
|
|||
|
understands perfectly well that she is not to walk into neighbors' houses
|
|||
|
without ringing the doorbell first, though she doesn't quite understand why.
|
|||
|
|
|||
|
People's training in correct social behavior is incredibly strong, even
|
|||
|
among "criminals". Murderers are not likely to be litterbugs. Just because
|
|||
|
somebody has violated one taboo does not mean that he will immediately and
|
|||
|
systematically break all of them.
|
|||
|
|
|||
|
In some places, however, society breaks down and force must be used. In the
|
|||
|
Washington Square area of New York, for example, near NYU, you must lock
|
|||
|
everything or it will be stolen. At Guantanamo you must have guards or the
|
|||
|
Cubans will come take things. But in Palo Alto, and in Kansas and in Nebraska
|
|||
|
and Wisconsin and rural Delaware and in thousands of other places, you do not
|
|||
|
need to have guards and things do not get stolen.
|
|||
|
|
|||
|
I'm not sure what people on military bases use computer networks for, but
|
|||
|
here in the research world we use computer networks as the building blocks of
|
|||
|
electronic communities, as the hallways of the electronic workplace. Many of
|
|||
|
us spend our time building network communities, and many of us spend our time
|
|||
|
developing the technology that we and others will use to build network
|
|||
|
communities. We are exploring, building, studying, and teaching in an
|
|||
|
electronic world. And naturally each of us builds an electronic community
|
|||
|
that mirrors the ordinary community that we live in. Networks in the Pentagon
|
|||
|
are built by people who are accustomed to seeing soldiers with guns standing
|
|||
|
in the hallway. Networks at Stanford are built by people who don't get out of
|
|||
|
bed until 6 in the evening and who ride unicycles in the hallways.
|
|||
|
|
|||
|
Every now and then we get an intruder in our electronic world, and it
|
|||
|
surprises us because the intruder does not share our sense of societal
|
|||
|
responsibilities. Perhaps if Stanford were a military base we would simply
|
|||
|
shoot the intruder and be done with it, but that is not our way of doing
|
|||
|
things. We have two problems. One is immediate--how to stop him, and how
|
|||
|
to stop people like him. Another is very long-term: how to make him and his
|
|||
|
society understand that this is aberrant behavior.
|
|||
|
|
|||
|
The result of all of this is that we cannot, with 1986 technology, build
|
|||
|
computer networks that are as free and open as our buildings, and therefore
|
|||
|
we cannot build the kind of electronic community that we would like.
|
|||
|
|
|||
|
I promised you that I would justify what this all has to do with RISKS.
|
|||
|
|
|||
|
We are developing technologies, and other people are using those
|
|||
|
technologies. Sometimes other people misuse them. Misuse of technology is one
|
|||
|
of the primary risks of that technology to society. When you are engineering
|
|||
|
something that will be used by the public, it is not good enough for you to
|
|||
|
engineer it so that if it is used properly it will not hurt anybody. You must
|
|||
|
also engineer it so that if it is used *improperly* it will not hurt anybody.
|
|||
|
I want to avoid arguments of just where the technologist's responsibility
|
|||
|
ends and the consumer's responsibility begins, but I want to convince you,
|
|||
|
even if you don't believe in the consumer protection movement, that there is
|
|||
|
a nonzero technologist's responsibility.
|
|||
|
|
|||
|
Let us suppose, for example, that you discovered a new way to make
|
|||
|
screwdrivers, by making the handles out of plastic explosives, so that the
|
|||
|
screwdriver would work much better under some circumstances. In fact, these
|
|||
|
screwdrivers with the gelignite handles are so much better at putting in
|
|||
|
screws than any other screwdriver ever invented, that people buy them in
|
|||
|
droves. They have only one bug: if you ever forget that the handle is
|
|||
|
gelignite, and use the screwdriver to hit something with, it will explode and
|
|||
|
blow your hand off. You, the inventor of the screwdriver, moan each time you
|
|||
|
read a newspaper article about loss of limb, complaining that people
|
|||
|
shouldn't *do* that with your screwdrivers.
|
|||
|
|
|||
|
Now suppose that you have invented a great new way to make computer networks,
|
|||
|
and that it is significantly more convenient than any other way of making
|
|||
|
computer networks. In fact, these networks are so fast and so convenient that
|
|||
|
everybody is buying them. They have only one bug: if you ever use the network
|
|||
|
to connect to an untrusted computer, and then if you also forget to delete
|
|||
|
the permissions after you have done this, then people will break into your
|
|||
|
computer and delete all of your files. When people complain about this, you
|
|||
|
say "don't connect to untrusted computers" or "remember to delete the files"
|
|||
|
or "fire anyone who does that".
|
|||
|
|
|||
|
Dammit, it doesn't work that way. The world is full of people who care only
|
|||
|
about expediency, about getting their screws driven or their nets worked. In
|
|||
|
the heat of the moment, they are not going to remember the caveats. People
|
|||
|
never do. If the only computers were on military bases, you could forbid
|
|||
|
the practice and punish the offenders. But only about 0.1% of the computers
|
|||
|
are on military bases, so we need some solutions for the rest of us.
|
|||
|
|
|||
|
Consider this scenario (a true story). Some guy in the Petroleum Engineering
|
|||
|
department buys a computer, gets a BSD license for it, and hires a Computer
|
|||
|
Science major to do some systems programming for him. The CS major hasn't
|
|||
|
taken the networks course yet and doesn't know the risks of breakins. The
|
|||
|
petroleum engineer doesn't know a network from a rubber chicken, and in
|
|||
|
desperation tells the CS student that he can do whatever he wants as long as
|
|||
|
the plots are done by Friday afternoon. The CS student needs to do some
|
|||
|
homework, and it is much more convenient for him to do his homework on the
|
|||
|
petroleum computer, so he does his homework there. Then he needs to copy it
|
|||
|
to the CS department computer, so he puts a permission file in his account on
|
|||
|
the CSD computer that will let him copy his homework from the petroleum
|
|||
|
engineering computer to the CSD computer. Now the CS student graduates and
|
|||
|
gets a job as a systems programmer for the Robotics department, and his
|
|||
|
systems programmer's account has lots of permissions. He has long since
|
|||
|
forgotten about the permissions file that he set up to move his homework last
|
|||
|
March. Meanwhile, somebody breaks into the petroleum engineering computer,
|
|||
|
because its owner is more interested in petroleum than in computers and
|
|||
|
doesn't really care what the guest password is. The somebody follows the
|
|||
|
permission links and breaks into the robotics computer and deletes things.
|
|||
|
|
|||
|
Whose fault is this? Who is to blame? Who caused this breakin? Was it the
|
|||
|
network administrator, who "permitted" the creation of .rhosts files? Was it
|
|||
|
the person who, in a fit of expedience, created /usr/local/bin with 0776
|
|||
|
protection? Was it the idiot at UCB who released 4.2BSD with /usr/spool/at
|
|||
|
having protection 0777? Was it the owner of the petroleum engineering
|
|||
|
computer? Was it the mother of the kid who did the breaking in, for failing
|
|||
|
to teach him to respect electronic private property? I'm not sure whose fault
|
|||
|
it is, but I know three things:
|
|||
|
|
|||
|
1) It isn't my fault (I wasn't there). It isn't the student's fault (he
|
|||
|
didn't know any better--what can you expect for $5.75/hour). It isn't the
|
|||
|
petroleum engineer's fault (NSF only gave him 65% of the grant money he
|
|||
|
asked for and he couldn't afford a full-time programmer). Maybe you could
|
|||
|
argue that it is the fault of the administrator of the CSD machine, but in
|
|||
|
fact there was no administrator of the CSD machine because he had quit to
|
|||
|
form a startup company. In fact, it is nobody's fault.
|
|||
|
|
|||
|
2) No solution involving authority, management, or administration will work
|
|||
|
in a network that crosses organization boundaries.
|
|||
|
|
|||
|
3) If people keep designing technologies that are both convenient and
|
|||
|
dangerous, and if they keep selling them to nonspecialists, then
|
|||
|
expedience will always win out over caution. Convenience always wins,
|
|||
|
except where it is specifically outlawed by authority. To me, this is
|
|||
|
one of the primary RISKs of any technology. What's special about
|
|||
|
computers is that the general public does not understand them well
|
|||
|
enough to evaluate the risks for itself.
|
|||
|
|
|||
|
------------------------------
|
|||
|
|
|||
|
End of RISKS-FORUM Digest
|
|||
|
************************
|
|||
|
-------
|
|||
|
---(127)---
|
|||
|
|
|||
|
|