Welche Sicherheitsunterschiede bestehen zwischen dem click- und dem .deb-Paket?


31

Das Installieren einer zufälligen (bösen?) .Deb-Datei kann gefährlich sein, da sie allen installierten Apps und Dämonen Berechtigungen verleiht, da bei der .deb-Datei einige Konfigurationsanfragen gestellt werden, ob der Benutzer sein Kennwort beim Installationsvorgang gültig macht.

Click Package benötigt kein Passwort (soweit ich getestet habe).

Ist das Klickpaket sicherer für das System / die Benutzerdaten oder ist es dasselbe? Warum?

Einige Aspekte, die gerne beantwortet würden:

  • basieren click und deb auf demselben system (dpkg)?
  • kann apparmor einen root-zugriff auf apps ohne passwort oder ähnliches bereitstellen?
  • wird der Benutzer aufgefordert, die Zugriffsrechte der Apps bei der Installation zu akzeptieren (android-ähnliches Beispiel: Diese Apps können Ihr / home-Netzwerk durchsuchen und auf das Netzwerk zugreifen) oder bei Bedarf ausgeführt werden (browser-ähnliches Beispiel) nach dem Recht fragen, die Kamera zu benutzen) ?
  • in der nähe dieser frage: werden .apk und click dasselbe wort (über richtlinien und user story) ?
  • Hauptsächlich: Kann eine App alle meine privaten Daten im Netzwerk mit einem Klick senden, ohne es mir explizit mitzuteilen, oder hat sie zumindest das Recht, dies zu tun, das von den Benutzern validiert wurde, oder wird sie trotzdem in einer Sandbox blockiert?
  • Es ist wahr zu sagen: Klick-Paket sind weniger mächtig (mehr Dinge einschränken), aber sicherer?

Ich wollte das Tag "click" hinzufügen, aber nicht genug Reputation, um dies zu tun. Der letzte Satz sollte kursiv sein .
cm-t

Tag click-packagesist bereits verfügbar.
Pandya

NB: Klickpakete sind in der Entwicklung. Ich wünsche mir eine Antwort auf das Ziel des nächsten stabilen Klickpakets.
cm-t

Antworten:


35

Hinweis: Ich habe im Ubuntu-Sicherheitsteam mitgearbeitet und die Story zur Anwendungsbeschränkung für Ubuntu mitgestaltet. Ich habe die Fragen aus Gründen der Klarheit umformuliert.

F: "Werden Click-Packages in Bezug auf System- und Benutzerdaten sicherer oder gleich?"

A: Im Allgemeinen sind Klick-Pakete in Bezug auf System- und Benutzerdaten sicherer als Debs.

Click-Pakete enthalten keine Betreuerskripte, die bei der Installation als root ausgeführt werden, wie dies bei deb-Paketen der Fall ist. Click-Pakete werden einfach entpackt und die vom System bereitgestellten Hooks werden verwendet, wenn sie vom Klick deklariert werden. Beispielsweise kann der Klick die Verwendung eines Desktop-Hooks zum Generieren einer Desktop-Datei oder eines AppArmor-Hooks zum Generieren eines AppArmor-Profils für die App deklarieren. Da deb packaging das Konzept von Betreuerskripten hat, die eine umfassende Anpassung der Software oder des Systems ermöglichen, sollten deb packages nur von einer vertrauenswürdigen Quelle installiert werden, z. B. einem signierten Archiv einer Distribution wie Ubuntu. Click-Pakete können direkt installiert werden und Sie können sicher sein, dass die Paketinstallation Ihr System nicht ruiniert. Dies ist jedoch nur ein Teil der Geschichte - wenn Sie ein Klickpaket aus einer nicht vertrauenswürdigen Quelle installieren,

