|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: D T
Length: 70299 (0x1129b) Types: TextFile Names: »D.Klein.Foiling.the.Cracker.ps«
└─⟦4f9d7c866⟧ Bits:30007245 EUUGD6: Sikkerheds distributionen └─⟦this⟧ »./papers/Password_Security/D.Klein.Foiling.the.Cracker.ps«
%!PS-Adobe-2.1 %%Creator: groff version 0.5 %%DocumentFonts: TSymbol Troff Symbol-Slanted Times-Roman Times-Italic %%+ Times-Bold %%DocumentSuppliedFonts: TSymbol Troff Symbol-Slanted %%DocumentNeededFonts: Times-Roman Times-Italic Times-Bold %%Pages: 10 %%EndComments /grops 100 dict def grops begin % If you add definitions here, be sure to check that MAX_PROLOGUE_DEFS % in ps.c is large enough. % The ASCII code of the space character. /SC 32 def /A /show load def /B { 0 SC 3 -1 roll widthshow } bind def /C { 0 exch ashow } bind def /D { 0 exch 0 SC 5 2 roll awidthshow } bind def /E { 0 rmoveto show } bind def /F { 0 rmoveto 0 SC 3 -1 roll widthshow } bind def /G { 0 rmoveto 0 exch ashow } bind def /H { 0 rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /I { 0 exch rmoveto show } bind def /J { 0 exch rmoveto 0 SC 3 -1 roll widthshow } bind def /K { 0 exch rmoveto 0 exch ashow } bind def /L { 0 exch rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /M { rmoveto show } bind def /N { rmoveto 0 SC 3 -1 roll widthshow } bind def /O { rmoveto 0 exch ashow } bind def /P { rmoveto 0 exch 0 SC 5 2 roll awidthshow } bind def /Q { moveto show } bind def /R { moveto 0 SC 3 -1 roll widthshow } bind def /S { moveto 0 exch ashow } bind def /T { moveto 0 exch 0 SC 5 2 roll awidthshow } bind def % name size font SF - /SF { findfont exch [ exch dup 0 exch 0 exch neg 0 0 ] makefont dup setfont [ exch /setfont load ] cvx def } bind def % name a c d font MF /MF { findfont [ 5 2 roll 0 3 1 roll % b neg 0 0 ] makefont dup setfont [ exch /setfont load ] cvx def } bind def % BP - /BP { /level0 save def 1 setlinecap 1 setlinejoin 72 RES div dup scale LS { 90 rotate } { 0 PL translate } ifelse 1 -1 scale } bind def /EP { level0 restore showpage } bind def % centerx centery radius startangle endangle DA - /DA { newpath arcn stroke } bind def % endx endy startx starty DL - % we round the endpoints of the line, so that parallel horizontal % and vertical lines will appear even /DL { transform round exch round exch itransform moveto transform round exch round exch itransform lineto stroke } bind def % centerx centery radius DC - /DC { newpath 0 360 arc closepath } bind def /TM matrix def % width height centerx centery DE - /DE { TM currentmatrix pop translate scale newpath 0 0 .5 0 360 arc closepath TM setmatrix } bind def % these are for splines /RC /rcurveto load def /RL /rlineto load def /ST /stroke load def /MT /moveto load def /CL /closepath load def % fill the last path % amount FL - /FL { currentgray exch setgray fill setgray } bind def % fill with the ``current color'' /BL /fill load def /LW /setlinewidth load def % new_font_name encoding_vector old_font_name RE - /RE { findfont dup maxlength dict begin { 1 index /FID ne { def } { pop pop } ifelse } forall /Encoding exch def dup /FontName exch def currentdict end definefont pop } bind def /BUF 255 string def % hpos vpos EXEC - % this reads the next line and executes it in a safe environment /EXEC { moveto currentfile BUF readline { DEFS begin cvx stopped { handleerror } if end } if } bind def % llx lly newwid wid newht ht newllx newlly - /PICTURE { translate div 3 1 roll div exch scale neg exch neg exch translate % set the graphics state to default values 0 setgray 0 setlinecap 1 setlinewidth 0 setlinejoin 10 setmiterlimit [] 0 setdash newpath } bind def /DEFS 1 dict def DEFS begin/u{.001 mul}bind def end end %%EndProlog %%BeginSetup grops begin/#copies 1 def/RES 72 def/PL 841.89 def/LS false def %%IncludeFont: Times-Roman %%IncludeFont: Times-Italic %%IncludeFont: Times-Bold %%BeginFont: TSymbol /Symbol findfont dup length 1 add dict /newdict exch def { 1 index /FID ne { newdict 3 1 roll put } { pop pop } ifelse } forall 7 dict begin /radicalex [-69 541] def /parenlefttp 490 def /parenleftbt 490 def /parenleftex 490 def /parenrighttp 490 def /parenrightbt 490 def /parenrightex 490 def newdict /Metrics currentdict put end /TSymbol newdict definefont pop %%EndFont %%BeginFont: Troff % Troff.ps % a little font with some special Troff characters /Troff 12 dict dup begin /StrokeWidth 45 def /StrokeWidth2 StrokeWidth 2 div def %/UniqueID 1729 def /FontType 3 def /FontMatrix [ .001 0 0 .001 0 0 ] def /FontName /Troff def /FontInfo 1 dict dup begin /Notice (Copyright (c) 1989 Free Software Foundation, Inc) def end def /FontBBox [ StrokeWidth2 neg StrokeWidth2 neg 250 sub StrokeWidth2 600 add StrokeWidth2 750 add ] def /CharStrings 7 dict dup begin /sq [ 600 0 50 StrokeWidth2 sub StrokeWidth2 neg StrokeWidth2 500 add dup { 50 0 moveto 500 0 rlineto 0 500 rlineto -500 0 rlineto closepath stroke } bind ] def /ru [ 500 0 StrokeWidth2 neg dup StrokeWidth2 500 add StrokeWidth2 { 0 0 moveto 500 0 rlineto stroke } bind ] def /rn [ 500 0 StrokeWidth2 neg dup 750 add StrokeWidth2 500 add StrokeWidth2 750 add { 0 750 moveto 500 0 rlineto stroke } bind ] def /ul [ 500 0 StrokeWidth2 neg dup 250 sub StrokeWidth2 500 add StrokeWidth2 250 sub { 0 -250 moveto 500 0 rlineto stroke } bind ] def /br [ 0 0 StrokeWidth2 neg dup 250 sub StrokeWidth2 2 div dup 750 add { 0 -250 moveto 0 1000 rlineto stroke } bind ] def /space [ 250 0 0 0 0 0 { } ] def /.notdef space def end def /Encoding 256 array def 0 1 255 { Encoding exch /.notdef put } for Encoding dup 8#040 /space put dup 8#163 /sq put dup 8#162 /ru put dup 8#156 /rn put dup 8#142 /br put dup 8#165 /ul put pop /BuildChar { exch begin Encoding exch get CharStrings exch get dup 0 6 getinterval aload pop setcachedevice StrokeWidth setlinewidth 1 setlinecap 6 get exec end } bind def end definefont pop %%EndFont %%BeginFont: Symbol-Slanted % newfontname matrix oldfontname MakeTransformedFont /MakeTransformedFont { findfont dup maxlength dict begin { exch dup dup /FID ne exch /UniqueID ne and { exch def } { pop pop } ifelse } forall % first copy FontBBox /FontBBox % FontBBox sometimes seems to have the executable % attribute set % so to get the array on the stack, we have to do this currentdict /FontBBox get 4 array copy def % now transform it FontBBox aload pop 4 index transform 4 2 roll 4 index transform 4 2 roll FontBBox astore pop % matrix % now transform FontMatrix FontMatrix exch matrix concatmatrix /FontMatrix exch def dup /FontName exch def currentdict end definefont pop } bind def /Symbol-Slanted [.89 0.0 15.5 dup sin exch cos div .89 0.0 0.0] /Symbol MakeTransformedFont %%EndFont /ENC0[/asciicircum/asciitilde/Scaron/Zcaron/scaron/zcaron/Ydieresis/trademark /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/.notdef /.notdef/.notdef/.notdef/.notdef/.notdef/.notdef/space/exclam/quotedbl /numbersign/dollar/percent/ampersand/quoteright/parenleft/parenright/asterisk /plus/comma/hyphen/period/slash/zero/one/two/three/four/five/six/seven/eight /nine/colon/semicolon/less/equal/greater/question/at/A/B/C/D/E/F/G/H/I/J/K/L/M /N/O/P/Q/R/S/T/U/V/W/X/Y/Z/bracketleft/backslash/bracketright/circumflex /underscore/quoteleft/a/b/c/d/e/f/g/h/i/j/k/l/m/n/o/p/q/r/s/t/u/v/w/x/y/z /braceleft/bar/braceright/tilde/.notdef/quotesinglbase/guillemotleft /guillemotright/bullet/florin/fraction/perthousand/dagger/daggerdbl/endash /emdash/ff/fi/fl/ffi/ffl/dotlessi/dotlessj/grave/hungarumlaut/dotaccent/breve /caron/ring/ogonek/quotedblleft/quotedblright/oe/lslash/quotedblbase/OE/Lslash /.notdef/exclamdown/cent/sterling/currency/yen/brokenbar/section/dieresis /copyright/ordfeminine/guilsinglleft/logicalnot/minus/registered/macron/degree /plusminus/twosuperior/threesuperior/acute/mu/paragraph/periodcentered/cedilla /onesuperior/ordmasculine/guilsinglright/onequarter/onehalf/threequarters /questiondown/Agrave/Aacute/Acircumflex/Atilde/Adieresis/Aring/AE/Ccedilla /Egrave/Eacute/Ecircumflex/Edieresis/Igrave/Iacute/Icircumflex/Idieresis/Eth /Ntilde/Ograve/Oacute/Ocircumflex/Otilde/Odieresis/multiply/Oslash/Ugrave /Uacute/Ucircumflex/Udieresis/Yacute/Thorn/germandbls/agrave/aacute/acircumflex /atilde/adieresis/aring/ae/ccedilla/egrave/eacute/ecircumflex/edieresis/igrave /iacute/icircumflex/idieresis/eth/ntilde/ograve/oacute/ocircumflex/otilde /odieresis/divide/oslash/ugrave/uacute/ucircumflex/udieresis/yacute/thorn /ydieresis]def/Times-Roman@0 ENC0/Times-Roman RE/Times-Italic@0 ENC0 /Times-Italic RE/Times-Bold@0 ENC0/Times-Bold RE %%EndSetup %%Page: 1 1 BP/F0 12/Times-Bold@0 SF -.888(``)228.462 123 S(Foiling the Cracker).888 E -.888('').216 G(:).888 E 3(AS)146.786 138 S(urvey of, and Impr)165.122 138 Q (ovements to, Password Security)-.216 E/F1 10/Times-Bold@0 SF<87>424.214 132 Q /F2 10/Times-Italic@0 SF(Daniel V)257.395 162 Q 2.5(.K)-1.29 G(lein)303.605 162 Q/F3 10/Times-Roman@0 SF(Software Engineering Institute)226.62 180 Q (Carnegie Mellon University)231.895 192 Q(Pittsbur)244.1 204 Q(gh, P)-.18 E 5 (A1)-.92 G(5217)311.9 204 Q(dvk@sei.cmu.edu)252.01 216 Q(+1 412 268 7791)253.93 228 Q F2(ABSTRACT)264.385 264 Q F3 -.4(Wi)133 288 S .966(th the rapid bur).4 F .965(geoning of national and international networks, the question of)-.18 F .353(system security has become one of growing importance.)108 300 R .353 (High speed inter)5.353 F .353(-machine com-)-.2 F .006(munication and even hi\ gher speed computational processors have made the threats of sys-)108 312 R 1.381(tem `)108 324 R(`crackers,')-.74 E 3.881('d)-.74 G 1.381 (ata theft, data corruption very real.)183.412 324 R 1.382 (This paper outlines some of the)6.382 F 1.595(problems of current password se\ curity by demonstrating the ease by which individual)108 336 R 1.094 (accounts may be broken.)108 348 R -1.11(Va)6.094 G 1.094 (rious techniques used by crackers are outlined, and \214nally)1.11 F 1.003 (one solution to this point of system vulnerability)108 360 R 3.502(,ap)-.65 G 1.002(roactive password checker)327.492 360 R 3.502(,i)-.4 G 3.502(sp)443.948 360 S(ro-)456.34 360 Q(posed.)108 372 Q F1 2.5(1. Intr)72 408 R(oduction)-.18 E F3 .811(The security of accounts and passwords has always been a concern for t\ he developers and users of Unix.)72 423.6 R 2.577(When Unix was younger)72 435.6 R 5.077(,t)-.4 G 2.576 (he password encryption algorithm was a simulation of the M-209 cipher)189.388 435.6 R .245(machine used by the U.S. Army during W)72 447.6 R .245(orld W)-.8 F .245(ar II)-.8 F 2.745([Morris1979]. This)2.5 F .246 (was a fair encryption mechanism)2.746 F .441(in that it was dif)72 459.6 R .441(\214cult to invert under the proper circumstances, but suf)-.18 F .44 (fered in that it was too fast an algo-)-.18 F 4.326(rithm. On)72 471.6 R 4.326 (aP)4.326 G(DP-1)133.868 471.6 Q 1.827(1/70, each encryption took approximatel\ y 1.25ms, so that it was possible to check)-.37 F .467 (roughly 800 passwords/second.)72 483.6 R .466 (Armed with a dictionary of 250,000 words, a cracker could compare their)5.467 F .433(encryptions with those all stored in the password \214le in a little mo\ re than \214ve minutes.)72 495.6 R(Clearly)5.433 E 2.934(,t)-.65 G .434 (his was a)466.472 495.6 R(security hole worth \214lling.)72 507.6 Q .584 (In later \(post-1976\) versions of Unix, the DES algorithm)72 523.2 R .583 ([DES1975] was used to encrypt passwords.)2.5 F(The)5.583 E -2.13(user ')72 535.2 R 3.031(sp)-.55 G .531(assword is used as the DES key)103.731 535.2 R 3.031(,a)-.65 G .532(nd the algorithm is used to encrypt a constant.)242.888 535.2 R .532(The algorithm is)5.532 F 1.244 (iterated 25 times, with the result being an 1)72 547.2 R 3.744(1c)-.37 G 1.244 (haracter string plus a 2-character `)267.808 547.2 R(`salt.')-.74 E 6.244('T) -.74 G 1.244(his method is)448.172 547.2 R .314(similarly dif)72 559.2 R .315(\ \214cult to decrypt \(further complicated through the introduction of one of 4\ 096 possible salt val-)-.18 F 1.489 (ues\) and had the added advantage of being slow)72 571.2 R 6.488(.O)-.65 G 3.988(na)291.086 571.2 S/F4 10/Symbol-Slanted SF(m)A F3 -1.29(VA)C 1.488 (X-II \(a machine substantially faster than a)1.29 F(PDP-1)72 583.2 Q .553(1/7\ 0\), a single encryption takes on the order of 280ms, so that a determined cra\ cker can only check)-.37 F .345(approximately 3.6 encryptions a second.)72 595.2 R .345(Checking this same dictionary of 250,000 words would now take) 5.345 F .254(over 19)72 607.2 R F2(hours)2.754 E F3 .254(of CPU time.)2.754 F .255(Although this is still not very much time to break a single account, ther\ e is no)5.255 F .054 (guarantee that this account will use one of these words as a password.)72 619.2 R .053(Checking the passwords on a system)5.053 F .236 (with 50 accounts would take on average 40 CPU)72 631.2 R F2(days)2.736 E F3 .237(\(since the random selection of salt values practically)2.737 F .398 (guarantees that each user)72 643.2 R 1.498 -.55('s p).37 H .398 (assword will be encrypted with a dif).55 F .397 (ferent salt\), with no guarantee of success.)-.18 F .486(If this new)72 655.2 R 2.986(,s)-.65 G .487(low algorithm was combined with the user education need\ ed to prevent the selection of obvi-)124.468 655.2 R (ous passwords, the problem seemed solved.)72 667.2 Q(Regrettably)72 682.8 Q 3.141(,t)-.65 G .641(wo recent developments and the recurrence of an old one h\ ave brought the problem of pass-)126.431 682.8 R (word security back to the fore.)72 694.8 Q/F5 8/Troff SF(rrrrrrrrrrrrrrrrrr)72 704.8 Q/F6 8/Times-Roman@0 SF 4<8754>82 716.6 S (his work was sponsored in part by the U.S. Department of Defense.)94.888 716.6 Q EP %%Page: 2 2 BP/F0 10/Times-Roman@0 SF 2.5(-2-)279.67 48 S 14.17(1\) CPU)97 84 R 1.318(spee\ ds have gotten increasingly faster since 1976, so much so that processors that\ are)3.817 F 1.265(25-40 times faster than the PDP-1)122 96 R 1.264 (1/70 \(e.g., the DECstation 3100 used in this research\) are)-.37 F .191 (readily available as desktop workstations.)122 108 R -.4(Wi)5.191 G .191 (th inter).4 F .191(-networking, many sites have hundreds of)-.2 F .831 (the individual workstations connected together)122 120 R 3.331(,a)-.4 G .831 (nd enterprising crackers are discovering that)322.395 120 R .116(the `)122 132 R .116(`divide and conquer)-.74 F 1.596 -.74('' a).37 H .116 (lgorithm can be extended to multiple processors, especially at night).74 F .052(when those processors are not otherwise being used.)122 144 R .051 (Literally thousands of times the computa-)5.051 F (tional power of 10 years ago can be used to break passwords.)122 156 Q 14.17 (2\) New)97 171.6 R .585(implementations of the DES encryption algorithm have \ been developed, so that the time)3.084 F .303(it takes to encrypt a password a\ nd compare the encryption against the value stored in the pass-)122 183.6 R .867(word \214le has dropped below the 1ms mark)122 195.6 R -.834 ([Bishop1988, Feldmeier1989].)2.5 F .868(On a single work-)5.868 F .563(statio\ n, the dictionary of 250,000 words can once again be cracked in under \214ve m\ inutes.)122 207.6 R(By)5.563 E 2.322(dividing the work across multiple worksta\ tions, the time required to encrypt these words)122 219.6 R 1.044 (against all 4096 salt values could be no more than an hour or so.)122 231.6 R -.4(Wi)6.043 G 1.043(th a recently described).4 F .049(hardware implementation\ of the DES algorithm, the time for each encryption can be reduced to)122 243.6 R .961(approximately 6)122 255.6 R/F1 10/Symbol-Slanted SF(m)3.461 E F0 2.5(s[) C 3.461(Leong1991]. This)206.542 255.6 R .961 (means that this same dictionary can be be cracked in)3.461 F (only 1.5 seconds.)122 267.6 Q 14.17(3\) Users)97 283.2 R .497(are rarely)2.997 F 2.997(,i)-.65 G 2.997(fe)193.921 283.2 S(ver)204.688 283.2 Q 2.997(,e)-.4 G .497(ducated as to what are wise choices for passwords.)226.995 283.2 R .497 (If a password is)5.497 F .067(in a dictionary)122 295.2 R 2.567(,i)-.65 G 2.567(ti)187.101 295.2 S 2.566(se)195.228 295.2 S .066 (xtremely vulnerable to being cracked, and users are simply not coached as) 206.124 295.2 R .459(to `)122 307.2 R(`safe')-.74 E 2.959('c)-.74 G .459 (hoices for passwords.)168.078 307.2 R .459 (Of those users who are so educated, many think that simply)5.459 F .272 (because their password is not in)122 319.2 R/F2 10/Times-Italic@0 SF (/usr/dict/wor)2.771 E(ds)-.37 E F0 2.771(,i)C 2.771(ti)321.862 319.2 S 2.771 (ss)330.193 319.2 S .271(afe from detection.)340.744 319.2 R .271 (Many users also say)5.271 F .112(that because they do not have any private \ \214les on-line, they are not concerned with the security)122 331.2 R .388(of \ their account, little realizing that by providing an entry point to the system\ they allow dam-)122 343.2 R (age to be wrought on their entire system by a malicious cracker)122 355.2 Q(.) -.55 E .189(Because the entirety of the password \214le is readable by all use\ rs, the encrypted passwords are vulnerable to)72 370.8 R .258 (cracking, both on-site and of)72 382.8 R 2.758(f-site. Many)-.18 F .257 (sites have responded to this threat with a reactive solution \255 they)2.758 F .205(scan their own password \214les and advise those users whose passwords th\ ey are able to crack.)72 394.8 R .205(The problem)5.205 F .432 (with this solution is that while the local site is testing its security)72 406.8 R 2.931(,t)-.65 G .431(he password \214le is still vulnerable from) 343.094 406.8 R .33(the outside.)72 418.8 R .33(The other problems, of course,\ are that the testing is very time consuming and only reports on)5.33 F .182 (those passwords it is able to crack.)72 430.8 R .181 (It does nothing to address user passwords which fall outside of the spe-)5.182 F .244(ci\214c test cases \(e.g., it is possible for a user to use as a passwo\ rd the letters `)72 442.8 R(`qwerty')-.74 E 2.745('\255i)-.74 G 2.745(ft)430.73 442.8 S .245(his combination)439.585 442.8 R .523 (is not in the in-house test dictionary)72 454.8 R 3.023(,i)-.65 G 3.023(tw) 226.121 454.8 S .523 (ill not be detected, but there is nothing to stop an outside cracker)239.144 454.8 R(from having a more sophisticated dictionary!\).)72 466.8 Q(Clearly)72 482.4 Q 3.293(,o)-.65 G .794(ne solution to this is to either make)111.583 482.4 R F2(/etc/passwd)3.294 E F0 .794 (unreadable, or to make the encrypted password)3.294 F .973 (portion of the \214le unreadable.)72 494.4 R .972 (Splitting the \214le into two pieces \255 a readable)5.972 F F2(/etc/passwd) 3.472 E F0 .972(with all but the)3.472 F .024 (encrypted password present, and a `)72 506.4 R .024(`shadow password')-.74 F 2.524<278c>-.74 G .024(le that is only readable by)302.848 506.4 R/F3 10 /Times-Bold@0 SF -.18(ro)2.524 G(ot).18 E F0 .025(is the solution pro-)2.524 F .263(posed by Sun Microsystems \(and others\) that appears to be gaining popul\ arity)72 518.4 R 5.263(.I)-.65 G 2.763(ts)397.248 518.4 S .263(eems, however) 406.681 518.4 R 2.763(,t)-.4 G .263(hat this)474.567 518.4 R .399(solution wil\ l not reach the majority of non-Sun systems for quite a while, nor even, in fa\ ct, many Sun sys-)72 530.4 R (tems, due to many sites' reluctance to install new releases of software.)72 542.4 Q/F4 7/Times-Roman@0 SF<87>-3.5 I F0 .932 (What I propose, therefore, is a publicly available)72 558 R F2(pr)3.432 E (oactive)-.37 E F0 .932(password checker)3.432 F 3.432(,w)-.4 G .932 (hich will enable users to)403.062 558 R .407 (change their passwords, and to check)72 570 R F2 2.908(ap)2.907 G(riori)238.7 570 Q F0 .408(whether the new password is `)2.908 F(`safe.')-.74 E 5.408('T) -.74 G .408(he criteria for safety)421.976 570 R .607 (should be tunable on a per)72 582 R .607 (-site basis, depending on the degree of security desired.)-.2 F .607 (For example, it should)5.607 F .039(be possible to specify a minimum length p\ assword, a restriction that only lower case letters are not allowed,)72 594 R .022(that a password that looks like a license plate be illegal, and so on.)72 606 R .021(Because this proactive checker will deal)5.021 F 1.175(with the pre\ -encrypted passwords, it will be able to perform more sophisticated pattern ma\ tching on the)72 618 R 2.053(password, and will be able to test the safety wit\ hout having to go through the ef)72 630 R 2.053(fort of cracking the)-.18 F .183(encrypted version.)72 642 R .183 (Because the checking will be done automatically)5.183 F 2.683(,t)-.65 G .184 (he process of education can be trans-)355.167 642 R (ferred to the machine, which will instruct the user)72 654 Q F2(why)2.5 E F0 2.5(ap)2.5 G(articular choice of password is bad.)304.18 654 Q/F5 8/Troff SF (rrrrrrrrrrrrrrrrrr)72 676.2 Q/F6 8/Times-Roman@0 SF 4<8754>82 688 S .037 (he problem of lack of password security is not just endemic to Unix.)94.888 688 R 2.036(Ar)4.036 G .036(ecent V)328.704 688 R .036 (ax/VMS worm had great success by)-.888 F .039 (simply trying the username as the password.)72 698 R .04(Even though the VMS \ user authorization \214le is inaccessible to ordinary users,)4.039 F (the cracker simply tried a number of `)72 708 Q(`obvious')-.592 E 2('p)-.592 G (assword choices \255 and easily gained access.)231.224 708 Q EP %%Page: 3 3 BP/F0 10/Times-Roman@0 SF 2.5(-3-)279.67 48 S/F1 10/Times-Bold@0 SF 2.5 (2. Password)72 84 R -.92(Vu)2.5 G(lnerability).92 E F0 .17(It has long been k\ nown that all a cracker need do to acquire access to a Unix machine is to foll\ ow two sim-)72 99.6 R(ple steps, namely:)72 111.6 Q 14.17(1\) Acquire)97 127.2 R 3.915(ac)3.915 G 1.415(opy of that site')170.92 127.2 R(s)-.55 E/F2 10 /Times-Italic@0 SF(/etc/passwd)3.916 E F0 1.416 (\214le, either through an unprotected)3.916 F F2(uucp)3.916 E F0 1.416 (link, well)3.916 F(known holes in)122 139.2 Q F2(sendmail)2.5 E F0 2.5(,o)C 2.5(rv)231.72 139.2 S(ia)242.55 139.2 Q F2(ftp)2.5 E F0(or)2.5 E F2(tftp)2.5 E F0(.)A 14.17(2\) Apply)97 154.8 R .266(the standard \(or a sped-up\) version o\ f the password encryption algorithm to a collection)2.767 F 1.403 (of words, typically)122 166.8 R F2(/usr/dict/wor)3.903 E(ds)-.37 E F0 1.403 (plus some permutations on account and user names, and)3.903 F (compare the encrypted results to those found in the purloined)122 178.8 Q F2 (/etc/passwd)2.5 E F0(\214le.)2.5 E .754(If a match is found \(and often at le\ ast one will be found\), the cracker has access to the tar)72 194.4 R .753 (geted machine.)-.18 F(Certainly)72 206.4 Q 2.915(,t)-.65 G .415 (his mode of attack has been known for some time)116.765 206.4 R([Spaf)2.5 E .416(ford1988], and the defenses against this)-.18 F .023 (attack have also long been known.)72 218.4 R .023 (What is lacking from the literature is an accounting of just how vulnera-) 5.023 F .992(ble sites are to this mode of attack.)72 230.4 R .992 (In short, many people know that there is a problem, but few people)5.992 F (believe it applies to them.)72 242.4 Q -.74(``)72 258 S .002(There is a \214n\ e line between helping administrators protect their systems and providing a co\ okbook for bad).74 F(guys.')72 270 Q 2.5('[)-.74 G .281(Grampp1984] The proble\ m here, therefore, is how to divulge useful information on the vulnerabil-) 105.14 270 R 1.016(ity of systems, without providing too much information, sin\ ce almost certainly this information could be)72 282 R .059 (used by a cracker to break into some as-yet unviolated system.)72 294 R .06 (Most of the work that I did was of a general)5.06 F .36(nature \255 I did not\ focus on a particular user or a particular system, and I did not use any pers\ onal informa-)72 306 R .038 (tion that might be at the disposal of a dedicated `)72 318 R .038(`bad guy) -.74 F(.')-.65 E 5.038('T)-.74 G .038 (hus any results which I have been able to gar)320.846 318 R(-)-.2 E .704(ner \ indicate only general trends in password usage, and cannot be used to great ad\ vantage when breaking)72 330 R .445(into a particular system.)72 342 R .446(Th\ is generality notwithstanding, I am sure that any self-respecting cracker woul\ d)5.445 F .291(already have these techniques at their disposal, and so I am no\ t bringing to light any great secret.)72 354 R(Rather)5.291 E 2.791(,I)-.4 G .154(hope to provide a basis for protection for systems that can guard against\ future attempts at system invasion.)72 366 R F1 2.5(2.1. The)72 390 R (Survey and Initial Results)2.5 E F0 1.497(In October and again in December of\ 1989, I asked a number of friends and acquaintances around the)72 405.6 R .39 (United States and Great Britain to participate in a survey)72 417.6 R 5.391 (.E)-.65 G .391(ssentially what I asked them to do was to mail)315.771 417.6 R .324(me a copy of their)72 429.6 R F2(/etc/passwd)2.824 E F0 .323(\214le, and \ I would try to crack their passwords \(and as a side bene\214t, I would)2.824 F .438(send them a report of the vulnerability of their system, although at no t\ ime would I reveal individual pass-)72 441.6 R .072 (words nor even of their sites participation in this study\).)72 453.6 R .072 (Not surprisingly)5.072 F 2.572(,d)-.65 G .071 (ue to the sensitive nature of this)376.364 453.6 R .215(type of disclosure, I\ only received a small fraction of the replies I hoped to get, but was nonethe\ less able to)72 465.6 R 1.03 (acquire a database of nearly 15,000 account entries.)72 477.6 R 1.029 (This, I hoped, would provide a representative cross)6.029 F (section of the passwords used by users in the community)72 489.6 Q(.)-.65 E .224(Each of the account entries was tested by a number of intrusion strategie\ s, which will be covered in greater)72 505.2 R .836 (detail in the following section.)72 517.2 R .835 (The possible passwords that were tried were based on the user)5.836 F 1.935 -.55('s n).37 H .835(ame or).55 F .229(account number)72 529.2 R 2.729(,t)-.4 G .229(aken from numerous dictionaries \(including some containing foreign words\ , phrases, pat-)143.988 529.2 R 1.156(terns of keys on the keyboard, and enume\ rations\), and from permutations and combinations of words in)72 541.2 R .451 (those dictionaries.)72 553.2 R .451(All in all, after nearly 12 CPU months of\ rather exhaustive testing, approximately 25%)5.451 F .873 (of the passwords had been guessed.)72 565.2 R .872 (So that you do not develop a false sense of security too early)5.873 F 3.372 (,Ia)-.65 G(dd)494 565.2 Q .049(that 21% \(nearly 3,000 passwords\) were guess\ ed in the \214rst week, and that in the \214rst 15 minutes of testing,)72 577.2 R 1.051(368 passwords \(or 2.7%\) had been cracked using what experience has s\ hown would be the most fruitful)72 589.2 R .073 (line of attack \(i.e., using the user or account names as passwords\).)72 601.2 R .074(These statistics are frightening, and well)5.074 F .716 (they should be.)72 613.2 R .716(On an average system with 50 accounts in the) 5.716 F F2(/etc/passwd)3.215 E F0 .715(\214le, one could expect the \214rst) 3.215 F 1.031(account to be cracked in under 2 minutes, with 5\25515 accounts \ being cracked by the end of the \214rst day)72 625.2 R(.)-.65 E 1.314 (Even though the)72 637.2 R F1 -.18(ro)3.814 G(ot).18 E F0 1.314(account may n\ ot be cracked, all it takes is one account being compromised for a)3.814 F .109 (cracker to establish a toehold in a system.)72 649.2 R .11 (Once that is done, any of a number of other well-known security)5.109 F .282(\ loopholes \(many of which have been published on the network\) can be used to \ access or destroy any infor)72 661.2 R(-)-.2 E(mation on the machine.)72 673.2 Q 1.101(It should be noted that the results of this testing do not give us any\ indication as to what the)72 688.8 R F2(uncracked)3.602 E F0 1.074 (passwords are.)72 700.8 R(Rather)6.074 E 3.574(,i)-.4 G 3.574(to)173.132 700.8 S 1.073(nly tells us what was essentially already known \255 that users are li\ kely to use)184.486 700.8 R 1.416 (words that are familiar to them as their passwords)72 712.8 R 3.917 ([Riddle1989]. What)2.5 F 1.417(new information it did provide,)3.917 F (however)72 724.8 Q 4.48(,w)-.4 G 1.98(as the)120.23 724.8 R F2(degr)4.48 E(ee) -.37 E F0 1.98 (of vulnerability of the systems in question, as well as providing a basis for) 4.48 F EP %%Page: 4 4 BP/F0 10/Times-Roman@0 SF 2.5(-4-)279.67 48 S .369(developing a proactive pass\ word changer \255 a system which pre-checks a password before it is entered in\ to)72 84 R .389(the system, to determine whether that password will be vulnera\ ble to this type of attack.)72 96 R .388(Passwords which)5.388 F .654 (can be derived from a dictionary are clearly a bad idea)72 108 R .654 ([Alvare1988], and users should be prevented from)2.5 F .177(using them.)72 120 R .176(Of course, as part of this censoring process, users should also be told) 5.177 F/F1 10/Times-Italic@0 SF(why)2.676 E F0 .176(their proposed pass-)2.676 F(word is not good, and what a good class of password would be.)72 132 Q .809(\ As to those passwords which remain unbroken, I can only conclude that these ar\ e much more secure and)72 147.6 R -.74(``)72 159.6 S(safe').74 E 2.63('t)-.74 G .13(han those to be found in my dictionaries.)105.35 159.6 R .129 (One such class of passwords is word pairs, where a pass-)5.13 F .197 (word consists of two short words, separated by a punctuation character)72 171.6 R 5.197(.E)-.55 G .197(ven if only words of 3 to 5 lower)370.774 171.6 R .446(case characters are considered,)72 183.6 R F1(/usr/dict/wor)2.946 E(ds) -.37 E F0 .445(provides 3000 words for pairing.)2.946 F .445 (When a single intermedi-)5.445 F .644(ary punctuation character is introduced\ , the sample size of 90,000,000 possible passwords is rather daunt-)72 195.6 R 2.507(ing. On)72 207.6 R 2.507(aD)2.507 G .007(ECstation 3100, testing each of\ these passwords against that of a single user would require over)121.181 207.6 R .418(25 CPU)72 219.6 R F1(hours)2.918 E F0 2.918<ad61>2.918 G .418(nd even t\ hen, no guarantee exists that this is the type of password the user chose.) 145.982 219.6 R(Intro-)5.418 E .096(ducing one or two upper case characters in\ to the password raises the search set size to such magnitude as to)72 231.6 R (make cracking untenable.)72 243.6 Q .934(Another `)72 259.2 R(`safe')-.74 E 3.434('p)-.74 G .934(assword is one constructed from the initial letters of an\ easily remembered, but not too)144.578 259.2 R .112(common phrase.)72 271.2 R .112(For example, the phrase `)5.112 F .112 (`Unix is a trademark of Bell Laboratories')-.74 F 2.612('c)-.74 G .111 (ould give rise to the)424.116 271.2 R 1.182(password `)72 283.2 R(`UiatoBL.') -.74 E 6.182('T)-.74 G 1.182(his essentially creates a password which is a ran\ dom string of upper and lower)175.084 283.2 R 1.749(case letters.)72 295.2 R 1.749(Exhaustively searching this list at 1000 tests per second with only 6 ch\ aracter passwords)6.749 F 1.033(would take nearly 230 CPU days.)72 307.2 R 1.033(Increasing the phrase size to 7 character passwords makes the testing) 6.033 F .461(time over 32 CPU)72 319.2 R F1(years)2.961 E F0 2.961(\255aH)2.961 G .46 (erculean task that even the most dedicated cracker with huge computational) 196.687 319.2 R(resources would shy away from.)72 331.2 Q .66 (Thus, although I don')72 346.8 R 3.16(tk)-.18 G .661(now what passwords were \ chosen by those users I was unable to crack, I can say)171.4 346.8 R 1.426(wit\ h some surety that it is doubtful that anyone else could crack them in a reaso\ nable amount of time,)72 358.8 R(either)72 370.8 Q(.)-.55 E/F2 10/Times-Bold@0 SF 2.5(2.2. Method)72 394.8 R(of Attack)2.5 E F0 3.418(An)72 410.4 S .918(umbe\ r of techniques were used on the accounts in order to determine if the passwor\ ds used for them)87.638 410.4 R .85(were able to be compromised.)72 422.4 R 2.25 -.7(To s)5.85 H .849 (peed up testing, all passwords with the same salt value were grouped).7 F (together)72 434.4 Q 6.014(.T)-.55 G 1.014(his way)118.844 434.4 R 3.514(,o) -.65 G 1.014(ne encryption per password per salt value could be performed, wit\ h multiple string)161.052 434.4 R 1.378(comparisons to test for matches.)72 446.4 R 1.378 (Rather than considering 15,000 accounts, the problem was reduced to)6.378 F (4,000 salt values.)72 458.4 Q(The password tests were as follows:)5 E 14.17 (1\) T)97 474 R .364(ry using the user)-.35 F 1.464 -.55('s n).37 H .364 (ame, initials, account name, and other relevant personal information as a).55 F .482(possible password.)122 486 R .482(All in all, up to 130 dif)5.482 F .482 (ferent passwords were tried based on this informa-)-.18 F 2.593(tion. For)122 498 R .093(an account name)2.593 F F2(klone)2.594 E F0 .094 (with a user named `)2.594 F .094(`Daniel V)-.74 F 2.594(.K)-1.29 G(lein,') 386.884 498 Q 2.594('s)-.74 G .094(ome of the passwords)416.788 498 R 2.392(th\ at would be tried were: klone, klone0, klone1, klone123, dvk, dvkdvk, dklein, \ DKlein,)122 510 R(leinad, nielk, dvklein, danielk, DvkkvD, DANIEL-KLEIN, \(klo\ ne\), KleinD, etc.)122 522 Q 14.17(2\) T)97 537.6 R .461 (ry using words from various dictionaries.)-.35 F .462 (These included lists of men')5.461 F 2.962(sa)-.55 G .462(nd women')426.416 537.6 R 2.962(sn)-.55 G(ames)483.45 537.6 Q 3.839 (\(some 16,000 in all\); places \(including permutations so that `)122 549.6 R (`spain,')-.74 E 6.339('`)-.74 G(`spanish,')441.471 549.6 Q 6.339('a)-.74 G(nd) 494 549.6 Q -.74(``)122 561.6 S(spaniard').74 E 3.493('w)-.74 G .993(ould all \ be considered\); names of famous people; cartoons and cartoon charac-)178.433 561.6 R .866(ters; titles, characters, and locations from \214lms and science \ \214ction stories; mythical creatures)122 573.6 R 1.481 (\(garnered from Bul\214nch')122 585.6 R 3.981(sm)-.55 G 1.481 (ythology and dictionaries of mythical beasts\); sports \(including)240.593 585.6 R 1.423(team names, nicknames, and specialized terms\); numbers \(both a\ s numerals \255 `)122 597.6 R(`2001,')-.74 E 3.923('a)-.74 G(nd)494 597.6 Q .112(written out \255 `)122 609.6 R(`twelve')-.74 E .112 ('\); strings of letters and numbers \( `)-.74 F(`a,')-.74 E 2.612('`)-.74 G (`aa,')375.112 609.6 Q 2.612('`)-.74 G(`aaa,')400.944 609.6 Q 2.612('`)-.74 G (`aaaa,')431.216 609.6 Q 2.612('e)-.74 G .112(tc.\); Chi-)467.778 609.6 R 1.165 (nese syllables \(from the Pinyin Romanization of Chinese, a international sta\ ndard system of)122 621.6 R 1.372(writing Chinese on an English keyboard\); th\ e King James Bible; biological terms; common)122 633.6 R .268 (and vulgar phrases \(such as `)122 645.6 R(`fuckyou,')-.74 E 2.768('`)-.74 G (`ibmsux,')288.28 645.6 Q 2.768('a)-.74 G .268(nd `)336.688 645.6 R(`deadhead') -.74 E .268('\); keyboard patterns \(such)-.74 F 1.409(as `)122 657.6 R (`qwerty)-.74 E(,')-.65 E 3.909('`)-.74 G(`asdf,')182.198 657.6 Q 3.909('a)-.74 G 1.409(nd `)218.957 657.6 R(`zxcvbn')-.74 E 1.409 ('\); abbreviations \(such as `)-.74 F(`roygbiv')-.74 E 3.909('\255t)-.74 G 1.41(he colors in the)438.39 657.6 R(rainbow)122 669.6 Q 3.008(,a)-.65 G .508 (nd `)164.068 669.6 R(`ooottafagvah')-.74 E 3.008('\255am)-.74 G .507 (nemonic for remembering the 12 cranial nerves\); machine)268.01 669.6 R .597 (names \(acquired from)122 681.6 R F1(/etc/hosts)3.097 E F0 .597 (\); characters, plays, and locations from Shakespeare; common)B -.55(Yi)122 693.6 S 2.167(ddish words;).55 F 2.166 (the names of asteroids; and a collection of words from various technical)7.167 F .266(papers I had previously published.)122 705.6 R .266 (All told, more than 60,000 separate words were considered)5.266 F (per user \(with any inter)122 717.6 Q 2.5(-a)-.2 G (nd intra-dictionary duplicates being discarded\).)225.38 717.6 Q EP %%Page: 5 5 BP/F0 10/Times-Roman@0 SF 2.5(-5-)279.67 48 S 14.17(3\) T)97 84 R .215 (ry various permutations on the words from step 2.)-.35 F .214 (This included making the \214rst letter upper)5.215 F .926 (case or a control character)122 96 R 3.426(,m)-.4 G .927 (aking the entire word upper case, reversing the word \(with and)243.96 96 R .801(without the aforementioned capitalization\), changing the letter `o' to t\ he digit `0' \(so that the)122 108 R .044(word `)122 120 R -2.13(`scholar ') -.74 F 2.544('w)-.74 G .044(ould also be checked as `)195.948 120 R -2.13 (`sch0lar ')-.74 F .045('\), changing the letter `l' to the digit `1' \(so)-.74 F .714(that `)122 132 R -2.13(`scholar ')-.74 F 3.214('w)-.74 G .714 (ould also be checked as `)191.738 132 R(`scho1ar)-.74 E(,')-.4 E 3.214('a)-.74 G .714(nd also as `)344.922 132 R -2.13(`sch01ar ')-.74 F .713 ('\), and performing)-.74 F .642(similar manipulations to change the letter `z\ ' into the digit `2', and the letter `s' into the digit)122 144 R 3.672 (`5'. Another)122 156 R 1.172(test was to make the word into a plural \(irresp\ ective of whether the word was)3.672 F .181 (actually a noun\), with enough intelligence built in so that `)122 168 R (`dress')-.74 E 2.682('b)-.74 G .182(ecame `)394.706 168 R(`dresses,')-.74 E 2.682('`)-.74 G(`house')471.42 168 Q(')-.74 E 1.628(became `)122 180 R (`houses,')-.74 E 4.128('a)-.74 G 1.628(nd `)206.796 180 R(`daisy')-.74 E 4.127 ('b)-.74 G 1.627(ecame `)263.001 180 R(`daisies.')-.74 E 6.627('W)-.74 G 4.127 (ed)349.495 180 S 1.627(id not consider pluralization rules)363.062 180 R (exhaustively)122 192 Q 5.318(,t)-.65 G 2.818(hough, so that `)182.498 192 R (`datum')-.74 E 5.318('f)-.74 G(or)295.33 192 Q 2.818(givably became `)-.18 F (`datums')-.74 E 5.318('\()-.74 G 2.818(not `)424.034 192 R(`data')-.74 E 2.818 ('\), while)-.74 F -.74(``)122 204 S(sphynx').74 E 2.669('b)-.74 G .169 (ecame `)170.399 204 R(`sphynxs')-.74 E 2.668('\()-.74 G .168(and not `)249.226 204 R(`sphynges')-.74 E 2.668('\). Similarly)-.74 F 2.668(,t)-.65 G .168 (he suf)386.368 204 R .168(\214xes `)-.18 F(`-ed,')-.74 E 2.668('`)-.74 G(`-er) 464.442 204 Q(,')-.4 E 2.668('a)-.74 G(nd)494 204 Q -.74(``)122 216 S(-ing').74 E 2.702('w)-.74 G .202(ere added to transform words like `)159.872 216 R (`phase')-.74 E 2.703('i)-.74 G .203(nto `)338.368 216 R(`phased,')-.74 E 2.703 ('`)-.74 G(`phaser)401.254 216 Q(,')-.4 E 2.703('a)-.74 G .203(nd `)445.847 216 R(`phasing.')-.74 E(')-.74 E .474(These 14 to 17 additional tests per word add\ ed another 1,000,000 words to the list of possible)122 228 R (passwords that were tested for each user)122 240 Q(.)-.55 E 14.17(4\) T)97 255.6 R .846(ry various capitalization permutations on the words from step 2 t\ hat were not considered in)-.35 F 1.451(step 3.)122 267.6 R 1.451 (This included all single letter capitalization permutations \(so that `)6.451 F(`michael')-.74 E 3.95('w)-.74 G(ould)486.22 267.6 Q .757 (also be checked as `)122 279.6 R(`mIchael,')-.74 E 3.257('`)-.74 G(`miChael,') 254.065 279.6 Q 3.257('`)-.74 G(`micHael,')305.552 279.6 Q 3.257('`)-.74 G (`michAel,')357.029 279.6 Q 3.257('e)-.74 G .758(tc.\), double letter capi-) 410.916 279.6 R 1.919(talization permutations \(`)122 291.6 R(`MIchael,')-.74 E 4.419('`)-.74 G(`MiChael,')278.277 291.6 Q 4.419('`)-.74 G(`MicHael,')332.036 291.6 Q 4.419('.)-.74 G 1.919(.. , `)385.695 291.6 R(`mIChael,')-.74 E 4.418 ('`)-.74 G(`mIcHael,')457.82 291.6 Q(')-.74 E 2.508 (etc.\), triple letter permutations, and so on.)122 303.6 R 2.509 (The single letter permutations added roughly)7.508 F 1.75 (another 400,000 words to be checked per user)122 315.6 R 4.25(,w)-.4 G 1.75 (hile the double letter permutations added)331.66 315.6 R 3.243 (another 1,500,000 words.)122 327.6 R 3.244 (Three letter permutations would have added at least another)8.243 F .375 (3,000,000 words)122 339.6 R/F1 10/Times-Italic@0 SF .374(per user)2.875 F F0 .374(had there been enough time to complete the tests.)2.874 F -.7(Te)5.374 G .374(sts of 4, 5, and).7 F 4.681(6l)122 351.6 S 2.182(etter permutations were \ deemed to be impracticable without much more computational)134.461 351.6 R (horsepower to carry them out.)122 363.6 Q 14.17(5\) T)97 379.2 R .662 (ry foreign language words on foreign users.)-.35 F .662 (The speci\214c test that was performed was to try)5.662 F .586 (Chinese language passwords on users with Chinese names.)122 391.2 R .586 (The Pinyin Romanization of Chi-)5.586 F .563(nese syllables was used, combini\ ng syllables together into one, two, and three syllable words.)122 403.2 R .05 (Because no tests were done to determine whether the words actually made sense\ , an exhaustive)122 415.2 R 1.635(search was initiated.)122 427.2 R 1.635 (Since there are 398 Chinese syllables in the Pinyin system, there are)6.635 F .015(158,404 two syllable words, and slightly more than 16,000,000 three sylla\ ble words.)122 439.2 R/F2 7/Times-Roman@0 SF<87>-3.5 I F0 2.515(As)2.515 3.5 O (imilar)480.11 439.2 Q 1.079(mode of attack could as easily be used with Engli\ sh, using rules for building pronounceable)122 451.2 R(nonsense words.)122 463.2 Q 14.17(6\) T)97 478.8 R .558(ry word pairs.)-.35 F .558 (The magnitude of an exhaustive test of this nature is staggering.)5.558 F 1.958 -.7(To s)5.558 H(implify).7 E .915 (this test, only words of 3 or 4 characters in length from)122 490.8 R F1 (/usr/dict/wor)3.414 E(ds)-.37 E F0 .914(were used.)3.414 F .914(Even so,)5.914 F 1.14(the number of word pairs is)122 502.8 R/F3 10/Times-Bold@0 SF(O)3.64 E F0(\(10)A F2(7)-3.5 I F0 3.641(\)\()3.5 K 1.141 (multiplied by 4096 possible salt values\), and as of this)276.511 502.8 R (writing, the test is only 10% complete.)122 514.8 Q 1.092(For this study)72 530.4 R 3.592(,Ih)-.65 G 1.092(ad access to four DECstation 3100')146.558 530.4 R 1.092(s, each of which was capable of checking approxi-)-.55 F .39 (mately 750 passwords per second.)72 542.4 R .39 (Even with this total peak processing horsepower of 3,000 tests per sec-)5.39 F .182(ond \(some machines were only intermittently available\), testing the)72 554.4 R F3(O)2.682 E F0(\(10)A F2(10)-3.5 I F0 2.682(\)p)3.5 K .182 (assword/salt pairs for the \214rst)384.952 554.4 R .144 (four tests required on the order of 12 CPU)72 566.4 R F1(months)2.644 E F0 .145(of computations.)2.644 F .145(The remaining two tests are still ongo-) 5.145 F .44(ing after an additional 18 CPU months of computation.)72 578.4 R .439(Although for research purposes this is well within)5.439 F(acceptable ran\ ges, it is a bit out of line for any but the most dedicated and resource-rich \ cracker)72 590.4 Q(.)-.55 E F3 2.5(2.3. Summary)72 614.4 R(of Results)2.5 E F0 .431(The problem with using passwords that are derived directly from obvious w\ ords is that when a user thinks)72 630 R -.74(``)72 642 S .013 (Hah, no one will guess this permutation,').74 F 2.513('t)-.74 G .013 (hey are almost invariably wrong.)250.873 642 R .013 (Who would ever suspect that)5.013 F 2.664(Iw)72 654 S .164 (ould \214nd their passwords when they chose `)85.214 654 R(`fylgjas')-.74 E 2.664('\()-.74 G .164(guardian creatures from Norse mythology\), or the)303.896 654 R .24(Chinese word for `)72 666 R .24(`hen-pecked husband')-.74 F 2.74 ('? No)-.74 F .24(matter what words or permutations thereon are chosen for a) 2.74 F .903(password, if they exist in some dictionary)72 678 R 3.403(,t)-.65 G .903(hey are susceptible to directed cracking.)252.381 678 R .904 (The following table)5.904 F/F4 8/Troff SF(rrrrrrrrrrrrrrrrrr)72 688 Q/F5 8 /Times-Roman@0 SF 4<8754>82 699.8 S .48(he astute reader will notice that 398) 94.888 699.8 R/F6 6/Times-Roman@0 SF(3)-3 I F5 .48(is in fact 63,044,972.)2.48 3 N .48(Since Unix passwords are truncated after 8 characters,)4.48 F(however) 72 709.8 Q 2.31(,t)-.32 G .309 (he number of unique polysyllabic Chinese passwords is only around 16,000,000.) 105.758 709.8 R .309(Even this reduced set was too)4.309 F(lar)72 719.8 Q (ge to complete under the imposed time constraints.)-.144 E EP %%Page: 6 6 BP/F0 10/Times-Roman@0 SF 2.5(-6-)279.67 48 S(give an overview of the types of\ passwords which were found through this research.)72 84 Q 2.798(An)72 99.6 S .298(ote on the table is in order)87.018 99.6 R 5.298(.T)-.55 G .297 (he number of matches given from a particular dictionary is the total num-) 206.594 99.6 R 1.658(ber of matches, irrespective of the permutations that a u\ ser may have applied to it.)72 111.6 R 1.659(Thus, if the word)6.659 F -.74(``) 72 123.6 S(wombat').74 E 3.296('w)-.74 G .796 (ere a particularly popular password from the biology dictionary)126.576 123.6 R 3.296(,t)-.65 G .795(he following table will not)394.71 123.6 R .794 (indicate whether it was entered as `)72 135.6 R(`wombat,')-.74 E 3.294('`)-.74 G(`W)266.948 135.6 Q(ombat,')-.8 E 3.294('`)-.74 G(`T)318.222 135.6 Q(ABMOW)-.8 E(,')-.92 E 3.294('`)-.74 G(`w0mbat,')379.686 135.6 Q 3.294('o)-.74 G 3.295(ra) 431.95 135.6 S .795(ny of the other)443.015 135.6 R .491(71 possible dif)72 147.6 R .491(ferences that this research checked.)-.18 F .491(In this way)5.491 F 2.991(,d)-.65 G .49(etailed information can be divulged with-)335.74 147.6 R (out providing much knowledge to potential `)72 159.6 Q(`bad guys.')-.74 E(') -.74 E(Additionally)72 175.2 Q 3.364(,i)-.65 G 3.364(no)130.554 175.2 S .864(r\ der to reduce the total search time that was needed for this research, the che\ cking pro-)143.918 175.2 R 1.075(gram eliminated both inter)72 187.2 R 3.575 (-a)-.2 G 1.075(nd intra-dictionary duplicate words.)192.75 187.2 R 1.075 (The dictionaries are listed in the order)6.075 F .429(tested, and the total s\ ize of the dictionary is given in addition to the number of words that were el\ iminated)72 199.2 R .563(due to duplication.)72 211.2 R .563 (For example, the word `)5.563 F(`geor)-.74 E(gia')-.18 E 3.063('i)-.74 G 3.063 (sb)296.194 211.2 S .562(oth a female name and a place, and is only con-) 308.147 211.2 R .579(sidered once.)72 223.2 R 3.079(Ap)5.579 G .579(assword wh\ ich is identi\214ed as being found in the common names dictionary might very) 146.217 223.2 R 1.745(well appear in other dictionaries.)72 235.2 R (Additionally)6.745 E 4.245(,a)-.65 G 1.745(lthough `)278.18 235.2 R (`duplicate,')-.74 E 4.245('`)-.74 G(`duplicated,')370.82 235.2 Q 4.245('`)-.74 G(`duplicating')431.065 235.2 Q 4.245('a)-.74 G(nd)494 235.2 Q -.74(``)72 247.2 S(duplicative').74 E 2.526('a)-.74 G .026(re all distinct words, only the \214\ rst eight characters of a password are used in Unix, so all but)135.246 247.2 R (the \214rst word are discarded as redundant.)72 259.2 Q .4 LW 501.88 269.7 74.12 269.7 DL/F1 12/Times-Bold@0 SF(Passwords cracked fr)144.294 279.2 Q (om a sample set of 13,797 accounts)-.216 E 501.88 283.7 74.12 283.7 DL/F2 10 /Times-Bold@0 SF -.74(Ty)105.595 293.2 S(pe of).74 E(Size of)187.58 293.2 Q 13.615(Duplicates Sear)240.495 293.2 R 22.635(ch #)-.18 F 30.79(of Pct.)2.5 F (Cost/Bene\214t)444.66 293.2 Q 34.3(Password Dictionary)100.92 305.2 R 18.52 (Eliminated Size Matches)239.38 305.2 R(of T)396.97 305.2 Q 24.945(otal Ratio) -.92 F/F3 8/Times-Bold@0 SF(*)480.435 301.2 Q 501.88 309.7 74.12 309.7 DL 501.88 311.7 74.12 311.7 DL F0(User/account name)79.12 321.2 Q(130)195.605 321.2 Q/F4 7/Times-Roman@0 SF<87>-3.5 I F0 47.925<ad31>260.175 321.2 S 27.68 (30 368)318.74 321.2 R 32.54(2.7% 2.830)403.65 321.2 R(Character sequences) 79.12 333.2 Q 53.89(866 0)199.105 333.2 R 32.68(866 22)313.74 333.2 R 32.54 (0.2% 0.025)403.65 333.2 R 80.825(Numbers 450)79.12 345.2 R 35.745(23 427) 265.495 345.2 R 29.73(90)368.92 345.2 S 32.54(.1% 0.021)408.65 345.2 R 85.265 (Chinese 398)79.12 357.2 R 38.245(63)270.495 357.2 S 32.68(92 56)318.74 357.2 R (0.4%)403.65 357.2 Q F4<88>-3.5 I F0(0.143)459.52 357.2 Q(Place names)79.12 369.2 Q 48.89(665 37)199.105 369.2 R 32.68(628 82)313.74 369.2 R 32.54 (0.6% 0.131)403.65 369.2 R(Common names)79.12 381.2 Q 48.89(2268 29)194.105 381.2 R 27.68(2239 548)308.74 381.2 R 32.54(4.0% 0.245)403.65 381.2 R (Female names)79.12 393.2 Q 43.89(4955 675)194.105 393.2 R 27.68(4280 161) 308.74 393.2 R 32.54(1.2% 0.038)403.65 393.2 R(Male names)79.12 405.2 Q 38.89 (3901 1035)194.105 405.2 R 27.68(2866 140)308.74 405.2 R 32.54(1.0% 0.049) 403.65 405.2 R(Uncommon names)79.12 417.2 Q 43.89(5559 604)194.105 417.2 R 27.68(4955 130)308.74 417.2 R 32.54(0.9% 0.026)403.65 417.2 R(Myths & legends) 79.12 429.2 Q 44.63(1357 1)194.105 429.2 R 31.485 -.37(11 1)-.37 H 32.68 (246 66).37 F 32.54(0.5% 0.053)403.65 429.2 R 58.065(Shakespearean 650)79.12 441.2 R 35.745(177 473)260.495 441.2 R 27.97 -.37(11 0)364.29 441.2 T 32.54 (.1% 0.023).37 F(Sports terms)79.12 453.2 Q 53.89(247 9)199.105 453.2 R 32.68 (238 32)313.74 453.2 R 32.54(0.2% 0.134)403.65 453.2 R(Science \214ction)79.12 465.2 Q 48.89(772 81)199.105 465.2 R 32.68(691 59)313.74 465.2 R 32.54 (0.4% 0.085)403.65 465.2 R(Movies and actors)79.12 477.2 Q -.37(11)199.475 477.2 S 51.39(81).37 G 43.245(99)270.495 477.2 S 35.18(91)323.74 477.2 S 29.73 (20)368.92 477.2 S 32.54(.1% 0.121)408.65 477.2 R 81.375(Cartoons 133)79.12 489.2 R 40.745(41 92)265.495 489.2 R 29.73(90)368.92 489.2 S 32.54(.1% 0.098) 408.65 489.2 R(Famous people)79.12 501.2 Q 43.89(509 219)199.105 501.2 R 32.68 (290 55)313.74 501.2 R 32.54(0.4% 0.190)403.65 501.2 R(Phrases and patterns) 79.12 513.2 Q 48.89(998 65)199.105 513.2 R 27.68(933 253)313.74 513.2 R 32.54 (1.8% 0.271)403.65 513.2 R 78.045(Surnames 160)79.12 525.2 R 40.745(127 33) 260.495 525.2 R 29.73(90)368.92 525.2 S 32.54(.1% 0.273)408.65 525.2 R 90.255 (Biology 59)79.12 537.2 R 43.245(15)270.495 537.2 S 40.18(81)323.74 537.2 S 32.54(0.0% 0.017)403.65 537.2 R/F5 10/Times-Italic@0 SF(/usr/dict/wor)79.12 549.2 Q(ds)-.37 E F0 38.89(24474 4791)189.105 549.2 R 22.68(19683 1027)303.74 549.2 R 32.54(7.4% 0.052)403.65 549.2 R(Machine names)79.12 561.2 Q 38.89 (12983 3965)189.105 561.2 R 27.68(9018 132)308.74 561.2 R 32.54(1.0% 0.015) 403.65 561.2 R 75.265(Mnemonics 14)79.12 573.2 R 43.245(01)270.495 573.2 S 40.18(42)323.74 573.2 S 32.54(0.0% 0.143)403.65 573.2 R(King James bible)79.12 585.2 Q 38.89(13062 5537)189.105 585.2 R 32.68(7525 83)308.74 585.2 R 32.54 (0.6% 0.01)403.65 585.2 R(1)-.37 E(Miscellaneous words)79.12 597.2 Q 38.89 (8146 4934)194.105 597.2 R 32.68(3212 54)308.74 597.2 R 32.54(0.4% 0.017)403.65 597.2 R -.55(Yi)79.12 609.2 S(ddish words).55 E 48.89(69 13)204.105 609.2 R 37.68(56 0)318.74 609.2 R 32.54(0.0% 0.000)403.65 609.2 R 74.155 (Asteroids 3459)79.12 621.2 R 30.745(1052 2407)255.495 621.2 R 27.23(19 0.1%) 363.92 621.2 R(0.007)459.52 621.2 Q 501.88 625.7 74.12 625.7 DL F5 -.92(To) 79.12 635.2 S(tal).92 E F0 33.89(86280 23553)189.105 635.2 R(62727)303.74 635.2 Q F2 22.23(3340 24.2%)353.92 635.2 R F0(0.053)459.52 635.2 Q 501.88 639.7 74.12 639.7 DL 501.88 269.7 501.88 639.7 DL 74.12 269.7 74.12 639.7 DL/F6 8/Troff SF (rrrrrrrrrrrrrrrrrr)72 663.2 Q/F7 8/Times-Roman@0 SF 4(*I)82 675 S 2.036(na) 92.664 675 S .035(ll cases, the cost/bene\214t ratio is the number of matches \ divided by the search size.)102.252 675 R .035(The more words that needed to) 4.035 F(be tested for a match, the lower the cost/bene\214t ratio.)72 685 Q 4 <8754>82 696.8 S .278(he dictionary used for user/account name checks naturall\ y changed for each user)94.888 696.8 R 4.279(.U)-.44 G 2.279(pt)367.484 696.8 S 2.279(o1)375.987 696.8 S .279(30 dif)386.266 696.8 R .279(ferent permutations) -.144 F(were tried for each.)72 706.8 Q 4<8857>82 718.6 S .575(hile monosyllab\ lic Chinese passwords were tried for all users \(with 12 matches\), polysyllab\ ic Chinese passwords)97.552 718.6 R .087 (were tried only for users with Chinese names.)72 728.6 R .088(The percentage \ of matches for this subset of users is 8% \255 a greater hit ratio)4.087 F EP %%Page: 7 7 BP/F0 10/Times-Roman@0 SF 2.5(-7-)279.67 48 S .806 (The results are quite disheartening.)72 84 R .805 (The total size of the dictionary was only 62,727 words \(not counting)5.806 F .522(various permutations\).)72 96 R .522(This is much smaller than the 250,00\ 0 word dictionary postulated at the beginning)5.522 F(of this paper)72 108 Q 2.5(,y)-.4 G(et armed even with this small dictionary)131.59 108 Q 2.5(,n)-.65 G(early 25% of the passwords were cracked!)301.48 108 Q .4 LW 369.829 118.5 206.171 118.5 DL/F1 12/Times-Bold@0 SF(Length of Cracked Passwords)211.17 128 Q 369.829 132.5 206.171 132.5 DL/F2 10/Times-Bold@0 SF 21.881(Length Count) 220.229 142 R(Per)317.486 142 Q(centage)-.18 E 369.829 146.5 206.171 146.5 DL 369.829 148.5 206.171 148.5 DL F0 2.5(1c)211.171 158 S 35.509(haracter 4) 223.111 158 R(0.1%)333.081 158 Q 2.5(2c)211.171 170 S 31.619(haracters 5) 223.111 170 R(0.2%)333.081 170 Q 2.5(3c)211.171 182 S 26.619(haracters 66) 223.111 182 R(2.0%)333.081 182 Q 2.5(4c)211.171 194 S 21.619(haracters 188) 223.111 194 R(5.7%)333.081 194 Q 2.5(5c)211.171 206 S 21.619(haracters 317) 223.111 206 R(9.5%)333.081 206 Q 2.5(6c)211.171 218 S 16.989(haracters 1) 223.111 218 R 27.261(160 34.7%)-.37 F 2.5(7c)211.171 230 S 21.619 (haracters 813)223.111 230 R(24.4%)328.081 230 Q 2.5(8c)211.171 242 S 21.619 (haracters 780)223.111 242 R(23.4%)328.081 242 Q 369.829 246.5 206.171 246.5 DL 369.829 118.5 369.829 246.5 DL 206.171 118.5 206.171 246.5 DL .499(The results\ of the word-pair tests are not included in either of the two tables.)72 263.6 R(However)5.498 E 2.998(,a)-.4 G 2.998(tt)436.448 263.6 S .498(he time of this) 445.006 263.6 R .692(writing, the test was approximately 10% completed, having\ found an additional 0.4% of the passwords in)72 275.6 R .382(the sample set.) 72 287.6 R .381(It is probably reasonable to guess that a total of 4% of the p\ asswords would be cracked by)5.382 F(using word pairs.)72 299.6 Q F2 2.5 (3. Action,)72 323.6 R(Reaction, and Pr)2.5 E(oaction)-.18 E F0 .815 (What then, are we to do with the results presented in this paper?)72 339.2 R (Clearly)5.815 E 3.315(,s)-.65 G .816(omething needs to be done to)382.43 339.2 R 1.379(safeguard the security of our systems from attack.)72 351.2 R 1.379 (It was with intention of enhancing security that this)6.379 F .873 (study was undertaken.)72 363.2 R .874 (By knowing what kind of passwords users use, we are able to prevent them from) 5.873 F(using those that are easily guessable \(and thus thwart the cracker\).) 72 375.2 Q 1.078(One approach to eliminating easy-to-guess passwords is to per\ iodically run a password checker \255 a pro-)72 390.8 R .285(gram which scans) 72 402.8 R/F3 10/Times-Italic@0 SF(/etc/passwd)2.785 E F0 .285 (and tries to break the passwords in it)2.785 F 2.786([Raleigh1988]. This)2.5 F .286(approach has two)2.786 F 1.346(major drawbacks.)72 414.8 R 1.345 (The \214rst is that the checking is very time consuming.)6.346 F 1.345 (Even a system with only 100)6.345 F .063 (accounts can take over a month to diligently check.)72 426.8 R 2.563(Ah)5.063 G .063(alfhearted check is almost as bad as no check at all,)297.59 426.8 R .204(since users will \214nd it easy to circumvent the easy checks and still h\ ave vulnerable passwords.)72 438.8 R .203(The second)5.203 F .171 (drawback is that it is very resource consuming.)72 450.8 R .171 (The machine which is being used for password checking is)5.171 F(not likely t\ o be very useful for much else, since a fast password checker is also extremel\ y CPU intensive.)72 462.8 Q 1.301(Another popular approach to eradicating easy\ -to-guess passwords is to force users to change their pass-)72 478.4 R .28 (words with some frequency)72 490.4 R 5.28(.I)-.65 G 2.78(nt)194.11 490.4 S (heory)204.67 490.4 Q 2.78(,w)-.65 G .28 (hile this does not actually eliminate any easy-to-guess passwords,)239.29 490.4 R .128(it prevents the cracker from dissecting)72 502.4 R F3(/etc/passwd) 2.628 E F0 -.74(``)2.628 G .128(at leisure,').74 F 2.628('s)-.74 G .127 (ince once an account is broken, it is likely)334.952 502.4 R .78 (that that account will have had it')72 514.4 R 3.28(sp)-.55 G .78 (assword changed.)222.17 514.4 R .78(This is of course, only theory)5.78 F 5.78 (.T)-.65 G .78(he biggest disad-)434.67 514.4 R .814(vantage is that there is \ usually nothing to prevent a user from changing their password from `)72 526.4 R(`Daniel')-.74 E 3.313('t)-.74 G(o)499 526.4 Q -.74(``)72 538.4 S -.6(Vi).74 G -2.13(ctor ').6 F 3.257('t)-.74 G 3.257(o`)115.197 538.4 S(`Klein')126.044 538.4 Q 3.257('a)-.74 G .757(nd back again \(to use myself as an example\) eac\ h time the system demands a new)165.211 538.4 R 4.047(password. Experience)72 550.4 R 1.547(has shown that even when this type of password cycling is preclu\ ded, users are)4.047 F .527(easily able to circumvent simple tests by using ea\ sily remembered \(and easily guessed\) passwords such as)72 562.4 R -.74(``)72 574.4 S(dvkJanuary).74 E(,')-.65 E 3.91('`)-.74 G(`dvkFebruary)138.29 574.4 Q (,')-.65 E 3.91('e)-.74 G(tc [Reid1989].)208.84 574.4 Q 3.909(Ag)6.409 G 1.409 (ood password is one that is easily remembered, yet)289.148 574.4 R(dif)72 586.4 Q .28(\214cult to guess.)-.18 F .281(When confronted with a choice betwe\ en remembering a password or creating one that is)5.28 F(hard to guess, users \ will almost always opt for the easy way out, and throw security to the wind.)72 598.4 Q 1.188(Which brings us to the third popular option, namely that of assi\ gned passwords.)72 614 R 1.187(These are often words)6.187 F .475 (from a dictionary)72 626 R 2.975(,p)-.65 G .475 (ronounceable nonsense words, or random strings of characters.)152.205 626 R .475(The problems here are)5.475 F .12(numerous and manifest.)72 638 R -.8(Wo) 5.12 G .119(rds from a dictionary are easily guessed, as we have seen.).8 F .119(Pronounceable non-)5.119 F .945(sense words \(such as `)72 650 R -2.13 (`trobacar ')-.74 F 3.445('o)-.74 G 3.445(r`)215.285 650 S(`myclepate')224.65 650 Q .945('\) are often dif)-.74 F .945(\214cult to remember)-.18 F 3.446(,a) -.4 G .946(nd random strings of)418.112 650 R .186(characters \(such as `)72 662 R(`h3rT+aQz')-.74 E .186('\) are even harder to commit to memory)-.74 F 5.186(.B)-.65 G .186(ecause these passwords have no)375.516 662 R 1.031(person\ al mnemonic association to the users, they will often write them down to aid i\ n their recollection.)72 674 R 1.197(This immediately discards any security th\ at might exist, because now the password is visibly associated)72 686 R .281 (with the system in question.)72 698 R .282(It is akin to leaving the key unde\ r the door mat, or writing the combination to)5.281 F/F4 8/Troff SF (rrrrrrrrrrrrrrrrrr)72 708 Q/F5 8/Times-Roman@0 SF(than any other method.)72 718 Q(Because the dictionary size is over 16)4 E/F6 8/TSymbol SF<b4>A F5(10)A /F7 6/Times-Roman@0 SF(6)-3 I F5 2(,t)3 K (hough, the cost/bene\214t ratio is in\214nitesimal.)292.248 718 Q EP %%Page: 8 8 BP/F0 10/Times-Roman@0 SF 2.5(-8-)279.67 48 S 2.5(as)72 84 S (afe behind the picture that hides it.)82.83 84 Q 2.577(Af)72 99.6 S .076 (ourth method is the use of `)85.127 99.6 R .076(`smart cards.')-.74 F 5.076 ('T)-.74 G .076(hese credit card sized devices contain some form of encryp-) 263.666 99.6 R .245(tion \214rmware which will `)72 111.6 R(`respond')-.74 E 2.745('t)-.74 G 2.745(oa)223.665 111.6 S 2.746(ne)235.85 111.6 S .246 (lectronic `)248.036 111.6 R(`challenge')-.74 E 2.746('i)-.74 G .246 (ssued by the system onto which the user)341.458 111.6 R .131 (is attempting to gain acccess.)72 123.6 R -.4(Wi)5.131 G .131(thout the smart\ card, the user \(or cracker\) is unable to respond to the chal-).4 F .242 (lenge, and is denied access to the system.)72 135.6 R .243 (The problems with smart cards have nothing to do with security)5.243 F(,)-.65 E .419(for in fact they are very good warders for your system.)72 147.6 R .419 (The drawbacks are that they can be expensive and)5.419 F .324 (must be carried at all times that access to the system is desired.)72 159.6 R .325(They are also a bit of overkill for research)5.324 F (or educational systems, or systems with a high degree of user turnover)72 171.6 Q(.)-.55 E(Clearly)72 187.2 Q 2.965(,t)-.65 G .464(hen, since all of the\ se systems have drawbacks in some environments, an additional way must be) 109.035 187.2 R(found to aid in password security)72 199.2 Q(.)-.65 E/F1 10 /Times-Bold@0 SF 2.5(3.1. A)72 223.2 R(Pr)2.5 E(oactive Password Checker)-.18 E F0 .638(The best solution to the problem of having easily guessed passwords on\ a system is to prevent them from)72 238.8 R .202 (getting on the system in the \214rst place.)72 250.8 R .202 (If a program such as a password checker)5.202 F/F2 10/Times-Italic@0 SF -.37 (re)2.702 G(acts).37 E F0 .202(by detecting guess-)2.702 F .533(able passwords\ already in place, then although the security hole is found, the hole existed \ for as long as it)72 262.8 R 1.096(took the program to detect it \(and for the\ user to again change the password\).)72 274.8 R 1.095(If, however)6.095 F 3.595(,t)-.4 G 1.095(he program)457.085 274.8 R .564(which changes user)72 286.8 R 1.664 -.55('s p).37 H .564(asswords \(i.e.,).55 F F2(/bin/passwd)3.064 E F0 3.064(\)c)C .564(hecks for the safety and guessability)286.004 286.8 R F2 (befor)3.065 E(e)-.37 E F0 .565(that pass-)3.065 F (word is associated with the user)72 298.8 Q 1.1 -.55('s a).37 H (ccount, then the security hole is never put in place.).55 E .08(In an ideal w\ orld, the proactive password changer would require eight character passwords w\ hich are not in)72 314.4 R .093(any dictionary)72 326.4 R 2.593(,w)-.65 G .094 (ith at least one control character or punctuation character)141.246 326.4 R 2.594(,a)-.4 G .094(nd mixed upper and lower case)378.84 326.4 R 2.705 (letters. Such)72 338.4 R 2.705(ad)2.705 G .205(egree of security \(and of acc\ ompanying inconvenience to the users\) might be too much for)138.995 338.4 R 1.022(some sites, though.)72 350.4 R 1.022 (Therefore, the proactive checker should be tuneable on a per)6.022 F 1.022 (-site basis.)-.2 F 1.022(This tuning)6.022 F .512 (could be accomplished either through recompilation of the)72 362.4 R F2 (passwd)3.012 E F0 .512(program, or more preferably)3.012 F 3.012(,t)-.65 G .512(hrough a)468.218 362.4 R(site con\214guration \214le.)72 374.4 Q .545(As \ distributed, the behavior of the proactive checker should be that of attaining\ maximum password secu-)72 390 R .275 (rity \255 with the system administrator being able to turn of)72 402 R 2.775 (fc)-.18 G .275(ertain checks.)311.855 402 R .274 (It would be desireable to be able)5.275 F(to test for and reject all password\ permutations that were detected in this research \(and others\), including:)72 414 Q 195.6<8383>97 432 S 2.218(Passwords based on the user)115.5 432 R 3.318 -.55('s a).37 H(ccount).55 E(name)115.5 444 Q .689(Passwords based on the user) 314.6 432 R 1.788 -.55('s i).37 H .688(nitials or).55 F(given name)314.6 444 Q 195.6<8383>97 456 S 1.626(Passwords which exactly match a word)115.5 456 R (in a dictionary \(not just)115.5 468 Q F2(/usr/dict/wor)2.5 E(ds)-.37 E F0(\)) A 2.418(Passwords which match a word in the)314.6 456 R 1.4 (dictionary with some or all letters capi-)314.6 468 R(talized)314.6 480 Q 195.6<8383>97 492 S .628(Passwords which match a reversed word)115.5 492 R (in the dictionary)115.5 504 Q .628(Passwords which match a reversed word)314.6 492 R .841(in the dictionary with some or all letters)314.6 504 R(capitalized) 314.6 516 Q 195.6<8383>97 528 S .606(Passwords which match a word in a dic-) 115.5 528 R 3.404(tionary with an arbitrary letter turned)115.5 540 R (into a control character)115.5 552 Q 4.877(Passwords which match a dictionary) 314.6 528 R .884(word with the numbers `0', `1', `2', and)314.6 540 R .726 (`5' substituted for the letters `o', 'l', 'z',)314.6 552 R(and ')314.6 564 Q (s')-.55 E 195.6<8383>97 576 S 3.768(Passwords which are simple conjuga-)115.5 576 R 1.585(tions of a dictionary word \(i.e., plurals,)115.5 588 R 1.145 (adding `)115.5 600 R(`ing')-.74 E 3.645('o)-.74 G 3.645(r`)179.63 600 S(`ed') 189.195 600 Q 3.645('t)-.74 G 3.645(ot)214.31 600 S 1.145(he end of the)225.735 600 R(word, etc.\))115.5 612 Q 2.182(Passwords which are patterns from the) 314.6 576 R(keyboard \(i.e., `)314.6 588 Q(`aaaaaa')-.74 E 2.5('o)-.74 G 2.5 (r`)420.84 588 S(`qwerty')429.26 588 Q('\))-.74 E 195.6<8383>97 624 S .94 (Passwords which are shorter than a spe-)115.5 624 R .518 (ci\214c length \(i.e., nothing shorter than six)115.5 636 R(characters\))115.5 648 Q 7.235(Passwords which consist solely of)314.6 624 R 1.48 (numeric characters \(i.e., Social Security)314.6 636 R 7.337 (numbers, telephone numbers, house)314.6 648 R(addresses or of)314.6 660 Q (\214ce numbers\))-.18 E 195.6<8383>97 672 S 1.844 (Passwords which do not contain mixed)115.5 672 R 2.19 (upper and lower case, or mixed letters)115.5 684 R .707 (and numbers, or mixed letters and punc-)115.5 696 R(tuation)115.5 708 Q .512 (Passwords which look like a state-issued)314.6 672 R(license plate number) 314.6 684 Q EP %%Page: 9 9 BP/F0 10/Times-Roman@0 SF 2.5(-9-)279.67 48 S .384(The con\214guration \214le \ which speci\214es the level of checking need not be readable by users.)72 84 R .385(In fact, making)5.384 F 1.565(this \214le unreadable by users \(and by po\ tential crackers\) enhances system security by hiding a valuable)72 96 R .04 (guide to what passwords)72 108 R/F1 10/Times-Italic@0 SF(ar)2.54 E(e)-.37 E F0 .04(acceptable \(and conversely)2.54 F 2.54(,w)-.65 G .04 (hich kind of passwords simply cannot be found\).)308.74 108 R .456 (Of course, to make this proactive checker more ef)72 123.6 R .455 (fective, it woule be necessary to provide the dictionaries)-.18 F .165 (that were used in this research \(perhaps augmented on a per)72 135.6 R .166 (-site basis\).)-.2 F .166(Even more importantly)5.166 F 2.666(,i)-.65 G 2.666 (na)463.554 135.6 S(ddition)475.66 135.6 Q .657(to rejecting passwords which c\ ould be easily guessed, the proactive password changer would also have to)72 147.6 R 1.691(tell the user)72 159.6 R F1(why)4.191 E F0 4.191(ap)4.191 G 1.691 (articular password was unacceptable, and give the user suggestions as to what\ an)160.165 159.6 R(acceptable password looks like.)72 171.6 Q/F2 10 /Times-Bold@0 SF 2.5(4. Conclusion)72 195.6 R(\(and Sermon\))2.5 E F0 .8 (It has often been said that `)72 211.2 R .8 (`good fences make good neighbors.')-.74 F 5.799('O)-.74 G 3.299(naU)348.977 211.2 S .799(nix system, many users also say)372.235 211.2 R .625(that `)72 223.2 R .625(`I don')-.74 F 3.125(tc)-.18 G .625 (are who reads my \214les, so I don')130.995 223.2 R 3.125(tn)-.18 G .625 (eed a good password.')276.625 223.2 R 5.625('R)-.74 G(egrettably)382.805 223.2 Q 3.125(,l)-.65 G .625(eaving an account)430.55 223.2 R .23 (vulnerable to attack is not the same thing as leaving \214les unprotected.)72 235.2 R .23(In the latter case, all that is at risk is)5.23 F 1 (the data contained in the unprotected \214les, while in the former)72 247.2 R 3.501(,t)-.4 G 1.001(he whole system is at risk.)338.953 247.2 R 1.001 (Leaving the)6.001 F .157(front door to your house open, or even putting a \ \215imsy lock on it, is an invitation to the unfortunately ubiq-)72 259.2 R .886(uitous people with poor morals.)72 271.2 R .886 (The same holds true for an account that is vulnerable to attack by pass-)5.886 F(word cracking techniques.)72 283.2 Q .636(While it may not be actually true \ that good fences make good neighbors, a good fence at least helps keep)72 298.8 R .155(out the bad neighbors.)72 310.8 R .156(Good passwords are equivalent to\ those good fences, and a proactive checker is one)5.156 F (way to ensure that those fences are in place)72 322.8 Q F1(befor)2.5 E(e)-.37 E F0 2.5(ab)2.5 G(reakin problem occurs.)287.4 322.8 Q F2(Refer)72 346.8 Q (ences)-.18 E F0(Morris1979.)72 366 Q .25(Robert T)97 378 R 2.75(.M)-.74 G .249 (orris and Ken Thompson, `)146.48 378 R .249 (`Password Security: A Case History)-.74 F(,')-.65 E(')-.74 E F1 .249 (Communications of the)2.749 F(ACM)97 390 Q F0 2.5(,v)C(ol. 22, no. 1)128.11 390 Q(1, pp. 594-597, November 1979.)-.37 E(DES1975.)72 405.6 Q -.74(``)97 417.6 S 6.311 (Proposed Federal Information Processing Data Encryption Standard,').74 F(') -.74 E F1 6.312(Federal Register)8.812 F(\(40FR12134\))97 429.6 Q F0 2.5(,M)C (arch 17, 1975.)164.77 429.6 Q(Bishop1988.)72 445.2 Q 1.81(Matt Bishop, `)97 457.2 R 1.809 (`An Application of a Fast Data Encryption Standard Implementation,')-.74 F(') -.74 E F1(Computing)4.309 E(Systems)97 469.2 Q F0 2.5(,v)C (ol. 1, no. 3, pp. 221-254, Summer 1988.)138.66 469.2 Q(Feldmeier1989.)72 484.8 Q 1.176(David C. Feldmeier and Philip R. Karn, `)97 496.8 R 1.177 (`UNIX Password Security \255 T)-.74 F 1.177(en Y)-.7 F 1.177(ears Later)-1 F (,')-.4 E(')-.74 E F1(CR)3.677 E(YPT)-.18 E(O)-.18 E(Pr)97 508.8 Q(oceedings) -.37 E F0 2.5(,S)C(ummer 1989.)157.18 508.8 Q(Leong1991.)72 524.4 Q .498 (Philip Leong and Chris Tham, `)97 536.4 R .498 (`UNIX Password Encryption Considered Insecure,')-.74 F(')-.74 E F1 .498 (USENIX W)2.998 F(inter)-.55 E(Confer)97 548.4 Q(ence Pr)-.37 E(oceedings)-.37 E F0 2.5(,J)C(anuary 1991.)203.74 548.4 Q(Spaf)72 564 Q(ford1988.)-.18 E 3.456 (Eugene H. Spaf)97 576 R 3.456(ford, `)-.18 F 3.456(`The Internet W)-.74 F 3.456(orm Program: An Analysis,')-.8 F 5.957('P)-.74 G 3.457(urdue T)403.366 576 R 3.457(echnical Report)-.7 F (CSD-TR-823, Purdue University, November 29, 1988.)97 588 Q(Grampp1984.)72 603.6 Q 2.55 -.8(F. G)97 615.6 T .95(rampp and R. Morris, `).8 F .95 (`Unix Operating System Security)-.74 F(,')-.65 E(')-.74 E F1 -.37(AT)3.45 G .95(&T Bell Labs T).37 F .95(echnical Journal)-.92 F F0(,)A (vol. 63, no. 8, pp. 1649-1672, October 1984.)97 627.6 Q(Riddle1989.)72 643.2 Q .994(Bruce L. Riddle, Murray S. Miron, and Judith A. Semo, `)97 655.2 R .994 (`Passwords in Use in a University T)-.74 F(ime-)-.35 E(sharing Environment,') 97 667.2 Q(')-.74 E F1(Computers & Security)2.5 E F0 2.5(,v)C (ol. 8, no. 7, pp. 569-579, November 1989.)291.52 667.2 Q(Alvare1988.)72 682.8 Q .434(Ana Marie De Alvare and E. Eugene Schultz, Jr)97 694.8 R .433(., `)-.55 F .433(`A Framework for Password Selection,')-.74 F(')-.74 E F1(USENIX)2.933 E (UNIX Security W)97 706.8 Q(orkshop Pr)-.92 E(oceedings)-.37 E F0 2.5(,A)C (ugust 1988.)262.07 706.8 Q EP %%Page: 10 10 BP/F0 10/Times-Roman@0 SF 2.5(-1)277.17 48 S 2.5(0-)288 48 S(Raleigh1988.)72 84 Q 1.498 -.74(T. R)97 96 T .018(aleigh and R. Underwood, `).74 F .018 (`CRACK: A Distributed Password Advisor)-.74 F(,')-.4 E(')-.74 E/F1 10 /Times-Italic@0 SF .019(USENIX UNIX Security)2.519 F -.92(Wo)97 108 S (rkshop Pr).92 E(oceedings)-.37 E F0 2.5(,A)C(ugust 1988.)200.97 108 Q (Reid1989.)72 123.6 Q(Dr)97 135.6 Q 2.5(.B)-.55 G(rian K Reid, DEC W)118.67 135.6 Q(estern Research Laboratory, 1989.)-.8 E(Personal communication.)5 E EP %%Trailer end