Now the threats are a lot more serious and a lot more difficult to fight.
Among the most serious information security threats are failing to consistently apply patches to systems and spear phishing attacks, in which a hacker sends an e-mail to a federal employee asking for personal, sensitive network information such as a user name and password.
A third type of threat is on the rise and now accounts for about a third of all successful cyberattacks on networks in the private and public sectors. It's called "invalidated inputs" or "input checking." To launch an invalidated input attack, a hacker types incorrect information into a text field on a government Web site. For example, to obtain a form, an agency might ask a user to type his or her age into a field appearing on the Web site. The application is expecting, in all likelihood, a double-digit number, say, 48.
But a hacker purposely types in more than two numbers, most likely a lot more numbers, and hides malicious code within that string of numbers. That code latches onto the software code that manages the release of information to users. The evil code could trick the government network into returning confidential information, including employees' financial records, Social Security numbers, health information or classified data.
It gets even more complicated on sites where people can type comments into a boxed text field. Any person can submit an answer that includes malicious code that could invade the system.
The government does not track -- at least in a public way -- the number of input-checking attacks that agencies have encountered. The threat is a big one, however. A 2006 study of 31,000 public and private sector sites by the Web Application Security Consortium, an international group of experts who develop security standards, found that 80 percent had been attacked by fake codes sent in by hackers.
Chances are your agency already has been hit by such an attack. If not, it's only a matter of time before it happens. The problem, security experts say, is most government and commercial codes are not as rigorous as they should be to prevent the false code from gaining entry. "Input validation flaws are built into the software," says Karen Scarfone, a computer scientist at the National Institute of Standards and Technology. "In general, it is because software isn't written as securely as it should be."
One rule of thumb for IT security managers is to ensure that each field in a Web application accepts only those characters that would be expected for a particular request. For example, in a ZIP code field, the application should allow only the user to key in five numbers -- no more, no less. Responses for names and addresses could be limited to a certain length. Information security managers also could require that any input be run against a library of known answers, such as a database of ZIP codes and addresses, to confirm that the information is valid before accepting it into a system.
There is no magic bullet that will completely stop input checking, but security experts recommend that agency IT shops regularly scan applications for false messages. "This happens every day," says Bill Geimer, a program manager at the U.S. Agency for International Development. "Just check your inputs -- you will get a lot of your vulnerabilities fixed."
Computer experts say systems should be scanned every time something new is added to the server, such as a press release, an alert about a new program, an updated roster of executives or any new software installed from an outside vendor or built by the IT staff. Agencies should scan their sites once a month to spot fake code.
Some commercial off-the-shelf products can help find bad code. SPI Dynamics, an Atlanta-based Web application security firm that has nearly 100 federal, state and local government clients, sells a product called WebInspect, which security professionals use to test sites for corrupted code. The software starts at $6,000 for one Web server license, which allows users to install the software on multiple machines. But users can scan only one specific IP address.
Other steps that information security managers can take include:
- Make sure programmers have the skills to write computer code that is so tight it can deter computer attacks.
- Test new applications with a Web security device.
- Be sure contracts with integrators include a specific clause for validating computer systems.
- Test systems with fake attacks.
- Vet every bit of data in your system.
Security firms and organizations continue to develop tools to fight input checking. The SANS Institute in Bethesda, Md., which provides cybersecurity training and manages the Internet Storm Center, planned to unveil an exam for programmers in August to make sure they know how to validate information submitted to agency Web sites. The exam, sponsored by the Software Security Institute, which is part of SANS, will be available to colleges and other institutions in January 2008.
These tools and processes are designed to prevent input checking, rather than find the malicious code after it has infiltrated a system, says Jeff Williams, chief information officer of Aspect Security in Columbia, Md., and chairman of the foundation of the Open Web Application Security Project. "Attackers try again and again and again," he says. "And eventually, they find a hole. We need to stop them much earlier."
Judi Hasson is a Washington-based freelance journalist covering government information technology.