What is a good example of vulnerabilities you have found?
In one recent engagement, we compromised a marketing website for a major financial institution that was running on an unpatched Web server. That server was used as a jumping point to traverse through the firewall and get connectivity to systems on their internal network.
We found that one of the accounts [taken from] the Web server (we had cracked the password) was also an administrator on the vault that stores everyone’s passwords for that network. We could log in as anyone. A good lesson here is that just because a system isn’t critical doesn’t mean the server can be written off from a security perspective. Once you gain access to the perimeter box, you typically have a lot more options for attacking more important systems, since you are now behind the firewall. The other lesson is the importance of not using the same password on different systems.
After your “attack” is over, what do you present to the customer?
We always have a written report and step-by-step screen shots and instructions that we can hand to a developer and say, “Here’s how you do it.” After the penetration test we add value by making it clear exactly what needs to be done. That compares with a classic security audit that tends to be heavily weighted toward best practice.
Are the people that do this for the good guys any different from the bad guys?
It requires not only specialized skills but also a certain type of person. It’s not that people are good at their job as much as it is their hobby, what they live and breathe. They have the desire not only to figure out how something works but to figure out how to use something [for a purpose] that it wasn’t intended for.
It’s a fine line between someone with that passion just for the sake of interest and knowledge and someone who will cause harm or try to make money. When we’re looking for talent, part of our recruitment process is a very strict background check to look for a dark side. There have been many cases where we know very talented people that we just can’t hire.
Is penetration testing becoming more common?
Yes, it is starting to become much more mainstream. One sign of that is how it is becoming easier for people to get permission from their Internet service provider, who has to know so they can understand that it is not a real attack. Today, infrastructure companies like Amazon make it very easy. If you’re hosted in Amazon’s cloud, getting permission for a penetration test is as easy as filling in a simple Web-based form.
Could penetration testing have prepared Sony for the recent attacks in which user data was stolen?
A penetration test typically focuses on the front door, but there are a ton of windows. I think Sony was actually targeted specifically. Social engineering and spear phishing [crafting messages to trick a particular person into revealing sensitive data] could have been used against individuals with access to the data. Testing social-engineering attacks is an option for a pen test, but most people don’t go for it. They already know the risks.