Inverting the Desktop Computer Network Paradigm -- Draft

This document provides a brief explanation of some computer networking terms and then considers the strengths and weaknesses of CAS' current desktop computer methodology. It presents, hopefully in practical terms, why we should consider inverting our current desktop network paradigm, and the respective strengths and weaknesses of that path.

Technical Background

Understanding the basic terms which follow in particular order should aid you in understanding this document.
Server
Similar to library staff, servers provide you with various services. For example, a library provides services such as reference desks, circulation, etc. On a computer, servers use software to provide services, typically (but not necessarily) on a network. A network contains servers, but servers are not the network.
Services
Services Similar to library services, services enable you to access data in various ways. In a library, you may get and manipulate information using the microfiche, copiers, books, etc.. Similarly, a server runs various services to enable you to manipulate information (data). For example, most CAS desktop computers use data storage services (the H:, R:, and/or S: drives where you put files), network print services (to print to a shared department printer), and web services (to access EIS). Depending on the task, services may or may not open a network port to communicate with other computers.
(Network) Ports
The Latin stem "port" represents a way into something (e.g., gate, entrance, ship harbor, etc.). On desktop computers, we use the stem "port" in a similar fashion. Some services open network ports (similar to opening a gate) to send and receive information. Like your home's "front" and "back" door, we conventionally reserve some names for "well known" ports (the IANA oversees assigning port numbers, http://www.iana.org/assignments/port-numbers).
Applications (aka Programs, Clients, Client Software)
Applications use the server services. In the library analogy above, you could consider the customer using the service an "application" (or client) of the card catalog service provided by the library (which you could consider a server).
Network
Similar to a network of roads and bridges, a computer network consists of many communication pathways connecting one network device to another network device. We use the word "device" in this case because networks contain more than just computers. However, for this document's focus, you may consider all these devices as computers.

NB: Frequently, people confuse the terms "network" and "server." For example, some people say "I can't login to the network," when they really mean they cannot login to a server (or service) on the network.

Protocol
Similar to etiquette protocols (such as shaking hands or bowing when you meet others), computers communicate with each other using protocols with names such as "TCP" and "UDP." For the purposes of this document, do not concern yourself with what "TCP" and "UDP" acronyms represent. Spend your time better by understanding that each Internet communicate using "TCP" and "UDP and that those protocols represent different language types that share the same language root. This idea is similar to understanding that, while different in many respects, languages like Spanish and Romanian share common "Romance" language roots.
Firewall
A firewall provides a very special service. Think of a firewall as a border checkpoint where each person going past must be authorized before going to/from another location. Firewalls work by watching monitoring protocols to/from network ports.

NB: Contrary to popular belief, UNT does not currently have a firewall. The way UNT currently responds to security threats is to modify our campus communication system to prevent the flow of that specific threat. While conceptually acting like a firewall, this solution lacks any sort of sophistication of a true firewall solution, and also poses it's own sort of hazards since a mistake could cause substantially more problems.

Desktop Computer (aka workstation)
Most customers typically use desktop computers to perform their day-to-day work. Although desktop computers provide some of their own services (file and printing, for example), they only use those services for the benefit of the user, and not other network clients.
Understanding the above terms should help you understand our current desktop computer network paradigm.

Current Desktop Computer Network Paradigm

In the past, for a variety of reasons, most campuses did not need to concern themselves with many security issues. I suspect this stems from the long-established culture of openness and information sharing we enjoy in academia. Because of this, CAS deploys desktop computers enabling people to do as much as they possibly can with as little interference from CAS as possible. That also includes making network 131,070 ports, for two Internet protocols (65,525 TCP and 65,525 UDP ports) open for use on every desktop computers. Another analogy may help you realize this idea.

For the purposes of this document, I ask you to consider a gated neighborhood community. Consider the main gate into the community as the community's firewall (in our network's case, the campus "firewall"). The main gate allows everybody through unless they identify the person (or persons) as known troublemakers. Consider each home (including yours) in the community may have a maximum possible 131,070 doors (in our case, "ports") which may or may not be in use at any given time (depending on what "services" your home ("server") provides) by anyone inside the home. That fairly accurately depicts our campus' network.