Die eigentliche Macht des Klicks ist, wenn es in Kombination mit einem Software-Repository mit starken Richtlinien verwendet wird. Beispielsweise ist die Sicherheit eines im Ubuntu App Store installierten Click-Pakets in der Regel höher als die eines Debs, das aus einem vertrauenswürdigen Archiv installiert wurde. Dies liegt daran, dass im Ubuntu App Store als Vertrauensmodell gilt, dass Apps als nicht vertrauenswürdig gelten * und Richtlinien und Überprüfungen vorhanden sind, um sicherzustellen, dass Klickpakete im Store ein ordnungsgemäßes Sicherheitsmanifest aufweisen und daher unter sehr strengen Bedingungen ausgeführt werden. Im Gegensatz zu Deb-Paketen im Ubuntu-Archiv - das Vertrauensmodell ist, dass die Software und das Deb-Paket als vertrauenswürdig eingestuft werden und die Software im Allgemeinen nicht unter eingeschränkten Bedingungen ausgeführt wird (es gibt jedoch zahlreiche Ausnahmen, bei denen ein AppArmor-Profil mit der Software geliefert wird zum Schutz vor Sicherheitslücken).

  • Vertrauenswürdige Pakete können auch über den Ubuntu App Store geliefert werden. Obwohl dies ungewöhnlich ist, werden sie in der Regel von Canonical entwickelt und können unter bestimmten Bedingungen ausgeführt werden.

Um Ihre spezifischen Fragen zu beantworten:

F: Basiert click auf demselben System wie deb?

A: Das Low-Level-Paketformat für click ist deb. Click-Packaging ist jedoch viel einfacher, da es ein deklaratives Manifest und Hooks verwendet, anstatt herkömmliche Paketdateien und Betreuerskripts.

F: Kann AppArmor den privilegierten Zugriff auf Apps ohne Benutzerinteraktion ermöglichen?

A: AppArmor ist root-stark und kann den Zugriff auf Systemressourcen (Dateien, DBus, Netzwerke usw.) basierend auf der definierten Sicherheitsrichtlinie zulassen oder verweigern. Ein Klickpaket für sich allein ist nicht erforderlich, um ein AppArmor-Sicherheitsmanifest oder ein "sicheres" AppArmor-Sicherheitsmanifest zu versenden. Was das System sicher macht, ist die Kombination aus Klick und den Richtlinien des Geschäfts, das Klickpakete liefert. Klick-Pakete, die über den Ubuntu App Store ausgeliefert werden, verwenden eine AppArmor-Richtlinie, die sehr restriktiv ist und keine privilegierten Aktionen hinter den Kulissen zulässt (z. B. kann eine App, die unter dieser Richtlinie ausgeführt wird, hinter den Kulissen keine Programme auf dem System ausführen, auf Ihr Facebook-Konto zugreifen , stiehl deine gpg oder ssh Schlüssel, manipuliere das Networking, etc)

F: Wird der Benutzer bei der Installation aufgefordert, Zugriffsrechte für die App wie bei Android zu erteilen? (zB "Diese App kann Ihr / Zuhause scannen und auf das Netzwerk zugreifen")

A: Nein. Ein Click-Paket selbst kann möglicherweise ohne Aufforderung mit Low-Level-Tools installiert werden. Unter Ubuntu sollten Klickpakete über den Ubuntu-App-Store installiert werden (siehe oben). Aufgrund der Ubuntu-App-Store-Richtlinien in Kombination mit den Klickfunktionen und dem Ubuntu-System sind keine kontextlosen Click-through-Installationsansagen erforderlich. Ubuntu kann dies tun, da Apps, die aus dem Ubuntu App Store installiert wurden, unter eingeschränkten Bedingungen ausgeführt werden (dh sie können hinter den Kulissen keine schlechten Aktionen ausführen). Wenn eine App zusätzlichen Zugriff benötigt, erfolgt dies über kontrollierte APIs, die möglicherweise eine Eingabeaufforderung enthalten.

