Cache-Partitionierung: Javascript selber zu hosten, lohnt sich bald mehr

Aus Sicherheitsgründen planen mehrere Browserhersteller, künftig ihre Caches nach Webseiten zu trennen. Das Laden von Resourcen über CDN-Netze lohnt sich danach nicht mehr.

Artikel veröffentlicht am ,
Durch Messen der Zeit bei Webanfragen lässt sich herausfinden, ob Dateien im Cache liegen. Das wollen Browser jetzt unterbinden.
Durch Messen der Zeit bei Webanfragen lässt sich herausfinden, ob Dateien im Cache liegen. Das wollen Browser jetzt unterbinden. (Bild: Chris Desmond, Wikimedia Commons)

Mehrere Browserhersteller planen Änderungen, die dazu führen werden, dass Webressourcen nicht mehr über verschiedene Webseiten hinweg gecacht werden. Darüber berichtet der Web-Programmierer Jeff Kaufman in einem Blogpost. Der Grund dafür sind mögliche Seitenkanalangriffe. Für Webseitenbetreiber bedeutet diese Änderung, dass es in vielen Fällen vorteilhaft sein wird, gängige Webressourcen wie beispielsweise Javascript-Bibliotheken oder Fonts selbst zu hosten und nicht von externen Quellen einzubinden.

Stellenmarkt
  1. Software Support Specialist (m/w/d)
    thinkproject Deutschland GmbH, München
  2. Business Systems Analyst (w/m/d) Web Analytics
    Franke Foodservice Systems GmbH, Bad Säckingen
Detailsuche

Bisher war es so: Wenn zwei verschiedene Webseiten dieselbe Datei einbinden, kann diese beim Laden der zweiten Webseite aus dem Cache geladen werden. Üblich ist das etwa bei Javascript-Bibliotheken. Wer die häufig genutzte Jquery-Bibliothek einsetzt, lädt diese häufig von einem von den Jquery-Entwicklern bereitgestellten Host. Auch gibt es verschiedene CDN-Anbieter für gängige Javascript-Bibliotheken.

Gemeinsamer Cache kann für Seitenkanalangriffe genutzt werden

Aus Performancegründen hat das naheliegende Vorteile: Bei fast allen Nutzern dürfte die aktuelle Version der Jquery-Bibliothek bereits im Browsercache vorhanden sein, sie muss nicht erneut heruntergeladen werden.

Doch das Caching kann zu Sicherheitsproblemen führen. Angreifer können dieses Verhalten nutzen, um herauszufinden, ob eine andere Person in jüngerer Zeit auf einer bestimmten Webseite unterwegs war. Dies geht etwa, indem man eine dort eingebundene Ressource aufruft und anschließend misst, wie schnell der Ladevorgang durchgeführt wurde.

Golem Akademie
  1. Terraform mit AWS
    14./15. September 2021, online
  2. Einführung in die Programmierung mit Rust
    21.-24. September 2021, online
Weitere IT-Trainings

Solche Angriffe, die auch Cross-Site-Leaks oder XS-Leaks genannt werden, sind schon länger bekannt, aber sie wurden zuletzt immer weiter verbessert. Das führt jetzt dazu, dass die Entwickler von Chrome und Firefox den Cache künftig nach Webseiten trennen werden. Aktiv ist die Funktion in den Browsern noch nicht, es ist aber davon auszugehen, dass dies in künftigen Versionen zur Standardeinstellung wird. In Safari gibt es bereits jetzt eine entsprechende Funktionalität.

Konkret bedeutet das: Wenn dieselbe Webseite mehrfach aufgerufen wird, werden die Daten aus dem Cache geladen. Ruft aber eine andere Webseite die von der ersten Webseite genutzten Ressourcen ab, werden diese erneut geladen, da die Caches der Seiten getrennt sind.

Laden vom eigenen Host ohne Cache schneller

