229 lines
11 KiB
Plaintext
229 lines
11 KiB
Plaintext
|
The Meaning of `Hack' - The Jargon File
|
|||
|
=====================
|
|||
|
|
|||
|
"The word {hack} doesn't really have 69 different meanings", according
|
|||
|
to Phil Agre, an MIT hacker. "In fact, {hack} has only one meaning, an
|
|||
|
extremely subtle and profound one which defies articulation. Which
|
|||
|
connotation is implied by a given use of the word depends in similarly
|
|||
|
profound ways on the context. Similar remarks apply to a couple of
|
|||
|
other hacker words, most notably {random}."
|
|||
|
|
|||
|
Hacking might be characterized as "an appropriate application of
|
|||
|
ingenuity". Whether the result is a quick-and-dirty patchwork job or
|
|||
|
a carefully crafted work of art, you have to admire the cleverness
|
|||
|
that went into it.
|
|||
|
|
|||
|
An important secondary meaning of {hack} is `a creative practical
|
|||
|
joke'. This kind of hack is often easier to explain to non-hackers
|
|||
|
than the programming kind. Accordingly, here are some examples of
|
|||
|
practical joke hacks:
|
|||
|
|
|||
|
In 1961, students from Caltech (California Institute of Technology in
|
|||
|
Pasadena) hacked the Rose Bowl football game. One student posed as a
|
|||
|
reporter and `interviewed' the director of the University of
|
|||
|
Washington card stunts (such stunts involve people in the stands who
|
|||
|
hold up colored cards to make pictures). The reporter learned exactly
|
|||
|
how the stunts were operated, and also that the director would be out
|
|||
|
to dinner later.
|
|||
|
|
|||
|
While the director was eating, the students (who called themselves the
|
|||
|
`Fiendish Fourteen') picked a lock and stole one of the direction
|
|||
|
sheets for the card stunts. They then had a printer run off 2300
|
|||
|
copies of the sheet. The next day they picked the lock again and
|
|||
|
stole the master plans for the stunts, large sheets of graph paper
|
|||
|
colored in with the stunt pictures. Using these as a guide, they
|
|||
|
carefully made `corrections' for three of the stunts on the
|
|||
|
duplicate instruction sheets. Finally, they broke in once more,
|
|||
|
replacing the stolen master plans and substituting the stack of
|
|||
|
altered instruction sheets for the original set.
|
|||
|
|
|||
|
The result was that three of the pictures were totally different.
|
|||
|
Instead of spelling "WASHINGTON", the word "CALTECH" was flashed.
|
|||
|
Another stunt showed the word "HUSKIES", the Washington nickname,
|
|||
|
but spelled it backwards. And what was supposed to have been a
|
|||
|
picture of a husky instead showed a beaver. (Both Caltech and MIT use
|
|||
|
the beaver as a mascot. Beavers are nature's engineers.)
|
|||
|
|
|||
|
After the game, the Washington faculty athletic representative said,
|
|||
|
"Some thought it ingenious; others were indignant." The Washington
|
|||
|
student body president remarked, "No hard feelings, but at the time
|
|||
|
it was unbelievable. We were amazed."
|
|||
|
|
|||
|
This is now considered a classic hack, particularly because revising
|
|||
|
the direction sheets constituted a form of programming not unlike
|
|||
|
computer programming.
|
|||
|
|
|||
|
Another classic hack:
|
|||
|
|
|||
|
Some MIT students once illicitly used a quantity of thermite to weld a
|
|||
|
trolley car to its tracks. The hack was actually not dangerous, as
|
|||
|
they did this at night to a parked trolley. It took the transit
|
|||
|
people quite a while to figure out what was wrong with the trolley,
|
|||
|
and even longer to figure out how to fix it. They ended up putting
|
|||
|
jacks under the trolley and cutting the section of track on either
|
|||
|
side of the wheel with oxyacetylene torches. Then they unbolted the
|
|||
|
wheel, welded in a new piece of track, bolted on a new wheel, and
|
|||
|
removed the jacks. The hackers sneaked in the next night and stole the
|
|||
|
piece of track and wheel!
|
|||
|
|
|||
|
The piece of trolley track with the wheel still welded to it was later
|
|||
|
used as the trophy at the First Annual All-Tech Sing. They carted it
|
|||
|
in on a very heavy duty dolly up the freight elevator of the Student
|
|||
|
Center. Six feet of rail and a trolley wheel is a *lot* of
|
|||
|
steel.
|
|||
|
|
|||
|
A rather similar hack, perpetrated by a fraternity at CMU, cost their
|
|||
|
campus its trolley service.
|
|||
|
|
|||
|
Though these displayed some cleverness, the side-effect of expensive
|
|||
|
property damage was definitely an esthetic minus. The best hacks are
|
|||
|
harmless ones.
|
|||
|
|
|||
|
And another:
|
|||
|
|
|||
|
One winter, late at night, an MIT fraternity hosed down an underpass
|
|||
|
that is part of a commuter expressway near MIT. This produced an ice
|
|||
|
slick that `trapped' a couple of small cars: they didn't have the
|
|||
|
momentum or traction to climb out of the underpass. While it was
|
|||
|
clever to apply some simple science to trap a car, it was also very
|
|||
|
dangerous as it could have caused a collision. Therefore this was a
|
|||
|
very poor hack overall.
|
|||
|
|
|||
|
And yet another:
|
|||
|
|
|||
|
On November 20, 1982, MIT hacked the Harvard-Yale football game. Just
|
|||
|
after Harvard's second touchdown against Yale in the second quarter, a
|
|||
|
small black ball popped up out of the ground at the 40-yard line, and
|
|||
|
grew bigger, and bigger, and bigger. The letters "MIT" appeared all
|
|||
|
over the ball. As the players and officials stood around gawking, the
|
|||
|
ball grew to six feet in diameter and then burst with a bang and a
|
|||
|
cloud of white smoke.
|
|||
|
|
|||
|
As the Boston Globe later reported, "If you want to know the truth,
|
|||
|
M.I.T. won The Game."
|
|||
|
|
|||
|
The prank had taken weeks of careful planning by members of MIT's
|
|||
|
Delta Kappa Epsilon fraternity. The device consisted of a weather
|
|||
|
balloon, a hydraulic ram powered by Freon gas to lift it out of the
|
|||
|
ground, and a vacuum-cleaner motor to inflate it. They made eight
|
|||
|
separate expeditions to Harvard Stadium between 1 and 5 AM, in which
|
|||
|
they located an unused 110-volt circuit in the stadium, and ran buried
|
|||
|
wiring from the stadium circuit to the 40-yard line, where they buried
|
|||
|
the balloon device. When the time came to activate the device, two
|
|||
|
fraternity members had merely to flip a circuit breaker and push a
|
|||
|
plug into an outlet.
|
|||
|
|
|||
|
This stunt had all the earmarks of a perfect hack: surprise,
|
|||
|
publicity, the ingenious use of technology, safety, and harmlessness.
|
|||
|
The use of manual control allowed the prank to be timed so as not to
|
|||
|
disrupt the game (it was set off between plays, so the outcome of the
|
|||
|
game would not be unduly affected). The perpetrators had even
|
|||
|
thoughtfully attached a note to the balloon explaining that the device
|
|||
|
was not dangerous and contained no explosives.
|
|||
|
|
|||
|
Harvard president Derek Bok commented: "They have an awful lot of
|
|||
|
clever people down there at MIT, and they did it again." President
|
|||
|
Paul E. Gray of MIT said, "There is absolutely no truth to the rumor
|
|||
|
that I had anything to do with it, but I wish there were."
|
|||
|
|
|||
|
Finally, here is a great story about one of the classic computer hacks.
|
|||
|
|
|||
|
Back in the mid-1970s, several of the system support staff at Motorola
|
|||
|
discovered a relatively simple way to crack system security on the
|
|||
|
Xerox CP-V timesharing system. Through a simple programming strategy,
|
|||
|
it was possible for a user program to trick the system into running a
|
|||
|
portion of the program in `master mode' (supervisor state), in which
|
|||
|
memory protection does not apply. The program could then poke a large
|
|||
|
value into its `privilege level' byte (normally write-protected) and
|
|||
|
could then proceed to bypass all levels of security within the
|
|||
|
file-management system, patch the system monitor, and do numerous
|
|||
|
other interesting things. In short, the barn door was wide open.
|
|||
|
|
|||
|
Motorola quite properly reported this problem to XEROX via an official
|
|||
|
`level 1 SIDR' (a bug report with a perceived urgency of `needs to be
|
|||
|
fixed yesterday'). Because the text of each SIDR was entered into a
|
|||
|
database that could be viewed by quite a number of people, Motorola
|
|||
|
followed the approved procedure: they simply reported the problem as
|
|||
|
`Security SIDR', and attached all of the necessary documentation,
|
|||
|
ways-to-reproduce, etc. separately.
|
|||
|
|
|||
|
Xerox sat on their thumbs...they either didn't realize the severity of
|
|||
|
the problem, or didn't assign the necessary operating-system-staff
|
|||
|
resources to develop and distribute an official patch.
|
|||
|
|
|||
|
Months passed. The Motorola guys pestered their Xerox field-support
|
|||
|
rep, to no avail. Finally they decided to take Direct Action, to
|
|||
|
demonstrate to Xerox management just how easily the system could be
|
|||
|
cracked and just how thoroughly the system security systems could be
|
|||
|
subverted.
|
|||
|
|
|||
|
They dug around in the operating-system listings and devised a
|
|||
|
thoroughly devilish set of patches. These patches were then
|
|||
|
incorporated into a pair of programs called Robin Hood and Friar Tuck.
|
|||
|
Robin Hood and Friar Tuck were designed to run as `ghost jobs'
|
|||
|
(daemons, in UNIX terminology); they would use the existing loophole
|
|||
|
to subvert system security, install the necessary patches, and then
|
|||
|
keep an eye on one another's statuses in order to keep the system
|
|||
|
operator (in effect, the superuser) from aborting them.
|
|||
|
|
|||
|
So... one day, the system operator on the main CP-V software
|
|||
|
development system in El Segundo was surprised by a number of unusual
|
|||
|
phenomena. These included the following:
|
|||
|
|
|||
|
* Tape drives would rewind and dismount their tapes in the middle of a
|
|||
|
job.
|
|||
|
* Disk drives would seek back and forth so rapidly that they'd attempt
|
|||
|
to walk across the floor (see {walking drives}).
|
|||
|
* The card-punch output device would occasionally start up of itself
|
|||
|
and punch a {lace card} (every hole punched). These would usually
|
|||
|
jam in the punch.
|
|||
|
* The console would print snide and insulting messages from Robin Hood
|
|||
|
to Friar Tuck, or vice versa.
|
|||
|
* The Xerox card reader had two output stackers; it could be
|
|||
|
instructed to stack into A, stack into B, or stack into A unless a
|
|||
|
card was unreadable, in which case the bad card was placed into
|
|||
|
stacker B. One of the patches installed by the ghosts added some
|
|||
|
code to the card-reader driver... after reading a card, it would flip
|
|||
|
over to the opposite stacker. As a result, card decks would divide
|
|||
|
themselves in half when they were read, leaving the operator to
|
|||
|
recollate them manually.
|
|||
|
|
|||
|
There were some other effects produced, as well.
|
|||
|
|
|||
|
Naturally, the operator called in the operating-system developers. They
|
|||
|
found the bandit ghost jobs running, and X'ed them... and were once
|
|||
|
again surprised. When Robin Hood was X'ed, the following sequence of
|
|||
|
events took place:
|
|||
|
|
|||
|
!X id1
|
|||
|
|
|||
|
id1: Friar Tuck... I am under attack! Pray save me!
|
|||
|
id1: Off (aborted)
|
|||
|
|
|||
|
id2: Fear not, friend Robin! I shall rout the Sheriff of
|
|||
|
Nottingham's men!
|
|||
|
|
|||
|
id1: Thank you, my good fellow!
|
|||
|
|
|||
|
Each ghost-job would detect the fact that the other had been killed,
|
|||
|
and would start a new copy of the recently-slain program within a few
|
|||
|
milliseconds. The only way to kill both ghosts was to kill them
|
|||
|
simultaneously (very difficult) or to deliberately crash the system.
|
|||
|
|
|||
|
Finally, the system programmers did the latter... only to find that
|
|||
|
the bandits appeared once again when the system rebooted! It turned
|
|||
|
out that these two programs had patched the boot-time image (the
|
|||
|
/vmunix file, in UNIX terms) and had added themselves to the list of
|
|||
|
programs that were to be started at boot time...
|
|||
|
|
|||
|
The Robin Hood and Friar Tuck ghosts were finally eradicated when the
|
|||
|
system staff rebooted the system from a clean boot-tape and
|
|||
|
reinstalled the monitor. Not long thereafter, Xerox released a patch
|
|||
|
for this problem.
|
|||
|
|
|||
|
It is alleged that Xerox filed a complaint with Motorola's management about
|
|||
|
the merry-prankster actions of the two employees in question. It is
|
|||
|
not recorded that any serious disciplinary action was taken against
|
|||
|
either of them.
|
|||
|
|
|||
|
|