Bei privilegierten APIs haben wir das Konzept vertrauenswürdiger Helfer, sodass der Benutzer eine kontextbezogene Aufforderung erhält, den Zugriff zuzulassen oder zu verweigern (mit (optionalem) widerrufbarem Caching, damit der Benutzer nicht jedes Mal gefragt wird). Wenn die App beispielsweise auf den Ortungsdienst (einen vertrauenswürdigen Helfer) zugreifen muss, wird der Benutzer aufgefordert, den Zugriff zu dem Zeitpunkt zuzulassen, zu dem die App versucht, den Ortungsdienst zu verwenden informierte Entscheidung. Gleiches gilt für Video- und Audioaufnahmen. Häufig benötigen wir überhaupt keine Sicherheitsabfrage und können den Zugriff basierend auf benutzergesteuerten Interaktionen mit der App zulassen. Wenn eine App beispielsweise ein Bild hochladen möchte, wird ein Dialogfeld zum Auswählen des Bildes angezeigt. Hinter den Kulissen, weil die App nicht auf das ~ / Pictures-Verzeichnis zugreifen darf, Es wird die Content-Hub-API verwendet, mit der der Galeriedateiauswähler gestartet wird, damit der Benutzer ein Bild zum Hochladen auswählen kann. Der Content-Hub nimmt dann das Bild aus der Galerie auf und gibt es an die App weiter. Auf diese Weise gibt es keinen Sicherheitsdialog, es gibt nur eine natürliche Interaktion für den Benutzer, aber hinter den Kulissen gibt es eine implizite Vertrauensentscheidung.

F: Bezogen auf diese Frage: Werden .apk und click in Bezug auf Richtlinien und Benutzererfahrungen eine ähnliche Sprache haben?

A: Nein, aus den oben genannten Gründen werden Sie nicht zur Installation aufgefordert. Android-Berechtigungen und Sicherheitsberechtigungen für Klickpakete, wie sie für Ubuntu definiert wurden, weisen einige Ähnlichkeiten auf, sind jedoch unterschiedlich und unterschiedlich implementiert.

F: Kann eine App mit einem Klick alle meine privaten Daten über das Netzwerk senden, ohne dass ich es weiß, oder wird sie in irgendeiner Weise eingeschränkt, um dies zu verhindern?

A: Wenn Sie einen Klick von einer nicht vertrauenswürdigen Quelle installieren, kann er alles tun. Wenn Sie einen Klick aus dem Ubuntu App Store installieren, kann eine App nicht alle Ihre Daten über das Netzwerk senden, da sie keinen Zugriff darauf hat. Natürlich kann eine App das eine und das andere tun. Wenn ein Benutzer Zugriff auf den Ortungsdienst gewährt oder der App Zugriff auf ein Bild gewährt, kann die App mit diesen Daten böse sein / reviews und App Store-Sicherheitsrichtlinien treten in Kraft. Wenn eine App wie diese gemeldet wird, wird sie untersucht. Gegebenenfalls wird die App aus dem Store entfernt, die App wird von allen Geräten entfernt, auf denen sie installiert ist, und der App Store-Zugriff des Entwicklers wird widerrufen.

F: Kann man sagen, dass Klick-Pakete sicherer sind als Debs, aber weniger leistungsfähig, weil sie eingeschränkter sind?

EIN:Wie aus den obigen Ausführungen hervorgeht, ist die Antwort nicht so einfach. Ein Klick an sich kann Software enthalten, die alles kann. Das Click-Packaging-Format dient absichtlich allgemeinen Zwecken und kann auf vielfältige Weise verwendet werden und ist für Ubuntu überhaupt nicht spezifisch. Für Ubuntu bietet die Kombination aus Klick-, Ubuntu-API-, AppArmor- und App Store-Richtlinien eine sehr leistungsstarke Umgebung für Entwickler, um Benutzern Anwendungen auf eine sichere und benutzerfreundliche Weise bereitzustellen. Der Nutzen der Anwendungen selbst hängt von den APIs ab, die das zugrunde liegende System den Anwendungen anbietet. Die ersten APIs, die auf den ersten Ubuntu-Handys angeboten werden, ermöglichen Entwicklern das Erstellen aller Arten von unterhaltsamen und nützlichen Anwendungen unter Verwendung einer umfangreichen API und eines SDK.


1
"Die App wird von allen Geräten entfernt, auf denen sie installiert ist" - das scheint besorgniserregend. Bedeutet dies, dass Canonical Apps von den Geräten der Benutzer ohne deren Erlaubnis aus der Ferne deinstallieren kann?

Der Ubuntu App Store wird diese Fähigkeit haben. Das Ausüben dieser Funktion wird wahrscheinlich nur durchgeführt, wenn aktiv böswilliger Code beteiligt ist. Ich möchte die Politik hier nicht diktieren, da eine Reihe von Überlegungen noch zu berücksichtigen sind, aber unter dem Strich sollte dies nicht ohne guten Grund geschehen.
Jdstrand

