When you look at the worst corporate security breaches, it's clear that network managers keep making the same mistakes over and over again, and that many of these mistakes are easy to avoid.
In 2008, Verizon Business analyzed 90 security breaches that represented 285 million compromised records. Most of these headline-grabbing incidents involved organized crime finding an unprotected opening into a network and using it to steal credit card data, Social Security numbers or other personally identifiable information.
What's astonishing is how often these security breaches were the result of network managers forgetting to take obvious steps to secure their systems, particularly non-critical servers.
"We're just not doing the basics," says Peter Tippett, vice president of innovation and technology at Verizon Business, who has been auditing security breaches for 18 years.
Tippett helped us put together a list of the simplest steps that a network manager can take to eliminate the majority of security breaches. Not to follow the items on this list would be, quite simply, stupid.
1. Not changing the default passwords on all network devices.
Tippett says it's "unbelievable" how often corporations have a server, switch, router or network appliance with the default password -- usually "password" or "admin" -- still enabled. Most CIOs think this problem could never happen to them, but Tippett sees it every day.
To avoid this problem, you need to run a vulnerability scanner against every device on your network with an IP address, not just the critical or Internet-facing systems, Tippett says. Then you need to change the default passwords that you find to something else. More than half of all the records that were compromised last year were the result of using a default password on a network device, according to the Verizon Business study.
2. Sharing a password across multiple network devices.
IT departments often use the same password across multiple servers, and several people know the password. It might be a good password -- a complicated string of numbers and letters -- but once it's shared among several systems, these systems are all at risk.
For example, one of the people who knows the password could switch companies and reuse the password at his new company. Or an outsourcer who handles a non-critical system such as a data center cooling system could use the same password on all of the systems it operates for all of its customers. In either case, if the password is discovered by a hacker, the hacker can get into many servers and wreak more damage.
Tippett says IT departments need a process -- automated or manual -- to make sure that server passwords are not shared among multiple systems, are changed regularly and are kept secure. He says it's as simple as keeping the current server passwords written down on cards that are kept in a lockbox controlled by one person.
3. Failing to find SQL coding errors.
The most common hacking attack -- representing 79% of all compromised records -- is against an SQL database that is connected to a Web server. The way that hackers get into these systems is to enter an SQL command in a Web-based form. If the form is coded properly, it shouldn't accept SQL commands. But sometimes developers accidentally create what are called SQL injection errors.
Tippett says the easiest way to prevent these errors is to run an application firewall in "learn" mode so that it can watch how users enter data into a field and then put the application firewall in "operate" mode so that SQL commands can't be injected into a field. The SQL coding problem is widespread. "If a company tests 100 servers, they will probably find a SQL injection problem on 90 of them," Tippett says.
Often, companies fix only the SQL injection errors on their critical servers, forgetting that most hackers get into their networks through non-critical systems. Tippett suggests that network managers segment their networks using access control lists to restrict servers from talking to nonessential devices. This would prevent a hacker from gaining widespread access to data through an inevitable SQL coding error.
4. Misconfiguring your access control lists.
Segmenting your network using access control lists is the simplest way to make sure that systems communicate only with the systems that they should. For example, if you allow business partners to access two servers on your network through your VPN, you should use the access control lists to make sure that these business partners only have access to these two servers. Then if a hacker comes into your network through the opening for business partners, the hacker can only get into the data on these two servers.
"Often a bad guy coming into the network through the VPN has access to everything," Tippett says. Indeed, having properly configured access control lists would have protected 66% of the records that were compromised last year, according to the Verizon report. The reason CIOs don't take this simple step is that it involves using your routers as firewalls, and many network managers don't want to do that.
5. Allowing nonsecure remote access and management software.
One of the most popular ways for hackers to get into your network is to use a remote access and management software package, such as PCAnywhere, Virtual Network Computing (VNC) or Secure Shell (SSH). Often, these software applications are lacking the most basic security measures, such as good passwords.
The simplest way to find this problem is to run an external scan across your entire IP address space to look for PCAnywhere, VNC or SSH traffic. Once you find these applications, put extra security measures on them such as tokens or certificates in addition to passwords. Another option is to scan the Netflow data of your external facing routers and see if you have any remote access management traffic flowing across your network.
This problem is common enough to account for 27% of the compromised records in the Verizon Business report.
6. Failing to test noncritical applications for basic vulnerabilities.
Nearly 80% of all hacking attacks are the result of security holes in Web applications, according to the Verizon Business report. Network managers know that their biggest vulnerability is in Web applications, so they put all of their effort into testing their critical and Internet-facing systems.
The problem is that most hacking attacks leverage security mistakes in noncritical systems inside networks. "The main problem is that we're testing like crazy the critical Web applications, and we're not testing the non-Web applications," Tippett says. He recommends that network managers test all of their applications for basic vulnerabilities.
"People have been taught forever to focus in order of criticality, but the bad guys don't know what's critical or not. They go in order of what's easy," Tippett says. "Once they get inside your network, they can set up shop, take their time and watch your traffic."
7. Not adequately protecting your servers from malware.
Malware on servers accounts for 38% of all security breaches, Verizon Business says. Most malware is installed by a remote attacker and is used to capture data. Typically, malware is customized, so it can't be discovered by antivirus software. One way for network managers to find malware such as keylogger or spyware on their servers is to run host-based intrusion-detection system software on every server, not just critical servers.
Tippett suggests a simple way to prevent many of these attacks: Lock down servers so that no new applications can run on them. "Network managers hate to do that because they might want to add new software later," Tippett says. "I tell them to just unlock the lock, install the new software, and then lock it up again."
8. Failing to configure your routers to prohibit unwanted outbound traffic.
One popular form of malware involves putting a backdoor or command shell on a server. One way to prevent a hacker from taking advantage of a backdoor or command shell is network segmentation using access control lists. This way you can prevent servers from sending traffic that they shouldn't be sending. For example, a mail server should only send mail traffic, not SSH traffic. Another option is to use your routers for default deny egress filtering, which blocks all outbound traffic except for what you want leaving your network.
"Only 2% of companies do this. It baffles me as to why the other 98% don't," Tippett says. "Default deny egress filtering is trivial."
9. Not knowing where credit card or other critical customer data is stored.
Most companies think they know where critical data such as credit card information, Social Security numbers or other personally identifiable information are stored, and they harden these servers with the highest levels of security. But often, this data is stored somewhere else on the network such as at a backup site or in the software development department.
It's these secondary, noncritical servers that often get attacked and lead to the majority of data breaches. One easy way to find out where critical data is stored is to conduct network discovery. "We typically stick a sniffer on the network and we see where the critical data is supposed to be and then we see where else it goes," Tippett says.
10. Not following the Payment Card Industry Data Security Standards.
Dubbed PCI DSS, this set of 12 controls for protecting cardholder information work, Tippett says. "Most people don't even try to meet the PCI standards," Tippett says. Sometimes a company follows these controls for the servers where it knows it stores credit card data, but not on the other unknown servers that host this critical data.
Even though 98% of all compromised records involve payment card data, only 19% of organizations with security breaches followed the PCI standards, according to the Verizon Business report. "It's obvious. Follow the PCI rules. They basically work," Tippett says.