Thursday, April 9, 2009
Operating System Security
Since many computers are connected to a network of some kind, the operating system is also in charge of all network traffic. If the operating system is poorly designed, a malicious hacker or malicious script will be able to force the host computer into doing something that the user did not intend to happen. Operating system security is so important that the United States Department of Defense created the Trusted Computer System Evaluation Criteria, which sets basic requirements that every operating system must have in order to be considered secure.
Monday, April 6, 2009
Database Security
Thursday, March 19, 2009
Passwords: How Are They Secured?

Just how do passwords work? Perhaps the average user hasn’t given it much thought, however the password has to be digitally stored somewhere within a computer system so that the password-protected program can check the entered password against the correct one. Obviously, this can cause security issues. If the password is stored on a computer or in a database for a company, what will stop a person from simply searching for the file in which the password is stored and reading it?
This solution to this problem is hashing. Hashing uses a mathematical formula to convert the original password into something that is impossible to read by a human. This formula is designed so that it is a one-way process. A password can be converted into a hash but it is almost impossible to convert a hash back into the password. This leads us to another problem. If the hash cannot be converted into a password, how does the program verify the password entered? It doesn’t actually compare the passwords, it compares the hash to the passwords. If the two hashes don’t match, then the password was incorrect. However, this leads us to yet another problem. Certain mathematical formulas can give the same hash value for two completely different passwords. Therefore, before the mathematical formula is used, a formal proof is necessary to ensure that it will produce a different hash for every single password. Once hashing is implemented, even if someone is able to obtain the list of hashes they will not be able to extract the actual passwords.
Friday, March 13, 2009
RFID Chips In Credit Cards: Are They Secure?

Often people do not realize that virtually everything somehow relies on a computer chip. What people also do not realize is the security issues involved when a computer chip is used to control a device, particularly one that deals with sensitive data. When a computer chip becomes integrated into a credit card, security issues become paramount.
An experiment done by The Univerisity of Massachussets proved such vulnerabilities. Even though the protocols and commands used by Radio frequency identification chips, or RFID, could not be found publicly, the team of researchers were able to reverse engineer both the readers and the credit cards themselves. They stated that "The experiments indicate that all the cards are susceptible to live relay attacks, all the cards are susceptible to disclosure of personal information, and many of the cards are susceptible to various types of replay attacks. In addition, we successfully completed a cross-contamination attack against the magstripe of one card. All but one of the other cards tested appear to be susceptible to the cross-contamination attack as well." Unfortunately, people are led into a false sense of security when they used credit cards with an embedded RFID chip. If people knew of these vulnerabilities, would they be so willing to use these credit cards? If they also knew that these cards could also be read from a distance of 33 feet away with the proper equipment, would they be so quick to accept them? I know I wouldn't.
For more information, visit the University of Massachussets study here.
Tuesday, March 10, 2009
Viruses: Not always what they seem
.jpg)
Monday, March 2, 2009
Open Source: Is it safer?

Open source software means that the code used to create the program is publicly known, and not hidden like most software packages a person would pay for. These programs, such as the web browser Mozilla Firefox and Linux based operating systems claim to be safer than their counterparts Microsoft's Internet explorer and Microsoft Windows. What makes these programs safer, when there are teams of professionals working on Microsoft's products?
Most security issues arise because of a bug in a certain program. These bugs, such as buffer overflows, allow a ill-meaning person to exploit the error in the code and force the program to do something the developer did not intend the program to do. These bugs are common and every single program has them. Therefore, it is not how many bugs a program has the determines the security of the software but how the bugs are dealt with and how easy it is to find them. When a company hides the code of the software, it becomes difficult for the end user to find where an error in the code is if one occurs. This is where most bugs surface, because it is impossible to simulate every possible use of the program before it becomes available to the public. The user simply sends a report to the software vendor and they try to recreate the exact situation to find the bug. Unfortunately, this is not always possible because a program has an almost infinite number of directions it can go in, thereby constantly changing variable values. However, if the code is publicly available, the end user can debug the software exactly when the error occurred, increasing the probability that the bug can be found. Since more people are looking for bugs than in software where the code is hidden, the time it takes for the bug to be fixed greatly decreases. In fact, according to independent tests, Internet Explorer was unsafe for 284 days in 2006 while Mozilla Firefox was unsafe for only 9. Sometimes the best things in life really are free.
Tuesday, February 10, 2009
Encryption: The Backbone of Security

In order to protect sensitive data being sent across the internet, a process called encryption is used. Encryption uses some sort of mathematical function that transforms the data, making it unreadable by everyone except the person who possesses the key, which is used to transform the data back into its original state. When the data is transformed, the process is called encrypting. When the data is received and converted back into its original form, the process is called decrypting.
How well an encryption technique works depends upon several factors. First, the larger the key is the safer the data will be. What is more important is what technique is used. The transformation must create a set of data that does not seem to fit any kind of patterns, otherwise it would be simple for a computer program to simulate data and find the function that was used.
One of the problems encountered when data is encrypted is that somehow the encryption key has to be known by both parties. This creates a problem because the encryption key has to be sent unencrypted, or encrypted by some other encryption technique. However, this means that if the other encryption technique has already been cracked then the new key will be immediately know. Public key cryptography, also known as asymmetric cryptography overcomes this problem. This algorithm is employed by SSL encryption, which is used for many banking sites and to verify passwords for emails. This algorithm uses two keys; one is used to encrypt the message and the other is used to decrypt it. Therefore only one key needs to be made public, and the other can be kept private. The public key can be used by anyone to encrypt a message, but it can only be decrypted by the private key. This increases the overall security of the encryption algorithm.