🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: comp.security.misc
Article #246

Re: Big Dictionary Searches (Was: Re: Problem with npasswd??)

#246
From: Paul A. Karger
Date: Wed, 12 Aug 1992 20:46
32 lines
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!karger
References: <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