Sind die Programme im Ubuntu Software Center frei von Spyware?

35

Im Ubuntu Software Center gibt es verschiedene Abschnitte für Programme

  • Bereitgestellt von Ubuntu
  • Kanonische Partner
  • Zum Verkauf

Ich weiß, dass all dies Open Source ist. Aber wird von Canonical ein Überprüfungsprozess durchgeführt, um sicherzustellen, dass sie frei von Spyware oder Malware sind ?

Ich frage mich, ob irgendjemand Zeit bekommt, sich all diese Programme anzuschauen (2355 oder so), Software-Code, der auch für jede Veröffentlichung gilt !!

Ich mache mir Sorgen, weil ich regelmäßig ziemlich unbeliebte Software aus dem Software-Center installiere :)

AIB
quelle
1
Die "For Purchase" -Software ist keine Open Source-Software, da sie sonst nicht gekauft werden müsste. Und die Partnersoftware ist nicht immer Open Source, Skype ist zB nicht geöffnet
Martin Ueding
8
@queueoverflow ist es möglich, für Open-Source-Software eine Gebühr zu erheben.
dv3500ea
3
@queueoverflow: qtiplot wäre ein Beispiel, Gebühren für Binärdateien und Supportverträge, Sie können sich gerne kostenlos zusammenstellen. :-)
Christoph
2
Nun, ich glaube nicht, dass es derzeit Open-Source-Software im Bereich "Für den Kauf" gibt, aber möglicherweise in Zukunft.
dv3500ea
1
@christoph: Ich gehe davon aus, dass die meisten Leute nicht wissen, wie man es kompiliert. Es ist also sinnvoll, so damit umzugehen.
Martin Ueding

Antworten:

27

Gibt es einen Prozess, um sicherzustellen, dass keine Malware vorhanden ist? Nein, es gibt überhaupt keine Garantien.

Es gibt jedoch verschiedene Mechanismen, um es zu erkennen, aber wenn wir ehrlich sind, sind Sie wahrscheinlich nicht so sicher, wie Sie es gerne hätten.

  1. Ein Projekt muss zuerst zu Ubuntu hinzugefügt werden. Wie Rinzwind sagt, werden zu diesem Zeitpunkt Überprüfungen durchgeführt, aber das ist eigentlich nur die Spitze des Eisbergs, die das Leben eines Pakets in Ubuntu ist.

  2. Die erste echte Verteidigungslinie für langfristige Pakete sind ihre Projektbetreuer. Diese Leute kümmern sich um ihre Projekte und akzeptieren Patches, um sie zu verbessern. Sie sind menschlich. Sie machen Fehler und verpassen Dinge. Und manche mögen faul sein.

    Es ist möglich, dass eine schlechte Person Malware an ihnen vorbeischleicht, indem sie echte Verbesserungen zusammen mit der Malware einbindet.

    Wenn der Projektbetreuer etwas Schlechtes in ein Projekt aufgenommen hat, speichern Sie ein erfolgreiches Audit. Es besteht die Möglichkeit, dass der Code auf den Rechnern der Ubuntu-Benutzer landet.

  3. Sicherheitsüberprüfungen sind der zweite Schritt. Hierbei wird der Code überprüft und auf Monitoren ausgeführt, um böse Dinge zu erkennen. Soweit ich weiß, gibt es kein offizielles Canonical-Team, das sich der Sicherheit widmet, sondern zwei Community-Teams (Ubuntu Security und MOTU SWAT), die alle Pakete zwischen ihnen verwalten.

    Die Überwachung funktioniert nur dann wirklich, wenn jede Codezeile ordnungsgemäß überprüft wird, bevor sie an die Benutzer gesendet wird. Dies ist für die Menge an Code und die Anzahl an Updates, über die wir sprechen, nicht wirklich praktisch. Es würde sehr viel Zeit und Geld kosten, dies auf diese Weise zu tun.

    Es ist eine Annahme in der Open - Source - Welt, nur weil jemand kann die Quelle sehen, die sie haben. Dies ist eine sehr gefährliche Haltung.

    Sicherheitskorrekturen reagieren weitgehend darauf, dass Personen Lücken finden und aufdecken. Was passiert, wenn jemand ein gefundenes Loch entdeckt?

  4. Andere "Endbenutzer", die Probleme melden, stellen den endgültigen Erkennungsmechanismus dar. Um ehrlich zu sein, lässt gute Malware den Benutzer erst dann wissen, dass es ein Problem gibt, wenn es viel zu spät ist, um einen Unterschied zu bewirken. Gut geschriebene Malware kippt nicht Ihren Bildschirm und stiehlt nicht Ihre gesamte Bandbreite. Sie bleibt im Hintergrund und protokolliert alle Ihre Bankdaten, bevor sie an einem anonymen Speicherauszug abgelegt werden.