2
Ich verstehe, dass dies der Sicherheit der Benutzer dient (andere App Stores tun dies ebenfalls), aber einige Benutzer mögen diese Art von "Kill Switches" nicht, da dies bedeutet, dass ein Unternehmen Apps (oder mehr) aus der Ferne deinstallieren kann, selbst wenn dies der Fall ist aus Sicherheitsgründen. Ich denke, die Entwickler sollten sorgfältig überlegen, wie dies implementiert werden soll, um eine Kontroverse zu vermeiden. Deaktivieren Sie möglicherweise die App, anstatt sie zu entfernen, damit der Benutzer sie selbst deinstallieren oder wieder aktivieren kann, und zeigen Sie sehr wichtige Warnungen an ... als Vorschlag.

Was ist mit Sicherheitsupdates einer Abhängigkeit, wenn Click eigene Abhängigkeiten paketiert? Wenn bash deb aktualisiert wird, verwenden natürlich alle anderen Pakete, die bash verwenden, die neue Version. Wenn jedoch eine Click-App-Paket-Bash ausgeführt wird, ist der Fehler immer noch vorhanden, sofern der App-Entwickler nicht darauf achtet, eine aktualisierte Bash einzuschließen, und vorausgesetzt, der App-Entwickler aktualisiert das Paket häufig. Beachten Sie in diesem Szenario, dass bash kein Basispaket ist.
Hendy Irawan

Das klingt so cool! Noch besser als das Android-System! Die Android-Berechtigungen sind mittlerweile so etwas wie die EULA. Klicken Sie einfach auf "Ja", ohne zu lesen ...
Galgalesh,

2

Ich werde versuchen, einige der wichtigsten Fragen zu Sicherheit und Click-Paketen zu beantworten.

  • Kann eine App mit einem Klick alle meine privaten Daten im Netzwerk senden, ohne dass ich dies explizit erfahre?

    • Click-Apps werden unter bestimmten Bedingungen ausgeführt. Dies bedeutet, dass die App keine schlechten Dinge tun kann: Sie kann nur auf ihr eigenes privates Verzeichnis zugreifen.
  • Können Apps installiert werden und haben dann Root-Rechte? ohne Passwort oder besondere Aufforderung?

    • ...
  • Wird der Benutzer aufgefordert, das Recht der Apps zu akzeptieren? wann?

    • Klicken Sie auf Apps, um auf Funktionen zuzugreifen, die der Benutzer für die App zulässt (Hinweis: Die aktuelle / tägliche Ubuntu Touch-Version ist noch nicht verfügbar ) .
  • Basiert es auf demselben System für click und deb?

    • Die Debian (.deb) -Verpackung ist völlig anders. Wenn Ihre App jedoch mit dem Ubuntu SDK erstellt wurde, müssen Sie kein Debian-Paket verwenden und können stattdessen das Click-Paket verwenden, das für den Endbenutzer viel einfacher und sicherer ist.
  • Zum Vergleich: Funktionieren .apk (Android) und Klick genauso?

    • Android-Pakete und Ubuntu Click-Pakete funktionieren auf ähnliche Weise, da jede Anwendung über einen eigenen Speicherplatz zum Speichern von Daten verfügt und der direkte Zugriff auf Daten anderer Anwendungen (idealerweise) untersagt ist. Derzeit können Android-Pakete auch Daten von der SD-Karte oder dem internen Speicher lesen, für die keine Zugriffsbeschränkungen bestehen. Ubuntu Click-Pakete müssen außerdem Berechtigungen für bestimmte Funktionen anfordern.
  • Es ist wahr zu sagen: Klick-Pakete sind weniger leistungsfähig (beschränken mehr Dinge), aber sicherer?

    • ...

Aus diesen Gründen sind Click-Pakete sehr sicher und der Überprüfungsprozess für ihre Veröffentlichung ist viel einfacher.

Quellen:


Bitte vervollständigen Sie diese Antwort, da Sie denken, dass es die beste ist
cm-t
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.