Mögliche Sicherheitslücke in Ports/Packages von FreeBSD

Rakor

Administrator
Teammitglied
Am 11. November 2012 hat das FreeBSD-Team einen Einbruch in zwei Servern des FreeBSD.org-Clusters festgestellt.
Das FreeBSD-Team hat die betroffenen Server umgehend vom Netz genommen um dem Zwischenfall zu untersuchen.
Eine Sicherheitsuntersuchung ergab, dass das Basissystem zu keiner Zeit gefährdet war. Wenngleich bisher ebenfalls keine Manipulation im Bereich der Ports/Packages festgestellt werden konnte ist eine Kompromittierung von Drittsoftware die im Zeitraum vom 19.09.-11.11. über Ports/Packages installiert oder geupdated wurden nicht ausgeschlossen.

Das FreeBSD-Team stuft eine Gefährdung als unwahrscheinlich ein, empfiehlt bei Systemen welche Betroffen sein könnten aus Sicherheitsgründen jedoch eine Neuinstallation.

Die bisherigen Fakten:
- Das Basissystem war zu keiner Zeit einer möglichen Manipulation ausgesetzt.
- Ports/Packages waren vermutlich zwischen 19.09.-11.11. dem Angreifer zugänglich.
- Die Packages für FreeBSD 9.1 werden komplett neu gebaut da diese nicht sicher verifiziert werden konnten.
- Die aktuell vorliegenden Ports/Packages wurden überprüft und zeigen keine Anzeichen der Manupulation.
- Die Gefahr einer Manipulation wird aktuell als gering eingestuft.

Genaue Informationen und Hinweise zum Vorgehen bietet das FreeBSD-Team hier: http://www.freebsd.org/news/2012-compromise.html

On Sunday 11th of November, an intrusion was detected on two machines
within the FreeBSD.org cluster. The affected machines were taken
offline for analysis. Additionally, a large portion of the remaining
infrastructure machines were also taken offline as a precaution.

We have found no evidence of any modifications that would put any end
user at risk. However, we do urge all users to read the report
available at http://www.freebsd.org/news/2012-compromise.html and
decide on any required actions themselves. We will continue to
update that page as further information becomes known. We do not
currently believe users have been affected given current forensic
analysis, but we will provide updated information if this changes.

As a result of this event, a number of operational security changes
are being made at the FreeBSD Project, in order to further improve our
resilience to potential attacks. We plan, therefore, to more rapidly
deprecate a number of legacy services, such as cvsup distribution of
FreeBSD source, in favour of our more robust Subversion, freebsd-update,
and portsnap models.

More information is available at
http://www.freebsd.org/news/2012-compromise.html
 
Hi

Ich habe in der Firma wegen Anpassungen/Features alle Pakete selber gebaut. Da das Base-System nicht betroffen zu sein scheint, reicht es dann aus sich den SVN Branch zu ziehen und das System neu zu Bauen? Einfach einmal überschreiben um wirklich auf der sicheren Seite zu sein.

Ich habe am Donnerstag von 9.1-RC2 auf 9.1-RC3 upgegraded.

viele Grüße
Darko
 
Wenn du den sicheren Ansatz wählst und das System als kompromittiert ansiehst muss es komplett platt gemacht und komplett neu installiert werden.
Auch wenn die Quellen des Basissystems keine Änderungen erfahren haben besteht dennoch die Möglichkeit, dass manipulierte Drittsoftware, die nötigen Rechte vorausgesetzt, dein Basissystem ändern und somit angreifbar machen.
Alleine die Nutzungen von Drittsoftware als root (bei mir wäre das alleine schon vim) ermöglicht es somit dein System anzufallen.
 
Einen Grund in Panik zu verfallen, gibt es allerdings nicht. Wie in dem Statement klar geschrieben ist, gibt es keine Hinweise darauf, dass die Pakete und Portsnap-Checkouts manipuliert worden sind. Man kann es aber eben nicht ausschließen. Und daher muss sich jeder für sich entscheiden, ob er bereit ist mit dem sehr geringen Risiko zu leben, oder ob er in den sauren Apfel beißt und entweder alle Ports oder gleich die ganze Maschine reinstalliert.

