Frage:
Warum verfügen mobile Apps über detaillierte Berechtigungen, Desktop-Apps dagegen nicht?
rdmueller
2015-03-13 12:40:09 UTC
view on stackexchange narkive permalink

Androids-Apps verwenden aus Sicherheitsgründen fein abgestimmte Berechtigungen, iOS-Apps (afaik) ebenfalls. Windows 8.1-Anwendungen haben kein solches Berechtigungsschema, alle Linux-Versionen, die ich bisher ausprobiert habe, haben es auch nicht und ich denke, Mac OS X hat es auch nicht, oder?

Warum werden diese detaillierten Berechtigungen auf einem mobilen Gerät als erforderlich angesehen, auf einem Desktop-System jedoch nicht? Vertrauen Benutzer Apps auf einem mobilen Gerät weniger als auf einem Desktop-System?

Werden sie in Windows 10 oder neueren Linux- und Mac OS-Versionen verfügbar sein?

PS: Es scheint, dass einige Leute dies als ein mögliches Duplikat von betrachten. Warum sind Apps für mobile Geräte restriktiver als für Desktop? - aber beide Fragen unterscheiden sich zumindest in der Sichtweise ( Entwickler / Benutzer). Und wenn Sie die Antwort lesen, werden Sie auch feststellen, dass die meisten SO-Benutzer beide Fragen als unterschiedlich betrachten :-)

Kleine Korrektur: Für Store-Apps verfügt [Windows 8.1] (https://msdn.microsoft.com/en-us/library/windows/apps/hh464936.aspx) über ein fein abgestimmtes Funktionssystem und [Mac OS] (https) : //developer.apple.com/library/mac/documentation/Miscellaneous/Reference/EntitlementKeyReference/Chapters/AboutEntitlements.html) verfügt über Sandboxing mit _einiger_ Flexibilität.
Zwei Wörter: Abwärtskompatibilität. Desktop-Betriebssysteme sind älter und müssen Anwendungen mit veralteten Berechtigungsmodellen unterstützen.
Ich würde das Berechtigungssystem von Android kaum als "feinkörnig" bezeichnen. Schauen Sie sich die lächerlich breite Liste von Dingen an, auf die die App Zugriff hat, zum Beispiel, wenn sie sich nur darum kümmert, richtig anzuhalten, weil Sie einen eingehenden Anruf erhalten haben.
Feinkörnige Berechtigungen sind natürlich völlig nutzlos, da viele Apps so lächerliche Listen der benötigten und afaik deklarieren, dass es immer alles oder nichts ist, wenn Sie die App verwenden müssen.
@paj28: Die Frage ist aus einem anderen Blickwinkel (Entwickler vs. Benutzer) und auch inhaltlich etwas anders. Deshalb halte ich es nicht für ein Duplikat ...
Linux verfügt über detaillierte Berechtigungen. Sie müssen sie nur manuell einrichten. Sie werden bei der Installation nicht angefordert.
Beachten Sie, dass Klick-Pakete genauso eingeschränkt sind wie Android / IOS-Apps. Click-Paket soll das nächste sein, das .deb für Ubuntu (Desktop / Mobile) ersetzt: http://askubuntu.com/questions/337969/what-are-click-packages. Daher werden im Grunde alle Win, Mac, Ubuntu bald feinkörnige Berechtigungen unterstützen, wenn sie dies noch nicht getan haben.
Weil mobile Apps später kamen.Das ist der einzige Grund.
Sechs antworten:
Mark
2015-03-13 15:27:07 UTC
view on stackexchange narkive permalink

Es gibt zwei Hauptgründe, warum Smartphones über detaillierte Berechtigungen verfügen, Desktop-Computer jedoch nicht.

  1. Verlauf. Mainframe-Betriebssysteme erteilen traditionell dem Benutzer und nicht dem Programm Berechtigungen, die auf Minicomputer / Workstations / Desktops übertragen werden. Der Wunsch, die Kompatibilität mit vorhandenen Programmen aufrechtzuerhalten, schränkt die Möglichkeit ein, Änderungen vorzunehmen. Smartphones sind ein sauberer Bruch mit vorhandenen Anwendungsökosystemen, daher bestand die Möglichkeit, das Berechtigungsmodell zu ändern.

  2. Smartphones sind weitaus homogener als Desktops und ändern im Allgemeinen nicht ihre Hardware Konfiguration im Laufe der Zeit. Dies erleichtert das Einrichten des Berechtigungssystems erheblich.

  3. ol>

    Es gibt jedoch fein abgestimmte Berechtigungssysteme für Desktop-Betriebssysteme. Linux hat zum Beispiel AppArmor, SELinux, Bitfrost und wahrscheinlich andere.

Ein Mac mit Lion und höher hat Gatekeeper, daher wurden auch dort Berechtigungen festgelegt.
... Tomoyo, Grsec. Leider haben solche Systeme nicht die richtige Granularität, um für den durchschnittlichen Endbenutzer nützlich zu sein, z. "Bilder aufnehmen" vs "Lesezugriff auf / sys / device / "
Philipp
2015-03-13 14:21:19 UTC
view on stackexchange narkive permalink

Aus technischen Gründen kann nicht festgestellt werden, welche Berechtigungen eine Anwendung benötigt, bis sie versucht, sie zu verwenden. Dies bedeutet, dass eine Anwendung eine Möglichkeit benötigt, dies zu deklarieren. Anwendungen auf Desktop-Betriebssystemen haben dies nie getan. Wenn der Benutzer eine Legacy-Anwendung startet, können Sie nur davon ausgehen, dass sie alles benötigt (Schulung des Benutzers zum Akzeptieren langer Listen von Funktionen ohne nachzudenken) oder mit einem Popup fragen, sobald die Anwendung dies benötigt (was einige Anwendungen beschädigen könnte, die dies können). t mit der plötzlichen Unterbrechung umgehen). Beide Lösungen sind schlecht, daher würde die Einführung eines solchen Mechanismus die Abwärtskompatibilität mit älterer Software beeinträchtigen.