Unfortunately, there are some bad people in the world and we can't keep track of them all. Fairly frequently in your gated community, some heretofore unknown bad person goes past the main gate and gets into your community. Once inside, the bad person may then pick any and/or every house and set up their own service. They may start a video and/or service and distribute illegal copies of recently-released movies. Maybe they just want to provide a safe-haven for other bad people to come and stay. Maybe they want to set recruit a bunch of homes for their army in hopes to launch a concurrent, scheduled attack on some other home in some other neighborhood (what network administrators call a "distributed, denial of service" attack, or DDoS).

Because you only enter your home through the front door, you never know these people set up those services or are even staying in your house until something unusual happens.

Whenever intruders (viruses, worms, hackers) compromise our systems, computing support staff attempt to identify how the exploit happens. As hackers modify the virus/worm software, computer support staff must identify additional things to turn off to limit the problem's scope. This approach soundly places computing support staff in the reactive mode, establishing our current desktop network paradigm (in priority order):

  1. By default, leave all ports open.
  2. Block traffic to/from only specific ports we don't want.

Inverting the Desktop Computer Network Paradigm

There is no way to prevent security compromises. Like terrorism or natural disasters, they are a part of computing culture. However, we can take reasonable steps to limit the destruction's scope. Let's consider inverting our desktop network paradigm so it looked like the following (in priority order):
  1. By default, block all network ports.
  2. Allow only traffic to/from specific protocols/ports we do want.
The strength of this model comes mostly from a general computing concept called the "principle of least privilege," which is typically attributed to work done by Saltzer and Schroeder:
"Every program and every user of the system should operate using the least set of privileges necessary to complete the job."
— Saltzer and Schroeder, The protection of information in computer systems
With this model, it doesn't matter if someone gets by the main gate ("firewall") because every home only has specific doors ("ports") available for ingress and egress. Can someone break into the open doors? Yes. Do we expect customer may more likely to know a home-invasion (compromise) happened? Yes, because the known-good doors are known-good because they are significantly more likely to be used by someone in the college on a regular basis. Additionally, as mobile computing becomes more ubiquitous (IBM sales claim notebook computer sales surpassed desktop computer sales this year), then we expect more computers to run outside of the campus firewall. Finally, the primary difference is this model actively blocks unused ports, making the hacker's job more difficult and subsequent success less likely.

The problem with this model is that it will break things (even if only temporarily). The diversity in our college demands many different types of network access and computing support staff do not pretend to know all the different ways people currently use the network. Even if we "sniffed" the network to see what applications people typically use, it would not help us determine whether or not the application was legitimate.

Frequently Asked Questions

Why not just have a campus firewall?
Firewalls are good at keeping things out. Once something gets behind the firewall, it does you no good. For example, different weaknesses found in both Internet Explorer and Netscape last year enabled hackers to compromise computers when people visited innocuous-looking web sites. Visiting web sites is a necessary job function for most customers, so we can't block that action. If we have each computer blocked behind the firewall, though, then it limits the damage's scope.

Additional Unanswered Questions/Considerations

What ports should we open by default?
See tentative list, which is highly technical, though you may be able to discern a general idea of the things we could make available by default. It was initially built using the UNT wireless network open-port list. The UNT wireless network (Eaglenet), since it was initially built with "principle of least privilege" in mind, has already established some feasibility for this topic.
How do customers report issues and at what priority are they resolved?
How fast and far and what are the consequences?
  • Status quo
    Keep ourselves available for future similar attacks to the recent worms/hackers. This is mitigated by the recent deployment of a McAfee ViruScan update, which contains some network protocol validation tools.
  • Block ports only on new operating system builds
    May cause some software to fail (even if temporarily). Enable a gradual build-up of the approved port list.
  • Block most ports now
    May cause some software to fail (even if temporarily). Windows 2000 isn't particularly clever in how it blocks ports, it is primarily "on" or "off" without a concept of which service on which end is initiating the communication.
  • Should we follow suite by specifying applications that may use the protocol/port? Should that be by default or in the future?
    Windows XP software can specify which programs can use various protocols/ports. This makes a hackers job much more difficult because they must find out the valid programs and then replace them, usually making their presence obvious.m

End of document. From here you may return to the table of contents.
Last updated on Mon Sep 05 16:41:35 Central Standard Time 2005 by Tim Christian(tim@unt.edu)