Revision 452: CORS, CORP, (C)ORB, COOP und COEP

Published: Nov. 24, 2020, 7 a.m.

b'Wie Ihr Euch erinnert, hatten wir in Revision 447 Frederik Braun von Mozilla zu\\nGast, mit dem wir \\xfcber den Themenblock \\u201eCross-Site-Scripting\\u201c gesprochen haben.\\nWir hatten damals noch einen zweiten Themenblock auf der Agenda, n\\xe4mlich \\u201eSite\\nIsolation\\u201c, zu dem wir aus Zeitgr\\xfcnden nicht mehr kamen und den wir auf eine\\nzuk\\xfcnftige Folge vertagt haben. Hier kommt sie!\\n\\n\\nUNSER SPONSOR\\n\\nKennst Du das Gef\\xfchl\\u2026 die Projektleitung ben\\xf6tigt dringend die Stunden f\\xfcr das\\nProjekt r\\xfcckgemeldet, Du hattest aber w\\xe4hrend der Arbeit am Projekt keine Zeit\\ndiese zu notieren? Nun musst Du m\\xfchsam alles zusammensuchen um die Stunden zu\\nerfassen? timr unterst\\xfctzt Dich und Dein Team dabei Eure Zeit mit minimalem\\nAufwand zu erfassen. Am Ende des Tages ist alles erfasst. Die Projektleitung\\nfreut sich weil sie t\\xe4glich einen \\xdcberblick hat. Sie kann damit nicht nur\\nreagieren, sondern agieren. Neben der Projektzeiterfassung k\\xf6nnt Ihr sogar Eure\\nArbeitszeit erfassen, inkl. Urlaubsantr\\xe4ge.\\n\\nTeste timr 14 Tage kostenlos und hol Dir 10% Rabatt auf Deinen ersten Kauf unter\\ntimr.com/workingdraft.\\n\\n\\nSCHAUNOTIZEN\\n\\n[00:01:46] CORS, CORP, (C)ORB, COOP UND COEP\\n\\nZur Einf\\xfchrung gehen wir auf eine Angriffsmethode namens \\u201eSpectre\\u201c und das\\nKonzept der Site-Isolation ein, um das Problem zu verstehen, f\\xfcr das wir im\\nFolgenden die L\\xf6sungen er\\xf6rtern wollen. Au\\xdferdem rufen wir uns ins Ged\\xe4chtnis,\\nwie die \\u201eSame Origin Policy\\u201c in den Browsern greift und wie man seit einigen\\nJahren per \\u201eCross Origin Resource Sharing\\u201c (CORS) darauf einwirken kann. Und wir\\nkl\\xe4ren den Unterschied zwischen \\u201eSame Site\\u201c und \\u201eSame Origin\\u201c. Damit haben wir\\ndie Grundlagen gelegt, um einigerma\\xdfen neue, fest eingebaute Mechanismen wie\\n(Cross) Origin Request Blocking (Video) ((C)ORB) zu Verstehen, aber vor allem\\nauch, was es mit dem neuen \\u201eCross-Origin Resource Policy\\u201c (CORP) Header auf sich\\nhat. Um es kurz zu machen: W\\xe4hrend CORS dem Browser \\xfcber Origin-Grenzen hinweg\\nZugriff auf per JavaScript weiterbearbeitete Ressourcen gew\\xe4hrt, verhindert\\nentsprechend gesetztes CORP die passive Anzeige von von fremden Urspr\\xfcngen\\nstammender, aber \\xfcblicherweise zul\\xe4ssiger Bausteinen wie etwa Bilder. Danach\\ner\\xf6rtern wir, was es mit einer Gruppe Sicherheitsl\\xfccken namens \\u201exsleaks\\u201c auf\\nsich hat, um zu verstehen, wie zwei weitere neue HTTP Header namens\\n\\u201eCross-Origin-Opener-Policy\\u201c (COOP) und \\u201eCross-Origin-Embedder-Policy\\u201c (COEP) da\\nhineinspielen. Weil diese ganzen Sicherheitsma\\xdfnahmen die Funktionsweise der\\nSeite stark beeinflussen, ist es ratsam, vor einem Scharfschalten von der\\nReporting API, respektive dem Report-to-Header Gebrauch zu machen (und Probleme\\nzum Beispiel an sentry.io senden zu lassen). Ob wir am Ende alles richtig\\ngemacht haben und unsere Seite erfolgreich abschotten konnten, k\\xf6nnen wir im\\nBrowser auf der globalen Property window.crossOriginIsolated /\\nself.crossOriginIsolated abfragen. Als Belohnung f\\xfcr unsere M\\xfchen er\\xf6ffnet uns\\nder Browser Zugang zu Features wie eine hohe Genauigkeit des\\nDOMHighResTimeStamps, SharedArrayBuffers oder performance.measureMemory().'