Ten Laws of Security

January 31, 2011

The ten laws of security, from Microsoft’s TechNet site. Click on the link for full explanations, if you like.

Law #1: If a bad guy can persuade you to run his program on your computer, it’s not your computer anymore
Law #2: If a bad guy can alter the operating system on your computer, it’s not your computer anymore
Law #3: If a bad guy has unrestricted physical access to your computer, it’s not your computer anymore
Law #4: If you allow a bad guy to upload programs to your website, it’s not your website any more
Law #5: Weak passwords trump strong security
Law #6: A computer is only as secure as the administrator is trustworthy
Law #7: Encrypted data is only as secure as the decryption key
Law #8: An out of date virus scanner is only marginally better than no virus scanner at all
Law #9: Absolute anonymity isn’t practical, in real life or on the Web
Law #10: Technology is not a panacea


Definition Monday: Virtual Private Networks

January 31, 2011

Welcome to Definition Monday, where we define and explain a common technology or security concept for the benefit of our less experienced readers. This week: Virtual Private Networks.

Virtual Private Networks, commonly referred to as “VPNs” for the sake of brevity, are a common technology in today’s corporate networks. The concept behind them is simple – provide a way for two geographically distinct sites to appear to be on the same internal LAN, so that the users and computers on those networks can share resources. At the same time, of course, those resources need to be protected from the users of the Internet at large.

Back in the Dark Ages, when I started working in IT, connecting two sites to one another required either either laying fresh cable or (more likely) leasing a connection from the local telecom monopoly. You would call up the corporate sales office for your RBOC and tell them that you needed a T-1 or T-3 or Frame Relay connection between two sites, and they would quote you an outrageous price. You would then pay it, because you had no other options, and would receive a slow-by-today’s-standards dedicated connection between the two locations. Your satellite office could now access internal resources in your main office.

Now, dedicated lines weren’t all bad, of course – they were reliable, for the most part, and secure. But they were very pricey, and not a geographically flexible technology; if you signed that contract, your satellite office wasn’t going to be moving for a long, long time.

VPNs give that same sort of functionality, but without the physical networking path. Essentially, a VPN is a cryptographically secure tunnel between two sites on the Internet. Traffic flows through, from one side to the other, securely wrapped in something like IPsec and unaware of the transition between networks. From the point of view of the end user’s applications, it is a transparent technology.

One implementation style of VPN is the client-server model, as seen above: this is when a remote worker needs to access corporate resources, and so he or she runs a VPN software client on a computer at a remote location to connect to the corporate network. This allows the client to have a network address on the corporate network; it’s essentially the same as just giving the client a very, very long Ethernet cable and plugging it in behind the corporate firewall. All traffic intended for the corporate network, symbolized by the green line above, passes through the firewall and is able to access the internal corporate network directly.

Another style is the site-to-site, or LAN-to-LAN, model. This is the replacement for the dedicated leased line model above; traffic is transparently routed through a tunnel between the edge of one network and the VPN concentrator on another network. Using the same green line as in the previous example, you see that the encrypted tunnel actually starts at the router that the client computer is connected to, rather than at the client computer itself. This would be used when setting up a remote or satellite office. But since the VPN is not tied to a physical wiring structure, as with a leased line, this can be used to set up a temporary office “in the field”.

Which approach is correct? It depends on a lot of factors – how many people will be using the VPN, how permanent a satellite location is, what sort of authentication and authorization schemes you have in place or need to be implemented. But independent of the details, the VPN technology as a whole is an excellent tool for a geographically dispersed business that needs to share computer resources among employees while protecting them from the Internet at large.


Definition Monday: Information Security

January 24, 2011

Welcome to Definition Monday, where we define and explain a common technology or security concept for the benefit of our less experienced readers. This week: Information Security.

“I shall not today attempt further to define the kinds of material I understand to be embraced within that shorthand description; and perhaps I could never succeed in intelligibly doing so. But I know it when I see it.”

This famous quotation from Justice Potter Stewart is from the obscenity case of Jacobellis v. Ohio – the Justice is saying that he cannot come up with a succinct and simple definition of pornography, but he knows it when he sees it. If you will forgive the comparison, the same thing can often be said about Information Security.

It’s easy to tell when Information Security has failed. Credit card numbers stolen? Identity falsified? Web site defaced? “Secret” internal memos ended up on Wikileaks? These are all failures of Information Security, and most people would realize it – but that doesn’t get us any closer to a definition.

The classic definition of Information Security, the one that I generally work with, is simple: Information Security is the enforcement of the “CIA Triad” – Confidentiality, Integrity, and Availability.

Confidentiality means that only the proper people are allowed access to a piece of information. This is enforced via systems like Access Control Lists on files, encryption on data in transit, even relatively crude measures like locks on a file cabinet. If confidentiality is properly enforced, information is available to those who need it and (perhaps more importantly) not available to those with no right to it.

Integrity means that information cannot be modified without the caretakers of that information being aware of it. This is enforced with things like fingerprinting of data with hashes or digital signatures, auditing file access and modification, certificate hierarchies, and maintaining proper backups. Integrity means that you can be sure an email claiming to be from a bank or other trusted authority is actually from that entity.

Availability means that information is available when it is needed. It’s easy to maintain confidentiality and integrity on their own; carve the data into a stone tablet and drop it into the middle of a lake. The hard part is when you need to ensure that this information can be retrieved simply when it is needed. Availability is enforced with things like load-balanced server clusters, redundant network connections, UPSes and emergency generators, and “hot” or “warm” site disaster recovery plans.

Let’s take a look at how this triad applies to something commonplace – say, online banking. A bank’s website will require proper authentication before account details can be accessed; this is confidentiality. It will also maintain a proper balance in the account when money has not been deposited or withdrawn; that is, money will not magically appear or disappear, but rather will correspond to the sum of the debits and credits over time. This is integrity. Finally, the bank’s website will be available from the Internet 24 hours a day, 7 days a week, no matter what disasters befall the individual data centers hosting the site. This is availability. A proper Information Security plan, for your own company or for any other institution, must enforce the CIA Triad in order to be successful.