Application Protection is a catchall term, applied generically to all security measures that protect application services. URL-based attacks, script exploits, malicious data injection to SQL, ORACLE, IBM DB2 and other databases, mail server attacks and DNS poisoning are all examples of application level attacks.
The distinction between application and network-based protection is a fuzzy one, since network-based is interpreted both as "attacks attempted across a network" as well as "attacks against the networking protocols (TCP, IP, ...)". But the distinction is not arbitrary, nor is it entirely market spin. Network, and specifically, Internet-based attacks attempt to compromise a system through a flaw in a Internet protocol standard or implementation; if successful, attackers often gain administrator privileges for the system and applications, and access to data. Fortunately, the set of Internet protocols we use is finite, and after nearly two decades, firewall technology, combined with improvements and patches to implementations of Internet protocols, has matured to where we can provide very good protection against network attacks (proper configuration notwithstanding).
But the set of applications, especially web-based applications, is essentially infinite. While standards exist for web protocols and services, for security purposes, each web presence - the combination of server application and OS platform, pages served, scripts, databases, and forms employed, and of course, the configuration of all these elements - is unique. Accordingly, attackers have infinite attack vectors, and so, too, are suitable locations for the deployment of defenses and countermeasures. Hence, the question, "Where is application protection best applied?"
Before we answer this question, let's examine where you can apply application protection.
At the Perimeter: Internet Firewalls & Network IDS
Many enterprise class firewalls and inline intrusion detection systems apply stateful packet inspection beyond traditional TCP/IP protocols, and examine application data streams. Through this deep packet inspection process, the best of application protection firewalls and inline IDS can distinguish known network-based attacks from legitimate traffic. Firewall and inline IDS hybrids - Intrusion Prevention Systems, or IPS - provide advanced intrusion and denial of service detection by distinguishing anomalous from normal traffic patterns and behavior.
The best of these breeds can identify and block long lists of known attacks against web applications, including malicious URL encoding, CodeRed and Nimbda worms, WebDAV, and chunked data encoding attacks. Several also protect SMTP server applications from flooding/DOS, worm, and relay attacks; FTP server applications from malicious operator and bounce attacks; and DNS server applications from protocol and database (zone) poisoning attacks. Depending on the product, protection is available for other services, from database (SQL, Oracle) to secure tunneling protocols (SSH, SSL), and even Voice over IP.
Within the Perimeter: Proxies
Proxies, either standalone or integrated within firewall or VPN appliances, terminate application streams and police the contents of that stream. For example, an SMTP mail proxy will collect all the application data that comprises a single email message, inspect the message, and apply whatever measures a security policy dictates: e.g., remove or modify unknown or potentially dangerous mail headers, block the delivery of potentially dangerous attachment and content types, etc. SMTP, FTP and DNS proxies customarily check for protocol anomalies. HTTP proxies check for protocol anomalies, strip scripts, active controls and other active code or content prohibited by security policy. Whether marketed as proxies or (Web) Application firewalls, these systems validate incoming and outgoing HTTP traffic, to prevent client-based attacks, web defacements, server mis-operation and other "web perversions" (this cleverism is courtesy of Sanctum, Inc.).
Collapsed Perimeters: Interdepartmental IPS & Server Firewalls
Application Protection at the Internet firewall has the benefit of performing security checks at a familiar aggregation point, the Internet access circuit. But increasingly, clients operating within the protected and trusted network are proven vectors for attack. This is particularly true in organizations with mobile and roaming workforces. Servers themselves are also vectors for attack against "fellow" servers. Application streams that form these internal attacks do not pass through Internet Firewalls so are not subject to inspection and prevention.
Adding interdepartmental firewalls or placing firewall-capable switches directly in front of (literally, adjacent to) server farms provides a means of collapsing the perimeter around the assets (principally, servers) deemed most critical. This is commonly described as layered defense, or defense in depth. A variation on this theme does not require discrete and separate hardware appliances: application-level inspection and filtering on the target server platform itself - in a network adapter form factor, software, or embedded OS service (e.g., Microsoft ICF) - can be used to create very granular, compartmented borders. Both of these solutions act like water-tight hatches on a naval vessel, e.g., a submarine.
At the Server: Host Intrusion Prevention
Philosophically, it makes sense to protect applications, the platforms on which they run, and the data they use, as close to "the asset" as possible. Host Application Protection measures wrap a protective shell around applications, databases, Operating Systems and file systems. These act like intrusion detection systems, to block attacks at the system call level and protect critical system files (e.g., Windows Registry, *nix .conf files). Such products also provide additional access controls to protect web-accessible information from unauthorized access and modification. In some cases, policy synchronization across large server farms (and distributed server environments) proves difficult. These solutions can be construed as complementary to vulnerability assessment and mitigation, but are also commonly claimed to compensate for inherently weak security features available in server platforms. Whether you regard them as supplementary or complementary, they provide another layer of defense, close to the asset.
At the Server (Redux): Vulnerability Assessment & Mitigation (Hardening)
Vulnerability assessment and mitigation are processes organizations can employ to thoroughly test all elements of a web presence, and systematically identify, then eliminate or minimize each threat until the web presence meets the intended security requirements and satisifies the desired risk profile. Vulnerability Assessment systems automate the process. System-level scanners search for overly-generous access permissions, weak passwords, default accounts, and missing web server patches, while web application vulnerability assessment scanners may look for exploitable cookie implementations, vulnerable forms, cross-site scripting, etc. The best of this breed provide detailed reports explaining the vulnerabilities discovered and methods to eliminate or minimize them. The actual process of configuring systems and applications following a vulnerability assessment is called "hardening", and it is labor-, knowledge-, and skills-intensive. In the case of (web) application vulnerability assessment, vulnerability assessment may reveal fundamental flaws in development; for example, a persistent failure to validate (data) input in web forms and database queries. These may lead an organization to conclude that a secure code review is required for all application code.
Given these choices, where is application protection best applied?
An efficient and effective strategy is one in which coarse- and network-level policy enforcement is done at the outer ("loose") perimeters. Increasingly stringent and application specific policies are enforced close to or at the location where a web or application presence is deployed. This is similar in principle to the "choke and screen" early firewall deployments used to create DMZs many years ago. You can apply application protection at Internet firewalls and proxies, but do not rely entirely on these. In the choke and screen deployment, your outermost firewall should implement the coarsest of policies. Implement more stringent application protection measures in firewalls, proxies and switches that protect server farms, to defend against attacks from external and internal hosts. Collapsing perimeters around server farms and enforcing per client security measures is a practical concession and reponse to the now omni-present and worrisome mobile workplace.
Investing in host application protection to complement security measures you employ at the server and applications themselves is one of those "iffy" areas. Some security experts question, "how much better off is an organization that invests in these solutions than one that rigorously assesses risk, identifies vulnerabilities, and hardens servers and applications?" Perhaps your systems administrators are capable of hardening and configuring secure systems; your programming staff develops and maintaining securely written applications; and your daily operations staff are monitoring ninjas.
Perhaps you need some backup. If you do, one or even several of the several dozen companies listed in the sidebar may have an application protection solution that meets your needs.
