Opensource Trojaner

?
OpenSSH hatte doch mal 'nen Trojaner im Source:
http://www.cert.org/advisories/CA-2002-24.html
Aber mal ehrlich, denkt ihr nicht, dass ihr ein _wenig_ übertreibt mit eurer Sorge? Was soll dieser Trojaner denn bitte bewirken können, wenn man nicht gerade als Administrator/root in der Gegend rumsurft ... mal von Anfang an:
Erst einmal: Wenn ich mir mein Betriebssystem übers Internet ziehe, dann hab ich eh verloren - wenn ich dem schon nicht trauen kann, dann ist es vorbei. Wie die Lösung aussieht? Ich verwende OpenBSD und bestelle mir ab und zu (jedes Jahr) eine CD. Wenn ich der Post nicht trauen darf, dann kann ich Wim in Belgien einen Besuch abstatten und gleich das Projekt unterstützen (ich wohne in Niedersachsen, ansonsten muss man sich einen anderen ausländischen Verkäufer suchen).
Die Errata liegen im Quelltext vor, ganz bisschen Verständnis sollte man für C schon haben, um 10 - 100 Zeilen verstehen zu können. Außerdem reicht es, wenn man erkennen kann, dass keine Ports geöffnet werden oder Privilegien oder oder oder ... Könnte aber sein, dass die erst gar nicht mehr im Browser angezeigt werden? Na ja, spätestens dann werd ich Bescheid sagen, weil die Übersetzungen dann auf einmal hinterher hängen.
Und jetzt brauch ich noch einen Browser, zum Beispiel Firefox. Wenn der nicht auf der CD sein sollte, muss ich wohl oder übel von einem Server downloaden. Und jetzt hab ich verloren? Ich denke nicht, denn es gibt Tools wie
systrace(1), mit denen ich einstellen kann, dass ich bei jedem neuen Verbindungsaufbau gefragt werden möchte - oder ganz abblocken. Im Übrigen bereits im System und dem traue ich.
Aber mal angenommen, das reicht alles nicht: dann hab ich jetzt also den Trojaner mit Benutzerrechten heruntergeladen und ausgeführt (im Übrigen kann man für den Browser auch einen eigenen Benutzer anlegen und nur das download-Verzeichnis für die Gruppe schreibbar machen). Was will der jetzt machen? Einen Netzwerkport öffnen? Na gut, dann kann er auch gleich meine OpenBSD-Firewall infiltrieren, denn dort werden nur bestimmte Ports weitergeleitet (NAT sei dank). Ist aber sowieso unwahrscheinlich, denn die werden wohl nicht pausenlos Anfragen senden, ob ich schon infiziert wurde. Also müssen aktive Anfragen von mir ausgehen. Sonst gäbe es nur noch die Möglichkeit, dass das Netzwerkinterface den gesamten Traffic abhört (geht aber mit Benutzerrechten nicht).
Eine aktive Anfrage, die auf alle Fälle durch die Firewall gehen muss - das kann _nur_ TCP sein (ansonsten müsste ich "keep state" oder ähnliches verwenden). Und dafür gibt es das herrliche
tcpdrop(8), mit dem TCP-Verbindungen geschlossen werden. Im Übrigen hilfreich, wenn paar Verbindungen noch auf FIN warten und niemals 'ne Antwort kriegen ...
Außerdem funktioniert der Trojaner doch nur ein einziges Mal, es sei denn ich aktiviere ihn nach dem nächsten Neustart nochmal. Und einen Autostart-Eintrag kann man nun wirklich leicht aufspüren. Beim Bootvorgang lass ich die versteckten Verzeichnisse in den Home-Verzeichnissen eh löschen und wieder aus einem Backuparchiv erstellen, das erspart einem die Suche nach Fehlern, wenn man mal wieder rumgespielt hat.
Das System mag restriktiv sein, aber es ist möglich - und sogar mit recht geringem Aufwand.