News PKI-Neuerungen, Tor-Umbau und React2Shell
Shownotes
Jetzt hat's Sylvester erwischt und er ist erkältet - was ihn aber nicht davon abhält, in der neuen Folge von "Passwort" ausgiebig mit Christopher zu allerlei Security-Themen zu sprechen. Zunächst thematisieren die beiden mit etwas Humor ein Kuriosum, nämlich eine nicht hinlänglich verschlüsselnde Toilettenschüsselkamera zur Darmkrebs-Früherkennung. Dann erläutert Sylvester, was es mit der Sicherheitslücke "React2Shell" auf sich hat, die in den vergangenen Tagen für reichlich Furore sorgte und Hunderttausende Domains weltweit betrifft. Christopher hat dieses Mal gleich fünf PKI-Themen im Gepäck, zu denen Sylvester kurzerhand noch ein sechstes beisteuert und auch den Umbau von Tor mittels "Counter-Galois Onion" hat der c't-Redakteur sich angeschaut. Der Podcast verabschiedet sich mit dieser Folge in eine dreiwöchige Weihnachtspause - wer will, kann die Aufzeichnung der nächsten Folge live auf dem 39C3 miterleben.
Folgt uns im Fediverse:
Mitglieder unserer Security Community auf heise security PRO hören alle Folgen bereits zwei Tage früher. Mehr Infos: https://pro.heise.de/passwort
Transkript anzeigen
00:00:00:
00:00:02: Passwort,
00:00:03: der Heises Security
00:00:04: Podcast.
00:00:08: Hallo, liebe Hörerinnen und Hörer.
00:00:10: Wir kommen zu einer neuen Folge von Passwort, dem Podcast von Heises Security.
00:00:15: Ich bin Christopher Kunz von Heises Security.
00:00:18: Und mein Name ist Celeste Treppel vom Computer-Bagazin CT.
00:00:20: Ich weiß nicht, ob ihr es vielleicht hören könnt.
00:00:23: Wir haben ein bisschen die Rollen getauscht.
00:00:24: Letzte Woche war Christopher ziemlich krank.
00:00:27: Der ist langsam über den Berg.
00:00:28: Diesmal bin ich ziemlich verschnupft.
00:00:31: Aber wir versuchen es trotzdem.
00:00:33: Weil es auch einfach viel zu viel zu erzählen gibt.
00:00:36: Noch mal kleine Entschuldigung, wir sind immer noch nicht nennenswert weitergekommen, euer Feedback aufzuarbeiten.
00:00:42: Wie gesagt, der Weihnachtsendstress und das ständige Kränkeln macht es nicht einfacher.
00:00:48: Aber nichts kommt weg und wir schauen uns das alles noch an und antworten und ziehen es in den Podcast je nachdem.
00:00:55: So viel dazu.
00:00:57: Ansonsten würde ich sagen, wir steigen direkt ein.
00:00:58: Wir haben nämlich eine lange Liste von News.
00:01:01: Es ist überraschend viel passiert.
00:01:03: Und ich glaube, wir fangen mit einem kleinen Schmankerl an.
00:01:07: Christopher hat nämlich ein echtes What the fuck raus sortiert.
00:01:10: Ich kann schon jetzt nicht mehr.
00:01:11: Ich weiß nicht, ob das die erste, vielleicht auch letzte Podcastfolge ist, wo ich wegen einem Lachanfall die Aufnahme kurz unterbrechen muss.
00:01:18: Normalerweise ist es ja eigentlich eher zum Heulen, was wir hier erzählen.
00:01:21: Aber hier, das ist schon ein Schmankerl.
00:01:24: Da habe ich auch kurz nachgedacht, ob ich das in unserer Kategorie Lost and Found oder WTF im Hals in Newsticker bringe.
00:01:32: Es geht um ein Kryptografieproblem und eine falsche Auszeichnung eines Produkts, das nämlich Ende zu Ende Verschlüsselung verspricht, die aber nicht einhält.
00:01:43: Und da kam ein Artikel von TechCrunch in meine Leseliste, der folgendermaßen in der Headline lautete.
00:01:51: end-to-end encrypted smart toilet camera is not actually end-to-end encrypted.
00:01:58: Und da stellten sich mir schon so ein kleines bisschen die Dackgahre auf, da musste ich da drauf klicken und es stellte sich heraus, ich hatte da nach dem Artikel des, dass wir lesen des Artikels sehr, sehr viele Fragen und die vordringlichste war what the actual fuck.
00:02:12: Es kommen gleich sehr, sehr viele Wortspiele, die bieten sich an, das muss ich alles abräumen.
00:02:17: Tut mir leid, wenn das so Dead Jokes sind.
00:02:18: Liebe Hörer, ihr könnt dann sonst ein bisschen weiterspulen.
00:02:20: Ich glaube, es wird nicht viel länger dauern als fünf bis sechs Minuten.
00:02:24: Es gibt also ein Produkt von einem amerikanischen, glaube ich, Hersteller, der das der folgendermaßen ist.
00:02:30: Das ist eine Kamera, in die hängst du mit so einem, ja, so ein Einhängeding, wo auch, glaube ich, der Akku drin ist und ein bisschen Elektronik in deine Toilettenschüssel.
00:02:44: Ja, also so weit so normal, oder?
00:02:49: Da bin ich schon ein bisschen raus.
00:02:50: Also grundsätzlich, wir sind ja beide, oder wir kommen beide irgendwann in ein Alter, wo das Thema Darmkrebsvorsage relevanter wird.
00:02:58: Und das sollte auch keiner für irgendwelche Späßchen nutzen, aber das hier ist schon sehr hart an realiser Tiere.
00:03:04: Also die Darngesundheit ernst zu nehmen, ist eine gute Sache, aber das hier, also da, ich kann das alles nicht.
00:03:11: Die haben, weil dieses Produkt, das ist auch schon so porzellarmartig designed, aber es ist eben von Anfang an im ersten Produktdesignentwurf komplett unschittified, unschittification zum Designprinzip erhoben sozusagen, im allerbesten und wahrsten Wortsinn.
00:03:28: Denn diese Kamera, die macht dann, ich habe keine Ahnung, aufgrund welcher Kriterien Fotos von dem Inhalt der Toilette.
00:03:39: Ich weiß nicht, ob die dann... Also diese AI-Brauert, natürlich alles ist AI-Brauert, was wir inzwischen kaufen, auch die Toilettenkameras.
00:03:45: Und ich nehme an, dass sie dann die ganze Zeit das Objektiv offen hat oder ein Bewegungssensor hat und dann AI-Brauert ein Foto macht, wenn du die Spülung betätigst oder so.
00:03:54: Ihr könnt das nicht sehen, aber im Western kann das alles.
00:03:57: Ich breche gerade ab, ne?
00:03:58: Normalerweise rate ich ja Leuten irgendwie zu Produkten greifen, die halt den KI-Schmarrn vielleicht nicht drin haben.
00:04:05: Aber ich weiß, ich glaube, ich will nicht dazu raten, nicht zu dieser Produktkategorie zu greifen.
00:04:10: Warte, es kommt, wir kommen da gleich dazu.
00:04:13: Also, die macht auf jeden Fall ein Foto und das Foto schickt sie an den Hersteller und der analysiert das vermutlich auf dieses, als occultes Blutbezeichnete, dass da halt Blut im Stuhl hast und das ist ja immer ein sehr deutlicher Hinweis darauf, dass da was sehr nicht in Ordnung ist.
00:04:32: Und das wird natürlich mit... was man heutzutage einnimmt, was früher Bild ja keine genannt wurde, analysiert.
00:04:38: So, der Aufhänger des Artikels war, dass ein Sicherheitsforscher sich dieses Produkt angeguckt hat, warum auch immer und dann rausgefunden hat, Moment mal, die schreiben da Intuent Encryption, aber das ist gar keine Intuent Encryption, weil... dass es eigentlich allerhöchstens irgendwie sowas wie encryption addressed, weil unterwegs werden die Daten einfach per TLS, also transportverschlüssel übertragen.
00:05:01: Und dann hat der Hersteller darauf geantwortet, ich weiß nicht mehr ganz genau, ob diesen Sicherheitsforscher oder TechCrunch und dann so geschwurbelt, so von wegen Ja.
00:05:10: Wir dachten, das kann man so schreiben, wenn man meint, dass die Daten beim Nutzer verschlüsselt sind und dann auch wieder bei uns und dann ist das ja irgendwie Ende zu Ende.
00:05:21: Am Ende haben sie diese Erwähnung von Ent to Ent encryption von der Produktseite entfernt.
00:05:26: Natürlich ist es trotzdem immer noch total sicher und Privacy und was nicht alle.
00:05:30: Was die Privacy vielleicht ein ganz kleines bisschen einschränkt, ist die Tatsache, dass sie halt mit diesen Fotos das modell trainieren das die fotos erkennt.
00:05:39: also, die toilettenschüssel fotos ihrer kunden werden dann genutzt um die kaid zu trainieren.
00:05:45: und ich stelle mir gerade vor wie dieses team aufgestellt ist das dann halt irgendwie die trainingsdaten evaluiert und guckt ob wie false positives false negatives drin sind das ist alles.
00:05:59: der Grenze der Bilderkennung, wo ich mir denke, puh, da wird es wirklich schwierig, einfach auch ein scheiß Job, der musste jetzt sein.
00:06:11: Diese Daten, diese Fotos, die Trainingsdaten, die sind dann aber irgendwie pseudonymisiert oder anonymisiert, das geht da so nicht darum, dann nochmal deinen Namen zuzuordnen, von wem der Toiletteninhalt stammt, aber die trainieren also auch eine KI mit diesen Dingen.
00:06:29: Wer der jetzt Bock drauf bekommen hat, weil er sagt, das ist ein Produkt, das gefällt mir, das kostet sechshundert Dollar, das Ding.
00:06:34: Und du hast ein verpflichtendes Abo für mindestens sieben Dollar pro Monat dazu gewonnen.
00:06:38: Also ist auch schon so eine kleine Netflix-Basis-Mitgliedschaft, die dann buchstäblich das Klo runtergespült wird.
00:06:44: Und ja, so kann man aus Scheißfotos Geld machen.
00:06:49: Jede Stockfoto-Datenbank merkt jetzt auf für ein neues Geschäftsmodell.
00:06:54: Wahnsinn.
00:06:55: Also, wie du sagst, die Thematik ist natürlich eigentlich eine ernste.
00:07:00: Und wenn du irgendwie Bedenken habt, dann geht zu einem Prokdolon, die das beurteilen können.
00:07:08: Das kostet auch weniger als sechshundert Dollar und ist dann vermutlich auch ein sehr viel fundiertes Urteil.
00:07:16: Keine Ahnung.
00:07:17: Also wer kommt denn auf die Idee?
00:07:20: Also ich weiß es nicht.
00:07:20: Es gibt offensichtlich einfach Leute, die haben ein ganz anderes Verständnis von Privacy als ich.
00:07:25: Es gibt ja mal Leute, die hängen sich freiwillig, eine ans Internet angewundene, mit KI hochgezüchtete Kamera in die Toilette.
00:07:33: Was soll man dazu noch sagen?
00:07:34: Aus der Last das.
00:07:36: Also ich könnte mir gut vorstellen, dass es tatsächlich so bei Risikogruppen, die vielleicht schon eine Vorerkrankung haben, sowas wie Mobuskron oder so, dass das dann auch eine Sache ist, wo dann vielleicht eine Krankenkasse dir sowas verschreibt, aber das wirklich als Konsumaprodukt zu sehen, das war schon sehr befremd.
00:07:53: Aber gut.
00:07:55: Jeden Tag findet eine neue lustige Erfindung.
00:07:59: Also, was halt vielleicht sagen, man da als allgemeines Ding rausziehen kann, ist, weil dieser Schabanag, wir nennen irgendwas Ende zu Ende Verschlüsselung, was gar nicht Ende zu Ende Verschlüsselung ist, das gibt es ja auch bei anderen Produkten.
00:08:14: Also in diesem konkreten Fall, das zu ist halt wichtig.
00:08:16: Also es geht nicht darum, dass es am einen endet verschlüsselt ist und am anderen hält er auch wieder und dazwischen halt nicht.
00:08:22: Sondern, dass die Verschlüsselung von dem einen Endpunkt bis zum anderen durchgezogen wird.
00:08:28: Und hier wäre es ja auch, also wenn der da KI auf diese Bilder anwenden will, dann müsste er ja einen enormen Aufwand treiben, um wirklich eine Ende zu Ende verschlüsselt.
00:08:39: Und jetzt müsste er sozusagen auf den verschlüsselten Datenbilderkennung machen.
00:08:42: Das geht, haben wir ja auch schon mal drüber geredet gehabt.
00:08:45: Apple hat ja mit so einer Humorverschlüsselung was hochgezogen, aber es ist halt hochkomplex.
00:08:50: Und das wundert mich überhaupt nicht, dass halt irgendeine komische Firma mit ihrer Toilettenkamera das natürlich nicht so macht.
00:08:56: Insofern seid skeptisch, wenn irgendjemand von Ende zu Ende Verschlüsselung redet und aber gleichzeitig mit den angeblich verschlüsselten Daten arbeitet.
00:09:03: Das ist entweder sehr komplex oder halt gelogen.
00:09:07: Vor allem bin ich jetzt kein grafischer Informatiker, aber ich könnte mir vorstellen, dass dieser spezielle Anwendungsfall auch erheblich schwerer in der Bilderkennung zu erkennen ist, weil du eben nicht einfach große hautfarbene Flecken erkennen musst.
00:09:18: Das waren ja die andere Sorte ekliger Bilder, mit denen wir es zu tun hatten in der Folge damals.
00:09:23: Da ging es ja um diese Ziesenerkennung bei irgendwie Apple im iCloud Fotos.
00:09:29: Und das ist einfach, da sind viele Sachen wahrscheinlich einfacher zu erkennen und damit wird auch die... Computational Task irgendwie einfacher.
00:09:37: Nee, ich glaube, jetzt verwechselst du was.
00:09:39: Oder ich verwechsel, was wir im Podcast hatten oder nicht hatten.
00:09:41: Also CSAM, da war ja, zumindest Apples herangehensweise, die Sachen lokal zu analysieren.
00:09:49: Wo von ich gerade geredet hab, ist die Erkennung, die Apple vornimmt, um so auf dem iPhone oder in der Bilder machst und so irgendwie zu sagen, hey, im Hintergrund ist irgendwie folgende Sehenswürdigkeit, die kann ich markieren und so.
00:09:58: Das machen sie jetzt, sei das ein Herbst, mit Traumomorferverschlüsselung und so.
00:10:03: Und ich dachte, wir hätten es auch im Podcast.
00:10:06: Aber wenn nicht...
00:10:07: Wir hatten
00:10:08: mehrere
00:10:08: Beispiele damals in der Folge.
00:10:09: Wir hatten auch diesen Microsoft-Ansatz.
00:10:12: Also es ging auf jeden Fall ja auch in der Chat-Kontrolle-Folge um diese ganzen Ansätze irgendwie.
00:10:21: Wie finde ich halt problematische Inhalte möglichst ohne reinzugucken, um nicht selber strafbar zu machen?
00:10:27: Und da kam das also zumindest meiner Meinung nach auch aus.
00:10:29: Aber wir hören uns einfach als Hausaufgabe beide Folgen noch mal an.
00:10:32: Oder ihr als Hörer, ihr macht das, ihr findet die Folgenübersicht in eurer Lieblingsplattform oder auf Passwort.prodigy.io.
00:10:42: So, jetzt habe ich aber genug von der Straße.
00:10:44: Verzeiht euren Host, die irgendwie beide so drauf sind, dass sie selber nicht mehr wissen, wann sie wogeleber was geredet haben.
00:10:50: Ey, das sind ja her.
00:10:52: Ja, ich bin froh, dass ich weiß, was heute Morgen passiert ist.
00:10:55: Genau, wir kommen zu was anderem, das sehr viel ernst ist, als dumme Toilettenkameras.
00:11:00: nicht unbedingt ernster als Darmkrebs, aber zumindest sehr viel IT näher und zwar React to Shell, habt ihr vielleicht schon gehört gehabt.
00:11:09: Ich fasse sozusagen kurz zusammen und war ein... Wirklich oder ist ein wirklich bitteres Supply Chain Problem.
00:11:16: Es geht letztendlich um unauthenticated Remote Code Execution.
00:11:19: Also man kann halt irgendwie auf dem Server Code ausführen, ohne sich auch nur anmelden zu müssen.
00:11:25: Hat ein CVSS-Score von zehn out of ten.
00:11:29: Oh mein Gott, also zehn von zehn.
00:11:32: Und es steckt in React, diesen wirklich sehr verbreiteten Frontend Framework und genau genommen in den React Server Functions.
00:11:41: slash React Server Components, die jetzt interessanterweise was ist, was ein bisschen von dieser Frontendgeschichte weggeht.
00:11:47: Man kann mir diesen React Server Functions-Dinge auf dem Server berechnen lassen.
00:11:54: Also was es noch fieser macht, ist, dass man die React Server Functions nicht mal hernehmen muss, um davon betroffen zu sein.
00:12:01: Man muss nur eine React App gebaut haben, die diese React Server Components unterstützt.
00:12:07: Betroffen davon waren halt drei so React Server DOM-Pakete.
00:12:11: Ich wär so um zero bis neunzehn zwei.
00:12:16: Und das Bittere ist halt das natürlich, also React ist ja ein Framework und da bauen dann andere Sachen drauf auf.
00:12:24: Da baut man selber was damit.
00:12:25: Oh, das gibt halt auch diverse Frameworks und Wandlers und so, die halt selber wiederum React einbetten.
00:12:30: Also unter anderem halt Next.js, React Router, Vaku, VJS, Parcel.
00:12:37: Also da gab's eine Reihe von von selber wieder Frameworks, die dann davon betroffen waren und dann gab's eben entsprechend viele Apps, die oder gibt es entsprechend viele Apps, die halt reakt selber oder eins von diesen betroffenen Frameworks oder so irgendwo einsetzen.
00:12:52: Und damit halt auch davon betroffen sind.
00:12:55: Wir waren, beziehungsweise Christopher war so ein bisschen auf der Suche nach dem einen irgendwie dicken Fisch, den man jetzt mal wenigstens vorzeigen kann und zu sagen so groß war er.
00:13:05: Wir reden nachher noch ein bisschen darüber, wie viele da eigentlich betroffen waren, aber wir haben jetzt nicht so dieses eine Projekt gefunden, das irgendwie ein gutes Beispiel wäre, was glaube ich einfach daran liegt, dass so viele davon betroffen waren.
00:13:15: Also insgesamt schon maximal unangenehm in so einem superverbreiteten Framework, so eine unauthenticated Remote Code Execution drin zu haben, in der Funktion, die man nicht mal bewusst einsetzen muss als Nutzer dieses Frameworks, das schon... das schon höchst unangenehm.
00:13:34: Ich habe jetzt irgendwie so ein bisschen überlegt, wie wir das hier präsentieren und verzeiht mir, wenn irgendwie mein verstupftes Hirn da auf falsche Dinge gekommen ist.
00:13:43: Also ich habe einen proof-of-concept gefunden, den ich für sozusagen Valide halte, der sieht so aus, als ob der das prüft, wir kommen gleich dazu, warum das nicht so selbstverständlich ist.
00:13:55: Den verlinken wir auch, ich würde vorschlagen, er schaut euch das an, da ist auch so eine kleine Erklärung dabei.
00:14:01: Das ist ein bisschen schwierig, weil halt auch, muss man schon sagen, recht viel zusammenkommt.
00:14:06: Grob gesagt, letztendlich sind diese Server Functions so eine Art Remote Procedure Call.
00:14:09: Also da kann der Client, also wo halt direkt im Client läuft, irgendwelche, den Server Beauftragungen was zu berechnen, dafür kann der Input-Daten an den Server halt hinschicken und der Server, die sie realisiert ist, da an und luft halt irgendwelche Server Funktionen damit auf.
00:14:23: Und das letztendliche Problem ist, also wie immer, diese Realisierung aller am Stufe rot, ne?
00:14:29: Und das letztendliche Problem ist, dass wenn der Server diesen String bekommt, aus dem man dann ja, was gibt, Objekte baut und da halt sozusagen in diesen Objekten dann Eigenschaften anlegt, so wie sie halt in diesem serialisierten String drinstehen, überschreibt er oder schreibt er alle möglichen Eigenschaften, nicht nur Eigenschaften, die sozusagen an dem Objekt selber hängen.
00:14:52: Und das hat eine Reihe von Effekten, der exploit kann.
00:14:55: Dabei z.B.
00:14:56: ein Statusfeld setzen, das diese Realisierer durcheinander bringen.
00:15:00: Also der hängt an diese Objekte, die er gerade baut, so ein Statusfeld dran, um zu gucken, okay, habe ich das schon fertig gebaut oder nicht.
00:15:05: Das kann halt so verschiedene Statue haben.
00:15:08: Status haben.
00:15:10: Das ist doch verdickt anerkennend.
00:15:15: Und dadurch, dass man sozusagen der String selber dieses Feld auch setzen kann, kriegt man halt diese Realisierungsroutide durcheinander.
00:15:25: Man kann dann auch, ja was gibt es da, so eine sehr unkonventionelle Art Vererbung zu realisieren über diese Prototypen, das heißt jedes Objekt hat so eine Prototypenkette, die auf ein Prototypenobjekt von diesem Objekt verweist und dieses Prototypenobjekt kann dann auch wieder und so weiter.
00:15:42: Da kann man sich eben auch entlang hangeln, oder man kann die Serialisierer dazu bringen, sich dazu entlang zu hangeln.
00:15:49: und sich dadurch Funktionalität in den Kontext holen, die da eigentlich gar nicht sein sollte.
00:15:52: Man kann sich die an den Konstruktorenreferenzen entlanghangeln.
00:15:56: Und das hat halt alles dieser Exploit sehr geschickt, oder das muss man in einem Exploit alles sehr geschickt miteinander kombinieren, um halt diesen deserialisierer Theat aus dem Trip zu kriegen, dass man letztendlich einfach beliebigen Kot ausführen kann.
00:16:11: Das ist auch der eigentliche Fix.
00:16:13: Also, was sozusagen die Lücke schließt, ist dann eine recht einfache Prüfung, das gibt es in Java, es gibt so eine Methode, die heißt hasownproperty und die sagt ihr halt genau, ist es hier eine Eigenschaft, die an diesem Objekt hängt?
00:16:25: oder ist es eine Eigenschaft, die irgendwie über die Prototypenkette oder so runter rutscht, ne?
00:16:29: Und genau das haben sie halt vorher nicht gemacht, genau das machen sie jetzt, bevor die Serialisierer da halt so eine Eigenschaft schreibt, guck, der erst mal.
00:16:36: ist es überhaupt eine Eigenschaft, die an diesem Objekt hängt?
00:16:38: und wenn nicht, dann schreibe ich sie nicht.
00:16:42: Es, ich... Also wenn ihr ein bisschen Ahnung von Javascript habt oder so, dann würde ich euch schon raten, schaut euch diesen Proof-of-Konzept mal an.
00:16:48: Das ist wirklich schon sehr geschickt, also hat auch eine Weile gedauert, für mich nachzuvollziehen, wie genau der da eigentlich was macht.
00:16:54: Obwohl eine kleine Beschreibung dran hängt.
00:16:57: Weil es schon sehr geschickt ist, wie der sozusagen den Servercode von React navigiert, um diesen Deserialisierer halt nicht nur aus dem Tritt zu bringen, sondern genau so aus dem Tritt zu bringen, dass am Ende da halt eine Remote Code Execution rausfällt.
00:17:09: Was ja auch sehr, sehr, sehr nice ist.
00:17:13: Es gibt in Javascript so was Promises, das sind letztendlich, es ist eine Möglichkeit, synchronische Berechnungen anzustellen.
00:17:22: Es wird jetzt alles ein bisschen weit, aber da gibt es halt solche Wennfunktionen und auch das ist, wie alles in Javascript sind, irgendwie Properties, die in so einem Projekt hängen und auch das kann man halt den deserialisieren, überschreiben lassen und das ist sozusagen auch das, was letztendlich zur Ausführung dann beiträgt, weil wenn so ein Promise aufgelöst wird, dann wird halt alles gehe.
00:17:41: Also die Send-Funktion wird sozusagen aufgerufen, wenn so ein Promise aufzulösen ist.
00:17:45: Okay, führt zu weit,
00:17:47: haben sie... Nein, erzähl uns mehr.
00:17:49: Was ist denn mit den Promises?
00:17:50: Du hast ja viel versprochen jetzt.
00:17:53: Ich gucke, der mich gerade verwirrt in unsere Notiz und denke, wo ist der Band denn eigentlich gerade?
00:17:59: Ja, Promises steht da gar nicht drin.
00:18:00: Ich bin da bei der Klammer.
00:18:01: Deswegen habe ich noch Klammern gesetzt, wo diese Vents zu überschreiben ist auch fies.
00:18:05: Das ist was in unseren... Naja, worauf ich raus will, auch das haben sie gefixt.
00:18:11: Also, sie haben eine ganze Reihe von Sachen gefixt, die sozusagen diese, die Serialisierer ermöglicht hat.
00:18:17: Das eigentliche Problem war, dass er dieses House on Property nicht geprüft hat, das alleine behebt sozusagen die aktuelle Lücke.
00:18:25: Aber da waren halt auch viele andere Dinge, viel Flexibilität in diesem Deserialisierer, die man eigentlich gar nicht haben will, die man eigentlich gar nicht braucht, und die sie dann immer auch rausgeschmissen haben.
00:18:33: Unter anderem eben, dass ich die Then-Property überschreiben kann, um da sozusagen das Server dazu zu bringen, meinen Schmarrn, den ich hier gerade platzieren konnte, auch auszuführen.
00:18:43: Also bei, die man eigentlich nicht braucht, muss ich dann aber angesichts unserer Notizen ein bisschen widersprechen.
00:18:48: Denn es gibt doch Leute, die die Flexibilität und manche der Features, die jetzt nicht mehr da sind, vorher gebraucht haben.
00:18:54: oder
00:18:56: zu bittes hergenommen haben.
00:18:59: Also kommen wir gleich dazu.
00:19:05: WIT ist ja eins von den betroffenen Frameworks, die selbst so ein WIT-Kamera mit React kombinieren und dann machen die halt Sachen mit React und so.
00:19:12: Und die haben genau diese Flexibilität, die jetzt auch diese exploit genutzt hat, selber auch genutzt.
00:19:18: Das heißt, die haben natürlich einerseits erst mal Erekt geupdatet, um diese Lücke aus der Wetter zu schaffen, haben dann aber auch ihr eigenes Zeug irgendwie umbauen müssen, weil eben diese Tricks, die sie selber hergenommen haben, wesentlich die gleichen Tricks waren und die haben halt nicht mehr funktioniert.
00:19:33: Sie haben das aber umbauen können.
00:19:35: Also ich würde schon dabei bleiben, dass dieser deserialisierer der Lexibilität geboten hat, die man eigentlich nicht braucht, die auch Wied scheinbar eigentlich nicht brauchte, aber sie war halt da, also haben sie sie hergenommen und sie haben es umbauen können.
00:19:48: als es nicht mehr da war.
00:19:50: Es hat mich so ein bisschen erinnert, tun wir es auch in die Show-Nots an dieses XKCD-Comic, ich weiß nicht, ob ihr das kennt, aber es gibt praktisch keinen Bug, der nicht irgendwie bei jemand anderem Teil des Workflows ist.
00:20:03: Ich verrate das Comic nicht, wenn ihr es nicht kennt, klickt drauf und schaut euch das an.
00:20:08: Die ganze Geschichte riecht für mich, jetzt kriege ich wahrscheinlich total böse Lesermäse, aber ich meine das überhaupt nicht bös.
00:20:16: Es riecht für mich nach ohne Javascript, wer das nicht passiert.
00:20:20: Und damit meine ich, dass Javascript eine wahnsinnig dynamische Sprache ist, die wirklich alles mögliche und auch Dinge, an die man nicht gedacht hat, halt ermöglicht.
00:20:31: Die ist auch dynamisch gewachsen.
00:20:33: Das heißt, da ist halt auch ein Haufen Zeug drin, was man eigentlich gar nicht mehr haben will, wofür es mittlerweile bessere Lösungen gibt.
00:20:38: Also zum Beispiel nutzt diese proof of concept auch die underscore underscore proto underscore underscore.
00:20:44: Property, die Zugriff auf den Prototypen-Objekt gibt, das soll man eigentlich nicht mehr machen aus einer Reihe von Gründen, aber es war halt früher mal verbreitet und deswegen hängt es immer noch drin und es ist deprecated, aber halt noch da und pipa abholt.
00:20:58: Also dieses ganze Prototypen-Vererbungssystem ist halt auch was, was unglaublich flexibel ist und das ist alles toll, aber wenn man darauf dann halt Also in dieser Sprache, dann in dieser Realisierer macht und da irgendwie nicht ganz genau schaut, dass der irgendwie sauber einhegt, was hier geht und was nicht geht, dann baut man sich halt eine große Angriffsfläche.
00:21:18: Und hier hat es jemand geschafft, die sehr geschickt auszunutzen, oder, je mehr jemand es aufgefallen, dass man sehr geschickt auszunutzen kann.
00:21:26: Ich muss sagen, ich habe auf Hecker News auch gelesen, dass es sozusagen nicht nur ohne Ja, was gibt, wer das nicht passiert, sondern irgendwie, ich parapasier mal, wenn... Wenn React sich eingestanden hätte, dass sie da letztendlich Remote Procedure Calls bauen und das ordentlich gemacht hätten, dann wird das auch nicht passiert.
00:21:42: Also die Aussage war sozusagen, dass diese React Server Functions viel zu flexibel angelegt sind.
00:21:47: selber und ihnen das jetzt auf die Füße gefallen ist.
00:21:50: Scheint mir nicht unplausibel, kann ich aber ehrlich gesagt nicht fundiert einschätzen, weil ich zu wenig Ahnung von React hab.
00:21:59: Aber die sind schon auch sehr flexibel angelegt und Sie sind auch, wenn ich es richtig verstanden habe, immer noch experimentell markiert, was halt auch so eine Mode ist, die ich überhaupt nicht haben kann, dass Sachen, die halt total breit, produktiv im Einsatz sind, formal irgendwie experimentell sind, also entweder oder.
00:22:19: Naja.
00:22:19: Andererseits muss man sagen, Desialisierung ist halt schwierig.
00:22:24: Immer.
00:22:24: Und wahrscheinlich könnte man irgendwie die Hälfte aller Bugs und wahrscheinlich auch die Hälfte aller Features abräumen, wenn man einfach sagen würde, Desialisierung ist halt nicht mehr.
00:22:33: Geht nicht ohne, aber es ist halt eine städte Quelle von unangenehmen Fehlern.
00:22:39: Ich wollte noch auf einen Aspekt eingehen, beim Bug Fixing sozusagen, das war ganz interessant, die haben halt, so Reaktion Open Source Projekt, dann haben sie das übliche Problem, wenn sie jetzt irgendwie dran schreiben, wir bauen jetzt hier dieses House on Property ein, weil das fixet irgendwie eine CVSS, zehn von zehn Lücke, dann wissen halt sofort alle, was los ist.
00:23:01: Sie haben die Sache gepatched in einem unglaublich in einem ziemlich großen patch.
00:23:06: also da haben sie neun Dateien angefasst.
00:23:08: sieben hundert zwölf zeilen hat dieser patch hinzugefügt.
00:23:13: Knappe drei hundert hat er entfernt.
00:23:15: also da hat man sich ein bisschen durchwühlen müssen.
00:23:17: da stand auch drin in der in der patch beschreibung so naja wir haben hier halt schon länger irgendwie.
00:23:21: sozusagen die die Kleinzeit und die Serverzeit von diesem Zeug auseinander gelaufen und jetzt bringen wir das mal wieder zusammen und bauen hier den die Serialisierer gescheit um und so bla bla bla bla.
00:23:31: und dann der letzte Satz war so oh ja und das fix deine Schwierbigen die Sicherheitslücke
00:23:35: hat.
00:23:36: Und das war halt, ja genau, one more thing.
00:23:39: und also die Absicht dahinter war halt ganz klar, naja sie müssen diesen fix wirklich schnell rausrollen und sie wollen halt irgendwie verzögern, dass man dass die bösen Jungs direkt verstehen, was hier los ist und sozusagen das Zeitfenster, wo die Leute upgraden können, verlängern, bevor die Angriffe aufschlagen.
00:23:58: Das hat nicht bei allen für Verständnis gesorgt, weil natürlich auch Leute, die verstehen wollen, was los ist und verstehen wollen, ob ihre Produkte irgendwie betroffen sind, dann Mühe haben da auseinander zu Klamüsern und wo genau eigentlich das Problem steckt.
00:24:16: Also ja, ich kann das irgendwie nachvollziehen, aber andererseits in solchen Fällen würde ich sagen, die Lösung für dein Problem ist Upgrade.
00:24:22: Also es ist eine ganz schlechte Idee zu sagen.
00:24:25: Ich fahre hier irgendwie nicht die neueste Version, weil ich glaube irgendwie verstanden zu haben, wie genau dieser Backfix ist und ich kann den irgendwie auf die alte Version draufbroken oder so.
00:24:33: Also wenn irgendeine neue Version mit kritischen Fixes rauskommt, dann ist der richtige Weg da abzugregen erstmal und sich dann irgendwie Gedanken zu machen, ob man das verstehen will und ob man es verstehen kann und so, aber nicht irgendwie im Vorfeld zu basteln.
00:24:50: Andererseits muss man sagen, hat's was gebracht, diesen Patch so zu verstecken.
00:24:55: Amazon erzählt im AWS Security Block, dass sie innerhalb von Stunden mehrere mutmaßlich kinesischstämmige Cybercrime-Gruppen beobachten konnten, die sich darauf gestürzt haben und versuchte, das auszunutzen.
00:25:09: Amazon hat eine Analyse dazu, die halt auch zeigt, dass die das einfach in ihrem Workflow haben.
00:25:15: Also wenn irgendwo so Proof-of-Concepts auftauchen oder end days oder so das Grasen die konstant ab, das integrieren die direkt in ihre Toolchain.
00:25:24: Da scheint die sozusagen auch nicht groß drauf zu gucken, ob das so funktioniert oder nicht, weil es gab hier Initial und insofern hat dieses Patch Verstecken doch was gebracht.
00:25:33: Relativ viele Proof of Concepts, die schlicht keine Proof of Concepts waren, die waren dysfunktional, die haben irgendwie, haben nur funktioniert, wenn du eine Anwendung gebaut hast, die sozusagen eine Lücke hat und haben dann halt die Lücke in diese Anwendung ausgenutzt und gar nicht die Lücke in diesem Reacting.
00:25:50: Christopher meldet sich.
00:25:51: Und ich glaube, die ersten, die so durch die sozialen Medien schwirrten, waren auch einfach irgendwie Vibe-Coded, ne?
00:25:58: Also das war so JetGPT, machen wir mal ein Bock zu dem und zu der und der Lücke.
00:26:02: CVE, für zwanzig, zwanzig, dreieinfünfzig, eins, acht, zwei oder was war's, irgendwie so.
00:26:08: Das war ja dann auch so.
00:26:09: die ersten POC's, die rauskamen, die waren quasi Hallezonationen im Grunde.
00:26:15: Genau.
00:26:16: Und was halt einfach so erzählt, was die wirklich ganz interessant finde, ist auch die... haben diese cybercrime gruppen sofort eingesetzt?
00:26:24: also die die fahren dann nicht das schema.
00:26:27: ich sammel so ein pc ein ich versuche zu verstehen wenn der wird die funktioniert dann baue ich den in mein tool ein oder so sondern ich nehme den mit ich klopft den rein ich schmeiß den sofort gegen live system also gegen opfer die ich versuche zu hacken und wenn ich noch fünf andere finde dann baue ich die fünf andere noch dazu und Ich sortiere dann sozusagen am lebenden System aus, was funktioniert und was funktioniert nicht und pokele vielleicht wieder raus, aber erstmal schmeiß ich alles rein.
00:26:55: Und wenn halt irgendwann und wenn ich dann irgendwie zehn POCs da hab und neun sind haluzinierte Mist und einer ist ein echter, dann bin ich halt drin.
00:27:03: Was interessiert mich, dass ich an der neun irgendwie nicht funktioniert habe.
00:27:08: Interessant ist an diesem... Ob automatisierten workflow oder manuellen dieses pock suchen und dann sofort ausnutzen, dass das auch für die angreiferspektakulär schiefgehen kann.
00:27:19: Ich meine mich an einen Fall zu erinnern, wo jemand.
00:27:23: Irgendein auch einen sehr kritischen cv e einen proof auf konzept gebaut hat.
00:27:29: Den auf github gepackt hat und das war ein wirklich geiler.
00:27:31: eine andere mal werden und dann haben die da ich weiß nicht genau ob da ein freitaktor reingefallen ist aber ich hab mehrere von diesen dingern.
00:27:39: er googlet und er gitt habt.
00:27:41: ich hab keine ahnung wie man die suche bei gitt hat nennt und das passiert auch sehr sehr regelmäßig also bei bei neuen lücken wo es dann heißt naja es gibt noch keinen publik exploit.
00:27:50: wenn man dann auf gitt hat nach cv ed.
00:27:53: Proof of Concept, also POC, sucht, dann findet man gerne mal irgendwie so ein Repository, das vor ein paar Stunden angelegt wurde, wo dann irgendwie ein Exefile drin ist oder einen .lnk oder scr oder irgendwie sowas.
00:28:04: Und dann steht da drin, das ist der Proof of Concept und soll natürlich Dovis wie mich dann kriegen, die neugierig sind, aber vielleicht ist das auch inzwischen ein schöner Workflow, um Thread Actors ein bisschen zu ärgern.
00:28:20: Ja, also ich mein wissen wir ja auch oder hatten wir schon mehrfache podcast das auch threat actors nicht unbedingt gute operational security bei sich selber fahren.
00:28:29: Dass das eine und das andere ist natürlich also ich nehme jeden proof of concept und und und packt in meine tchul chain und für den aus und versuch den anzuwenden ist natürlich irgendwie also das.
00:28:40: machen die, ich nehme jetzt mal die Perspektive der Angreifer ein und sag, das machen die hoffentlich auf einem isolierten System.
00:28:46: Weil es de facto halt ist, ich sammle irgendwie einen Bums ein und führe den aus und schau, was passiert, ob es funktioniert oder nicht.
00:28:52: Das ist nichts, was man irgendwie irgendjemandem raten sollte.
00:28:55: Aber es ist offensichtlich die Art und Weise, wie dies vorgehen.
00:28:57: und insofern, ich weiß nicht, ob Christopher, ob du deine Meinung dazu hast, dieses Problem von Open Source Projekten, ich habe hier irgendwie einen total kritischen Backfix.
00:29:06: Ich muss den irgendwie... sichtbar machen in meinem Quellkurs, sonst bin ich ja nicht mehr Open Source.
00:29:12: Ich will aber nicht, dass sozusagen die bösen Jungs, bevor irgendjemand updaten kann, sehen, was ist hier das Problem, ist ja ein wiederholendes.
00:29:21: Ich finde, dass das Vorgehen hier, also einen akzeptablen Kompromiss und erscheint, der sogar ein bisschen was bewirkt zu haben.
00:29:28: Also diese Flut an dysfunktionalen POCs hat vielleicht ein bisschen eine Verzögerung eingebracht.
00:29:32: Ich weiß nicht, wie sie es tut.
00:29:35: Es gab für diese Fälle, für die großen Produkte, früher eine Liste, die hieß Wendorsack, da kam es nur rein, wenn irgendwie ein Mitglied für dich votiert hat und der war streng moderiert, da kam also nur Distros und große Wendors rein und da wurde das Ganze dann koordiniert, disclosed beziehungsweise, dass sowas dann vorbereitet, dass ab dem Moment, wo irgendwo aufgeht habe, dann so ein Komet auftaucht, die... fix ist in den großen infrastruktur schon ausgerollt sind.
00:30:06: das ist ein schwieriges problem und das ist ja auch wie greift wieder zurück auf das was wir in der einer der letzten folgen wieder meine folgen amnesi und diskutiert haben.
00:30:16: Wie gehen open source projekte mit dem mit der flut von security.
00:30:22: Reports um und einige setzen da ja wieder auf das Prinzip der Full Disclosure.
00:30:28: Alle Bugs werden gleich behandelt, egal ob Security oder nicht.
00:30:30: Wir fixen die, dann publizieren wir das und dann müssen eben die Leute entweder schnell oder nicht ganz so schnell patchen, je nachdem wie kritisch der Bug ist.
00:30:39: Ich habe mir da noch keine eigene Meinung gebildet.
00:30:41: Ich halte das für ein echtes Dilemma von Open Source, weil Open Source da vom Gedanken her nicht so gut oder von der Philosophie her nicht so gut auf bösartigen Missbrauch des Gedanken ausgerichtet ist.
00:30:58: Natürlich haben alle anderen dann auch dieselben Informationen, können also ihre Proofs aufs Konzept bauen oder ihre Exploits bauen.
00:31:05: Natürlich haben aber auch die Verteidiger die Informationen dann relativ zeitnah.
00:31:09: Also es gibt schon viel aus meiner Sicht auch viele gute Gründe für Full Disclosure.
00:31:12: und am Ende ist ja so ein Komet auf GitHub, wenn ich den mache, weil ich sage, ich muss das Problem jetzt fixen, Full Disclosure.
00:31:22: Und wir sehen, dass Responsible Disclosure oder Coordinated Disclosure, wie man die nennt ja auch, echte Probleme hat, zwar genau andersrum, dass vendors dann verleitet werden, sicher als Probleme unter den Teppich zu kehren.
00:31:34: Das kann ja auch nicht die Lösung sein.
00:31:36: Ja, ich habe auch also gerade in so einem Fall von React, also also allgemein von so einem Software Produkt, das dann in tausend anderen Softwareprodukten steckt, die wiederum in tausend anderen Softwareprodukten stecken und gerade jetzt Bezug auf das ganze große, ja, was gibt Ökosystemen, wo ja die Supply Chain über sich so, sagen wir mal, suboptimal ausgeprägt ist, sehe ich nicht so richtig, wie man da sinnvolle, responsibale Disclosure machen könnte.
00:32:03: Also du kriegst die große Mehrheit der Leute sozusagen nicht informiert, außer du steuerst es so breit, dass du halt de facto es veröffentlicht hast.
00:32:14: Ähm, jetzt könnte man natürlich machen irgendwie sagen, naja wir sagen wenigstens großen Host dann Bescheid oder so.
00:32:19: Also Amazon hat zum Beispiel auch das.
00:32:20: Ähm, die haben ja so, man konnte das so ein bisschen mitigaten.
00:32:23: Also wie gesagt, die Clients mussten ja so einen String an den Serverschicken, den der dann deserialisiert hat.
00:32:31: Da konnte man natürlich gucken, ob da irgendwie, also die mussten da bestimmte Tricks hernehmen, bestimmte Funktionen in diesem Deserialisierer aufrufen.
00:32:38: Da konnte man natürlich drauf scannen und dann sozusagen sagen, na gut, das blockiere ich jetzt oder so.
00:32:42: letztendlich mit einem Firewall.
00:32:45: Aber wenn man das halt macht, dann hat das nur den Effekt, dass halt irgendwie die großen Fische, also so jemand wie Amazon oder so, die können dann ihre Kunden besser schützen und damit ihre Monopol weiter ausbauen.
00:32:59: und die Tausend Kleinen, die man nicht informieren kann, wenn man die Tausend gar nicht kennt und wenn man die Tausend informieren würde, wäre es dann auch de facto öffentlich, die haben den Wettbewerbsnachteil.
00:33:08: Also sehe ich auch sehr kritisch.
00:33:11: Und jetzt begeben wir uns auf einen kleinen Nebenkriegsschraubplatz, der nicht in den Notizen steht.
00:33:15: Das ist quasi meine Überraschung zum zweiten Advent für Sylvester, denn genau diese Mitigation führte in der vergangenen Woche.
00:33:24: Wir nehmen am elften Dezember auf und das Ereignis war am fünften Dezember zu einem weiteren Ausfall bei unserem beliebten Lieblings-CTN Cloudflare.
00:33:33: Die haben nämlich ein Update in ihrer Web-Application-Firewall veröffentlicht, also ausgerollt.
00:33:39: um React Shell zu oder React to Shell, wie heißt das?
00:33:43: React to Shell heißt es, die Lücke zu mitigieren.
00:33:47: Und da haben sie sich die Karten gelegt, was dazu geführt hat, dass eine ganze Reihe an Request weltweit in ... hat die DP-Fundfundertfehler gelaufen ist.
00:33:59: Ich hab das zufällig ein paar Minuten nachdem es losging gesehen, weil ich auf irgendeiner ... Ich war auf irgendeiner Malwehrseite, die sind ja auch alle hinter dieser Info-Stealer-Dorper-Seiten und so, die sind ja auch alle hinter Cloudflare.
00:34:11: Und dann kriegte ich plötzlich fünfhunderter Fehler und nicht in dieser hübschen Maske, glaube ich, sondern so ganz komische Dinger, dachte ich, irgendwas ist da krumm.
00:34:19: Und dann habe ich noch schnell eine Meldung dazu geschrieben und in dem Blog-Artikel von Cloudflare dann hinterher, ja, das war unsere Mitigation für React to Shell, die ist ein kleines bisschen nach hinten losgegangen und auch wieder sehr detailliert.
00:34:34: Möchte ich auch gerne noch mein kleines Lob an Cloudflare verteilen.
00:34:38: Gibt auch ein Blecken, wie die diese Lua-Regeln schreiben in ihrer Waffe und so.
00:34:42: Also wenn man sich das anguckt, will ich pack's mal die Show Notes, ohne dass wir jetzt hier die Folge weiter derailen.
00:34:47: Und das ist auf jeden Fall wieder so ein Fallout gewesen, der im Mittelbau durch React to Shell verursacht wurde.
00:34:57: Ja.
00:34:58: Und nach hinten losgegangen finde ich ein bisschen zu stark, weil also, fünfhundert Fehler ist besser als irgendwie gehackte Website, ne?
00:35:05: Das hätte man vermutlich irgendwie weiter aussteuern können, aber die haben halt auch Zeitdruck gehabt.
00:35:10: Aber auch da, ne?
00:35:10: Ich meine, natürlich hätte man als Decker dieser Lücke, zum Beispiel Cloudflare und Amazon und Azure oder so Bescheid sagen können, dann fixen die das, dann gehe ich damit an die Öffentlichkeit, aber ich habe halt irgendwie achtzig Prozent der Betroffenen oder so, sozusagen schon ein Einstweilen gefixt.
00:35:28: Aber es ist halt eine krasse Wettbewerbsverzerrung zugunsten der Großen.
00:35:33: Und man muss mich schon sehr fragen, also warum kriegen deren Kunden sozusagen dann irgendwie den Bonus, dass sie vorgefrügewandt werden und alle anderen nicht.
00:35:45: Also wie du sagst, ist ein echtes Dilemma.
00:35:49: Du hast hier noch eine Sektion Fallout reingeschrieben, könnt ihr noch kurz über da reden.
00:35:54: hat schon ordentlich Kreise gezogen, also React ist halt wahnsinnig weit verbreitet.
00:35:57: Shadowserver hat zum Höhepunkt vorgessen, also am achten zwölften, sechs oder schwarzig tausend Domains und hundert und sechzigtausend IPs als Betroffenen gelistet, ungefähr fünfzehntausend davon in Deutschland.
00:36:16: Das sind... Ach so, da ist wohl so ein Spike in der Kurve, weil sie eher Scan-Methodik verbessert haben.
00:36:21: Also es geht nicht darum, dass sie da plötzlich noch mehr geworden sind, sondern dass sie da besser auf Scannen.
00:36:26: Mittlerweile sinkt es, aber es sinkt langsam.
00:36:32: Aber also muss ich sagen, es überrascht mich alles nicht so sehr.
00:36:35: Der Reakt steckt halt einfach überall drin und diese Reakt-Server-Komponent sind jetzt auch nicht irgendwie ein total isoterisches Ding.
00:36:42: Ich habe mit der Programmierung schon länger nicht mehr viel zu tun und trotzdem habe ich davon gehört, so diese Technik könnten sie also nicht sein.
00:36:52: Und die CISA hat, also die...
00:36:58: US Cyber Sicherheitsbehörde.
00:37:01: Die US Cyber Sicherheitsbehörde, ich habe gerade überlegt, wofür das akkundimtgelau steht, aber ich krieg es nicht hin.
00:37:08: Also ihr unterstehende Einrichtung, sprich Behörden, US-Behörden gewarnt, sie sollen bitte bis zum zwölften Dezember migrieren, also bis morgen aus unserer Sicht, aus eurer Sicht irgendwie den letzten Freitag.
00:37:20: Wohlsprünglich, weil es der XXI.
00:37:21: XII.,
00:37:22: dann haben sie es zwei Wochen nach vorne gelegt und so, also die sehen da offensichtlich auch eher dringenden Handlungsbedarf.
00:37:28: Ich meine, ich hoffe, das erreicht euch alle, die ihr potenziell betroffen wart, zu einem Zeitpunkt, wo ihr das eh schon behoben habt.
00:37:34: Aber wenn nicht, dann drückt jetzt sofort auf die Pause-Taste und abdrehtet euer React.
00:37:39: Oder euer Next oder euer Wikt oder was auch immer ihr Herd habt, wo irgendwie React drinstecken könnte.
00:37:45: Und wenn ihr Sachen selbst hostet, dann versucht rauszufinden, wo da React und Next to Essence so drin ist.
00:37:51: Also so... Wie du schon gesagt hast, kann ja überall drin sein.
00:37:58: So, und während jetzt die eine Hälfte der Hörerschaft hektisch zum Abwarten... Die haben
00:38:02: auf Pause gedrückt.
00:38:03: Die könnten dann einfach in Ruhe nachher weiterhören.
00:38:07: Ja, aber vielleicht wollen sie ja beim Updaten unsere beruhigenden Stimmen hören, die ihnen schöne Geschichten zu einem Thema erzählen, dass sie beruhigt und das... Jetzt noch keine dringenden Handlungsaufforderungen beinhaltet, sodass sie das erst noch mal ein bisschen auf die lange Bank schieben können, um dann im übernächsten Jahr sehr hektisch zu werden.
00:38:25: Und das ist, wir hatten es schon eine Weile nicht mehr in dieser Ausführlichkeit.
00:38:28: Ich freue mich ein kleines bisschen.
00:38:30: Pekai.
00:38:32: Das hast du ganz falsch.
00:38:33: Ich habe das extra anders in die Notizen geschrieben.
00:38:36: Das heißt, Pekai!
00:38:38: Wir haben endlich wieder Public Key Infrastructure im Podcast.
00:38:43: Ja, und zwar sogar ein, das ist so eine Art Roundup jetzt, ne?
00:38:46: Wir haben also alles gefunden, wessen wir haphaft werden konnten und haben das jetzt hier reingepästet.
00:38:52: Das sind teilweise auch so ein paar Sachen, von denen ich glaube, dass sie relativ schnell erzählt sind, aber einfach um mal zu zeigen, was im, ich jetzt muss ich mal schauen, ich glaube im WebPKI Raum haben wir, nee, das ist nicht nur WebPKI, wir haben auch traditionelle PKI, was im PKI Raum so passiert und was sich so tut.
00:39:11: Und ich fange mal mit was einfachem an, dass auch zugleich eben noch nicht akut ist.
00:39:16: Und zwar Let's Encrypt hat jetzt die Ankündigung rausgeschickt, die ja schon lange dreute und wo wir auch schon ein oder zweimal drüber gesprochen haben.
00:39:25: Und ich finde auch hier die Folge nicht mehr.
00:39:27: Ich habe es im Vorfeld gesucht, aber das war irgendwo in einem Newsbeitrag mal versteckt.
00:39:32: Wir verkürzen die Laufzeit auf vierundvierzig Tage von neunzig Tagen, die es jetzt sind, sagt Let's Encrypt, halbieren sie also.
00:39:40: Das geschieht unter dem sanften, aber sehr bestimmten Druck der großen Browserhersteller.
00:39:46: allen voran, wenn ich mich richtig erinnere, war da Apple und Chromium, die gesagt haben, möchten wir gerne und.
00:39:53: Ich glaube, die Diskussion, warum diese kurzen Laufzeiten eine gute Idee sind oder nicht, die haben wir auch schon drei oder vier mal geführt, unter anderem auch mit Hörer.
00:40:01: Und die können wir uns, glaube ich, mal schenken.
00:40:03: Ich erzähle jetzt einfach nur die Technikalitäten und die Fakten.
00:40:08: Das Ende dieser ganzen Geschichte ist im Februar, zwanzig achtundzwanzig, also noch wirklich, wirklich lange hin.
00:40:14: Ja, dann, warum erzählst du es denn jetzt?
00:40:16: Dann können wir sofort uns wieder hinlegen, oder?
00:40:18: Ja, genau.
00:40:19: Aber da wir ja alle wissen, wie... lange ein provisorium hält und wie lange eine provisorisch mal eben hingeschluderte automatisierung halten kann wäre es vermutlich eine gute idee die automatisierung rechtzeitig anzufassen bevor die zertifikate um die ohren fallen fliegen.
00:40:35: die laufzeit sinkt also zum einen auf forty fünf tage zum anderen sinkt das sogenannte authorization re-use window auf sieben stunden.
00:40:42: also am ende bisschen vereinfacht du kannst momentan eine Beantwortete Acme Challenge paar Tage lang, ich glaube, zehn Tage lang wieder verwenden, um die nicht nochmal neu machen zu müssen und im Endausbau werden das dann nur noch sieben Stunden sein.
00:41:00: Das sinkt also auch erheblich was.
00:41:04: Ich bin nicht ganz sicher, welche praktischen Auswirkungen das für die typischen Acme Clients haben wird.
00:41:11: Ist aber auf jeden Fall noch separator ausdrücklicher Teil der Ankündigung.
00:41:15: Der Zeitplan ist der folgende.
00:41:17: Dreizehnten Mai, zwei tausend sechsundzwanzig, also im nächsten Jahr gibt es in diesem Acme Profil TLS Server.
00:41:24: Ihr erinnert euch, wir haben über die Einführung von Zertifikats und Acme Profilen auch schon mal gesprochen in einer Newsfolge bei Let's Encrypt.
00:41:32: Da geht es darum, dass man im Grunde sich auf verschiedene Funktions-Sets mit einem Switch auf der Kommando-Zeile aus dem Acme Klein festlegen kann.
00:41:40: Man kann zum Beispiel sagen, ich will diese kurzlebigen sechs Tage Zertifikate mal ausprobieren oder ich will eben dieses TLS Server Profil nutzen und das Standard Profil, das immer genutzt wird, wenn man nix anderes angibt, lautet Classic.
00:41:53: Das ist also der Default für alle Acme Clients, die keine anderen Angaben machen.
00:41:57: In diesem TLS Server Profil wird es ab, bereits den Mai, zwanzig, sechsundzwanzig, diese Laufzeit von fünfundvierzig Tagen schon geben.
00:42:05: Das ist dafür da, dass ihr, die ihr jetzt gerade vor euren Radiogeräten sitzt, das schon mal testen könnt.
00:42:12: Das ist ein Opt-in, damit ihr mal eure Automatisierungen anpassen könnt und testen könnt.
00:42:16: Wenn ihr zum Beispiel Millionen Let's Encrypt-Certificate aus irgendeinem Grund nutzt, ihr seid ein CDN oder so, dann, was dann dafür eine zusätzliche Last auf die Systeme kommt, wie eure Automatisierung sich festrutteln ist, also nur vermutlich eine ganz gute Idee, das mal auszuprobieren.
00:42:31: Ihr könnt das eine ganze Weile ausprobieren, denn der nächste Schritt kommt dann erst am zehnten Februar, Da sinkt dann auch bei den Classic, also den Standard-Zertifikaten, die laufzeit auf erst einmal vierundsechzig Tage, also zwei Monate und vier Tage oder zwei Monate und zwei Tage, je nachdem.
00:42:51: Und diese Authorization-Reuse-Period sinkt dann auf zehn Tage.
00:42:55: Sie ist also mitten zwischen, also im Moment auch noch länger als zehn Tage.
00:42:58: Daher hatte ich aber die zehn Tage, habe ich mir einfach falsch gemerkt.
00:43:01: Der letzte Schritt kommt dann am sechzehnten Februar, zwei tausend achtundzwanzig.
00:43:06: Kurz nach dem Valentinstag sinkt dann die Laufzeit der Classic Zertifikate, der Standard Zertifikate, auf forty-fünf Tage und wir haben dieses sieben Stunden Reuse Window.
00:43:17: Dann ist dieser Endausbau erreicht.
00:43:20: Ich bin sehr gespannt, welche Diskussionen in den zwei Jahren dazwischen noch stattfinden werden, ob dann mal wieder jemand auf die Idee kommt, wir möchten eigentlich lieber zehn Tage oder sechs Tage oder zwanzig Minuten als Zertifikatslaufzeit haben.
00:43:31: Da ist ja viel Zeit zum diskutieren, aber das ist auf jeden Fall erstmal der Zeitplan für die äh, niedrigere Laufzeit von forty-fünf Tagen bei Let's Encrypt.
00:43:40: Ist also beschlossene Sache, wird kommen.
00:43:42: Ich habe gerade ge-googelt.
00:43:43: aktuell ist sie Authorization Reuse Period bei dreißig Tagen.
00:43:48: Also dreißig Tagen auf sieben Stunden runter ist ähm, schon ne, ne, ordentliche Eindämpfung, wobei ich auch sagen muss, ich weiß.
00:43:57: Also schreibt uns gerne, wenn ihr, wenn ihr sozusagen von Workflows wisst, ähm, wo das wichtig ist, dass man da sehr viel mehr Zeit hat, ähm, um dieses Fenster zu nutzen, ne.
00:44:10: Du bist stumm gerade.
00:44:11: Bist du wieder an der Mikro gekommen?
00:44:13: Wenn man DNS-Null-Eins als Challenge nimmt, vielleicht, das könnte ich mir vorstellen, aber kann ich auch nur Mut maßen.
00:44:19: Aber dann würde ich das doch in der Stunde irgendwie hinkriegen, oder?
00:44:22: Na ja, schreibt uns einfach, du wolltest eigentlich noch, glaube ich, erzählen, was man denn nun tun sollte.
00:44:29: Genau, also nun muss man vermutlich erstmal gar nichts tun, wie du schon so schön gesagt hast, man kann sich zumindest noch bis Februar nächsten Jahres... hinlegen, wenn man sehr experimentierfreudig ist und ansonsten kann man sich so bis Anfang zwei tausend sieben zwanzig hinlegen, denn da sinken die Laufzeiten.
00:44:45: Was man tun muss, ist den jeweiligen Acme-Client, den man nutzt, aktualisieren, wenn das eine vorgefertigte Version ist.
00:44:51: Und wenn man einen selber gebaut hat, dann sollte man sich mal genau anschauen, ob er diese Acme Renewal Information Funktionen integriert, die Let's Encrypt unter anderem anbietet, um herauszufinden, wann es jetzt mal Zeit wäre, das Zertifikat zu erneuern.
00:45:07: Ich kann mich noch an die Frühzeiten dieser Workflows erinnern, wo das einfach ein Cron-Shop war und der hat ausgewürfelt.
00:45:14: Also du hast in die Laufzeit geguckt vom Zertifikat und hast gesagt, sondern irgendwann zwischen dreißig Tagen und fünfzehn Tagen Restlaufzeit erneuern wir das Ding und hast dann dein Renewal gemacht und das war dann einfach so ein Cron-Shop.
00:45:27: Wenn man das selber sich mal irgendwann hingefummelt hat für den eigenen Workflow, dann sollte man sich das relativ zeitnah im nächsten Jahr mal... aufschreiben.
00:45:35: denn das ist so eine typische Aufgabe die dann so lange aufgeschoben wird bis sie akute ist und dann fangen halt irgendwelche browser an lustige warn boxen an zu zeigen und dich nicht mehr auf die eigene webseite zu lassen und das möchte man ja nicht.
00:45:48: beziehungsweise das natürlich auch was dass sie jetzt schon machen können so als gute tat vor dem nächsten jahr oder so dass ihr irgendwie guckt ob euer eckney klein aktuell ist und eben dieses ai unterstützt weil dann wisst ihr eine dass ihr euch um nichts kümmern musst mitkriegen, dass die Laufzeiten sinken können und dass er sich früher neue ZW gerade besorgen muss und dann passt es.
00:46:08: Und wenn er das nicht tut, dann wäre es zumindest interessant mal zu sehen, ob die Entwickler eine Roadmap dafür haben und ob sie das ganze Thema so weit vorantreiben, dass ihr nicht noch über einen Kleinwechsel und einen komplett umbäurer Automatisierung nachdenken müsst.
00:46:22: Ja, lohnt sich das, früh genug zu machen, aber wenn ihr Aus der gleichen Baualtzeit wie ich und das so lange wie möglich nach hinten schiebt, dann solltet ihr euch mal so mit den nächsten Jahres auf Kalender schreiben.
00:46:33: Das könnt ihr auch jetzt ruhig schon machen.
00:46:36: Kurz pausieren und dann Kalendereintrag für keine Ahnung, dreißigsten Juni oder so.
00:46:40: Wir gucken uns jetzt mal das AII-Thema an.
00:46:44: Gut, das war der einfachste Teil.
00:46:50: Zertifikalslautzeit sinkt auf im vierzig Tage, wir haben noch zweieinhalb Jahre Zeit.
00:46:53: So, jetzt... kommt Certificate Transparency, die ich eines der besten Osint-Tools übrigens finde, die man so haben kann, wenn man mal schnell sich angucken will, wann ist diese Malware-Domain registriert worden oder das erste Mal genutzt worden?
00:47:13: Du guckst einfach bei CRT.sh, wann ist das Certificat?
00:47:16: Das erste Mal aufgepoppt ist total schön.
00:47:18: Dafür ist es nicht gedacht.
00:47:20: Nein, das merkt man auch oft.
00:47:22: An der fehlenden Response von CRT.sh kommen auch öfter mal so PostgreSQL Fehler und so Zeugs.
00:47:31: Jetzt kommen wir aber zu, wir bleiben bei Let's Encrypt.
00:47:34: Wir kommen zu einem etwas anderen Thema, das ursprünglich Sylvester hier reingeschrieben hatte, dass ich jetzt versuche ein kleines bisschen nachzuerzählen.
00:47:40: Wir erinnern uns dunkel, dass Certificate das Let's Encrypt umgestellt hat, die Art, wie sie Certificate Transparency Locks bauen und zwar werden die ersetzt durch Static City, sie waren früher nach RFC six, neun, sechs, zwei.
00:48:01: Und diese RFC sechs, neun, sechs, zwei Logs sollen nächstes Jahr weichen.
00:48:07: Die Diskussion war damals ein kleines bisschen, wir haben darüber ein bisschen gesprochen, aber es gab auch so ein, wurde so ein bisschen andiskutiert in dem CA Space.
00:48:17: Weil das Hauptargument war, das ist ganz schön teuer, diese Logs.
00:48:22: Wir kommen an operative Kosten, die irgendwie nahe den sieben Stellen Dollar sind.
00:48:28: Da gab es auch einen Blog-Artikel dazu.
00:48:31: Und das war so meine Erinnerung nach eines der Hauptargumente.
00:48:37: Aber ich glaube, Static City ist auch einfach schöner durch dieses, wie heißt das auch bei den Schading?
00:48:41: Wie heißt der Detailing von den City Logs?
00:48:47: Und sie wollen jetzt aber mal nägeln mit Köpfen machen und sie möchten gerne das Zeug auch zügig los werden.
00:48:53: also nicht erst zwei tausend achtundzwanzig sondern auch hier wieder im februar aber nächsten jahres sollen die fc six neun sechs vor locks ganz abgeschaltet und durch static city ersetzt werden.
00:49:03: jetzt wollen sie diese locks aber archivieren und bei solchen.
00:49:10: Ding an ist das archivieren auch keine ganz einfache Aufgabe, weil du sie ja irgendwie so archivieren muss, dass du sie da auch wieder rausgefummelt kriegst und dass du dann auch, also du hast dann einfach das Zugriffsproblem, du musst dann ja wieder möglichst wenig Speicherplatz oder möglichst wenig Dateien oder Teils oder Schatz oder wie auch mal du es aufweist Unterverzeichnissen eintauscht gegen möglichst schnell Zugriff.
00:49:33: Diese Abwägung muss dann stattfinden und da entspint sich so ein bisschen Allgemeine Archivierungsdiskussion über dieses Thema auf der City Policy List.
00:49:44: Da haben wir den Link auch in die Show Notes gepackt.
00:49:46: Denn das ist technisch Interessantes Problem, dass ich als solches bewundere, aber nicht verstehe.
00:49:52: Und wer sich da aber ein bisschen tiefer einlesen möchte, der kann in diesem Post am besten anfangen.
00:49:58: Den habe ich mal in die Show Notes gepackt.
00:50:00: und kleiner Spoiler, die CT-Logs landen tatsächlich im Internet Archive.
00:50:05: Also die werden nicht irgendwo gebackupt.
00:50:08: Es gibt wohl jetzt schon Backups bei Google, aber da ist der erste Post, der sagt, das ist nicht nachhaltig.
00:50:13: Wenn wir das einfach nur Google überlassen, diese Backups zu machen, wir müssen da eine andere Lösung finden, die wahrscheinlich lese ich das aus dem Subtext raus, die auch nicht von den Launen von Google abhängig ist oder von wem auch immer da gerade Google lenkt und auf wirklicherweise auch staatlichen Einfluss hat.
00:50:31: Deswegen ist Internet Archive.
00:50:33: Das Medium der Wahl kommt aber mit einigen Einschränkungen, die dazu führen, dass sie sich eben technischen paar Gedanken machen müssen, wie sie diesen.
00:50:42: Upload der Logs bei Google Archive überhaupt so hinbekommen, dass das Google Archive, das habe ich jetzt zweimal Google Archive, das Internet Archive sich daran nicht verschluckt.
00:50:53: Ich finde es ganz interessant, dass diese Diskussion ja also jetzt gerade eben geführt wird und.
00:50:59: Man sich vorher scheinbar nicht so richtig Gedanken gemacht hat also ob man die archivieren will und wenn ja wie.
00:51:05: na und das hat eben den Effekt dass es einige ct-Loks schon gibt die halt schon länger sozusagen aus ihrem nutzfenster rausgefallen sind und die jetzt eventuell weg sind.
00:51:16: also Teil dieser Diskussion ist auch dass so rumgefragt wird hat vielleicht jemand noch irgendwie ein Backup von diesem lock oder irgendwie zumindest die ZZ-Fikade von jedem lock oder so.
00:51:24: um so bereits abgelaufene Logs auch noch rekonstruieren und archivieren zu können.
00:51:29: Das hat zuvor scheinbar niemand irgendwie darüber Gedanken gemacht, ob man die Sache archiviert haben will und wenn ja, wie man das dann im Schlauzen macht.
00:51:39: Das finde ich eine interessante Frage, die auch nicht abgesprochen, aber die ich gerne mal kurz eine Minute überdenken würde.
00:51:49: CT-Loks, da könnte man jetzt naiv für so eine Art transiente Information halten, da ist ein Zertifikat drin, das läuft dann irgendwann aus und dann wird das verlängert und dann läuft das nochmal aus und dann kommt eine andere CA und holt sich das, also stellt dieses Zertifikat aus.
00:52:03: Jetzt könnte man unterstellen, was für einen archiwarischen Wert haben denn diese Blocks?
00:52:10: Warst du deine Meinung dazu?
00:52:13: Naja, das eine ist, ich glaube, was du so anfangs angesprochen hast, das ist ein sehr nettes O-Syntool, dass man von jeder Domain sehen kann, wann sie so zuerst aufgetaucht ist.
00:52:22: Das dafür ist Certificate, dass bei sie sozusagen eigentlich nicht da, aber das wird dafür sehr fleißig genutzt und das ist natürlich eine interessante Information.
00:52:34: Das andere, was mir gut vorstellen könnte, ist, dass man vielleicht ab und zu auch sozusagen aus... certificate transparency sicht also sozusagen aus aus compliance sicht auf die ca.
00:52:46: Mal weit in die vergangenheit.
00:52:48: Blicken möchte wer weiß was irgendwie passieren könnte und dann sagt u hat das eigentlich irgendwie vor fünf jahren schon mal jemand gemacht oder so.
00:52:57: Und das ist deswegen halt.
00:52:59: ich habe jetzt aber kein konkretes beispiel.
00:53:02: Aber dass man sich halt sagt so wie es halt jetzt auch ist wenn irgendeine cr was passiert dann wird im certificate transparency geflürt um zu gucken wie oft ist euch das eigentlich passiert.
00:53:10: dass es vielleicht interessant sein könnte, wenn irgendwas ausreichend schlimm ist, zu sagen, naja, gut, wir wollen immer mehr als irgendwie die drei Jahre oder was auch immer zurückgucken, wo die Locks halt gerade noch online sind.
00:53:22: Das mit dem O-Sinn finde ich tatsächlich auch einen guten Aufhänger für die breite Öffentlichkeit, diese Archive interessant zu finden.
00:53:31: Denn wenn man sich zum Beispiel solche Sachen wie Datenbanken über Domainhistorie anguckt, dann sind das in der Regel... die Crawlen regelmäßig oder die gucken regelmäßig in den Whois nach, das ist mehr oder weniger Brotforst, die haben eine Domainliste und die eben im Auge, weil die Whois-Daten, vor allem historische Whois-Daten nicht öffentlich sind.
00:53:52: Zumindest kenne ich keine Whois-Datenbank, die historische Daten öffentlich stellt.
00:53:58: Ich weiß, dass es früher für Mitglieder des Denig die Möglichkeit gab, die Historie von Domains abzufragen.
00:54:05: Also zu gucken, wann die wo schon mal registriert waren, aber ich weiß nicht von öffentlichen Datenbanken dieser Art.
00:54:11: und da kann tatsächlich certificate transparency ist jetzt schon unheimlich hilfreich und kann das auch in Zukunft sein um eine historische Datenbank für Domains und Subdomains aber auch denn also da sind ja nicht nur.
00:54:25: Second Level Domains drin, zu liefern und zu gucken, wann ist eine Domain aufgetaucht, wann hat die angefangen, bösartig zu werden oder solche Geschichten.
00:54:33: Das finde ich schon interessant, weil bei dem CA Browser Forum internen Use Case würde ich jetzt erstmal gesagt, na ja, dann sollen die sich halt eine eigene Lösung überlegen, aber das machen sie ja gerade, genau das passiert ja gerade in dieser Google Groups-Diskussion.
00:54:51: Dann kommen wir zu einer anderen Google Groups-Diskussion, oder?
00:54:54: zurzeit blüht irgendwie die certificate transparency diskussionskultur.
00:54:58: ja es ist.
00:55:00: ich weiß nicht ob leute jetzt Da drauf gestupst wurden aber es ist viel.
00:55:05: Natürlich ist es auch unser tunnelblick und wenn du einmal rein stichst da in diese google group sein findest Du halt in der übersicht noch einen anderen frett und das klingt auch interessant.
00:55:13: und Da bei diesem hier musste ich tatsächlich auch eine diskussion aus dem vorgespräch in die aufnahme Forcieren weil ich mir nicht ganz darüber im klaren wenn was ist jetzt eigentlich Schlimm daran was da passiert ist oder was ist daran unerwünscht?
00:55:26: aber es gibt trotzdem noch so eine kleine ein kleines learning kleine moral von der geschicht die ich schon rausarbeiten konnte.
00:55:32: beim rest hilft mir gleich Silvester also die es geht um.
00:55:44: SCT ist die Signed Certificate Timestamps, die im Endeffekt erstellt und dann als Versprechen gegeben werden, wenn das Zertifikat signiert ist, dann schreiben wir da auch einen Eintracht ins Certificate Transparency Log.
00:55:59: Ich kann aber als CA nicht einfach in irgend eins reinschreiben, sondern das muss eins sein, dass die Browser auch verstehen, mit denen meine Zielgruppe nämlich die Nutzer reden.
00:56:11: Das hilft ja nix, wenn ich In das certificate lock hier von filipo war so da schreibe das überhaupt kein browser nutzt sondern oder das vom von mein kunst des nur her kunstens eigener browser nutzt das muss ja auch irgendwas sein was die was die großen browser integriert haben und da gibt es dann ganz viele verschiedene locks.
00:56:29: die haben dann teilweise so putzige namen wie.
00:56:32: Argon und Xenon sind also Edelgase oder sie sind eines Finks und einen Vivan.
00:56:36: Das sind keine russischen Thread Actor Namen.
00:56:38: Also es ist nicht aus irgendeiner Updatenbug von CrowdStrike, sondern so heißen die Certificate Transparency Locks und hinten dran stehen dann so Jahreszahlen so fix.
00:56:45: Auch das haben wir, meine ich, schon mal auseinanderklammen.
00:56:47: Müsert das ganze Thema in einer Podcastfolge.
00:56:51: Die Namen weiß ich gar nicht.
00:56:52: Diese Jahreszahlen kommen halt daher, dass insbesondere diese alten, also diese Prä-Static-CT-Logs so schlecht skalieren.
00:56:58: Und man deswegen sagt, das ist ja gut.
00:57:00: Wir können hier, wir haben ja gedacht, pro Jahr einen, dann muss man schon sagen, ja jetzt lieber pro Halbjahr einen und so.
00:57:07: Weil einfach, also in zum Beispiel im Fall von letzten Cript, die dahinterstehende Datenbank, das nicht packt, wenn das zu fett wird.
00:57:13: Und auch wenn man eine Datenbank hat, die vielleicht besser skaliert, ist das nicht unbedingt sinnvoll, sozusagen, so einen für immer... anwachsenen lock zu haben also irgendwie so eine jahrestal wird man glaube ich auch in zukunft beibehalten.
00:57:26: ja und diese um diese rauszufinden in welches dieser lockst du denn jetzt bitte deine zertifikate zu posten hast gibt es dann entsprechend listen?
00:57:36: zum beispiel google hat so eine.
00:57:37: die kommt dann in so einem ganz obskuren format daher ich habe da noch nicht von gehört je j s on oder so weiß ich nicht muss irgendwas mit javascript sein.
00:57:45: und da stehen dann Neben dem Namen dieses ... Ich glaube,
00:57:50: wir müssen das auflösen.
00:57:51: Also das war gerade einfach nur Sarkasmus.
00:57:54: Es ist halt eine Jason-Datei und Christopher Hartdorff auch schon davon gehört.
00:58:00: Ach so, jetzt, wenn man das so ausspricht, dann verstehe ich auch, was das für eine Dateiname war.
00:58:04: Mensch, gut, jetzt haben wir das für die Hörer auch noch mal aufgelöst.
00:58:08: Da stehen auch verschiedene Attribute dieser Theaterin und zwar ein etwas ... Aus meiner Sicht schon auch obskure Nominclatur, das CT-Log kann Qualified sein oder es kann Usable sein.
00:58:24: Das steht da als Flag im Grunde drin.
00:58:26: Was ist der Status dieses CT-Logs?
00:58:28: Qualified oder Usable sind zwei Statues?
00:58:31: Es gibt noch mehr.
00:58:32: Also der kann eben auch retired sein.
00:58:34: Im Sinne von wird nicht mehr hergenommen, aber es ist halt noch online und so.
00:58:38: Und nur wenn das CT-Log Usable ist, dann... kann es auf allen auch älteren Browsern.
00:58:47: Verwendet werden, also die die die verstehen das, die kennen das Log.
00:58:52: Ansonsten kann es eben sein, dass wenn du ein Zertifikat ausstellst und der Browser sieht das und guckt in seinen, ihm bekannten CT-Logs nach und findet das dann nicht, dass er das ablehnt.
00:59:01: Dann sagt er, nun kenne ich nicht, keinen CT-Eintrag, baseline-Requirement, Verstoß, er kenne ich nicht an.
00:59:08: Darf der dann auch nicht anerkennen, weil er sonst selber nicht konform zu den baseline-Requirements wäre.
00:59:14: Ist es das Baseline Requirements oder ist es Browser-Regularien?
00:59:19: Also ich weiß zum Beispiel, dass, also Google zum Beispiel sagt halt und es kann sein, dass sie sozusagen das sagen, weil sie damit dann Baseline Requirements konform sind, das weiß ich gerade nicht.
00:59:27: Aber sie sagen halt, wir erkennen Zertifikate an, die mindestens zwei SCTs enthalten und zwar eben von Usable Locks.
00:59:38: Und das war ja auch so ein bisschen das was Letzend krypt als Problem hatte mit ihrem Static CT und da stand eben früher auch noch drin so und zwar mindestens zwei ist es nach RFC neun zwei was auch immer.
00:59:50: Dann kam Static CT auf und haben die Brause gesagt okay.
00:59:53: Immer noch mindestens zwei ist es aber einer darf Static sein aber nicht beide nach dem letzten krypt irgendwie halt nur noch auf Static sagen umsatteln wollte wollten.
01:00:01: also mussten sie das koordinieren mit.
01:00:03: die sagen, okay, wir akzeptieren auch, wenn alle SETs in solchen neuen Static-Logs drin stehen.
01:00:09: Also das ist nicht BR, sondern Browser basiert und ich glaube da auch noch nicht mal in ihrem Route-Programm, sondern in ihren separaten Certificate Transparency Guidelines.
01:00:20: Ich habe jetzt gerade mal parallel das Mozilla-Route-Ding aufgemacht und den kompletten Route-Programm-Document steht da dreimal das Wort Transparency drin und nirgendwo finde ich dieses ihr müsst machen.
01:00:33: Aber das ist auch gar nicht der Punkt, auf den es hier hinausläuft.
01:00:37: Der Punkt ist der, dass ein Partie A dieses ganze usable Qualified-Ding offenbar nicht so auf dem Schirm hatten, sondern die sind hingegangen, haben gesagt, ah, hier ist ein Transparency-Lock, das die passende Jahreszahl hat, dass das mir aktuell scheint.
01:00:52: Und das nehmen wir dann einfach.
01:00:54: Und dann ging das so ein bisschen schief, weil sie in ein Locker geschrieben haben, dass nur Qualified ist und aber nicht usable und sich somit und ihre Kunden einer fehlenden Rückwärtskompatibilität ausgesetzt haben.
01:01:09: Genau, die haben teilweise ja sogar noch geguckt.
01:01:10: Ja gut, dann mache ich halt irgendwie meinen Chrome auf und schaue, ob er das akzeptiert.
01:01:14: Ja, tut er ja wunderbar.
01:01:15: und das war dann so.
01:01:16: ja, weil das ein aktueller Chrome war
01:01:18: und
01:01:19: der halt diesen Qualified Lock schon drin hat.
01:01:22: Aber der ist halt noch nicht usable, weil irgendwo noch ein unterstützter, aber älterer Chrome in der Welt rumfliegt, der das halt noch nicht drin hat.
01:01:30: Genau, da geht es sogar dieses... dogfooding schief, wenn man ethion dogfood macht und dann sich sogar seine eigenen zertifikate dann anschaut oder so ein test zertifikat das möglichst nicht testeins.hr.
01:01:40: heißt oder so ausstellt dann sieht man in seiner umgebung dass das alles funktioniert.
01:01:46: aber in wirklichkeit funktioniert es möglicherweise für fünfzig leute irgendwo am andern ende der welt nicht.
01:01:52: aber das sind genau die fünfzig die dann den fehler auch möglicherweise finden so.
01:01:57: Das ist ein vor der gründlichen Beispiel dafür, wie komplex der Betrieb einer CA ist, die in den Browser Trust Stores ist und auf was die alles achten müssen und was die eben sauber implementieren müssen und wo Hex und Abkürzungen sich sehr rechen können.
01:02:11: In diesem Fall nicht besonders stark rechen können.
01:02:15: Man könnte das ganze Thema vielleicht ein bisschen vereinfachtern, wenn man, bevor man ein Zertifikat unterschreibt, eine ausgiebige Sündtagsprüfung macht.
01:02:23: Aber ob das in diesem Fall Funktioniert oder nicht, bin ich gar nicht mal so sicher.
01:02:30: Da kommen wir aber zu diesem Thema Südtagsprüfung bei Zertifikaten, kommen wir gleich auch noch kurz am Rande.
01:02:35: Und die CA's, das war glaube ich eigentlich die lesische CA, also mehrere CA's sind da aufgelistet worden und das war eine Sache, die einem Mitglied auf dieser Meldengiste aufgefallen ist.
01:02:45: und die haben dann gesagt, oh ja, das hat man nicht auf dem Schirm, unsere Automatisierung war da einfach falsch implementiert, wir ziehen das gerade.
01:02:53: Und dann kam natürlich die bange Frage, müssen wir jetzt die Zertifikate revokem?
01:02:59: Weil dann haben sie ja möglicherweise auch ein Ticket beim CA Browser Forum.
01:03:05: und dann guckt Ben... Na, wie heißt er noch, Ben?
01:03:09: Fällt mir gerade auch nicht ein.
01:03:10: Aber da
01:03:10: gucken halt kritische Leute drauf.
01:03:12: Da gucken mehrere kritische Leute dann drauf und dann gibt es irgendwie auf die Nase und dann muss man so einen Inseln-Report schreiben und so alles unangenehm.
01:03:20: Und dann sagte der Andrew Ayer, der auch beim CRB tätig ist.
01:03:25: Nee, bis hier nicht.
01:03:27: Aber die Zertifikate funktionieren nicht überall.
01:03:28: Die Zertifikate sind einfach technisch kaputt und ihr braucht die nicht revoken, aber ihr müsst davon ausgehen, dass das Supportaufwand ist und dass auch Kunden leuchtet auf die... auf die Barrikaden steigen oder in einer Weise Rückfragen stellen.
01:03:40: Dann ging ein merkbares Aufatmen durch die betroffenen CAs, so stelle ich mir das vor, wie die dann am Rechner saßen und dann so so, hau, Hauptsache kein Baxillaticket gewonnen und wir kommen dann nochmal glimpflich davon.
01:03:52: Aber auch das ist wieder eine Sache, die dann weiteren Implementierungs- und Testaufwand bei ihnen, bei den CAs bedingt und zeigt, was so eine CA alles beachten muss und wie komplex das ganze Gedöns ist.
01:04:07: Ja, weiß ich gar nicht, ob ich das so unterschreiben würde.
01:04:10: Also ich gehe mit, die Nomenklatur von diesem Statusfeld ist irgendwie komisch.
01:04:15: Ich weiß noch nicht, ob ich mich zum ersten Mal damit befasst habe, weil ich mir auch gedacht habe, was Qualified und Usable klickt irgendwie beides sehr positiv, was ist jetzt was und so.
01:04:23: Vielleicht um das kurz zu sagen, die Idee ist halt, Qualified heißt halt.
01:04:28: der Tauch sozusagen, der entspricht den Antworten des Browsers, den nehmen sie auf.
01:04:34: Aber erst wenn sozusagen alle unterstützenden Browser-Versionen den aufgenommen haben, ist er halt usable.
01:04:40: Normalerweise migriert es zu einem Log von Qualify dann irgendwann nach usable.
01:04:46: Was ich halt nicht so ganz verstehe ist, das gibt Dokumentation dazu.
01:04:51: Das muss ich mir als SCA halt durchlesen.
01:04:53: und es gibt eben auch dieses JSON-Pfeil, das du erwähnt hast, zumindest im Fall von Chrome, aber ich glaube im Fall von Apple auch.
01:05:01: Und bei Mozilla, das ist echt aus dem Kopf raus und wie gesagt, der Kopf ist voll mit Watte, aber ich glaube Mozilla hängt sich einfach an das Chrome.
01:05:07: Jason Fall dran.
01:05:08: Wurscht, der Punkt ist, es gibt da Maschinenlesbare Dateien, da steht drin, das sind die Logs, die wir kennen und zwar mit folgenden Status.
01:05:19: Und mir erschließt sie nicht so richtig, wieso ich den Automatismus baue, der nicht einfach des passt.
01:05:25: Also der dann irgendwie sagt, oh hier habe ich halt einen, der ist irgendwie neuer oder so, dann nehme ich den.
01:05:30: Da ist ein Statusfeld drin.
01:05:32: Wie kann ich denn, also entweder paar sich gar nicht dieses JSON-File und dann verstehe ich es nicht, weil das ist mit Abstand die einfachste maschinenlesbare Version, die ich davon krieg.
01:05:41: Oder ich paars dieses JSON-File und ignoriere dann aber das Statusfeld, was mir auch nicht einleuchtet, weil das sehe ich.
01:05:46: Ich meine, dieses JSON-File ist jetzt ein paar Dutzend Zeilen lang.
01:05:48: Das ist auch nicht so, dass ich sage so, habe ich übersehen oder so.
01:05:50: Also, ich verstehe nicht so ganz, wie ich mir einen Automatismus bauen kann, der nicht einfach direkt auf dieses Statusfeld achtet.
01:06:00: Kannst du ja mal auf der Mailingliste fragen?
01:06:02: Ja, hab ich auch schon überlegt, aber da irgendwie einfach nur Leuten ins Main zu pinkeln, ist auch nicht so produktiv.
01:06:09: Aber was ich meine ist, ich weiß gar nicht, ob das wirklich ein Beispiel ist für wie komplex es ist, ein CA-Betrieb zu sein, dass es sicher sehr komplex ist, ein CA zu sein, aber das ist eigentlich ein Fall, wo ich mir gedacht hätte, naja, pass halt dieses Jason-Fall, klickst du hin.
01:06:23: Ja, aber d'accord, kann man so sehen.
01:06:30: Wir bleiben bei PKI.
01:06:32: Ich hoffe, ihr habt euch ein Tee geholt, das kann jetzt noch ein kleines Weichen dauern.
01:06:36: Und kommen zu einem kleinen Zusatzabsatz in der Ankündigung der verkürzten Zertifikatslaufzeiten, denen ich aber doch nochmal separat thematisieren möchte, weil das ein Thema ist, was uns immer wieder auch von Hörern angetragen wurde.
01:06:48: Ich habe laut und ständig gesagt, wer seine Zertifikate und seine Zertifikatserneuerung nicht automatisiert, der ist selber schuld, gibt keinen Grund, das nicht zu tun, da bleibe ich auch bei.
01:07:01: Das ist einfach eine Sache, die unheimlich von Automatisierung profitiert, weil es dann einfach weg ist.
01:07:07: Du hast dann nichts mehr mit damit zu tun.
01:07:09: Und es gibt dann ja diese Http.noneins-Verifikationsmethode für LetzendClub-Zertifikate.
01:07:14: Also wir sind hier bei Acme, also wenn ich jetzt LetzendClub sage, dann meine ich eigentlich Acme, weil alle anderen ja dieselben Verifikationsmechanismen implementieren.
01:07:23: Und da zeigst du im Grunde, indem du ein Temporären-Webserver hochfährst, dass du den kontrollierst und dann kriegst du ein Zertifikat.
01:07:30: Du kannst das aber auch über andere Methoden machen und vor allem eben auch über DNS.
01:07:34: Da setzt du für die Domain, für die du ein Zertifikat haben willst, setzt du ein DNS Text-Entry und was da drin steht, gibt dir deinen ECME-Klein vor.
01:07:42: Das heißt, das muss mehr oder minder, da sind nicht in Echtzeit, das ist ja in der Informatik ein besetzter Begriff, aber das muss recht schnell innerhalb von Sekunden passieren, dass du diesen DNS-Eintrag setzt, dann wartest du in eine Minute oder deinen Kleinen wartet eine Minute, bis der sich im DNS propagiert hat.
01:07:58: Praktien von drei verschiedenen Perspektiven aus ab und sieht, da ist dieser Texteintrag, also darf derjenige, der gerade das Zertifikat angefordert hat, darf das Zertifikat auch bekommen.
01:08:09: Das hat einen großen Pferdefuß, der Automatisierung nicht erleichtert, nämlich du brauchst, ein automatisierte Möglichkeit DNS-Einträge zu setzen und idealerweise dann möglicherweise auch irgendwann wieder abzureißen, aber erstmal zu setzen und muss dafür dann also irgendeinem Acme-Client über irgendeinen API oder irgendwelche anderen technischen Möglichkeiten, die rechte Einräumen in deiner DNS-Zone rumzuvorwerken.
01:08:38: Und gerade betreiber großer DNS-Zonen, also zum Beispiel Universitäten oder andere auch vielleicht dezentrale Einrichtungen, wo viele Abteilungen drin sind, sind da naturgemäß etwas zurückhaltender als ich mit meiner Privatdomäne, wo im Grunde eine Person daran rumvorwerkt.
01:08:55: Und dann wird dieses DNS-Oleins überraschend komplex, weil ich eben nicht die Möglichkeit habe, einfach über einen API-Call diesen Texteintrag zu setzen.
01:09:05: Ich selber, das habe ich ja auch schon in der Folge zu DNS-Sec erzählt, mache das über DSAC, diesen deutschen Anbieter, dessen Gründer bei uns im Podcast war und mit uns über DNS-Sec geredet hat.
01:09:16: Und da gibt es ein einfaches API und dann kriegst du so ein Key und ein Secret und dann ist das auch alles vergleichsweise sicher, aber das ist da eben nicht jedem.
01:09:27: Die Frage ist eben, also wie kann ich diese DNS-Challenge so automatisieren, dass ich das idealerweise nur einmal machen muss und nicht für jedes Zertifikat, damit nicht jede IP-Cam irgendwo außen an meinem Institutsgebäude zuurft per API auf meine DNS-Zone braucht.
01:09:44: Und die Letztengpub-Leute haben jetzt ein bisschen angeteasert in ihrem Blogantrag zu den forty-fünf Tagen zu der Verkürzung.
01:09:51: Das ist da was... geben soll, und zwar eine neue Verifikationsmethode, die soll heißen DNS persist or one, also DNS persistierend zero eins.
01:10:02: Und da ist das Grundprinzip, so wie ich das aus dem Draftdokument verstanden habe, dasselbe wie bei DNS zero eins, nur dass du diese Challenge und diesen Eintrag dann länger, und zwar so wie ich es aus dem Draft gelesen habe, sogar unbestimmt lang nutzen kannst.
01:10:17: Du kannst ein Enddatum angeben, wenn du diesen DNS-Eintrag setzt.
01:10:21: Der darf nicht nach dem ein dreißigsten zwölften, zwanzig, sieben, zwanzig genutzt werden mit einem Unix Timestamp.
01:10:26: Aber du kannst das auch, so wie ich es verstanden habe, unbegrenzt lange dann nutzen.
01:10:31: Da bin ich noch nicht ganz sicher, ob es da nicht die Sicherheitsimplikationen gibt, die ich jetzt noch nicht so ganz durchblicke.
01:10:36: Aber ich glaube, das könnte wirklich helfen in den Setups, in den Automatisierungen mit den traditionellen ACMI-Werifikationsmethoden, nämlich HTT-Pil-Null-Eins und DNS-Null-Eins momentan noch sehr schwierig oder... gefühlt unmöglich ist.
01:10:52: und dieses dieses ding ist im moment noch im draught status ist also noch kein ist noch nicht fertig kein.
01:10:58: du kannst das morgen noch nicht einsetzen.
01:11:01: Und wird auch noch ein weich in dauern weil da eben nicht nur letzt angrück dran mitarbeitet sondern dann muss natürlich dann auch noch das cw irgendwie mit ins bod und die anderen eckme implementierenden ca's haben da ja auch noch ein bisschen an mitzureden.
01:11:14: das fand ich aber wirklich eine interessante entwicklung und kann es eben.
01:11:18: an vielen Stellen noch interessanter und einfacher machen, CAs zu verwenden, die auf Acme setzen, um dann eben wirklich die Zertifikatsgenerierung auch in diesen Fällen voll zu automatisieren.
01:11:31: Ja, das sehe ich ganz ähnlich.
01:11:33: Ich muss auch sagen, ich habe mir den Drafter nicht angeguckt, damit wahrscheinlich auch warten, bis der nicht mehr draft ist.
01:11:41: Aber wenn Sie das einigermaßen sicher hinkriegen, dann ist es sicher eine Erleichterung.
01:11:46: wie du sagst, es gibt ja A, gibt's DnLs, anbieten die nicht mal eine gescheite Appi, da sollte man sich dann vielleicht überlegen, anbieten zu wechseln.
01:11:56: Aber B ist es halt auch, will man diese Appi nicht von überall her irgendwie, also allen Milchgeräten Zugriff auf diese Appi geben.
01:12:04: So,
01:12:05: das ist vielleicht nur als letzter Satz auch noch ein weiterer zusätzlicher Use Case für DNS-Sack, aber das ist also auch jetzt eher nur so ein Tagente.
01:12:16: Jetzt kommen wir zu...
01:12:18: Irgendwas mit K.I.
01:12:18: kommt jetzt, glaube
01:12:20: ich.
01:12:23: Wir sind immer noch nicht fertig mit der Publikäinfrastruktur, wie gesagt.
01:12:30: Natürlich haben wir einen Tunnelblick im Sinne von, dass wir so was mitkriegen und sehen, aber irgendwie hat sie so einfach geholfen, dass das alles in den letzten paar Wochen aufgekommen ist.
01:12:40: Bei Ubuntu, das geht es, glaube ich, relativ schnell, basteln sie einen UPKI.
01:12:46: Im Prinzip CRLight für alles was kein Browser ist, über CRLight haben wir in Folge neun in zwanzig geredet, da würde ich euch darauf verweisen, aber sozusagen ganz kurz, das Problem ist der Wiederruf von Zertifikaten.
01:13:01: Nachdem aus CSP, also das Online-Certificates-Protokoll abgeschaltet wird oder nicht mehr wirklich benutzt wird, dann funktionieren Wiederrufe im Prinzip nur noch per Revocation List, also CRL.
01:13:13: Diese Listen skalieren ganz, ganz schlecht.
01:13:15: Das ist einer der Gründe, warum man die ZWK's Laufzeiten immer weiter verkürzen will, weil man halt dieses Widerrufsproblem nicht irgendwie gut in den Griff kriegt und nicht skalierend in den Griff kriegt.
01:13:25: Aber mit CR Light skalieren sie zumindest sehr, sehr viel besser.
01:13:29: Das ist einfach eine sehr geschickte Datastruktur, die beim Mozilla ersonnen wurde, die jetzt auch nochmal deutlich verbessert wurde, dass sie noch stärker kompimiert.
01:13:39: Und die schafft's halt sozusagen... Diese Listen, die er praktisch jedes wiederrufende Zertifikat enthalten sollen, beeindruckend effizient zu übertragen.
01:13:49: Firefox hat es eingebaut, andere Browser schauen sich das an.
01:13:53: Und es ist halt irgendwie schön, dass die Browser da was machen, aber was ist denn mit all den anderen Programmen, irgendwie Standardbeispiel für sowas ist natürlich Curl, aber was ist mit den ganzen Paketmanagern, die von irgendwoher Software ziehen und irgendwie auch wissen wollen, ob sie damit im richtigen Server reden und der Server kein wiederrufendes Zertifikat präsentiert.
01:14:11: Und diese anderen Tools, die gucken halt irgendwelche anderen Trust Stores, welche Zertifikate, also welche C.A.S.
01:14:19: da drin hängen und weiß gar nicht, ob sie dann überhaupt irgendwie gucken, ob das Zertifikate wiederrufen wurde oder nicht.
01:14:27: Diese Trust Stores gibt es an tausend Stellen, nicht nur im Browser.
01:14:30: Ich habe mit Jan Mahn, den ihr ja auch aus Podcast kennt, mal ein Artikel dazu geschrieben.
01:14:35: Tut mir die Show Notes, glaube ich.
01:14:37: Und eigentlich ist es ein Unding.
01:14:39: dass es A. Diese All-in-Mirchen-Trust was in einigen Ecken gibt und halt die Browser auch ihre eigenen Trust was mitbringen und dann auch noch ihre eigenen Süppchen köchen, was sie jetzt sozusagen an Verification machen oder nicht.
01:14:54: Das einzige sozusagen was man dazu Ehrenrettung sagen kann ist, dass das besser ist als als nix, weil noch schlimmer ist, dass nur diese Browser so ein Süppchen in Köchen kochen und Die meiste andere Software einfach sich halt irgendwie den Betriebssystems-Dustdoor benutzt.
01:15:09: und da gibt es halt zumindest so eine Linux, weil es ehrlich gesagt gar nicht wie so der Windows aussieht, keine vernünftige Methode, um da Revocations irgendwie abzuwickeln.
01:15:18: Und genau das soll jetzt eben UPKI machen.
01:15:22: Das ist letztendlich jetzt zwei Kommandozeintools, um so CLI-Daten zu holen und dann in solchen CLI-Daten eben nach Widerufen zu suchen.
01:15:31: Es ist aber auch, oder es soll auch, kommen wir gleich dazu, eine Library sein mit einer stabilen ABI, damit dann übliche Libraries wie OpenSSL, wie GNUTL-S und so weiter diesen Test eben einfach einwollen können, einfach gucken können, ist UPKI hier vorhanden, ja wunderbar, dann schmeiß ich das Zertifikat.
01:15:51: kurz dagegen, ob das wiederrufen wurde.
01:15:54: Die CR-Light-Daten, also wie gesagt bei Ubuntu basteln sie an diesem Tool, diese CR-Light-Daten kommen erstmal von Canonical, die werden da für Serverinfrastruktur betreiben und werden sich die Daten selber wiederum von Mozilla holen, die ja CR-Light machen.
01:16:08: Das machen sie vornehmlich deswegen, dass sie halt nicht auf die Mozilla-Infrastruktur angewiesen sind und weil sie halt auch eventuell manche Wiederrufe da irgendwie länger drin lassen wollen oder so als Mozilla, dass sie da ein bisschen Flexibilität haben.
01:16:23: Mein Fazit dazu ist eigentlich irgendwie super Zeitwürz, aber es ist eigentlich bitter nötig, dass es so ein Tool gibt.
01:16:32: Zeitwürz aber auch in dem Sinne von, das ist eine Ankündigung.
01:16:34: Sie haben noch nichts davon geschrieben.
01:16:37: Sie haben nur gesagt, sie wollen das schreiben.
01:16:39: Sie haben auch gesagt, und das ist ja sehr, sehr schön.
01:16:41: Sie machen das halt, also paketieren das jetzt erstmal für Ubuntu, weil sie halt irgendwie Ubuntu Entwickler sind und keine Kalendienstruktur stellt, aber... Das wird in Rust geschrieben.
01:16:51: Das sollen natürlich auch alle möglichen andere Dienungsdiskussionen für sich paketieren können.
01:16:56: Und wer will, kann eben auch selber sich so einen Server-Infrastruktur hinstellen, um auch so CLI-Daten zu hosten.
01:17:03: Und das wäre natürlich richtig schön, ne?
01:17:06: Sie wollen die erste Preview schon in Ubuntu-Sixundzwanzigvier haben.
01:17:10: Das ist ja, wie der Name sagt, im April erscheinen soll nächstes Jahr.
01:17:14: Und meine Hoffnung wäre, dass es dann sehr schnell sich auch in andere Legislationen verbreitet.
01:17:21: Und dass wir in den einigermaßen akzeptable Widerrufinfrastruktur eben auch für diejenigen kriegen, die kein Browser sind.
01:17:30: Und damit habe ich sozusagen meine gute Nachricht abgeschlossen.
01:17:33: Endlich mal eine gute Nachricht im PKI-Raum.
01:17:35: Genau.
01:17:36: Jetzt kann ich dir die Laune auch gleich wieder verderben, denn ich komme jetzt noch mit etwas anderem um die Ecke.
01:17:40: Aber wir bleiben noch ein letztes Mal bei PKI und wir haben ja ... In einer der vergangenen News Folgen über diese.
01:17:47: Cfina geredet, die sich so ein bisschen die Karten gelegt hat.
01:17:52: Die.
01:17:54: Nicht in den Browsern ist außer im Internet, also wie heißt der Internet Explorer dieses Jahr gerade etch.
01:18:00: Ja,
01:18:01: also die Microsoft
01:18:03: aus.
01:18:03: jetzt haben sie jetzt.
01:18:06: Jetzt haben sie jetzt gerade diesen Internet Explorer Modus irgendwie, also nicht rausoperiert, aber den irgendwie schwieriger Zugang nicht gemacht, weil der hatte ja immer noch so diesen Modus, wo er sagt, so ja, ja, ich render das hier irgendwie mit.
01:18:16: Triton oder wie hieß die Engine von Internet Explorer?
01:18:19: Also so für Firmen, die halt sagen, ich habe hier eine Webseite und die ist von so fünf und die funktioniert nur im Internet Explorer.
01:18:27: Dafür hat der erst noch einen Modus.
01:18:30: Für hatten wir da immer so, gab es immer so Buttons.
01:18:32: Das war so die Demakationslinie in den ersten Browser kriegen.
01:18:34: Diese achtundachtzig mal einunddreißig Pixel großen Buttons in sechzehn Farben als GIF best viewed on Netscape oder best viewed on Internet Explorer.
01:18:44: Das war so, da war die Front dann sofort klar.
01:18:48: Und ich habe auch Webseiten geschrieben mit Browserweiche.
01:18:51: Da kann ich mich noch gut dran erinnern.
01:18:52: Also manueller Browserweiche.
01:18:53: Da musst du es dann klicken.
01:18:54: Kommst du hier mit dem Internet Explorer oder mit dem Netscape?
01:18:57: x'en neunzig naja die fina ist auf jeden fall die finanzia agenz jeska oder so in kroatien.
01:19:07: Die macht da eine ca die unter anderem e bei microsoft drin ist die aber auch diese qualifiz diese quack zertifikate qualifiz web Implikation certificate
01:19:19: also der vorstoß der eu Dass man mit zertifikaten nicht nur absegnen soll.
01:19:25: mit welcher domain redest du hier sind auch mit wem redest du hier was gut gedacht und leider schlecht gemacht ist.
01:19:32: Also Quark aus der EU.
01:19:38: Das ist der Hügel, auf den ich sterben werde.
01:19:40: Das ist Quark aus der EU.
01:19:42: Die haben Probleme gehabt, weil sie unter anderem für den Cloudflare Name Server eins als eins und dann Zertifikat ausgestellt haben und für so Illustro-Domains wie test.hr und Domains mit Unterstrichen und also Zeugs.
01:19:54: Und haben sich damit ein Bugzilla-Ticket angefangen.
01:19:56: Und jetzt fällt mir der Nachname von Ben auch wieder ein.
01:19:58: Ben heißt Ben Wilson von Mozilla.
01:20:01: Und da hatten sie nämlich auch vor Urzeiten, vor sieben Jahren oder so mal beantragt, sie wollten gerne in den Truststore von Mozilla.
01:20:07: Deswegen hat Ben Wilson aber auch einige andere Akteure im CA Browser Forum auf dieses Ticket sehr genau drauf geguckt und einige sehr spezifische Fragen gestellt, von denen er spezifisch verlangte, dass sie spezifisch beantwortet werden.
01:20:18: Da steht wirklich in dem Ticket dieser Response.
01:20:21: würde Fina bitte mit spezifischen Antworten darauf reagieren, was ich sie jetzt gleich frage?
01:20:26: und dann reagieren die immer mal einen Monat nicht und dann mal sechs Wochen nicht.
01:20:30: und dann schreiben sie dann da Antwort, wo man dann suchen muss, wo die Frage und wo die Antwort ist, weil sie das Quoting nicht ganz beherrschen ist.
01:20:38: Also alles so ein bisschen illustriert, deswegen gucke ich da ab und zu mal so eine Art Katastrophentourismus in dieses Ticket rein und ich bin da subscribed, also kriege dann auch die neuen Kommentare.
01:20:48: Es gab dann... vor etwa zwei wochen diese spezifische antwort auf die frage von wer ist die keine seiner fragen spezifisch beantwortet.
01:20:56: das muss man auch erst mal hinkriegen.
01:20:59: Und sie haben dann da hat er dieser Mitarbeiter von der zia mit einer liste mit action items geantwortet unter anderem so sachen wie.
01:21:09: Wir verbieten jetzt bestimmte Zertifikate auszustellen.
01:21:14: Das ist ja schön, dass ihr das jetzt tut.
01:21:16: Das hättet ihr aber vorher auch machen müssen, denn FINA ist Etsy Auditiert und Baseline Requirement Conform.
01:21:21: Behaupten Sie zumindest selber.
01:21:23: Und für diese Inklusion in diesem EU-Quark muss man auch ein Audit vorweisen.
01:21:28: Ich weiß allerdings nicht mehr genau welchen.
01:21:30: Ich glaube, das ist dann von der jeweiligen nationalen Behörde, die diese EU-IDAS-Geschichten verantwortet.
01:21:37: Da stehen in der Liste noch ein paar ganz witzige andere Sachen drin, zum Beispiel Employee Training on Requirements and Procedures for Providing Trust Services, also die grundlegende Weiterbildung der Bittarbeiter, Ongoing und Evaluationskriterien, also Erfolgskriterien, größere Zuversicht und Unabhängigkeit in der Arbeit erhalten, fand ich jetzt auch irgendwie interessant formuliert.
01:22:00: Also insgesamt entsteht da so ein bisschen das Bild einer CA.
01:22:03: die große Schwierigkeiten mit der Komplexität des Betriebs einer CA hat, das vielleicht auch ein bisschen unterschätzt hat und das so als Nebenbetrieb zu ihren sonstigen Tätigkeiten, das ist nämlich eine große Finanzagentur in Kroatien, die auch unter anderem Wechselstuben betreibt hatte.
01:22:19: So, dann wurde sie gefragt in einer weiteren Frage, wie sieht das denn eigentlich aus?
01:22:27: Macht ihr denn eigentlich auch Zertifikatslinting?
01:22:31: Da musste ich ein bisschen schlucken, weil ich nicht wusste, was Zertifikats-Linting ist und habe mich dann ein bisschen aufgeschlaut und dachte, ich erzähle das mal.
01:22:39: Also, wichtige Anmerkung hier.
01:22:41: Christopher ist nämlich auch keine CA.
01:22:44: Der muss sowas nicht wissen.
01:22:46: Nee, und ich kenne das auch nur aus... PHP hat ein Kommando-Fleck minus L, das lintet dir dann deinen Skript und das ist auch lint, kommt ja aus der Softwareentwicklung.
01:22:55: Ich habe das als formalen Begriff einfach nicht auf der Uhr gehabt, dass das genau das gleiche ist wie im Zertifikat-Space.
01:23:02: Im Grunde eine statische Analyse desjenigen Gegenstands, der dem Linter vorgeworfen wird anhand irgendwelcher Regeln, die im Linter eingebaut sind.
01:23:10: Also das können einfach Bugs sein, Programmierfeder, die keinen kompiler error hervorrufen sondern nur eine warning oder das kann auch kann auch stylisch sein dass deine variablen namen nicht kennel caps sind oder was war immer und irgendwelche konventionen die der autor des linters oder der verwender des linters beliebig setzen kann.
01:23:31: du kannst dann sagen ich möchte gerne dass das semicolon immer.
01:23:35: dass davor immer ein space ist in meinen skripten.
01:23:37: ich weiß nicht was für eine sorte mensch das tun würde aber könntest du den blinder sagen und dann guckt er halt da drauf oder hab so ein space ist als programmier konvention.
01:23:46: bei zertifikaten also in der x-fiften und neun welt ist das dasselbe.
01:23:49: das macht man natürlich schlauerweise bevor das zertifikat unterschrieben ist weil danach ist ein bisschen spät und das linting von zertifikaten hilft einer ca.
01:23:59: all die häufigen fehler quellen zu vermeiden und auszuräumen die technisch erkennbar sind.
01:24:05: Denn am Ende ist das eine Code-Analyse auf einem X-Fünf-Nurren-Zertifikat und da kannst du natürlich keine organisatorischen Versäumnisse, zum Beispiel mangelnde Überprüfung des Nachweises der Berechtigung erkennen, sondern nur technische Versäumnisse.
01:24:21: Also, diesen Fall, dass FINA für eins, eins, eins, eins ein Zertifikat ausgestellt hat, obwohl sie das nicht durften, weil ihnen einfach keine Autorisierungsvorlag, der lässt sich mit einem Linter relativ schwierig beseitigen.
01:24:32: Weil der nur das CSR, also den Zertifikatsrequest oder das Prezertifikat sieht und dann nicht so richtig organisatorische Fehler sehen kann.
01:24:42: Ja.
01:24:43: Ja, aber also, ne, ich will gar nicht widersprechen, nur als sozusagen Gegenbeispiel oder nicht, als Konterbeispiel.
01:24:51: Aber irgendwie ein Zettifikat, das halt auf, ein, zwei, eins, sechs, acht, irgendwas ausgestellt ist.
01:24:55: Das könnte halt so ein Linter sehr gut rausfischen, weil das ist halt eine private IP und da darf kein Zettifikat drauf ausgestellt werden.
01:25:03: Kommen wir gleich zu, ist tatsächlich ein Fall, den ich bei dem, was ich mir angeschaut habe, nicht gefunden habe.
01:25:07: Aber sprechen wir gleich darüber.
01:25:09: Es gibt verschiedene ... Linda für Zertifikat, es gibt einen ganz bekannten, das ist Z-Lint, der ist mir vor allem deswegen bekannt, weil dessen Autor in dem Ticket die Fina gefragt hat, warum sie denn nicht linden.
01:25:22: Und das ist der Daniel Mercani, mit dem habe ich mich dann abseits von diesem Back-Ticket noch ein bisschen unterhalten und ein paar Fragen gestellt, vor allem die ist denn Linting eigentlich eine schwere Sache.
01:25:33: Denn Fina hat geantwortet, nee, Zertifikats Linting machen wir nicht weil wir haben da den linter irgendwie nicht richtig installiert und konfiguriert gekriegt.
01:25:43: und da.
01:25:44: das nötigt mich dann zu der rückfrage beim beim auto des linters ob das denn.
01:25:49: Komplexe Aufgabe sein sollte.
01:25:51: das ist nicht schwer.
01:25:52: also das ist auch so ein.
01:25:55: low hanging fruit, das jede ca machen sollte, der muss es halt wissen, der hat zettelend geschrieben und das ist der linter, den ich mir dann auch zumindest ein kleines bisschen aufgeht habe angeguckt habe und der hat verschiedene regeln und implementiert die regelwerke verschiedener institutionen die in diesem webpikai space auch hier sind wir eigentlich wieder fast ausschließlich einer webpikai jetzt erstmal unterwegs hinterlegt sind, du kannst den aber auch natürlich für irgendwas außerhalb der webpikai nutzen, Hauptsache es ist x und von neun.
01:26:24: App Ins Root Programm sind Regeln hinterlegt, natürlich die Baseline Requirements, also die technisch umsetzbaren Regeln aus den Baseline Requirements aus den CA Browser Form Extended Validation Requirements von Mozilla und verschiedene X-Fiften und neuen und CA und Zertifikatsrelevante RFCs, die technische Richtlinien enthalten.
01:26:44: Und dann gibt es eben so Beispielregeln wie, wenn du einen OCSP Responder hast, klammer auf, hat ja sowieso jetzt keiner mehr, klammer zu.
01:26:52: Dann darf der nur eine http url haben keine https url.
01:26:56: oder wenn du ein domain validiertes zertifikat hast also wo der da die signierte information im wesentlichen eine domain ist wie heiße de dann darf dann nicht.
01:27:07: zusätzlich noch die dürfen die felda für die adresse den namen der firma und sowas existieren weil das ein domain validiertes zertifikat ist.
01:27:15: da haben die nichts drin zu suchen und die dürfen dann natürlich auch nicht mit signiert werden Denn diese Felder werden ja nicht auf ihrer Authentizität überprüft.
01:27:22: Andersrum, bei einem sogenannten Extended Validation-Zertifikat dürften die drin sein und genau solche Sachen überprüft der Linter.
01:27:28: Und dann gibt es noch das, was du jetzt gerade angesprochen hast.
01:27:30: Und da habe ich tatsächlich nur reservierte, also IANA reservierte Adressen gefunden, die nicht im Common Name stehen dürfen, aber nicht F-C-Ninzen-Achzehn.
01:27:39: Vielleicht habe ich das falsch gesucht, vielleicht ist es nicht im Linter.
01:27:43: Ich will mich dann nicht auf eine Antwort festlegen, vermutlich mein Versäumnis, aber das habe ich tatsächlich nicht gefunden.
01:27:47: Aber es gibt... Genau solche Regeln auch bei Z-Lint, da geht es dann aber um reservierte IP-Adressen.
01:27:53: Und es gibt eine Regel, die sagt, in deinem C-Name, wenn da eine Domain drin steht, darf kein Unterstrich drin sein.
01:27:58: Und das hat zum Beispiel Fina, weil sie ihre Zertifikaten nicht linden, bevor sie sie unterschreiben, genau gemacht und ist damit auch auf die Nase gefallen und das wurde ihnen auch angekreidet.
01:28:08: CAs können für so Linter, Z-Lint ist Open Source, könnt euch auf GitHub angucken, auch eigene Regelwerke schreiben.
01:28:16: Das macht aber vermutlich nicht jeder.
01:28:17: ich hab das den Daniel gefragt und er sagt er kennt nur eine.
01:28:22: das heißt nicht dass es nicht mehr gibt aber er kennt nur die ein und das ist letztend kript.
01:28:26: Und da habe ich mir mal die lintern plug ins die mir geschickt hat beziehungsweise der link zur github den er mir geschickt hat angeschaut.
01:28:32: und die haben ein ganz witziges plug in das wo man so sieht dass du dann auch absolute edge cases die nur auf deinen eigenen.
01:28:39: Vergaberegeln beruhen mit so einem lintern technisch überprüfen kannst die.
01:28:44: Let's Encrypt hat festgelegt, unsere Zertifikate sollen immer eine Laufzeit von vollen Minuten haben.
01:28:49: Da sollen nicht irgendwelche Sekunden überbleiben.
01:28:51: Also schreiben Sie eine Linterplugin.
01:28:53: Das guckt auf die Laufzeit des Zertifikats.
01:28:56: Und wenn die Laufzeit Modulo-Sechzig nicht null ist, dann wirft das Ding Fehler.
01:29:02: Das sind vierzig Zeilen oder so.
01:29:03: Das ist ein ganz, ganz kleines Skriptchen oder ein kleines Programmchen und das macht genau diese Überprüfung.
01:29:09: und dann ist dieser eine Fall in der Let's Encrypt-Regel, in der Regularien abgedeckt und ganz easy Nummer.
01:29:18: Also diese Linter machen einer CA die technische Konformität zu dem, zu dem sie konform sein muss, sein, dass irgendwelche Etsy-Requirements, LFCs, baseline requirements und so weiter leichter sind.
01:29:30: natürlich aber, weil sie organisatorische Themen nicht sehen können.
01:29:34: Keine Heilmittel und dementsprechend überrascht sind auch alle Spieler in diesem Ticket von der FINA, dass sie dieses lintig Thema noch nicht angegangen ist und dass sie das noch nicht fertig hat.
01:29:46: und sie haben dann noch länglich dazu geantwortet, warum sie das technisch nicht hinkriegen.
01:29:54: und Sie wollen jetzt bis in vier tagen zumindest ein ein provisorium bauen und zwar ein gesigniertes präzertifikat zum linting also in durch den linter schicken um dann im präzertifikat noch irgendwelche fehler zu finden bevor das eigentliche zertifikat.
01:30:14: Ausgeworfen wird.
01:30:16: und dann würden sie wenn fehler kommen so schreiben sie das wir woken und das nicht in ct schreiben und das zertifikat natürlich dann auch nicht.
01:30:25: ausstellen.
01:30:30: Mal gucken, weil das ist eine relativ enge Timeline.
01:30:32: Sie müssen vor Weihnachten nämlich auch noch ihre ganzen Produktionsworkflow umstellen.
01:30:38: Sie müssen ihre Mitarbeiter weiterbilden.
01:30:39: Sie haben noch einen internen Audit vor der Brust.
01:30:42: Der steht auch bis zum zehnten Zwölften hier auf der Agenda.
01:30:45: Also das bleibt spannend, ob und was Fina da umsetzen kann.
01:30:48: Aber klar ist, dass sie sehr viel Vertrauen in den... in ihre CA schon verspielt haben.
01:30:55: Und wenn die irgendwann meinen, die Browser Trust ausreihen wollen, dann werden sie es vermutlich sehr schwer haben.
01:31:00: So, und jetzt machen wir einen kleinen Trommelwirbel, weil ich glaube, wir sind mit PKI fertig.
01:31:05: Ja, also ich bin noch mal beschwanken, ob ich jetzt sozusagen Mitleid mit den Leuten bei der FINA haben soll, die scheinen wir kein schönes Weihnachten haben.
01:31:15: Und anders jetzt bin ich ein bisschen überrascht.
01:31:18: Also, man hätte auch sagen können, na gut.
01:31:21: und dann halt nicht, wir sind eh nicht in den meisten Trustores, das haben wir uns irgendwann angedacht, aber irgendwie steht das alles nicht dafür, aber diesen Schluss ziehen sie ja scheinbar nicht, sondern sie versuchen das jetzt irgendwie hinzukriegen.
01:31:35: Also ja, ich weiß gar nicht, ob es an Sie gibt oder ob es nur ein R ist, ehrlich gesagt, der antwortet immer nur einen Mitarbeiter, keine Ahnung, wie groß das CA-Team von denen ist, aber ich glaube, Sie können einfach nicht anders, denn Sie sind in Kroatien ja die... Die Ausstellen, also die eine Stelle für Quack, für diese ganze Quack-Eidas-Geschichte.
01:31:54: Also aus dem CA-Thema kommen sie nicht raus.
01:31:57: Und ich glaube auch nicht, dass sie ein Inklusionsrequest für den Mozilla Trust-Store schon zurückgezogen haben.
01:32:06: Am Ende, ich glaube, sie haben jetzt so ein bisschen das Gefühl Augen zu und durch und vermutlich ist viel von dem, was sie jetzt machen müssen, was ihnen angekreidet wurde von der CAB.
01:32:17: auch was, was sie wahrscheinlich sowieso für ihren Etsy Audit machen müssen und eben um in diesem Quack-Space weiter aktiv bleiben zu können.
01:32:25: Das kann natürlich sein.
01:32:26: Ich muss sagen, diese Anforderungen an Quack-Zertifikate habe ich mir noch nicht näher angeguckt.
01:32:34: Aber es kann natürlich auch sein, dass die auch irgendwo sagen, so, hey, Lin Ding, wir haben eine gute Idee.
01:32:39: So, aber wie du gesagt hast, wir sind fertig mit der PKI, man glaubt das kaum, wir kommen in Zukunft einem anderen.
01:32:46: Freulich ein Thema, damit kann man doch ganz nett irgendwie sozusagen auf Weihnachten zugehen.
01:32:51: Es gibt Neuigkeiten vom Torprojekt.
01:32:54: Und zwar eine ganze Reihe davon, auf die ich nicht alle eingehen werde.
01:32:57: Es gibt zum Beispiel passend zu unserer Folge, so ein bisschen passend zu unserer Folge zur Great Firewall of China.
01:33:02: Vom Torprojekt einen Artikel zu Entwicklungen in den twenty-fünfundzwanzig bei Internet-Sensoren und den Gegenmaßnahmen Tors.
01:33:10: Allerdings explizit mit Fokus auf den Iran und Russland.
01:33:14: Es war aber ein ganz, also fand ich einen ganz interessanten Artikel, den tun wir euch einfach in die Show Notes und den könnt ihr euch durchlesen, wenn ihr Lust drauf habt.
01:33:20: Wir wollen über was anderes reden, was
01:33:22: auch
01:33:23: eine aktuelle Ankündigung von Tor ist, nämlich über Counter-Galoire-Onion.
01:33:31: Dazu muss ich nochmal kurz, ich meine, wir hatten ja eine Folge zu Tor schon mal, die ist aber so lange her, dass ich vergessen habe, sie hier reinzuschreiben.
01:33:37: Rechnet vielleicht auch noch nach.
01:33:39: Aber kurz sozusagen nochmal... Ausgreifen, die funktioniert Tor eigentlich, das ist ja so ein Netzwerk, das anonymes Surfen unter anderem ermöglichen soll, durch Onion Routing, das heißt, so eine Nachricht passiert mehrere Hops in diesem Netzwerk und sie wird, wenn ich jetzt drei Hops habe, üblicherweise, dann wird sie dreimal verschlüsselt und jeder von diesen Hops kann so eine Verschlüsselung runterziehen.
01:34:08: Und das Schöne ist, dass nur der erste sieht, wo die Nachricht herkommt, nur der letzte sieht, wo die Nachricht hingeht und die dazwischen sehen gar nichts.
01:34:17: Und so soll eben verhindert werden, dass auch bösartige Notes die Teil dieses Netzwerks sind irgendwie sehen können, wer hier eigentlich mit wem kommuniziert.
01:34:28: Der Punkt ist halt, das klingt jetzt, wenn man das so sagt, relativ trivial, aber das ist halt wie immer in der Praxis dann gar nicht so einfach, so eine Verschlüsselung muss möglichst wenig Overhead haben, also einerseits bandbreitenmäßig, weil ich ja eh schon sozusagen kein, sondern nicht effizientes Netzwerk habe, wenn ich alles irgendwie über mehr Hops ziehe, die ja nicht geografisch sinnvoll sind, sondern einfach nur dazu versorgen sollen, diese Anonymität zu generieren.
01:34:53: Und sie müssen halt, also diese Verstüßlung muss auch von der CPU Performance ja einigermaßen handhabbar sein, sodass die Hops nicht alle komplett ausgelassen sind, weil sie die ganze Zeit nur diese Verstüßlung runternehmen und sozusagen da einfach ein Bottleneck in Flaschenhals entsteht.
01:35:08: Und was auch eine ganz nette Sache ist, also es gibt ja Verschlüsselungssysteme, also wenn ich irgendwie, wo dann ein Header dazukommt oder so, sodass die Nachricht ein bisschen wächst, wenn ich sie schiefriere.
01:35:20: Das ist bei so einem System wie Tor wäre das sehr ungut, weil das würde bedeuten, dass die Größe der Nachricht damit skaliert, welche Position in so einem Circuit, also in dieser Hopffolge.
01:35:34: ein Not hat, weil der halt gucken kann, so, oh, ich krieg hier relativ, ich kann nicht gucken, was da drin steht, weil da ist immer noch die innen liegenden Verschlüsselungsschichten drin, aber die Nachricht ist etwas länger.
01:35:43: Also bin ich wohl eher am Anfang dieses Circuits und so.
01:35:46: Das heißt, man will da halt eine Verschlüsselung haben, die die Reihe von von Anforderungen erfüllt, die gar nicht mal so trivial zu realisieren sind.
01:35:54: Und das aktuelle System ist, dass mit dem Tor angefangen hat.
01:35:58: Das heißt, es ist ziemlich alt, muss man sagen.
01:36:01: Tor gibt es jetzt auch schon seit... Und es ist nicht ideal gealtert, sagen auch die Torleute selber.
01:36:13: Es ist eine aus heutiger Sicht eher komische Konstruktion.
01:36:17: Da steckt auch noch Schar-Eins drin.
01:36:21: Jetzt nicht an der Stelle, wo man sagt, die Schwachstelle von Schar-Eins führen hier notwendigweise zu einer Sicherheitslücke.
01:36:26: Aber die Torleute haben da die, meiner Meinung nach, sehr sinnvolle Einstellungen dazu.
01:36:31: Ja, was ist halt eine gebrochene oder also eine teilweise gebrochene Heschfunktion?
01:36:36: Wir wollen die da eigentlich nicht drin haben.
01:36:39: Dieses Protokoll kann keine authenticated encryption, also man kann da sozusagen nicht sehen, ob man sozusagen gerade einen gültigen gültiges Schiffrad bekommen hat oder nicht.
01:36:49: Es
01:36:50: gibt kein forward secrecy innerhalb von so einem Circuit und so.
01:36:53: Und vor allem ist diese Verschlüsselung formbar, also mehr label.
01:36:58: Das heißt, man kann das Schifrat irgendwie bearbeiten und damit zielgerichtete Änderungen an dem Schifrierten-Idenhalt vornehmen.
01:37:08: Das hatten wir auch schon mehr von, glaube ich, im Podcast.
01:37:10: Und diese Malability ist was, was man meistens bei Verschlüsselungen auf keinen Fall haben will.
01:37:17: Es gibt Ausnahmen wie zum Beispiel Humor für Verschlüsselungen, wo es genau darum geht.
01:37:21: Ich will auf dem Schifratsachen berechnen können, sodass sozusagen dann... Das innen liegen die Schiffrierte, das korrekte Ergebnis zeigt, dass wir so eine Ausnahme, aber im Allgemeinen will man nicht das Verschlüsselung unformbar sein, sondern jede Änderung an einem Schiffrat soll idealerweise sozusagen das ganze Schiffrat einfach zerstören.
01:37:41: Das ist aber eben bei der aktuellen Torverschlüsselung nicht der Fall und das hat resultiert in einem ganz großen Problem.
01:37:48: Man kann der Taggingattacken fahren.
01:37:51: Das heißt ein bösartiger Entry-Node, also der sozusagen von dem Tor kleint, als erster in der Kette so ein Paket entgegen nimmt, sieht von wem das kommt, sieht nicht was drin steht, weil das alles verschlüsselt, kann aber auf diese Verschlüsselung ein Bitmuster aufprägen und das dann weiter schicken.
01:38:08: Und der Witz ist jetzt die folgenden Notes, die können ihre Verschlüsselungsschicht runterziehen und ihnen fällt nicht auf sozusagen, dass da dieses Bittmuster drin ist, das eigentlich den Inhalt ungültig macht.
01:38:20: Weil die ziehen ja ihre Verschlüsselungsschicht ab und sehen wieder nur was Schiffriertes, deswegen sind die Zwiebelschalen.
01:38:26: Und diese wieder nur Schiffrierten sehen sie eben nicht an, so dass das eigentlich kaputt ist, weil sie ja da was entschlüsselt haben, wo dieses fehlerhafte Bittmuster aufgeprägt war.
01:38:34: Und beim letzten Not wird es dann interessant, wenn der jetzt auch dem Angreifer gehört, dann kann dieser letzte Not, dieses Bittmuster einfach wieder abziehen von dieser Nachricht, weiß damit, kann damit sozusagen den entry node zuordnen, also weiß sozusagen wer ist der erste hier und wer ist der letzte.
01:38:51: und der angreifer weiß dann wer redet hier eigentlich mit wem?
01:38:54: und weil der letzte node eben dem angreifer gehört kann dieses mitmuster abziehen damit das korrektes chiffrat rekonstruieren das entschlüsseln den schaltkreis vervollständigen die verbindung steht.
01:39:05: aber der angreifer weiß jetzt wer redet mit wem weil er den ersten node kontrolliert und der letzte node kontrolliert.
01:39:10: und der erste node prägt eben in dieses mitmuster ein.
01:39:12: von wem kam das?
01:39:14: Und am letzten Not kann der Angreifer das auslesen.
01:39:17: So, jetzt kommt der eigentliche Knackpunkt, sondern ja, wie hoch ist die Wahrscheinlichkeit, dass der Angreifer Entry und Exit-Node kontrolliert.
01:39:24: Und der Punkt ist, wenn der letzte Note nicht dem Angreifer gehört, dann weiß er nichts von diesem Bitmuster.
01:39:31: Er versucht, die letzte Verschlüsselungsschicht herunterzuziehen.
01:39:34: Da kommt da nichts Sinnvolles dabei raus.
01:39:36: Da sollte dann ein lesbares Torpaket bei rauskommen, aber dieses Bitmuster hat er die ganze Zeit die Entschlüsselung gestört.
01:39:44: Das heißt, dieser letzte sich konformverhaltende Node sieht keine Ahnung, was das ist, aber jedenfalls kein Paket, das ich lesen kann.
01:39:50: Ich mache die Verbindung zu.
01:39:52: Diesen Circuit habe ich nicht schließen können.
01:39:54: Irgendwas ist hier schief gegangen.
01:39:56: Der Tor klein kriegt es mit, sieht, oh, da gab es einen Abbruch und versucht, den neuen Circuit aufzubauen, sucht sich also andere Nodes aus Gründen, auf die ich es nicht eingehe, hält dabei meistens den Entry-Node auch noch stabil.
01:40:09: hat also wieder den Angreifer in seinem Circle drin, der wieder sein Mitmuster aufbregen kann und versucht einen neuen Circle mit anderen Noten aufzubauen.
01:40:17: Und kommt dann wahrscheinlich wieder bei dem Extra-Note raus, der halt nicht dem Angreifer gehört, wo es wieder nicht funktioniert und so weiter und so fort, bis er irgendwann bei dem Extra-Note rauskommt, der dem Angreifer gehört, plötzlich funktioniert die Verbindung, aber es ist halt eine, die der Angreifer de-anonymisieren kann.
01:40:30: Und das ist halt äußerst bitter.
01:40:36: Das ist jetzt keine Vollkatastrophe, in dem Sinne, dass die Kleinstes erkennen können, weil sie all diese scheitenden Verbindungsversuche sehen.
01:40:44: Es ist ja sehr unwahrscheinlich, dass gleich der erste Circuit zu einem Entry und Exit-Note führen, die zufälligerweise vom Angreifer kontrolliert werden.
01:40:54: Das heißt, die Kleins können halt gucken und können sagen so, hier bröseln mir aber irgendwie schon sehr, sehr viele Circuits gerade weg, irgendwas stimmt hier nicht.
01:41:01: Das Problem ist, wenn das Tornetz jetzt allgemein gestört ist, weil es angegriffen wird, was überlastet ist aus tausend anderen Gründen, dann scheitern diese Verbindungen auch sehr häufig.
01:41:10: Das heißt, es ist sehr schwierig zu erkennen, werde ich als Tornutzer hier gerade angegriffen und jemand versucht sozusagen über meine Circuits zu stören, bis ich... Zufällig war sein den Aufbau, wo der Angreifer Entry und Exit-Node kontrolliert.
01:41:26: Oder ist einfach das Netzwerk allgemein gerade unter Druck, aber meine Anonymität ist nicht gefährdet.
01:41:32: Deswegen ist es auch so, dass die aktuellen Torclines wohl warnen, wenn sie erkennen, dass hier verdächtig viele Verbindungen viel schlagen, aber da nicht irgendwie damit im Hammer draufhauen oder so, weil das halt auch einfach sein kann, dass das Netz gerade schwer zu tun hat oder angegriffen wird oder so.
01:41:50: Und das ist halt alles, also es ist überhaupt keine schöne Situation.
01:41:54: Und das Tornetzwerk, oder das Torprojekt hat mehrere Anläufe und so noch mit es zu ändern.
01:42:01: Die haben alle irgendwie nicht so richtig Früchte getragen, aus verschiedenen Gründen, weil es halt einfach schwer ist.
01:42:09: Das vielversprechendste, was sie schon länger im Auge haben, und man muss sich auch sagen, habe ich noch nie von gehört, sind Wide-Block-Siphers.
01:42:16: Also Blockschiffrennen, wo... die gesamte Nachricht ein Block ist.
01:42:22: Also sie nennen hier eine ganze Reihe, Bearress, Lioness, Bilge, HHFHFH, kein Witz heißt
01:42:30: so.
01:42:31: Ich dachte, du seist auf der Tastatur ausgerutscht, ich hab das nicht verfolgen, warum was da in den Tätzen
01:42:36: steht.
01:42:37: Ich hab's nur kurz irgendwie angeguckt, ich glaube, es kommt von Daniel J. Bernstein, unsere Freundin.
01:42:42: Ach
01:42:42: ja, gut, das erklärt Eidig.
01:42:45: AEZ ist auch noch eine relativ neue, moderne Wide-Block-Selfer.
01:42:50: Ich muss ehrlich sagen, ich habe da vorher nur von keiner von diesen Zeichen gehört gehabt, aber da hatten sie schon mal schon länger einen Auge drauf.
01:42:57: Die Idee ist halt, na ja, wenn ich so eine kurde kurde Blockschiffe habe, wo die gesamte Nachricht in einem Block steckt, dann habe ich genau diese eine Eigenschaft, die die Bit-Änderung zerstört, den gesamten Output.
01:43:07: Das ist nicht malleable, weil diese Bit-Muster nicht Die überleben sozusagen die Wander nicht durch die verschiedenen Entschlüsselungsschichten durch.
01:43:17: Die überleben das nicht, das heißt, ich kann das aufbringen, aber an dem ersten Node in der Kette, der halt nicht irgendeinem Angreifer gehört, zerbröselt es einfach.
01:43:25: Und es kommt eben nicht so weit, dass dieser Circuit fast geschlossen wird.
01:43:30: Man kann es auch leicht authenticated machen, so eine White Block Seifer, indem man die Nachricht einfach um den festen Wert erweitert.
01:43:36: Also man kann einfach sagen, die Nachricht findet immer an mit irgendwie, und dann verschlüssel ich das und eben dreimal und der erste Block zieht seine Verschlüsselung runter.
01:43:46: und wenn da jetzt nicht sechzehn Nullbytes drin sind, dann weiß er da als irgendwas schief gegangen.
01:43:51: Er sieht sonst nix, weil der Rest ist ja Schifrat, aber er weiß, die ersten sechzehn Bytes sollten Null sein, wenn der irgendein bösartiger Noten den Bitmuster aufgeprägt hat, dann hat er das halt manipuliert, dann kommen die ersten sechzehn Bytes nicht als Null nach der Entschlüsselung raus und der nächste Not sagt einfach, da ist was schief gegangen, funktioniert nicht.
01:44:09: Das Problem ist, diese white block servers fressen zu viel cpu performance.
01:44:14: die müssen irgendwie normalerweise zweimal oder zumindest mit einem hash zweimal über die gesamte nachricht iterieren um halt sozusagen garantieren zu können dass jede beliebige bittänderung halt nicht irgendwo zu einer kontrollierten bittänderung in der nachricht führt sondern halt die ganze nachricht irgendwie zerwürfelt.
01:44:31: und deswegen haben sie da sozusagen so lange nicht weitergekommen weil das einfach zu viel performance frisst.
01:44:36: und jetzt kommt counter galore onion.
01:44:39: Das nutzt eine, ich zitiere, Updateable, Tweakable, Split Domain Cipher, die sie UIV Plus genannt haben.
01:44:48: Ja gut, dann ist alles klar, Folge ist zu Ende.
01:44:51: Ja, habe ich mir auch gedacht,
01:44:52: genau.
01:44:54: Also ich... Ich glaube, wir verlinken diesen Blog-Post.
01:44:58: In diesem Blog-Post sind ganz schicke Diagramme drin, die sehr hilfreich sind, um zu verstehen, was diese Konstruktion macht.
01:45:03: Ich werde nicht versuchen, das hier im Podcast zu erzählen, als Audio-Ding, weil ich glaube, man versteht das viel, viel besser, wenn man sich einfach diese Diagramme anguckt.
01:45:14: Insofern, wenn ihr euch das interessiert, dann schaut euch den Blog-Post vom Torprojekt an.
01:45:19: Der wichtige Punkt ist, dass dieses UIV Plus ein Design ist, CPU-Ressourcen spart, weil es nur die Verschlüsselungsoperation nicht malleable macht.
01:45:31: Die Entschlüsselungsoperation ist malleable und dieser Kompromiss erlaubt ihnen halt auch einen Kompromiss bei der CPU Performance einzugehen und das in Bereiche zu wegen, wo es praktikabel wird.
01:45:43: Und der wichtige Trick ist jetzt, dass die Relays den Datenstrom, also beim Verschlüsseln, diese Cypher immer in Verschlüsselungsrichtung.
01:45:54: einsetzen und der klein der tor klein immer in entschlüsselungssichtung.
01:45:59: das heißt auch wenn der klein sendet, dann nimmt er seinen plaintext und endschlüsselt den dreimal mit dieser cypher, da kommt halt auch irgendein schiffrad raus und gibt den dann auf die leitung und die relays die wenden dann drei mal die faire schlüsselung an.
01:46:15: Am Ziel kommt dann wieder der Plaintext raus, aber die Relays haben halt alle Entferrschlüsselungs-Operationen operiert und konnten da nicht zu manipulieren, weil Entferrschlüsselungs-Operationen ist diese URV Plus eben nicht malleable.
01:46:27: Der Tor-Client, der immer entschlüsselt, der kann die Nachricht, also für den ist die Nachricht formbar, aber so was, also der baut die Nachricht, der Tor-Client muss sich selber eh vertrauen.
01:46:40: Und das ist, also wirklich einen cooler Trick.
01:46:46: Ich hoffe, sie schaffen es damit, dieses sehr relevante Problem zu beben.
01:46:51: Sie haben sich scheinbar auch lange sozusagen dieses Tagging für nicht so relevant gehalten, weil sie sagen, naja, man kann eh auch Korrelationsanalysen fahren und Tagging ermöglicht halt im Prinzip dasselbe.
01:47:07: und Korrelationsanalysen sind ein Problem, das wir eh haben und das wir irgendwie anders bekämpfen müssen, eben mit solchen Heuristricken oder so.
01:47:15: Und haben da aber vor einer Weile umgeschwenkt, maßgeblich, weil ein jemand mit dem E-Mail-Alias der XXIII.
01:47:25: DAX, also der XXIII-Badger-Auftritt, relativ ausführlich mathematisch dargelegt hat, dass dieses Tagging sehr viel besser skaliert für den Angreifer als Korrelationsanalysen.
01:47:36: Und das ist ein erhebliches Problem für das Tor-Netzwerk ist, um dass sie sich zuvor das kümmern sollten, weil... Und ein Angreifer damit halt sehr viel besser seine sehr viel bessere Erfolgsquoten hat als mit Korrelationsanalysen.
01:47:53: Der Code für diese Counter-Gallower-Onion, den haben sie schon geschrieben.
01:47:57: Das ist schön.
01:47:57: Den haben sie einmal in Rust geschrieben für ARTI.
01:48:01: Das ist eine Neuinplimentation von Tor in Rust.
01:48:05: Und dann haben sie in C nochmal geschrieben, weil ARTI ist noch nicht fertig und sie wollen das Zeug schneller im Einsatz haben.
01:48:13: Sie sagen, sie haben damit ganz schön umbauen müssen.
01:48:17: Also am Rest sozusagen, das wudert mich jetzt auch nicht.
01:48:19: Wie gesagt, der Altgargirritmus kommt aus der Anfangsset von Tor.
01:48:22: Das heißt, der hat über zwanzig Jahre auf dem Buckel.
01:48:26: In Arti soll dieses CGO, also Counter-Gallery-Onion, bald der Default werden.
01:48:32: Was sie noch nicht haben, ist das CGO für Onionservices.
01:48:37: Also das, was früher Hintenservice hieß, also Dienste, die im Tornetzwerk betrieben werden.
01:48:42: Das wird wohl auch nur für Arty kommen, weil es nochmal in der Ecke komplizierte ist und sie scheinbar keine Nerv haben, das dann nochmal in C auch nachzuprogrammieren.
01:48:52: Und sie wollen auch noch ordentlich an der Performance drehen.
01:48:56: Sie sagen, da gibt es noch noch einige low-hängige Fluts, die sie auf alle Fälle mitnehmen wollen, bevor das sozusagen in der Breite produktiv wird.
01:49:05: Aber sozusagen Zusammenfassung ist, das Tornetzig scheint ein lang stehendes Problem von Ihnen, Final in den Griff zu bekommen.
01:49:13: Und das ist doch schöne Nachricht.
01:49:16: Man hörte ja auch immer wieder rund um verschiedene Basts und Razzien, dass Dienste, also Strafverfolger und so Möglichkeiten gefunden hätten, Tor... zu brechen.
01:49:31: das war immer so die high level formulierung und ist jetzt unsicher und sowas.
01:49:35: Sehen wir hier gerade eine gegenmaßnahme gegen sowas.
01:49:40: also was ist der welche?
01:49:41: welche angreifer gruppe wäre denn üblicherweise in der lage den den entry node und den exit node zu kontrollieren.
01:49:49: Naja also.
01:49:52: Schon State-Level-Actor im Sinne von eine Behörde irgendwie.
01:49:56: Das ist ja auch bekannt, dass da Behörden recht viele Tor-Notes betreiben.
01:50:01: Oder was heißt bekannt, es wird zumindest sehr allgemein vermutet.
01:50:05: Der Gedanke kam mir auch, dass das was mit diesen Busts und Gerüchten zu tun hat.
01:50:10: Insbesondere auch, weil die Tor-Laut eher scheinbar, das jetzt schon relativ schnell ausrollen wollen.
01:50:17: Also nicht so, ja, haben wir uns überlegt, aber ich meine... war jetzt zwanzig Jahre lang ein Problem, jetzt kannst du auch noch fünf Jahre warten oder so, sondern da scheint ein bisschen Zeitdruck drin zu sein.
01:50:28: Ich weiß es nicht.
01:50:30: Ich halte es nicht für unplausibel, aber es liegt mir vorgekommen.
01:50:34: Also, ah, habe ich dieses, das Strafverfolgungsbehörden, da Leute, die anonymisieren, technisch nicht verstanden, man ist gerüchtet so ab und zu, aber wir haben diesen einen Fall immer hier im Podcast gehabt.
01:50:46: wo man einigermaßen verstanden hat, wie sie das gemacht haben, da lief es ja scheinbar nicht auf so eine Taktik raus, sondern war ja ein ein Hauptproblem, dass sie der Angriff über so eine Live Chat verfügbar war und sie darüber korrelieren konnten und eben wirklich eine Korrelationsanalyse gemacht haben und nicht so ein Tagging.
01:51:05: Insofern, das ist halt sehr sehr spekulativ, aber mir ist auch aufgefallen, dass das sozusagen für eine seit seit Jahrzehnten bestehende Lücke jetzt Ein relativ schnelles Tempo ist, das Tor voll liegt, vielleicht ist da wirklich so ein Gefahrenverzug.
01:51:22: Ja, das trägt sich mir auch auf bei der Erzählung, dass da offensichtlich, also ich weiß nicht, wie weit diese Artireimplementation in Rust jetzt gerade ist, aber dass sie darauf nicht warten wollten, sondern dann lieber den zuhörzlichen Schmerzenkauf genommen haben, zweite Implementation von einem Nicht trivialen, kryptografischen Problemen in C zu bauen.
01:51:46: Das ist ja auch Aufwand und du musst dann ja irgendwie nachweisen oder B weisen können, dass du das richtig implementiert hast, weil sonst hast du wieder neue Sicherheitslücken eingebaut.
01:51:57: Das ist schon für mich eine starke, starke Hinweis darauf, dass sie irgendwas wissen, was wir nicht wissen.
01:52:03: Also sie dockt dann damit halt auch am, am, am Herz von Thor rum, ne?
01:52:12: Und, das sprechen sie auch, sie haben in ihrem Blog post in der Zeit drin, what if we are wrong, also was wenn, wenn sie Fehler gemacht haben, wenn der neue Algorithmus irgendeine Lücke aufweist oder so, und sie sagen halt so, ja, das ist halt schon ein neues Design und sie haben einen Security Proof, aber der ist noch neu, da haben doch nicht so viele Leute drauf geguckt, ob der auch hält und so, aber was ich jetzt aussegne, Was wir ziemlich sicher sind, ist, dass es keine Schmerzen gibt in CGO, die es größer als Tor One gibt.
01:53:04: Und das klingt für mich auch nach, ja, irgendwie warten wir schon schön, aber wir haben halt nicht so richtig die Zeit, weil das drängende Problem ist halt im bestehenden Algorithmus.
01:53:17: Ja, es wird interessant zu sehen, wie der Rollout von Stadten geht, was es da jetzt wieder für, was dafür Baustellen geben wird, ob es sich an irgendwelchen Stellen positiv für die Nutzererfahrung auswirkt, ob es schneller wird, stabiler wird oder so,
01:53:32: keine Ahnung.
01:53:33: Also... Ja, sehr interessant.
01:53:37: So, jetzt haben wir einen bunten Strauß abgeräumt mit viel PKI und ein bisschen Tor und wir haben uns nicht über Microsoft lustig gemacht.
01:53:47: Und einer
01:53:47: KI-Kamera, die in die Toilette guckt.
01:53:50: Also ich bitte dich, das darf nicht unerwähnt bleiben.
01:53:52: Ja,
01:53:53: wir haben aber Microsoft unerwähnt gelassen.
01:53:55: Das finde ich auch mal ganz erruhsam.
01:53:56: Das soll dann auch so bleiben.
01:53:58: Insofern würde ich sagen, wir kommen für heute zum Ende.
01:54:03: Schickt uns gerne euer Feedback an.
01:54:04: Passwort-Podcast at heise.de.
01:54:08: Bitte seid darauf vorbereitet, dass es ein kleines Weilchen dauern kann, denn unser nächster und letztes Action-Item ist der Vortrag auf dem neunundreißig C-III, der steht bei uns jetzt auf der Agenda und wir verabschieden uns auch mit dieser Folge in die Weihnachtspause.
01:54:28: Genau, ich wollte halt sagen, weil wir werden zwar auf dem C-III auch eine Folge aufnehmen, aber A ist der C-III nach Weihnachten und B hört ihr die ja auch erst im neuen Jahr, also ausseh' ihr seit dem Fach von Gress.
01:54:42: Wir machen jetzt ein paar Wochen Pause bis zum siebten Ersten, da geht dann die Folge live, die wir auf dem neununddreißig C-III aufnehmen.
01:54:52: Wir haben die Gäste schon beisammen, sie haben uns alle zugesagt und wir haben den Fahrplan mit freundlicher Unterstützung des Congress Teams und des Sendezentrums auch so umgebaut, dass es für alle Beteiligten halbwegs passt.
01:55:06: Ihr werdet den Podcast als Video auf media.cc.de schon vorab sehen können, aber als Audio-Version auf euren Kopfhörern bekommt ihr den am siebten ersten.
01:55:17: Und dann wünschen wir traditionell ein frohes Sicherheitslückenarm es fest, hoffentlich kein Crowd-Strike-Ausfahren am heilig Abend.
01:55:26: Und kommt gut ins neue Jahr, vielleicht sieht man sich auf den neundreißig C drei.
01:55:31: Ansonsten sehen wir uns oder hören wir uns am siebten, ersten, bei der ersten Folge im Jahr zwanzig, sechsundzwanzig.
01:55:38: Achtet vielleicht darauf, dass eure Lichterkette nicht irgendwie von auf Cloudflare oder NPM angewiesen ist.
01:55:44: Wir haben einen Tipp.
01:55:45: Und denkt dran,
01:55:47: dieser Podcast ist das einzige Passwort, das ihr teilen solltet.
01:55:50: Ciao ciao.
01:55:50: Tschüss
01:55:51: bis nächstes Jahr.
Neuer Kommentar