Windows 7 hat versucht, die Situation zu verbessern, indem neuere Anwendungen deklarieren konnten, dass sie bestimmte potenziell böse Dinge nicht tun, und die Eingabeaufforderung "Möchten Sie, dass [Programm] Änderungen an Ihrem Computer vornimmt" hinzugefügt, wenn Starten eines älteren Programms, das einige potenziell böse Dinge nur verhindert, wenn das Programm als Administrator ausgeführt wird.

UNIX- und UNIXoid-Betriebssysteme wie Linux ermöglichen es, die Rechte von Programmen mit ihrer Dateiberechtigung einzuschränken und Besitzsystem. Hardwaregeräte werden ebenfalls als Dateien abstrahiert und können einer bestimmten Gruppe gehören. Sie können also die Funktionen von Programmen einschränken, indem Sie jedes Programm mit einem anderen Benutzer ausführen und den Benutzer zu den Gruppen hinzufügen, denen die für das Programm erforderlichen "Dateien" des Hardwaregeräts gehören. Dies ist natürlich keine sehr benutzerfreundliche Lösung, da sie viel Konfiguration erfordert.

Als Smartphone-Betriebssysteme entwickelt wurden, gab es keine Legacy-Anwendungen, für die die Entwickler die Kompatibilität sicherstellen mussten Chance, von Anfang an alles richtig zu machen.

Ein weiterer Grund ist, dass Smartphones möglicherweise weitaus mehr Datenschutzverletzungen verursachen als Desktop-Computer. Ein Smartphone verfügt über einen GPS-Sensor, ein Mikrofon, eine Kamera und eine permanente Internetverbindung. Die meisten Benutzer erledigen den größten Teil ihrer privaten und geschäftlichen Kommunikation über sie. All das wäre nicht so schlimm, wenn die Leute diese Geräte nicht immer und überall in ihrer Nähe hätten. Smartphones sind einfach die perfekten Spionagewerkzeuge. Wenn Sie ein Smartphone unter Kontrolle haben, können Sie den Benutzer und seine Umgebung rund um die Uhr perfekt überwachen. Alles, was Sie tun müssen, um Zugriff auf dieses Tool zu erhalten, ist den Benutzer dazu zu bringen, Ihre Furz-Sound-App zu installieren.

