Consumers of Broadband Providers (ISP) may be open to hijack attacks (fwd)

attacks

For this risk advisory in german please search down to "D> Deutsche Version".

Originator: Peter Philipp
Organization: Daemonic Networks
Synopsis: Consumer of Broadband Providers (ISP) may be open to hijack attacks
Severity: serious
Priority: medium
Category: network security
Class: systemic flaw

Description:

  Some ISP networks do not reset open TCP connections of customers that
were either cut-off by the ISP or cut off by self-initiation. While it is
responsibility of every person to terminate every open connection before
link termination, when the ISP initiates this, it cannot be guaranteed. A
customer who happens to resume a recycled dynamic IP can then read the
previous persons open sessions. With streaming mp3 radio services that work
on a per-pay basis, this can result in substantial monetary losses, not to
mention porn streaming. Further unencrypted email can be read and website
cookies can be assumed to continue private Web sessions.

How-To-Repeat:

  With a stateful firewall one can determine TCP traffic that has no
state registered with the firewall and if the TCP flags do not match SYN,
FIN, or RST, one can assume open connection and continue them. Interesting
things have been captured, including, IRC chat sessions, HTTP downloads and
POP3 sessions theoretically could also be continued. Software[1] written for
BSD Unix follows this advisory, that can re-assume open sessions.

Fix:

  After a dynamic customer terminates a broadband connection, network
access servers should terminate any TCP traffic with an RST reply, and give at
least a minute time for any retransmissions to be caught. If this is not
wanted by the network architect, perhaps a stateful firewall keeping states
for customers per session. This is not a good solution though because some
people do not want a firewall between their end-user connection and the open
Internet, their privacy from this should be accepted. Another security
programmer that I contacted, suggested that dynamic IP addresses perhaps be
more static with end-users, but I personally don't think this is a good
solution either as this puts the anonymity of end-users at stake, and goes
against the philosophy of anonymity that the forefathers of the Internet
thought out. On the consumers side one can protect themselves by only
using encrypted communications, as this makes reading of personal data
difficult.

Thank yous:

  Thanks to Daniel Hartmeier for his suggestions on how to remedy this.

Anniversaries:

  On this day 12 years ago, in 1994, Comet Shoemaker-Levy 9 first
touched Jupiter and left considerable scars. When will humankind realise
that nature has not ceased being your foe. Stop wasting resources warring
each other and prepare against your true enemy, that being nature. Nature
will never allow humankind to replace it as humankinds prime enemy.

Deutsche Version

Bericht von: Peter Philipp
Organisation: Daemonic Networks
Beschreibung: Vebraucher von Breitband Provider (ISP) koennten Hijack-Attacken erleben
Einstufung: ernst
Prioritaet: mittel
Kategorie: Netzwerk Sicherung
Klasse: Systematischer Fehler

Detailierte Beschreibung:

  Manche ISP Netzwerke terminieren offene TCP Verbindungen nicht, von
Kunden die entweder abgeschnitten vom ISP, oder selbst die Broadband Verbindung
getrennt haben. Da es die eigene Verantwortung von jeder Person ist ihre
eigenen TCP Verbindungen zu trennen, bevor sie ihr Breitband trennen oder den
Computer abschalten, kann man nichts sagen. Aber wenn der ISP die Trennung
iniziert ist es die Verantwortung des ISPs die offenen TCP Verbindungen auch
zu trennen. Ein Kunde der auf einer wiederbenutzten Dynamischen IP Adresse
stoesst, die offene TCP Verbindungen haelt, kann man die Verbindung weiter
steuern und Private Daten ablesen. Mit MP3 Streaming von Online-Radio das
auf Bezahlung ihre Musik teilt dies kann teuer werden. Auch mit
Porn-Streaming. Weiter koennen unverschluesselte E-Mails gelesen werden und
Web Cookies koennen Authentifizierte Web Verbindungen uebernehmen and
Persoenliche Daten koennen gelesen werden.

Wie zu wiederholen:

  Mit einer "stateful" Firewall kann man TCP Verbindungen/Packete