Ich für meinen, ganz persönlichen Teil sehe die Sache im Moment so, dass es nur einen sehr diffusen Verdacht gibt, dass etwas passiert sein könnte. Das ordne ich erst einmal nicht höher als das allgemeine, sich durch die Nutzung von Software Dritter ergebende Risiko ein. Das ein Backdoor in einem Paket ist, hat in meinen Augen für sich genommen nicht mehr Auswirkungen als ein Exploid in einem beliebigen Serverdienst mit Rootrechten. Daher werde ich einige Tage abwarten und schauen, was sich ergibt. Erst dann treffe ich eine Entscheidung, was zu tun ist. Jetzt auf Teufel komm raus loszurennen und alles plattzumachen, halte ich einfach für übertrieben. Denn wenn es dieses Backdoor tatsächlich geben sollte, ist es sowieso sei Ende September auf meinen Systemen und da kommt es dann auf einige Tage mehr auch nicht mehr drauf an.
 
Zuletzt bearbeitet:
Jepp sehe ich auch so. Ich habe im Moment nur 1 System das am "www" angeschlossen ist. Zusätzlich aber in einem eigenen Netz und per Firewall (OpenBSD) auf einem anderen System nochmals abgeschottet. Dies dürfte wohl auch der Grund sein, warum wir die Ports nicht mehr updaten konnten.
 
Columbo0815 schrieb:
Steht denn irgendwo wie eingebrochen wurde? Ich finde dazu nichts...

FreeBSD schrieb:
The compromise is believed to have occurred due to the leak of an SSH key from a developer who legitimately had access to the machines in question, and was not due to any vulnerability or code exploit within FreeBSD.

:)
 
Schade das Bokken noch nicht in den Ports ist wer es nicht kennt das ist ein Reverseengineering Werkzeug erster Güte, jetzt schon, denke mal wenn ich Zeit finde sollte ich mal nen Port dazu bauen.

Liest sich nicht gut, Heise erspare ich mir, Danke für den Input Rakor
 
Zuletzt bearbeitet:
Schade das Bokken noch nicht in den Ports ist wer es nicht kennt das ist ein Reverseengineering Werkzeug erster Güte, jetzt schon, denke mal wenn ich Zeit finde sollte ich mal nen Port dazu bauen.

Ist Bokken nicht lediglich eine GUI für radare (und Pyew)? Das Reverse Engineering Framework ist jedenfalls als Port bereits vorhanden, siehe devel/radare2. Oder habe ich Dich mißverstanden?
 
Was mich jetzt aber mal interessiert, warum der Einbruch erst so spät bemerkt wurde, nachdem die Server schon wochenlang kompromittiert waren. Absolute Sicherheit gibt es nicht, die ist eine Illusion, das ist mir schon klar. Aber Vertrauen in die eigene Sicherheitsarchitektur ist zwar schön, aber sie taugt doch nur, wenn sie auch kontrolliert wird, oder? Kann denn mittlerweile garantiert werden, das bei der Neuinstallation von Freebsd 9.0 bei der Benutzung von Ports keine Schadsoftware mit übertragen wird?
 
Was mich jetzt aber mal interessiert, warum der Einbruch erst so spät bemerkt wurde, nachdem die Server schon wochenlang kompromittiert waren

Weil der Angreifer den SSH-Key eines Entwicklers hatte. Das findet man nicht so schnell raus, da kein Einbruch in dem Sinne stattgefunden hat.
 
portsnap applies 24080 patches

Ich habe jetzt mal portsnap angeworfen.
Ein Update des Portstrees vom 11. November zum 20. November ergibt
insgesamt 24080 Patches. Das ist ja doch eine ganze Menge.

Haben die Patches eine bestimmte Funktion, also z. B. Überprüfung der Integrität
der Pakete? Sieht so aus als ob das im Klartext heisst, dass man alle installierten
ports neu bauen darf.

Edit: Scheint wohl doch nichts damit zu tun zu haben. Update läuft durch und zeigt 3
Pakete zum aktualisieren an
 
Zuletzt bearbeitet:
Es wurde ein komplett neuer Snapshot generiert. Daher sendet portsnap die nicht einfach die Änderungen seit deinem letzten "portsnap fetch", stattdessen alles. Halt für jeden Port einen Patch und zusätzlich etwas Gedödel. Ein "portsnap update" wird entsprechend auch alle Verzeichnisse in /usr/ports austauschen. Besser ist es natürlich dennoch, den harten Weg zu gehen und ein "rm -Rf /usr/ports ; mkdir /usr/ports ; portsnap extract" zu machen. Die Versionen der Ports ändern sich aber nicht, portmaster und co werden daher auch nur wirklich aktualisierte Ports neubauen. Ob du nun wirklich alles hart neubauen willst, musst du selbst wissen. Siehe dazu auch: http://www.bsdforen.de/showpost.php?p=245627&postcount=5
 
Solange hier niemand etwas in der Richtung verlauten lässt werde ich jetzt auch nicht mein ganzes System neubauen. Ich denke dass das dann auch hier im Thread erwähnt wird, bzw. andere Medien die Meldung mit Sicherheit dann auch aufgreifen.