"Ein Smartphone verfügt über einen GPS-Sensor, ein Mikrofon, eine Kamera und eine permanente Internetverbindung. Die meisten Benutzer erledigen den größten Teil ihrer privaten und geschäftlichen Kommunikation über sie." - so ziemlich alle außer dem GPS gelten auch für Laptops.
@domen, aber ein Laptop ist normalerweise nur eingeschaltet, wenn Sie ihn verwenden. Ein Smartphone ist immer eingeschaltet. Außerdem kann eine ständige GPS-Überwachung eine der schlimmsten Verletzungen der Privatsphäre sein.
Richtig. Mein Desktop ist normalerweise immer eingeschaltet und enthält viel vertraulichere Daten als mein Telefon. Ich verstehe Ihre Punkte und spiele die Sicherheit / den Datenschutz auf Telefonen nicht herunter, aber ich würde gerne etwas Ähnliches auf PCs sehen (wir sind sogar an einem Punkt angelangt, an dem einige Leute wegwerfbare virtuelle Maschinen starten, um potenziell verdächtige Anwendungen auszuprobieren es scheint eine gewisse Nachfrage zu geben).
Das Windows 7-Sicherheitsmodell ist ein Witz. Selbst wenn Software vor Windows 7 keine praktische Alternative zur Alles-oder-Nichts-Sicherheit hatte, gibt es keinen Grund, dass für das Ausführen einer neuen App, die eine Registrierungseinstellung besitzen möchte, ein Benutzer uneingeschränkten Zugriff auf alles gewähren muss. Viele Anwendungsentwickler wissen, was ihre Anwendungen benötigen, und würden Windows gerne informieren, wenn es einen vernünftigen Weg gibt, dies zu tun.
D.W.
2015-03-14 04:51:28 UTC
view on stackexchange narkive permalink

