The magazine of the Melbourne PC User Group
Sticky Beak’s Wonderment
Hartmut Rabich |
|
Forty years ago when I wrote my first programs for a very early computer everything was very casual:
there were only typewritten instructions, the computer jobs were stored on paper tape, the operators
fed the tapes manually into the machine, the very slow computer took minutes or even hours to complete
a job and the output-data were again on paper tape, which had to be printed in a separate job by a
teleprinter. We had to develop our own programs, chase errors and finally run the jobs with the appropriate
data to evaluate our experiments. No one thought about privacy. Later the input tapes were replaced by
cards, the outputs were changed to line printer listings: privacy was still no problem. But further
improvements brought us the interactive terminals for input-output and the excellent possibility to
keep the files stored on big disks.
Before, we sent the whole input file to the computer every time, but now we specified only corrections
to the already stored file. Every programmer had to name his files with his initials. Most of the stored
files were long columns of temperature, pressure, wind speed and similar data and hardly of interest to
a private person, but some files contained sensitive data like half finished papers. Suddenly privacy
was an issue: rumour had it that our computer operator who had installed and looked after the operating
system had read other peoples' files so programmers like myself decided to play games, fooling him with
bogus files. I wrote my first SCRAMBLER program and called my scrambled files xxxx.BIN (binary). Some
time later everyone had to choose a password and use it during the LOGIN process.
The introduction of passwords had its peculiarities. The computer operator asked me what password I
would wish him to put into the system for me. He added: "But - if you insist - you can press the keys
yourself." I answered "I am quite happy if you do it for me", thinking that he as a privileged operator
is able to read my files anyway - no matter if I allow it or not.
Immediately I planned to invent - if possible - a second (hidden) password the existence of which I would
not reveal to anyone. This job turned out to be quite simple: (Our operating system was not written in
DOS - but I will write my explanations in DOS language). It used the system prompt > in a canny way: The
prompt tells the user that the operating system is ready to receive the next user instruction. As early
as possible the file AUTOEXEC.BAT waited without any indication for the secret characters. If they were
not given the batch file would branch into a dead-end looping.
AUTOEXEC (not the system) would offer a bogus system prompt > and repeat the given letters on the next
line and offer the system-prompt on the following line again. The conversation could look like this:
|
>DIR
DIR
>TIME
TIME
>date
date
> ...
|
assuming that the intruder had typed: DIR TIME date etc. This worrying and frustrating cat and mouse
game would be repeated about ten times after which the LOGIN was broken off regardlessly. This behaviour
was really scary, as typing EXIT would not LOG OFF. I had added some actions behind the scene which made
the operations even more worthwhile: all commands of the intruder (who had already passed the barrier of
the first password) were copied into a prepared file TESTLOG together with all information that was
available eg. the date and time and terminal number. If on the other hand I answered with the correct
second password AUTOEXEC would take the following actions:
- test the existence of the file TESTLOG
- if positive: it would print it out
- continue with the rest of AUTOEXEC
When I designed this "second password trap" I thought it would never happen: but I was wrong. On one
afternoon around three o'clock TESTLOG was created, the untrustworthy privileged operator had passed
on my first password without my knowledge or permission to someone else who tried to copy one of my
files - although both people did know that a copy of this wanted file was already in a non-password-protected
area. Some people have difficulty respecting other people's privacy. By the way: nobody ever talked to me
about the strange behaviour of this particular LOGIN. Up till now I have kept quiet about this incidence.
This second password protected my files from access via LOGIN but not from the curiosity of the computer
operator, who, with special privileges could read, write and delete any file on the disks. So I added
another way of protection. Each file-listing of DOS contains only the date and time of the file creation
or its updating. The file-listing of the computer of this story contained also the date and time of the
last access, i.e. the last reading of the file. (The WINDOWS file systems with the long file names stores
also the last access date but not its time.) The computer operator was the only member of our community
who had a phone-line with modem connected to our computer and we did know that he used this means during
the night to snoop around. So I prepared two programs which run as last program before LOGOFF and as the
first program just after LOGIN: the first one wrote only a listing of all my present files, the other
program
- wrote another similar listing
- run a special program that compared the two listings, took special note of the last access time and
- sounded alarm if a discrepancy was noted.
Does the reader think the alarm had a chance to ring? The reader may ask "Does an operation system need
privileged operators?" Yes it does: it happens occasionally that one, two or more jobs interfere with
each other in such a way that no or few useful calculations are done. Only someone with the detailed
knowledge of the operation system can untangle the situation and he or she must be free of all restrictions.
But this person must practice a moral standard.
About the Author
Hartmut Rabich, hartmut@melbpc.org.au likes the systematic structure of computer hardware and software
and dislikes Microsoft.
Reprinted from the December 2002 issue of PC Update, the magazine of Melbourne PC User Group, Australia
|