Mit ein bisschen mehr Zeit möchte ich die Geschichte rund um die Meldung Malware in .deb Paket von gnome-look.org noch einmal Revue passieren lassen. Was war passiert? Ein unbekannter Freund hat auf der beliebten Webseite gnome-look.org einen vermeintlichen Bildschirmschoner als .deb-Paket hochgeladen. Hat man sich dieses Paket heruntergeladen und installiert, so wurden zwei Skripte aus dem Internet geladen und nach /usr/bin/
kopiert, sowie ein Eintrag in /etc/profile.d/
erzeugt. Damit wurden die Skripte automatisch beim beim Einloggen ausgeführt. Einen Screensaver bekam man danach nicht, stattdessen führten die Skripte eine simple DOS-Attacke auf eine Spiele-Community aus.
OMG!!!11EinsElf! Malware für Linux!
Mit etwas Ruhe betrachtet liegt (sitzt) das Problem dort begraben, wo langjährige Linux-Anwender es schon immer vermutet haben. Vor dem Rechner, im Abstand von ca. 50cm. Ich meine dies nicht bösartig, doch Computer sind hoch-komplexe Systeme, die viele Anwender nicht durchblicken können.
Gerade die sorglose Installation von Software aus unbekannten Quellen bricht jedem Sicherheitskonzept das Genick. Da helfen keine Personal Firewalls oder Virenscanner. Es wäre ein Leichtes ein Programm per Social-Engineering zu verteilen und es dann Daten löschen zu lassen. Dabei wäre das Betriebssystem völlig egal. Ob Windows XP, Windows 7, Mac OS X, Linux oder BSD. Egal, wird ein Programm vom Anwender ausgeführt, dann kann das Programm alles machen, was im im Kontext der Rechte des ausführenden Benutzers liegt.
Das klappt wie man im aktuellen Fall sehen kann nicht lange, dazu sind die soziale Netze der Linux-Anwender zu eng genüpft. Kaum war der Missbrauch des Pakets bekannt geworden, war es von gnome-look.org gelöscht, die Information zum Löschen der Skripte verbreitet und die herunterzuladenden Skripte auf dem Server gelöscht. Doch eine begrenzte Anzahl an „Opfern“ wird es dabei immer geben. In diesem Fall war der angerichtete Schaden minimal, doch es wäre auch andere Szenarien denkbar.
Wie kann man die Situation verbessern?
Der Hebel muss an der richtige Stelle angesetzt werden. Ein von Grund auf solide aufgebautes System braucht keinen Virenscanner oder eine Überwachung von Verzeichnissen auf Änderungen. In meinen Augen müsste man bei der Installation von Paketen aus unbekannten Quellen beginnen, den hier muss der Anwender selber die Spreu vom Weizen trennen. Dies wird ihm derzeit jedoch nicht gerade leicht gemacht.
Als Beispiel zeige ich die Installation eines .deb Paketes von RealVNC. Der Anwender sieht nur eine beliebig gestaltbare Beschreibung, Details des Paketerstellers die dieser völlig frei angeben kann und welche Datei wohin kopiert wird. Was über preinst- oder postinst-Routinen während der Installation gemacht wird ist nicht erkennbar. Eine Garantie, dass die Angaben zum Ersteller stimmen, gibt es nicht. Was könnte man besser machen?
Offizielle Zertifizierungsstellen
Es muss eindeutig erkennbar sein, von wem ein Paket stammt. Die Identifizierung darf nicht nur über ein selbst ausfüllbares Textfeld bei der Erstellung des .deb Paketes geschehen. Das Paket muss mit verifizierten Schlüsseln signiert werden. Falls der Schlüssel nicht eindeutig einer Person oder Organisation zugeordnet werden kann, dann muss die Paketverwaltung, ähnlich wie Firefox bei selbst erstellten Zertifikaten, deutlich vor dem Paket warnen.
Dafür bräuchte es Zertifizierungsstellen, die ähnlich zu CACert und Co. arbeiten. Trägt ein Paket nicht ein Zertifikat solch einer Stelle, dann muss der Anwender deutlich vor der Installation gewarnt werden. Das verhindert zwar weiterhin nicht die Installation schädlicher Pakete, doch es wird dem Anwender eine Möglichkeit an die Hand gegeben zu erkennen von wem ein Paket wirklich stammt. Allerdings kann ich jetzt schon die Aufschreie vieler Entwickler hören, die sich ihrer „Freiheit“ und ihrem Recht auf Anonymität beraubt fühlen.
Bessere Erklärung des Installationsvorganges
Die Aufzählung der bei der Installatation kopierten Dateien und ausgeführten Aktionen müsste erklärt werden. Der Anwender muss verstehen können, dass beim Kopieren von Dateien nach /etc/profile.d/
quasi ein Autostart beim Einloggen ausgeführt wird. Oder dass beim Kopieren von Dateien nach /etc/init.d/
Dienste eingerichtet werden. D.h. es müsste erklärt werden warum welche Dateien wohin kopiert werden.
So bekommen auch schlechter informierte Anwender die Chance missbräuchliche Pakete aufzudecken. Denn warum sollte etwas bei der Installation eines „neuen“ coolen Texteditors Dienste und Cron-Jobs eingerichtet werden. Dies würde die Erstellung von Paketen deutlich aufwändiger machen, doch letztendlich wäre dies ein wichtiger Schritt hin zum „aufgeklärten“ Benutzer. Denn wie schon am Anfang erklärt, die wichtigste Sicherheitsmaßnahme ist ein Benutzer, der nicht alles installiert, was ihm unter die Nase kommt.
Nur um einen absolut sinnfreien Kommentar abzugeben… Mit OpenSuSE, Fedora, Archlinux, Windows, *BSD, Slackware und jegliche andere Distribution die kein .deb verwendet und alien nicht funzt und kennt … wäre das nicht passiert ;-D
Ansonsten super Beitrag. Zeigt doch das man auch unter Linux sich böse was einfangen kann und das nicht mal ein Virus oder sonstwas sein muss. Auch unter Linux muss man sich weniger in Sicherheit wiegen. Dann klappts auch mit der Sicherheit.
Schöner Artikel, gute Ideen.
„Aufgeklärte“ Benutzer sind das sicherlich das Ziel. Nur geht da Ubuntu wie durch gdebi gezeigt, eben nicht den richtigen Weg.
Solange ein „noch nicht“ aufgeklärter User nur die offiellen Quellen benutzt gibt es keine Bedenken, doch gerade ein „Neuer“ klickt eben mal schnell auf eine vielverspechende Applikation.
Linuxmint macht es ja ähnlich. Dort gibt es das Software Portal.
Ob da die eingestellte Software von einem Security Team überprüft wird?
Da lobe ich mir Debian, dort findet man nur wenige nicht aufgeklärte User und dem entsprechend auch wenige, die Features wie gdebi vermissen oder gar installieren 🙂
Just my 2 Cents
Bed, es macht nun wirklich keinen Unterschied ob ich ein einzelnes Paket via `dpkg -i` oder gedbi installiere, oder? Die Problematik bleibt die selbe. Der lange Releasezyklus machts eigentlich noch schlimmer, da viele Anwender deutlich mehr fremde Paketquellen einbinden, weil sie aktuelle Software haben wollen.
Canonical möchte ja den kompletten Komplex gdebi, Synaptic, update-manager umkrempeln und unter eine Oberfläche stellen. Das Software-Center in Karmic ist der erste Schritt in diese Richtung. Hier wäre die Chance auch unter der Haube die nötigen Änderungen einzubringen, denn die Thematik müsste distributionsübergreifendend in Angriff genommen werden.
„Der Anwender muss verstehen können, dass beim Kopieren von Dateien nach /etc/profile.d/ quasi ein Autostart beim Einloggen ausgeführt wird.“
Bitte verzeiht mit, wenn ich vielleicht etwas polemisch bin, aber offensichtlich hatte hier noch keiner mit ECHTEN DAUs zu tun. Ich hatte schon Fälle, da musste man froh sein, wenn der User am anderen Ende verstanden hat, was „Kopieren“ bedeutet. An /etc/profile.d brauchte man erst gar nicht zu denken.
Den Support-Klassiker:
Support: Was steht gerade auf Ihrem Bildschirm?
Verzweifelter Anrufer: Eine Vase und eine Diddle Maus
halte ich für gar nicht mal abwegig. Ich habe ähnliche, wenn auch nicht ganz so krasse Beispiele selbst schon erlebt.
Im Moment mag die Kette noch funktionieren, da zum einen bestimmt 80% der Linux User zumindest halbwegs Ahnung von dem haben, was sie tun und zum anderen dieser Versuch eher kläglich war. Wäre ein echter Bildschirmschoner dabeigewesen wäre es nicht so schnell aufgefallen.
Aber was passiert, wenn der Anteil an versierten Linux Usern genauso schrumpft wie der Marktanteil des IE? *SCNR*
Guter Artikel.
Ich denke, dass ein Sicherheitskonzept wie bei Android für Fremdsoftware sinnvoll und praktikabel wäre.
Bei der Installation wird angezeigt, welche Rechte das Programm benötigt. Anschließend kann man entscheiden, ob man die Installation fortführen möchte oder lieber abbricht.
MFG
MW
Nur mal so nebenbei: Wer wartet die Medibuntu-Quelle? Sind das die gleichen Maintainer wie die der offiziellen Quellen? (sprich: Ist Medibuntu vertrauenswürdig? Unabhängig von der rechtlichen Situation…)
Thomas, nein Medibuntu ist ein Community-Projekt und wird nicht von Canonical getragen. Die Paketbetreuer findest du hier https://launchpad.net/~medibuntu-maintainers
Da lobe ich mir Arch-Linux. Es gibt so gut wie jede Software in einem von den Usern betreuten Repo namens AUR. So ein Betrug würde dort sofort auffallen.
Es gibt dort natürlich nicht jedes Theme. Aber die muss ich meistens eh von Hand in /usr/share/themes bzw ~/.themes schieben. Da würde es eben auffallen. Ohne ein wenig Ahnung von seinem OS geht es eben nicht, egal welches Betriebssystem.
Auch das AUR in Arch kann sehr einfach zum Verteilen von Malware genutzt werden. Denke einfach an die Situation, dass ein sehr beliebtes Paket verwaist, von einem neuen Maintainer übernommen wird und dieser baut in die nächste Version eine kleine Schadroutine ein. Wenn du das ganze jetzt über yaourt oä. aktualisierst, hast du den Schaden ebenfalls. Was bei Arch besser ist, ist lediglich die Aufgeklärtheit der Nutzer (und das kommt hauptsächlich durch das wenig DAU-freundliche KISS-Prinzip). Das AUR ist im Prinzip nichts anderes als die PPAs von Launchpad; nur die Nutzer sind wahrscheinlich aufmerksamer.
Ich schrieb ja auch, dass es möglich ist, aber es sehr schnell auffällt.
Natürlich ist die Chance schon gegeben, wenn man jetzt einer der ersten ist, die das Paket installieren und sich das PKGBUILD nicht anschaut.
Kann ja jeder selber probieren: http://www.geekzone.co.nz/foobar/6229
Ich möchte gerne bei Ubuntu Brainstorm für Deinen Vorschlag stimmen. Wo muss ich klicken? 😉
Sich von Communitys und sozialen Netzwerken zu distanzieren ist am sichersten. Ich gewichte eine Einzelmeinung wesentlich höher als einer automatisierten Bewertungsfunktion zum Beispiel. Pakete nur vom Entwickler. Gerade diese Art von Software wird erst in der Masse interessant für den der es erstellt hat….
Im Prinzip ist jeder Paketmanager davon Betroffen nicht nur bei .deb (Debian). Selbst in einen Source Code zum selber kompilieren kann Malware stecken, es ist nicht nur ein Problem der Paketmanager.
Sicherheitskonzepte das nur noch geprüfte und Bereitgestellte Pakete von den Distributionsfirmen eingespielt werden dürften sind da meiner Meinung nach eher Kontraproduktiv und widersprechen einem Freien Betriebssystem.
Zudem können auch sie nicht vorher jede Zeile Code Prüfen zb. von Software die nicht Bestandteil der Distribution ist.
Auch wenn es im Sinne der Sicherheit sich vielleicht „Gut“ Anhört, aber wie groß wäre hier der Aufschrei wenn zb. Microsoft sagen würde es dürfen auf Windows mittels „exe“ nur noch geprüfte Software von Microsoft Servern Installiert werden darf?
Wo sollte das letztendlich den Hinführen? Nein das wäre die falsche Richtung.
Auch Linux kommt langsam in der „Wirklichkeit“ an und bei aller Überlegung in dieser Richtung eine Absicherung gibt es kaum, je Beliebter es wird umso interessanter wird es auch für Malware und Trojanern.
Zukünftig kann daher nur wie bei anderen Betriebssystemen der Einsatz eines Virenscanners obsolet werden , wenn sich auch viele bisher mit diesen Gedanken nicht Anfreunden wollen!
Die offiziellen Paketquellen von Ubuntu sind doch bereits mit Zertifikaten versehen (hab ich im Hinterkopf), oder nicht?
@Arch User
Das ist doch Unsinn, die PPAs entsprechen dem AUR und bei PPAs gibt es im Gegensatz zum AUR über die persönliche Prüfung, die jeder vornehmen kann, hinaus automatische Sicherheitschecks und die Möglichkeit der Signierung. (dazu gibts bei Arch gar nicht die Möglichkeit, weil pacman das nicht kann) Diesbzüglich bei Arch von irgendwelchen Vorzügen zu reden ist Quatsch.
Im vorliegenden Fall geht es um eine externe Seite die debs anbietet. Im übrigen bietet sie auch Pakete für Arch, aber nur selten.
Der Vorschlag von Chris ist nicht praktikabel. Zwar könnte man highlighten, wenn ein Paket in sensible Bereiche schreiben will, aber dann muss man die Malware eben kreativer schreiben und gerade ein Bildschirmschoner ist keine schlechte Wahl dafür, X ist sehr kompliziert und hat solange KMS nicht für alle Treiber verfügbar ist viele Rechte.
Mein Vorschlag wäre eine Blacklist und die simple umzusetzende Standardeinstellung, dass apt nur noch signierte Pakete akzeptiert und nicht mehr nur wie jetzt davor warnt. Bei jedem update würde apt nicht nur die Paketliste beziehen, sondern auch die Blacklist. In ihr werden alle Quellen und Schlüssel aufgelistet, die offenkundig wie gnome-look.org nicht in der Lage sind die Integrität der Pakete zu sichern.
Man muss jetzt aber auch nicht in Panik verfallen. Der Spruch mit der Freiheit und der Sicherheit sollte euch ja allen geläufig sein.
Das System funktioniert doch. Man muß jetzt nicht nach härteren Gesetzen schreien.
Eine Verächtlichmachung von Andersdenkenden („Allerdings kann ich jetzt schon die Aufschreie vieler Entwickler hören, die sich ihrer “Freiheit” und ihrem Recht auf Anonymität beraubt fühlen.“) ist fehl am Platz. Solche Sätze haben Schäuble und VdL auch schon von sich gegeben- wahrscheinlich sogar einschließlich der Anführungszeichen um „Freiheit“.
zet ka, du hast mich nicht richtig verstanden. In dem Vorschlag entwickle ich die Idee, dass eine reibungslose Installation von Paketen nur bei signierten und verifizierbaren Informationen möglich ist.
Wenn ein Entwickler oder Paketbastler meint, seine Pakete unter dem Pseudonym Foobar veröffentlichen zu müssen, dann soll das System wenigstens davor warnen. Ich persönlich will wissen, wer das Paket verbrochen hat, das ich mir das installiere und ich möchte die Person/Organisation im Zweifel oder bei Problemen ansprechen können.
Das ganze mit den Warnungen vor unsegnierter Software kennen wir doch schon von anderen Betriebssystemen, Nett gemeint, nur oft als Bevormundung und Lästig eingestuft.
Für den einen oder anderen mag es hilfreich sein, nur erkennt es auch keine Schadsoftware und wird daher oft dann doch nicht Beachtet.
Da würde ich mich dann doch lieber vor der Installation auf einen Check durch einen Virenscanner Verlassen können.
Na, ja.
Viel mehr Sicherheit als bei Ubuntu geht nicht. Ausser jedes Programm in einer Sandbox laufen zu lassen. Das schrenkt aber die meisten wieder zu viel ein, so das sie das wieder umgehen.
Bei Ubuntu ist ja schon fast alles open source. Jeder kann sich den Quellcode anschauen und selber kompilieren. Mehr geht nicht.
Wenn jemand so doof ist, und von irgendeiner unbekannten Quelle irgendein Paket herunterläd von dem er nicht weis was es macht, ist er selber dran schuld. Das ist genauso blöd wie sich mit Windows Photoshop von einer russischen Downloadseite herunterzuladen.
Und wieso installiert man ein Theme mit einem Paket? Da gibt es doch den Themeinstaller für Gnome-Look. Ich dachte der macht das?
Bei PPAs gibt es die soziale Kontrolle des Autors, die Kontrolle des Autors über seinen Code und dann wird das Paket noch von Launchpad gebaut. Das ist relativ sicher.
Die Berechtigungen für Programme einschränken, so dass sie nur im Userspace laufen, wäre möglich. Aber wenn ein Programm wieder mal nicht läuft und Rootrechte will, dann klicken die meisten Anwender schnell auf ok. Ohne Nachzudenken.
gnome-look.org nun als unbekannte Quelle oder gar mit einer russischen Downloadseite zu Vergleichen ist meiner Meinung etwas zu Hoch gegriffen. Viele Webseiten oder Blogger Verweisen oder Verlinkten gar zu gnome-look.org.
Die ganze Diskussion mit angeblich unsicheren Fremdquellen führt doch zu nichts , was ist wenn es Morgen eine angeblich „sichere“ Quelle Erwischt weil sie eine Prüfung vergessen?
Du kannst dann Schritt für Schritt immer mehr Quellen als „Unsicher“ einstufen bis keine mehr über bleibt.
Ist Malware oder Trojaner erst einmal für das System Programmiert findet sie auch einen Weg zum Rechner.
Der Anwender kann sich dann nur mit entsprechende Scanner schützen und diese können oder dürfen gar nicht „Open Source“ sein? Es wird vielleicht Zeit diese auch für Linux in Angriff zu nehmen..
Ich habe die Idee gerade in meinen schwachen Worten bei Ubuntu-brainstorm eingetragen.
http://brainstorm.ubuntu.com/idea/22905/
Die meisten User verstehen nur soviel vom PC, dass er funktionieren soll und klicken auf das, was bunt und hübsch ist.
Wer darauf wartet, dass sich das ändert, schaut der Titanic zu, wie sie auf den Eisberg zu fährt und weist nachher daraufhin, wenn jemand die Gebrauchsanleitung und die Geschäftsbedingungen gelesen hätte und sich ein wenig mit Ortung und der Wettbewerbssituation am Transatlantikmarkt beschäftigt hätte dann wäre das vorhersehbar und damit verhinderbar gewesen.
Die meisten Passagiere leben aber unter Deck und brauchen Lotsen und Kapitäne, die sie sicher durch Untiefen schiffen.
Das hält keinen davon ab, ins Wasser zu springen, aber ein Schild hilft vielleicht zu realisieren, dass man den geschützten Raum verlässt und Gefahr läuft sich eine Erkältung zu holen oder zu einem Eisklumpen zu gefrieren, wenn man springt. 😉
Ich finde, das Machbare wie z.B. automatische Schlüsselsuche bei Programmen und Skripten und deren Implementation sowie deutliche Warnungen, wo das nicht möglich ist, sollten sein – ohne die Freiheit, zu springen irgendwie einzuschränken, wenn jemand das unbedingt will.
Es gibt ja auch Menschen, die hacken das Eis auf, um drin zu baden, oder verabscheuen geheizte Räume, weil sie die existentielle Erfahrung suchen. Oder sie wollen forschen und experimentieren.
Doch die Masse ist das nicht. Und der Erfolg macht Linux zu einem Programm für die ‚es soll funktionieren‘ Mehrheit.
@UbuntuTutu: du sprichst mir aus der Seele. Die Linux Community vertraut immer noch auf den User. Bisher funktioniert das auch noch. Sollte aber Linux doch irgendwann mal der „Durchbruch“ gelingen wird sich das schnell ändern. Wenn es soweit ist, wird genau das gleiche passieren wie unter Windows
Man könnte ja auch mal Anwenderfreundliche Linux Live Versionen zum Download anbieten, wo man sich z.B. vorher schon die gewünschten Treiber für z.B. Drucker etc. in das Image Online integrieren kann. So könnten auch Anwender die ständigen Angriffen ausgesetzt sind auch mal ein Live Distribution nutzen wo schon der passende Druckertreiber und sonstige nötige Treiber drin enthalten sind nutzen. Oder man bietet Live Versionen an worin alle gängigen Consumer Drucker Treiber drin enthalten sind. Nur mal so als Denkanstoß.