Article View: comp.security.misc
Article #246Re: Big Dictionary Searches (Was: Re: Problem with npasswd??)
From: Paul A. Karger
Date: Wed, 12 Aug 1992 20:46
Date: Wed, 12 Aug 1992 20:46
32 lines
2625 bytes
2625 bytes
In article <61350002@otter.hpl.hp.com>, sjmz@otter.hpl.hp.com (Stefek Zaba) writes: |> |> Maybe yes, maybe not; but I'm reminded of a classic password attack I heard |> about on (oneof (multics tops20)) a while back... |> This was an attack on TOPS-20. The file system associated passwords with directories, and your program could gain additional access rights to a directory, if it could quote the proper password. These passwords happened to be the same as the login passwords. |> The nice authenticate-passwd routine on this system was internally coded |> to do a letter-by-letter compare of the submitted password against the |> hidden registered password; it returned with failure on detecting the |> first mismatch. Thus-and-therefore, by repeated probes with your submitted |> password guess broken across a page boundary, arranging for the "far" page to |> be swapped out, and timing the return (remember, page faults cost *lots* of |> time in them thar days) you could reduce the number of probes from |> [alphabet_size ** passwd_length] to [alphabet_size * passwd_length]. |> |> (For the numberically impaired: with an 8-character password drawn from a |> 64-letter alphabet, that's the difference between 281,474,976,710,656 and |> 512). |> |> Unsurprisingly, the internal routine was changed to access all chars of the |> probe password before returning. |> |> A nice example of "covert channels"! This really is not an example of a covert channel. Covert channels involve illicit communications between two processes, a transmitter process that is running a Trojan horse, and a receiver process that belongs to a spy. The page fault count revealing the password is an example of an operating system argument validation problem. One of the basic tenets of proper argument validation is that the operating system must usually make a copy of the supplied arguments to avoid asynchronous attacks or revealing information improperly. (Argument validation for large I/O buffers must be done differently to avoid the performance problems of having to copy too much data.) Paul
Technical Details
Message-ID:
<1992Aug12.204649.4110@osf.org>Path:
arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!usc!rpi!think.com!paperboy.osf.org!osf.org!kargerReferences:
<71269183717599@juju.mcs.anl.gov> <61350002@otter.hpl.hp.com>Show Full Headers
Complete Article Headers
Newsgroups: comp.security.misc Path: arc1-ca.pugleaf.net!sparky!uunet!zaphod.mps.ohio-state.edu!usc!rpi!think.com!paperboy.osf.org!osf.org!karger From: karger@osf.org (Paul A. Karger) Subject: Re: Big Dictionary Searches (Was: Re: Problem with npasswd??) Message-ID: <1992Aug12.204649.4110@osf.org> Sender: news@osf.org (USENET News System) Organization: Open Software Foundation References: <71269183717599@juju.mcs.anl.gov> <61350002@otter.hpl.hp.com> Date: Wed, 12 Aug 1992 20:46:49 GMT Lines: 32