Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Forumsregeln
Datenschutzerklärung: https://www.gamespodcast.de/datenschutzerklaerung/
Impressum: https://www.gamespodcast.de/impressum/
Forenregeln und zukünftige Weltverfassung
ART 1: Behandle andere Nutzer mit Respekt.
ART 2: Do NOT piss off the Podcasters
Lies bitte weitere Hinweise hier: viewtopic.php?f=4&t=2789
Datenschutzerklärung: https://www.gamespodcast.de/datenschutzerklaerung/
Impressum: https://www.gamespodcast.de/impressum/
Forenregeln und zukünftige Weltverfassung
ART 1: Behandle andere Nutzer mit Respekt.
ART 2: Do NOT piss off the Podcasters
Lies bitte weitere Hinweise hier: viewtopic.php?f=4&t=2789
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Der Bug zieht sich ja durch alle From Software Titel der letzten zehn Jahre, weil sie den Netcode jedesmal weiterverwenden. Wenn sie es für Elden Ring gefixt haben, dann wird der Fix für die anderen Titel nicht mehr allzu kompliziert sein.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Der Fix sicher nicht. Aber ich wuerde davon ausgehen, dass sie auch nach einer kleineren Aenderung nochmal eine QA-Runde drehen muessen/sollten, dafuer muss ja auch Zeit sein.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Okay, mal kurz recherchiert: Via Network kann ein Invader nicht nur beliebige Flags (NG-Cycle, Boss X besiegt, NPC Y tot) im Spiel des Hosts setzen (nicht abgesicherter synchronous multiplayer - kann das jemand ausführen? Ich habe bisher nur offline gespielt - vermutlich muss der Invader mitgeteilt bekommen, in welchem Zustand die Welt des „Opfers“ ist?) sondern am Ende sogar beliebigen Code ausführen - un-fcking-glaublich…
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Ich hab mal ein wenig gegraben und hab das Dokument des Blue Sentinel-Entwicklers (eine Anticheat-Software aus der DS 3-Community) gefunden: https://docs.google.com/document/d/10__ ... Gnt38/edit#Smutje187 hat geschrieben: ↑9. Feb 2022, 19:20 Mich würde anschließend ja interessieren, wie die Lücke genau entstanden ist - hat da jemand den Netzwerktraffic des Message-Systems mitgeschnitten und festgestellt, dass die Nachrichten im Klartext übertragen werden und dann einfach mal ausprobiert, Code zu versenden, der dann bei der Darstellung der Message auf dem PC des "Opfers" fraglos ausgeführt wird, weil nicht ordentlich escaped wurde? Gut, würde mich beim heutigen Stand der Sofwareentwicklung nicht wirklich wundern, aber lustig wärs
Ich nutz das mal kurz für all dafür zu erklären, wie Exploits grob funktionieren. Zuerstmal wird, wie du beschreibst, recherchiert: Leute sind neugierung und alles, was sich leicht mitschneiden lässt, wird potentiell angeschaut. Als Anmerkung dazu: Verschlüsselter Netzwerkverkehr ist schön und gut, aber im Speicher liegt alles dann unverschlüsselt, das hilft wenig. Einige der Sachen in dem Google Doc sehen relativ augenfällig aus. Häufig werden Sachen nicht gefunden, weil keiner hingeschaut hat. Manchmal werden Sachen auch einfach jahrelang übersehen. Ein Beispiel dafür ist das vor kurzem gefundene log4j-Problem in Minecraft.
Wonach Ausschau gehalten wird, sind Wege, aus dem normalen Systemablauf und Dinge zu tun, die das System dann eventuell ins Wanken bringen. Bei Dark Souls scheint es so zu sein, dass das Spiel sehr treugläubig ist und dir ohne Frage glaubt, was in den Netzwerknachrichten steht. Das ist dann natürlich eine maximale Möglichkeit, Schindluder zu betreiben. Und mit sowas kann ich Folgefehler auslösen. Das ist aber erstmal kein Exploit. Solche Sachen nennt man "Gadget".
Ein Exploit ist, wenn man ein oder mehrere Gadgets verwendet, um das System dazu zu bringen, zu tun, was ich will. Das kann trivial sein: zum Beispiel kann ich aus dem Dokument den Punkt "Dark Souls akzeptiert Speicherallokationsparameter von Mitspielern" nutzen um dir zu schicken "Allokier mal 800 GB Ram". Dann stürzt das Spiel ab. Auf dem PC kann ich das Spiel auch trivial dazu bringen, das zu machen - auf der Konsole wird dieses Gadget schwerer (weil ich den Netzwerkverkehr manipulieren muss - da hilft Verschlüsslung). Das kann aber auch so komplex werden, dass ich den Speicher im laufenden Betrieb manipuliere und dann das Spiel auffordere, diesen Speicher auszuführen. Eine wunderbare Illustration hier ist, wie jemand mit (computergesteuerten) Controllereingaben und unter Ausnutzung mehrerer Programmierfehler, Super Mario World zu Snake umprogrammiert: https://www.youtube.com/watch?v=OPcV9uIY5i4 .
Das Problem mit RCE (Remote Code Execution - die Ausführung _beliebigen codes_) ist nicht, dass ich damit den Taschenrechner auf dem Rechner, den ich angreife öffnen kann. Das Problem ist, dass RCE ein mächtiges Gadget sind. Nehmen wir mal an, ich kann Dark Souls nutzen, um beliebigen Code auszuführen. Windows sollte den Schaden begrenzen, zumindest auf meinen Useraccount und auf Sachen, die nicht nochmal extra Zustimmung brauchen (z.B. Programme & Services installieren). Gelöschte Dateien finde ich hoffentlich aus dem Backup wieder. Nun nehmen wir aber mal an (und das passiert regelmässig), jemand anderes findet eine Lücke in der Systemisolation von Windows - die erfordert aber, dass ein Programm eine bestimmte Abfolge von Kommandos ausführt, die _normalerweise nicht so ausgeführt wird_. Jetzt hab ich 2 Gadgets: eins, das beliebige Abfolgen von Kommandos ausführt (Dark Souls) und eins, das mit Vollzugriff auf den Rechner gibt. Zack, ich hab Adminrechte, der Rootkit ist installiert und der Rechner geknackt.
Das funktioniert in Programmen nach demselben Prinzip, unabhängig von der Programmiersprache. Manche machen das einfacher und schwerer. Das prinzipielle Problem von Dark Souls, die Peers im Spiel einfach sagen zu lassen, was passieren soll, ist aber in jeder Sprache ein Problem und eigentlich schon seit Ende der 90er keine gängige Praxis mehr. Klar passieren bei jeder Art der Validierung Probleme, die dann auch ausgenutzt werden können, aber es einfach zu unterlassen und aktiv Operationen einzubauen, die Basisoperationen eines Rechners sind, ist sehr schwierig.
Wie genau der RCE funktioniert, wird hier ja nicht beschrieben und ich habe keine Info an anderen Stellen gefunden. Es wäre aber nicht unerwartet, dass der durch Kombination der anderen Sachen entsteht und leicht komplexer ist. Gerade Speicherspielerein werden hier gerne verwendet. Mit Flags setzen wirds nicht getan sein, aber wenn ich da zum Beispiel statt "0" hinzuschreiben ein Stück Programmcode hinschreiben kann und das Spiel irgendwie überzeugen, das auszuführen?
Ich hoffe, das hilft den Mitlesenden, ist jetzt auch nur ein _sehr_ grober Überblick.
Wenn ich das Dokument so lese, ist das auch nicht einfach zu reparieren. Die RCE-Lücke vielleicht, aber das Prinzip umzustellen wird schwierig. Aber das ist aus der Ferne betrachtet.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Naja, das witzige bei log4shell ist ja eigentlich, dass log4j genau das tut, was die Designer vorgesehen haben: Und irgendein Depp hat halt vorgesehen, dass Log-Nachrichten beliebiges Nachladen von Code verursachen können. Warum sollte ein Log, was schlichtweg Text schreibt sowas können sollen? Tjoa, gute Frage
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Ich tu mir schwer mit "irgendein Depp". Als log4j designed wurde, war das Umfeld "maximale Flexibilität, maximale Dynamik" - anpassbare Enterprise-Software halt. Das hat man später bemerkt, dass das nicht immer der beste Weg ist. Das ist schon von kompetenten Leuten gemacht, die sich jetzt wahrscheinlich auch an den Kopf fassen. Hindsight is 20/20, wie man so schön sagt.
Ich arbeite ja ein einer Programmiersprache mit, die solche Sachen generell einfacher machen und zurückdrängen soll, aber alle 1-2 Jahre passiert uns auch mal gerade an solchen Komponentengrenzen ein Bock.
Was da in dem DS3-Dokument steht, war schon damals inakzeptabel.
Ich arbeite ja ein einer Programmiersprache mit, die solche Sachen generell einfacher machen und zurückdrängen soll, aber alle 1-2 Jahre passiert uns auch mal gerade an solchen Komponentengrenzen ein Bock.
Was da in dem DS3-Dokument steht, war schon damals inakzeptabel.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Nö, „eval“ auf Strings war schon immer Blödsinn - Java hätte da problemlos eine LDAPExpression als Parameter erlaubt.
Nur um das klarzustellen: Natürlich weiß ich, das solche Sachen ständig passieren, aber es ist eben ein Spiegelbild der „Professionalität“ in der Softwareentwicklung, wie viel Schrott heutzutage in beliebten Frameworks landet
Nur um das klarzustellen: Natürlich weiß ich, das solche Sachen ständig passieren, aber es ist eben ein Spiegelbild der „Professionalität“ in der Softwareentwicklung, wie viel Schrott heutzutage in beliebten Frameworks landet
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Und es muss ausgeliefert werden. Zumindest Dark Souls Remastered war (am PC) soweit ich weiß eine Auftragsarbeit, wenn es ganz blöd läuft, weiß niemand mehr wie man den Build updaten kann
Children are dying.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Age of Empires 2 (Definitive Edition) hat ganz ähnliche Probleme, weil da auch jeder Host jeweils den Zustand der gesamten "Spielwelt" vorhält und der nur intervallartig abgeglichen wird.Smutje187 hat geschrieben: ↑9. Feb 2022, 22:37 Okay, mal kurz recherchiert: Via Network kann ein Invader nicht nur beliebige Flags (NG-Cycle, Boss X besiegt, NPC Y tot) im Spiel des Hosts setzen (nicht abgesicherter synchronous multiplayer - kann das jemand ausführen? Ich habe bisher nur offline gespielt - vermutlich muss der Invader mitgeteilt bekommen, in welchem Zustand die Welt des „Opfers“ ist?) sondern am Ende sogar beliebigen Code ausführen - un-fcking-glaublich…
Gamestar hatte die Entdecker im Podcast:
https://www.gamestar.de/artikel/podcast ... 72066.html
Und hier deren Zusammenfassung:
https://redrocket.club/posts/age_of_empires/
Aber Code kann man da immerhin nicht ausführen und der Netcode ist auch "etwas" älter als der von Dark Souls.
Children are dying.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
- Dr. Zoidberg [np]
- Cronjob of Justice
- Beiträge: 3890
- Registriert: 7. Jul 2016, 23:28
- Kontaktdaten:
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Und manchmal ist es auch ein blöder Implementierungsfehler wie bei Heartbleed, wo einfach eine Überprüfung gefehlt hat. (Zur Erinnerung: Heartbleed war eine Sicherheitslücke in OpenSSL. Man konnte eine Hearbeat Nachricht an einen Server schicken und dieser musste eine Antwort mit den selben Daten zurückschicken. Das Problem war nur, dass die Ursprungsnachricht auch ihre Größe mitgeschickt hat und dann serverseitig keine Überprüfung stattgefunden hat, ob die behauptete Größe auch mit der tatsächlichen Größe übereinstimmt hat. Man konnte also 4 z.B. eine 4KB große Nachricht schicken, die behauptet hat 64KB groß zu sein und hat dann vom Server eine 64KB große Nachricht zurückbekommen - die 4KB der eigenen Nachricht + die 60KB, die danach im Speicher lagen und die, aufgrund davon wie Betriebssysteme Speicherzugriffe verwalten, zu 99%iger Wahrscheinlichkeit andere OpenSSL Daten wie irgendwelche Schlüssel waren.skade hat geschrieben: ↑10. Feb 2022, 09:33 Ich tu mir schwer mit "irgendein Depp". Als log4j designed wurde, war das Umfeld "maximale Flexibilität, maximale Dynamik" - anpassbare Enterprise-Software halt. Das hat man später bemerkt, dass das nicht immer der beste Weg ist. Das ist schon von kompetenten Leuten gemacht, die sich jetzt wahrscheinlich auch an den Kopf fassen. Hindsight is 20/20, wie man so schön sagt.
Ich arbeite ja ein einer Programmiersprache mit, die solche Sachen generell einfacher machen und zurückdrängen soll, aber alle 1-2 Jahre passiert uns auch mal gerade an solchen Komponentengrenzen ein Bock.
Was da in dem DS3-Dokument steht, war schon damals inakzeptabel.
Es gibt aber auch jede Menge Sicherheitslücken, die im tatsächlich geschriebenen Code gar nicht ersichtlich sind, sondern erst durch den Compiler entstehen (also wenn der Programmcode in Maschinencode umgewandelt wird), aufgrunddessen wie da irgendwelche Optimierungen, Abkürzungen, usw. vorgenommen werden.
Kurzum: Wie skade schon gesagt hat, ist es ja nicht immer so dilettantisch wie im Fall von Dark Souls. Jeder, der sich aber schon mal mit der Sicherheit von IoT-Geräten beschäftigt hat (:ugly: ), weiß aber auch, dass bei den meisten Firmen Sicherheit einfach null ernst genommen wird.
"I'm still tired from all the crossfit this morning" - "It's pronounced croissant and you ate 4 of them"
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Ich will ja nicht moralisieren und ich mag From Software bzw. deren Spiele sehr, aber haben sie bzw. auch Bandai Namco schon irgendwo die Sicherheitslücken mal zugegeben als das, was sie sind, nämlich Sicherheitslücken? Sie reden ja euphemistisch/obfuskiert immer noch von "technical difficulties": https://steamcommunity.com/games/374320 ... 3803747368 Machen die das aus rechtlichen oder ökonomischen Gründen? Keinen Fehler zugestehen und sich angreifbar machen? Das ist doch aber so extrem nicht normal, denke ich. Liegt's daran, dass es keine "westlichen" Firmen sind? EDIT: Wobei doch, in dem verlinkten Text sprechen sie im dritten Absatz von "necessary security measures", ich nehme es teils zurück.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Der Punkt ist halt dass sich seit einigen Jahren eingeschlichen hat, alle Arten von Sicherheitslücken über einen Kamm zu scheren, „weil Software immer Bugs enthält“ und den Ansatz finde ich halt grundsätzlich Unfug. Genauso wie oben geschrieben manche Compiler Fehler machen ist ein beknacktes Design kein „Unfall“, sondern manchmal eben das: Management stellt Anforderungen, Entwickler setzt sie wider besseren Wissens um und am Ende will’s keiner gewesen sein - in einer idealen Welt würde man dann ein Post Mortem machen und die Welt an den learnings teilhaben lassen.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Es gibt erste Behauptungen wonach die RCE nicht gefixt wurde, sondern From einfach EAC draufgeklatscht hat (was gegen eine RCE nichts bringt):
https://mobile.twitter.com/notasnervous ... 8051157010
Dann können sie den MP der alten Teile auch wieder anschalten wenn sie es wie zu erwarten eh nicht fixen.
https://mobile.twitter.com/notasnervous ... 8051157010
Dann können sie den MP der alten Teile auch wieder anschalten wenn sie es wie zu erwarten eh nicht fixen.
Children are dying.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Ist höchstwahrscheinlich gefaket. Der Twitter Account schien mir gleich etwas weird und habe daher in nem anderen Forum wo n paar Leute sind die da tiefer drin stecken und habe diese Antwort erhalten:
Ist es möglich, dass es irgendnen neuen gibt? Klar, ist immer möglich. Aber es wäre schon sehr ungewöhnlich, wenn niemand in diesem Server bisher davon bescheid weiß und nur irgendn Random Twitter User.
Also, ja, aufpassen mit irgendwelchen Behauptungen auf Twitter, auch wenn sie nen "Videobeweis" haben..
Übersetzt: Leute im Soulsborne Modding Server haben in den Code geguckt und bestätigt, dass die bekannten RCEs gefixt wurden.people on modding server say it's most likely fake
the rces have been fixed, people looked at the code, only way this is real is if there was a new rce that nobody else has found yet lol
even then it's weird
Ist es möglich, dass es irgendnen neuen gibt? Klar, ist immer möglich. Aber es wäre schon sehr ungewöhnlich, wenn niemand in diesem Server bisher davon bescheid weiß und nur irgendn Random Twitter User.
Also, ja, aufpassen mit irgendwelchen Behauptungen auf Twitter, auch wenn sie nen "Videobeweis" haben..
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Ja, das war wohl Fake. So beliebt wie das Ding bei Hackern ist befürchte ich aber, dass es nur eine Frage der Zeit ist bis wieder was gefunden wird...
Children are dying.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Wäre mir neu, dass Elden Ring (bzw. From Software Spiele) in irgendner Weise "beliebter" sind für solche Hacker als andere Spiele. Weiß nicht wirklich, woher dieser Verdacht kommt... ^^
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Hängt das hiermit zusammen?
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Mit RCE? Ne, das ist wohl keine Remote Code Execution. So etwas gab's auch früher schon, über Items mit korrupten Eigenschaften, die man droppt und die andere Spieler einsammeln, was dann das Save-File kaputt macht. Scheint hier bei Elden Ring aber über einen modifizierten Spell zu funktionieren, also wohl schlimmer als die gängige Item-Variante von früher. (Wobei, in gewisser Weise eher weniger schlimm, denn man kann's anscheinend ja selbst fixen, wenn man betroffen ist)
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Zumindest das invaden/einladen wurde hier im Thread schon mal als Quelle für kaputte Savegames verlinkt, da bösartige invader scheinbar den Zustand der Welt fast beliebig manipulieren können, NPCs auf feindlich stellen, Bosse wiederbeleben etc. - das Feature schien ein ziemliches Scheunentor zu sein.
Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls
Die PC Server für Dark Souls 3 sind wieder online, der Rest soll noch folgen.
Children are dying.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.
That's a succinct summary of humankind, I'd say. Who needs tomes and volumes of history? Children are dying. The injustices of the world hide in those three words.