Ich habe gerade etwas die Diskussion zum Bundestrojaner auf Golem.de verfolgt und dabei habe ich mich folgendes gefragt:
Wäre es nicht eigentlich normalerweise für einen Router im Internet möglich, gewisse Datenpakete, die er eigentlich (bis auf das Bit mit der Anzahl Hops) unverändert weiterleiten sollte, zu manipulieren?
Meines Wissens läuft die Kommunikation verbindungsorientiert ab, dieser pööse präparierte Router bekäme also sicherlich genug Pakete zusammen, damit ein kleiner Trojaner darin Platz hätte... ein eigentlich vertrauenswüriges Programm von einer vertrauenswürdigen Quelle wäre also plötzlich schädlich und gefährlich!
TCP/IP Pakete sind zwar mit einer Checksummer versehen, die dient aber soviel ich weiss nur dazu, beschädigte Pakete zu identifizieren und könnte doch problemlos mit einer zum Trojaner passenden Checksumme ausgetauscht werden.
Obwohl damit keine (direkten!!) Angriffe auf bestimmte Ziele möglich wären, macht es mir doch ein bisschen Sorgen...
Mache ich irgend einen Denkfehler oder geht das so wirklich?
Ich habe gerade etwas die Diskussion zum Bundestrojaner auf Golem.de verfolgt und dabei habe ich mich folgendes gefragt:
Wäre es nicht eigentlich normalerweise für einen Routerbild im Internet möglich, gewisse Datenpakete, die er eigentlich (bis auf das Bitbild mit der Anzahl Hops) unverändert weiterleiten sollte, zu manipulieren?
Ja, das wäre durchaus möglich und wird ähnlich auch als ein möglicher Ansatzpunkt für einen Bundestrojaner angesehen mangels genauerer Informationen. Wobei eigentlich der Hauptverdacht eher in Richtung der Core-Router bei den großen Austauschknoten geht, da diese über dafür durchaus nutzbare Schnittstellen verfügen.
Meines Wissens läuft die Kommunikation verbindungsorientiert ab, dieser pööse präparierte Router bekäme also sicherlich genug Pakete zusammen, damit ein kleiner Trojaner darin Platz hätte... ein eigentlich vertrauenswüriges Programm von einer vertrauenswürdigen Quelle wäre also plötzlich schädlich und gefährlich!
Und selbst wenn der Router nicht genug Pakete zusammen bekäme, wer sollte ihn daran hindern diese nicht selbst zu produzieren? Er hätte die Möglichkeit die komplette Verbindung zu übernehmen in jeglicher Hinsicht. Er kann sogar von Anfang an dafür sorgen, dass Du schon garnicht erst mit dem beabsichtigten Server verbindest, sondern alle Verbindungen von Anfang an umlenken.
TCP/IP Pakete sind zwar mit einer Checksummer versehen, die dient aber soviel ich weiss nur dazu, beschädigte Pakete zu identifizieren und könnte doch problemlos mit einer zum Trojaner passenden Checksumme ausgetauscht werden.
Ja, diese Checksumme im Header bezieht sich nur auf das aktuelle Paket und ist somit von einem Router auf dem Weg schnell neu berechnet für ein neu zusammen gebautes Paket.
Obwohl damit keine (direkten!!) Angriffe auf bestimmte Ziele möglich wären, macht es mir doch ein bisschen Sorgen...
Warum sollte das nicht möglich sein? Man muß nur lange genug abwarten, bis das betreffende System ausführbare Daten in irgendwelcher Form aus dem Netz läd, oder andere Inhalte bei denen man weiß, dass die interpretierende Software über eine Sicherheitslücke verfügt.
Auch wenn es nach einem Hinderungsgrund aussieht, dass man diesen Download abwarten muss ist es nicht wirklich einer. Nehmen wir mal den verbreiteten Fall Windows: Sind hier automatische Updates aktiviert, so hat man einen prima Ansatzpunkt zum EInschmuggeln von Schadcode, dieser Weg funktioniert sogar weitgehend ohne Aktion des Besitzers des Rechners.
Anderer Punkt ist Anwendungssoftware, die automatisch nach Updates sucht. Dabei muß dann nicht einmal wirklich ein Update vorligen, allein diese Anfrage nach einer neuen Version kann man auch schon entsprechend beantworten...
Hallo hier AdobeAcrobat, liegt auf dem Server eine neue Version? Woher will der Acrobat wisen, dass die Anwort "Ja, hier ist ein ganz wichtiges und tolles Update" dann wirklich vom Adobe-Server kommt?
Auch wenn hier wieder md5-Checksummen als Mittel zum Schutz genannt wurden, so ist das nicht zuende gedacht. Genau so, wie die Datei selbst manipulierbar ist, so ist auch die Checksumme manipulierbar unabhängig davon, ob sie auf dem gleichen oder einem ganz anderen Server liegt.
Ist ein anzugreifendes System erst einmal identifiziert, so ist es nur Geduldsarbeit aus den fließenden Daten eine MD5-Checksumme heraus zu lesen. Da eine Checksumme ein eindeutiger Fingerabdruck ist für eine Datenmange ist sie natürlich auch eindeutig für ein bestimmtes Programm identifizierbar. Spekulieren wir mal:
Bestimmt wird es die logistische und rechentechnische Kapazität überschreiten ein manipuliertes Programm für jeden Einsatzfall in Echtzeit zu generieren wenn man denn wirlklich auf aktive Downloads als EInfallstor abzielt. Viel sinvoller mag es da erscheinen gewisse Pakete auf Halde zu haben die man einfach in den Datenstrom injiziert. Wa sman in diesem Fall tun müsste wäre abzuwarten, bis der Anwender nach einem entsprechenden Programm sucht. Jetzt weiß man ja, dieses Programm hat eine Checksumme von XXXXX, nun muss man nur noch diese Checksumme aus dem Datenstrom heraus ändern auf den Wert des manipulierten Paketes.
Kurzum, wenn man davon ausgeht, dass der Weg der Datenmanipulation auf der Ebene von Router stattfinden könnte, so muß man logischerweise auch davon ausgehen, dass eine Checksumme manipuliert sein kann, da diese auf dem gleichen Weg transportiert wird, letztendlich ist aber auch das nur die Kür, denn die meisten Downloads bieten sowieso keine Checksumme zur Überprüfung an, allein Windows Update tut dies nicht und ist eine gute Möglichkeit eine große Zahl von Systemen zu erreichen.
Mal noch als kleines Sakrileg: Wie wär´s mit Firefox alternativ? Auch recht verbreitet mittlerweile und sucht normalerweise auch standardmäßig nach Updates.