Application firewall

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

An application firewall is a form of firewall that controls input/output or system calls of an application or service. It operates by monitoring and blocking communications based on a configured policy, generally with predefined rule sets to choose from. The application firewall can control communications up to the application layer of the OSI model, which is the highest operating layer, and where it gets its name. The two primary categories of application firewalls are network-based and host-based.

History[edit]

Gene Spafford of Purdue University, Bill Cheswick at AT&T Laboratories, and Marcus Ranum described a third-generation firewall known as an application layer firewall. Marcus Ranum's work, based on the firewall created by Paul Vixie, Brian Reed, and Jeff Mogul, spearheaded the creation of the first commercial product. The product was released by DEC, named the DEC SEAL by Geoff Mulligan - Secure External Access Link. DEC's first major sale was on June 13, 1991, to Dupont.

Under a broader DARPA contract at TIS, Marcus Ranum, Wei Xu, and Peter Churchyard developed the Firewall Toolkit (FWTK) and made it freely available under license in October 1993.[1] The purposes for releasing the freely available, not for commercial use, FWTK were: to demonstrate, via the software, documentation, and methods used, how a company with (at the time) 11 years experience in formal security methods, and individuals with firewall experience, developed firewall software; to create a common base of very good firewall software for others to build on (so people did not have to continue to "roll their own" from scratch); to "raise the bar" of firewall software being used. However, FWTK was a basic application proxy requiring the user interactions.

In 1994, Wei Xu extended the FWTK with the Kernel enhancement of IP stateful filter and socket transparent. This was the first transparent firewall, known as the inception of the third generation firewall, beyond a traditional application proxy (the second generation firewall), released as the commercial product known as Gauntlet firewall. Gauntlet firewall was rated one of the top application firewalls from 1995 until 1998, the year it was acquired by Network Associates Inc, (NAI). Network Associates continued to claim that Gauntlet was the "worlds most secure firewall" but in May 2000, security researcher Jim Stickley discovered a large vulnerability in the firewall, allowing remote access to the operating system and bypassing the security controls.[2] Stickley discovered a second vulnerability a year later, effectively ending Gauntlet firewalls' security dominance.[3]

Description[edit]

Application layer filtering operates at a higher level than traditional security appliances. This allows packet decisions to be made based on more than just source/destination IP Address or ports and can also use information spanning across multiple connections for any given host.

Network-based application firewalls[edit]

Network-based application firewalls operate at the application layer of a TCP/IP stack[4] and can understand certain applications and protocols such as File Transfer Protocol (FTP), Domain Name System (DNS), or Hypertext Transfer Protocol (HTTP). This allows it to identify unwanted applications or services using a non standard port or detect if an allowed protocol is being abused.[5]

Modern versions of network-based application firewalls can include the following technologies:

Web application firewalls (WAF) are a specialized version of a network-based appliance that acts as a reverse proxy, inspecting traffic before being forwarded to an associated server.

Host-based application firewalls[edit]

A host-based application firewall monitors application system calls or other general system communication. This gives more granularity and control, but is limited to only protecting the host it is running on. Control is applied by filtering on a per process basis. Generally, prompts are used to define rules for processes that have not yet received a connection. Further filtering can be done by examining the process ID of the owner of the data packets. Many host-based application firewalls are combined or used in conjunction with a packet filter.[6]

Due to technological limitations, modern solutions such as sandboxing are being used as a replacement of host-based application firewalls to protect system processes.[7]

Implementations[edit]

There are various application firewalls available, including both free and open source software and commercial products.

Mac OS X[edit]

Starting with Mac OS X Leopard, an implementation of the TrustedBSD MAC framework (taken from FreeBSD), was included.[8] The TrustedBSD MAC framework is used to sandbox services and provides a firewall layer given the configuration of the sharing services in Mac OS X Leopard and Snow Leopard. Third-party applications can provide extended functionality, including filtering out outgoing connections by app.

Linux[edit]

This is a list of security software packages for Linux, allowing filtering of application to OS communication, possibly on a by-user basis:

Windows[edit]

Network appliances[edit]

These devices may be sold as hardware, software, or virtualized network appliances.


Next-Generation Firewalls:


Web Application Firewalls/LoadBalancers:


Others:

See also[edit]

References[edit]

  1. ^ "Firewall toolkit V1.0 release". Retrieved 2018-12-28.
  2. ^ Kevin Pulsen (May 22, 2000). "Security Hole found in NAI Firewall". securityfocus.com. Retrieved 2018-08-14.
  3. ^ Kevin Pulsen (September 5, 2001). "Gaping hole in NAI's Gauntlet firewall". theregister.co.uk. Retrieved 2018-08-14.
  4. ^ Luis F. Medina (2003). The Weakest Security Link Series (1st ed.). IUniverse. p. 54. ISBN 978-0-595-26494-0.
  5. ^ "What is Layer 7? How Layer 7 of the Internet Works". Cloudflare. Retrieved Aug 29, 2020.
  6. ^ "Software Firewalls: Made of Straw? Part 1 of 2". Symantec.com. Symantec Connect Community. 2010-06-29. Retrieved 2013-09-05.
  7. ^ "What is sandbox (software testing and security)? - Definition from WhatIs.com". SearchSecurity. Retrieved 2020-11-15.
  8. ^ "Mandatory Access Control (MAC) Framework". TrustedBSD. Retrieved 2013-09-05.
  9. ^ "Safing Portmaster". safing.io. Retrieved 2021-11-04.

External links[edit]