Vorerst mal die Devise: Keine Panik auf der Titanic! :ugly:

PS: Ist ja auch nur mein Rechner @home.
 
Welche Sicherheit soll dir das bringen, wenn du mit einem moeglicherweise kompromittierten System, das System neu baust? xD

Aus gegebenem Anlass wurde auch schon (wieder) fleissig diskutiert, warum man nicht git verwendet hat, der den Code ja signieren und verifizieren kann, was eine Manipulation sehr erschwert? Aber nachdem man glaube ich sehr viel Arbeit in die Entwicklung des workflow fuer svn gesteckt hat, wird das wohl nicht so schnell passieren.
 
Was ist die generelle Empfehlung in diesem Fall?

Abwarten ob das FreeBSD Team definitiv Veränderungen an diversen Ports feststellt, oder sofort alles neu bauen incl. fetch neuer Sourcen und Neubau aller installierten Ports bzw. Neuinstallation. :(

Ich habe mir gerade erst nach Umbau diverser Teile, die unter Linux nicht vernünftig laufen => Grafikkarte, TVkarte das System komplett neu aufgesetzt.

Ist auch nur ein normaler HomePC zum tüfteln.

Ich hatte die Posts in diesem Thread so verstanden, dass man vorerst nicht unbedingt gleich alles neu bauen muss. :confused:
 
Es ist - wie hier bereits öfter geschrieben - eine Frage deiner persönlichen Präferenz. Das FreeBSD Security Team hat einen vollständigen Audit aller Systeme durchgeführt und dabei keinerlei Hinweise dafür gefunden, dass Dinge verändert wurden. Aber dort gibt es eben die kleine Einschränkung, dass man aus technischen Gründen (u.a. das Fehlen einer verlässlichen Vergleichskopie) bei den Ports und Packages nicht zu 100% sicher sein kann, dass es nicht doch eine bisher unentdeckte Änderung geben könnte. Das ist also erst einmal eine rein abstrakte Bedrohungslage, die ich (Yamagi) wie schon gesagt nicht höher als eine Schwachstelle in irgendeiner Drittanbietersoftware einordnen würde. Und davon gibt's jeden Monat etliche. :)

Nun musst du dich entscheiden: Lebst du mit dem Risiko und ignorierst die Sache, oder möchtest du auf Nummer sicher gehen? Wenn du auf Nummer sicher gehen willst, musst du allerdings gleich den Holzhammer rausholen. Ports neubauen bringt dir nichts, der Schadcode kann längst seinen Weg in andere Systemteile gefunden haben. Da hilft dann nur der Reinstall, wenn man wirklich paranoid ist, sollte man die Festplatte noch ausnullen. Aber meine Meinung dazu ist, dass sich der Ärger nur in sehr kontrollierten Umgebungen lohnt. Normale Menschen installieren jeden Tag Ports ohne nachzudenken, aktualisieren nicht bei jeder kleinen Sicherheitslücke, kopieren Daten von USB-Sticks, lesen Spam-Mails, surfen auf fischigen Seiten... Für diese Menschen ist es einfach nur eine weitere, abstrakte Möglichkeit sich Ärger einzufangen. Nicht mehr und auch nicht weniger. Und solange nicht ein Beweis erbracht wurde, dass tatsächlich ein Paket kompromittiert wurde, sollte man sich da in meinen Augen wirklich keinen Kopf drum machen.

Man kann die Sache sogar noch weiter treiben: So weit verbreitet ist FreeBSD wirklich nicht. Ein paar Pakete zu kompromittieren und auf möglichst viel Fang im Schleppnetz zu hoffen, ist nicht effizient. Erst recht nicht, wenn man sich erst mit mehr oder weniger viel Aufwand einen unauffälligen Zugang zu den Systemen besorgen muss. Also hat man es entweder mit einem irrationalen Scriptkiddie zu tun, oder mit einem sehr gezielten Angriff. Ein solcher könnte z.b. darin bestehen, dass man ein spezielles Paket kompromittiert und hofft, dass es z.B. über Umwege in einer iranischen Urananreicherungsanlage landet. In dem Fall würde aber einem Anwender wie uns gar keine Gefahr drohen. Im Gegenteil, da man verhindern will aufzufliegen, würde man alles daran setzen unbeteiligte Nutzer aus der Schusslinie zu halten.

Lange Rede, kurzer Sinn: Überlege dir, wie wichtig deine Systeme sind und wie hoch du das Risiko einschätzt. Dann entscheide dich.
 
Zurück
Oben