News mit Serialisierungsproblemen, AWS-Fail und PKI-Extra
Shownotes
Es näselt leicht im Podcast - die herbstliche Erkältungswelle macht auch vor "Passwort" nicht halt. Trotzdem haben sich Sylvester und Christopher einiges vorgenommen. Sie sprechen über den AWS- und Azure-Ausfall der letzten Wochen, denn auch Verfügbarkeit ist Teil der IT-Sicherheit. Die kritische Sicherheitslücke im Windows-Updateserver WSUS kommt ebenso zur Sprache wie eine trickreiche Malware, die eine wenig bekannte UTF8-Funktion zu ihrem Vorteil nutzt. Und endlich gibt es wieder ein PKI-Thema: Wie eine kroatische CA widerrechtlich Zertifikate für Cloudflare ausstellte, erzählt Christopher dem Publikum und seinem Co-Host.
- Online Themenabend
- AWS’ Ausfallanalyse
- Meredith Whittaker von Signal zur Notwendigkeit der Hyperscaler
- SAP spielt CVSS-Würfeln
- Microsoft warnt Entwickler vor SoapFormatter
- Koi über GlassWorm
- QWAC mit Soße (+)
- Diskussion um FINA im Bugzilla
- 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 Podcast.
00:00:09: Hallo, liebe Hörerinnen und Hörer.
00:00:11: Willkommen zu einer neuen Folge von Passwort, dem Podcast von Heises Security.
00:00:16: Ich bin Celeste Tremmel vom Computer-Magazin CT.
00:00:19: Und mein Name ist Christopher Kunz von Heises Security.
00:00:23: Heute gibt es mal wieder News und ihr wundert euch wahrscheinlich über meine komische Stimme.
00:00:28: Mich hat die Covid-Solche erwischt und ich bin noch so ein kleines bisschen asal unterwegs.
00:00:33: Hab das schlimmste überstanden, dafür habe ich aber auch eine relativ kurze Arbeitswoche gehabt diese Woche.
00:00:38: Null von zehn would not recommend.
00:00:43: Untypisch für uns haben wir auch tatsächlich sehr regide durchs Feedback sortiert und es ist nichts übrig geblieben, was wir in der Folge erwähnen wollen.
00:00:53: Wir haben keine Errater oder irgendwas zu updaten von den letzten Folgen.
00:00:59: Wir haben aber was mitgenommen aus der vergangenen Folge, dass wir euch heute erzählen, weil wir einfach keine Zeit mehr hatten.
00:01:04: Und Sylvester hat schon wieder den Finger oben.
00:01:06: Das glaube ich auch Rekord.
00:01:07: Nach unter einer Minute hat Sylvester den Finger oben.
00:01:10: Ich wollte nur kurz sagen, aber wir haben voll viel, voll nettes Feedback bekommen, das wir jetzt hier nicht irgendwie wiedergeben, weil Eigenlob stinkt, aber wir haben uns natürlich sehr darüber gefreut.
00:01:20: Genau, und was wir vielleicht doch noch mal erwähnen können ist, wenn ihr uns persönlich kennenlernen wollt, habt ihr in diesem Jahr noch einmal die Gelegenheit dazu, nämlich am achzehnten November, Silvester.
00:01:32: ist das richtig?
00:01:34: Ich
00:01:34: prüfe, dass während du weiterredest.
00:01:36: Im Verlagsgebäude des der heise mediengruppe da machen wir nämlich zusammen mit einigen anderen unserer liegen Kollegen von der ct.
00:01:44: Ein thema zum thema online sicherheit.
00:01:47: das haben wir hier einen oder zweimal schon angeteasert und das ist vielleicht für euch security professionals jetzt nicht unbedingt das wo ihr hin müsst um euch.
00:01:56: Erzählen zu lassen, welche Quantensicheren SSH Schlüssel ihr verwenden sollt, aber für die etwas weniger digital und securitymäßig bewanderte Verwandtschaft, damit die nicht immer euch fragen müssen.
00:02:07: Und eine gewisse Grundbildung kriegen.
00:02:09: Da geht es dann von E-Commerce bis Passport-Sicherheit einmal quer durch den Garten der eher Konsumersicherheit.
00:02:16: Und das geht auch relativ konsumafreundlich spät, also nach Feierabend los.
00:02:23: Wir haben dazu eine Info auf unserer Firmwebseite, also auf der Heise Mediengruppe, die verlinken wir euch einfach in den Show Notes und vergessen das diesmal auch nicht.
00:02:32: Und dann könnt ihr euch da noch zu anmelden.
00:02:35: Anmeldung ist auf jeden Fall notwendig, weil die Plätze begrenzt sind.
00:02:38: Die Heisekantine ist nämlich nicht unendlich groß.
00:02:42: Und also der achttente stimmt.
00:02:44: Und ich glaube, wir haben es in der letzten Folge auch schon in die Show Notes getan.
00:02:48: Zumindest habe ich es da eingetragen, wenn es nicht ausgespielt worden ist.
00:02:53: Worauf ich mich beziehe, ist, dass wir in einer der letzten Folgen verzweifelt, im Nachhinein nach irgendeiner Shownote gesucht haben, die wir angekündigt haben, aber dann vergessen haben, reinzuschreiben, weil wir wirklich nicht mehr wussten, was es war.
00:03:04: Und dann weiß ich noch, dass du dann auch irgendwie die Folge teilweise nachgehört hast oder wir haben versucht, dann da irgendwie einen Trans aus diesem... mit
00:03:10: diesem
00:03:10: automatisch generierten Transkript, das ja eher so ein bisschen Worte würfelt, es rauszufinden, was jetzt die verlorene Shownote war.
00:03:19: Also wenn einer von euch die verlorene Shownote noch weiß, dann schreibt uns gerne eine E-Mail an password-minus-podcast.heise.de auch mit sämtlichem anderen Feedback.
00:03:27: Und that being said, können wir auch gleich in die Folgen gehen und wir tasten uns mit einem kleinen mini-Kurz-Drama-Soap Opera Thema ran.
00:03:37: dass ich aber doch ganz spannend fand, weil es auch so ein bisschen wieder die Security Exploit Zero Day Ökonomie berührt.
00:03:44: Und zwar kam das gestern oder heute in den verschiedenen Nachrichtenkanälen, dass ein ehemaliger Geschäftsführer einer Cyber Security Firma vom US Justizministerium inditet, also angeklagt wird und zwar, weil er Zero Days verkauft hat.
00:04:01: Und der wird angeklagt, obwohl er Australier ist.
00:04:04: in den USA, weil er in den USA erlebt und der CEO eines US Cybersicherheitsunternehmens war und die Zero Days eben nicht an den CEO eines anderen US Cybersicherheitsunternehmens, sondern nach Russland verhögert hat.
00:04:18: Das Unternehmen, um das es da geht, also dass dieses Cybersicherheitsunternehmen, bei dem der angestellt war, heißt Trenchand.
00:04:25: Das ist ein Tochterunternehmen von L. Three Harris, das ist ein Rüstungsmulti in den USA.
00:04:30: Und Trenchand ist ein Merger von mehreren, kleineren so.
00:04:34: Zero Day Exploit Broker oder Entwicklungsunternehmen und arbeitet ausschließlich mit den Five Eyes zusammen.
00:04:41: Wenn wir sie jetzt noch spontan zusammen kriegen, nicht sehr stolz auf uns.
00:04:44: Australien, Neuseeland, Großbritannien, USA.
00:04:48: Nummer fünf Kanada?
00:04:50: Ich glaube ja.
00:04:52: Aber ihr könnt uns ja öffentlich kasteien, wenn wir uns jetzt daneben liegen.
00:04:57: Nein, es ist Kanada.
00:04:58: Wir sind mal richtig.
00:05:02: Und Russland ist nicht Teil der Five Eyes.
00:05:05: Darüber besteht, glaube ich, Einigkeit.
00:05:08: Der Herr, ein neununddreißigjähriger, der als der Online unter dem Pseudonym Dubi bekannt ist, hat sich jetzt auch schuldig bekannt.
00:05:17: Also wir müssen gar nicht mehr so von verdächtigem sprechen, weil er sich schuldig bekannt hat, aber er ist noch nicht verurteilt.
00:05:21: Das steht noch aus.
00:05:22: Kommt Januar, Zwei-Tausend-Sächsen-Zwanzig.
00:05:24: Voraussichtlich die Verurteilung.
00:05:26: Zwischen.
00:05:26: Zwei.
00:05:26: Zwei.
00:05:27: Zweiundzwanzig und Zwei.
00:05:28: Zweiundzwanzig hat er insgesamt acht Zero Days für insgesamt eins Komma drei Millionen Dollar an ein russisches Unternehmens namens Operation Zero verkauft.
00:05:38: Könnt ihr mal angucken.
00:05:40: O P Zero Punkt R U. Das ist so eine Boiler Plate WordPress Webseite aus dem X-Blood Broker Baukasten.
00:05:47: Also nicht viel zu sehen, aber die Zahlen halt auch irgendwie so die marktüblichen Sätze und haben ihm dann wohl auch ein bisschen was bezahlt.
00:05:53: Er unter anderem waren da.
00:05:55: Chrome Zero Days dabei, warum erzähle ich euch gleich, warum wir das wissen.
00:06:00: Und das hat er auf eigene Rechnung gemacht.
00:06:01: Das hat er also nicht im Auftrag von Trenchand gemacht, von seinem Arbeitgeber, sondern er hat die Zwecke entfremdet, weil er eben weitreichenden Zugriff hatte.
00:06:08: Es gab da offenbar zwischen den Mitarbeitenden durchaus eine starke Grenzung, also Kompatmentalisierung, dass die nur ihren Arbeitsbereich sehen konnten, aber nicht gegenüber der Geschäftsführung, was vielleicht auch ein Fehler war.
00:06:21: Und dann, möglicherweise gab es mal intern einen einen Verdacht und er wollte dann einen anderen als Sündenbock dahin hängen, hat sich dann also einen Mitarbeiter rausgeschmessen.
00:06:34: Und der hat dann aber remonstriert, wie man so schön sagt, gesagt in dem Moment mal.
00:06:39: Da sind angeblich Chrome Zero Days veruntreut worden.
00:06:42: Ich arbeite in der iOS-Sparte.
00:06:44: Ich habe gar keinen Zugriff auf die Chrome Explods.
00:06:46: Also, wie soll ich da rankommen?
00:06:48: Und das flog dann wohl ein Weilchen unter dem Radar bis zum einundzwanzigsten August.
00:06:52: Das war nämlich das Datum, wo dieser Herr bei Transient rausgeflogen ist und seitdem vermutlich auch in Hausarrest sitzt.
00:07:01: Das vermutlich bezieht sich auf das Datum, nicht auf den Hausarrest, da sitzt er nämlich definitiv.
00:07:05: Was ein bisschen pikant ist, der ist Australiangebürtiger und war früher Mitarbeiter des ASD.
00:07:11: Und der ASD ist jetzt nicht nur die linken Buchstaben in der zweiten Reihe auf der Tastatur, sondern das Australian Signals Directorate.
00:07:19: Und da geht es jetzt auch nicht um verschlüsselte Messenger, sondern eher um deren Entschlüsselung.
00:07:23: Das ist nämlich so ein bisschen eine Kombination offenbar aus dem BSI, also so eine Art Bundesamt für Informationssicherheit und dem BND, also dem Auslandsgeheimdienst in Australien.
00:07:33: Die machen... Offenbar in den Amtsunion so ein bisschen beides, das sagt Wikipedia mir das.
00:07:39: Auch hier, wenn jemand in unserer Hörer da ein bisschen beschlagener ist, dann halbt uns gerne eine E-Mail.
00:07:44: Und jetzt sitzt er nun, als sei da eins, drei Millionen natürlich auch vorfetet, also die sind beschlagnahmt worden, sein gesamtes Unternehmen, sein gesamtes Vermögensbeschlagnahmt worden, inklusive Luxus-Uren und Autos und Krypto und allem Kram.
00:07:58: Und jetzt wird ihm aber lediglich vorgeworfen, er habe Unternehmensgeheimnisse gestohlen.
00:08:05: Das sind ja diese Zero Days, wenn man, wenn man die eingekauft oder intern entwickelt hat, auf jeden Fall, das sind also diese sogenannten Trade Secrets, was ich ein bisschen seltsam finde, weil es ja auch ein Federal Case ist, also das US Justizministerium verhandelt denen ist.
00:08:20: Warum werden da keine Spionagevorwürfe gelten gemacht?
00:08:23: Denn man kann ja schon nur mit Fuge und Recht davon ausgehen, dass alles, was in Russland bei einem Exploid Broker landet, dann auch... relativ unvermittelt beim GRU oder beim FSB landen durfte.
00:08:34: Ich weiß nicht genau, wie weit die Russen mit dieser entsprechenden Gesetzgebung sind, die auch in China ja schon immer anklang, dass also seine Sicherheitslücke entdeckt, die auch an die entsprechenden Sicherheitsbehörden melden und dann gegebenenfalls denen einen ersten Zugriff gestatten muss.
00:08:48: Also hier ist das DOJ relativ zahm, zumindest in dem, was ich jetzt so gelesen habe.
00:08:53: Ich fand es aber spannend, wie die einer, der vom Geheimdienst kommt und Exploits für sein Lebensunterhalt verkauft dann offensichtlich durch dieses Geld oder seine Gier so geblendet wurde, dass er nicht nur dann an den erklärten Feind verkauft, sondern auf eigene Rechnung, sondern sich dann auch noch dabei schnappen lässt.
00:09:11: Nun gut.
00:09:13: Ja, also das dabei schnappen lassen ist insofern interessant, weil der eigentlich Wissen hätte können vermutlich, wenn er in der Branche arbeitet.
00:09:24: Also entweder war er zu gierig oder hatte da doch nicht so den Überblick auf welche Art und Weise sowas.
00:09:28: vielleicht weiß man sozusagen wie man an den angekommen ist.
00:09:32: Also da war sich jetzt nicht so richtig fast drüber wie er geschnappt wurde.
00:09:38: Aber es wirkte auch ein bisschen unüberlegt dann dann in Sündenburg hinzustellen, der sozusagen belegen kann, dass es nicht gewesen sein kann und so.
00:09:45: Das wirkt jetzt irgendwie nicht so super durchgeplant.
00:09:48: In Bezug auf die Spionagevorwürfe habe ich mich gerade gefragt, aber ich meine... Das ist totale Spekulation, ob das was mit der Nationalität zu tun hat, also ob man als Ausländer in Amerika verknackt werden kann dafür, dass man für eine andere ausländische Macht irgendwie spioniert, keine Ahnung.
00:10:06: Auch da, wenn ihr mir dazu wisst, sagt gerne Bescheid.
00:10:11: Jo.
00:10:13: Wir kommen zu was anderem, was vielleicht...
00:10:15: Bleiben in Amerika.
00:10:17: Wir bleiben in Amerika.
00:10:18: Na ja.
00:10:20: Der Auslöser bleibt in Amerika.
00:10:24: Auch in Virginia, da wo das US-Justizministerium ist.
00:10:28: Also regional bleiben wir, aber wir verändern ein bisschen das Thema.
00:10:31: Aber ich glaube nicht, dass da ein Kursal zusammen an der Hand besteht.
00:10:35: Wir reden ein bisschen über den AVS-Ausfall.
00:10:39: Den habt ihr wahrscheinlich mitbekommen.
00:10:40: Wer es nicht mitbekommen hat, am zwanzigsten Oktober hat Amazon Web Services Probleme gehabt.
00:10:47: US East One, das ist eine von deren internen Designationen für so eine Region, also für so ein Haufen
00:10:55: Rechenzentren.
00:10:56: Es ist, glaube ich, auch ihre originale Region, die insofern sozusagen auch eine sehr herausgehobene Position im internen Netzwerk von AWS hat.
00:11:06: Und die hatten da ein Problemchen.
00:11:07: und wie das halt so ist, wenn ein Hyperscaler ein Problemchen hat, alle möglichen Dominosteine hinten ranfallen um, also einerseits Services von Amazon selber haben nicht normal funktioniert, Prime Video war zum Beispiel betroffen, aber halt auch alle möglichen DIT Services, der Epic Game Store, Fortnite, Du, Lingo, angeblich verschiedene Apple-Dienste, die in Mitleidenschaft gezogen wurden.
00:11:32: Erflaschen, Docker, Perplexity, diese KI-Firma haben auch alle gemeldet, dass sie da Probleme haben.
00:11:38: Und relativ bekanntermaßen auch Signal, da kommen wir gleich noch dazu, also der Messenger.
00:11:46: Das ist jetzt insofern nicht so super verwunderlich, weil von dieser Störung waren halt Dutzende von den AWS und Amazon eigenen Diensten betroffen und dann halt alle möglichen Kunden, die diese Dienste wiederum genutzt haben.
00:12:00: Überrascht es nicht, dass sowas dann sehr, sehr weitreichende Auswirkungen hat.
00:12:05: Vielleicht kurz, warum reden wir überhaupt darüber?
00:12:09: Naja, das geht halt oft so ein bisschen unter, aber wir hatten das schon mal zu Security gehört, zumindest nach üblichen Definitionen auch Availability.
00:12:16: und ein System, das sozusagen total abgeschottet, aber halt nicht verfügbar ist, ist deswegen auch kein sinnvolles, sicheres System.
00:12:26: Und so ist es halt hier auch.
00:12:27: Also es ist schön, einen sicheren Messenger-Search zu haben, um jetzt zum Beispiel beim Signal-Beispiel zu bleiben.
00:12:33: Nur wenn der halt offline ist, dann habe ich halt keinen sicheren Messenger.
00:12:38: Du hast hier noch einen Exkurs aufgeschrieben, ich weiß nicht wie du das machen, Christopher, du wolltest über den Unterschied zwischen.
00:12:44: Ja, den können wir uns fast ein bisschen schenken, weil wir hier ja tatsächlich auch in dieser Security-Triade sind, also dem CIA, dem Availability, aber wir haben im Deutschen nur diesen Begriff Sicherheit.
00:12:56: Und im Englischen, das ist mir, wenn ich geschrieben habe, zum Beispiel meiner Dissertation oder irgendwelchen Artikeln, immer wieder aufgefallen gibt es zwei Begriffe.
00:13:04: Es gibt einmal die Safety und die Security.
00:13:06: Und das wird bei uns in einem Begriff zusammengefasst.
00:13:09: Safety ist ja dann eher so was wie ... weiß ich nicht, dass ich einen Anschnellgurt oder einen Sturzhelm trage, dass es eine Betriebssicherheit gibt, dass also keine Feuergefahr herrscht oder sowas.
00:13:18: Und die Security ist dann das, was wir hier verhandeln, also die technische Sicherheit, die Sicherheit vor technischen Schwachstellen oder sowas.
00:13:26: Und man kann dann auch verargumentieren, dass diese Verfügbarkeit, zum Beispiel im Fall von Feuer- oder Stromausfall auch ein Thema der Safety ist.
00:13:39: Hier ist es ja ganz klar, als Verfügbarkeit Availability ein Security-Thema.
00:13:44: Ja, und ich meine in Zukunft natürlich, dass je nach Betroffenen im System die Sachen einander auch beeinflussen.
00:13:50: Also wenn irgendwie die Security von der Bahnanlage derartig betroffen ist, dass vielleicht zwei Züge auf sehr begleitet werden können, dann ist natürlich auch sehr schnell die Safety da in Mitleidenschaft gezogen, weil das Zug und Insassen nicht gut tut.
00:14:06: Genau, andersrum.
00:14:07: Andersrum gibt es halt so eine gewisse Ambivalenz, weil hier der Sicherheitsbeauftragte in einem Unternehmen üblicherweise das ist, was in den USA der Safety Inspector ist, nämlich der, der guckt, ob die Leiter alle eingetragen sind oder ob die, weißte, die Klettergurte für irgendwelche Fassadenkletterer noch betriebssicher sind.
00:14:26: Das stimmt sicher, ja.
00:14:27: Also es ist auch so ähnlich bei Datenschutzproblemen, wo man eigentlich so Expertise aus der Juristerei und aus der IT Security bräuchte und halt logischerweise meistens Leute hat die aus der einen oder anderen Richtung kommen und die dann eventuell Defizite auf der gegenüberliegenden Seite haben.
00:14:45: Das ist sicher ein Problem.
00:14:48: Na gut, ich wollte nur kurz nachzeichnen, was ist bei AWS eigentlich da umgefallen, dass dann so viel hinterher gebröselt ist.
00:14:54: Das gibt ja so ein schönes Sprichwort.
00:14:57: Kann, also zwar nicht DNS, es kann nicht DNS gewesen sein, es war doch DNS, so war es auch hier.
00:15:04: Zumindest wenn man, also ja.
00:15:06: das internet system von von amazon waren mit leidenschaft gezogen und zwar insofern also die haben halt so ein halber scale hat halt hunderte tausende dienste die die ganze zeit irgendwie rauf und rundeskalieren und irgendwie auf verschiedenen locations verfügbar sind und migriert werden und so.
00:15:22: und amazon und die meisten anderen vermutlich auch managed es maßgeblich über dns einträge die halt laufend aktualisiert werden also internet s einträge.
00:15:32: Die teilweise auch extern geroutet werden und so.
00:15:34: Und Walt immer klar ist, der Service ist Kartiererreichbar, dort erreichbar und so.
00:15:36: Das muss halt konstant aktualisiert werden.
00:15:40: Dafür haben sie intern sozusagen das Problem zwei geteilt.
00:15:45: Sie haben eine Art von Programm, die kontinuierlich solche Pläne erstellt, also welche Rechner unter welchen Adressen erreichbar sein sollen.
00:15:55: Und sie haben andere Programme, die diese Pläne kontinuierlich umsetzen.
00:16:00: Also die Faktor, diese Konfiguration Deploy'n.
00:16:03: Und diese Worker, die das machen, prüfen auch immer, wenn sie so einen neuen DNS-Plan Deploy'n, dass sie da einen alten Plan überschreiben.
00:16:13: Also, dass sie nicht aussehen, was Neues überschreiben.
00:16:17: Sie tun das aber nur am Anfang, wenn sie sozusagen loslegen mit dem Deploy'n mit Ihres Plans.
00:16:21: Jetzt werdet ihr wahrscheinlich schon ahnen, wo das Problem Christoph ermeldet ist.
00:16:30: Ja, genau so.
00:16:33: was ist hier passiert, also so ein Worker, einer von diesen Workern, die diese DNS Pläne deployen, hat sich mit Verzögerungen rumgeschlagen und ein zweiter Worker hat ihn überholt.
00:16:43: Nach erzählt war der Vorgang so, der langsame Worker hat er geguckt, dass er hier einen Plan hat, mit dem er Altes überschreibt, dann hat er angefangen loszulegen, mit diesen Überschreibvorgängen hat er bei Verzögerungen erfahren.
00:16:57: Spielt das keine Rolle warum?
00:16:58: dazu kann es kommen?
00:16:59: die hatten halt diesmal ein Ausmaß mit dem Amazon nicht gerechnet hat.
00:17:03: Ein anderer Worker hat sich einen neueren Plan bekommen.
00:17:08: er hat mit dem losgelegt und der hat keinerlei oder sehr viel weniger Verzögerung erfahren und war eben schneller und hat dann seinen ganz aktuellen Plan.
00:17:18: Deployed an verschiedenen Servern und dann kam der langsamere Worker zu den selben Servern.
00:17:24: und hat diesen neueren Plan mit seinem etwas älteren überschrieben, weil er zu diesem Zeitpunkt, also de facto überschrieben, hat halt nicht noch mal geprüft hat, sondern nur vorher, ob da ein alter Plan, vorher lag da auch ein alter Plan, dann kam der Neuere dazwischen, dann kam der langsame Worker und hat seinen etwas älteren Plan deployed.
00:17:42: Soweit ist es jetzt noch kein Drama, dann war da halt nicht die superaktuelle DNS-Info hinterlegt, aber das System war noch nicht irgendwie am Kollabieren.
00:17:51: Das Problem ist jetzt, dass nun der schnellere Worker fertig war und gesagt hat ja wunderbar jetzt wo ich meinen super aktuellen Plan Deployed hab kann ich alle älteren Pläne wegschmeißen.
00:18:03: Und der hat die gelöscht und damit eben auch den aktiven etwas älteren Plan den der langsamer Worker nach dem Deployed hatte auch gelöscht.
00:18:12: Und dann war der DNS Eintrag halt weg.
00:18:17: Das heißt diese davon betroffenen Services waren einfach nicht mehr erreichbar.
00:18:23: Und das System hat sich auch nicht davon erholt, weil ein neuer Worker, der vielleicht nur noch neueren Plan ankommt, konnte nicht mehr sicherstellen, dass er hier einen älteren Plan überschreibt, weil da war er ja einfach gar kein Plan mehr und hat dann scheinbar die Finger davon gelassen, weil er gesagt hat, so, jo, jo, ich kann nicht sicher gehen, dass ich hier outdated Information überschreibe.
00:18:42: Und das System lag halt auf der Nase.
00:18:44: Und hier hat jetzt Christopher Tokto Tokto Tokto reingeschrieben.
00:18:48: Ja, habe ich, habe ich aber ja gerade schon dazwischen gequatscht.
00:18:52: Du hast noch dazu geschrieben, wie Amazon ist etwas freundlicher formuliert oder etwas weniger akronomisch.
00:19:00: Ja, die Amazon spricht von einer Race-Condition, also so einer Wettlauf-Situation, was Christopher gesagt hat, ist ja sozusagen ein Spezialfall davon, nämlich so ein Time of Check, Time of Use.
00:19:09: Das ist auch ein Fehlerbild, was man wahnsinnig oft hat.
00:19:12: Man prüft irgendwie, ob man eine Aktion durchführen will, dann führt man sie durch.
00:19:17: Und wenn man nicht absolut sicherstellt, dass zwischen dieser Prüfung dieser Durchführung, nicht irgendeine Pause, eine Verzögerung oder sonst was auftreten kann, die den Zustand ändert, dann hat man halt das, aber sonst spricht man einer Latent Race Condition, also so eine schlummernde Wettlaufsituation, die einem irgendwann auf die Füße fallen kann, wenn halt zum Beispiel so eine Verzögerung mal in einem Ausmaß eintritt, mit dem man nicht vorher gerechnet hat.
00:19:41: Das hatte deswegen maßgeblich so... Weitreichende Auswirkungen, weil einer von den DNS-Einträgen, die dann gelöscht worden sind, war der für DynamoDB.us-e-nus-eins.amazonabs.com.
00:19:55: Und DynamoDB, was ist das?
00:19:59: Ich zitiere hier mal Amazon, die sie angeben, was das ein tolles System ist, also ist auch cool.
00:20:13: Standard Baustellen von Amazon, eine NoSQL Datenbank, die kann man scheinbar SK Belgestore und auch als Dokumentendatenbank betreiben, die sich halt dadurch auszeichnet, dass sie brutal gut skaliert und entsprechend nutzen.
00:20:27: ein Haufen interne Dienste von Amazon als auch ein Haufen externe Dienste des für alle München Sachen, wo man halt sagt, so ja, ich habe hier ein Haufen Werte, die will ich irgendwie wegschreiben können oder lesen können und das muss halt skalieren von den Geziehen Nutzern auf hundert Millionen Nutzer und ich möchte mich dann nicht drum kümmern.
00:20:43: Und dann sagt Amazon, nimmst du DynamoDB, wir kümmern uns drum.
00:20:47: Dadurch, dass dieser DNS-Eintrag gelöscht war, war es halt aus mit der Single-Digit millisecond Performance.
00:20:52: Also wenn man die DynamoDB in US East I genutzt hat, dann war sie halt offline, also nicht mehr erreichbar.
00:21:00: Man kann diese DynamoDB auch, macht Amazon Werbung, damit in so einem global replizierten Modus betreiben, damit genauso was nicht passiert.
00:21:08: Irgendwie, meine Region ist nicht erreichbar und meine Datenbank ist dadurch weg.
00:21:13: Das hat auch funktioniert scheinbar in dem Sinne, dass so eine globale replizierte dann aber die B erreichbar war.
00:21:20: Aber die hat sehr viel langsamer reagiert als sonst, weil sie versucht hat nach Virginia zu replizieren und es hat halt nicht mehr funktioniert.
00:21:30: Amazon hatte eine sehr hektischen Nacht, also Mitternacht kurz vor Mitternacht, die sind das irgendwie auf die Füße gefallen und dann haben sie da in den frühen Morgenstunden das eben händisch fixen müssen.
00:21:38: Mal wie erwähnt sich das System nicht automatisch erholen konnte, weil diese Worker.
00:21:42: Darauf einfach fest angenommen haben, da ist ein Plan.
00:21:45: Ich kann prüfen, ob der älter ist.
00:21:46: Und wenn ja, überschreib ich den.
00:21:47: Und dadurch, dass da gar kein Plan mehr war, haben die halt nicht selber sich da irgendwie rausgehangelt.
00:21:52: Die Auswirkungen von dem haben sie dann noch sehr viel länger hingezogen.
00:21:56: Zum einen, weil halt Sachen, die, also Dienste, die der Name DB benutzt haben und die abgeschmiert sind, als sie nicht mehr erreichbar war, sich nicht gut davon automatisch erholt haben, dass sie wieder erreichbar war.
00:22:09: Oder es gibt andere Dienste, die haben sich so gut davon erholt, dass sie dann halt wiederum Wartestangenüberläufe verursacht haben.
00:22:16: Also ein Beispiel ist, dass scheinbar die Netzwerke Leases von virtuellen Maschinen bei AWS auch über DynamoDB verwaltet wurden.
00:22:26: Die haben halt alle keine Leases bekommen, weil die zugrunde liegende Datenbank offline war.
00:22:31: Und dann, dadurch waren sie sozusagen schon mal eine Kompenser.
00:22:35: Zumindest neuen Maschinen.
00:22:36: Ähm und dann kam dein an und zurück und dann haben diese ganzen neuen Maschinen in der Zwischenzeit angelegt worden sind, vielleicht auch weil Leute ja geguckt haben, was ist hier los?
00:22:44: Die Maschine ist irgendwie nicht mehr gut erreichbar, ich mache eine neue, keine Ahnung, tausend Sachen sind halt passiert, ne?
00:22:49: Haben alle Lieses haben wollen, das heißt der Netzwerkmanager, der halt dafür zuständig ist, ist in die Knie gegangen, weil er mit dieser Anfrage schwallt, er ist plötzlich auf den Einprasselte nicht mehr zu rande gekommen ist.
00:22:59: Also das ist ja auch sehr häufig, dass es dann so Folgeeffekte gibt und deswegen hat Amazon insgesamt... zwei Tage an der Sache rumgebastelt, aber die eigentliche Ursache dieser DynamoDB-Ausfall, der hat sich über knapp zwei Stunden, glaube ich, hingezogen.
00:23:17: So, so weit sozusagen zu dieser technischen Ding, was da abgegangen ist.
00:23:26: Das hat ja sehr viele Kommentare hervorgerufen und natürlich wollen wir das irgendwie auch kommentieren, weil dafür werden wir bezahlt, dass wir hier reden.
00:23:37: Ich fand es ehrlich gesagt schön, dass Amazon als Amazon hat sehr schnell einen vollständigen Report geliefert.
00:23:41: Alles was ich euch jetzt erzählt habe ist, weil Amazon das veröffentlicht hat, müssten sie ja nicht, müssten sie glaube ich auch nicht irgendwie so öffentlich machen, vielleicht gegen ihren Kunden oder so.
00:23:51: Also der war nicht nur, ich meine der ist natürlich wie üblich voll mit, ja das hier haben wir alles gemacht und das hier haben wir alles gemacht.
00:23:57: und guck mal tausend Sicherheitsmaßnahmen, die leider in diesem Fall nicht gegriffen haben und so.
00:24:01: Aber man versteht irgendwie, was alles auf die Nase gefallen ist.
00:24:04: Sie haben da auch hinten eine lange, lange Liste dran von sozusagen Folge-Services, die dadurch auf die Nase gefallen sind und wann die wieder erreichbar waren und so.
00:24:13: Und ich finde, sie haben diesen Report aus dem Mitsch schnell geliefert.
00:24:17: Was halt nicht schön ist, was einigen Leuten dadurch sozusagen sehr sauer nochmal aufgestoßen ist, wie viel Zeug von so einem Hyperscaler.
00:24:26: abhängt.
00:24:26: Also ich habe es am Anfang schon runtergebetet, war alles betroffen, war ganz natürlich noch eine hoffen andere, die betroffen waren.
00:24:31: Wir haben irgendwelche Smartbetten, nicht mehr funktioniert und so.
00:24:35: Und die Frage ist halt, muss das denn sein und ist das irgendwie erstrebenswert?
00:24:39: Und da hat Signal dann nochmal so ein bisschen gegen dieses Western List getreten, weil sie gesagt haben, also viele Leute waren überrascht davon, dass Signal von einem amerikanischen Hyperscaler irgendwie abhängig ist.
00:24:53: Und dann hat er Meredith Wittke, also die Präsidentin des Signals von der Spiel drum gesagt, sie ist davon überrascht, dass die Leute davon überrascht sind.
00:24:59: Na wovon sollen sie denn sonst abhängig sein, wenn man einen Service auf dem Niveau von Signal betreibt, also halt irgendwie global?
00:25:05: Millionen Nutzer, Realtype Communication, blah, blah, blah, geht ja gar nicht an.
00:25:10: Sie finden es auch nicht schön, von solchen Hyper-Scalen abhängig zu sein, aber was sollen sie machen?
00:25:15: So glaube ich, kann man ihre Argumenten zusammenfassen.
00:25:20: Die Kommentatoren... Also da gab es vielfältige Reaktionen darauf.
00:25:23: Meistens sagen Leute, was stimmt doch gar nicht, was ist denn mit X?
00:25:27: und dann deuten sie auf Mastodon oder auf Streamer oder auf Matrix oder keine Ahnung was.
00:25:31: Und ich bin mir da nicht so sicher.
00:25:34: Also ja klar, es gibt dezentrale Systeme, es gibt federierende Systeme.
00:25:41: Ein dezentrales System, was auf dem Niveau von Signal erreichbar ist und auf dem Niveau von Signal Nutzer oder einfach Traffic bewältigt, fällt mir spontan nicht ein.
00:25:55: Also bei Masturon habe ich regelmäßig das Problem, dass der Synk halt nicht schnell genug ist, was mich nicht stört für so ein soziales Netzwerk, aber was mich halt sehr schön würde, wenn ich mit Leuten chatten will.
00:26:05: Threema spielt halt den größtenmäßig in der ganz anderen Liga.
00:26:10: Matrix ist, also ich mag das System, aber es ist wahrlich kein System, das ich in den letzten Monaten dadurch ausgezeichnet hat, dass es sonderlich ausfallsicher wäre.
00:26:17: Die hatten große, große Performance Probleme auf matrix.org, der größten Instanz.
00:26:24: Ein Beispiel, wo ich am ehesten sagen würde, interessant ist Telegram.
00:26:29: Telegram ist zehnmal so groß wie Signal.
00:26:33: Ja, aber Nutzerbasis her.
00:26:34: Von der Nutzerbasis her, genau.
00:26:35: Also man müsste da halt auch gucken, na ja, wie aktiv sind die Nutzer?
00:26:38: und so.
00:26:40: Telegram... habe ich auf die schnelle keine offizielle information gefunden.
00:26:45: wie viel rechenzentren sie in wie viel regione betreiben.
00:26:48: angeblich sind fünf aber das ist jetzt hören sagen von von irgendwelchen leuten im internet also fünf global verteilt.
00:26:56: telegram sagt explizit sie nutzen auch content delivery networks für den also für für mediendateien und so sie sagen auch in der freku weiß halt nicht.
00:27:05: anders geht wenn du schnell in der region skaliert musst weil irgend was sich viral verbreitet.
00:27:12: Sie sagen, sie haben den eigentlichen Nachrichten Content und so nicht in solchen CDNs.
00:27:20: Signal sagt halt, bei uns ist alles Ende zu Ende verschlüsselt, das ist uns total egal, ob das in CDNs rumliegt oder nicht.
00:27:25: Das ist natürlich auch ein Argument, aber Telegram ist ja nicht alles Ende zu Ende verschlüsselt, sogar das meiste nicht.
00:27:32: Also ich...
00:27:34: würde.
00:27:35: ich wäre geneigt telegramm als beispiel zu sehen das möglicherweise zeigt das geht auch ohne halt wenn man irgendwie mit dem haufen aufwand in verschiedenen geografischen regionen selber rechenzentren betreibt.
00:27:47: ob das machbar ist zu finanzen die signal hat kann ich aber nicht beurteilen weil telegramm berüchtigterweise intransparent ist auf was genau sie eigentlich wie und wo machen und wie viel das kostet und wer das finanziert und so aber.
00:28:04: Ich wollte noch eine externe Stimme einbringen.
00:28:07: Jan Mahn, den ihr auch aus dem Podcast kennt, schreibt gerade für CT einen Artikel darüber und ein Argument von ihm ist halt, das ist finde ich ein sehr wichtiges.
00:28:19: Also ja, die Argumente von Whitaker sind schon gut, aber die meisten Dienste sind nicht Signal.
00:28:24: Also unhaufenzeugig, was hier abgeschmiert ist, ist nicht darauf angewiesen, dass sie ein global verteiltes Netzwerk haben, was irgendwie real-time-communication-fähig ist und pipa-po.
00:28:33: Und die sollten wirklich mal drüber nachdenken, müssen sie in irgendeiner Cloud hängen, müssen sie in genau einer Cloud hängen, gäbe es nicht irgendwelche anderen Möglichkeiten.
00:28:46: Bezweifle dass man damit oft deutlich geringere ausfall wahrscheinlichkeiten kommt.
00:28:52: Weil diese hyper scale schon relativ gut darin sind.
00:28:55: also auch telegram hat einige ausfällig in der vergangenheit zum beispiel gehabt mit ihrem eigenzeug.
00:29:01: Es hat halt den großen vorteil dass man von so einem.
00:29:04: Hyperscaler-Ausfall dann nicht betroffen ist.
00:29:06: und in der Situation, wo dann tausend Leute sagen, das geht nicht und das geht nicht und das geht nicht, was gibt denn noch, steht man halt da mit, ja, wir gehen noch, weil wir das halt nicht gemacht haben.
00:29:17: Plus, man hört immer wieder, dass es auch sehr viel günstiger sein kann, so einen Hyperscaler gar nicht zu nutzen.
00:29:24: Du weißt nicht, Christoper?
00:29:27: Ich muss gerade ein bisschen, ich habe versucht, einen oder aufzuzeigen, reinzukommen, aber du fährst gerade so schön im Flow, deswegen wollte ich nicht niemanden unterbrechen.
00:29:37: Ich habe ein paar Sachen, die ich tatsächlich loswerden möchte.
00:29:41: Zum einen der Vergleich mit, die ich auch auf Mastodon gelesen habe.
00:29:45: So guckt mal, wer war denn gestern nicht vom so Ausfall betroffen, zu dem wir gleich noch kurz kommen.
00:29:51: Das hängt natürlich.
00:29:51: Also wenn ich die Nutzerzahl von Mastodon gucke, dann das ganze Fertiverse, also das Mastodon basierte Fertiverse, also nicht Fretz und Co, Blue Sky.
00:30:02: kommt mit Dach und Krach auf eine Million täglich aktive Nutzer und das ist natürlich in Größenordnungen entfernt von dem was Signal, Threema, aber vor allem Telegram auffahren.
00:30:13: und Telegram macht einige Sachen, die andere Sohn nicht machen, also vielleicht, ich glaube WhatsApp macht es auch so, Telegram betreibt ein eigenes autonomes System, also ein eigenes Netz hinter dem sie eigentlich fast alles verstecken.
00:30:28: die announce ihre netze per bgp und du kannst ganz schlecht reingucken wo tatsächlich die rechenzentren sind wo diese die netze tatsächlich terminieren ob sie sich vielleicht dann doch im hintergrund der großen halber scale selektiv bedienen.
00:30:44: sie sind aber vor allem auch dafür bekannt dass sie in regionen aktiv sind und auch da noch noch.
00:30:51: muss man sagen, genutzt werden können, in denen andere Messenger oft schon nicht mehr genutzt werden können, weil die Regimes das verbieten.
00:30:58: Also natürlich in Russland, aber Telegram ist riesig in Indien.
00:31:03: Was in der Vergangenheit bei den Hyperscalern mal so ein bisschen so ein Stiefkind war, aber ich glaube... Inzwischen sind alle da auch so präsent, dass sie dann einen vernünftigen Fußabdruck haben.
00:31:12: Und in diesem Blog-Post, den ich auch gelesen habe, ging es dann auch darum, dass da zum Beispiel skalieren müssen in so Regionen wie Kazakhstan, in der Türkei oder so, wo du unter Umständen mit den traditionellen Hyper-Scalern auch nur mäßig vorankommst.
00:31:27: Und insgesamt ist Telegram da aber sehr, sehr schmarlippig.
00:31:32: Also sie erzählen praktisch nichts und du musst auch sehr tief graben.
00:31:38: auf Telco Ebene graben um was was rausfinden zu können und dann siehst du halt zumindest mit wem sie so treffig austauschen.
00:31:44: aber ansonsten ist das ist das relativ dünn was man über die weiß.
00:31:48: aber ich glaube das ist wirklich der spieler mit dem man sich dann mit dem sich signal dann vielleicht ein stück weit messen muss.
00:31:55: Facebook und also der meta konzern mit seiner infrastruktur die dann natürlich auch für whatsapp genutzt wird spielt dann auch schon wieder in einem ganz anderen auf einem ganz anderen spielfeld und auch mit ganz anderen.
00:32:05: eigenen Strukturen, Facebook war ja schon in den zwei tausenden, ich glaube in zwei tausenden oder in den frühen zwei tausenden Zehnern dafür bekannt, dass wir irgendwo nördlich das Polarkreises angefangen haben, Rechenzentren in Schweden zu bauen, da so Kiruna die Ecke, weil es ja so schön kühl war und die haben ja auch diesen Open Compute Kran gebaut, also eigene Rekdefinitionen haben wir so früh schon gesehen, wir brauchen eigene Rechenzentren, wir wollen uns nicht auf die Hyperscaler, die ja damals auch schon existierten, verlassen.
00:32:33: So, das ist aber ja eine Größenordnung, der keiner von den Leuten, die ich persönlich kenne, selber spielt und auch Unternehmen oder Leute, die uns hören, vermutlich eher nicht.
00:32:42: Und da stellt sich dann so die Frage, brauche ich diesen ganzen globalen Krempel eigentlich?
00:32:48: Und ist es wichtig, dass ich Anycast-DNS habe und dann immer einen Server, der in der Nähe meiner Nutzer ist, automatisch selektiert wird?
00:32:57: Also ich würde mal sagen, für Tante Ernest Blumenladen oder für meine... Für meinen persönlichen Web-Server, auf dem unsere Nontizen hier gerade laufen, ist das eher irrelevant, weil ob ich jetzt den Content-Note in Hannover anspreche oder den in Frankfurt oder den in Helsinki, das ist für die Latents relativ, relativ rille.
00:33:14: Und das ist dann immer ein klumpen Risiko.
00:33:17: Und da kommen dann die Leute auch sehr schnell und sehen eine Opportunität und diese Opportunität, diese Diskussion wieder anzufachen, ist dann ja eine Woche später, nämlich gestern.
00:33:26: Wir nehmen heute am dreißigsten Oktobermittag auf.
00:33:29: direkt wieder aufgeflammt und vielleicht erzähle ich nochmal dreißig Sekunden zu diesem nächsten Thema.
00:33:34: Also diesen nächsten Ausfall und dann können wir vielleicht auch nochmal diskutieren, was das für unsere Hörerschaft oder für die Unternehmen für die, die vielleicht arbeiten, noch bringen kann.
00:33:43: Aber ich bin voll bei dir.
00:33:45: sowas wie Matrix.
00:33:48: Mastodon oder so, das kannst du einfach nicht vergleichen, auch hier Jabba, also XMPP.
00:33:53: Das kannst du nicht vergleichen mit der Scala, in der Signal operiert und auch eben mit dem Feature-Reichtum, mit dem Signal und Telegram auf einer konsistenzhohen Dienstbüte operieren.
00:34:06: Also genau, ich glaube wir kommen am besten danach noch kurz dazu, aber... Also die Frage ist ja einerseits kann man es auch anderes machen und die andere Frage ist ja bringt es an was.
00:34:15: Also habe ich dann wirklich eine geringere Ausfallwahrscheinlichkeit, aber ich würde vorschlagen, du erzählst erst mal noch, welche andere Cloud abgenibelt ist und dann schauen wir weiter.
00:34:23: Also wenn AWS kaputt ist, dann am zwanzigste Oktober war AWS kaputt und als hoch... Panisches Unternehmen, dessen Webseite jetzt kaputt war oder irgendwas, was auf DynamoDB aufbaute.
00:34:35: Da hab ich natürlich sofort meinen Notfallplan gezogen und ich hatte zum Glück ein Fallback.
00:34:40: Ich bin dann zu Azure gegangen.
00:34:44: Azure ist es, glaube ich, ne?
00:34:45: So, ich vernussle das jetzt ein bisschen und hab mich Microsoft in die Arme geworfen und mir gedacht, ah, da passiert das bestimmt nicht.
00:34:52: Und damit ist auch... Hundert Prozent, mein Kram erreichbar bleibt, gehe ich zu einem Dienst, den Microsoft mit neunneunzig, neunneun Prozent monatlicher Verfügbarkeitsgarantie anbietet, nämlich Azure Front Door.
00:35:06: Das ist deren Cloud CDN, also sowas wie Cloudflare oder das Amazon heißt glaube ich Cloud Front.
00:35:16: Ich bin nicht hundert Prozent sicher, doch Amazon Cloud Front und bei, bei Microsoft heißt es Azure Front Door.
00:35:24: Und Azure Front Door, sonst würde ich das natürlich hier ja auch nicht so blümerrand einleiten, ist gestern Abend auf die Nase gefallen, also späten Nachmittag unserer Zeit, siebzehnten, dreißig oder so, guckte ich noch ziemlich verschnoddert und in der Vorbereitung auf die Podcast-Folge, was so passiert.
00:35:42: und dann ploppte da plötzlich so ein Alert auf und ich dachte, vielleicht nur fünf Minuten irgendwas, aber dann wohnt plötzlich so bei allestörung.de.
00:35:51: Spikesicht war überall, alles war kaputt, sogar auch AWS, keine Ahnung warum.
00:35:56: Und das war ein Ausfall, der zog sich dann bis nach meinem Feierabend, also ich habe da halb neun Abends das letzte Mal draufgeguckt und da hieß es, wir sind jetzt dabei, wir haben den Fehler behoben und wir sind jetzt dabei, alles kontrolliert wieder anlaufen zu lassen und wahrscheinlich bis dreinzwanzig Uhr zwanzig UTC, also halb eins unserer Zeit, ist alles wieder im Lot.
00:36:21: Das hat dazu geführt, dass eben, genau wie bei Amazon, nicht nur Kunden, Webseiten, die hinter diesem CDN lagen, sondern auch Microsofts eigene Dienste, also deren Knowledge Base, deren Webseite, deren Corporate Webseite, was pikant ist, weil der Termin sehr unglücklich gewählt war für diese Auto.
00:36:38: Das waren nämlich gestern auch Quartals-Earnings-Call von Microsoft.
00:36:42: Das war alles sehr, sehr langsam.
00:36:44: Da fehlten Style-Schieds, da fehlten Grafiken, manchmal kam es gar nicht.
00:36:47: Kurzzeitig gab es auch irgendwie keine DNS-Einträge mehr dafür.
00:36:50: Es war alles so... komisch kaputt, wie das üblicherweise bei genau einer Sorte von Fehlerbild ist, nämlich einem, genau einem DNS-Feder.
00:36:58: Das hat Microsoft dann auch erst vermutet, stand auch erst auf deren Statusseite.
00:37:02: Und das habe ich dann auch in die Meldung geschrieben, die ich dazu gebaut habe, dass das ja das auch nach dem alten Atmen, sprich Wort folgt, jetzt always DNS, in dem Interims Ursachenreport, der heute rausgekommen ist oder... deren datums zeit also den nach deren datum gestern aber den ich heute gelesen habe war es eine defekte konfiguration.
00:37:24: ich bin nicht ganz sicher was das wording bedeuten soll.
00:37:28: Invertend attendant configuration change.
00:37:31: ob das also die konfiguration eines.
00:37:36: Kunden bei diesem front door dienst war die aber durch microsoft eingespielt wurde und kaputt war oder eine konfiguration die von einem kunden.
00:37:46: also eine konfigurationsänderung die von einem kunden eingespielt wurde die so defekt war dass sie an microsoft sündagsprüfungen und validitätsprüfungen für diese konfiguration zwar vorbeikam aber trotzdem defekt war und damit dieses komplette netzwerk außer gefechten gesetzt hat.
00:38:03: die Auswirkungen waren ein bisschen so ähnlich.
00:38:05: Es gab auch wieder so ein Ripple Effekt, dass verschiedene Dinge kaputtgingen.
00:38:08: Und Microsoft hat dann auch sehr schnell, glaube ich, gemerkt, dass da was Defekt ist.
00:38:14: Unter anderem, weil ihre eigenen Dienste eben auch kaputt waren, ihre eigenen Website nicht mehr funktioniert und hat dann aber so ein bisschen, würde sich für mich so beim Draufgucken von außen, bei der Beobachtung, kopflos reagiert.
00:38:25: Sie haben sehr regelmäßig, das halte ich Ihnen auf jeden Fall zugute, die Statusmeldung aktualisiert in diesem.
00:38:33: Das war aber zwischenzeitlich auch mal nicht erreichbar.
00:38:35: Es ist dann immer so ein Problem, wenn deine Status-Seiten auf dem gleichen Netz sind, das möglicherweise von dessen Status die anzeigen sollen.
00:38:43: Das ist immer ein bisschen so ein Bootstrap-Problem.
00:38:45: Sollte man vermeiden, sollte man also wirklich auch gucken, dass man seine Status-Seiten komplett außerhalb des eigenen Netzes hat, wenn man Carrier ist oder eben so ein Hyperscaler.
00:38:54: Das auf einem anderen Blatt.
00:38:55: Sie haben dann unter anderem aber auch empfohlen.
00:38:59: Hey, wenn ihr jetzt ... nervös werdet liebe kunden dann nehmt doch einfach eure das cdn überbrückt das und leitet doch einfach wieder eure dns einträge direkt auf eure origin server und dann lasst ihr die doch die inhalte wieder ausliefern.
00:39:13: das funktioniert auf jeden fall.
00:39:14: wir reparieren dann im mitten das cdn und dann könnte das ja morgen wieder anschalten.
00:39:18: hier ist ein how to wie man das macht auf den microsoft hilfe seiten die nicht erreichbar waren nicht ein screenshot von in die meldung gepackt.
00:39:25: es waren so ein bisschen.
00:39:27: ja musste man dann so auf gut Glück machen und ich hoffe es haben nicht viele gemacht.
00:39:32: ich halte das nämlich für eine echt doofen Hinweis und da wird dann auch wieder Security draus denn das ist aus zwei auf zwei Arten aus meiner Sicht keine besonders gute Idee zumindest nach meiner Vermutung.
00:39:48: ich weiß nicht ganz genau wie sie sich vorgestellt haben dass man das baut weil wie gesagt diese Hilfe seit online offline war als ich mir das anschauen wollte aber.
00:39:55: Wenn ich jetzt hingehe und sage, ich habe hier www.heise.de und normalerweise zeige ich das auf das Microsoft CDN, dann ist das irgendwie heise.de.msh.net oder sowas, dann sage ich, naja gut, dann überbrücke ich das und dann lasse ich das halt direkt wieder auf meinen eigentlichen Dev Server zeigen, also was ich, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist es, da ist.
00:40:21: Die kriegen direkt eine erheblich höhere Last als mit CDN und Load Balancer, weil sie die gecacheden, also keinen Caching mehr haben, weil sie die Assets, die typischerweise statisch sind und vom Load Balancer oder CDN direkt ausgeliefert werden, selber mit ausliefern müssen, also Javascript, CSS, irgendwelche statischen Bilder, all dieses ganze, das typische CDN Zeug, das ist dann alles weg.
00:40:43: Das muss direkt vom Webserver ausgeliefert werden, der eigentlich nur die dynamischen Seiten zusammenbauen möchte und dafür auch skaliert ist und ausgelegt ist.
00:40:53: Und zu dem fällt dann sowas wie irgendwie Bot und Crawler-Kontrolle weg.
00:40:57: Es fällt die Waffen möglicherweise auf die hintenüber.
00:41:00: Es gibt dann noch so einen vorgelagerten Dienst von Microsoft, der heißt, oh Gott, Azure Route Manager oder Path Manager, also so ein DNS-basierter Routing-Dienst.
00:41:12: Aber der wird das auch nicht alles lösen können.
00:41:14: Im Endeffekt ist das dann auch wieder nur so ein DNS Round Robin, wo einfach ein DNS Eintracht auf mehrere IPs zeigt.
00:41:21: Und der aus Sicherheitssicht des größten Problems ist aber, dass deine Origin IP-Adressen dann bekannt sind.
00:41:28: Und das möchtest du als Kunde mit einem entsprechenden Risikoprofil unbedingt vermeiden, weil der nächste DDoS-Angriff dann eben nicht auf Azure Front Door geht, die den gemütlich abfeiern und sagen können, wir haben hier so viel Terabit Außenanbindung, sondern der geht dann auf deine Origin Server, die möglicherweise nur mit einem Gigabit irgendwo bei Hetz verstehen.
00:41:46: Und das ist dann schlecht.
00:41:48: Weil da musst du dann die IP-Adressen rotieren, um diesen DDoS abwehren zu können oder bei deinem eigenen Provider noch mal zusätzliche DDoS Mitigation einkaufen.
00:41:57: Also es ist ja auch, ich finde es komisch, weil ... Wirklich in beiden Fällen, in denen man üblicherweise so ein CDN einsetzt, ist scheint dieser Ratschlag deplatziert.
00:42:08: Also entweder sage ich, ich brauche ein CDN für sein klassisches Ding, weil mein Origin Server die Last einfach nicht stimmt.
00:42:17: Und wenn das CDN dann abendippelt, zu sagen, dann leidst du direkt auf dein Origin Server.
00:42:22: Geht ja nicht, weil wenn ich das könnte, dann hätte ich das CDN gar nicht benutzt.
00:42:26: Oder, also und oder, ich sage ich will einen CDN haben aus Security Perspektive, um halt irgendwelche DDoS Angriffe abwehren zu können und so.
00:42:33: und dann habe ich genau das Problem, wenn ich es jetzt durchleite, dann wissen alle DiAP-Adresse.
00:42:37: Also ich sehe nicht so richtig, in welche Situation ich mich eigentlich befinden muss.
00:42:40: Also ich sage so, ja gut, dann leite ich es halt jetzt mal für einen Tag direkt auf den Origin Server.
00:42:46: Wenn das eine Option wäre, warum habe ich dann das CDN?
00:42:50: Also für mich ist das ein bisschen ein Fall von Selbstmord aus Angst vor dem Tod.
00:42:54: Also mein Loadbalancing ist down und deswegen exponiere ich jetzt meine Origin Server und dann sind die halt auch down, weil da die ganze Last ungefiltert drauf geht.
00:43:04: Es hat keiner was gewonnen, meine eigenen Atmen schwitzen dann noch mehr, weil sie nämlich zusätzlich jetzt auch noch mit den ganzen überlasteten Kisten arbeiten müssen.
00:43:12: Und ich habe dann ja wieder so ein Ripple Effekt, dann sind meine Datenbank-Server im Eimer und haben wir weiß was für ein Transaktions-Doctor ist im Nachhinein noch abarbeiten müssen.
00:43:19: Also ich weiß nicht, erschließt sich mir nicht.
00:43:22: Und das... Man sieht auch ein kleines bisschen aus meiner Sicht den Unterschied in der Informationspolitik.
00:43:29: Ja, Microsoft hat da sehr schnell informiert.
00:43:32: Wir haben dann auch ein Statement gekriegt von einem Unternehmenssprecher.
00:43:36: Das war im Wesentlichen, aber wieder so ein Ding.
00:43:39: Da habe ich mit dem Kollegen im Newsroom gesagt, eigentlich brauchen wir das nicht reinzupacken.
00:43:43: Und da war, da hieß es das gleiche wie auf der Statusseite.
00:43:46: Wir arbeiten dran und wir gucken mal.
00:43:48: Es war auch wieder so ein Nichtsstatement.
00:43:51: Und der Incident Report, den ich mir heute angeschaut habe, der war auch Ja, also das das präziseste bei die teilen an die war halt wenigstens minuten genau das ist ganz gut.
00:44:02: das ist auch wichtig weil es wie gesagt dieses la gibt wenn du kunde von amazon von echa frontor bist dann hast du ein la von neun neun neun neun prozent im monats mittel und wenn du wenn sie das reißen dann kriegst du zehn Prozent deiner deines Mosatzbeitrags als Gutschrift auf den nächsten Monats angerechnet.
00:44:27: Und da ist es schon wichtig, dass man bei so einem relativ kurzen Ausfall auch Minuten genau nachweisen kann im Monitoring, da war es kaputt und dann das entsprechend auch mit dem Incentive Report seines Anbieters korrelieren kann.
00:44:41: Der Rest hingegen, da steht halt eine inadvertent unfreiwillige Unabsichtliche Konfigurationsänderung hat dieses Service-Disruption verursacht.
00:45:03: Das Gleiche passiert, was in solchen Fällen dann immer passiert.
00:45:06: Es sind ein paar Notes kaputtgegangen, die restlichen waren überlastet.
00:45:09: Dann wurden die eben auch in ihrer Antwortzeit schlechter und dann ist das Ganze entsprechend sehr schnell eskaliert durch so einen... So eine Art Orkan Effekt oder so einen exponentiellen Effekt oder sowas und hat mit sich ins nach unten gerissen.
00:45:26: eben das Azure Portal Azure Virtual Desktop Azure SQL Database Microsoft Copilot for Security Microsoft Defender Dienste also verschiedene der Thread Intelligence und Endpoint Protection Dienste.
00:45:40: mit denen ich eben vor Malwehr geschützt werde, Microsoft Perview, das ist deren Logging-Plattform und Log-Output-Plattform, wo ich dann eben auch schauen kann, was so passiert ist auf meinen Maschinen.
00:45:53: Also da ist ziemlich viel mit in den Abgrund gerissen worden und die Folgeprobleme waren eben auch, dass dann so Sachen wie die Minecraft-Webseite oder das Xbox-Netzwerk nicht so richtig erreichbar waren zwischendurch.
00:46:04: Aber jetzt gerade am... Donnerstag heute ist noch nicht hundertprozent klar, was jetzt die effektiven Auswirkungen waren.
00:46:11: Und wer jetzt auch sagen wird, so, das hat uns dieser Ausfall gekostet.
00:46:17: Das entnehm ich jetzt erst mal nur diesem Incident Report.
00:46:19: Aber ich finde das auch von Amazon erheblich transparenter kommuniziert.
00:46:23: Und auch dieser Route-Course ist viel besser zu durchschauen.
00:46:30: So weiß ich noch nicht mal, ob ein Kunde ist verbockt hat und Microsofts Fehlerprüfung ist nicht.
00:46:37: eingefangen hat, oder ob Microsoft-Mitarbeiter es verbockt haben und die Fehlerprüfung ist nicht eingefangen hat.
00:46:42: Was aber klar ist, ist, dass offensichtlich die Checks für solche Konfigurationsrollouts nicht ausreichend waren und dass man da rein arbeiten kann.
00:46:49: Und wie habe ich das jetzt auf Mastodon genannt?
00:46:52: Wir stehen gerade vor einer nicht regionalen Verfügbarkeitsherausforderung.
00:46:58: Denn globaler Ausfall heißt bei Microsoft nicht regionaler Ausfall.
00:47:03: Ja, also ihr müsst wissen, An der Menschheit ist ein Kälch vorübergegangen, als Christopher beschlossen hat, nicht ins Marketing zu gehen, weil die Formulierung, mit denen wir konfrontiert wären, wären dramatisch.
00:47:19: Ich wollte noch einen Punkt aufgreifen, weil wir kommen gleich zu noch mehr Sachen, die bei Microsoft nicht gut funktioniert haben.
00:47:27: Aber du hast gesagt, es ist ein relativ kurzer Ausfall und das stimmt ja in beiden Fällen.
00:47:32: Also ich finde... Beide Fälle geben kein gutes Beispiel ab, für so vielfältige Forderungen nach Multikloud ansetzen, die sofort im Fahrwasser davon hochkamen.
00:47:47: Und wenn ich baue auf den namen db auf oder sogar auf irgendeinem folgedienst und dann war ich halt sagen wir mal ich war irgendwie zwölf stunden von diesen ding betroffen das heißt ja nicht mein servicer irgendwie zwölf stunden offline.
00:47:56: die meisten von diesen servicers waren halt betroffen im Sinne von mehr beim manchen kunden funktioniert bei manchen funktioniert es nicht gut oder die müssen irgendwie fünfmal die seite aufrufen bevor sie sie einmal sehen oder wie auch immer.
00:48:06: also halt so wackelig und manche kunden betroffen mehr manche weniger manche war doch gar nicht so.
00:48:14: wenn man.
00:48:15: Daran geht dann sagt dann gut ich will das mit dem Multi Cloud Ansatz vermeiden.
00:48:19: Und nicht sagt, ja ich habe einfach sozusagen die komplette Kapazität die ich benötige als Hotspair bei einem anderen Anbieter und zahle da sozusagen laufend dafür.
00:48:32: Wage ich zu bezweifeln, dass man den Wechsel schneller hinkriegt als Amazon oder Microsoft ihr Zeug einfach gefixt bekommen.
00:48:38: Also wenn ich jetzt hingehe und sage na gut jetzt, muss ich aber hier irgendwie alle meine Kunden, die gerade irgendwie wackeln, weil sie halt bei Anbieter X sind, migrieren auf die andere Cloud, die ich habe.
00:48:51: Dafür muss ich dir um fünfzig Prozent hoch skalieren oder so.
00:48:54: Und dann die ganzen Kunden, das wackelt dann sicher auch für zwei Stunden, würde ich behaupten.
00:48:59: Und dann habe ich alle meine Kunden bei der Cloud zu einem Zeitpunkt, wo die Ursprung also bei einer Cloud zu einer Zeitpunkt, wo die andere eigentlich schon wieder gefixt ist und das möchte ich zurückmigrieren.
00:49:07: Also, das möchte ich mal sehen, in einem Fall, wo jemand sagt, nee, nee, wir haben das gemacht und es hat tatsächlich sozusagen, wir haben unseren eigenen Service schneller stabilisiert bekommen, als der HyperScaler sein Zeug stabilisiert bekommen hat.
00:49:20: Das hängt vermutlich recht stark davon ab, auf welcher... Ebenen.
00:49:26: die Ebene der hyper scale.
00:49:27: du agiert.
00:49:28: also wenn es nur vm sind und du machst einen ganzen krempel dann selber also.
00:49:33: Hast dann da virtuelle datenbank server und die sind dann cluster anstatt dass du den datenbank dienst des jeweiligen hyper scalers verwendest.
00:49:40: Dann könnte ich mir vorstellen dass du relativ guten multi cloud ansatz fahren kannst indem du einfach deine eigenen redundanz konzept implementiert und dann aus drei verschiedenen hyper scalern die datenbank.
00:49:52: klasse zusammensetzt und die sind dann halt immer insichere und dann und dann ist egal was dahin überfällt.
00:49:56: aber dann brauchst du auch keinen failover zu machen.
00:49:58: wenn du aber so dienste nutzen musst weil du sie einfach brauchst wie deiner modi b oder wenn du ganz viel hier so s drei buckets nutzt die du eben nicht aus kosten gründen weil es einfach terror oder petabyte sind drei vier mal auf der welt unterstellen kannst für geld dann wirst du dich da sehr schwer tun.
00:50:17: und dann ist es bei solchen ausfällen wenn du ja auch nicht weißt, ob es noch mal kaputter wird.
00:50:25: Wenn es immer so in fünfzig Prozent der Fälle funktioniert, ist dann oft vielleicht auch bei den meisten deiner Kunden in Ordnung, da wirst du dann sagen, das reiten wir jetzt aus.
00:50:35: Aber auch da ist man natürlich vom Rückschaufieder betroffen.
00:50:39: Diese Outage bei Deiner Mode B hätte ja auch drei Tage dauern können.
00:50:43: Das weiß man ja im Voraus nicht.
00:50:44: Und diese Entscheidungsfindung, wenn du dann da sitzt nachts um zwei und alles ist kaputt, Das habe ich mehrfach selber machen müssen und das ist echt ein Problem.
00:50:52: Wenn du da vor der Entscheidung stehst, ist es oft eine Wette.
00:50:59: Wenn du sagst, wir schwenken jetzt und zwei Minuten später ist es bei deinem alten Provider kaputt, dann hast du möglicherweise noch acht Stunden Probleme.
00:51:05: Wenn du aber sagst, wir schwenken jetzt und es ist da noch sechzehn Stunden kaputt, dann war es die richtige Entscheidung.
00:51:10: Das ist oft sehr schwierig.
00:51:13: Ich glaube, das ist auch einfach eine nach wie vor schwierigen Disziplinen.
00:51:18: sich eine Infrastruktur zu bauen, die möglichst wenig Vendornlock in mit möglichst viel Verfügbarkeit und Renundanz und Flexibilität kombiniert.
00:51:28: Und nicht absurd teuer ist, ne?
00:51:31: Ja,
00:51:31: das ist das dritte, der dritte Punkt des Dreiecks.
00:51:34: Ja, also ich möchte auch nicht bestreiten, dass es solche Fälle geben kann, ne?
00:51:39: Also so habe ich hier angefangen.
00:51:40: Ich glaube nicht, dass diese beiden Fälle gute Beispiele für sowas sind, weil es da die Hyper Scalade ziemlich schnell hingekriegt haben.
00:51:48: Mir fällt es aus dem Kopf auch kein Fall ein, wo so ein Hyperscaler wirklich so lange betroffen war, dass ich sagen würde, ja.
00:51:55: Also natürlich auch im Nachhinein, aber da wäre es schlau gewesen, möglichst schnell wegzumigrieren, auch wenn man da nicht irgendwie
00:52:01: was
00:52:01: Hotspäher in Petto hat.
00:52:02: Und auch dann, also vielleicht sagt man, ich habe hier einen Plan und ich kann sozusagen schnell genug bei dem anderen Hyperscaler zuguchen und dann mein Zeug rüberziehen und dann, weil ich das irgendwie selber, die Redundanzmanager, und dann stelle ich fest, ich habe irgendeinen Time to live.
00:52:16: Eintrag in DNS doch falsch gesetzt und jetzt kriege ich mein Zeug nicht rübergezogen oder ich habe es da gerade hingeschoben und das ist aber noch gar nicht online und so und ich krieg es nicht korrigiert.
00:52:24: Und am Ende habe ich mein eigenes Service länger in Orkos geschossen als wenn ich habe nichts gemacht hätte oder so.
00:52:31: Nicht ganz Hyperscaler Größe, aber ein Beispiel, das mir einfiel, wäre damals dieses Rechenzentrumsfeuer von UVH.
00:52:39: Wo in Straßburg glaube ich ein Rechenzentrum von denen gebrannt hat.
00:52:43: Also wenn ich da vor allem hatte, dann wusste ich ja erstmal auch gar nicht viel und die waren einfach erstmal nur schwarz.
00:52:49: Da war nichts zu sehen.
00:52:50: und dann, da wäre definitiv angesagt gewesen, jetzt schwenken wir mal entweder in anderen Standort das gleiche Rechenzentrums Anbieters oder das gleiche Cloud Anbieters oder zu einem anderen Hyperscaler.
00:53:05: Aber das weißt du halt auch oft nicht vorher, weil die Informationen sich sehr schnell verändern und man da oft auch ja im Grunde mehr oder weniger im Blindvogel unterwegs ist.
00:53:14: und da ist es wichtig natürlich, dass du verlässliche Informationen kriegst.
00:53:17: und die, die nicht von Twitter irgendeiner Status-Webseite, die mal lädt und mal nicht irgendeiner anderen Status-Webseite, dann irgendein Dashboard dafür, dass du dich einloggen musst und irgendeiner Viertenquelle zusammensuchen musst, weil das war gestern bei Microsoft teilweise die Situation.
00:53:34: Gut.
00:53:34: Aber Microsoft kommt ja gleich auch noch.
00:53:36: Also lass uns zusehen, dass wir jetzt zum nächsten Thema kommen.
00:53:38: Aber du
00:53:39: kannst nur weiter machen, was bei Microsoft der Fall war.
00:53:43: Ach, das ist ja jetzt schon dran.
00:53:45: Ja, wir bleiben in Redmond.
00:53:52: Es gab da ein gewisses Ungemach.
00:53:54: mal wieder einen neun Komma acht von zehn, also fast High Score.
00:54:00: CV E in den WSOS.
00:54:03: die WSOS sind die Windows Server Update Services also eine Komponente von Windows Server mit der du Unternehmens internen Updates an deine Kleines verteilen kannst an der Windows Rechner und das war für mich ein bisschen ein Anlass dass wir mal ein.
00:54:20: Klein ist bisschen mehr.
00:54:21: Ich versuche das jetzt ein kleines bisschen zu straffen in das Thema deserialisierungslücken reingucken.
00:54:26: Denn diese deserialisierungslücken, die sind große Probleme, die wir jetzt in den letzten Monaten auch bei Microsoft Produkten sehr stark gesehen haben.
00:54:36: Dies aber, und das soll der Fairness halber wirklich sehr deutlich erwähnt sein, in praktisch jeder.
00:54:42: anderen im Web oder in anderen Anwendungen verwendeten Sprache gibt, die das Konzept der Serialisierung und Deserialisierung kennt.
00:54:53: Deserialisierung und Serialisierung.
00:54:56: nur ganz kurz.
00:54:57: Das ist, die Serialisierung ist, ich nehme eine Datenstruktur, die in einem Sprachintern Format ist, also sagen wir mal ein Array und dieses Array wandle ich so um, dass ich daraus Text machen kann.
00:55:10: Ich mache es jetzt, ich vereinfache jetzt alles ein bisschen und ich gucke jetzt so ein bisschen durch die PHP-Brille, die ist ja sowieso extrem simpel gestrickt manchmal, aber da lassen sich viele dieser grundsätzlichen Konzepte schön dran erklären, ohne dass wir jetzt ganz tief in irgendwelche Java- oder .NET-Geschichten einsteigen müssen.
00:55:27: So jetzt, ich habe also beispielsweise ein PHP oder irgendein Array und in diesem Array stehen meine Dammdaten drin, Vorname Christopher, Nachname Kunst, E-Mail-Adresse ckuatheise.de, alles schön, so name equals value.
00:55:41: Und damit ich das in eine, beispielsweise in eine Textdatei wegschreiben kann, so eine Cookie-Datei in meinem Browser, kann das eben kein Array sein, sondern das muss irgendwie in ein Textformat möglichst... In irgendeinem zusammenhängenden String konvertiert werden.
00:55:57: und das ist dann diese Serialisierung.
00:55:59: Da schiebe ich dann noch Base-IV-Sicht rum rum, damit das auch hübsch aussieht und ich keine Sonderzeichenprobleme kriege und dann schreibe ich das in so ein Cookie.
00:56:05: Und dann,
00:56:06: wenn
00:56:07: die PRP-Anwendung aus meinem Browser dieses Cookie bekommt, dann weiß die, sie redet mit Christopher Kunst.
00:56:12: Alles prima.
00:56:14: So, dieses Cookie kommt aber ja aus meinem Browser oder dieser serialisierte String hängt an der URL oder der war in irgendeiner Session-Variabel oder was auch immer, also... Prinzipiell erstmal benutzer input.
00:56:27: und da sind wir beim obersten mantra der software entwickelung oder einem der obersten mantras der sich und softwareentwicklung traue nie dem benutzer input nichts.
00:56:35: was vom Nutzer kommt sollte ungefilter dann ein subsystem weitergegeben werden und im grunde basieren Das GRO von Ausnutzmann-Sicherheitslücken auf einer Verletzung dieses Mantras.
00:56:45: Ob das jetzt Benutzer-Input aus dem Browser oder aus dem Web ist oder von der Kommando-Zeite oder von irgendwo andersher, wo Nutzer ihren Input an Programm übergeben können, ist erstmal egal.
00:56:57: Dieser Benutzer-Input kann nicht nur Errays enthalten, die sein serialisiert und dann von diesem entsprechenden Skriptoder-Programm wieder deserialisiert, also in Form eines Errays oder der Programminternstruktur überführt werden, sondern zum Beispiel auch komplette Objekte.
00:57:14: Und bei diesen Desirealisierungslücken, die wir zum Beispiel jetzt hier bei dieser Vesus-Geschichte sehen, ist genau das der Fall.
00:57:22: Und ich wandle also ein komplettes Objekt, also die Instanz einer Klasse, um in irgendein handlicheres Datenformat, sagen wir mal, in einen Text-String in JSON, ist eigentlich auch so eine Serialisierung, wenn man so möchte.
00:57:36: Und dann, wenn ich die also desirealisiere, wird die wieder zu einem Objekt.
00:57:41: Und dieses Objekt hat ja dann auch zum Beispiel Methoden.
00:57:44: Also das hat nicht nur Daten, Parameter, Attribute, sondern das hat auch Methoden, kann also auch Code ausführen und das Teil dieses Objekts.
00:57:56: Und in PHP ist es zum Beispiel auch so, dass es Methoden in einem Objekt geben kann, die nach der Desirelisierung automatisch ausgeführt werden.
00:58:04: Die heißen, glaube ich, die heißen Magic Methods, diese Methoden, die spezielle Properties haben.
00:58:11: Da gibt's dann so eine Backup-Methode und die wird dann automatisch ausgeführt.
00:58:15: Und da gibt's dann Leute, die zum Beispiel die Idee haben, wenn das Objekt deserialisiert wurde, dann weiß ich, dass zum Beispiel jemand seine Session wieder erneuert hat oder dass jemand wieder eingeloggt hat oder was weiß ich, dann weiß ich, ist es irgendetwas an eine bestimmte Bedingung eingetreten.
00:58:33: und dann möchte ich, dass er mir eine Variable übergeben kann, dass ich irgendeine bestimmte Funktion ausführe, warum auch immer.
00:58:40: Wenn ich jetzt aber in der Nutzer-Eingabe, also in diesem serialisierten Objekt diesen Hook, also diese Variable modifizieren kann und sagen kann, okay, da soll jetzt eben nicht Schreiber Hallo Nachricht ausgeführt werden, sondern da soll System RM-RF ausgeführt werden, dann wird das bei der Deserialisierung genau wieder in dieses Objektproperty reingeschrieben.
00:59:02: und diese magic method führt dann Also System, System Fog von einem Bashprozess RM-RF aus.
00:59:12: Das ist prinzipiell so ein Deserialisierungsangriff.
00:59:15: Also ich mache mir als Angreifer zu Nutze, dass ein Programm Daten entgegen nimmt, die in eine programminterne Struktur typischerweise ein Objekt überführt und dann auf irgendeine dumme Art und Weise, also immer ein Programmierfehler auch von Nöten, diesen Objekt erlaubt, Code auszuführen.
00:59:36: Kleine Anmerkung.
00:59:38: Also es gibt selbst wenn das nicht der Fall ist, also wenn der Anwendungsentwickler alles richtig macht, ist diese Realisierung ein Risikopotenzial, weil der Programmierfehler, der kann auch in dieser Deserialisierungsroutine stecken, die normalerweise die Sprache oder das SDK oder so mitbringt, weil ich da halt grundsätzlich, also ich kriege da halt... Zeichenkette oder einen binären block und muss den passen und muss sozusagen daraus meine interne struktur bauen.
01:00:12: und wenn das gegenüber sich nett verhält und sagt jetzt kommt hier ein array mit irgendwie zehn elementen und dann kommt zehn elemente und ich pass es und sagt gut ich mache hier Platz für zehn elemente und dann schreibe ich die folgende zehn elemente da rein dann ist ja alles gut.
01:00:24: aber wenn das gegenüber sich eben nicht nett verhält dann kann es in diesen string oder in diesen binären block alles mögliche reinschreiben.
01:00:30: also der hat ja keine darum geht es ja Irgendwie reglementierte struktur.
01:00:35: es geht ja gerade darum diesen block zu nehmen und da wieder eine daten struktur daraus zu bauen.
01:00:40: Und wenn ich dann da reinschreibe na es kommt hier eine rei mit zehn elementen und dann übergebe ich aber.
01:00:47: Fünfzig dann ist die frage ob mein parzer das ordentlich abfängt und sagt moment das ding ist hier kaputt oder ob ich den irgendwie dazu kriege in so eine fehler fall zu laufen wo irgendwie nur platz für zehn reserviert aber dann fünfzig schreibt oder.
01:01:00: Platz für zehn reserviert aber nur drei schreibt und Sachen sich ungut überlappen oder so.
01:01:04: also man hatte halt Inherenten hohes risiko weil man aus unstrukturierten Daten wieder strukturierte Daten macht und sich nicht darauf verlassen kann dass diese unstrukturierten Daten sich so vorhalten wie man sich das vorstellt.
01:01:18: Und dann kommt noch ein top hinzu.
01:01:20: selbst wenn diese ganze Routine an sich gut funktioniert kann ich damit halt unsichere Software bauen die einfach das was sie da realisiert.
01:01:27: dem dann irgendwie blind glaubt und da Sachen aufruft oder mit Tod oder sogar Kot entgegen nimmt, oder wie auch immer.
01:01:35: Genau, also das ist auch nochmal für die folgende Geschichte wichtig, dass es eben diese zwei Angrusspunkte gibt, dass der Desirealisierer oder diese Desirealisierungsroutine problematisch sein kann und das, was du dann hinterher damit machst.
01:01:52: Und gibt dann ja auch die Möglichkeit, dass du dann einfach die gleichen Daten auf zwei Arten in deinem Serialisierten, weiß ich nicht, XML-String oder sowas unterbringst.
01:02:00: Und dann die eine, die andere überschreibt, was ja aber nicht soll, oder dass du dann irgendwelche anderen Fehler verursachst.
01:02:08: Aber es gibt auch offenbar legitim den Wunsch, so einen Hucküb zu übergeben, dass dann irgendein bestimmter Code nach der Deserialisierung ausgeführt wird.
01:02:20: um das dann einzuhägen machen dann viele entwickler gibt es dann im grunde wieder zwei ansätze.
01:02:26: es gibt diesen allow list ansatz und es gibt den blocklist ansatz und dann kommen natürlich viele auf die idee und nehmen dann einfach eine blocklist und sagen naja hier das ist unsicher das nehmen wir nicht und da wird auch möglicherweise code ausgeführt.
01:02:39: das nehmen wir auch nicht.
01:02:40: und dann ist die aufgabe des angreifers im grunde nur irgendwas zu finden was nicht in der blocklist steht und darüber dann code eins zu schleusen und.
01:02:49: Weil wir hier, und jetzt lösen wir uns von der PHP-Welt und begeben uns in die Java und .NET-Welt in einem Bereich sind, wo viel mit vorgefertigten SDKs gearbeitet wird.
01:03:00: Das ist genau diese Aufgabe.
01:03:03: Wie finde ich denn eine Möglichkeit, in einem bestimmten SDK mit einem bestimmten Serialisierer oder Deserialisierer Code auszuführen?
01:03:16: Es ist service in einen tool ausgelagert worden und das bekannteste dieser tools heißt weis so serial Ja war Ja, ich hab's auch.
01:03:26: ich hab's überhaupt nicht verstanden.
01:03:27: Ich dachte erst.
01:03:27: Hä?
01:03:28: Yuzo serial?
01:03:29: was soll das das heißt?
01:03:30: und dann habe ich es einmal mit der korrekten Kapitalisierung gesehen und dann habe ich Verstanden was der witz ist habe kurz gegrinst und habe dann gesehen dass es natürlich auch mit der passenden domain weis so serial net gibt Und weiß dass sie dort net kann eben diese payloads generieren für entsprechend für net klassen diese.
01:03:49: Vorgefertigten payloads.
01:03:51: ich bin da so ein bisschen hazy was die was die terminologie angeht nennt man gadgets.
01:03:56: das ist glaube ich aus diesen ganzen r. OP gadgets auch eben in so zee und sowas bei exploits entlehnt dieser dieser begriff das sind im grunde.
01:04:07: Kotschnipsel die eine Codausführung bei bestimmten sicheren oder unsicheren deserialisieren erlauben.
01:04:18: Ein paar Beispiele für solche deserialisierungs Lücken war der zweite Teil der Killchain von Toolshell, der SharePoint Lücke, die wir ja auch ausführlich besprochen haben.
01:04:28: Das war auch eine unsichere Deserialisierung.
01:04:31: Es gab Mitte Oktober eine zehn von zehn in SAP Netweaver.
01:04:36: Es gab was bei dem CMS von Adobe Experience Manager, das war auch, glaube ich, neun Komma acht oder so.
01:04:42: Im Januar gab es was bei Sonic Wall Firewalls.
01:04:44: Also es ist nicht nur in irgendwelchen Web-Application-Servern oder in CMSen.
01:04:49: Und das war alles in allen Fällen, war in den Proof of Concept Exploits die Payload, also diese Gadgets mit Weisocereal generiert.
01:04:57: Das ist also auch ein Standard-Tool, was Leute, die diese Lücken ausnutzen, verwenden.
01:05:11: In Zahlen gab's
01:05:13: immer, wenn jetzt Pause ist, dann muss Christopher Husten noch nicht so ganz auf der Höhe ist.
01:05:19: In Zahlen gab's allein dieses Jahr.
01:05:20: Hundertsechzig dieser Lücken mit einem Score von neun oder höher und ich weiß nicht dreieinhalbzig, vierhundert oder sowas mit einem beliebig hohen CVSS-Score.
01:05:29: Neun oder höher, weil kritisch.
01:05:31: Deswegen habe ich danach gefiltert.
01:05:33: Und da sind auch jede Menge so... relativ unbekannte Tools drin, aber auch unheimlich viele WordPress Plugins und WordPress Teams.
01:05:41: Und da sind wir wieder bei PHP, das ja auch für seinen Security Track Record nicht gerade berühmt ist und auch WordPress ist ja jetzt nicht als die sicherste Software der Welt bekannt.
01:05:51: Also ich wollte es nochmal kurz rausstellen, du hast im Anfang gesagt, dass in Haufen Lücken oder zumindest die Ausnutzbarkeit der Lücken darauf basiert.
01:05:58: und das ist halt wirklich so.
01:06:01: Als Programmierer ist man oft in der Situation, dass man sagt, naja, ich hab hier eine Datenstruktur, ich will die sozusagen irgendwo hinlegen und morgen, übermorgen, drei Stunden später, wie auch immer, soll mein Programm die wieder lesen können.
01:06:11: Das ist eine relativ natürliche Situation, die man sich findet und wenn man da dann halt nicht ganz genau aufpasst und merkt so, oh, das heißt, aber wenn in der Zwischenzeit irgendjemand irgendwie an diese Struktur rankommt oder die sogar von außen zugespielt wird, wie auch immer.
01:06:26: Dann habe ich eventuell eine handfeste Sicherheitslücke und ich muss mir diese D-Serialisierung genau angucken, dass die Situation auf alle möglichen Grenzfälle und so sinnvoll reagiert.
01:06:36: Und das wird dann in der Regel nicht gemacht.
01:06:39: Also es ist nicht so verwunderlich, dass es sich halt auch in tausend Stellen findet, weil die Situation, weil die Serialisierung, die Serialisierung klingt so abstrakten, aber man ist relativ häufig in der Situation, dass man sagt, ich habe keine Datenstruktur, die liegt gerade sozusagen im... Im Speichchen meines laufenden Programms, ich will die aber irgendwo hinschreiben und später wiederlesen.
01:06:57: Und dann kann man halt leicht auf die Nase fallen.
01:07:01: Jetzt kommen wir zu einer, zu der konkreten Lücke.
01:07:05: Jetzt bewegen wir uns also in die Windows Server-Welt.
01:07:08: Ich habe es schon verschiedenlich gesagt, ist nicht meine originäre Heimat.
01:07:12: Aber ich versuche mein Bestes.
01:07:13: Es gibt also diese Vesus, diese Windows Server Update Services und das ist nach meinem Verständnis einfach das eine Komponente von Windows Server und gibt es in allen Versionen seit mindestens zwei tausend neun.
01:07:25: und wer jetzt nach Windows Server zwei tausend neun betreibt, der sollte da sehr vorsichtig sein, der kriegt nämlich keine Updates mehr, insbesondere nicht für diese Lücke.
01:07:32: Und da kannst du dein in deinem eigenen Unternehmen oder wenn du wirklich viele Kinder mit wirklich vielen Windows PCs hast, auch in deinem eigenen Haushalt Update Management.
01:07:41: betreiben und dann updates kontrolliert ausrollen was natürlich vorteile hat.
01:07:45: wenn nicht am mittwoch morgen der ganze betrieb lahm legen liegen soll weil alle gleichzeitig die updates installieren und sich alle auf den flur treffen und sagen na rebutet dann rechner auch gerade.
01:07:54: also es hat schon kann schon vorteile haben.
01:07:55: du kannst dann auch so ein bisschen qualitätsmanagement betreiben und es hat ja auch immer mal wieder defekte windows updates gegeben die dann mit unerwünschten wechselwirkungen welche komponenten oder irgendwelche rechner lahm legen.
01:08:07: insofern kann ich schon verstehen dass es das gibt Der Back mit der CVI die CVIe, zwanzig, fünfzwanzig, neunundfünfzig, zwei acht sieben betrifft also Windows Server und auch dann nur, wenn Windows Server Update Services, also Vesus aktiviert ist, dass diese Rolle ist per die Freude bei einem Windows Server nicht deaktiviert.
01:08:33: So und jetzt
01:08:35: nicht aktiviert meinst du, oder?
01:08:38: Habe ich nicht deaktiviert gesagt?
01:08:39: Ja, nicht aktiviert.
01:08:40: Das ist dieses Eukalyptus Erkältungszeug.
01:08:45: Das macht glaube ich ein bisschen hazy.
01:08:50: Der Exploit funktioniert aus der Ferne, übers Web, ohne Authentifizierung.
01:08:54: Wenn du an den Port rankommst, auf dem der Vesus läuft, also u.a.
01:08:58: u.a.
01:09:00: u.a.
01:09:00: u.a.
01:09:00: u.a.
01:09:01: u.a.
01:09:01: u.a.
01:09:01: u.a.
01:09:01: u.a.
01:09:02: u.a.
01:09:03: u.a.
01:09:03: u.a.
01:09:03: u.a.
01:09:04: u.a Darunter liegen TataTP.
01:09:06: Das bedeutet, das sind also alles normale TataTP-Requests.
01:09:10: Und der, der Exploit, den ich mir angeschaut habe, der setzt an nicht an einer irgendwelchen Update-Funktionalität, also ich hole mir ein Update oder ich tue so, als würde ich mein Update holen, sondern beim Reporting.
01:09:22: Das heißt, ich tue so, als sei ich ein Rechner und hätte irgendetwas zu vermelden an das Reporting von dem Vesus-Server.
01:09:30: Das hat nämlich den... Grund, dass der WSOS Server das von jedem Kleinen entgegen nimmt und nicht sagt, du hast hier nichts zu suchen, sondern der nimmt das offenbar per default von jedem Kleinen entgegen, weil also auch aus dem Web und nicht nur über irgendwelche internen Interfaces oder sowas, weil er sagt, ja das könnte ein Road Warrior sein oder er gibt oder so.
01:09:51: Wenn der mich kennt, dann lasse ich den grundsätzlich schon mal mit mir reden, ob ich das Zeug dann weiter verarbeite, was der mir schickt, das kann ich dann ja später noch entscheiden.
01:09:59: Ähm, so ähnlich funktioniert es dann.
01:10:01: Also, der geht in so'n, ähm, Reporting-Webservice, ähm, und nutzt da die Methode ReportEventBatch.
01:10:08: Die ist dafür da, dass eben so Vesus-Kleint irgendwelche Update-Ereignisse oder fehlgeschlagene Updates oder irgendwas, was ihnen in Bezug auf Windows Updates passiert ist in letzter Zeit bündelweise als Soap-Nachrichten an den Servern melden.
01:10:21: Wir sind also hier protokollmäßig mit Soap unterwegs, also XML über HTTPS.
01:10:30: Und da kann also nicht nur dieses, hier ist gerade ein Update-Fehl geschlagen drin stehen, sondern da können auch erweiterte Daten reingepackt werden.
01:10:39: Die
01:10:40: dürfen auch Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base-Base- unterbringen und in dem können dann wiederum auch XML stehen.
01:10:55: Das kann auch Base-Fürn-Sächsig codiert sein und das ist genau der Trick, um dann hier Schadcode einzuschleusen.
01:11:01: Das ganze Zeug wird nämlich dann per HTTP an den, also HTTP Post, an den Vesus geschickt und der versucht das dann zu deserialisieren und nutzt dafür eine Deserialisierungs-Klasse namens Soap-Formator.
01:11:13: Den merken wir uns mal für gleich und das ist leider unsicher.
01:11:17: Das funktioniert also etwas zu gut.
01:11:21: Der Ablauf ist relativ easy.
01:11:22: Erstmal kriegt der angebliche Klein so ein Cookie, der sagt, ich bin Klein, JujuID, so irgendwie.
01:11:29: Es ist vollkommen egal welche JujuID, kriegt dann von dem Vesus ein Cookie und eine gültige Session und dann schickt er im Grunde nach zwei weiteren irrelevanten Schritten diesen Schadcode per Soap.
01:11:47: an den Vesus rüber, weil der diese Eventreports von überall her entgegen nimmt.
01:11:52: Ob das jetzt wirklich so clever ist, sei jetzt mal dahingestellt.
01:11:57: Aber damit man das exploiten kann, muss noch eine andere sehr viel unklevere Sache vorher passiert sein, zu der ich gleich komme.
01:12:05: So, der Code aus diesem Synchronization Update Errors Key wird dann auf dem Vesus ausgeführt.
01:12:14: klassische proof of concept enthielt ein calc.exe, aber du kannst halt alles ausführen, wozu du lustig bist, also einfach mit den entsprechenden Privilegien das Vesus-Servers dann auf der Kiste und damit hast du ja diesen Vesus-Server für dich kompromittiert, kannst da dann eine Shell-Sporn oder irgendwie Ransomware installieren oder sowas und das ist ja schon mal ganz schön und du kannst natürlich von da aus auch gucken, ob du in das Netzwerk deines deines obfas reinkommst also ob das noch ein beinchen hat das ins innere netzwerk führt oder ob das nur ans web angeschlossen wird.
01:12:49: Wahrscheinlich wird es ja auch irgendwo in einem internen netzwerk noch Sein.
01:12:53: dieser weso so Wenn ihr dasselbe ausprobieren wollt.
01:12:56: der gadget typ für weis so serial ist Objekt data provider der unsichere desi realisierer ist was hatte ich gesagt so vormeter Und es gibt aber auch ein paar andere bei weis so serial dot net die funktionieren.
01:13:08: das kann man sich also Zusammenbauen gibt auch mehrere gute Write-Ups dazu.
01:13:13: Ein oder zwei haben wir euch auch in die Schrone ausgepackt.
01:13:16: So, was machen wir damit?
01:13:18: Erst mal auf dem Server rc, ich kann da ransomware installieren, ich kann da keine Ahnung.
01:13:22: Ich kann den in mein Brotnet reinpacken.
01:13:23: Aber Moment mal, das ist ja ein Update-Server.
01:13:25: Was macht ein Update-Server üblicherweise hauptberuflich?
01:13:29: Updates ausliefern.
01:13:30: Ja, der surft Updates.
01:13:32: Das ist blaues Licht.
01:13:36: Ich kann ja möglicherweise auch hingehen und sagen, okay, ich baue die Ransom wäre einfach in ein Windows Update.
01:13:41: und dann liefer ich dieses Windows Update am nächsten Mittwoch an meine ganzen Kleins aus.
01:13:45: Geht das?
01:13:45: Also nicht an deine ganzen Kleins, sondern an die ganzen Kleins.
01:13:48: Ja, das Vesus auch.
01:13:49: Genau.
01:13:51: Und ja, Kevin Beaumont, englischer Security Forscher, sagt, das geht.
01:13:56: Wenn du Code Execution auf diesem Vesus-Server hast, dann kannst du wahrscheinlich indem du dir einfach irgendwelche Atmenprivilegien holst und dich dann da auf so einer Konsole einlocks, kannst du Bösartige Updates zusammenbauen, da gibt es auch Pryor Art, also das hat jemand schon mal in anderen Kontexten als Proof-of-Concept gemacht.
01:14:12: Und dann kannst du einfach diese Updates zum Ausrollen an die Clients im Netzwerk, in das du rein willst und kannst.
01:14:19: die Ransom wäre dann ganz bequem per Windows Update am nächsten Mittwoch.
01:14:25: Zeit gesteuert ausliefern lassen oder als Notfall Update, Out of Band direkt am nächsten Tag oder am Mittagnacht, wann immer die Rechner wieder angehen.
01:14:31: Das ist natürlich noch komfortabler, als das über irgendwelche Group-Polices zu machen oder von Hand mühsam auf die einzelnen Rechner zu pivoten und dann erstmal AD atmen zu werden oder sowas.
01:14:41: Das ist schon eigentlich ein ganz cooler Verbreitung für so Malware und Ransom.
01:14:45: Ja, wo hat man das schon, dass der... Kleintrechner sagt, sorry, ich muss hier mal kurz rebooten und eine Melbeer als Update reinziehen.
01:14:53: Also das ist schon sehr komfortabel.
01:14:55: Ja, das ist schon ganz schick.
01:14:56: Also da wird es wahrscheinlich in der Praxis auch noch irgendwelche Fallstrecke geben, dass das Update dann vielleicht vom Defender in die Quarantäne geschoben wird.
01:15:02: Aber wer weiß, ich habe es nicht ausprobiert, ich finde es aber interessant.
01:15:06: Ist also nicht nur für den Windows Server, auf dem dieser Exploit dann für Remote Code Execution führt ein echtes problemen sondern auch für das netzwerk dahinter in dem windows klein sitzen sonst gäbe es den wesos ja nicht so.
01:15:21: Die mitigation des ganzen die reaktion von microsoft die haben am dreinzwanzigsten zehnten nach dem ab vierzehnten zehnten das der cv reserviert wurde und ich glaube auch das erste weise in den online gegangen ist haben sie ein out of band patch geliefert für wesos.
01:15:35: weiß nicht warum das jetzt.
01:15:38: Neun tage gedauert hat aber neun tage.
01:15:41: Ich, da sind mal ein anderes Leid gewohnt, möchte ich nicht drüber meckern.
01:15:45: Und haben aber, wie das auch üblich ist, mit solchen Fällen noch einige Hotfix-Maßnahmen genannt, die man unbedingt machen soll.
01:15:52: Also die erste ist natürlich einfach diese Vesus-Rolle, die aktivieren, sagen, schalten wir aus die Komponente.
01:15:58: Dann ist die, die Angriffsfläche natürlich geringer.
01:16:06: Nur, dass ich das halt, also, ja, vielleicht mit gutem Grund an habe, ne?
01:16:09: Also, da hast du ja Eingang.
01:16:10: Ja, da gibt es halt
01:16:10: keine Updates.
01:16:12: Zumindest nicht mehr, dass ich sie irgendwie reglementieren könnte oder sonst irgendwie.
01:16:16: Ich würde hoffen, dass die Kleins dann sich die Updates woanders herziehen und nicht einfalle darstellen und sagen, dann kriege ich halt keine Sicherheitsupdates.
01:16:22: Das glaube ich nicht.
01:16:24: Das wäre ja widersinnig.
01:16:26: Das würde ja dazu führen, dass du nicht sicher sein kannst als Admin.
01:16:32: das die das die patches immer über deinen tisch gehen und das ist ja eigentlich das was du willst dass du sagen kannst ich habe die möglichkeit bei den patches zumindest einmal einspruch zu erheben und ich glaube nicht dass es dann so ein failover gibt der dann sagt ich hole mir das dann vom microsoft direkt.
01:16:45: ich schätze das wird per crew policy wird dem klein gesagt deine updates kommen bitte nur von wesos.teilse.de und von nirgendwo anders mehr womit wir beim zweiten punkt wären.
01:16:56: Das ist überhaupt so was wie wesis.heise.de gibt und das wesis.heise.de Proz.
01:17:00: eighty-dreißig und ein dreißig offen hat.
01:17:02: zum internet ist ja auch schon mal so eine sache die und da die ich gerade eben schon angeteaselt hab die schon mal vom admin nicht extrem durchdacht ist das.
01:17:11: Entschuldigung an die heiße admin soll nicht die unterstellung sein dass es wesis.heise.de wirklich gibt aber es gab einiges an.
01:17:20: im Internet erreichbaren Windows Update-Servern von irgendwelchen Unternehmen, die da offensichtlich so ein Ding betreiben.
01:17:27: Das ist nicht ganz einfach festzustellen, was davon einfach nur ein normaler IES ist, der auf einem komischen Port läuft und was wirklich ein Vesus ist, weil die sehen nach außen wie ein Internet Information-Server aus, aber der Port ist schon so ungewöhnlich, dass man da vielleicht von ausgehen kann, alles, was du deinen Studenten findest, was auf dem Port lauscht und ein IES ist.
01:17:44: Das ist wahrscheinlich so ein Windows Update-Server.
01:17:46: Und da muss man sich dann schon auch mal fragen, warum schließe ich das Ding ans Web an?
01:17:50: Also warum muss das aus dem Web erreichbar sein?
01:17:52: Ich sehe keinen sinnvollen Grund dafür.
01:17:54: Also wenn ich viele Kunden, viele Nutzer habe, die unterwegs sind, diese klassischen Road Warrior Szenarien, dann haben die einen VPN und können auch ihre Updates über das VPN ziehen.
01:18:04: Warum sollten die das über das Internet machen wollen?
01:18:06: Und wenn die das nicht über das VPN ziehen können, dann holen die sich die Dinger halt von Microsoft.
01:18:10: Dann muss ich halt den sauren Apfel beißen und sagen, na gut.
01:18:13: Die sind so weit weg und die sind immer in einer anderen Zeitzone unterwegs oder die sind in irgendeiner Ecke, wo VPNs gefiltert werden, dann müssen die halt ihre Updates von Microsoft kriegen und dann muss ich dieses bisschen Kontrolle dann vielleicht als Atmen einfach abgeben.
01:18:25: Ich würde befürchten, dass diese Maschinen, also dass der Visus gar nicht absichtlich damit hängt, sondern der Windows Server, auf dem die Visus Komponente aktiv ist, der hängt aus irgendwelchen anderen Grünen, die halt auch auf diesem Windows Server laufen im Internet.
01:18:43: Und dass dieser Port halt auch im Internet hängt, das ist halt nicht beachtet worden.
01:18:48: Ja, das ist das wahrscheinlichste Szenario.
01:18:50: Also, dass das jemand absichtlich macht, da würde ich mich mit einem konkreten use case schwer tun, aber da tue ich mich auch häufig schwer.
01:18:56: Also, wenn ihr einen habt, dann schreibt uns gerne eine E-Mail an password-podcast at heise.de.
01:19:03: So, also... Warum man das machen sollte, ist so ein bisschen unklar.
01:19:08: Und die Kollegen vom Shadow Server Project, die sowas dann immer netzweit scannen, die haben zwei tausend achthundert Stück am sechsten, zwanzigsten Zehnten gesehen von diesen Dingern mit Portfümmer, achtzig, dreißig und ein dreißig offen.
01:19:21: Und am achtundzwanzigsten waren es dann in DERA nur noch fünfhundertfünfzig.
01:19:26: Ich reloade mal gerade die Time Series, weil heute ist ja schon der neunundzwanzigste.
01:19:30: Nein, heute sind sie auch wieder hoch.
01:19:33: Der Dreißigste stimmt, aber die sind immer ein Tag hinterher.
01:19:36: Deswegen ist heute beim Shadow Server Project schon der neunzwanzigste, aber heute sind es dann auch schon wieder zweitausendfünfhundertneunundsiebzig.
01:19:43: Keine Ahnung, warum gestern so viel weniger waren.
01:19:45: Also sind knapp zweitausendsechshundert von den Dingern immer noch im Internet erreichbar.
01:19:49: So wird also ursprünglich in meinen Notizen geschrieben.
01:19:53: Es wird weniger, aber wird es nicht wirklich.
01:19:57: Zwei Kritikpunkte für Microsoft.
01:19:58: Das erste ist das Advisory, das mal wieder so ein semi autogenerriertes ding ist behauptet nach wie vor dass die der reife gratis exploits nur proof of concept sei.
01:20:10: proof of concept heißt das hat mal jemand erfolgreich ausgenutzt und ist aber nicht leicht anpassbar um es zu automatisieren dass es Offenkundig nicht der fall.
01:20:19: es gibt seit tagen exploit versuche dafür.
01:20:23: es gibt verschiedene payloads die genutzt werden.
01:20:25: also es ist ein Ausgereifter exploit in the wild.
01:20:31: die zisar warnt davor hat das in die known exploited vulnerabilities aufgenommen und auch nicht erst gestern.
01:20:37: Und auch die ganzen verschiedenen security firm wie i security und andere hunters und code die intelligence machen sehen aktive exploit versuche bei ihren kunden.
01:20:47: hier sieht es also so aus als würde microsoft mal wieder.
01:20:51: Ja, so ein bisschen diese Kombination auf aus Zeitspielen und automatisierte advisories selektiv nicht aktualisieren nutzen, um ein bisschen den Ball flach zu halten.
01:21:02: Find ich ein bisschen unehrlich.
01:21:03: Ich finde vor allem auch dieses an der einen Stelle haben wir Tages oder Stunden genau aktuelle Informationen in unsere advisories und andere schreiben wir dran.
01:21:11: Das war so, als das advisory geschrieben wurde und das verändern wir im Nachhinein nicht mehr.
01:21:15: Das finde ich irgendwie finde ich unehrlich.
01:21:18: Na gut.
01:21:19: Und der zweite Punkt, und das ist der, der mich wirklich so ein bisschen kitzelt, dieser Bug wäre komplett vermeidbar gewesen.
01:21:28: Es gibt in der Entwickler-Doku zu.net bei Microsoft selber ein komplettes, längliches und aus meiner Sicht auch recht gut verständliches und geschriebenes Dokument zum Thema unsichere Desirealisierung.
01:21:42: Da wird vor allem der sogenannte Binary Formator hervorgehoben.
01:21:47: Deswegen heißt das Dokument deserialisation risks in use of binary formator and related types.
01:21:54: Aber da steht ausdrücklich auch drin, avoid the following serializers, soap formator, net data contract serializer, lost formator, object state formator und so weiter.
01:22:05: The preceding serializers all perform unrestricted, polymorphic deserialisation and are dangerous.
01:22:12: Und in dem gleichen Artikel ist unten sogar wisocereal.net verlinkt, wenn man mal so ein paar Beispiel-Payloads bauen will oder diese Gadgets sich angucken will.
01:22:20: Wenn man jetzt ein Entwickler bei Microsoft ist, dem größten Softwarekonzern der Welt, also das ist ja die Bude, wo ich sage, wenn irgendjemand auf der Welt unbegrenzt Geld und Ressourcen auf Softwareentwicklung werfen kann, dann ist es Microsoft, dann möchte ich doch auch annehmen, dass die ihrer eigenen Doku kennen und vielleicht möglicherweise auch befolgen.
01:22:43: War in diesem Fall.
01:22:44: leider nicht
01:22:45: so.
01:22:46: Deswegen die aktuellste Iteration und sicherlich nicht die letzte Iteration von unsicherer Desirealisierung in Microsoft Software.
01:22:58: Ja, man ist ja auch nicht der erste Fall, den wir haben, wo Microsoft Chamber seine eigenen Dokum nicht folgt.
01:23:03: Wir hatten das, also es um die Certificate Revocation Lists gibt, wo sie auch selber ihren Kunden seit Jahrzehnten rieten, die zu zu unterteilen uns halt selber nicht gemacht haben.
01:23:18: Also, ich glaube wir werden für immer solange es software gibt, die Serialisierungslücken haben und deswegen werden wir sie halt auch bei Firmen wie Microsoft haben, die gigantische Codebasis haben, dass sie halt ausgerechnet in so eine Update Komponente stecken, wo man ja eigentlich, also nicht nur deren Zweck ist Security, sondern man sollte da halt auch Ganz stark diesen Hut aufhaben.
01:23:43: Dieses Stück Software ist sehr zentral, sitzt an einer sehr zentralen Stelle.
01:23:46: Das sollte man keinenfalls irgendwie kompromittieren können.
01:23:50: Dann da so eine Lücke hat, wo die Algen in Doku dazu sagt, dieser Realisierer ist ganz, ganz schwierig.
01:23:57: Das finde ich schon ein bisschen peinlich.
01:23:59: Ja, ich, äh,
01:24:01: ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh, ich, äh.
01:24:09: Diese Sätze immer zu reiterieren bei Microsoft, dass das schon ein bisschen panisch ist.
01:24:13: Aber in denen ist es auch einfach offenkundig, irgendwie ein Stück weit egal.
01:24:17: Also am Ende, die haben all diese Sachen.
01:24:19: Ist der Ruf, das
01:24:20: ruiniert, lebt das sich ganz ingeniert, ne?
01:24:22: Ist doch, ist doch am Ende so.
01:24:23: Also ist auch was, was aus dieser Azure und AWS Geschichte aus den letzten Tagen kommt.
01:24:28: Alle Unternehmen, die jetzt betroffen waren und am Ende... Dadurch, dass zwei der vier großen Hyperscaler einen Großausfall hatten in den letzten zwei Wochen, waren ja unheimlich viele auch große Unternehmen betroffen.
01:24:39: Die zogen allen mit den Achsen und sagen, was soll man denn machen?
01:24:41: Einen Tod müssen wir sterben und dann nutzen wir halt weiterhin Krempe.
01:24:45: Also ist ja einfach so und das ist schon so ein bisschen ermüdend.
01:24:49: Aber es gibt ja auch ab und zu mal was Neues und Interessantes und auch technisch herausfordernde Geschichten und von denen hast du glaube ich als nächstes eine mitgebracht.
01:24:59: Das richtig genau.
01:25:00: willkommen zu was was nicht schön ist aber zumindest interessant.
01:25:05: Ja genau.
01:25:09: Wir hatten ja in Folge einetvierzig Schei-Hulut, das war dieser Wurm im NPM-Ökosystem.
01:25:16: Da gibt es jetzt sozusagen gleich den nächsten Einschlag und zwar haben wir wieder einen Wurm in einem Jahr, was gibt es im Ökosystem.
01:25:22: Und zwar betrifft es diesmal Open-VSX, das sagte mir.
01:25:26: vor der Recherche auch nichts, das ist ein Marktplatz für VS Code Erweiterungen, also VS Code ist ja so ein Programmier-Editor, Schreckstich IDE von Microsoft, die ist maßgeblich in Web-Technologie geschrieben, also JavaScript und TypeScript.
01:25:43: Und dafür kann man halt Plugins programmieren, auch in JavaScript, vermutlich TypeScript oder was auch immer.
01:25:49: Und naja, das wird es wenig überraschen, dass halt irgendwie Entwickler, die sozusagen Software schreiben dann auch gerne viel Erweiterung für den editor programmieren mit dem sie ihre Software schreiben und so.
01:26:01: also da gibt es einen blühendes ökosystem aus aus plug-ins und so.
01:26:06: Und glas worum so heißt dieser worum.
01:26:10: Hat sich eben auf diesen Marktplatz ausgebreitet.
01:26:13: das war oder es ist eine mehr wer die so ähnlich wie scheihulut zugangsdaten einsammelt für npm für github für git und auch für open vs x selber.
01:26:26: Einerseits, um halt ihren Machern diese Zugangsdaten mitzuteilen, dann können die das halt nutzen, für was sie sonst noch tun wollen.
01:26:34: Und andererseits aber auch, um sich direkt selber weiter zu verbreiten.
01:26:37: Deswegen ist es ein Wurm.
01:26:38: Also diese Malware konnte, wenn sie mal in so einem VS Code Plug-in zur Ausführung kam und der betroffenen Entwickler halt Zugriff auf.
01:26:49: Andere Plugins hatte, weil er selber einen Plugin irgendwie auf dem WSX betreibt oder so, konnte es sich da halt rein replizieren und ein Update für dieses Plugin veröffentlichen und dann waren davon alle betroffen, die wiederum dieses Update bekamen und so konnte sich das da halt ausbreiten.
01:27:06: Was der Wurm auch gemacht hat, ist... die credentials für kryptowollets abzugreifen und zwar von insgesamt neunundvierzig verschiedenen wallet extensions.
01:27:18: also das ist schon schon eine hausnummer.
01:27:21: unser kollege jürgen schmidt vermutet glaube ich unter anderem deshalb dass er vielleicht mal wieder nordkorea dahinter stecken könnte weil irgendwie ist vorne nämlich darauf aus kryptowerte abzugreifen klingt halt irgendwie nordkoreanisch hat sich ja auch noch andere kund.
01:27:36: ich habe exakt seinen newsletter nur überflogen.
01:27:39: Naja und Glassform hat außerdem ein Sox-Proxy installiert, damit man halt als sozusagen, also Urheber dieses Wurms dann auf alle betroffene Systeme drauf kann und die halt hernehmen kann, um da Traffic drüber zu ziehen.
01:27:52: Und er hat den VNC-Server installiert, damit man hier noch einfach auf dem System einloggen kann und halt gucken kann, was diese Entwickler da so treibt, die da gerade infiltriert worden ist.
01:28:02: Soweit so schlimm, soweit auch irgendwie so, also macht halt irgendwie das volle Programm, ist halt eine ML-Ware.
01:28:07: und ist ein Wurm, weil es diesen Trickauflage hat, sich selber weiter zu verbreiten.
01:28:12: Technisch interessant ist es aus zwei anderen Gründen.
01:28:14: Der erste ist, sonst soxproxie und Fonseaser worden, alles Mögliche.
01:28:18: Das ist einfach ein Haufen Kot.
01:28:21: Und wenn ich den jetzt in Plug-in packe und das dann ein Update erfährt und dann runtergeladen wird und so, habe ich das Risiko, dass dieser zusätzliche Kot irgendwie Aufmerksamkeit erregt und das halt einfach auffällt.
01:28:36: Was Glassworm macht, um dieses Problem zu beheben, ist, dass ein Großteil der Shardcodes in einen sehr langen, codierten String packt, der also nicht direkt ausgeführt werden kann.
01:28:47: Das ist einfach nur eine Zeichenkette.
01:28:49: Und dann ist nur ein relativ kleiner Softwareschnipsel nötig, um diese Zeichenkette zu dekodieren und den da aus resultierenden Code auszuführen.
01:28:58: Jetzt habe ich das Problem nur verlagert, weil jetzt fällt halt dieser lange String vermutlich auf.
01:29:03: Und den verbirgt Glassworm mit einem netten Trick und zwar mit Unicode Variation Selektors.
01:29:10: Was ist ein Variation Selektor?
01:29:12: Also Unicode kann bekanntermaßen alles.
01:29:14: Und wie es so schön ist, es hat uns, also Unicode hat uns dieses Problem der tausend Zeichensätze und alles sieht irgendwie immer falsch aus, erfolgreich vom Hals geschafft.
01:29:26: Aber jetzt haben wir halt hier in den System mit einer wahnsinnigen, internen Komplexität.
01:29:32: die uns halt auch auf die Füße fallen kann.
01:29:36: Variation Selektor dient dazu zu einem bestehenden, also Unicode Zeichen anzuzeigen, dass das irgendwie alternativ dargestellt werden soll.
01:29:45: Es gibt ein ganz nettes Beispiel dafür und zwar gibt es ja das Zeichen die Ziffer Null.
01:29:51: Das ist ja auch schon Maske Zeichensatz und deswegen steht es halt auch bei Unicode an ziemlich früher Stelle.
01:29:56: Hexcode ist dreißig, also dreinull.
01:29:59: Und das ist halt den Null und die wird normalerweise als so ein Kringel dargestellt.
01:30:03: und jetzt ist es ja bekanntermaßen gibt es eine Verweckungsgefahr mit dem Ohr zum Beispiel und eine Möglichkeit die zu beheben ist durch die Null so ein Strich durchzuziehen.
01:30:15: Und jetzt wäre es ein bisschen komisch dafür ein eigenes Zeichen zu reservieren weil so eine Null mit einem Strich dort ist es halt auch eine Null.
01:30:22: Andererseits ist es eventuell an manchen Stellen relevant zu sagen ich will hier zum Beispiel wenn ich ein Passwort anzeige oder so nicht.
01:30:29: Ein möglichst unverwechselbares Zeichen.
01:30:31: Und genau dafür sind diese Variation Selektors da, die können sagen, okay, ich schreibe das normale Zeichen, das ich haben will, also die null, und dann schreibe ich dann nach eine Variation Selektor.
01:30:40: Und da bedeutet das für die rendernde Software, stell dieses Zeichen irgendwie anders da.
01:30:47: Christoph ermeldet dich.
01:30:49: Und ein zweites Beispiel für diese Variation Selectors ist, wie Emoji dargestellt werden.
01:30:54: Also ob die in Farbe, so wie wir so Emoji jetzt schon kennen, dargestellt werden oder in schwarz-weiß eher wie diese Dingbets, was wir früher diesen Wingdings bei Windows hatte.
01:31:07: Das kann man auch über Variation Selectors steuern.
01:31:10: Genau, die sind dafür auch reserviert.
01:31:12: Und jetzt ist es so, also es gibt... Einmal so ein Block mit sixteen Variationsselektors.
01:31:18: und also insbesondere wenn ich z.B.
01:31:20: halt einen Nullzeichen schreibe und danach den VS-Eins, Variationssektor-Eins schreibe, dann bedeutet das Null mit Strich.
01:31:27: Und dieser VS-Eins ist aber dafür nicht reserviert.
01:31:30: Also wenn ich irgendein anderes Zeichen schreibe und danach einen VS-Eins, dann kann das ganz was anderes bedeuten, je nachdem, was das halt für ein Zeichen ist, das da davor steht.
01:31:38: Deswegen sollte man eigentlich meinen, na ja, mehr als sechzehn Stück baue ich eigentlich nur, wenn ich von einem Zeichen mehr als Sechzehn alternative Erscheinungsformen habe.
01:31:48: Das trifft aber offenbar auf.
01:31:50: oder der Bedarf war da, insbesondere bei Sprachen aus dem asiatischen Raum, die also irgendwie auf chinesischen Schriftzeichen basieren.
01:31:57: Da ist es wohl der Bedarf sehr groß an so alternativen Darstellungen des eigentlich gleichen Zeichens.
01:32:03: Das sind gibt es noch einen zweiten Block.
01:32:06: der das voll macht, da gibt es dann Vs-septin bis Vs-zwohundertsechstenfünfzig.
01:32:09: Also im Unicode-Zeichen-Satz gibt es, es gibt noch mehr, aber das sind irgendwelche Details, aber von diesen Standard-Duration-Selektors gibt es satte zwehundertsechstenfünfzig Stück.
01:32:18: Und die sind per Definitionen von der renderenden Software zu ignorieren, wenn sie unverständlich sind.
01:32:24: Also wenn, die sollen ja nur eine alternative Darstellung verursachen.
01:32:28: Das heißt, wenn da eine Null steht und dann steht da so ein Vs-Eins und meine Software sagt keine Ahnung, was Null mit Vs-Eins bedeuten soll oder so, dann soll sie aber trotzdem wissen, ja dann ignorierv ist eigentlich einfach, das muss irgendwie eine Null sein, dafür sind die da, das heißt die kann im Zweifelsfall und das ist sozusagen auch total konform, den Variationsselektor einfach ignorieren und sagen, ich halbiere halt eine Null.
01:32:49: Keine Ahnung was dieser Variationsselektor hier machen soll, aber er wird irgendwie diese Null anders darstellen und ich stelle die Null halt normal da.
01:32:56: Und so geht es für alle anderen Sachen auch, wo so ein Variationsselektor zum Einsatz kommt.
01:33:01: Und was jetzt Glassform macht, ist einfach... diesen String, der baut den nur als Variationsselektors auf.
01:33:07: Also das ist ein Variationsselektor nach dem anderen.
01:33:09: Es gibt da von sieben, fünfzig, fünfzig Stück.
01:33:11: Das heißt, da kann ich sehr schön Sachen einfach drin reinkotieren.
01:33:14: Und das ist, soweit ich sie sehen kann, sehen habe, kein valider Unicode.
01:33:19: Also zumindest sagt der Unicode stand explizit, das Zeichen vor einem Variationsselektor darf kein Variationsselektor sein.
01:33:27: Und was Glasform da einfach schreibt, ist eine lange, lange Kette von Variationsselektors.
01:33:31: Aber der Witz ist halt, dass die Software, die Unicode darstellt, halt irgendwo relativ tief einprogrammiert hat.
01:33:38: Naja, wenn du mit einer Sequenz mit den Variations-Selectors nichts anfangen kannst, dann ignoriert die Variations-Selectors einfach.
01:33:45: Das heißt, wenn ich da dann hundert, hundertausende Variations-Selectors in Serie schreibe, dann reagiert halt viel Software darauf, indem es es einfach nicht anzeigt.
01:33:55: Und das ist schon, also lustig, ich habe ein paar Editoren ausprobiert mit diesem Glassworm Source Code.
01:34:02: Wim, Helix, Les, also dieses Konsolenanzertool und auch Bett, die zeigen einfach nichts an.
01:34:08: Also da stehen tausend sehr Zeichen, aber das ist einfach nichts davon zu sehen, beim auch keine Leerzeichen oder Leerzeilen oder sonst irgendwas.
01:34:17: More, also dieser sehr viel ältere Pager, den Les ersetzt hat, der zeigt interessanterweise da Leere stellen an.
01:34:24: also da sieht man dann auch in dieser Datei so ein riesigen leeren blopp und sie zumindest.
01:34:28: also hier ist irgendwas komisch.
01:34:32: Es hängt vom editor ab.
01:34:34: ich hab kreit ausprobiert das ist ein kde editor.
01:34:38: Der zeigt es auch nicht an aber er sagt boah hier ist eine zeile dies krass lang und ich muss hier irgendwie das sind das highlighting.
01:34:45: Damit was machen und die Datei auf read only schalten und so und das heißt merken zumindest in dieser Datei ist irgendwas komisch was auch ganz lustig ist.
01:34:53: Carewite bietet, wie viele so Syntax-Editorn die Möglichkeit am rechten Rand so eine Minimap darzustellen, die sozusagen die ganzen Dateien halt in so eine Übersicht darstellt.
01:35:01: Und da sehe ich eine ellenlange Zeile.
01:35:03: Also da wird's gerendert, aber halt im eigentlichen Dito wird keiner dieser Variation-Selektoren gerendert und man sieht da nix.
01:35:10: Kurios ist das ausgerechnet, wie es Code sehr gut damit umgeht.
01:35:13: Wenn man mit dem die Datei aufmacht, dann warnt er deutlich so, hey, hier sind ein Haufen Zeichen und man kann auch irgendwie drauf klicken und sagen, ja, stell die da, dann Dann sind die immer noch nicht zu sehen, weil was soll er da darstellen?
01:35:23: Die kann man nicht darstellen.
01:35:24: Es ist einfach nicht definiert, was einen Variationsselektor auf einem anderen Variationsselektor tun soll.
01:35:29: So eine Sequenz soll es nicht geben.
01:35:31: Aber er macht dann da Leerung.
01:35:33: Also dann sieht man dann zumindest, okay, hier ist irgendwie was komisch.
01:35:37: Aber wenn man das halt nicht weiß oder wenn man den Dito hat, der nicht Mosa, da einfach wie gesagt mit dem drauf guckt und so, dann sieht man einfach nicht, dass da kilobyteweise Zeug in der Datei steht.
01:35:48: Koi, die Sicherheitsfirma, die das Glas warm gefunden hat, die hauen da mächtig auf den Putz.
01:35:53: Die sagen, this technique completely breaks traditional code review.
01:35:57: You can't spot what you can't see.
01:36:00: JitHub's DevView shows nothing suspicious.
01:36:03: Your IDE syntax highlighting, all clear.
01:36:06: Manual code inspection, everything looks normal.
01:36:10: The invisible code technique isn't just clever, it's a fundamental break in our security model.
01:36:16: Wir spülen die gesamte Systeme um die Assumption, dass die Menschen die Code-Glasformen überprüfen, dass die Assumption falsch ist.
01:36:46: einen GUI-Viewer ausprobiert.
01:36:48: Die haben beide schon angezeigt, hey, die Zeile unterscheidet sich.
01:36:53: Also einmal die Zeile, die wirklich nichts enthält, und einmal die Zeile, die kilobitweise Variations-Elektros enthält.
01:37:00: Aber also da war halt markiert, dass hier ein Unterschied besteht.
01:37:03: Aber es war kein Unterschied sichtbar zwischen den beiden Zeilen.
01:37:05: Die sahen halt auch in diesen Diff-Editoren komplett identisch aus.
01:37:09: Und das ist halt schon so.
01:37:11: ein Hinweis, wo ich schon sehe, in Wien Entwickler da einfach drüber geht und sagt nach keine ahnung der hängt vielleicht irgendwo einen non breaking space oder so den ich gerade nicht sehe ist mir egal sieht gleich aus.
01:37:23: also ja abhängig vom tool kann man da bekommt man da hinweise darauf.
01:37:30: aber es ist schon ein bisschen geuselig dass diese hinweise nicht übermäßig deutlich sind.
01:37:36: aber jetzt kommt das große aber Diese Zeichenkette, diese Variation Selectors, die versteht ja der JS Interpreter nicht oder so.
01:37:43: Man braucht diesen kleinen zusätzlichen Codeschnipsel, der diesen String nimmt, dekodiert und dann ausführt.
01:37:50: Und das kann auffallen und in einem normalen Code Review von Glassworm muss das auffallen.
01:37:56: Der Code von Glassworm, der das macht, der ist Evil A to B Decoded String.
01:38:02: Also da steht, der Variabelnamen ist sogar Decoded String.
01:38:06: Da wird offensichtlich eine Base-Fin-Sechti-String aufgelöst und der wird dann in Evil gestopft.
01:38:11: Und wenn ich so eine Zeile sehe, muss ich in der Manual Cold Review sagen, was ist das denn hier und dahinter her spüren, ne?
01:38:19: Obers das Mantra der PHP Software-Entwicklung, Evil is Evil.
01:38:23: Ja, nicht nur der PHP Software-Entwicklung.
01:38:25: Auch in Java Script geht das selbe.
01:38:28: Also und vor allem ist es eine ganz, ganz große rote Fahne, dass hier was Schwieriges passiert, möglicherweise Büssartiges.
01:38:36: mit einer hohen Wahrscheinlichkeit Unsicheres und ich muss dem auf den Grund gehen.
01:38:40: Also wenn Kräuter sagt von wegen, naja das fällt ja in der Code Review nicht auf.
01:38:45: Nee, sehe ich nicht.
01:38:46: Also dazu müsste man diese Dekodierungsroutine sehr, sehr viel schlauer verstecken.
01:38:51: Sowas kann man ja auch machen.
01:38:52: Wir haben es schon mal angesprochen, es gab von der Weile ja diese XZ-Lücke.
01:38:57: Man kann schon sehr viel Sorgfalt walten lassen, dass so eine Dekodierungsroutine nicht auffällt.
01:39:02: Glasform hat es nicht gemacht.
01:39:04: Die ist sehr deutlich, die benutzt sogar sprechende Variablennamen, um zu sagen, was hier abgeht.
01:39:09: Also sehe ich nicht, wie das irgendwie durchrutschen konnte.
01:39:11: Die Plugins, bei denen das durchgerutscht ist, haben halt vermutlich einfach keine Call Review gemacht.
01:39:17: Wer meine Annahme?
01:39:19: Naja.
01:39:21: Glasform hatte noch einen zweiten Gassetten-Trickauflager, der auch interessant ist.
01:39:25: Und zwar... Wenn ich so einen Wurm hab, der verbreitet sich schön unprototiert, okay, aber ich will den ja irgendwie Kommandos geben.
01:39:30: Ich will ja irgendwie wissen, wo meldet der sich, wenn er sagt, ich hab hier einen neuen VLC-Server aufgesetzt und wo schickt er überhaupt die ganzen Credentials hin, die er einsammelt und so, ne?
01:39:41: Dafür brauche ich eine Command-Control-Infrastruktur.
01:39:44: Und oft bei solchen Mehrwerk-Kampagnen habe ich das Problem, also wenn ich da einfach irgendeinen Server reinschreibe, dann werden halt Strafverführungsbehörden oder einfach auch nur Anbieter darauf aufmerksam und schalten diesen Server ab.
01:39:54: Und dann habe ich zwar einen Wurm, der sich munter verbreitet, aber ich habe halt keine Kontrolle drüber und hab nichts davon.
01:40:01: Glassworm nutzt zwei ganz interessante Tricks.
01:40:04: Sie haben einmal ein Google Calendar-Event angelegt, dass dieser Wurm abfragt und da steht drin, an welchen Server er sich wenden soll.
01:40:11: Und sie haben in die Solane Blockchain geschrieben, an welchen Server er sich wenden soll.
01:40:16: Beides hat den Vorteil, also insbesondere das Google Calendar-Event, dass das halt sehr unauffälliger traffic ist.
01:40:22: Also wenn irgendein PC Und es geht ja hier um Desktop-Rechner, weil es geht um WS Code, da sitzt irgendein Entwickler dran, der programmiert irgendwas.
01:40:29: Wenn dieser Rechner irgendwie die Google Kalender kontaktiert, das ist halt einfach sehr unauffällig.
01:40:35: Ob das jetzt super unauffällig ist, dass der die Solana Blockchain kontaktiert, hängt davon ab, was das für ein Entwickler ist, in welchem Umfeld ich tätig bin und so.
01:40:43: Aber gut, wenn das, also ich ziel hier auf Leute ab, die haben Wallets installiert.
01:40:50: dann habe ich auch eine hohe Wahrscheinlichkeit, dass die halt regelmäßig traffic mit irgendwelchen Blockchains austauschen, weil sie ja eben wallets installiert haben.
01:40:59: Ich will noch kurz auf die Solana Blockchain technisch eingehen, weil es interessant ist.
01:41:03: Das hat so funktioniert.
01:41:04: Der Code hat einfach nach Transaktionen auf dieser Blockchain gesucht, die von einer bestimmten Adresse ausgingen.
01:41:10: Und in diesen Transaktionen, das ist ähnlich wie bei einer normalen Beweisung, da gibt es so Textfelder, wo man halt auch gewisse sozusagen Freitext reinschreiben kann.
01:41:18: Und da stand halt dann auch so ein bisschen basev.c.
01:41:20: codiert, die IP des Command Control Servers drin.
01:41:23: Und das Schöne ist jetzt, wenn die irgendwie abgeschaltet wird oder vom Anbieter halt weggehauen wird, dann kann ich einfach als Besitzer dieser Solana Adresse eine neue Transaktion veranlassen, wo eine neue IP drin steht.
01:41:37: Und dann gucken halt meine ganzen Wurminstanzen bei dieser neuen Adresse nach.
01:41:44: Das kann niemand fälschen, solange die Security von dieser Blockchain steht, weil ansonsten wäre auch sämtliche Transaktionen irgendwie fälschbar.
01:41:52: Das kann man nicht offline nehmen, das ist ja so ein Ding von Blockchains, dadurch zeichnen sie sich aus, dass sie halt global repliziert werden und nicht irgendwie sinnvoll, also hauptsgenommen werden können.
01:42:05: Und das kann man vollkommen anonym nutzen, weil das ist halt irgendein so eine Wallet.
01:42:09: Was nicht so schön ist aus einfacher Versicht ist, Das kann halt auch jeder andere sehen, also die meisten Blockchain sind komplett öffentlich einsehbar.
01:42:18: Das heißt, jede Anti-Mail-Software und sonst was hat halt auch einfach mal gucken können, was ist das für eine Wallet.
01:42:25: Und jetzt gucken wir auch nach jeder Transaktion und sobald da eine Transaktion kommt, setzen wir die darin, enthalten der IP-Adresse auf eine Blocklist.
01:42:32: Da ist eine gewisse Reaktionslatenz drin, aber ich habe hier halt schon, also ich müsste eigentlich laufen sozusagen die IP-Adressewechseln, um überhaupt eine Chance haben zu haben, dass meine verwurmten Clients mich zuverlässig kontaktieren können.
01:42:47: Und die Krypto-Adresse von dieser Wallet, die war halt auch einfach hart im Glassworm-Sourcecode hinterlegt.
01:42:52: Die war nicht enderbar oder irgendwie sonst, also da gab es kein Fallback.
01:42:57: Das heißt, die kann man einfach überwachen und solange man jede IP-Adresse blockiert, die von dieser Wallet irgendwie kommuniziert wird, kommt dieser Wurm auch nicht irgendwie raus mit seinen Daten.
01:43:08: Ich fand es eine interessante Mischung.
01:43:11: Also es waren zwei echt interessante Ideen.
01:43:15: Diese Variationsselektors habe ich so vorher noch nicht gesehen.
01:43:18: Blödsinn über die Blockchain zu machen ist nicht unheard of, aber ist trotzdem nicht irgendwie eher selten.
01:43:24: Zumindest meines Wissens.
01:43:25: Also, solch ein Blödsinn über die Blockchain zu machen ist eher selten.
01:43:29: Aber irgendwie schien es halt nicht so richtig zu Ende gedacht und ein bisschen schlamppig implementiert.
01:43:33: Also, dass ich diese Dekodierungsroutinen dann so auffällig da drinstehen habe, dass die eigentlich auffallen müssen.
01:43:40: Wundert mich, wenn ich schon so ein Aufwand betreibe mit dieser Variation Selektor Idee, dass ich die Blockchain einspanne, aber das dann halt einfach so stumpf mache, dass jeder andere auch folgen kann, welche IP-Adressen diese Adresse kommuniziert und so.
01:43:57: Also ich habe mich gefragt, ob das irgendwie ein Prototyp ist.
01:44:01: Andererseits verbrennt man jetzt gerade nicht diese Idee mit den Variation Selektoren, sollten jetzt nicht irgendwie die Entwickler entweder die Editorien umsch... also umbauen oder halt umstellen, wenn man das beim IT-Tour einstellen kann, dass der halt so unsichtbare Zeichen irgendwie hervorhebt.
01:44:17: Also ich weiß nicht so richtig, was ich aus dieser Aktion machen soll, dass zwei so sehr schöne Tricks mit einer eher schlampigen Umsetzung kombiniert werden.
01:44:27: Also ich habe bei diesen verschiedenen Supply Chain Angriffen der letzten Monate sehr stark das Gefühl, dass da jemand eine Menge gute Ideen hatte und jetzt einfach so lange die Ideen In das Ökosystem wirft bis irgendwann mal ein Kleben bleibt und den gewünschten Erfolg bringt.
01:44:42: Das fühlt sich wirklich relativ random an.
01:44:47: Ja, also halte ich aus angenehmer Versicht für eine Hochrisikostrategie, weil ein möglicher Ausgang aus diesen ganzen NPM und jetzt Glassform und sonst das Angriffen wäre ja auch... dass diese Ökosysteme sich absichern.
01:45:04: Und die Leute sehr viel mehr auf dem Schirm haben, installieren nicht einfach irgendeinen Plagin in deinen Kodiditor und so, weil da gibt es mehr Werden.
01:45:12: Ich würde eigentlich annehmen, dass der Effekt gerade ist, dass die Leute skeptischer werden und vorsichtiger.
01:45:19: Ja, das zumindest im Moment.
01:45:24: Also NPM hat ja jetzt etwas weitreichendere Schritte auch unternommen, um sein Ökosystem abzusichern.
01:45:33: Das heißt, da jetzt noch weitere Angriffe gegen die Wand zu klatschen, sollte hoffentlich weitgehend abprallen.
01:45:44: Vielleicht sind verschiedene Teams verantwortlich für die guten Ideen und für die praktische Umsetzung, also das Waffenfähig zu machen und dann auch wirklich ein Exploit, der ein Resultat bringt, daraus zu machen.
01:45:57: Also es fühlt sich wirklich auch so ein bisschen an wie meine gute man hätte jetzt einfach nur mal einen Tag länger daran arbeiten müssen oder eine Woche oder sowas und auf die wäre es dann ja auch nicht angekommen.
01:46:04: also es ist ja.
01:46:06: In diesem fall wieder so, dass es sich nicht um zero day Angriffe mit einer Sicherheitslücke die möglicherweise am nächsten Tag verbrannt ist handelt.
01:46:15: na so wenn ich jetzt dann weiß ich nicht ich finde diesen Scherpe und exploit und Regers engineer engineer mir den weil ich weiß auf der Pronto an ist der.
01:46:25: ist der schon verbrannt worden?
01:46:26: ich weiß jetzt genau.
01:46:27: ich habe jetzt vier wochen bis der patch kommt und bis dahin muss man gelaufen sein weil da ist mein opportunitätsfenster zu.
01:46:34: dann ist das ja was ganz anderes als diese sachen die ja sicherlich monatel jank in planung waren und da hätte man wirklich auch noch mal zwei wochen sagen können kommen wir gehen dann noch mal ein zwei runden.
01:46:45: auf der anderen seite ist es natürlich auch sehr, sehr schwierig, wenn nicht sogar unmöglich, diese Sachen zu testen, ohne sie in die Wildnis loszulassen.
01:46:55: Das ist ja dann auch, ich denke, Entwickler von diesen Würmern, also auch Scheihulut und so, haben echte Probleme, die zu testen, bevor sie die laufen lassen und dann möglicherweise auch Denkfehler zu finden und zu beseitigen.
01:47:08: Oder Fehler, die in operativen Doingen da möglicherweise Knüppel zwischen die Beine werfen.
01:47:15: Stelle ich mir sehr schwierig vor, das zu testen.
01:47:18: Ja, also zumindest bei Shai Hulut gab es ja auch die Theorie, dass der ausgekommen ist.
01:47:23: Also das ist ja so ein bisschen das inherente Problem von einem Wurm, der repliziert sich selber.
01:47:27: Das heißt, wenn der einmal irgendwo rauskommt, dann ist er halt in the wild, verbreitet sich und fällt auf.
01:47:31: Und wenn der als Prototyp aus der Seele irgendwie rauskommt, dann habe ich halt die Idee in die Welt gesetzt.
01:47:40: Ja, also wäre interessant zu wissen, aber auch dann wäre es irgendwie komisch sloppy, dass ihnen ein Wurm nach dem anderen auskommt.
01:47:48: Aber vielleicht ist auch wirklich so wie du sagst, sie machen da jetzt sozusagen Masse statt Klasse und lassen halt eigentlich für diese Dinger los und gucken, ob irgendeiner sich so breit verbreitet, dass sich das finanziell rentiert.
01:47:57: Oder vielleicht haben die sich ja auch schon finanziell rentiert, wer weiß das schon.
01:47:59: Ich habe ehrlich gesagt nicht hinterher spioniert, ob man das, als ob irgendjemand schon geguckt hat, wie viel Geld der eigentlich zusammengetragen haben könnte und so.
01:48:09: Neunundvierzig verschieden der Wallet Plange, ich fand das schon auch, also da ist Aufwand reingeflossen.
01:48:14: Und dann aber halt irgendwie die Melwe so komisch offensichtlich, also schwierig.
01:48:19: Ich weiß nicht, ob da tatsächlich noch viel Aufwand reinfließt, weil das den Code können sie sich ja von allen möglichen Infostilern klauen.
01:48:25: Ich glaube, da gibt's vorgefertigt.
01:48:27: Ja, ja, also da ist vielleicht nicht viel Glasformaufwand reingeflossen, aber da hat schon jemand versucht es sozusagen möglichst breit aufzustellen, so meine ich das.
01:48:38: Also, mal sehen, wir werden es vermutlich... Wenn nicht erfahren, vielleicht ist ja auch da, wo diese Sachen in Auftrag gegeben werden, die Quartalsquote nicht so und so viel Umsatz oder Raubgut zu erreichen, sondern so und so viele gute Ideen umgesetzt zu haben.
01:48:53: Das wäre ja aus Software-Entwicklungssicht ein gutes Incentive, aber natürlich kommerziell dann eher unattraktiv für die unbekannten Urheber dieses Warns.
01:49:05: So, jetzt will ich aber, obwohl wir uns schon wieder der magischen Marke nähern, ich will jetzt dieses Thema erzählen, weil sonst Das muss es ja nochmal geschoben werden.
01:49:16: Darf ich jetzt meinen Thema erzählen, mein kroatisches?
01:49:19: Du klingst sehr angeschlagen, aber es ist deine Stimme.
01:49:23: Aber wie gesagt, wir haben es schon so oft geschoben.
01:49:26: Ja und vor allem, wenn wir jetzt nicht erzählen, haben wir kein PKI in der Folge, das geht nicht.
01:49:30: Oh und wir haben es jetzt mal zugesagt, dass PKI kommt, das stimmt.
01:49:33: Ja, dann müssen wir ja, dann sind wir ja auch nicht nur einander verpflichtet, sondern auch unseren Hörern, das sind wir ja sowieso.
01:49:39: So, ich mach's auch schnell, so schnell wie ich kann.
01:49:42: Es geht um PKI.
01:49:43: Yay.
01:49:45: Und ein CA-Fail.
01:49:46: Yay, yay.
01:49:47: Es wird, es wird, endlich
01:49:49: ist alles wieder, es ist die Welt wieder in Ordnung im Passwort-Podcast, ne?
01:49:53: Wir verlagern uns in etwa sonnigere Gefilde, zumindest in den meisten Jahreszeiten und zwar nach Kroatien.
01:50:00: Da gibt es die FINA, die FINA ist die Finanzis, ich habe keine Ahnung, wie die ausspricht, Finanzisagentia aus Kroatien.
01:50:09: Die macht alles mögliche finanzielle und zwar also wirklich von Wechselstuben, die betreiben Wechselstuben bis hin zu digitalen Zertifikaten, ist also auch kein ganz kleiner Laden, hat zwei tausend vierhundert Mitarbeiter.
01:50:21: Das ist ein bisschen irreführend.
01:50:24: Das sind jetzt keine zwei tausend vierhundert PKI Spezialisten, die man gleich merken wird, sondern da sind eben auch tatsächlich die Mitarbeitenden in den Wechselstuben oder anderen Finanzagenturen, Dienstleistungsbüros, die die FINA betreibt mit drin.
01:50:39: FINA betreibt eine PKI mit mehreren CAs, die betreiben auch so Sachen wie Timestamping und so was.
01:50:44: Und alle möglichen auch eben so digitalen Infrastruktur, Dienstleistungen, irgendwie kriptografischer Natur.
01:50:52: Die PKI der FINA ist nicht in den großen Browsern drin, also zumindest nicht in denen, die Sylvester und ich üblicherweise benutzen, ist aber Teil der EU-Infrastruktur für Quarks qualifizierte Web Authentication nach EU Rezept.
01:51:10: Wir haben dazu in einer Folge mal was gemacht, aber ich konnte sie uns verrecken, nicht finden.
01:51:13: Ich habe in allen Notizen geguckt und ich habe in die Kurzbeschreibung geguckt.
01:51:16: Ich weiß nicht mehr, wann wir was zu den Quacks gemacht haben.
01:51:18: Ich bin aber sicher, wir haben was dazu gemacht.
01:51:20: Das war relativ früh, irgendwann im letzten
01:51:22: Jahr.
01:51:23: Wenn wir es finden, tun wir es in die Show-Notes.
01:51:25: Genau, wenn ihr es findet, schreibt uns eine Mail.
01:51:27: Mailer, das ihr kennt ihr ja.
01:51:28: Wir haben Microsoft
01:51:29: Artikel zu den Quacks.
01:51:31: Alternativ tun wir einfach Quack-Artikel in die Show-Notes.
01:51:34: Genau, das können wir auch machen.
01:51:37: Die CA ist nicht Teil der Browser, sie will also Microsoft vertraut ihnen aber.
01:51:42: Das heißt, ich glaube auch im Edge kannst du dem, als ist sie ja als CA hinterlegt.
01:51:47: Und also
01:51:48: die, die, die, die ist in der absoluten Instanzen, wenn, wenn die EU und Microsoft der Sache vertrauen, dann kann man sich eigentlich schon fragen, warum die großen anderen Browser nicht mitziehen.
01:51:58: Muss ich wahrscheinlich sagen, Sarkas im End oder so, damit es klar ist.
01:52:03: Microsoft und EU die sind natürlich die echte Mehrheitsmeinung.
01:52:08: Eine dieser CAs stellt auch Zertifikate an Staatsangestellte aus, also hier gegen EU, EIDAS Richtlinie und so.
01:52:17: in diese ganzen EU-Geschichten möchte ich mich jetzt nicht so weit vertiefen, da bin ich auch jetzt gerade nicht sehr firm eben unter anderem, weil ich unsere alte Folge nicht gefunden habe.
01:52:26: Sie geben selber an, sie halten sich an die Baselite Requirements für die der PKI, obwohl sie es ja nicht im Nicht in den unter die E-Gidele des CA-Browser-Forms fallen sozusagen, nicht zwingend müssten und sind et sie auditiert, also haben auch die notwendigen Audits um CA zu sein.
01:52:43: Und haben aber doch mal ein kleines kleines bisschen geschludert und Zertifikate, die sie nicht hätten ausstellen dürfen, doch ausgestellt.
01:52:51: Und das ist Anfang September einer Person, die vermutlich Aus China kommt das kann das jetzt nur am namen festmachen aufgefallen und die hat das auf der der Security Policy Mailing Liste von Mozilla.
01:53:08: Wo diese ganzen ca.
01:53:09: Geschichten diskutiert werden gepostet.
01:53:12: die hatten Web Archiv und dann ist es von da aus so ein bisschen weiter eskaliert.
01:53:17: und der übliche nächste Schritt ist dass es in dem Mozilla Baxila.
01:53:30: Ich war gerade überlegen, was unsere Ausmachendiskussion war, einer der letzten Folgen.
01:53:35: Da wurde der Ticket eröffnet und es gab die Notwendige Aufmerksamkeit von Playern wie Ben Wilson.
01:53:40: Das ist quasi der Mozilla Papst für die PKI.
01:53:47: So, dann... muss ich mich ein bisschen fragen, gibt es in Kroatien eine spezielle Sorte Salami?
01:53:56: Ich kenne das nur aus Ungarn, da gibt es so eine spezielle ungerische Salami, aber auch in Kroatien scheint die beliebt zu sein, denn man verfolgte sehr deutlich eine Salami-Scheibentaktik bei der Kommunikation mit den Stakeholders auf dieser, in diesem Baxilla.
01:54:11: Da ließ das gesamte CA-Browser-Forum mit, also wenn da so ein Backe eröffnet wird und da so ein CA-Policy-Backe rausgemacht wird, dass sich den CA Fehlverhalten hat.
01:54:21: kann man davon ausgehen, dass da innerhalb kürzester Zeit das gesamte CA-Browser-Forum mal drauf geguckt hat und in diesem Fall interessierte es, also guckten sie interessiert drauf, waren aber nicht direkt betroffen, weil die allermeisten von ihnen eben nicht in ihren Browsern die diese CA verankert hatten.
01:54:39: So und das Problem war, dass sie ein Zertifikat unter anderem ausgestellt haben für Eine IP-Adresse, das finden wir ja generell hier in diesem Podcast eher merkwürdig, außer diese IP-Adresse ist ein DNS over TLS Resolver.
01:54:56: Und da gibt es eine IP-Adresse, die ist recht bekannt, die lautet eins, eins, eins, eins, eins.
01:55:02: Die ist auch sehr leicht zu merken, gehört Cloudflare mittlerweile und da betreiben die was drauf.
01:55:06: Silvester, willst du es mal ganz kurz sagen?
01:55:09: Einen DNS Resolver.
01:55:11: Früchtig.
01:55:11: Das war ein der größten der Welt.
01:55:12: Das war eine Alternative zu Acht, Acht, Acht und anderen.
01:55:16: Und neun, neun,
01:55:17: neun, neun, neun und so.
01:55:18: Also es hat ja irgendwie Usus da solche App hier.
01:55:22: Ist ja auch sinnvoll, damit man sie sich merken kann.
01:55:24: Genau.
01:55:24: Die musst du dir ja im Zweifelzoll auch wirklich mal merken, weil du ja nix hast, wo du einen Look abmachen kannst.
01:55:29: So.
01:55:30: Und da haben sie jetzt Zertifikat für ausgestellt, ohne dass... Cloudflare davon wusste.
01:55:36: Natürlich wusste Cloudflare davon nicht, dass ein Zertifikat für ausgestellt wurde.
01:55:39: Das war nämlich ein Testzertifikat, wurde im Februar, im Jahr zwei tausend vierundzwanzig das erste Mal ausgestellt von der FINA und da hat sich Cloudflare, nachdem das bekannt wurde, dann geäußert mit einer sehr deutlichen Formulierung, nämlich Unacceptable Labs in Security, also ein inakzeptabler Lapsus in der Sicherheit, der tatsächliche impact also die auswirkungen auf nutzer wie du wie dich und mich nur dich und mich in kroatien ist aber hat nicht stattgefunden.
01:56:08: denn Hier ist es ja so, dass um den Traffic mit diesem gefälschten oder viel ausgestellten Zertifikat in irgendeiner Weise abfangen zu können, hätte man ja auch noch im Rooting-System, also im BGP, die IP-Adresse, eins, eins, eins, eins, global irgendwie hijacking und umleiten müssen.
01:56:24: Das ist ein Angriff, der, glaube ich, zu den schwierigsten gehören dürfte, überhaupt durchzuführen, weil das halt extrem schnell auffällt.
01:56:32: Also Cloudflare ist in ihrem Monitoring sehr, sehr gut.
01:56:34: In ihrem Zertifikatsmonitoring waren sie vielleicht jetzt nicht ganz so flink für, weil sie das auch einfach nicht auf dem... auf dem Schirm hatten.
01:56:40: Das muss ich auch sagen.
01:56:41: Ich weiß nicht, ob Sie noch draufkommen wissen, aber es hat mich überrascht, dass Cloudflare das nicht selber entdeckt hat.
01:56:47: Haben Sie, glaube ich, in Ihrem Blog-Artikel auch geschrieben?
01:56:49: Ich meine, ich hätte gelesen, wir haben da jetzt auch mal Monitoring für installiert, dass so was nicht nochmal uns durch die Lappen geht.
01:56:57: Aber ich vermute, dass es ... Das ist einfach irgendwie so eine Kombination aus dieser CA, die nicht in allen Browsern war und dass das einfach irgendwie hinten übergefallen ist.
01:57:06: Habe ich aber jetzt im Detail nicht mehr weiter zu recherchieren.
01:57:10: Bina darauf angesprochen, sagte ja, haben wir ein bisschen Mist gebaut und das waren Testzertifikate und das sind ein bisschen blöd und waren aber die einzigen.
01:57:19: Dann eskaliert es von Deinem weiter.
01:57:24: Unter anderem ich.
01:57:25: Ich war einer der jemanden, der dann mal sehr, sehr genau in CRT.sh, in den Certificate Transparency-Logs für diese CA gewühlt hat und mal geguckt hat, was haben die denn noch so ausgestellt.
01:57:35: Und dann war noch so eine Schnapszahl IP-Adresse dabei.
01:57:37: Das waren in diesem Fall, Zwei, Zwei, Zwei, Zwei.
01:57:39: Da läuft kein Resolver.
01:57:41: Die gehört nicht clauschwer, sondern Oracle.
01:57:43: Und Oracle hatte natürlich auch keine Ahnung davon, dass da ein Zertifikat in Kroatien für ihre IP-Adresse ausgestellt wurde.
01:57:51: Das war dann der nächste Fall.
01:57:52: Dann gab es noch welche mit internen IP-Adressen, also so so FC-Ninzen, Achtzehn IP-Adressen, Hundertzwei, Neunzig oder Zehner IP-Adressen im Subject Alternative Name oder im Common Name der Zertifikate.
01:58:06: Ist auch einfach stumpflich erlaubt.
01:58:07: Wie willst du verifizieren, dass jemand diese IP-Adresse kontrolliert?
01:58:10: Die ist ja per Definition nicht von einer Person oder einer Organisation kontrollierbar.
01:58:16: Dann gab es Zertifikate für putzige Domains wie test eins.
01:58:20: punkt hr.
01:58:21: hr ist ja ravatska also die koalitionsrepublik.
01:58:24: es gab zertifikate mit leerzeichen und unterstrichen in im hostname also in der hostname portion des f gutern was auch einfach kein valider dns ist.
01:58:35: also also lustige sachen.
01:58:38: und dann sagte die fina ja also das mit den testzertifikaten das stimmt das dürfen wir aber weil das haben wir so in unsere nutzungsordnungen also zertifikat Practice Statement geschrieben, dass, wenn wir irgendwas ausstellen, wo Test, bla bla bla bla vorne in dem Domainnamen steht, alles, wo Test vorne steht, ist per Definition bei uns ein Testzertifikat.
01:58:59: Und deswegen dürfen wir die Testzertifikate auch so ausstellen, selbst wenn wir die Domain dazu nicht kontrollieren und validieren können, dass das Zertifikat ausgestellt werden darf.
01:59:08: Sah jetzt in dem Kommentarstrang nicht jeder so, weil das ist einfach nicht.
01:59:12: Das entspricht nicht den Baseline Requirements.
01:59:14: Die sagen, du musst validieren, dass der Domaininhaber das Zertifikat haben will.
01:59:18: Und wenn es den Domaininhaber nicht gibt, weil es die Domain nicht gibt, dann berechte ich, dass die CA nicht dafür den Zertifikat auszustellen.
01:59:24: Und einfach zu sagen, ja, ich schreibe jetzt überall Test davor.
01:59:28: Da muss ja nur die Stiftung Warentest auf die Idee kommen und sich für Kroatien die Domain reservieren wollen.
01:59:33: Test.hr.
01:59:34: Was machen die dann?
01:59:35: Dann sagt die FINA, ja, das ist jetzt der Definition Testzertifikat.
01:59:39: Also totaler Kappes.
01:59:41: Es war also nicht nur Cloudflare betroffen, sondern auch alle möglichen anderen und es waren einfach auch Verstöße gegen die baseline requirements aufgelaufen.
01:59:50: Und dann wurden ein paar Leute ein bisschen ungehalten unter anderem eben dieser besagte Ben Wilson und der schrieb dann so einen Kommentar, der in anderen Kontexten auch schon mal den Rauswurf einer CA aus dem aus dem Browser einleiten kann.
02:00:08: Will Fina, please answer with specificity.
02:00:12: Also ein schönes Wort.
02:00:13: Also würde Fina bitte beantworten und zwar mit sehr spezifischen Details, was ihr denn da bitte alles gemacht habt.
02:00:21: Und die haben dann mit ein bisschen specificity versucht zu antworten, aber sie haben es nicht so recht hingekriegt, weil sie einfach keine guten Antworten haben.
02:00:29: Also am Ende hieß es dann ja, Wir haben das auch schnell zurückgezogen.
02:00:35: Wir haben dann gemerkt, dass das nicht richtig war.
02:00:36: Es war ein Ausbildungsproblem.
02:00:39: Die Leute waren nicht richtig geschult.
02:00:41: Es gab hohen Personalturnovers.
02:00:43: Sie haben sich teilweise selber widersprochen.
02:00:45: Erst haben sie gesagt, Microsoft hätte sie informiert über das Problem mit den falsch ausgestellten Zertifikaten für eins, eins, eins, eins.
02:00:52: Dann hieß es plötzlich in einer anderen Antwort.
02:00:54: Nein, das war der Besitzer von eins, eins, eins, eins.
02:00:56: Also Cloudflare und Last-I-Check waren das noch nicht.
02:01:00: dasselbe Unternehmen, sie hätten denn irgendwie die Kies vernichtet und dann würden sie einen internen ISO, sieben, zwanzig, tausend, eins Sonder Audit.
02:01:10: Deswegen jetzt anstrengend bin ich mal sehr gespannt, was der Auditor dazu so Themen sagt, wie ausreichende personelle Ressourcen und Weiterbildung des Personals.
02:01:19: Das ist nämlich in Norm Kapitel sieben durchaus Teil der ISO, sieben, zwanzig, tausend, eins.
02:01:23: könnte das auch spannend werden.
02:01:24: Und dann schreiben sie so in sie im incident report.
02:01:26: Ja, aber es gab ja keine.
02:01:29: keine Sicherheitsbedrohung für die Endkunden, also für die Browser-Nutzer.
02:01:33: Ja klar, weil ihr in den meisten Browsern ja auch einfach gar nicht drin seid und weil ihr einfach stumpf Glück gehabt habt.
02:01:40: Naja, jetzt kann man sagen, ist so eine, weiß ich nicht, eine CA irgendwo in Kroatien, wo ist das relevant?
02:01:49: Und warum hängen sich dann so Big Shorts wie der Ben Wilson da überhaupt rein und warum stellen die alle so viele Fragen?
02:01:53: Man kann die doch einfach machen lassen, hat doch fürs CA-Ökosystem gar nicht so richtig eine Relevanz.
02:02:00: Das habe ich einfach der Transparenzhalber direkt Ben Wilson gefragt und der schrieb dann, ja, im Prinzip ist es das eine ebenso diese Verantwortlichkeit fürs Web-PKI-Ökosystem als Ganzes, aber... Die FINA hat seit Jahren einen Antrag auf Inklusion in der CCADB, also bei Mozilla im Browser offen.
02:02:23: Und zwar seit acht Jahren.
02:02:25: Da haben sie das erste Mal das Ticket aufgemacht, dass sie gerne in den Firefox rein möchten.
02:02:29: Und in die anderen Browser möchten sie auch ganz gerne rein.
02:02:32: Und da schrieb David Wilson in seine Antwort an mich, dieses Ereignis, also dieser Vorfall wird eine Rolle spielen bei den Erwägungen, ob wir sie denn in unseren Browser reinlassen.
02:02:45: Das ist dann, da muss man, glaube ich, nicht mal mehr zwischen der Zeit, welche Rolle dieses Ereignis führen wird.
02:02:52: Und das hat auch für dieses EU-Quack-Ökosystem relevant.
02:02:55: Ich habe die Details, wie gesagt, ich möchte die gerne ein bisschen auslassen, aber... Das sind ja genau diese CAs, die uns die EU eigentlich so ein bisschen in die Browser reinpflanzen wollte durch EU-Verordnung, indem sie sagen wollten, das wird einfach jeweils pro Land einen nationalen Anbieter für diese Quax geben und der muss dann in die Browser rein, egal was die Browserhersteller sagen und egal was die CA, das CA-Browserforum sagt, der soll dann da rein, weil EU.
02:03:20: Und das wäre dann genau einer von diesen von diesen CAs gewesen.
02:03:25: und offen gesagt dieses ganze Ticket und die ganze Kommunikation war extrem stümperhaft.
02:03:30: Das ist eine Person, die sich da ständig in Widersprüche verwickelt, teilweise Sachen auch wirklich misserabel beantwortet und die tollste Antwort kommt gleich noch.
02:03:40: Ja, und also ich wollte nochmal kurz drauf.
02:03:43: Die EU hat ja argumentiert, es ist irgendwie total ungut, dass da sozusagen kommerzielle Unternehmen wie Google oder Mozilla halt irgendwie sozusagen die Entscheidungshoheit darüber haben und Gatekeeper sind, welchen Webseiten vertraut wird.
02:03:57: und in der Theorie kann ich das Argument nachvollziehen, aber damit es irgendeiner Validität entfalten kann, muss man sagen, also muss man sich hinstellen können sagen, wir hier sind Gatekeeper auf mindestens demselben Niveau und halt irgendwie demokratisch legitimiert oder keine Ahnung was.
02:04:15: Und Das wurde eben vorher auch mit gutem Grund, weil es gab ja schon mehrfach Fälle von irgendwelchen von der EU für gut befundene NCRs, die Mist gebaut haben.
02:04:27: Das sind also die Sachen, warum die Leute sagen, so, nee, also alle Konzentrationen bei Google oder Mozilla als Problem zum Trotz, die machen den Job wenigstens einigermaßen vernünftig.
02:04:38: und das jetzt zu ersetzen durch eine komische EU-Lösung.
02:04:43: Wo halt offensichtlich nicht geguckt wird, wer kommt hier rein oder nicht gut geguckt wird, würde es halt einfach nur viel schlimmer machen, als die mögliche ungute Konzentrationen, die wir jetzt aktuell haben.
02:04:55: Also das sind wirklich so Sachen, wo ich denke, genau deswegen gab es damals so viel Geschrei, weil wie die EU versucht hat, es durchzudrücken und dann so getan hat, als würden die gar nicht wirklich sozusagen aus Qualität quält.
02:05:07: Qualitätsproblemen sich da zieren, sondern weil sie halt böse Browser sind oder so.
02:05:12: Nee, das ist die Art von Qualitätsproblemen, warum halt Musilla und Guck gesagt haben, ihr kommt hier nicht rein.
02:05:16: Na, was soll der schmarrn?
02:05:18: Und recht haben sie, würde ich sagen.
02:05:21: Ja, also die Kommunikation, auch die Antworten waren wirklich teilweise, also nicht nur extrem weit auseinander, also das hat teilweise auch einfach irgendwie Wochen gedauert.
02:05:36: Aber an vielen Stellen auch genau das, was ein Auditor nicht hören will und auch jemand, wie das CA Browser Forum nicht hören will und was dann auch ein deutliches Indiz dafür ist, dass die CA ihre Aufgabe nicht gewachsen ist.
02:05:47: Also wenn so Schlüsselworte fallen wie hoher Personal Turnover oder die Leute waren nicht ausreichend ausgebildet, es gab kein gutes Onboarding und dann gab es menschliches Versagen.
02:05:59: Das ist dann immer so eine Sache.
02:06:00: Da muss dann ein CA auch in sich gehen und sich fragen, hat sie die Aufgabe, die sie da durchführen soll, überhaupt zu Recht.
02:06:06: Und das ist halt dieser Vorfall.
02:06:09: Aber, dass die in ihren CPS drin stehen haben, wir stellen einfach irgendeinen Blödsinn aus, solange da vorne Test dran steht und hinten Punkt HR ist ja wurscht und ist ja gut.
02:06:22: Wie kann das denn nicht auffallen zu dem Zeitpunkt, wo die EU hingeht und sagt, ja, das ist eine gute CA?
02:06:28: Wir haben uns ihren CPS angeguckt und wir sind der Meinung, wir sollten Zertifikate von denen akzeptieren.
02:06:34: Das ist eine saudumme Idee.
02:06:36: Wenn die spezifiziert ist in den CPS, wie kann das denn durchrutschen?
02:06:40: Also das ist so, warum ich nicht das Gefühl habe, dass da überhaupt sinnvoll kontrolliert wird, wer kommt hier rein und wer nicht.
02:06:48: Also dann bin ich gar nicht mal so sicher, also ich glaube die EU wird einfach den AC Auditbericht angeschaut haben, da hätte das auffallen müssen, aber die Frage ist, ob das da überhaupt auffallen kann, weil ich mir vorstellen kann, dass das danach sogar legal ist.
02:07:02: Weil du dann möglicherweise nicht unbedingt im PKI, also im Web PKI Bereich bist.
02:07:07: Sondern sie sind ja hier jetzt auch in diesem speziellen Unterfeld von PKI, wo du einen Hostname oder einen FQ.n zertifizierst.
02:07:18: Und ich kann mir vorstellen, dass es da so eine... Audit-Lücke gibt oder eine Regulierungs-Lücke gibt oder gab zwischen Etsy und baseline requirements, die die möglicherweise getroffen haben, weil das kann ja eigentlich keiner übersehen.
02:07:35: So, das ist auch so ein, weiß ich nicht, ich kann mir kein Szenario vorstellen, wo ein Auditor da drauf guckt.
02:07:45: Oder jemand, der das CPS ließ, das Audit sind ja oft auch nur Stichproben, wo du dann in bestimmten Bereichen guckst.
02:07:51: Aber ich glaube, das CPS musst du einfach von vorne bis hinten durcharbeiten und schauen, was da jetzt drinsteht und was da möglicherweise Kappes sein könnte.
02:08:00: Kann mir kein Szenario vorstellen, wo das hinten überfällt.
02:08:02: Aber irgendwie haben sie das zustande gebracht, dass das im CPS steht.
02:08:06: Haben sich dann einfach so ein bisschen Stur auf dieses CPS berufen, weil es halt einfach... Also es ist keine so richtig gute Idee, solche Argumentationen oder solche Diskussionen mit den Leuten aus dem CAB zu führen, weil die die A öfter geführt haben in ihrem Leben und mit ganz anderen Playern.
02:08:21: Und weil, wenn das B dazu dienen soll, das eigene Versäumnis ein bisschen zu Red Con als naja, das war ja regelkonform, dann wird das auch nichts zu nichts führen, außer zu mehr Ungemach.
02:08:32: Und dann um die Geschichte bis zu ihrem jetzigen Ende zu erzählen, das Ungemach ist auch noch nicht vorbei.
02:08:39: und die sind schon von einem monat gemacht.
02:08:42: das thema schleppen wir jetzt glaube ich ein oder zwei folgen schon mit uns rum und das erste mal war es mir noch nicht reif genug zu erzählen und in der letzten folge hat man nicht mehr genug zeit und habe jetzt das noch mal angeguckt vom kranken bet aus sozusagen.
02:08:56: und da ist dann nicht so ganz viel passiert bis zum tag vor unserer aufnahme und da kam dann noch ein paar kommentare und das war im wesentlichen auch wie unprofessionell seid ihr und wir trauen euch und sowas und Die Antwortzeiten sind sehr enttäuschend.
02:09:15: Es war dann zu dem Zeitpunkt eine technische Rückfrage mit drei oder vier Punkten auch schon seit über einem Monat offen.
02:09:21: Und dann kam eine Antwort von dem einzigen Zuständigen, der sich entschuldigt für die lange Pause beim Beantworten der Fragen.
02:09:30: Man habe jetzt ein Audit, ein EIDAV Audit, angestoßen.
02:09:39: Aber leider, und jetzt das ist die bürokratischste Ausrede, die ich mir überhaupt vorstellen kann, leider müsse mein DDR-Land das weit ausschreiben und die Ausschreibung liefe gerade, man müsste jetzt erstmal das Ende der Ausschreibung abwarten und danach werden sie Abweichungen eliminieren, die der externe Auditor, der aber auch noch nicht feststünde, das könnten sie, da könnten sie leider auch noch nichts zu sagen, in seiner Abstimmung mit dem Auditor würden sie dann diese Abweichungen eliminieren.
02:10:10: dann würde man sich wieder melden.
02:10:11: Das heißt, wir sind jetzt hier bei Folge forty-vier, in Folge seventy-seven.
02:10:16: können wir uns der Sache vielleicht nochmal annehmen oder vielleicht auch in Folge ninety-neun, je nachdem, wie schnell das Ausschreibungsverfahren jetzt in Kroatien beendet ist.
02:10:23: Ich weiß nicht, ob sie Landes oder EU weit ausschreiben müssen.
02:10:26: Das hängt ja ein bisschen vom Auftragsvolumen ab.
02:10:27: Aber ich könnte mir vorstellen, dass man da schon ein bisschen gutlicher hingucken muss jetzt bei der FINA.
02:10:32: Aber also, da versteckt sich einfach jemand, der keine Antworten hat.
02:10:37: hinter so diese prozeduralen bürokratischen bullshit.
02:10:41: also klar müssen die audit beantragen und klar müssen sie den auch ausschreiben ist auch prima dass sie jetzt nicht einfach sagen kommen.
02:10:47: Der der der kursant vom vom miroslav der den der die fragen da im bachsiller beantwortet der macht den audit.
02:10:53: das ist ja prima und es ist ja auch vergaberecht ist auch wichtig um eben korruption und schmu mit vergaben oder mit aufträgen einzudämmen.
02:11:01: aber technisch organisatorische fragen.
02:11:04: Kann sowieso nicht der Auditor beantworten, sondern der technisch organisatorische Ansprechpartner.
02:11:08: und wenn der sagt, ich muss jetzt erstmal auf den Auditor warten, dann ist das das Maximum an bürokratischer Rausrederei und gibt mir das Minimum an Vertrauen in eine CA.
02:11:17: Also ich hoffe stark, dass die jetzt schnellstmöglich auch bei Microsoft rausfliegen und dass dieser Audit dann auch dient.
02:11:24: entsprechenden Abweichungen ergibt, dass sie eben auch nicht weiter in der EU-Quark-Infrastruktur oder in der EU das Infrastruktur rumvorwerken können, weil so eine CA braucht kein Ökosystem, wieder wird PKI noch irgendein anderes.
02:11:37: Ja, also ich wollte auf eine Sache noch hinweisen, es geht ja nicht nur darum, dass halt hier ihre CPS von den Baseline Requirements abweichen und wir haben irgendwie eine Normenverletzung oder so, sondern es geht darum, dass in Baseline Requirements sinnvolle Don't do that Sachen drinstehen, weil die einfach sicherheitstechnisch sehr riskant oder einfach gefährlich sind oder dumm.
02:12:01: Und das dann in die CPS reinzuschreiben, auch wenn es keine baseline requirements gäbe, ich sehe keinen validen Grund in seine CPS drinstehen zu haben.
02:12:09: Na ja, solange die ersten vier Buchstaben Tests sind, stellen wir dafür Zertifikate aus, vollkommen egal, ob jemand anders die Domain besitzt oder nicht oder wie auch immer.
02:12:19: Unabhängig davon, dass es halt den Baseline-Wirkweins widerspricht, das ist so eine Sache, wo ich denke, das darf da nicht drinstehen.
02:12:24: Und wenn ihr sowas drinstehen habt und dann wird es für gut befunden von irgendjemandem, oder werde ihr für gut befunden von irgendjemandem.
02:12:29: Nee, danke.
02:12:31: Wir haben zumindest da doch jetzt in Zukunft diesen Fall, jedes Mal wenn wieder die EU oder sonst jemand ankommt und sagt, wieso, ihr könnt es doch vertrauen, wir lassen da nicht jeden rein, deuten wir halt auf sowas an.
02:12:41: sein Geher offensichtlich schon.
02:12:45: Ja.
02:12:46: Es gab auch noch so ein paar Detailabweichungen.
02:12:48: Sie haben auch die falschen Revocation Gründe genommen.
02:12:50: Das war auch wieder so ein kleiner F***, aber sie kennen halt auch einfach die besseren Equipments nicht und sie scheinen sich mit dem Betrieb einer C.A.
02:12:58: an.
02:12:59: nicht so richtig gut auszukennen.
02:13:00: Ich packe mal den Link zu dem Baxillaticket in die Show Notes und sollte da vereinzelt einen Namen auftauchen, der meinen sehr ähnelt, dann ist das kein Namensfetter, sondern ich habe da möglicherweise an der einen oder anderen Stelle auch noch ein bisschen Öl ins Feuer gegossen, weil ich da eh schon dann recherchieren war und dachte, dann guckst du noch mal ein bisschen genauer hin und habe dann aber die spätere Diskussion den anderen überlassen, weil ich das Gefühl hatte, dass da so drei oder vier sich eh schon auf die Fiene eingeschossen haben.
02:13:26: So.
02:13:26: Und jetzt ist mit meiner Stimme auch, glaube ich, langsam nicht mehr so ganz viel los.
02:13:30: Und das wäre dann gute Gelegenheit zu sagen, wir kommen jetzt mal langsam aber sicher zum Ende, vielleicht auch ein bisschen schneller.
02:13:38: Wegt uns gerne euer Feedback an password-minus-podcast.heise.de.
02:13:43: Bis zum nächsten Mal, dann mit etwas weniger nasaler Stimme, hoffe ich, und denkt dran.
02:13:49: Dieser Podcast ist das einzige Passwort, das ihr teilen solltet.
02:13:53: Ciao ciao und vielen Dank, dass du dich so krank hier reinschlibst.
02:13:56: Tschüss, macht's gut.
Neuer Kommentar