Es gibt mindestens zwei wichtige Gründe, warum mobile Betriebssysteme über detaillierte Berechtigungen für Apps verfügen, während Desktop-Betriebssysteme dies nicht tun:

  1. Verlauf. Starke> Desktop-Betriebssysteme stammen aus mehreren Jahrzehnten, als das primäre Bedrohungsmodell anders war, und verfügen daher über Mechanismen, die für dieses (inzwischen weitgehend veraltete) Bedrohungsmodell entwickelt wurden.

    Desktop-Betriebssysteme sind eine Weiterentwicklung von Mainframe-Betriebssystemen. Bei Mainframes war das Hauptanliegen die Mehrbenutzersicherheit: Das Betriebssystem, das erforderlich ist, um sicherzustellen, dass ein Benutzer keinen anderen Benutzer angreifen kann. Daher basieren Desktop-Betriebssysteme im Allgemeinen auf einem Mehrbenutzer-Sicherheitsmodell, das versucht, Benutzer voneinander zu isolieren und sicherzustellen, dass ein Benutzer andere Benutzer auf demselben Computer nicht angreifen kann.

    Heutzutage sind es jedoch die meisten Computer Einzelbenutzer-Computer, und die Hauptbedrohung sind nicht andere Benutzer, sondern böswillige Angriffe von anderen Websites oder Daten im Internet. Daher sind mobile Betriebssysteme so konzipiert, dass sie diesem modernen Bedrohungsmodell begegnen. Sie sollen es einfach und sicher machen, eine App herunterzuladen und auszuführen, die von einem nicht vertrauenswürdigen Entwickler erstellt wurde. Die vorhandenen Mechanismen (App-Sandboxen, Berechtigungssysteme, App-Stores, App-Überprüfungen) tragen dazu bei, dass dies im Allgemeinen ziemlich sicher ist. Daher konzentrieren sich die mobilen Betriebssysteme darauf, Sie vor böswilligen / skizzenhaften Apps zu schützen und Apps voneinander zu isolieren, anstatt Benutzer voneinander zu isolieren.

    Dies erklärt einen großen Teil der Gründe, warum mobile Betriebssysteme gut funktionieren. differenzierte Berechtigungen, während Desktop-Betriebssysteme dies nicht tun: Fein abgestimmte Berechtigungen sind beim Umgang mit dem modernen Bedrohungsmodell (Schutz der Benutzer vor böswilligen / zwielichtigen Apps) hilfreicher als das alte Mainframe-Bedrohungsmodell (Schutz der Benutzer voreinander).

    Wenn wir heute Desktop-Betriebssysteme von Grund auf neu entwerfen würden, wäre es plausibel, dass sie viel mehr wie moderne mobile Betriebssysteme aussehen, mit einem Fokus auf einem App-Modell, einem App-Bedrohungsmodell anstelle eines Mehrbenutzer-Bedrohungsmodells. und so weiter. Aufgrund früherer Einschränkungen ist es für Desktop-Betriebssysteme jedoch nicht einfach, auf diesen neuen Ansatz umzusteigen: Benutzer erwarten, dass vorhandene Desktop-Anwendungen funktionieren, sodass Betriebssysteme sie nicht einfach blockieren können. Im Gegensatz dazu waren dies bei der Einführung von iOS und Android durch Apple und Google neue Betriebssysteme ohne Legacy-Basis. Es gab keine vorhandenen Apps, mit denen sie kompatibel sein mussten, sodass sie das Programmiermodell grundlegend ändern konnten, was Desktop-Betriebssysteme nicht einfach können.

  2. Unterschiedliche Benutzerbasis, unterschiedliche Kompromisse, unterschiedliche Bedrohungen. Smartphones sind ein Gerät für den Massenmarkt. Sie müssen für alle arbeiten. Auf einem Desktop kann die Installation einer skizzenhaften App dazu führen, dass Ihr Desktop eine schlechte Leistung erbringt, Ihr Desktop mit Spyware überfüllt ist und das System langsam oder instabil wird. Wenn Sie auf Desktops nicht wissen, was Sie tun, können Sie die Zuverlässigkeit und Leistung Ihres Computers erheblich beeinträchtigen. Es wäre inakzeptabel, wenn Ihr Telefon so funktionieren würde. Apple und Google haben daher hart daran gearbeitet, ein Betriebssystem zu entwickeln, um sicherzustellen, dass die Installation einer schlechten App dies nicht kann. Dies bringt unterschiedliche Kompromisse und unterschiedliche Designziele mit sich und führt natürlich zu einer gesperrteren Plattform und ermöglicht einige Designs, die auf einem Desktop als akzeptabel angesehen werden können.

    Außerdem verfügen Smartphones über eine Vielzahl von Sensoren, die dies können Erfassen Sie einen Großteil Ihres Lebens (z. B. Gespräche aufzeichnen, Ihren Standort verfolgen usw.), und Ihr Telefon ist den ganzen Tag über bei Ihnen, sodass wahrscheinlich mehr Möglichkeiten für einige schlechte Datenschutzverletzungen bestehen. Dies ist eine weitere Motivation für ein stärkeres Sicherheitsmodell.

  3. ol>

    Allerdings beginnen moderne Desktop-Betriebssysteme langsam, einige dieser Ideen von app-zentrierten mobilen Betriebssystemen zu übernehmen. Zum Beispiel:

  • Mac OS X unterstützt Sandbox-Anwendungen, wodurch Anwendungen viel mehr wie eine mobile App aussehen. Anwendungen im Mac App Store sind in der Regel Sandbox. Das Betriebssystem bietet ein detailliertes Berechtigungsmodell, und die Anwendung muss die erforderlichen Berechtigungen (Berechtigungen) deklarieren.

  • Windows 8 unterstützt Sandbox-Anwendungen mit einem Sicherheitsmodell, das aussieht sehr ähnlich wie bei einer mobilen App. Insbesondere Windows Store-Apps werden in einer Sandbox ausgeführt und müssen angeben, welche Berechtigungen sie benötigen. Benutzer können anzeigen, über welche Berechtigungen eine App verfügt.

