10 Reaktionen

Firefox 55 erhält Berechtigungssystem für WebExtensions

Geschätzte Lesedauer:

Mit Firefox 55 führt Mozilla ein Berechtigungssystem für WebExtensions inklusive optionaler Berechtigungen ein. Damit bekommen Nutzer mehr Kontrolle darüber, was Firefox-Erweiterungen tun dürfen und was nicht.

Berechtigungen kennt man vor allem von App-Installationen auf Smartphones. Vor der Installation einer App wird der Nutzer darüber informiert, welche Berechtigungen die App anfragt. Werden bestimmte Berechtigungen nicht angefragt und vom Nutzer dementsprechend auch nicht akzeptiert, dann kann die App entsprechende Tätigkeiten auch nicht durchführen.

Google hatte dieses Konzept auch für seinen Browser Chrome übernommen. Und nachdem Mozilla mit den WebExtensions ein Erweiterungs-Modell in Firefox eingeführt hat, welches einen großen Grad an Kompatibilität zum Erweiterungs-Modell von Chrome besitzt, war es nur eine Frage der Zeit, bis das Berechtigungssystem endlich auch Einzug in Firefox erhält.

Ab Firefox 55 ist es soweit. Berechtigungen kennt Firefox bereits seit der ersten Unterstützung von WebExtensions in Firefox 45, bisher aber ohne sichtbaren Effekt für den Nutzer. Ab Firefox 55 informiert der Mozilla-Browser bei der Installation von Erweiterungen über die von der WebExtension angefragten Berechtigungen. Ist der Nutzer damit nicht einverstanden, hat er an dieser Stelle noch die Möglichkeit, die Installation zu unterbinden.

Am Beispiel einer signierten Erweiterung mit einer angefragten Berechtigung:

WebExtension Berechtigungs-System

Am Beispiel einer nicht signierten Erweiterung mit drei angefragten Berechtigungen:

WebExtension Berechtigungs-System

Bereits jetzt werden auf Mozillas Erweiterungs-Webseite addons.mozilla.org die Berechtigungen von WebExtensions angezeigt, so dass sich der Nutzer bereits vor dem Start der Installation ein Bild davon machen kann, welche Berechtigungen eine Erweiterung anfordert.

WebExtension Berechtigungs-System

Außerdem unterstützt Firefox ab Version 55 auch optionale Berechtigungen. Diese ermöglichen es, bei der Installation einer Erweiterung nur die Berechtigungen anzufragen, welche für den Betrieb einer Erweiterung zwingend notwendig sind, nicht jedoch Berechtigungen, welche nur für einzelne Features benötigt werden.

Optionale Berechtigungen setzen immer eine Nutzer-Interaktion voraus und können nicht automatisch durch die Erweiterung erteilt werden. In der Praxis bedeutet dies, dass die Erweiterung vor der Benutzung eines Features einen Dialog mit der Bitte um Gewährung einer zusätzlichen Berechtigung anzeigt. Wird diese erteilt, kann das Feature wie gewünscht verwendet werden. Wird diese nicht erteilt, ist das entsprechende Feature nicht nutzbar.

Dieser Artikel wurde von Sören Hentzschel verfasst.

Sören Hentzschel ist Webentwickler und Mozilla Repräsentant (Alumnus). Neben diesem Mozilla-Blog betreibt er unter anderem noch firefoxosdevices.org sowie das Fußball-Portal Soccer-Zone und ist außerdem Administrator des deutschsprachigen Firefox Hilfeforums Camp Firefox.

10 Kommentare - bis jetzt!

