Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Alles, was nicht in ein anderes Forum gehört: Hier rein
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
Benutzeravatar
Vinter
Foul Tarnished
Beiträge: 5061
Registriert: 25. Jan 2016, 02:50

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Vinter »

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.
Spieleankündigungen und - updates 2024

Alle Spiele
Alle Streams
Benutzeravatar
Boris
Beiträge: 418
Registriert: 30. Jan 2017, 20:54

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Boris »

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.
Benutzeravatar
Smutje187
Beiträge: 2129
Registriert: 8. Mär 2021, 14:44
Wohnort: Edinburgh

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Smutje187 »

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…
skade
Beiträge: 405
Registriert: 18. Jun 2020, 12:32

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von skade »

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 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#

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.
Benutzeravatar
Smutje187
Beiträge: 2129
Registriert: 8. Mär 2021, 14:44
Wohnort: Edinburgh

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Smutje187 »

skade hat geschrieben: 9. Feb 2022, 22:45 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.
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 :)
skade
Beiträge: 405
Registriert: 18. Jun 2020, 12:32

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von skade »

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.
Benutzeravatar
Smutje187
Beiträge: 2129
Registriert: 8. Mär 2021, 14:44
Wohnort: Edinburgh

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Smutje187 »

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 :)
Benutzeravatar
Lurtz
Beiträge: 4007
Registriert: 22. Feb 2016, 17:19

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Lurtz »

Boris hat geschrieben: 9. Feb 2022, 21:58 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.
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 :ugly:
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.
Benutzeravatar
Lurtz
Beiträge: 4007
Registriert: 22. Feb 2016, 17:19

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Lurtz »

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…
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.

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.
Benutzeravatar
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

Beitrag von Dr. Zoidberg [np] »

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.
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.

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"
Rigolax
Beiträge: 2193
Registriert: 20. Feb 2018, 15:53

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Rigolax »

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. :ugly:
Benutzeravatar
Smutje187
Beiträge: 2129
Registriert: 8. Mär 2021, 14:44
Wohnort: Edinburgh

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Smutje187 »

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.
Benutzeravatar
Lurtz
Beiträge: 4007
Registriert: 22. Feb 2016, 17:19

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Lurtz »

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.
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.
Benutzeravatar
IpsilonZ
Beiträge: 1857
Registriert: 27. Dez 2015, 17:45
Wohnort: Prag
Kontaktdaten:

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von IpsilonZ »

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:
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
Übersetzt: Leute im Soulsborne Modding Server haben in den Code geguckt und bestätigt, dass die bekannten RCEs gefixt wurden.

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.. :D
Benutzeravatar
Lurtz
Beiträge: 4007
Registriert: 22. Feb 2016, 17:19

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Lurtz »

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.
Benutzeravatar
IpsilonZ
Beiträge: 1857
Registriert: 27. Dez 2015, 17:45
Wohnort: Prag
Kontaktdaten:

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von IpsilonZ »

Lurtz hat geschrieben: 18. Mär 2022, 00:45 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...
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... ^^
Otis
Beiträge: 1323
Registriert: 23. Mai 2021, 19:30

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Otis »

Hängt das hiermit zusammen?
Rigolax
Beiträge: 2193
Registriert: 20. Feb 2018, 15:53

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Rigolax »

Otis hat geschrieben: 22. Mär 2022, 14:33 Hängt das hiermit zusammen?
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)
Benutzeravatar
Smutje187
Beiträge: 2129
Registriert: 8. Mär 2021, 14:44
Wohnort: Edinburgh

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Smutje187 »

Otis hat geschrieben: 22. Mär 2022, 14:33 Hängt das hiermit zusammen?
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.
Benutzeravatar
Lurtz
Beiträge: 4007
Registriert: 22. Feb 2016, 17:19

Re: Schwere Sicherheitslücke im Onlinemodus von Dark Souls

Beitrag von Lurtz »

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.
Antworten