Im Übrigen stellen Sie möglicherweise fest, dass das Sicherheitsmodell für mobile Apps dem Sicherheitsmodell für das Web lose ähnelt : Das Web basiert auch darauf, Websites voneinander zu isolieren, sodass eine böse Website keine andere Website angreifen kann. Wenn Sie sich eine mobile App als analog zu einer Website vorstellen, sieht das Sandboxing für mobile Apps jetzt analog zu Richtlinien mit gleichem Ursprung des Browsers aus. In der Vergangenheit waren Web-Apps in ihren Möglichkeiten viel eingeschränkter, aber mit HTML5 ändert sich dies. Browser beginnen damit, Webdiensten umfassendere Funktionen zu ermöglichen (Lesen von Sensoren, Lesen und Schreiben von Dateien in Ihrem Dateisystem usw.), und beginnen damit, Berechtigungssysteme zu implementieren, um den Zugriff auf diese Ressourcen zu steuern, ähnlich wie dies bei mobilen Betriebssystemen der Fall ist. Daher können Sie dies als Browser betrachten, die einige Ideen von mobilen Betriebssystemen ausleihen.

Eine andere Lesart, die Sie interessieren könnte:

Ich denke, Ihr Punkt 2 ist * die * Antwort.
Beachten Sie in Bezug auf Nummer 1 (Verlauf) auch, dass in dem Computer-Ökosystem, in dem sich Mainframes entwickelt haben, Anwendungen * sehr lange * speziell vom Benutzer (oder von jemandem, der für den Benutzer arbeitet) geschrieben wurden und daher vernünftigerweise das gleiche Niveau erhalten konnten Vertrauen als Benutzer. Jetzt, da Anwendungen häufig Standardlösungen sind, hat sich das Ökosystem verändert, aber zu einem sehr großen Teil bleibt das Erbe des "Vertrauens des Benutzers" anstelle des "Vertrauens der Anwendung" erhalten.
user2813274
2015-03-13 19:42:10 UTC
view on stackexchange narkive permalink

Schauen Sie sich zum Vergleich die Firewall-Optionen eines Smartphones mit denen eines Desktop-Betriebssystems an. Ich denke, Sie werden feststellen, dass der Desktop über viel detailliertere Firewall-Optionen verfügt (ausgenommen Root-Firewall-Apps für Android), die dies ermöglichen Geben Sie an, welche ausführbare Datei Zugriff auf die Kommunikation an welchen Ports und in welchen Netzwerken hat, während es nahezu unmöglich ist, den Internetzugang zu einer Telefon-App zu blockieren (da alle Anzeigen über das Internet verwenden möchten, um Geld zu verdienen, wie es scheint)

Sehen Sie sich an, wie Sie eine Anwendung stummschalten - wie einfach ist es, eine einzelne Anwendung in Windows stummzuschalten, im Vergleich zu einem mobilen Gerät - können Sie alle Sounds gezielt stumm schalten? in beiden einfach zu machen - aber was ist mit Programm / App X? oder können Sie die Lautstärke von Programm Y so einstellen, dass sie halb so groß ist wie die von Programm X? Ich würde sagen, dass der Desktop hier einen detaillierteren Zugriff hat.

PCs verfügen auch über erweiterte Überwachungsoptionen. Sie können genau sehen, welcher Prozess zu einem bestimmten Zeitpunkt auf welche Dateien zugreift, und die einzelnen Threads überprüfen Führen Sie sie bei jedem Vorgang durch ein Antivirenprogramm (Sandbox?), das auf einem Mobiltelefon zwar technisch möglich ist, jedoch weniger praktisch ist, und die telefonbasierten AV-Geräte sind nicht ganz so gut wie ihre Desktop-Gegenstücke.

