[Search for users] [Overall Top Noters] [List of all Conferences] [Download this site]

Conference noted::hackers_v1

Title:-={ H A C K E R S }=-
Notice:Write locked - see NOTED::HACKERS
Moderator:DIEHRD::MORRIS
Created:Thu Feb 20 1986
Last Modified:Mon Aug 03 1992
Last Successful Update:Fri Jun 06 1997
Number of topics:680
Total number of notes:5456

5.0. ""The Break-In"" by VAXUUM::DYER () Wed Feb 08 1984 15:17

	This was taken off of the ARPANET or the USENET or something.  It's
a "behind-the-scenes" account of what was apparently a media event.  It has
to do with a computer intruder.  This was happening about the time that the
FBI was making dramatic arrests of young "hackers" (as the media called them)
for breaking into government computers.
		<_Jym_>
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
From: Brian Reid <reid@Glacier>
Date: Wed Nov  9 16:48:52 1983
Subject: the breakin: short summary of a media event
 
Enough people have asked me "what really happened" that I thought it
was worth posting a medium-sized note to bboard explaining what this
computer intruder stuff is all about. I will also tell the tale of how
it came to be a full-fledged media phenomenon.
 
Early morning on September 17 I had logged on to Shasta and noticed an
unseemly slowness to the logon process. I was the only user on the
system, which made it even more curious. I was too sleepy to care, but
filed it away for future puzzleement. A few hours later Jeff Mogul
telephoned me with the truth, which he had discovered and explained.
The Shasta directory /usr/local/bin contained a file named "stty",
whose contents was actually a shell script that copied /bin/csh into
~somewhere/.$USER, then chmod u+s $USER .$USER, then an exec of the
real stty. Translating into English from Unix-ese, this means that when
some innocent victim ran this false "stty" program, it would store in
the perpetrator's directory a copy of the shell (a shell is like the
Tops-20 EXEC) set up in such a way that when the perpetrator later
executed that shell, he would acquire all of the permissions and access
rights of the victim. The unseemly delay that I had noticed at 5:30
a.m. was caused by the length of time that it took to copy the 64KB
shell file into the intruder's directory.
 
The "stty" program on Unix is used by virtually all users to set up
their terminal characteristics when logging on, and most Shasta users
have their search lists set up to look in /usr/local/bin before
/usr/bin. This means that after the passage of a few hours, the
perpetrator's directory contained many files with names like ".reid" or
".mogul" or ".hennessey", each rigged so that if he executed it he
could read or write any files to which reid or mogul or hennessey had
access.
 
The account used by the perpetrator belonged to Jim Miller, who had
visited HPP last year, and who had left quite some time ago. Tom
Rindfleisch assured me that Miller was an honest person who would not do
such a thing; we therefore concluded that some alien was using the
account. I spent a couple of minutes finding out some biographical data
about him, and was easily able to guess his password. That solved the
mystery of how the intruder was using Miller's account.
 
We waited for the perpetrator to log on again, and when he did so, he
was coming in through the Internet from Purdue. I traced the net
connections back to find out that he was logged on as Mark Bronson at
Purdue, and immediately called Walter Tichy at Purdue to ask about
Bronson, and was told that Mark Bronson had graduated a year ago and
gone to work for a certain company in another state, which intriguingly
enough was the same company that Miller worked for. This "clue" turned
out to be a red herring, but it distracted us for a day. Chris Kent of
Purdue traced the network connections back to SU-TAC, where the
perpetrator was dialed in on a 300-baud line.
 
At this point I wanted to go home for dinner, so I shut down Shasta's
internet service, which made it impossible for him to telnet in to
Shasta from ARPA-land. I figured that he would think Shasta had just
crashed. To my amazement, he was logged back on within 30 seconds, this
time coming in from Navajo via PUP telnet (which I had not shut off). A
quick trace of the net connections showed that he was logged on to
Navajo as Anita Mayo. Steve Hartwell phoned Anita in New York to ask
her if she was doing this; she said no, she wasn't, but her password
would be pretty easy to guess. I tried guessing "Anita", and sure
enough it worked. Wanting to go home for dinner, I changed Anita's
Navajo password to something unrememberable and killed the Mayo job on
Navajo, figuring that this would keep him out.
 
30 seconds later he was back on again, this time coming in from Diablo,
where he was logged on as Jeff Adams. I was unsuccessful at guessing
Jeff Adams' password, but I realized at this point that I was dealing
with organized crime and not just with some casual password hacker: he
clearly had access to lists of account names and passwords all over the
place. I hotwired Shasta's "login" so that only people actually
physically in ERL could log in, and went home a bit shaken.
 
At this point I called Ralph Gorin to ask for advice, and he advised me
to call the FBI. It took 24 hours to get them to return my call, and
another 24 hours to get them to believe that a real crime was taking
place. They came to campus and spent a day talking to me, to Len
Bosack, and to Ralph. The following morning they obtained permission
authorizing Pacific Telephone to put a "trap" on the SU-TAC dialin
lines; simultaneously, Len and Benjy Levy connected a hardcopy terminal
to the TAC dialin line so that we could get a transcript of what the
intruder was doing, to use as evidence if necessary.
 
Meanwhile back at Shasta, we were walking the fine line between keeping
this intruder out of our files and keeping him interested enough to
stay on the line long enough for us to trace the call. We did this by
leaving his Trojan horse in place, and periodically getting volunteers
to run it, whereupon he would get quite excited and spend an hour or
two checking to see if he had acquired any interesting new privileges.
Steve Przybylski, Glenn Trewitt, Steve Hartwell and I took turns at
this babysitting task.
 
