ubuntuusers.de

"POLA" Bruch bei Snap (Principle of least astonishment)

Status: Ungelöst | Ubuntu-Version: Kubuntu 26.10 (Stonking Stingray)
Antworten |

trollsportverein

Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 6450

"POLA" ist ein IT-Prinzip, welches seit 1967 existiert.

Dieses Prinzip der geringsten Überraschung wird durch Snap leider gebrochen.

Bislang (zumindest für mich als Snap Nichtnutzer) war es so, dass das $HOME Verzeichnis der Paketverwaltung heilig war, und die alte aber bewährte Debian basierende Paketverwaltung weder mit dpkg noch mit APT das $HOME Verzeichnis anrührte.

Was ein User in seinem $HOME Verzeichnis macht, ist Sache des Users. Profilverzeichnisse von Firefox und Thunderbird werden von der klassischen APT Paketverwaltung nicht angerührt, nach dem sie nach der Erstinstallation von Firefox oder Thunderbird durch den ersten Aufruf von Firefox oder Thunderbird erstellt wurden.

Im Firefox gespeicherte Lesezeichen oder Passworte, im Thunderbird gespeicherte Mails und Kontaktdaten sind sicher, dachte ich. Bislang.

Bei Snap ist das aber überraschenderweise anders. Snap löscht. Auch die Profilverzeichnisse von Firefox oder Thunderbird. Womit dann die Lesezeichen, Mails, usw. erst mal weg sind. "POLA" ist das so ganz und gar nicht.

Es ist zwar dokumentiert, aber man muss erst mal darauf kommen, es auch so zu interpretieren, dass Snap Lesezeichen und/oder Mails, usw. auch von Firefox und Thunderbird löscht, wenn man ein entsprechendes "snap remove" aufruft. In der Manual Page, ungefähr im unteren Drittel der ziemlich langen Manual Page zu Snap ist es zu finden:

Ganz verloren sind die persönlichen Daten aber vorläufig nicht. Snap löscht die persönlichen Daten, aber macht einen Snapshot davon. Der wird per default für 31 Tage aufgehoben, wenn man das nicht anders einstellt:

Ich verstehe es nicht, warum man sich so was ausdenkt. Und damit gegen "POLA" verstößt. Was meint ihr dazu? Mein Verhältnis zu Snap hat sich damit jedenfalls geändert. Von neutral, brauche ich nicht. Nun hin zu lehne ich ab, weil gefährlich und Bruch mit dem Prinzip, dass Userdaten im $HOME Verzeichnis von der Paketverwaltung nicht angefasst werden.

So, und nun erst mal Kaffee trinken. Userdaten löschen hatte mich schon schlecht schlafen lassen. Das Lament musste raus.

NurNochDebianUser

Anmeldungsdatum:
18. Februar 2026

Beiträge: 547

trollsportverein schrieb:

Userdaten löschen hatte mich schon schlecht schlafen lassen. Das Lament musste raus.

Aber so ganz unbekannt scheint das ja nicht gewesen zu sein, dass Snap Userdaten löscht. In snap/snapd deinstallieren (Abschnitt „Vorgehen“) findet sich unter Punkt 5. die Sätze "Hat man zuvor Firefox als Snap genutzt, ist es ratsam, nun dessen Profile zu sichern" und "Gleiches sollte man, falls zutreffend, auch für alle anderen Benutzerkonten erledigen".

Was fehlt wäre ein Hinweis auf Thunderbird und die Userdaten aller anderen Snap-Programme, die auch betroffen sind.

Also im Grunde macht man also vorher gleich ein Backup aller /home-Verzeichnisse, bevor man so etwas macht. Aber aus meiner persönlichen Perspektive ist das eh Pflicht.

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17703

Snap ist halt Krebs, case closed. Niemand wollte diese Innovation von Canonical haben.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7468

Wohnort: Technische Republik

Snap ist mir lieber als PPA - da man dann keine Rootrechte im gesamten System erteilen muss.

Dakuan

Avatar von Dakuan

Anmeldungsdatum:
2. November 2004

Beiträge: 6602

Wohnort: Hamburg

