Intrusion
"They're impossible to test because nobody knows what to test for." - Niels Ferguson & Bruce Schneier, regarding security systems.
There are 2 major computer security threats that exist: (1) Intrusion and (2) Viruses. Intrusion can range from the benign which consist of people exploring networks to the malign who are people that wish to disrupt processes, read highly sensitive information or modify data. The problem with determining the difference is that there's no way to know before the fact whether or not an intruder is benign or malign. Intrusion can consist of attempts to copy password files or suspicious RPC's (Remote Procedure Calls). Due to globalization, growing number of client/server apps and hacker's steep learning curves computer intrusion is still highly prevalent.
An example, was the case at Texas A&M University in August 1992. Certain computers at their computer center were being used to attack other computers via the Internet. Files were found containing multiple passwords, some of which were to important servers. The hackers actually had a 2 level hierarchy, one which consisted of a few highly technologically skilled people and a plethora of foot soldiers who used the supplied cracking programs, who didn't really understand how things worked but were willing to spend numerous hours probing for weaknesses. Additionally, hackers modified login software for capturing passwords of people logging on to systems, of which were ironically collected on a bulletin board located on one of the victim's machines.
Techniques
Stallings lists 8 techniques for learning passwords:
1. Try default passwords used with standard accounts that are shipped with the system. Many administrators do not bother to change these defaults.
2. Exhaustively try all short passwords (those of one to three characters).
3. Try words in the system's online dictionary or a list of likely passwords. Examples of the latter are readily available on the hacker bulletin boards.
4. Collect information about users, such as their full names, the names of their spouse and children, pictures in their office, and books in their office that related to hobbies.
5. Try users' phone numbers, social security numbers and room numbers.
6. Try all legitimate license plate numbers for this state.
7. Use a Trojan horse to bypass restrictions on access.
8. Tap the line between a remote user and the host system.
Guessing a password is tedious and usually systems reject login attempts after 3 tries. So intruders try other more automated ways to to get around this. A Trojan horse can live within another application. For instance, let's say that a system operator was bored and got lured into playing a computer game that actually reads system files in the background.
Prevention
Prevention is difficult because one strives for an absolute measure in that all possible areas of attack need to be thwarted. Ultimately, passwords are the focus of what hackers strive for. Let us exam UNIX password protection and vulnerabilities. A new user selects a password with a length of up to 8 characters which is converted to a 56 bit value. This value along with a "salt" value of 12 bits, which is randomly generated based on the time are provided as input into an encryption scheme such as DES. The resulting ciphertext password is then stored with the salt value and the user ID. The salt value prevents duplicate passwords from being visible, increases the password length by a factor of 4096 and prevents a hardware encryption process which eases brute force attacks.

There exists 2 threats to UNIX passwords. A user can gain access via a guest account and then run a password guessing program. With little resource consumption the cracker can check thousands of passwords. Ultimately, password cracking relies on the fact that some passwords are going to be easily guessable. A study was done at Purdue University that showed out of approximately 7000 users 3% had passwords sizes of 3 characters or less. Granted a system can require that the password length be a larger size such as 8 characters but we still have the guessing element to deal with. Which set of passwords are easier to remember: (i38sr4j3 s6b0pl3k qsd9y82t) or (william7 black873 2beornot)?
Another study was conducted by Klein where out of 14,000 UNIX encrypted passwords, 1/4 of them were guessed. The following strategy was used. Attempt personal information such as user's initials, account name, etc. Attempt words from a dictionary and various permutations of those words. Attempts at reversing a word, using upper cases, etc. A total of roughly 3 million words were accumulated and to encrypt these words with all possible salt values takes roughly an hour. Even though the rate of finding a match can be relatively low (not in this study, however) it only takes one. The following is a chart from that study:
|
Types
of Passwords
|
Search
Size
|
Number
of Matches
|
%
of Matched
|
| User/Account name |
130
|
368
|
2.7%
|
| Character Sequence |
866
|
22
|
0.2%
|
| Numbers |
427
|
9
|
0.1%
|
| Chinese |
392
|
56
|
0.4%
|
| Place names |
628
|
82
|
0.6%
|
| Common places |
2239
|
548
|
4.0%
|
| Female names |
4280
|
161
|
1.2%
|
| Male names |
2866
|
140
|
1.0%
|
| Uncommon names |
4955
|
130
|
0.9%
|
| Myths & legends |
1246
|
66
|
0.5%
|
| Shakespearean |
473
|
11
|
0.1%
|
| Sports terms |
238
|
32
|
0.2%
|
| Science fiction |
691
|
59
|
0.4%
|
| Movies and actors |
99
|
12
|
0.1%
|
| Cartoons |
92
|
9
|
0.1%
|
| Famous people |
290
|
55
|
0.4%
|
| Phrases and patterns |
933
|
253
|
0.8%
|
| Surnames |
33
|
9
|
0.1%
|
| Biology |
58
|
1
|
0.0%
|
| System dictionary |
19,683
|
1027
|
7.4%
|
| Machine names |
9018
|
132
|
1.0%
|
| Mnemonics |
14
|
2
|
0.0%
|
| King James Bible |
7525
|
83
|
0.6%
|
| Miscellaneous words |
3212
|
54
|
0.4%
|
| Yiddish words |
56
|
0
|
0.0%
|
|
Asteroids |
2407
|
19
|
0.1%
|
| Total |
62,727
|
3,340
|
24.2%
|
So it would suffice to say that if you have to choose a password, choose one that is at least semi random. Some current applications will even flag a weak or predictable password (based on statistics) and notify the user to choose another password.
Detection
A second line of defense is intrusion detection. The quicker an intrusion can be detected the less amount of damage can be done. However, the 64 thousand dollar question is how is an intruder properly detected as opposed to an authorized user? Granted behavioral patterns are slightly different but there exists a behavioral overlap. This can lead to false positives. Sometimes a more historical approach needs to occur such that audit trails are kept of actually all users so that there exists an additional basis for comparison.
Links
http://directory.google.com/Top/Computers/Hacking/
http://directory.google.com/Top/Society/Issues/Terrorism/Cyber_Terrorism/
http://www.bletchleypark.net/crypt/securitytips.html