Pacific Telephone told us that the calls were being made from a certain
travel agency in San Bruno. The FBI folks made a visit there, and found
no evidence of any such thing. Pacific Telephone then suspected that
the telephone wires in that building had been compromised, but after
another day of fooling around, Pac Tel admitted that what was @i[really]
going on was that the call was coming in through a long-distance
calling service, such as Sprint or MCI. The long-distance calling
service people refused to cooperate; Len and the FBI obtained the
necessary search warrant (another delay); they cooperated and told us
that the calls were coming from Los Angeles.
 
At this point I went out of town for a program committee meeting, so I
am a little fuzzy on the exact details, but Len and the FBI together
managed to get the necessary traps in place on the Los Angeles local
telephone end. I returned from the trip to resume my shift at
babysitting Shasta to make sure the intruder did not get too carried
away. By this point we had a fairly automatic notification mechanism
set up; we doctored "login" so that whenever the intruder logged on it
would send mail notification to all of us who were participating in the
chase.
 
But he never logged in again. After a few days of wondering whether he
had detected our traps and chickened out, I got word from Ralph that
Ralph had gotten word that the Los Angeles police had raided some
teenager's apartment and seized a computer. The date and time of the
raid mesh fairly well with the last recorded instance of our intruder
coming in, but of course we have no hard evidence that it is the same
person. The FBI might have further evidence; they aren't talking.
 
That was September 22. I had thought the whole issue was dead, but last
week somebody at Purdue told a reporter for the Los Angeles Times that
I had located this intruder and informed Purdue of his existence; the
L.A. Times reporter called me and I told him the story pretty much as
you read it above. It appeared in the Sunday LA Times, and went out on
the LA Times News Service newswire.
 
Well, it seems that when the LA Times runs a story on something it
becomes Big News. The following morning (Tuesday a.m.) Len and I
started getting calls from every imaginable reporter (Only his name
and mine appeared in the LA Times story). Before 10am, 10 radio
stations, 4 TV stations, all of the local newspapers, even the Stanford
Daily had picked up on this hot story of evil alien spies penetrating
the Department of Defense through Stanford University, and all had to
have the story first-hand.
 
It has all blown over now; today something else is Big News. Please,
everyone, please make sure your passwords are hard to guess. Try to
make them non-pronounceable, and long, and certainly make them
unrelated to your life. And try to understand that not every quote you
read in the papers is correct.
 
Brian
 
 
--------------------------------------
*** End of Forwarded Message ***
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-
T.RTitleUserPersonal
Name
DateLines
5.1XENON::SAUTERMon Jun 11 1984 13:233
I'm sorry Ralph Gorin's name didn't make the papers.  It was he who did the
first "right thing": suggest that the FBI be involved.
    John Sauter
5.2It happened againGALLO::RASPUZZIMichael RaspuzziWed Sep 24 1986 16:22293
    More breakin problems at Stanford.
    
    
    Return-Path: <@MARLBORO.DEC.COM,@SU-SCORE.ARPA,@SUMEX-AIM.ARPA:MRC@PANDA>
Received: from MARLBORO.DEC.COM by TOPS20.DEC.COM with TCP; Tue 23 Sep 86 17:44:08-EDT
Received: from SU-SCORE.ARPA by MARLBORO.DEC.COM with TCP; Tue 23 Sep 86 17:46:08-EDT
Received: from SUMEX-AIM.ARPA by SU-SCORE.ARPA with TCP; Tue 23 Sep 86 12:38:40-PDT
Received: from PANDA by SUMEX-AIM.ARPA with Cafard; Tue 23 Sep 86 12:32:22-PDT
Date: Tue 23 Sep 86 12:04:20-PDT
From: Mark Crispin <MRC%PANDA@SUMEX-AIM.Stanford.EDU>
Subject: Security problems
To: TOPS-20@Score.Stanford.EDU
Postal-Address: 1802 Hackett Ave.; Mountain View, CA  94043-4431
Phone: +1 (415) 968-1052
Message-ID: <12241284545.7.MRC@PANDA>
 
     [Note: The following message deals with a series of computer
breakins at Stanford's Unix systems, but some of the lessons
learned are quite apropos to TOPS-20 and VMS as well.  I am
passing this on to the TOPS-20 list, since many of you have
multiple systems. -- MRC]
 
    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
 
[Some TOPS-20 conclusions:
 (1) Nobody should ever have access to <ROOT-DIRECTORY>, for any
     reason whatsoever.  A common means of leaving a Trojan horse
     behind on TOPS-20 is to put a password on <ROOT-DIRECTORY>.
     If you have a password on your <ROOT-DIRECTORY> you have
     probably been and are still being cracked, perhaps without
     your knowledge!  It is truly trivial to crack a TOPS-20 wide
     open if you know a password on <ROOT-DIRECTORY>.
      PANDA monitors forbid all CRDIR%'s on <ROOT-DIRECTORY>
     except during structure creation.  Stanford monitors had an
     earlier version of this; I don't know if they still do.
 
 (2) Nobody should ever have group access to any of the SYS:
     directories, and especially not to SYSTEM:.
 
 (3) All users should have different passwords on each system
     they have an account on.  This especially holds true for
     Wheels, but is not limited to them.  Encrypted passwords
     help, but users should be forbidden from using any word
     that can be found in a dictionary, proper name, or commonly
     used number (e.g. social security, telephone).
 
 (4) Sites should log all significant security events on the
     console.  This list can include capabilities enablings,
     directory creations (or at least those which create accounts
     or change privileges), use of CRJOB%, excessive password
     failures, privileged user logins/logouts.  The monitor at
     PANDA logs all of the above and more; it also fixes up the
     old Tenex LOGTTY stuff (it suffered software rot over the
     years).
 
 (5) Sites should forbid unprivileged use of CRJOB%.  In most
     monitors it is a security hole.
 
 (6) Sites should require periodic password changes.
]