Ich kann da gerade nicht folgen, möglicherweise ist mein Denkapparat schon im Schlafmodus.

Aber ich kann gerade nicht erkennen, wieso ein PPA Rootrechte im gesamten System erfordert. Zum Installieren Ok, aber das gilt für alle. Es kann natürlich sein, dass das irgendwo im Programmcode versteckt ist (deswegen wohl auch die Sicherheitswarnungen). Ich habe mich noch nicht näher mit PPAs beschäftigt, aber ich denke das sollte irgendwann jemanden auffallen, zumindest sofern der Quelltext auch dazu gehört.

Ich habe noch nichts aus PPAs installiert, aber schon einiges aus Quelltexten. Da kann man dann, genügend Geduld vorausgesetzt, auch den Quelltext überprüfen (theoretisch). Hat bisher immer funktioniert.

Falls ich mal eines meiner Linux Programme veröffentlichen sollte, dann nur als Quelltext (ohne .deb).

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7468

Wohnort: Technische Republik

Ein im Forum wie ein Bunter Hund bekannter Nutzer der mehrere PPAs betreut hat die Nutzer seines PPA auf ein anderes PPA der selben Software umgestellt. Deshalb bin ich von weitreichenden Rechten ausgegangen.

Wie er das technisch gelöst hat weiß ich nicht. Jedenfalls musste er wohl dazu Rootrechte anfordern.

KI:

Kurz: Ein PPA gibt dir nicht automatisch Rootrechte, aber ein aus einem PPA installiertes Paket kann Rootrechte erlangen, wenn es dafür ausgelegt ist. Deshalb ist die Vertrauenswürdigkeit des PPA-Betreibers entscheidend.

Edit:

  • PPA hinzugefügt

  • Software aus PPA installiert

  • Paket das auf jedem System installiert ist in das PPA aufgenommen und Schadsoftware eingebaut. Neues Paket mit gleichem Namen hat jetzt höhere Versionsnummer

  • Automatische Updates bringt die Schadsoftware womöglich unbemerkt ins System

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17703

Kätzchen schrieb:

Wie er das technisch gelöst hat weiß ich nicht.

Er hat vermutlich einen post-installation Hook von .deb Paketen verwendet, das ist ein Standard Feature. Das kann man auch so "missbrauchen", auch wenn das nicht wirklich nett ist.

Jedenfalls musste er wohl dazu Rootrechte anfordern.

apt/dpkg läuft als root um nützlich zu sein. Da wird nichts angefordert.

Du limitierst das Problem auf PPA, aber jede Paketquelle kann das tun. Und nun bedenken woher universe und multiverse kommen. Und dann denkst du noch etwas weiter woher diese ganzen OSS Dinge kommen, und wer da noch Zugriff auf Repos hat. Und dann denkst du über den Begriff "Supply Chain Attack" nach.

Snap schützt hier gegen ein ganz spezifisches sehr kleines Teil Problem. Der Preis davon ist das man mir an der normalen Paketverwaltung (apt) vorbei ins System kotzt, und mir Sicherheitslücken einspielt weil man nicht die bereits aktualisierten Libs vom Restsystem verwendet.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7468

Wohnort: Technische Republik

encbladexp schrieb:

Er hat vermutlich einen post-installation Hook von .deb Paketen verwendet, das ist ein Standard Feature. Das kann man auch so "missbrauchen", auch wenn das nicht wirklich nett ist.

Dies läuft dann völlig ohne Interaktion des Users ab? Update angestoßen, läuft durch und neues PPA drin?

Du limitierst das Problem auf PPA, aber jede Paketquelle kann das tun.

Richtig. Jede Paketquelle die apt nutzt kann das.

Und nun bedenken woher universe und multiverse kommen. Und dann denkst du noch etwas weiter woher diese ganzen OSS Dinge kommen, und wer da noch Zugriff auf Repos hat. Und dann denkst du über den Begriff "Supply Chain Attack" nach.

Darauf habe ich als Nutzer keinen Einfluss.