Der gesamte Prozess hängt von vorgelagerten Projekten ab, um das eigene Sicherheitsniveau aufrechtzuerhalten. Wenn jemand etwas an dem Betreuer des Gnome-Rechners vorbeischlüpft, wird es wahrscheinlich von allen anderen auf der ganzen Linie verpasst. Ein Sicherheitsteam wird es auch nie ahnen.

Zum Glück sind die meisten Betreuer gut darin, was sie tun. Sie kennen ihre Codebasis und wenn sie Patches nicht verstehen, lehnen sie sie mit der Begründung ab, dass sie nicht klar genug sind.

In Bezug auf die Risikobewertung gibt es wahrscheinlich weniger Augen, die den Code überprüfen, wenn etwas verwendet wird, das viel weniger beliebt ist. In ähnlicher Weise gibt es wahrscheinlich weniger Commits. Solange der Betreuer nicht faul (oder böse) ist, hat er möglicherweise mehr Zeit, sich um jedes Commit zu kümmern. Es ist schwer genau zu sagen, wie viel Risiko Sie eingehen. Die Sicherheit von Open-Source-Software hängt von fähigen Personen ab, die sich den Code ansehen.

Umgekehrt sind die Closed-Source-Artikel (in den Partner- und Kauf-Repos) von der Community völlig ungeprüft. Canonical hat möglicherweise einen Quellenzugriff, aber offen gesagt bezweifle ich, dass sie über die Ressourcen verfügen, um gründliche Audits durchzuführen, selbst wenn sie Quellenzugriff hatten und dies wollten.

In ähnlicher Weise erhalten Sie bei PPAs nur sehr geringen Schutz, wenn Sie selbst in die Quelle eintauchen möchten. Benutzer können dem Quellcode hinzufügen, was immer sie möchten. Wenn Sie es nicht selbst überprüfen (und in der Lage sind, Malware zu erkennen), sind Sie ein Schaf, das von Wölfen umgeben ist. Leute können schlechte PPAs melden, aber etwas, das geschieht, hängt von anderen Leuten ab, die das Problem überprüfen und bestätigen. Wenn eine große Site (z. B. OMGUbuntu) eine PPA empfiehlt (wie so oft), können viele Benutzer Probleme auf der ganzen Linie haben.

Um das Problem zu verschlimmern, bedeutet der geringere Marktanteil der Linux-Benutzer, dass nur weniger Software für uns verfügbar ist, um schlechten Code aufzuspüren. Ich hasse es, es zu sagen, aber zumindest mit Windows verbringen Dutzende von Unternehmen jeden Arbeitstag damit, herauszufinden, wie fehlerhafte Software funktioniert, wie sie erkannt und wie sie entfernt werden kann. Das war ein Markt, der aus der Notwendigkeit geboren wurde, und obwohl ich es hasse, das auch zu sagen, werden sich die Dinge hier wahrscheinlich verschlechtern, bevor sie besser werden.

Für die Sicherheitsparanoiden habe ich vor einiger Zeit einen kurzen Artikel geschrieben: Linux ist nicht unverwundbar. Sag nicht, dass es so ist. . Dinge in das Repository zu schleichen wird wahrscheinlich nicht der primäre Angriffsvektor für die Arschlöcher sein, die Malware verbreiten. Es ist weitaus wahrscheinlicher (IMO), dass sie die Gier und Dummheit der Benutzer ausnutzen, um infizierte .debs zu installieren.

Oli
quelle
3
Das Gute an den überprüften Repositorys ist, dass sie in der Regel um Größenordnungen sicherer sind als die Softwareinstallation in einem Nicht-Repository-Modell, z. B. bei der Installation von Exe-Dateien. Du bist also nie in Sicherheit. Aber im Allgemeinen sind Sie wahrscheinlich sicherer.
Kzqai,
Meinten Sie schreiben ? Was passiert, wenn jemand ein gefundenes Loch aufdeckt ?
Tshepang
25

Ja. Pakete werden von der Community überprüft (daher kann es sein, dass 1 Malware installiert, die Nachrichten jedoch schnell unter allen Benutzern verbreitet werden).

Apps müssen sehr strenge Regeln einhalten Lizenzierung festgelegt sind .

Die Wiki-Seite für neue Pakete enthält ein bisschen mehr Informationen:

MOTU durchlaufen

Pakete, die noch nicht in Ubuntu sind, erfordern eine zusätzliche Prüfung und durchlaufen einen speziellen Überprüfungsprozess, bevor sie hochgeladen werden und eine endgültige Überprüfung durch die Archivadministratoren erhalten . Weitere Informationen zum Überprüfungsprozess, einschließlich der anzuwendenden Kriterien, finden Sie auf der Seite Code Reviewers . Entwickler werden aufgefordert, ihre eigenen Pakete anhand dieser Richtlinien zu prüfen, bevor sie zur Überprüfung eingereicht werden.

Um qualitativ hochwertigere Fehlerberichte zu erhalten, schreiben Sie einen Apport-Hook für Ihr Paket.

Das heißt: Die allgemeine Idee ist. Wenn Sie etwas Verdächtiges finden, melden Sie es auf dem Launchpad, askubuntu, ubuntuforums und jemand wird es abholen.