Ich denke, der Hauptgrund ist, dass ein Telefon nicht wirklich "Ihnen" gehört, bis Sie es rooten / Administratorzugriff erhalten, während dies auf einem PC die Norm ist - als solche möchten die Telefone dies kompensieren Sie fühlen sich gestärkt, obwohl Sie es wirklich nicht sind, während der PC Ihnen praktisch alles bieten kann, was Sie wollen, wenn Sie es einfach als solches konfigurieren (nicht vertrauenswürdige Apps in einer VM, einer Sandbox usw. ausführen).

Es scheint auch einige Nutzungsunterschiede zu geben, bei denen fast jede App auf einem Telefon Zugriff auf Ihre Kontakte, Ihren Standort usw. haben möchte. Auf einem PC werden nur sehr wenige (wenn überhaupt) nach einer "Synchronisierung" von Kontakten fragen Verschiedene Apps oder sogar Lesezeichen - es handelt sich normalerweise um eine einmalige "Migrationseinstellung", wenn überhaupt - die Apps sind alle sehr eigenständig, im Gegensatz zu jeder App, die sich stark auf das System und andere Apps stützt, um Dinge für sie zu erledigen (wie viele) Apps funktionieren in Android ohne Google Play-Dienste (was ist mit Windows ohne Dienst X)? Schauen Sie sich Media Player an - die meisten Desktop Media Player sind in sich geschlossen, da sie über eigene Codecs verfügen, während es praktisch unmöglich ist, einen Media Player zu finden, der über eigene Codecs verfügt und sich nicht auf die Codecs des Systems stützt (und somit seine Fehler erbt). auf dem Handy.

John Keates
2015-03-14 20:47:52 UTC
view on stackexchange narkive permalink

Das hat eigentlich nur Windows. (Außer Appstore-Apps). Unter OS X müssen Sie eine Berechtigung erteilen, bevor auf Kontakte zugegriffen werden kann oder wenn eine Anwendung Änderungen am Dateisystem außerhalb des Benutzercontainers vornehmen möchte.

Für Linux gibt es Dinge wie AppArmor und SELinux, aber on Bei den meisten Unices ist bsd ein Linux. Das normale Dateisystem-Berechtigungsmodell macht es normalen Benutzerprogrammen ohnehin unmöglich, Änderungen außerhalb des Benutzerheims vorzunehmen.

Während Windows jetzt über eine Benutzerkontensteuerung verfügt, ist dies ziemlich nutzlos, da fast alle Apps vollständig sein müssen Dateisystemzugriff ausgeführt werden. (Außer Medienkonsum-Apps)

Cort Ammon
2015-03-15 04:47:17 UTC
view on stackexchange narkive permalink

Von Desktop-Apps wird erwartet, dass sie weit mehr leisten als von mobilen Apps. Daher ist es viel schwieriger, ihnen fein abgestimmte Berechtigungen zu erteilen. Insbesondere kommunizieren Desktop-Apps häufig miteinander, während mobile Apps normalerweise sehr, sehr, sehr sandboxed sind, um eine solche Kommunikation zu vermeiden. Wenn Sie die Kommunikation zwischen Anwendungen zulassen, sind die fein abgestimmten Berechtigungen die der App sowie alles, was andere Apps davon überzeugen kann (einschließlich der Verwendung von Exploits, um diese Überzeugungsarbeit zu leisten). Mit den richtigen Exploits können diese Berechtigungen praktisch nicht mit den Berechtigungen zusammenhängen, für die der Benutzer auf OK geklickt hat.

In dieser Umgebung bieten fein abgestimmte Berechtigungen nicht so viel, wie wir möchten, und sie sind kostspielig in ein System setzen. Dementsprechend unterstützen Desktop-Betriebssysteme dies selten.



Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...