KENNETH INGHAM Kenneth Ingham Consulting and STEPHANIE FORREST University of New Mexico
Firewalls are network devices which enforce an organization’s security policy. Since their development, various methods have been used to implement ﬁrewalls. These methods ﬁlter network traﬃc at one or more of the seven layers of the ISO network model, most commonly at the application, transport, and network, and data-link levels. In addition, researchers have developed some newer methods, such as protocol normalization and distributed ﬁrewalls, which have not yet been widely adopted. Firewalls involve more than the technology to implement them. Specifying a set of ﬁltering rules, known as a policy, is typically complicated and error-prone. High-level languages have been developed to simplify the task of correctly deﬁning a ﬁrewall’s policy. Once a policy has been speciﬁed, the ﬁrewall needs to be tested to determine if it actually implements the policy correctly. Little work exists in the area of ﬁrewall theory; however, this article summarizes what exists. Because some data must be able to pass in and out of a ﬁrewall, in order for the protected network to be useful, not all attacks can be stopped by ﬁrewalls. Some emerging technologies, such as Virtual Private Networks (VPN) and peer-to-peer networking pose new challenges for ﬁrewalls. Categories and Subject Descriptors: C.2.0 [COMPUTER-COMMUNICATION NETWORKS]: General General Terms: security Additional Key Words and Phrases: Firewalls, Network Security
The University of New Mexico Computer Science Department Technical Report 2002-37. Author’s addresses: K. Ingham, Kenneth Ingham Consulting, 1601 Rita Dr NE, Albuquerque, NM 87106-1127, email@example.com. S. Forrest, Department of Computer Science, University of New Mexico, Albuquerque, NM 87131, firstname.lastname@example.org. Permission to make digital/hard copy of all or part of this material without fee for personal or classroom use provided that the copies are not made or distributed for proﬁt or commercial advantage, the ACM copyright/server notice, the title of the publication, and its date appear, and notice is given that copying is by permission of the ACM, Inc. To copy otherwise, to republish, to post on servers, or to redistribute to lists requires prior speciﬁc permission and/or a fee. c 20YY ACM 0000-0000/20YY/0000-0001 $5.00 ACM Journal Name, Vol. V, No. N, Month 20YY, Pages 1–42.
K. Ingham and S. Forrest
1. INTRODUCTION The idea of a wall to keep out intruders dates back thousands of years. For example, over two thousand years ago, the Chinese built the Great Wall as protection from neighboring northern tribes. A second example is that of European kings who built castles with high walls and moats to protect themselves and their subjects, both from invading armies and from marauding bands intent on pillaging and looting. The term “ﬁrewall” was in use by Lightoler as early as  to describe walls which separated the parts of a building most likely to have a ﬁre (e.g., a kitchen) from the rest of a structure. These physical barriers prevented or slowed a ﬁre’s spread throughout a building, saving both lives and property. A related use of the term arose in connection with steam trains, as described by Schneier : Coal-powered trains had a large furnace in the engine room, along with a pile of coal. The engineer would shovel coal into the engine. This process created coal dust, which was highly ﬂammable. Occasionally the coal dust would catch ﬁre, causing an engine ﬁre that sometimes spread into the passenger cars. Since dead passengers reduced revenue, train engines were built with iron walls right behind the engine compartment. This stopped ﬁres from spreading into the passenger cars, but didn’t protect the engineer between the coal pile and the furnace. In this paper we will be concerned with ﬁrewalls in a more modern setting— computer networks. The predecessors...