[comp.virus] Legislation and Protection

padgett%tccslr.dnet@uvs1.orl.mmc.com (A. Padgett Peterson) (03/08/91)

>From:    JHSangster@DOCKMASTER.NCSC.MIL
>Subject: Low-level signature checking protection

>With the checker in ROM, I don't think it is "too easy to fake the all
>clear signal" as Bob says.

Agree: hardware is the only real answer but there is another place to
put it that can be as effective (and simpler to install) than a new
BIOS (plus be compatable with every oddball machine that can run
MS-DOS).

What I am referring to is a ROM extension that could be as simple as
an 8-bit card with a ROM on it. Properly setup, it would take control
after all other ROM-extensions have been loaded and would be able to
perform functions not available until then (such as properly
re-directing INT 13) as well as boot drive selection (warm or cold),
password access, and disk encryption. In fact, I know of a couple of
vendors who have such products.

Of course, with some thought, it would be possible to design software
that "would not be too easy to fake" provided that the checking path
could be authenticated as we have been discussing for some time.

>What is probably needed to get the manufacturers to go along is either
>Federal legislation forcing every commercial software vendor to provide
>a signature or else a Federal standard requiring it on all software
>bought by the Federal government.

NO ! A thousand times NO ! If the fed had gotten into the act a
sequi-decade ago we would all be using EBCDIC instead of ASCII on our
8080s. (and R. A.  must be spinning in his grave to hear one of his
works being used to support such a scheme: ref. "If This Goes On"). I
agree that provable negligence is a powerful tool as an incentive for
authentication, but as used by the court system, not legislation
(considering the number of lawyers in this country, I am surprised
that this hasn't already happened).

Given that there are something on the close order of 75 million MS-DOS
based PCs worldwide, I would be surprised if more than 3-5% would
require such a high degree of protection though probably 90% need more
than the none that comes with them. Circa 4 million platforms then
require the rigorous protection that specialized companies like
Enigma-Logic, Certus, Fischer, etc. can provide.  Possibly ten million
are pure stand-alone machines that never will access outside software,
thus need nothing, leaving someting over sixty million PCs that would
probably benefit by something simple that is also cheap (<$10/PC) and
effective. (note: these numbers are pure guesses but are probably on
the right order). This means software. Simple software.

This also means that if, starting today, EVERY new PC had such
checking built into the ROM (and there would have to be an O/S
dependant component also), it would be quite a few years before a
significant dent in the population would be made.

The beta DOS 5.00 in test does not seem to have anything new for
integrity checking. (Heck, it doesn't even have the 10 bytes it takes
to make a .BAT file interactive - see the end of this posting). So it
will probably be 6.0 at least (if ever) before security is bundled.

So we are left with add-ons. Sure, a hardware ROM-extension could be
sold for under $50 but I would be surprised to see one unless someone
sets out to corner the market. However, what I would like to see is a
layered product, starting very simply with "optional extras" that play
together to build up to whatever is necessary. In fact I would be
surprised if several people are not already working on them.

				Enough for now,

						Padgett

Interactive .COM for batch files (use DEBUG):

a
mov ah,00	;
int 16		;wait for keyboard input & return in al
and al, 5F	;makes all alphas upper case, numbers become 10h-19h
mov ah, 4C
int 21          ;terminate with errorlevel return stored in al


rcx
a		;10 bytes
nask.com
w
q

Use of IF statements and ERRORLEVELs is well documented in DOS (since
3.0 I think) & will allow very simple (and fast) interactive batch
files: just give the user choices selectable with a single key, call
ASK, and branch on the errorlevel return. I use it with WINDOWS to
allow switch selection on launches such as PKUNZIP- app