Snap schützt hier gegen ein ganz spezifisches sehr kleines Teil Problem. Der Preis davon ist das man mir an der normalen Paketverwaltung (apt) vorbei ins System kotzt, und mir Sicherheitslücken einspielt weil man nicht die bereits aktualisierten Libs vom Restsystem verwendet.

Ich bevorzuge die Ubuntu Quellen. Ich habe bei Ubuntu 26.04 zB. shortwave von Snap auf Ubuntu Paketquellen umgestellt und mit

Howto/verwaiste snaps finden (Abschnitt „verwaiste-snaps-automatisch-per-Skript-entfernen“)

aufgeräumt.

trollsportverein

(Themenstarter)
Avatar von trollsportverein

Anmeldungsdatum:
21. Oktober 2010

Beiträge: 6450

Kätzchen schrieb:

Dies läuft dann völlig ohne Interaktion des Users ab? Update angestoßen, läuft durch und neues PPA drin?

Schau dir mal das Google Chrome DEB-Paket an. Das hat so einige Tricks auf Lager. Was es anstellt, und was es kann, ist aber auch darin dokumentiert, wenn man sich die Zeit nimmt das mal genauer anzuschauen. Damit übereilig-flüchtige Mitleser nicht auf falsche Gedanken kommen, das Google Chrome DEB-Paket stellt nichts illegales an. Es kann aber einen Repository Eintrag erstellen und wiederauferstehen lassen, obwohl man den Eintrag für das Google Repository löscht.

Genau so könnte aber auch irgend ein anderer Repository Eintrag erstellt werden, wenn Pakethersteller so was im Sinn hätten.

→ Allerdings geht meine Krtik am "POLA" Bruch von Snap in eine ganz andere Richtung. ←

Weder unterstelle ich den Snap Konzept Machern, böses im Schilde geführt zu haben, noch zielt dieser Thread auf bösartige Snaps ab, die es tatsächlich auch schon gab:

... und auch nicht auf Snap Sicherheitslücken, wie beispielsweise diese:

→ Mir geht es darum, dass Snap etwas macht, was gegen das Prinzip der geringsten Überraschung verstößt. ←

Meiner bescheidenen Meinung nach, sollten als absolute Mindestanforderung die Userdaten von Firefox und Thunderbird im $HOME Verzeichnis geschützt sein. Das heißt absolut tabu für Snap, daran herumzufummeln, Snap sollte keinesfalls diese Userdaten löschen, auch wenn es durch den default 31 Tage Snapshot abgemildert wird.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7468

Wohnort: Technische Republik

trollsportverein schrieb:

Schau dir mal das Google Chrome DEB-Paket an.

Ja, das hatte ich vor Jahren mal installiert und es richtet eine Paketquelle ein. Danke für den Wink.

encbladexp Team-Icon

Ehemaliger
Avatar von encbladexp

Anmeldungsdatum:
16. Februar 2007

Beiträge: 17703

Kätzchen schrieb:

Dies läuft dann völlig ohne Interaktion des Users ab? Update angestoßen, läuft durch und neues PPA drin?

post-install scripts, hat jede Paketverwaltung, mal nennt man es Hooks (pacman), mal post-install script (apt/rpm). Konzept ist das man damit Dienste neustarten kann, notwendige config Änderungen bei einem Upgrade machen kann, oder schlicht Verzeichnisstrukturen initialisiert (Datenbank).

All das läuft mit root rechten ab, genauso wie die ganze Pakerverwaltung, also wird da auch ohne Interaktion was gemacht. Interaktion kann durch debconf kommen (bei apt/dpkg), muss aber der Mensch der paketiert so geplant haben und wollen.

Das Canonical mir snaps (im Standard) installiert, was an der Paketverwaltung vorbei geht, ist halt auch Teil des Problems. Im Arch Linux AUR sind die Anwender dafür verantwortlich ein Review zu machen, damit einem keiner was unterjubelt. Aber die Leute wurden zu faul und haben sich nutzlose Helper gebaut die einfach automatisch alles absegnen.

Kätzchen

Avatar von Kätzchen

Anmeldungsdatum:
1. Mai 2011

Beiträge: 7468

Wohnort: Technische Republik

Danke @encbladexp! ☺

Antworten |