Was passieren kann, ist, dass ein Schöpfer von Malware ein gültiges Paket erstellt, dieses akzeptiert und dann ein Update durchführt, das die Malware hinzufügt. Mindestens einer von vielen fängt das immer und er wird es irgendwo melden. Auf diese Weise wird es nicht auf viele Maschinen gelangen. (Die Anstrengung, es auf unsere Maschinen zu bekommen, ist zu viel für die potenzielle Belohnung: das Zielen auf Windows-Maschinen ist viel einfacher).

Beispiel von Dingen, die mit Hummel schrecklich schief gehen . Jemand hat ein Leerzeichen verpasst und / usr wurde gelöscht ... einige Leute wurden betroffen, 1 postet eine Warnung mit roten Fahnen und jetzt wissen wir alle. Creator behebt das Problem (schneller als die Lichtgeschwindigkeit), der Schaden wurde jedoch auf mehreren Systemen verursacht. Und das war ein Fehler und nicht absichtlich so kann es passieren;)

Rinzwind
quelle
4
Es ist zu beachten, dass mit anderen Quellen, die in Ubuntu Software Center integriert sind, wie Getdeb oder verschiedenen PPAs, ein gewisses Risiko verbunden ist. Wenn Sie diese jedoch nicht verwenden, sollten Sie in Sicherheit sein.
JNV
@jnv good call :) Ich habe die 1. Zeile geändert und dies beinhaltet jetzt auch ppas;)
Rinzwind
Dein Beispiel ist ungültig. Hummel ist in den Repos nicht vorhanden.
Lincity
Ich stimme dir nicht zu. Alles, was installiert wird, wird gleichermaßen bewertet: Benutzer führen die Überprüfung durch, damit dies ein gültiges Beispiel für einen (!) Versehentlichen Fehler ist. Es ist also auch möglich, es absichtlich zu tun, aber das Wichtigste ist, dass die Benutzer anderen mitteilen, dass es einen Fehler gibt. Nicht der Fehler selbst;)
Rinzwind
Die Frage betraf das Software-Center.
Lincity
5

Ich gehe davon aus, dass Ihnen das niemand versichern kann. Sie müssten überprüfen, was passieren muss, damit ein Paket in den Debian-Paketindex aufgenommen wird, aber ich denke, dass Sie in der Lage sein sollten, etwas Böses hineinzuschieben.

Sie können eine virtuelle Maschine einrichten und die Software dort testen. Anschließend können Sie den Netzwerkverkehr mit einer Art Abfrage überprüfen iftop, ob diese Anwendung mit dem Heimnetzwerk kommuniziert. Wahrscheinlich werden Sie nie etwas sehen, weil es zu gut versteckt ist.

Open Source bedeutet nicht Sicherheit, nur weil Sie sich den Code ansehen können, heißt das nicht, dass jemand dies getan hat.

Martin Ueding
quelle
2

Um Code in einem PPA auf dem Launchpad zu veröffentlichen, müssen Sie openPGP einrichten und einen an eine E-Mail-Adresse angehängten Schlüssel erstellen. Zum Signieren eines Pakets benötigen Sie eine Kopie des privaten Schlüssels auf dem lokalen Computer und das Kennwort (das nirgendwo gespeichert ist). Sollte ein Paket Sicherheitslücken aufweisen, sollte es relativ einfach sein, den Autor zu finden. Ich gehe davon aus, dass die Hauptrepositorys für Ubuntu und Debian mindestens so sicher sind.

Die meisten Open-Source-Projekte verfügen über ein zentrales Repository mit mindestens ssh-Schutz (Kennwort und / oder öffentliches / privates Schlüsselpaar). Hier nicht autorisierten Zugriff zu erhalten, ist ein wenig einfacher als das ppa, aber nicht trivial. Versionierungssysteme zeichnen normalerweise den Benutzer auf, der jedes Commit ausführt, und machen es ziemlich einfach, herauszufinden, was ein Commit bewirkt.

Man könnte immer versuchen, etwas in ein Pflaster zu stecken, aber das ist eine riskante Angelegenheit. Die meisten Programmierer akzeptieren keine Patches, die zu groß sind, um sie einfach lesen zu können. Wenn du erwischt wirst, ist das so ziemlich alles.

Es gibt immer noch eine bestimmte Menge, der man vertrauen kann, sodass möglicherweise jemand Spyware in Ubuntu einschleusen kann. Vielleicht ist es etwas, worüber wir uns Sorgen machen müssen, wenn Ubuntus Marktanteil signifikant wächst.

user20304
quelle
Ein GPG-Schlüssel kann von jedem erstellt werden. Ich könnte eine virtuelle Maschine einrichten, einen Schlüssel mit einem falschen Namen generieren, und niemand wäre klüger. Sie müssen nach dem Netz des Vertrauens suchen, um die GPG wirklich zu beurteilen, und selbst das ist nicht kanonisch.
Martin Ueding