home *** CD-ROM | disk | FTP | other *** search
/ rtfm.mit.edu / 2014.07.rtfm.mit.edu.tar / rtfm.mit.edu / pub / reid.txt < prev    next >
Text File  |  1986-10-01  |  50KB  |  948 lines

  1.  #127 (935 lines in body):
  2. Delivery-Date:  26 September 1986 23:06 edt
  3. Delivery-By:  Network_Server.Daemon (NEUMANN@CSL.SRI.COM@ATHENA)
  4. Date:  Friday, 26 September 1986 16:33 edt
  5. From:  Peter G. Neumann <Neumann at CSL.SRI.COM>
  6. Subject:  SUMMARY OF UNIX BREAKIN MESSAGES
  7. To:  Saltzer at ATHENA.MIT.EDU
  8. In-Reply-To:  Message from "Jerome H. Saltzer <Saltzer@ATHENA.MIT.EDU>" of Fri 26 Sep 86 13:29:11-PDT
  9.  
  10. RISKS@CSL.SRI.COM  RISKS-FORUM Digest, Summary of messages on UNIX breakins.
  11. THIS FILE IS AVAILABLE FOR FTP FROM CSL.SRI.COM <RISKS>RISKS.REID.
  12.  
  13. RISKS-LIST: RISKS-FORUM Digest, Tuesday, 16 September 1986  Volume 3 : Issue 56
  14.  
  15. From: reid@decwrl.DEC.COM (Brian Reid)
  16. Date: 16 Sep 1986 1519-PDT (Tuesday)
  17. To: Peter G. Neumann <Neumann@csl.sri.com>   [FOR RISKS]
  18. Subject: Massive UNIX breakins at Stanford
  19.  
  20.     Lessons learned from a recent rash of Unix computer breakins
  21.  
  22. Introduction
  23.    A number of Unix computers in the San Francisco area have
  24.    recently been plagued with breakins by reasonably talented
  25.    intruders. An analysis of the breakins (verified by a telephone
  26.    conversation with the intruders!) show that the networking
  27.    philosophy offered by Berkeley Unix, combined with the human
  28.    nature of systems programmers, creates an environment in which
  29.    breakins are more likely, and in which the consequences of
  30.    breakins are more dire than they need to be.
  31.  
  32.    People who study the physical security of buildings and military
  33.    bases believe that human frailty is much more likely than
  34.    technology to be at fault when physical breakins occur. It is
  35.    often easier to make friends with the guard, or to notice that he
  36.    likes to watch the Benny Hill show on TV and then wait for that
  37.    show to come on, than to try to climb fences or outwit burglar
  38.    alarms.
  39.  
  40. Summary of Berkeley Unix networking mechanism:
  41.  
  42.    The user-level networking features are built around the
  43.    principles of "remote execution" and "trusted host". For example,
  44.    if you want to copy a file from computer A to computer B, you
  45.    type the command
  46.              rcp A:file B:file
  47.    If you want to copy the file /tmp/xyz from the computer that you
  48.    are now using over to computer C where it will be called
  49.    /usr/spool/breakin, you type the command
  50.              rcp /tmp/xyz C:/usr/spool/breakin
  51.    The decision of whether or not to permit these copy commands is
  52.    based on "permission" files that are stored on computers A, B,
  53.    and C. The first command to copy from A to B will only work if
  54.    you have an account on both of those computers, and the
  55.    permission file stored in your directory on both of those
  56.    computers authorizes this kind of remote access.
  57.  
  58.    Each "permission file" contains a list of computer names and user
  59.    login names. If the line "score.stanford.edu reid" is in the
  60.    permission file on computer "B", it means that user "reid" on
  61.    computer "score.stanford.edu" is permitted to perform remote
  62.    operations such as rcp, in or out, with the same access
  63.    privileges that user "reid" has on computer B.
  64.  
  65. How the breakins happened.
  66.  
  67.    One of the Stanford campus computers, used primarily as a mail
  68.    gateway between Unix and IBM computers on campus, had a guest
  69.    account with user id "guest" and password "guest". The intruder
  70.    somehow got his hands on this account and guessed the password.
  71.    There are a number of well-known security holes in early releases
  72.    of Berkeley Unix, many of which are fixed in later releases.
  73.    Because this computer is used as a mail gateway, there was no
  74.    particular incentive to keep it constantly up to date with the
  75.    latest and greatest system release, so it was running an older version
  76.    of the system. The intruder instantly cracked "root" on that
  77.    computer, using the age-old trojan horse trick. (He had noticed
  78.    that the guest account happened to have write permission into a
  79.    certain scratch directory, and he had noticed that under certain
  80.    circumstances, privileged jobs could be tricked into executing
  81.    versions of programs out of that scratch directory instead of out
  82.    of the normal system directories).
  83.  
  84.    Once the intruder cracked "root" on this computer, he was able to
  85.    assume the login identity of everybody who had an account on that
  86.    computer. In particular, he was able to pretend to be user "x" or
  87.    user "y", and in that guise ask for a remote login on other
  88.    computers. Sooner or later he found a [user,remote-computer] pair
  89.    for which there was a permission file on the other end granting
  90.    access, and now he was logged on to another computer. Using the
  91.    same kind of trojan horse tricks, he was able to break into root
  92.    on the new computer, and repeat the process iteratively.
  93.  
  94.    In most cases the intruder left trojan-horse traps behind on
  95.    every computer that he broke into, and in most cases he created
  96.    login accounts for himself on the computers that he broke into.
  97.    Because no records were kept, it is difficult to tell exactly how
  98.    many machines were penetrated, but the number could be as high as
  99.    30 to 60 on the Stanford campus alone. An intruder using a
  100.    similar modus operandi has been reported at other installations.
  101.  
  102. How "human nature" contributed to the problem
  103.  
  104.    The three technological entry points that made this intrusion
  105.    possible were:
  106.  
  107.       * The large number of permission files, with entirely
  108.           too many permissions stored in them, found all over the campus
  109.           computers (and, for that matter, all over the ARPAnet).
  110.  
  111.       * The presence of system directories in which users have write
  112.           permission.
  113.  
  114.       * Very sloppy and undisciplined use of search paths in privileged
  115.         programs and superuser shell scripts.
  116.  
  117.  
  118. Permissions: Berkeley networking mechanism encourages carelessness.
  119.  
  120.    The Berkeley networking mechanism is very very convenient. I use
  121.    it all the time. You want to move a file from one place to
  122.    another? just type "rcp" and it's there. Very fast and very
  123.    efficient, and quite transparent. But sometimes I need to move a
  124.    file to a machine that I don't normally use. I'll log on to that
  125.    machine, quickly create a temporary permission file that lets me
  126.    copy a file to that machine, then break back to my source machine
  127.    and type the copy command. However, until I'm quite certain that
  128.    I am done moving files, I don't want to delete my permission file
  129.    from the remote end or edit that entry out of it. Most of us use
  130.    display editors, and oftentimes these file copies are made to
  131.    remote machines on which the display editors don't always work
  132.    quite the way we want them to, so there is a large nuisance
  133.    factor in running the text editor on the remote end. Therefore
  134.    the effort in removing one entry from a permission file--by
  135.    running the text editor and editing it out--is high enough that
  136.    people don't do it as often as they should. And they don't want
  137.    to *delete* the permission file, because it contains other
  138.    entries that are still valid. So, more often than not, the
  139.    permission files on rarely-used remote computers end up with
  140.    extraneous permissions in them that were installed for a
  141.    one-time-only operation. Since the Berkeley networking commands
  142.    have no means of prompting for a password or asking for the name
  143.    of a temporary permission file, everybody just edits things into
  144.    the permanent permission file. And then, of course, they forget
  145.    to take it out when they are done.
  146.  
  147.  
  148. Write permission in system directories permits trojan horse attacks.
  149.  
  150.    All software development is always behind schedule, and
  151.    programmers are forever looking for ways to do things faster. One
  152.    convenient trick for reducing the pain of releasing new versions
  153.    of some program is to have a directory such as /usr/local/bin or
  154.    /usr/stanford/bin or /usr/new in which new or locally-written
  155.    versions of programs are kept, and asking users to put that
  156.    directory on their search paths. The systems programmers then
  157.    give themselves write access to that directory, so that they can
  158.    intall a new version just by typing "make install" rather than
  159.    taking some longer path involving root permissions. Furthermore,
  160.    it somehow seems more secure to be able to install new software
  161.    without typing the root password. Therefore it is a
  162.    nearly-universal practice on computers used by programmers to
  163.    have program directories in which the development programmers
  164.    have write permission. However, if a user has write permission in
  165.    a system directory, and if an intruder breaks into that user's
  166.    account, then the intruder can trivially break into root by using
  167.    that write permission to install a trojan horse.
  168.  
  169. Search paths: people usually let convenience dominate caution.
  170.  
  171.    Search paths are almost universally misused. For example, many
  172.    people write shell scripts that do not specify an explicit search
  173.    path, which makes them vulnerable to inheriting the wrong path.
  174.    Many people modify the root search path so that it will be
  175.    convenient for systems programmers to use interactively as the
  176.    superuser, forgetting that the same search path will be used by
  177.    system maintenance scripts run automatically during the night.
  178.    It is so difficult to debug failures that are caused by incorrect
  179.    search paths in automatically-run scripts that a common "repair"
  180.    technique is to put every conceivable directory into the search
  181.    path of automatically-run scripts. Essentially every Unix
  182.    computer I have ever explored has grievous security leaks caused
  183.    by underspecified or overlong search paths for privileged users.
  184.  
  185. Summary conclusion: Wizards cause leaks
  186.  
  187.    The people who are most likely to be the cause of leaks are
  188.    the wizards. When something goes wrong on a remote machine, often
  189.    a call goes in to a wizard for help. The wizard is usually busy
  190.    or in a hurry, and he often is sloppier than he should be with
  191.    operations on the remote machine. The people who are most likely
  192.    to have permission files left behind on stray remote machines are
  193.    the wizards who once offered help on that machine. But, alas,
  194.    these same wizards are the people who are most likely to have
  195.    write access to system directories on their home machines,
  196.    because it seems to be in the nature of wizards to want to
  197.    collect as many permissions as possible for their accounts. Maybe
  198.    that's how they establish what level of wizard that they are. The
  199.    net result is that there is an abnormally high probability that
  200.    when an errant permission file is abused by an intruder, that it
  201.    will lead to the account of somebody who has an unusually large
  202.    collection of permissions on his own machine, thereby making it
  203.    easier to break into root on that machine.
  204.  
  205. Conclusions.
  206.  
  207.    My conclusions from all this are these:
  208.       * Nobody, no matter how important, should have write permission
  209.           into any directory on the system search path. Ever.
  210.  
  211.       * Somebody should carefully re-think the user interface of the
  212.           Berkeley networking mechanisms, to find ways to permit people to
  213.           type passwords as they are needed, rather than requiring them to
  214.           edit new permissions into their permissions files.
  215.  
  216.       * The "permission file" security access mechanism seems
  217.         fundamentally vulnerable. It would be quite reasonable
  218.           for a system manager to forbid the use of them, or to
  219.           drastically limit the use of them. Mechanized checking is
  220.           easy.
  221.  
  222.       * Programmer convenience is the antithesis of security, because
  223.           it is going to become intruder convenience if the programmer's
  224.           account is ever compromised. This is especially true in
  225.         setting up the search path for the superuser.
  226.  
  227.  
  228.  
  229. Lament
  230.    I mentioned in the introduction that we had talked to the
  231.    intruders on the telephone. To me the most maddening thing about
  232.    this intrusion was not that it happened, but that we were unable
  233.    to convince any authorities that it was a serious problem, and
  234.    could not get the telephone calls traced. At one point an
  235.    intruder spent 2 hours talking on the telephone with a Stanford
  236.    system manager, bragging about how he had done it, but there was
  237.    no way that the call could be traced to locate him. A few days
  238.    later, I sat there and watched the intruder log on to one
  239.    Stanford comptuer, and I watched every keystroke that he typed on
  240.    his keyboard, and I watched him break in to new directories, but
  241.    there was nothing that I could do to catch him because he was
  242.    coming in over the telephone. Naturally as soon as he started to
  243.    do anything untoward I blasted the account that he was using and
  244.    logged him off, but sooner or later new intruders will come
  245.    along, knowing that they will not be caught because what they are
  246.    doing is not considered serious. It isn't necessarily serious,
  247.    but it could be. I don't want to throw such people in jail,
  248.    and I don't want to let them get away either. I just want to
  249.    catch them and shout at them and tell them that they are being
  250.    antisocial.
  251.  
  252. Brian Reid
  253. DEC Western Research and Stanford University
  254.  
  255. ------------------------------
  256.  
  257. RISKS-LIST: RISKS-FORUM Digest,  Wednesday, 17 Sept 1986  Volume 3 : Issue 58
  258.  
  259. From: davy@ee.ecn.purdue.edu (Dave Curry)
  260. To: risks@csl.sri.com
  261. Cc: reid@decwrl.dec.com
  262. Subject: Massive UNIX breakins
  263. Date: Wed, 17 Sep 86 08:01:03 EST
  264.  
  265. Brian -
  266.  
  267.     I feel for you, I really do.  Breakins can be a real pain in the
  268. neck, aside from being potentially hazardous to your systems.  And, we
  269. too have had trouble convincing the authorities that anything serious
  270. is going on.  (To their credit, they have learned a lot and are much
  271. more responsive now than they were a few years ago.)
  272.  
  273.     I do have a couple of comments though.  Griping about the Berkeley
  274. networking utilities is well and good, and yes, they do have their
  275. problems.  However, I think it really had little to do with the
  276. initial breakins on your system.  It merely compounded an already
  277. exisiting breakin several fold.
  278.  
  279.     Two specific parts of your letter I take exception to:
  280.  
  281.           One of the Stanford campus computers, used primarily as a mail
  282.           gateway between Unix and IBM computers on campus, had a guest
  283.           account with user id "guest" and password "guest". The intruder
  284.           somehow got his hands on this account and guessed the
  285.           password.
  286.  
  287.     Um, to put it mildly, you were asking for it.  "guest" is probably
  288. the second or third login name I'd guess if I were trying to break
  289. in.  It ranks right up there with "user", "sys", "admin", and so on.
  290. And making the password to "guest" be "guest" is like leaving the
  291. front door wide open.  Berkeley networking had nothing to do with your
  292. initial breakin, leaving an obvious account with an even more obvious
  293. password on your system was the cause of that.
  294.  
  295.           There are a number of well-known security holes in early
  296.           releases of Berkeley Unix, many of which are fixed in later
  297.           releases.  Because this computer is used as a mail gateway,
  298.           there was no particular incentive to keep it constantly up to
  299.           date with the latest and greatest system release, so it was
  300.           running an older version of the system.
  301.  
  302.     Once again, you asked for it.  If you don't plug the holes, someone
  303. will come along and use them.  Again Berkeley networking had nothing to
  304. do with your intruder getting root on your system, that was due purely
  305. to neglect.  Granted, once you're a super-user, the Berkeley networking
  306. scheme enables you to invade many, many accounts on many, many machines.
  307.  
  308.     Don't get me wrong.  I'm not trying to criticize for the sake of
  309. being nasty here, but rather I'm emphasizing the need for enforcing
  310. other good security measures:
  311.  
  312.           1. Unless there's a particularly good reason to have one, take
  313.              all "generic" guest accounts off your system.  Why let
  314.              someone log in without identifying himself?
  315.  
  316.           2. NEVER put an obvious password on a "standard" account.
  317.              This includes "guest" on the guest account, "system" on the
  318.              root account, and so on.
  319.  
  320.              Enforcing this among the users is harder, but not
  321.              impossible.  We have in the past checked all the accounts
  322.              on our machines for stupid passwords, and informed everyone
  323.              whose password we found that they should change it.  As a
  324.              measure of how simple easy passwords make things, we
  325.              "cracked" about 400 accounts out of 10,000 in one overnight
  326.              run of the program, trying about 12 passwords per account.
  327.              Think what we could have done with a sophisticated attack.
  328.  
  329.           3. FIX SECURITY HOLES.  Even on "unused" machines.  It's amazing
  330.              how many UNIX sites have holes wide open that were plugged
  331.              years ago.  I even found a site still running with the 4.2
  332.              distributed sendmail a few months ago...
  333.  
  334.           4. Educate your police and other authorities about what's going
  335.              on.  Invite them to come learn about the computer.  Give
  336.              them an account and some documentation.  The first time we
  337.              had a breakin over dialup (1982 or so), it took us three
  338.              days to convince the police department that we needed the
  339.              calls traced.  Now, they understand what's going on, and
  340.              are much quicker to respond to any security violations we
  341.              deem important enough to bring to their attention.  The
  342.              Dean of Students office is now much more interested in
  343.              handling cases of students breaking in to other students'
  344.              accounts; several years ago their reaction was "so what?".
  345.              This is due primarily to our people making an effort to
  346.              educate them, although I'm sure the increased attention
  347.              computer security has received in the media (the 414's, and
  348.              so on) has had an effect too.
  349.  
  350. --Dave Curry
  351. Purdue University
  352. Engineering Computer Network
  353.  
  354. ------------------------------
  355.  
  356. From: reid@decwrl.DEC.COM (Brian Reid)
  357. Date: 17 Sep 1986 0729-PDT (Wednesday)
  358. To: davy@ee.ecn.purdue.edu (Dave Curry)
  359. Cc: risks@csl.sri.com
  360. Subject: Massive UNIX breakins
  361.  
  362. The machine on which the initial breakin occurred was one that I didn't
  363. even know existed, and over which no CS department person had any
  364. control at all. The issue here is that a small leak on some
  365. inconsequential machine in the dark corners of campus was allowed to
  366. spread to other machines because of the networking code. Security is
  367. quite good on CSD and EE machines, because they are run by folks who
  368. understand security. But, as this episode showed, that wasn't quite good
  369. enough.
  370.  
  371. ------------------------------
  372.  
  373. RISKS-LIST: RISKS-FORUM Digest, Saturday, 20 September 1986 Volume 3 : Issue 60
  374.  
  375. Date: Thu, 18 Sep 86 09:12:59 cdt
  376. From: "Scott E. Preece" <preece%ccvaxa@GSWD-VMS.ARPA>
  377. To: RISKS@CSL.SRI.COM
  378. Subject: Re: Massive UNIX breakins at Stanford
  379.  
  380. > From: reid@decwrl.DEC.COM (Brian Reid) The machine on which the initial
  381. > breakin occurred was one that I didn't even know existed, and over
  382. > which no CS department person had any control at all. The issue here is
  383. > that a small leak on some inconsequential machine in the dark corners
  384. > of campus was allowed to spread to other machines because of the
  385. > networking code. Security is quite good on CSD and EE machines, because
  386. > they are run by folks who understand security. But, as this episode
  387. > showed, that wasn't quite good enough.
  388. ----------
  389.  
  390. No you're still blaming the networking code for something it's not supposed
  391. to do.  The fault lies in allowing an uncontrolled machine to have full
  392. access to the network.  The NCSC approach to networking has been just that:
  393. you can't certify networking code as secure, you can only certify a network
  394. of machines AS A SINGLE SYSTEM.  That's pretty much the approach of the
  395. Berkeley code, with some grafted on protections because there are real-world
  396. situations where you have to have some less-controlled machines with
  397. restricted access.  The addition of NFS makes the single-system model even
  398. more necessary.
  399.  
  400. scott preece, gould/csd - urbana, uucp: ihnp4!uiucdcs!ccvaxa!preece
  401.  
  402. ------------------------------
  403.  
  404. RISKS-LIST: RISKS-FORUM Digest,  Monday, 22 September 1986  Volume 3 : Issue 62
  405.  
  406. Date: Mon, 22 Sep 86 11:04:16 EDT
  407. To: RISKS FORUM    (Peter G. Neumann -- Coordinator) <RISKS@CSL.SRI.COM>
  408. Subject: Massive UNIX breakins at Stanford
  409. From: Jerome H. Saltzer <Saltzer@ATHENA.MIT.EDU>
  410.  
  411. In RISKS-3.58, Dave Curry gently chastises Brian Reid:
  412.  
  413. > . . . you asked for it. . . Berkeley networking had nothing to
  414. > do with your intruder getting root on your system, that was due purely
  415. > to neglect.  Granted, once you're a super-user, the Berkeley networking
  416. > scheme enables you to invade many, many accounts on many, many machines.
  417.  
  418. And in RISKS-3.59, Scott Preece picks up the same theme, suggesting that
  419. Stanford failed by not looking at the problem as one of network security,
  420. and, in the light of use of Berkeley software, not enforcing a no-attachment
  421. rule for machines that don't batten down the hatches.
  422.  
  423. These two technically- and policy-based responses might be more tenable if
  424. the problem had occurred at a military base.  But a university is a
  425. different environment, and those differences shed some light on environments
  426. that will soon begin to emerge in typical commercial and networked home
  427. computing settings.  And even on military bases.
  428.  
  429. There are two characteristics of the Stanford situation that
  430. RISK-observers should keep in mind:
  431.  
  432.      1.  Choice of operating system software is made on many factors,
  433. not just the quality of the network security features.  A university
  434. has a lot of reasons for choosing BSD 4.2.  Having made that choice,
  435. the Berkeley network code, complete with its casual approach to
  436. network security, usually follows because the cost of changing it is
  437. high and, as Brian noted, its convenience is also high.
  438.  
  439.      2.  It is the nature of a university to allow individuals to do
  440. their own thing.  So insisting that every machine attached to a
  441. network must run a certifably secure-from-penetration configuration
  442. is counter-strategic.  And on a campus where there may be 2000
  443. privately administered Sun III's, MicroVAX-II's, and PC RT's all
  444. running BSD 4.2, it is so impractical as to be amusing to hear it
  445. proposed.  Even the military sites are going to discover soon that
  446. configuration control achieved by physical control of every network
  447. host is harder than it looks in a world of engineering workstations.
  448.  
  449. Brian's comments are very thoughtful and thought-provoking.  He describes
  450. expected responses of human beings to typical current-day operating system
  451. designs.  The observations he makes can't be dismissed so easily.
  452.  
  453.                                                   Jerry Saltzer
  454.  
  455. ------------------------------
  456.  
  457. Date: Mon, 22 Sep 1986  23:03 EDT
  458. From: Rob Austein <SRA@XX.LCS.MIT.EDU>
  459. To:   RISKS@CSL.SRI.COM
  460. Subject: Massive UNIX breakins at Stanford
  461.  
  462. I have to take issue with Scott Preece's statement that "the fault
  463. lies in allowing an uncontrolled machine to have full access to the
  464. network".  This may be a valid approach on a small isolated network or
  465. in the military, but it fails horribly in the world that the rest of
  466. us have to live in.  For example, take a person (me) who is
  467. (theoreticly) responsible for what passes for security on up to half a
  468. dozen mainframes at MIT (exact number varies).  Does he have any
  469. control over what machines are put onto the network even across the
  470. street on the MIT main campus?  Hollow laugh.  Let alone machines at
  471. Berkeley or (to use our favorite local example) the Banana Junior
  472. 6000s belonging to high school students in Sunnyvale, California.
  473.  
  474. As computer networks come into wider use in the private sector, this
  475. problem will get worse, not better.  I'm waiting to see when AT&T
  476. starts offering a long haul packet switched network as common carrier.
  477.  
  478. Rule of thumb: The net is intrinsicly insecure.  There's just too much
  479. cable out there to police it all.  How much knowledge does it take to
  480. tap into an ethernet?  How much money?  I'd imagine that anybody with
  481. a BS from a good technical school could do it in a week or so for
  482. under $5000 if she set her mind to it.
  483.  
  484. As for NFS... you are arguing my case for me.  The NFS approach to
  485. security seems bankrupt for just this reason.  Same conceptual bug,
  486. NFS simply agravates it by making heavier use of the trusted net
  487. assumption.
  488.  
  489. Elsewhere in this same issue of RISKS there was some discussion about
  490. the dangers of transporting passwords over the net (by somebody other
  491. than Scott, I forget who).  Right.  It's a problem, but it needn't be.
  492. Passwords can be tranmitted via public key encryption or some other
  493. means.  The fact that most passwords are currently transmitted in
  494. plaintext is an implementation problem, not a fundamental design
  495. issue.
  496.  
  497. A final comment and I'll shut up.  With all this talk about security
  498. it is important to keep in mind the adage "if it ain't broken, don't
  499. fix it".  Case in point.  We've been running ITS (which has to be one
  500. of the -least- secure operating systems ever written) for something
  501. like two decades now.  We have surprisingly few problems with breakins
  502. on ITS.  Seems that leaving out all the security code made it a very
  503. boring proposition to break in, so almost nobody bothers (either that
  504. or they are all scared off when they realize that the "command
  505. processor" is an assembly language debugger ... can't imagine why).
  506. Worth thinking about.  The price paid for security may not be obvious.
  507.  
  508. --Rob Austein <SRA@XX.LCS.MIT.EDU>
  509.  
  510. ------------------------------
  511.  
  512. Date: Mon 22 Sep 86 11:07:04-PDT
  513. From: Andy Freeman <ANDY@Sushi.Stanford.EDU>
  514. Subject: Massive UNIX breakins at Stanford
  515. To: RISKS@CSL.SRI.COM, preece%ccvaxa@GSWD-VMS.ARPA
  516.  
  517. Scott E. Preece <preece%ccvaxa@GSWD-VMS.ARPA> writes in RISKS-3.60:
  518.  
  519.     reid@decwrl.DEC.COM (Brian Reid) writes:
  520.           The issue here is that a small leak on some [unknown]
  521.           inconsequential machine in the dark corners of campus was
  522.           allowed to spread to other machines because of the networking code.
  523.  
  524.     No, you're still blaming the networking code for something it's not
  525.     supposed to do.  The fault lies in allowing an uncontrolled machine to
  526.     have full access to the network.  The NCSC approach to networking has
  527.     been just that: you can't certify networking code as secure, you can
  528.     only certify a network of machines AS A SINGLE SYSTEM.  That's pretty
  529.     much the approach of the Berkeley code, with some grafted on
  530.     protections because there are real-world situations where you have to
  531.     have some less-controlled machines with restricted access.  The
  532.     addition of NFS makes the single-system model even more necessary.
  533.  
  534. Then NCSC certification means nothing in many (most?) situations.  A
  535. lot of networks cross adminstrative boundaries.  (The exceptions are
  536. small companies and military installations.)  Even in those that
  537. seemingly don't, phone access is often necessary.
  538.  
  539. Network access should be as secure as phone access.  Exceptions may
  540. choose to disable this protection but many of us won't.  (If Brian
  541. didn't know about the insecure machine, it wouldn't have had a valid
  542. password to access his machine.  He'd also have been able to choose
  543. what kind of access it had.)  The only additional problem that
  544. networks pose is the ability to physically disrupt other's
  545. communication.
  546.  
  547. -andy             [There is some redundancy in these contributions,
  548.                    but each makes some novel points.  It is better
  549.                    for you to read selectively than for me to edit. PGN]
  550.  
  551. ------------------------------
  552.  
  553. Date: 22 Sep 1986 16:24-CST
  554. From: "Scott E. Preece" <preece%mycroft@GSWD-VMS.ARPA>
  555. Subject: Massive UNIX breakins at Stanford (RISKS-3.60)
  556. To: ANDY@SUSHI.STANFORD.EDU, RISKS%CSL.SRI.COM@CSNET-RELAY.ARPA
  557.  
  558.           Andy Freeman writes [in response to my promoting the view
  559.           of a network as a single system]:
  560.  
  561. >       Then NCSC certification means nothing in many (most?) situations.
  562. --------
  563.  
  564. Well, most sites are NOT required to have certified systems (yet?). If they
  565. were, they wouldn't be allowed to have non-complying systems.  The view as a
  566. single system makes the requirements of the security model feasible.  You
  567. can't have anything in the network that isn't part of your trusted computing
  568. base.  This seems to be an essential assumption.  If you can't trust the
  569. code running on another machine on your ethernet, then you can't believe
  570. that it is the machine it says it is, which violates the most basic
  571. principles of the NCSC model. (IMMEDIATE DISCLAIMER: I am not part of the
  572. group working on secure operating systems at Gould; my knowledge of the area
  573. is superficial, but I think it's also correct.)
  574.                    [NOTE: The word "NOT" in the first line of this paragraph
  575.                     was interpolated by PGN as the presumed intended meaning.]
  576.  
  577. --------
  578.         Network access should be as secure as phone access.  Exceptions may
  579.         choose to disable this protection but many of us won't.  (If Brian
  580.         didn't know about the insecure machine, it wouldn't have had a valid
  581.         password to access his machine.  He'd also have been able to choose
  582.         what kind of access it had.)  The only additional problem that
  583.         networks pose is the ability to physically disrupt other's
  584.         communication.
  585. --------
  586.  
  587. Absolutely, network access should be as secure as phone access,
  588. IF YOU CHOOSE TO WORK IN THAT MODE.  Our links to the outside
  589. world are as tightly restricted as our dialins.  The Berkeley
  590. networking software is set up to support a much more integrated
  591. kind of network, where the network is treated as a single system.
  592. For our development environment that is much more effective.
  593. You should never allow that kind of access to a machine you don't
  594. control.  Never.  My interpretation of the original note was that
  595. the author's net contained machines with trusted-host access
  596. which should not have had such access; I contend that that
  597. represents NOT a failing of the software, but a failing of the
  598. administration of the network.
  599.  
  600. scott preece
  601. gould/csd - urbana, uucp:     ihnp4!uiucdcs!ccvaxa!preece
  602.  
  603. ------------------------------
  604.  
  605. RISKS-LIST: RISKS-FORUM Digest Wednesday, 24 September 1986 Volume 3 : Issue 63
  606.  
  607. Date: Tue, 23 Sep 86 09:16:21 cdt
  608. From: "Scott E. Preece" <preece%ccvaxa@GSWD-VMS.ARPA>
  609. To: RISKS@CSL.SRI.COM
  610. Subject: Massive UNIX breakins at Stanford
  611.  
  612.    [This was an addendum to Scott's contribution to RISKS-3.61.  PGN]
  613.  
  614. I went back and reviewed Brian Reid's initial posting and found myself more
  615. in agreement than disagreement.  I agree that the Berkeley approach offers
  616. the unwary added opportunities to shoot themselves in the foot and that
  617. local administrators should be as careful of .rhosts files as they are of
  618. files that are setuid root; they should be purged or justified regularly.
  619.  
  620. I also agree that it should be possible for the system administrator to turn
  621. off the .rhosts capability entirely, which currently can only be done in the
  622. source code and that it would be a good idea to support password checks (as
  623. a configuration option) on rcp and all the other remote services.
  624.  
  625. scott preece, gould/csd - urbana, uucp: ihnp4!uiucdcs!ccvaxa!preece
  626.  
  627. ------------------------------
  628.  
  629. Date: Tue, 23 Sep 86 08:41:29 cdt
  630. From: "Scott E. Preece" <preece%ccvaxa@GSWD-VMS.ARPA>
  631. To: RISKS@CSL.SRI.COM
  632. Subject: Re: Massive UNIX breakins at Stanford
  633.  
  634.   > From: Rob Austein <SRA@XX.LCS.MIT.EDU>
  635.  
  636.   > I have to take issue with Scott Preece's statement that "the fault lies
  637.   > in allowing an uncontrolled machine to have full access to the network"...
  638.  
  639. I stand by what I said, with the important proviso that you notice the word
  640. "full" in the quote.  I took the description in the initial note to mean
  641. that the network granted trusted access to all machines on the net.  The
  642. Berkeley networking code allows the system administrator for each machine to
  643. specify what other hosts on the network are to be treated as trusted and
  644. which are not.  The original posting spoke of people on another machine
  645. masquerading as different users on other machines; that is only possible if
  646. the (untrustworthy) machine is in your hosts.equiv file, so that UIDs are
  647. equivalenced for connections from that machine.  If you allow trusted access
  648. to a machine you don't control, you get what you deserve.
  649.  
  650. Also note that by "the network" I was speaking only of machines intimately
  651. connected by ethernet or other networking using the Berkeley networking
  652. code, not UUCP or telephone connections to which normal login and password
  653. checks apply.
  654.  
  655. The description in the original note STILL sounds to me like failure of
  656. administration rather than failure of the networking code.
  657.  
  658. scott preece
  659.  
  660.     [OK.  Enough on that.  The deeper issue is that most operating
  661.      systems are so deeply flawed that you are ALWAYS at risk.  Some
  662.      tentative reports of Trojan horses discovered in RACF/ACF2 systems
  663.      in Europe are awaiting details and submission to RISKS.  But their
  664.      existence should come as no surprise.  Any use of such a system in
  665.      a hostile environment could be considered a failure of administration.
  666.      But it is also a shortcoming of the system itself...  PGN]
  667.  
  668. ------------------------------
  669.  
  670. RISKS-LIST: RISKS-FORUM Digest Wednesday, 25 September 1986 Volume 3 : Issue 65
  671.  
  672. Date: Mon 22 Sep 86 17:09:27-PDT
  673. From: Andy Freeman <ANDY@SUSHI.STANFORD.EDU>
  674. Subject: UNIX and network security again
  675. To: preece%mycroft@GSWD-VMS.ARPA
  676. cc: RISKS%CSL.SRI.COM@CSNET-RELAY.ARPA
  677.  
  678. preece%mycroft@gswd-vms.ARPA (Scott E. Preece) writes:
  679.  
  680.     If you can't trust the code running on another machine on your
  681.     ethernet, then you can't believe that it is the machine it says it is,
  682.     which violates the most basic principles of the NCSC model.
  683.  
  684. That's why electronic signatures are a good thing.
  685.  
  686.     I wrote (andy@sushi):
  687.     >   Then NCSC certification means nothing in many (most?) situations.
  688.  
  689.     Well, most sites are required to have certified systems (yet?). If
  690.     they were, they wouldn't be allowed to have non-complying systems.
  691.  
  692. The designers of the Ford Pinto were told by the US DOT to use $x as a
  693. cost-benefit tradeoff point for rear end collisions.  Ford was still
  694. liable.  I'd be surprised if NCSC certification protected a company
  695. from liability.  (In other words, being right can be more important
  696. than complying.)
  697.  
  698.        [This case was cited again by Peter Browne (from old Ralph Nader
  699.         materials?), at a Conference on Risk Analysis at NBS 15 September
  700.         1986:  Ford estimated that the Pinto gas tank would take $11 each to
  701.         fix in 400,000 cars, totalling $4.4M.  They estimated 6 people might
  702.         be killed as a result, at $400,000 each (the going rate for lawsuits
  703.         at the time?), totalling $2.4M.  PGN]
  704.  
  705.     Absolutely, network access should be as secure as phone access, IF YOU
  706.     CHOOSE TO WORK IN THAT MODE.  Our links to the outside world are as
  707.     tightly restricted as our dialins.  The Berkeley networking software
  708.     is set up to support a much more integrated kind of network, where the
  709.     network is treated as a single system.  For our development
  710.     environment that is much more effective.  You should never allow that
  711.     kind of access to a machine you don't control.  Never.  My
  712.     interpretation of the original note was that the author's net
  713.     contained machines with trusted-host access which should not have had
  714.     such access; I contend that that represents NOT a failing of the
  715.     software, but a failing of the administration of the network.
  716.  
  717. My interpretation of Brian's original message is that he didn't have a
  718. choice; Berkeley network software trusts hosts on the local net.  If
  719. that's true, then the administrators didn't have a chance to fail; the
  720. software's designers had done it for them.  (I repeated all of Scott's
  721. paragraph because I agree with most of what he had to say.)
  722.  
  723. -andy
  724.  
  725.     [I think the implications are clear.  The network software is weak.
  726.      Administrators are often unaware of the risks.  Not all hosts are
  727.      trustworthy.  The world is full of exciting challenges for attackers.
  728.      All sorts of unrealistic simplifying assumptions are generally made.
  729.      Passwords are typically stored or transmitted in the clear and easily
  730.      readable or obtained -- or else commonly known.  Encryption is still
  731.      vulnerable if the keys can be compromised (flawed key distribution,
  732.      unprotected or subject to bribable couriers) or if the algorithm is
  733.      weak.  There are lots of equally devastating additional vulnerabilities
  734.      waiting to be exercised, particularly in vanilla UNIX systems and
  735.      networks thereof.  Remember all of our previous discussions about not
  736.      trying to put the blame in ONE PLACE.  PGN]
  737.  
  738. ------------------------------
  739.  
  740. RISKS-LIST: RISKS-FORUM Digest Thursday, 25 September 1986  Volume 3 : Issue 66
  741.  
  742. From: reid@decwrl.DEC.COM (Brian Reid)
  743. Date: 25 Sep 1986 0014-PDT (Thursday)
  744. To: risks@sri-csl.ARPA
  745. Reply-To: Reid@sonora.DEC.COM
  746. Subject: Follow-up on Stanford breakins: PLEASE LISTEN THIS TIME!
  747.  
  748.    "What experience and history teach is that people have never learned
  749.     anything from history, or acted upon principles deduced from it."
  750.                     -- Georg Hegel, 1832
  751.  
  752. Since so many of you are throwing insults and sneers in my direction, I feel
  753. that I ought to respond. I am startled by how many of you did not understand
  754. my breakin message at all, and in your haste to condemn me for "asking for
  755. it" you completely misunderstood what I was telling you, and why.
  756.  
  757. I'm going to be a bit wordy here, but I can justify it on two counts. First,
  758. I claim that this topic is absolutely central to the core purpose of RISKS (I
  759. will support that statement in a bit). Second, I would like to take another
  760. crack at making you understand what the problem is. I can't remember the
  761. names, but all of you people from military bases and secure installations who
  762. coughed about how it was a network administration failure are completely
  763. missing the point. This is a "risks of technology" issue, pure and simple.
  764.  
  765. As an aside, I should say that I am not the system manager of any of the
  766. systems that was broken into, and that I do not control the actions of any
  767. of the users of any of the computers. Therefore under no possible explanation
  768. can this be "my fault". My role is that I helped to track the intruders down,
  769. and, more importantly, that I wrote about it.
  770.  
  771. I am guessing that most of you are college graduates. That means that you
  772. once were at a college. Allow me to remind you that people do not need badges
  773. to get into buildings. There are not guards at the door. There are a large
  774. number of public buildings to which doors are not even locked. There is not a
  775. fence around the campus, and there are not guard dogs patrolling the
  776. perimeter.
  777.  
  778. The university is an open, somewhat unregulated place whose purpose is the
  779. creation and exchange of ideas. Freedom is paramount. Not just academic
  780. freedom, but physical freedom. People must be able to walk where they need to
  781. walk, to see what they need to see, to touch what they need to touch.
  782. Obviously some parts of the university need to be protected from some people,
  783. so some of the doors will be locked. But the Stanford campus has 200
  784. buildings on it, and I am free to walk into almost any of them any time that
  785. I want. More to the point, *you* are also free to walk into any of them.
  786.  
  787. Now let us suppose that I am walking by the Linguistics building and I notice
  788. that there is a teenager taking books out of the building and putting them in
  789. his car, and that after I watch for a short while, I conclude that he is not
  790. the owner of the books. I will have no trouble convincing any policeman that
  791. the teenager is committing a crime. More important, if this teenager has had
  792. anything resembling a normal upbringing in our culture, I will have no
  793. trouble convincing the teenager that he is committing a crime. Part of the
  794. training that we receive as citizens in our society is a training in what is
  795. acceptable public behavior and what is not. The books were not locked up, the
  796. doors to the library were not locked, but in general people do not run in and
  797. steal all of the books.
  798.  
  799. Or let me suppose instead that I am a reporter for the Daily News. I have a
  800. desk in a huge room full of desks. Most of the desks are empty because the
  801. other reporters are out on a story. You've seen scenes like this in the
  802. movies. It is rare in small towns to find those newsrooms locked. Here in
  803. Palo Alto I can walk out of my office, walk over to the offices of the Times
  804. Tribune a few blocks away, walk in to the newsroom, and sit down at any of
  805. those desks without being challenged or stopped. There is no guard at the
  806. door, and the door is not locked. There are 50,000 people in my city, and
  807. since I have lived here not one of them has walked into the newsroom and
  808. started destroying or stealing anything, even though it is not protected.
  809. Why not? Because the rules for correct behavior in our society, which are
  810. taught to every child, include the concept of private space, private
  811. property, and things that belong to other people. My 3-year-old daughter
  812. understands perfectly well that she is not to walk into neighbors' houses
  813. without ringing the doorbell first, though she doesn't quite understand why.
  814.  
  815. People's training in correct social behavior is incredibly strong, even
  816. among "criminals". Murderers are not likely to be litterbugs. Just because
  817. somebody has violated one taboo does not mean that he will immediately and
  818. systematically break all of them.
  819.  
  820. In some places, however, society breaks down and force must be used. In the
  821. Washington Square area of New York, for example, near NYU, you must lock
  822. everything or it will be stolen.  At Guantanamo you must have guards or the
  823. Cubans will come take things. But in Palo Alto, and in Kansas and in Nebraska
  824. and Wisconsin and rural Delaware and in thousands of other places, you do not
  825. need to have guards and things do not get stolen.
  826.  
  827. I'm not sure what people on military bases use computer networks for, but
  828. here in the research world we use computer networks as the building blocks of
  829. electronic communities, as the hallways of the electronic workplace. Many of
  830. us spend our time building network communities, and many of us spend our time
  831. developing the technology that we and others will use to build network
  832. communities. We are exploring, building, studying, and teaching in an
  833. electronic world. And naturally each of us builds an electronic community
  834. that mirrors the ordinary community that we live in. Networks in the Pentagon
  835. are built by people who are accustomed to seeing soldiers with guns standing
  836. in the hallway. Networks at Stanford are built by people who don't get out of
  837. bed until 6 in the evening and who ride unicycles in the hallways.
  838.  
  839. Every now and then we get an intruder in our electronic world, and it
  840. surprises us because the intruder does not share our sense of societal
  841. responsibilities. Perhaps if Stanford were a military base we would simply
  842. shoot the intruder and be done with it, but that is not our way of doing
  843. things. We have two problems. One is immediate--how to stop him, and how
  844. to stop people like him. Another is very long-term: how to make him and his
  845. society understand that this is aberrant behavior.
  846.  
  847. The result of all of this is that we cannot, with 1986 technology, build
  848. computer networks that are as free and open as our buildings, and therefore
  849. we cannot build the kind of electronic community that we would like.
  850.  
  851. I promised you that I would justify what this all has to do with RISKS.
  852.  
  853. We are developing technologies, and other people are using those
  854. technologies. Sometimes other people misuse them. Misuse of technology is one
  855. of the primary risks of that technology to society. When you are engineering
  856. something that will be used by the public, it is not good enough for you to
  857. engineer it so that if it is used properly it will not hurt anybody. You must
  858. also engineer it so that if it is used *improperly* it will not hurt anybody.
  859. I want to avoid arguments of just where the technologist's responsibility
  860. ends and the consumer's responsibility begins, but I want to convince you,
  861. even if you don't believe in the consumer protection movement, that there is
  862. a nonzero technologist's responsibility.
  863.  
  864. Let us suppose, for example, that you discovered a new way to make
  865. screwdrivers, by making the handles out of plastic explosives, so that the
  866. screwdriver would work much better under some circumstances. In fact, these
  867. screwdrivers with the gelignite handles are so much better at putting in
  868. screws than any other screwdriver ever invented, that people buy them in
  869. droves. They have only one bug: if you ever forget that the handle is
  870. gelignite, and use the screwdriver to hit something with, it will explode and
  871. blow your hand off. You, the inventor of the screwdriver, moan each time you
  872. read a newspaper article about loss of limb, complaining that people
  873. shouldn't *do* that with your screwdrivers.
  874.  
  875. Now suppose that you have invented a great new way to make computer networks,
  876. and that it is significantly more convenient than any other way of making
  877. computer networks. In fact, these networks are so fast and so convenient that
  878. everybody is buying them. They have only one bug: if you ever use the network
  879. to connect to an untrusted computer, and then if you also forget to delete
  880. the permissions after you have done this, then people will break into your
  881. computer and delete all of your files. When people complain about this, you
  882. say "don't connect to untrusted computers" or "remember to delete the files"
  883. or "fire anyone who does that".
  884.  
  885. Dammit, it doesn't work that way. The world is full of people who care only
  886. about expediency, about getting their screws driven or their nets worked. In
  887. the heat of the moment, they are not going to remember the caveats. People
  888. never do. If the only computers were on military bases, you could forbid
  889. the practice and punish the offenders. But only about 0.1% of the computers
  890. are on military bases, so we need some solutions for the rest of us.
  891.  
  892. Consider this scenario (a true story). Some guy in the Petroleum Engineering
  893. department buys a computer, gets a BSD license for it, and hires a Computer
  894. Science major to do some systems programming for him. The CS major hasn't
  895. taken the networks course yet and doesn't know the risks of breakins. The
  896. petroleum engineer doesn't know a network from a rubber chicken, and in
  897. desperation tells the CS student that he can do whatever he wants as long as
  898. the plots are done by Friday afternoon. The CS student needs to do some
  899. homework, and it is much more convenient for him to do his homework on the
  900. petroleum computer, so he does his homework there. Then he needs to copy it
  901. to the CS department computer, so he puts a permission file in his account on
  902. the CSD computer that will let him copy his homework from the petroleum
  903. engineering computer to the CSD computer. Now the CS student graduates and
  904. gets a job as a systems programmer for the Robotics department, and his
  905. systems programmer's account has lots of permissions. He has long since
  906. forgotten about the permissions file that he set up to move his homework last
  907. March. Meanwhile, somebody breaks into the petroleum engineering computer,
  908. because its owner is more interested in petroleum than in computers and
  909. doesn't really care what the guest password is. The somebody follows the
  910. permission links and breaks into the robotics computer and deletes things.
  911.  
  912. Whose fault is this? Who is to blame? Who caused this breakin? Was it the
  913. network administrator, who "permitted" the creation of .rhosts files? Was it
  914. the person who, in a fit of expedience, created /usr/local/bin with 0776
  915. protection? Was it the idiot at UCB who released 4.2BSD with /usr/spool/at
  916. having protection 0777? Was it the owner of the petroleum engineering
  917. computer? Was it the mother of the kid who did the breaking in, for failing
  918. to teach him to respect electronic private property? I'm not sure whose fault
  919. it is, but I know three things:
  920.  
  921.  1) It isn't my fault (I wasn't there). It isn't the student's fault (he
  922.     didn't know any better--what can you expect for $5.75/hour). It isn't the
  923.     petroleum engineer's fault (NSF only gave him 65% of the grant money he
  924.     asked for and he couldn't afford a full-time programmer). Maybe you could
  925.     argue that it is the fault of the administrator of the CSD machine, but in
  926.     fact there was no administrator of the CSD machine because he had quit to
  927.     form a startup company. In fact, it is nobody's fault.
  928.  
  929.  2) No solution involving authority, management, or administration will work
  930.     in a network that crosses organization boundaries.
  931.  
  932.  3) If people keep designing technologies that are both convenient and
  933.     dangerous, and if they keep selling them to nonspecialists, then
  934.     expedience will always win out over caution. Convenience always wins,
  935.     except where it is specifically outlawed by authority. To me, this is
  936.     one of the primary RISKs of any technology. What's special about
  937.     computers is that the general public does not understand them well
  938.     enough to evaluate the risks for itself.
  939.  
  940. ------------------------------
  941.  
  942. End of RISKS-FORUM Digest
  943. ************************
  944. -------
  945.  ---(127)---
  946.  
  947.  
  948.