In diesem Paper möchte ich euch
mal ein wenig verdeutlichen was Sniffer sind, wie sie arbeiten, welche
Einsatzmöglichkeiten ein Sniffer einem bietet und vor allem wo und
warum man Sniffer einsetzt. Welche Eigenschaften der Sniffer besitzt, etc.
In diesem Paper soll auch verdeutlicht werden, warum die neue TCP/IP Variante
"IPv6" nötig ist, wenn man sich den Datenfluss, im noch so unsicheren
Internet, einmal anschaut.
Sniffer fangen Netzwerkpakete ab. Ihr einziger Zweck besteht darin, den Netzwerkverkehr zu analysieren. So können sie Gefahrenbereiche aufspüren und der Admin hat es leichter sich im Netzwerk zurechtzufinden und Problemlösungen zu konzipieren. Wenn z.B. ein Teil eines Netzwerkes nicht mehr so arbeitet, wie es soll, dann kann man einen Sniffer einsetzen und feststellen wo nun genau das Problem liegt, also an welcher Stelle des Netzwerkes die Probleme sich befinden. Sniffer sind entweder Hardware oder Software. Es gibt Programme, so genannte Auditing Tools, aber auch Geräte die Sniffer darstellen können.
Sniffer lassen sich an einzelnen Computer im WWW/LAN/WAN installieren und protokollieren den Datenstrom und geben die analysierten Daten in der Regel in einer Datei zur Einsicht für den, der den Sniffer installiert hat. Das so genannte Output-File.
Ein Sniffer kann die verschiedensten Protokolle auswerten. Ob nun TCP/IP(Ethernet/WWW), IPX, AppleTalk, Banyan VINES oder LCC.
Sniffer arbeiten in der Regel immer
aus einer Kombination aus Hardware und Software. Es gibt Propiätere
Sniffer und Freeware-Sniffer. Propiätere Sniffer beinhalten normalerweise
Service-Leistungen des Herstellers, sind dafür aber auch recht teuer.
Sind aber auch auf den "Sniff- Verkehr" abgestimmt und optimiert. Die Freeware-Sniffer
dagegen sind billig und beinhalten keine Serviceleistungen, außer
vielleicht mal E-Mail Support. Und in der Komplexität sind sie oft
auch nicht so gut wie Propiätere Sniffer.
3.) Wie arbeitet
ein Sniffer
In einem Netzwerk sind alle Rechner
ja bekanntlich verkabelt und dem entsprechend auch verbunden. Das findet
über Hub´s statt. Jedes Netzwerkinterface eines Rechners hat
seine eigene Adresse(IP). Und durch diese Adresse unterscheidet sich dieser
Rechner von allen anderen. Keiner ist dementsprechend gleich. Die Verteilung
der Daten arbeitet so, dass jeder an das jeweils angeschlosse Netz die
Daten in kleinen Paketen, so genannten Frames, an den Verteiler sendet
und dieser die erhaltenen, aber nicht weiter verarbeiteten, Daten an jeden
Rechner weiterleitet. Auch wenn nur ein Rechner die Daten annimmt und verarbeitet,
kommen sie überall an. Wird nun ein Datenpaket von einem Rechner verschickt,
können alle anderen Rechner dieses Paket auch _hören_, wenn es
an ihnen vorbei, zu der Zieladresse hin geschickt wird. Dementsprechend
ist nicht sicher. Die Rechner reagieren nur nicht auf solch ein Paket,
wenn es nicht ausdrücklich an sie adressiert ist. Ein Rechner nimmt
nur ein Paket an, das an ihn adressiert ist. Es wird zwar angenommen aber
nicht weiterverarbeitet, wenn die Header-Adresse nicht stimmt.
Der Sniffer versetzt nun das Interface des Rechners in den Promiscuous Mode. Dieser Modus erlaubt nun die Verarbeitung und Annahme der Pakete durch bestimmte Applikationen, auch wenn sie nicht für ihn bestimmt sind. Ein Abfangen der Daten kann so erfolgreich sein.
Nun ist der Sniffer soweit, das er richtig _arbeiten_ kann. Da es aber in der Regel wenig Sinn macht alle Daten zu verwerten und zu analysieren, wird der Sniffer so eingestellt, das er nur die relevanten Daten annimmt und analysiert. Das ist dann oft nur der erste Teil des Frames oder der Sniffer wird so konfiguriert, dass er nach bestimmten Sachen sucht. z.B. Passwörtern und Usernamen. Ist halt davon abhängig wie der Sniffer nun eingestellt wurde. Wenn ein Scanner nun jedes Paket komplett abfangen würde, wäre das Output- File nach sehr geringer Zeit so riesig, dass eine gesamte Festplatte damit gefüllt sein kann. Wenn der Traffic eben hoch ist, ist das Output-File auch sehr schnell, sehr groß. Wenn man aber riesige Speicher-Medien zur Verfügung hat, kann man mit Sicherheit auch viel mehr interessantere Daten abfangen. Aber man hat natürlich auch sehr viel unnützes Zeug dabei.
*nix Scanner sind oft für solch
gezielte Angriffe konfiguriert. Sie werden aber nicht auf die Win Ebene
emuliert, da man es nicht verantworten will, das solch wichtige Daten/Programme
in die Hände von kleinen Script-Kiddies fallen, und somit ein _bisschen_
rumspielen und ihren destruktiven Gedanken freien Lauf lassen können.
Man muss halt unterscheiden zwischen
Sniffern und Keyloggern. Von beiden geht eine große Gefahr aus. Keylogger
speichern Lokal alle Tastaturanschläge, die auch in der Output-File
gespeichert werden, aber solange keine Tastenschläge übers Net
versandt werden, geht auch keine Gefahr von den Keyloggern aus. Wenn man
sich z.B. im Internet über keine SSL(Secure-Socket-Layer)-Verbindung
irgendwo einloggt, kann und wird der Sniffer diese Daten abfangen. Nehmen
wir nun einmal an, man sitzt mit 10 Leuten in einem Firmeninternen Netzwerk.
Ich sitze an Rehner A und einer meiner Kollegen an Rechner B. Wenn mein
Kollege nun ins Internet möchte, fließen seine Daten an meinem
Rechner vorbei um an das Gateway zu gelangen, welches den Internetzugang
ermöglicht. Er loggt sich bei GMX korrekt mit seinen Benutzerdaten
ein. Da er keinen kostenpflichtige SSL Verbindung von GMX nutzt rauschen
natürlich sein Benutzername und sein Passwort an meinem Rechner vorbei.
Normal, aber da ich das Interface in den Promiscuous Mode versetzt habe,
nimmt mein Interface, dank des Sniffers, die Daten auch an und verwertet
sie. Nun schau ich in das Output-File und sehe seine Daten. Das ist die
Gefahr bei Sniffern.
5.) Was kann ich gegen Sniffer machen?
Sniffer aufzudecken und zu bereinigen erfordert sehr gute Kenntnisse im Bereich der Netzwerktopologie. Denn Sniffer hinterlassen keine Spuren, die man einfach mit einem Auditing-Tool aufspüren kann. Sniffer sind Programme die im Hintergrund laufen, also passive Programme. Wenn sie nicht gerade alles was im Netzwerk _herumschwirrt_ sniffen, sondern wie schon oben beschrieben, eben nur die Frames, dann verbrauchen sie nur ganz wenige Netzwerkressourcen, und dann werden sie auch nicht von Auditing-Tools aufgespürt. Aber wenn man sich ins Netzwerk mit einem ganz neuen Rechner incl. Sniffer einloggt, dann muss auch er eine IP-Adresse haben. Ist im Netzwerk eine Netzwerktopoloie-Karte integriert, fällt es auf, wenn plötzlich eine neue IP-Adresse sich darin befindet. Aber normale Firmen können sich in der Regel einen solchen Aufwand nicht leisten. Deswegen werden Sniffer heutzutage sehr selten erkannt.
Sniffer in großen Netzwerken zu erkennen ist sehr schwer, wenn man sich den oberen Absatz durchgelesen hat. In kleineren ist es da schon einfacher. Man checked einfach jeden einzelnen Rechner auf deren Prüfsummen. Dafür gibt es einige Tools, die das Aufspüren eines Sniffers erleichtern. Aber diese Tools funktionieren nur aus Solaris und SunOS Systemen. Sie heissen Snifftest, Nitwit, Promisc. und cpm. Einfach mal bei google.com suchen.
Es gibt also keine wirklich funktionierenden
Maßnahmen, die einem helfen, sich vor Sniffern zu schützen.
Solange IPv6 nicht implementiert ist, sind und bleiben Sniffer nach wie
vor große Sicherheitsrisiken. Hier kommen aber mal ein paar grundlegende
Sachen, wie man sich vor Sniffern schützen bzw. sie abwehren kann.
|
Der eigentliche Angriffspunkt eines Sniffers besteht ja in der Eigenschaft des Hubs, die empfangenen Daten grundsätzlich an alle an ihm angeschlossene Rechner zu senden. Will man sichergehen, kann man anstelle von Hubs auch Switches oder auto-switching Hubs verwenden, welche die Daten im Gegensatz zu den meistens verwendeten Hubs die Daten auch wirklich nur an den Zielrechner weiterleiten. Diese Geräte sind jedoch auch dementsprechend teurer. Man kann aber auch nur wirklich gefährdete Systeme mittels Switches verbinden, wodurch jedoch im Endeffekt auch nicht alle Rechner vor Angriffen durch Sniffer geschützt sind. Hieraus wird ersichtlich, dass diese Vorbeugungsmöglichkeit zwar möglich ist, jedoch trotzdem gewisse Nachteile besitzt. |
|
Eine einfachere und kostengünstige Variante ist es, die am LAN angeschlossenen Computer mit der richtigen Netzwerkkarte auszurüsten. Da ein Sniffer nur dann funktionieren kann, wenn sich die Netzwerkkarte im Promiscuous Mode befindet, scheint die entsprechende Lösung offensichtlich: Es sollten im LAN nur Netzwerkkarten verwendet werden, welche diesen Modus nicht zulassen. Anbieter, welche solche Karten noch in ihrem Sortiment haben könnten wären beispielsweise 3Com, IBM, Hewlett-Packard oder Intel |
|
Schon bald wird sich die neue Version von TCP/IP durchsetzen, welches als IPv6 oder IPng bekannt ist. Dieses Protokoll beinhaltet auch IPsec, bei welchem die Daten auf Netzwerkebene verschlüsselt werden und nur vom wirklichen Zielrechner wieder entschlüsselt werden kann. Genauer soll hier jedoch nicht auf IPv6 eingegangen werden. Sobald dieses Protokoll jedoch den neuen Standart im Netz darstellen wird, gibt es keine Probleme mehr mit Sniffern. |
|
In Applikationen verwendete Verschlüsselung
ist wohl das wichtigste Mittel zum Schutz vor Sniffer-Attacken.
Um Datenübertragungen sicher zu gestalten, kann man diese verschlüsseln. Für grössere Netzwerke können Sicherheitsmechanismen wie etwa S/Key oder SecureID Token in Betracht kommen. Dabei handelt es sich die Vergabe von Passwörtern, welche nur einmal gültig sind. Leider sind diese Verfahren ziemlich aufwendig und werden von den Benutzern auch nicht gerne angenommen, denn schliesslich hat man lieber ein eigenes und beständiges Passwort. Auch für Zugriffe auf Mailaccounts gibt es eine sichere Methode namens S/POP, welche die Daten ebenfalls verschlüsselt übermittelt. Man kann zwar seine Mails per PGP verschlüsseln, doch sind dann auch wirklich nur die Mails verschlüsselt. Damit hat es sich dann jedoch auch schon wieder. SSL:
SSH:
Im Endeffekt gibt es jedoch immer wieder Programme, welche zwar über das Netzwerk fungieren, jedoch keine Möglichkeit zur Verschlüsselung bieten. Erst wenn IPv6 zum Einsatz kommt, kann man von einer sicheren Übertragung ausgehen, da dort die Daten an sich bereits verschlüsselt übertragen werden und ein Sniffer somit nichts mit ihnen anfangen kann. |
|
Der Administrator kann auch die im LAN befindlichen Rechner auf entsprechende Netzwerkkarten im Promiscuous Mode oder verdächtigen Applikationen checken. Benutzt der Angreifer jedoch ein zwischengehängtes Notebook, welches er jeweils wieder mitnimmt, so ist diese Variante wohl eher weniger effektiv. Es mag also in kleineren, gut überschaubaren Netzen eine Möglichkeit darstellen, ist jedoch vorallem in grösseren Netzen zum einen sehr aufwendig und zum anderen nicht gerade eine sichere Garantie. |
|
Sendet man Daten an einen Rechner, dessen Netzwerkinterface sich im Promiscuous Mode befindet, so wird die Reaktionszeit länger dauern als normalerweise üblich. Es gibt Programme, welche Netzwerke auf ihre Reaktionszeit testen können. Dies wird auch verwendet, um etwa Schwachstellen in Bezug auf die Performance eines Netzwerkes zu testen. Testet man nun ein Netzwerk regelmässig auf die Reaktionszeit der einzelnen angeschlossenen Rechner, lässt sich so ein Rechner, welcher einen potentiellen Sniffer darstellt gut lokalisieren und dann lokal auf Sniffer überprüfen. |
|
Es werden im Netz verschiedenste Programme zum Aufspüren von Sniffern angeboten. Jene Programme, welche den Rechner konktrollieren, auf welchen man gerade lokal zugreift, mögen zwar ihren Zweck erfüllen, doch sind sie kaum von grossem Nutzen. Es gibt jedoch auch Programme, welche feststellen sollen, ob ein anderer Rechner gerade snifft. Es gilt bei solchen Programmen, immer etwas skeptisch zu bleiben, da meist nur Bugs gewisser Netzwerkkarten oder Programme verwendet werden, um auf solche Attacken aufmerksam zu werden. |
6.) Wo werden Sniffer eingesetzt
Eigentlich überall ;D Nein, also, am häufigsten findet man Sniffer natürlich an Rechnern, wo am meissten Traffic herrscht, da dort natürlich und logischerweise die meissten und wichtigsten Daten vorbei fliessen_ und so der Sniffer die wichtigsten Daten _mithören_ kann. Aber auch werden sie oft an Gateways eines LAN´s installiert, da sie den Weg zum WWW bringen. Also, da wo am meissten Traffic herrscht und dort, wo man die meissten wichtigen Daten erwarten kann.
Hat man sich in einen Rechner _gehacked_,
dann werden auch Sniffer installiert, solange man root hat, die dann in
den seltesten Fällen erkennt werden, ausser das Output-File wird zu
groß oder es wird zu viel gesniffed. So versucht sich der Angreifer
weitere Passwörter zu ersniffen, die an der gehackten Box eingegeben
werden. Das ist ein normales Mittel der Hacker, denn so ist es möglich
weitere Rechner, dank der ersniffeden Passwörtern, zu hacken.
7.) Wo bekomme ich kommerzielle Sniffer
- ATM
Sniffer Network Analyzer
- Shomiti
System Cenrury LAN Analyzer
- PacketView
von Klos Technologies
- Network
Probe 8000
- LANWatch
- NetMinder
Ethernet
- ProConvert
- LANdecoder32
- NetAnt
Protocol Analyzer
8.) Wo bekomme ich freeware Sniffer
- Sniffit
- Ethereal
- Esniff
- Gobbler
- Ethload
- Netman
- Sniffer
FAQ von Christopher Klaus in Englisch
- IPv6
und alles was dazugehört in Englisch
- Das
ultimative FAQ von Robert Graham aber leider auch in Englisch