Wer als Betreiber einer Webseite gängigen Javascript-Code oder andere Ressourcen - beispielsweise Schriftarten - von einem externen Host zieht, sollte sich überlegen, ob dies in Zukunft noch Sinn macht. Denn in Sachen Geschwindigkeit dürfte das Selbsthosten vorteilhafter sein. Dank der HTTP-Funktion Keep-Alive oder mittels HTTP/2 können mehrere Dateien vom selben Host über eine Verbindung abgerufen werden. Generell ist es außerdem natürlich sinnvoll, darauf zu achten, nicht unnötig viele Ressourcen einzubinden und Javascript- sowie CSS-Dateien komprimiert auszuliefern.

Bei vielen externen Ressourcen, die üblicherweise auf Webseiten eingebunden werden, handelt es sich um Code oder Daten unter freien Lizenzen, aus rechtlicher Sicht ist das Selbsthosten daher in vielen Fällen kein Problem. Jquery beispielsweise steht unter der freien MIT-Lizenz. Auch die häufig von Webseiten eingebundenen Google Fonts stehen alle unter freien Lizenzen und können damit legal selbst gehostet werden.

Aus Sicherheits- und Datenschutzgründen hat es ebenfalls Vorteile. So kann beispielsweise eine Kompromittierung der Hosts von Webressourcen dazu führen, dass Webseiten angegriffen werden. Auch vermeidet man dadurch das Übertragen von Daten über den Webseitenbesuch an Dritte.

Bitte aktivieren Sie Javascript.
Oder nutzen Sie das Golem-pur-Angebot
und lesen Golem.de
  • ohne Werbung
  • mit ausgeschaltetem Javascript
  • mit RSS-Volltext-Feed


Aktuell auf der Startseite von Golem.de
Neues Betriebssystem von Microsoft
Wir probieren Windows 11 aus

Windows 11 ist bereits im Umlauf. Wir haben die Vorabversion ausprobiert und ein schickes OS durchstöbert. Im Kern ist es aber Windows 10.
Ein Hands-on von Oliver Nickel

Neues Betriebssystem von Microsoft: Wir probieren Windows 11 aus
Artikel
  1. Niedrige Inzidenzen: Homeoffice-Pflicht soll am 30. Juni enden
    Niedrige Inzidenzen
    Homeoffice-Pflicht soll am 30. Juni enden

    Die allgemeine Pflicht zum Homeoffice soll Ende des Monats fallen. Coronatests sollen aber weiterhin in Betrieben angeboten werden.

  2. Nach Juni 2022: Europäische Union will freies Roaming verlängern
    Nach Juni 2022
    Europäische Union will freies Roaming verlängern

    Die Regelung vom Juni 2017 soll verlängert und verbessert werden. Ein Ende von 'Roam like at home' wäre undenkbar.

  3. Websicherheit: Wie KenFM von Anonymous gehackt wurde
    Websicherheit
    Wie KenFM von Anonymous gehackt wurde

    Die Webseite AnonLeaks berichtet, wie das Defacement von KenFM ablief: durch abrufbare Backupdaten und das Wordpress-Plugin Duplicator Pro.
    Von Hanno Böck

Kasselbarth 10. Nov 2019

Lol, ich sag besser nix mehr

twothe 10. Nov 2019

JS hat gegenüber PHP für gerade solche Aufgaben erhebliche Vorteile. Ist die Seite...

FreiGeistler 08. Nov 2019

Davon wird ja nicht einfach so generell abgeraten, sondern weil es sehr unzuverlässig ist.

FreiGeistler 07. Nov 2019

Überhaupt nicht. Es verbleiben mit Decentraleyes einfach jquery & co, die von vielen...

mifritscher 06. Nov 2019

Dann baut man halt was rein, dass die Seite bricht, wenn das Einbinden nicht...


Folgen Sie uns
       


Du willst dich mit Golem.de beruflich verändern oder weiterbilden?
Zum Stellenmarkt
Zur Akademie
Zum Coaching
  • Schnäppchen, Rabatte und Top-Angebote
    Die besten Deals des Tages
    Schnäppchen • Dualsense Midnight Black + Ratchet & Clank Rift Apart 99,99€ • Saturn Super Sale (u. a. Samsung 65" QLED (2021) 1.294€) • MSI 27" FHD 144Hz 269€ • Razer Naga Pro Gaming-Maus 119,99€ • Apple iPad Pro 12,9" 256GB 909€ [Werbung]
    •  /