North American Network Operators Group

Date Prev | Date Next | Date Index | Thread Index | Author Index | Historical

Re: mh (RE: OMB: IPv6 by June 2008)

  • From: Sean Doran
  • Date: Fri Jul 08 18:12:16 2005

On 8 Jul, 2005, at 18:34, Fred Baker wrote:

A NAT, in that context, is a stateful firewall that changes the addresses, which means that the end station cannot use IPSEC to ensure that it is still talking with the same system on the outside.
Only if you define IPSEC narrowly as AH in order to justify this claim.

There are at least two interesting differences between a NAT and a stateful firewall deployed in front of hosts with permanent public address space. The first involves attackers knowing the topological name of a victim who may be unshielded by the firewall during narrow windows offered by the implementation, its operators, or both in combination. The second involves a predictable rendezvous point for covert communications channels.

Not all NATs protect against these classes of attack, however an implementation that assigns inside-outside mappings with reasonable randomness will. One which also breaks connections on failures (by invalidating existing mappings) is more fail-safe than one that tries to preserve existing state across crashes or fat-fingerings.

People who don't make use of an interoperable and well understood session protocol resilient against this variety of failure in connection-oriented transport communications ("identity/locator binding invalidation") will probably disagree as their various long- lived sessions terminate abnormally...

Applications-layer protocol writers without a session layer would also have to worry about:

attacks on TCP such as RST attacks, data insertion, acknowledge hacking, and so on
Planned renumbering may as a side effect result in all of the three such "attacks" you explicitly listed.

They may also be flummoxed by having to invent a session layer for an application that really wants one, leading to reinventing previously discovered gotchas like

in large delay*bandwidth product situations SSH's window is a performance limit

In other words, a NAT is a man-in-the-middle attack, or is a device that forces the end user to expose himself to man-in-the-middle attacks. A true stateful firewall that allows IPSEC end to end doesn't expose the user to those attacks.
The men in the middle are the I* officers who have refused for more than a decade to admit they don't know everything, that market forces are not always driven by evil doing architectural impurists with nothing to teach their elders (which is incongruous with early I* tensions with the former CCITT), or that they have their heads buried neck deep in NIH kitty litter (ditto).

A NAT is a tool many people find useful enough to deploy, maintain and even pay money for, despite the ready availability of substitutable tools, and

The IP (both flavours) network and transport layers are very badly designed with respect to host renumbering. Renumbering has been a fact of life since before the early 90s. There is no as-widely- promoted-as-TCP session layer to help mitigate renumbering's effects. There is also institutional resistence to fixing this aspect of the design of the N+T layers in I*.

So, people who have actually deployed and run networks where renumberings happen, deployed NATs simply because that was one of the only solutions readily and mostly interoperably available to them. It is unsurprising that the voluntary standards organization dominated by people who have fought against technology to cope with (or even embrace) live renumbering is likewise ridden with loudmouths who call NATs "attack"s.

What is it exactly that NATs attack, Fred?