Samstag, 2. August 2008

Wenns mal wieder brennt - Drucker als Idle-Scan Slaves

Ich hab mir mal überlegt wie das eigentlich mit dem Missbrauch von Druckern als Idle-Scan Slaves ist. Drucker sind heutzutage nicht mehr die alten, schweren Geräte die bei jedem Druck übelst laute Geräusche von sich geben. Nein, heutige Drucker sind die eierlegende Wollmilchsau der embedded devices. Viele können Drucken, FTP-Drucken, haben nen FTP Server und nen Anschluss für ne externe Platte, nen Webserver, ne Shell ... ja sogar nen kleines OS (NetBSD beispielsweise).

Warum aber sind Drucker ein geeignetes Ziel?
Drucker bzw. Netzwerkdrucker stellt man in die Ecke und installiert sie. Sie laufen und laufen und solange alles funktioniert, kümmert sich niemand um sie. Sie haben oftmals kein oder nur ein beschränktes Log-System und erregen wenig Aufsehen. Sie sind daher perfekt dazu geeignet, als Scan-Sklave für böse Buben zu fungieren.
All in all ... Drucker werden unterschätzt auch in Bezug auf die Sicherheit.

Nehmen wir ein großes Netzwerk wie beispielsweise ein Uninetzwerk. Automatische Portscans von ausserhalb sollte eigentlich automatisch ab irgendeinem bestimmten Noise-Level durch einen IP Block unterbunden werden. Die Frage ist jetzt nur: Was passiert wenn man einen verfügbaren Drucker im Netzwerk als Scan-Sklave missbraucht? Das Kritische beim Idle-Scan ist doch, dass der Drucker eine interne IP besitzt und somit auch interne Rechte ... eventuell.

Viele Implementierungen des TCP-Stacks bei Druckern sind quick-and-dirty. Die benötigte Vorraussetzung der incremtented IP ID ist bei vielen Druckern gegeben. Zudem, den Idle-Status besitzen viele Drucker sogar tagsüber bei laufendem Betrieb, da ja nicht auf allen Druckern rund um die Uhr gedruckt wird. Nachts werden Netzwerkdrucker meist vergessen auszuschalten und ideln daher so vor sich hin, bis irgendein Bösewicht von ausserhalb kommt und die Maschine für nen Idle-Scan missbraucht.

Es gibt nun weitere Probleme:
Eine große Institution, die Druckerports nach aussen freigibt, also eine offene Sicherheitspolitik fährt :D, wird sich einen Dreck um gefälschte SYN-Packete kümmern. Obwohl es imho recht einfach zu meistern wäre. Wenn am äussersten Gateway ein SYN-Packet auftaucht mit einer internen IP als Absender und Empfänger, dann muss doch was falsch laufen, oder? Spätestens hier sollte man dann entsprechende Maßnahmen ergreifen.
Die entscheidende Frage ist daher: Sind normale Portscans genauso noisy wie Idle-Scans? Und wie hoch ist die Chance dass gefälschte SYN-Packete bereits am Gateway erkannt werden?