aussortieren die keine registrierten "states" (zustaende) haben und die
nicht die TCP Flaggen SYN, FIN oder RST besitzen. Somit kann die
Verbindung weiter uebernommen werden (TCP Hijack). Interessante Dinge
sind schon bereits abgelesen worden waerend der Demo-Software
Implementierungs Phase, so wie IRC Chat, HTTP Verbindungen und theoretisch
POP3 Verbindungen die nicht verschluesselt sind. Software[1] geschrieben
auf BSD Unix ist am Ende dieser Nachricht angebunden, das diesen Fehler
ausnuetzt.

Behebung:

  Nachdem ein Dynamisch-IP nutzender Kunde die Breitband Verbindung
trennt, sollten Netzwerk Access Server alle TCP Verbindungen/Packete trennen
mit einem TCP RST die nach der Trennung noch vom Netz zu der IP fliessen.
Wenigstens fuer eine Minute sollte kein neuer Kunde die IP Adressen uebernehmen
um zu Garantieren das alle wiederholten TCP Transmissionen
(engl. retransmissions) abgekuerzt werden koennen. Falls der angehoerige
Netzwerk Architekt dies nicht bevorzugt fuer was-auch-immer Gruende, koennte
eine Stateful Firewall einzelne Kunden-Verbindungen schuetzen. Dies ist
nicht geraten da es Komplex ist und nicht die Privatsphaere des Verbrauchers
schuetzt. Manche Kunden wollen auch keine Firewall zwischen ihnen und dem
offenen Netz, und ihre wuensche sollten akzeptiert werden. Ein Security
Programmierer mit dem ich Kontakt hatte, schlug vor das vielleicht
Dynamische IP Adressen des Verbrauchers mehr Statisch gemacht werden, aber
persoenlich denke ich das dies nicht eine Loesung ist. Es geht gegen die
Internet Philosophie der Anonymitaet. Und koennte der Privatsphaere eines
Breitband Kundens schaden. Einzelne Kunden koennen sich schuetzen mit
Verschluesselten Protokollen, da es das lesen Privater Daten erschwert.

Dankeschoens:

  Vielen dank zu Daniel Hartmeier fuer seine Hilfe Loesungen zu finden.

An diesem Tag:

  An diesem Tag vor 12 Jahren, in 1994, beruehrte der Komet
Shoemaker-Levy 9 zuerst den Planeten Jupiter und hinterlies betraechtliche
Wunden. Wann wird die Menschheit einsehen das die Natur, unser eigentlicher
Feind, nie besiegt wurde. Stoppt die Verschwenderei von Krieg gegen euch
selber und macht euch bereit der Natur ins Auge zu sehen, wenn Sie kommt.
Die Natur wird nie erlauben das der Mensch Sie vergisst als den groessten
Feind der Menschheit.

[1]

/*
* Copyright (c) 2006 Peter Philipp
* All rights reserved.

What's new here?

Attack-vectors for session-hijacking has been thoroughly discussed
elsewhere, so there's no reason to repeat that here. But ....

[snip]

>Description:
  Some ISP networks do not reset open TCP connections of customers that
were either cut-off by the ISP or cut off by self-initiation. While it
is
responsibility of every person to terminate every open connection before
link termination, when the ISP initiates this, it cannot be guaranteed.

You've got far more serious problems than session hijacking to worry
about if your network permit an attacker to monitor who/when/where
people are disconnected or to kick users off the network at will as
would be required to succeed.

Besides, to which extent do broadband networks:

- permit users to choose their own address?

- immediately reuse an address for an other user (unless the pool is
exhausted)?

//Per

What's new here?

When I see a NANOG related issue once in a while on bugtraq, I forward it.

  Gadi.

Low threat level indeed. The following *ALL* need to happen for it to be a
problem:

1) You need to get disconnected unexpectedly.
2) Your IP address needs to be re-assigned quickly - before the ISP's routing
hardware has a chance to send too many ICMP Dest Unreachable and cause a
connection shutdown.
3) Your IP address needs to be handed to a malicious user.
4) Said malicious user has to be running an IP stack configured to *NOT*
send back a TCP RST or ICMP Port Unreachable when a packet comes in.
5) The connection being hijacked needs to have in-flight data that will be
retransmitted or a keep-alive packet or other similar hint to the attacker
that the connection exists.