Eigenen Kommentar verfassen
  1. schrieb am :

    OT: Bei "Berechtigungen" fällt mir was ganz anders ein: die von Windows, wenn man was von einem auf den anderen PC verschieben/kopieren will – DIE können wirklich nerven.

    Seit ich das erste NAS hatte (Anfang 2012) plage ich mich damit gar nicht mehr rum – Zugriff von allen Teilen.

  2. Hans
    schrieb am :

    Da Sie bewusst zwischen signierten und nicht signierten Erweiterungen unterscheiden, bitte noch mal verdeutlichen: Wird Firefox hier das Berechtigungssystem unterschiedlich handhaben?

    „Bereits jetzt werden auf Mozillas Erweiterungs-Webseite addons.mozilla.org die Berechtigungen von WebExtensions angezeigt“ … bei mir kommt bei allen Add-ons (z.B. NoScript) immer derselbe Text: „Please note this add-on uses legacy technology, which gives it access to all browser functions and data without requesting your permission.“ Ich nehme mal an, dass dies zukünftig etwas detaillierter wird?!

    Darüber hinaus: Werden diese Berechtigungs-Informationen von den Add-on-Entwicklern verfasst, oder stellt Mozilla Mitarbeiter ab, die das für jede Erweiterung (zumindest die signierten) einzeln überprüfen?

  3. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Da Sie bewusst zwischen signierten und nicht signierten Erweiterungen unterscheiden, bitte noch mal verdeutlichen: Wird Firefox hier das Berechtigungssystem unterschiedlich handhaben?

    Nein. Die Darstellung des Dialoges ist unterschiedlich, darum habe ich von beiden Situationen jeweils einen Screenshot erstellt. Bei nicht signierten Erweiterungen steht ja noch eine Warnung bei der Installation dabei.

    „Bereits jetzt werden auf Mozillas Erweiterungs-Webseite addons.mozilla.org die Berechtigungen von WebExtensions angezeigt“ … bei mir kommt bei allen Add-ons (z.B. NoScript) immer derselbe Text: „Please note this add-on uses legacy technology, which gives it access to all browser functions and data without requesting your permission.“ Ich nehme mal an, dass dies zukünftig etwas detaillierter wird?!

    Dieser Text erscheint bei Legacy-Erweiterungen, welche ab Firefox 57 nicht mehr unterstützt werden. Nur WebExtensions kennen Berechtigungen, sowas gibt es in alten Erweiterungs-Architekturen nicht. Entsprechend listen auch nur WebExtensions an dieser Stelle Berechtigungen auf. Legacy-Erweiterungen zeigen stattdessen diesen Text auf der Webseite.

    Darüber hinaus: Werden diese Berechtigungs-Informationen von den Add-on-Entwicklern verfasst, oder stellt Mozilla Mitarbeiter ab, die das für jede Erweiterung (zumindest die signierten) einzeln überprüfen?

    Weder noch. Möchte ein Entwickler eine bestimmte API nutzen, muss er die dafür notwendige Berechtigung in der Manifest-Datei des Add-ons anfragen. Wird eine Berechtigung nicht per Manifest-Datei angefragt, kann die Erweiterung die entsprechende API nicht nutzen. Das funktioniert alles vollkommen automatisch, dafür müssen keine Mitarbeiter die Add-ons überprüfen. Die APIs wissen, welche Berechtigungen sie benötigen.

    Und die Texte im Dialog sind vorgegeben. Fordert der Entwickler eine Berechtigung zum Bearbeiten von Lesezeichen an, dann steht da für jedes Add-on, welches diese Berechtigung nutzt, der Text zum Bearbeiten von Lesezeichen.

  4. Peer
    schrieb am :

    Tolle Nachrichten!

    Das ist für mich eine der wichtigsten Neuerungen der letzten Jahre. Wenn man das hört, fragt man sich, warum das nicht vom Anfang des WWWs an zum Konzept der Browser-Erweiterungen dazugehört hat. Denn Browser-Erweiterungen dürfen ziemlich viel und der Nutzer weiß nicht mal, was eine Erweiterung alles darf.

    Toll, dass Mozilla das jetzt umsetzen will.

  5. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Mit den alten XUL-Erweiterungen wäre sowas gar nicht umsetzbar gewesen, weil es solche Erweiterungs-Schnittstellen wie nun bei den WebExtensions gar nicht gab. Dort war es halt so, dass Erweiterungen auf jegliche Firefox-Interna zugreifen konnten, wie sie lustig waren. Das hat enorme Möglichkeiten eröffnet, war aber eben auch nicht kontrollierbar. 😉

  6. Herbert
    schrieb am :

    " bei mir kommt bei allen Add-ons (z.B. NoScript) immer derselbe Text"

    NoScript ist noch kein WebExtension – so wie die allermeisten Addons noch kein WE sind. Ghostery zB ist eins. Die Entwickler werden erst nach und nach aktiv werden. zB wäre es für uBlock Origin bereits kein Problem auf WebExtensions zu wechseln. Das Addon gibts ja immerhin auch für Chrome. Spätestens zu Firefox 57 werden die aber ihr Addon als WE vorliegen haben.

    Bei allen von mir genutzen Addons steht inzwischen fest, dass die Entwickler das auch für FF47+ unterstützen werden.

    Seit FF44 Dev Edition funktionieren übrigens jetzt deutlich mehr Chrome Addons unter Firefox. Da tut sich echt einiges. Man wird dem Ende der Legacy Addons wohl gelassen entgegenblicken können. Die Addons, die nicht mitziehen, wird man wohl verschmerzen können.

  7. blub
    schrieb am :

    Das ist für mich eine der wichtigsten Neuerungen der letzten Jahre. Wenn man das hört, fragt man sich, warum das nicht vom Anfang des WWWs an zum Konzept der Browser-Erweiterungen dazugehört hat. Denn Browser-Erweiterungen dürfen ziemlich viel und der Nutzer weiß nicht mal, was eine Erweiterung alles darf.

    Ich sehe damit das Grundproblem allerdings nicht gelöst. Chrome hat das System seit Jahren und dennoch weiß ich als User anhand der Berechtigungen nicht, ob ein Addon "gut" oder "böse" ist, da die gleiche Berechtigung völlig unbedenklich sein oder mich ausspionieren kann.

    Es sei denn ich verweigere Berechtigungen wie "Verlauf lesen", dann funktioniert aber die Hälfte der Addons nicht mehr, auch unbedenkliche.

    Das ganze Konstrukt ist ähnlich problematisch wie das Berechtigungssystem von Android.

  8. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Ein solches Berechtigungssystem ist sicherlich nicht perfekt, aber vermutlich so ziemlich das beste, was man haben kann, ohne die Usability zu stark einzuschränken. Die Schwierigkeit ist eben der Kompromiss aus einer guten Sicherheit und Bequemlichkeit für den Nutzer.

    Natürlich weiß ein Nutzer nicht nur anhand der Berechtigung, ob das Add-on gut oder böse ist (wobei die Wahrscheinlichkeit für böse Add-ons durch die Kontrollen bei Mozilla zumindest nicht übermäßig hoch ist). Aber ein Add-on, welches beispielsweise nach eigenen Angaben nur die Farbe der Oberfläche auf Basis der Uhrzeit verändert, muss die Chronik nicht auslesen dürfen. Also wenn man da als Nutzer ein wenig mitdenkt, bringt das schon ein bisschen was.

  9. blub
    schrieb am :

    Nur tun die meisten User das in der Praxis nicht. Will eine Extension/App genutzt werden, dann erhält sie auch die Berechtigungen vom User.

    Nun könnte man das zum Problem der User machen, es gibt aber durchaus Sicherheitsexperten, die die Verantwortung dafür nicht beim User sehen:
    https://www.schneier.com/blog/archives/2016/10/security_design.html

  10. Sören Hentzschel Verfasser des Artikels
    schrieb am :

    Selbst, wenn ein Nutzer gar nicht darauf achtet, dann ist es für diesen Nutzer eben so, wie es immer gewesen ist. Dann bleibt zumindest eine Verbesserung für die anderen. 😉

    Ich wüsste nicht, wie man ein Berechtigungssystem wirksamer gestalten sollte, ohne zur Last für den Nutzer zu werden. Ideen? 😉

Und jetzt du! Deine Meinung?

Erforderliche Felder sind mit einem Asterisk (*) gekennzeichnet. Die E-Mail-Adresse wird nicht veröffentlicht.