|
















Prospective Clients
Fill out our contact page
and be eligible for 15% off your first service call.
|
 |
 |
|
The Ten Immutable Laws of Security |
|
Contents
of this page:
-
-
-
-
-
-
-
-
-
-
Law #1:
If a bad guy can persuade you to run his program on your
system, it's not your computer anymore.
It's an unfortunate fact of computer science: when a computer
program runs, it will do what it's programmed to do, even if
it's programmed to be harmful. When you choose to run a
program, you are making a decision to turn over control of
your computer to it. Once a program is running, it can do
anything, up to the limits of what you yourself can do on the
machine. It could monitor your keystrokes and send them to a
web site. It could open every document on the machine, and
change the word "will" to "won't" in all of them. It could
send rude emails to all your friends. It could install a
virus. It could create a "back door" that lets someone
remotely control your machine. It could dial up an ISP in
Katmandu. Or it could just reformat your hard drive.
Law #2:
If a bad guy can alter the operating system on your computer,
it's not your computer anymore.
In the end, an operating system is just a series of ones and
zeroes that, when interpreted by the processor, cause the
machine to do certain things. Change the ones and zeroes, and
it will do something different. Where are the ones and zeroes
stored? Why, on the machine, right along with everything else!
They're just files, and if other people who use the machine
are permitted to change those files, it's "game over".
To understand why, consider that operating system files are
among the most trusted ones on the computer, and they
generally run with system-level privileges. That is, they can
do absolutely anything. Among other things, they're trusted to
manage user accounts, handle password changes, and enforce the
rules governing who can do what on the computer. If a bad guy
can change them, the now-untrustworthy files will do his
bidding, and there's no limit to what he can do.
Law #3:
If a bad guy has unrestricted physical access to your
computer, it's not your computer anymore.
Always make sure that a computer is physically protected in a
way that's consistent with its value – and remember that the
value of a machine includes not only the value of the hardware
itself, but the value of the data on it, and the value of the
access to your network that a bad guy could gain. At a
minimum, business-critical machines like domain controllers,
database servers, and print/file servers should always be in a
locked room that only people charged with administration and
maintenance can access. But you may want to consider
protecting other machines as well, and potentially using
additional protective measures.
Law #4:
If you allow a bad guy to upload programs to your web site,
it's not your web site any more.
This is basically Law #1 in reverse. In that scenario, the bad
guy tricks his victim into downloading a harmful program onto
his machine and running it. In this one, the bad guy uploads a
harmful program to a machine and runs it himself. Although
this scenario is a danger anytime you allow strangers to
connect to your machine, web sites are involved in the
overwhelming majority of these cases. Many people who operate
web sites are too hospitable for their own good, and allow
visitors to upload programs to the site and run them. As we've
seen above, unpleasant things can happen if a bad guy's
program can run on your machine.
If you run a web site, you need to limit what visitors can do.
You should only allow a program on your site if you wrote it
yourself, or if you trust the developer who wrote it. But that
may not be enough.
Law #5:
Weak passwords trump strong security.
The purpose of having a logon process is to establish who you
are. Once the operating system knows who you are, it can grant
or deny requests for system resources appropriately. If a bad
guy learns your password, he can log on as you. In fact, as
far as the operating system is concerned, he is you. Whatever
you can do on the system, he can do as well, because he's you.
Maybe he wants to read sensitive information you've stored on
your computer, like your email. Maybe you have more privileges
on the network than he does, and being you will let him do
things he normally couldn't. Or maybe he just wants to do
something malicious and blame it on you. In any case, it's
worth protecting your credentials.
Always use a password – it's amazing how many accounts have
blank passwords. And choose a complex one. Don't use your
dog's name, your anniversary date, or the name of the local
football team. And don't use the word "password"! Pick a
password that has a mix of upper- and lower-case letters,
number, punctuation marks, and so forth. Make it as long as
possible. And change it often. Once you've picked a strong
password, handle it appropriately. Don't write it down. If you
absolutely must write it down, at the very least keep it in a
safe or a locked drawer – the first thing a bad guy who's
hunting for passwords will do is check for a yellow sticky
note on the side of your screen, in the top desk drawer, under
the keyboard, or under the mouse pad. Don't tell anyone what
your password is.
Law #6:
A machine is only as secure as the administrator is
trustworthy.
Every computer must have an administrator: someone who can
install software, configure the operating system, add and
manage user accounts, establish security policies, and handle
all the other management tasks associated with keeping a
computer up and running. By definition, these tasks require
that he have control over the machine. This puts the
administrator in a position of unequalled power. An
untrustworthy administrator can negate every other security
measure you've taken. He can change the permissions on the
machine, modify the system security policies, install
malicious software, add bogus users, or do any of a million
other things. He can subvert virtually any protective measure
in the operating system, because he controls it. Worst of all,
he can cover his tracks. If you have an untrustworthy
administrator, you have absolutely no security.
Next, take steps to help keep honest people honest. Use
sign-in/sign-out sheets to track who's been in the server
room. Implement a "two person" rule when installing or
upgrading software. Diversify management tasks as much as
possible, as a way of minimizing how much power any one
administrator has. Also, don't use the Administrator account –
instead, give each administrator a separate account with
administrative privileges, so you can tell who's doing what.
Finally, consider taking steps to make it more difficult for a
rogue administrator to cover his tracks. For instance, store
audit data on write-only media, or house System A's audit data
on System B, and make sure that the two systems have different
administrators. The more accountable your administrators are,
the less likely you are to have problems.
Law #7:
Encrypted data is only as secure as the decryption key.
Many operating systems and cryptographic software products
give you an option to store cryptographic keys on the
computer. The advantage is convenience – you don't have to
handle the key – but it comes at the cost of security. The
keys are usually obfuscated, and some of the obfuscation
methods are quite good. But in the end, no matter how
well-hidden the key is, if it's on the machine it can be
found. It has to be – after all, the software can find it, so
a sufficiently-motivated bad guy could find it, too. Whenever
possible, use offline storage for keys. If the key is a word
or phrase, memorize it. If not, export it to a floppy disk,
make a backup copy, and store the copies in separate, secure
locations.
Law #8:
An out of date virus scanner is only marginally better than no
virus scanner at all.
Virus scanners work by comparing the data on your computer
against a collection of virus "signatures". Each signature is
characteristic of a particular virus, and when the scanner
finds data in a file, email, or elsewhere that matches the
signature, it concludes that it's found a virus. However, a
virus scanner can only scan for the viruses it knows about.
It's vital that you keep your virus scanner's signature file
up to date, as new viruses are created every day.
The problem actually goes a bit deeper than this, though.
Typically, a new virus will do the greatest amount of damage
during the early stages of its life, precisely because few
people will be able to detect it. Once word gets around that a
new virus is on the loose and people update their virus
signatures, the spread of the virus falls off drastically. The
key is to get ahead of the curve, and have updated signature
files on your machine before the virus hits.
Law #9:
Absolute anonymity isn't practical, in real life or on the
web.
If you visit a web site, the owner can, if he's sufficiently
motivated, find out who you are. After all, the ones and
zeroes that make up the web session have be able to find their
way to the right place, and that place is your computer. There
are a lot of measures you can take to disguise the bits, and
the more of them you use, the more thoroughly the bits will be
disguised. For instance, you could use network address
translation to mask your actual IP address, subscribe to an
anonymizing service that launders the bits by relaying them
from one end of the ether to the other, use a different ISP
account for different purposes, surf certain sites only from
public kiosks, and so on. All of these make it more difficult
to determine who you are, but none of them make it impossible.
Do you know for certain who operates the anonymizing service?
Maybe it's the same person who owns the web site you just
visited! Or what about that innocuous web site you visited
yesterday, that offered to mail you a free $10 off coupon?
Maybe the owner is willing to share information with other web
site owners. If so, the second web site owner may be able to
correlate the information from the two sites and determine who
you are.
Does this mean that privacy on the web is a lost cause? Not at
all. What it means is that the best way to protect your
privacy on the Internet is the same as the way you protect
your privacy in normal life - through your behavior.
Law #10:
Technology is not a panacea.
Technology can do some amazing things. Recent years have seen
the development of ever-cheaper and more powerful hardware,
software that harnesses the hardware to open new vistas for
computer users, as well as advancements in cryptography and
other sciences. It's tempting to believe that technology can
deliver a risk-free world, if we just work hard enough.
However, this is simply not realistic.
Perfect security requires a level of perfection that simply
doesn't exist, and in fact isn't likely to ever exist. This is
true for software as well as virtually all fields of human
interest. Software development is an imperfect science, and
all software has bugs. Some of them can be exploited to cause
security breaches. That's just a fact of life. But even if
software could be made perfect, it wouldn't solve the problem
entirely. Most attacks involve, to one degree or another, some
manipulation of human nature – this is usually referred to as
social engineering. Raise the cost and difficulty of attacking
security technology, and bad guys will respond by shifting
their focus away from the technology and toward the human
being at the console. It's vital that you understand your role
in maintaining solid security, or you could become the chink
in your own systems' armor.
The solution is to recognize two essential points. First,
security consists of both technology and policy – that is,
it's the combination of the technology and how it's used that
ultimately determines how secure your systems are. Second,
security is journey, not a destination – it isn't a problem
that can be "solved" once and for all; it's a constant series
of moves and countermoves between the good guys and the bad
guys. The key is to ensure that you have good security
awareness and exercise sound judgment. There are resources
available to help you do this. The Microsoft Security web
site, for instance, has hundreds of white papers, best
practices guides, checklists and tools, and we're developing
more all the time. Combine great technology with sound
judgment, and you'll have rock-solid security.
|
|
|