
Mit Snaps, die auf 16,04 LTS kommen, gibt es eineBlogeintragvon Matthew Garrett, einem bekannten Linux-Kernel-Mitwirkenden und Kern-Betriebssystementwickler, mit den Worten:
...Snaps laufen uneingeschränkt und haben Zugriff auf praktisch das gesamte System
Wenn der Sinn von Snaps darin besteht, die App vom Gesamtsystem zu isolieren, warum können sie dann auf das System zugreifen und uneingeschränkt ausgeführt werden? Sollte ein Fehlerbericht eingereicht werden? Werden Schritte unternommen, um dieses Problem zu beheben?
Antwort1
Dies bezieht sich insbesondere auf Snaps, die X11 verwenden. Mit anderen Worten, Snaps sindnichtläuft uneingeschränkt, aber wenn die Einschränkung des Snaps den Zugriff auf X beinhaltet, dann ja: Es hat Zugriff auf X. Es betrifft keine Snaps, die die Schnittstellen unity7
oder nicht verwenden x11
. Das in diesem Blogbeitrag beschriebene Problem ist eine bekannte Einschränkung von X und einer der Gründe, warum alternative Technologien entwickelt werden (z. B. Mir).
Gustavo Niemeyer hat einenguter Blog-Beitrag, der dies diskutiert. Ich zitiere hier der Nachwelt und der Vollständigkeit halber:
Sicherheitsbewusste werden feststellen, dass X11 in Wirklichkeit kein sicheres Protokoll ist. Wenn wir einer Anwendung diese Berechtigung erteilen, sind eine Reihe von Systemmissbrauchsfällen möglich. Andere Schnittstellen wie Home würden dem Snap Zugriff auf alle nicht versteckten Dateien im $HOME-Verzeichnis des Benutzers gewähren (die nicht mit einem Punkt beginnen), was bedeutet, dass eine bösartige Anwendung persönliche Informationen stehlen und über das Netzwerk senden könnte (vorausgesetzt, sie definiert auch einen Netzwerkstecker).
Manche werden überrascht sein, dass dies der Fall ist, aber dies ist ein Missverständnis über die Rolle von Snaps und Snappy als Softwareplattform. Wenn Sie Software aus dem Ubuntu-Archiv installieren, ist das ein Vertrauensbeweis in die Ubuntu- und Debian-Entwickler. Wenn Sie Googles Chrome- oder MongoDB-Binärdateien aus ihren jeweiligen Archiven installieren, ist das ein Vertrauensbeweis in diese Entwickler (diese haben Root-Rechte auf Ihrem System!). Snappy macht dieses Vertrauen nicht überflüssig, denn wenn Sie einer Software einmal Zugriff auf Ihre persönlichen Dateien, Ihre Webcam, Ihr Mikrofon usw. gewähren, müssen Sie darauf vertrauen können, dass diese Software diese Berechtigungen nicht böswillig nutzt.
Der Sinn der Beschränkung von Snappy in diesem Zusammenhang besteht darin, ein Software-Ökosystem zu ermöglichen, das genau kontrollieren kann, was und wem erlaubt ist, und zwar auf klare und nachvollziehbare Weise, zusätzlich zu derselben Verfahrenssorgfalt, die wir alle in der Linux-Welt zu schätzen gelernt haben, und nicht anstelle dieser. Wenn man die Leute daran hindert, alle relevanten Ressourcen im System zu nutzen, würde man sie einfach dazu zwingen, dieselbe Software über weniger sichere Mechanismen zu verwenden, anstatt das Problem zu beheben.
Und was wir heute haben, ist erst der Anfang. Diese Schnittstellen werden bald viel umfangreicher und feinkörniger, einschließlich der Ressourcenauswahl (z. B. welcher serielle Port?), und einige von ihnen werden zugunsten sichererer Optionen vollständig verschwinden (z. B. Unity 8).
Antwort2
Das Problem liegt nicht bei den Snaps, sondern bei X11, einer 30 Jahre alten Technologie, die ohne große Sicherheitsüberlegungen entwickelt wurde.
Um das Problem zu lösen, müssen Sie einfach X11 loswerden. Systeme ohne X11, wie z. B. Server, können bereits jetzt von der Snaps-Isolation profitieren. Das neueMirdas xserver hoffentlich eher früher als später ersetzen wird, soll die Sicherheitsprobleme von X11 beheben.
Sie sind herzlich eingeladen, Matthew GarrettsBlogeintragum Ihre Neugier zu befriedigen. Dort heißt es:
Das Problem hier ist das X11-Fenstersystem. X hat kein wirkliches Konzept für verschiedene Ebenen der Anwendungsvertrauenswürdigkeit. Jede Anwendung kann sich registrieren, um Tastenanschläge von jeder anderen Anwendung zu empfangen. Jede Anwendung kann falsche Tastenereignisse in den Eingabestrom einspeisen. Eine Anwendung, die ansonsten durch strenge Sicherheitsrichtlinien eingeschränkt ist, kann einfach in ein anderes Fenster tippen. Eine Anwendung, die keinen Zugriff auf Ihre privaten Daten hat, kann warten, bis Ihre Sitzung inaktiv ist, ein uneingeschränktes Terminal öffnen und dann mit curl Ihre Daten an eine Remote-Site senden. Solange der Ubuntu-Desktop noch X11 verwendet, bietet Ihnen das Snap-Format nur sehr wenig sinnvolle Sicherheit.