Electronic Arts: Hack von 700 Millionen Konten
(battleda.sh)- Durch das Zusammenspiel aus offengelegter Swagger-Dokumentation für die EA-Authentifizierungs- und Gateway-APIs und fehlender Berechtigungsprüfung bei Persona-Updates konnten auch Daten anderer Nutzerkonten und sogar Login-Abläufe betroffen sein
- Der Kern des Problems war, dass PUT-Anfragen an
/identity/pids/{pidId}/personas/{personaId}mit dem Scopedp.client.defaulteines normalen EA-Desktop-OAuth-Clients möglich waren und die Eigentumsprüfung für die pidId im Request-Body sowie die personaId im Pfad unzureichend war - Angreifer konnten Änderungen von Persona-Benutzernamen, das Setzen des Status
BANNED, das Verschieben von Personas, das Auffinden von Persona-IDs versteckter Konten und die Umgehung des Logins über Xbox-Personas kombinieren, um bis zum Web-Login des Kontos zu gelangen - Die Auswirkungen reichten vom Diebstahl von Benutzernamen und einigen Spieldaten über das Blockieren des Zugangs zu Online-Spielen und das Umgehen von Spiel-Bans bis hin zum Login in EA-Konten über Xbox; die Schwere wurde mit CVSS 10.0 bewertet
- Die Schwachstelle wurde am 16. Juni 2024 an EA gemeldet; EA stufte sie am 25. Juni als kritisch ein und rollte vom 8. Juli bis 8. Oktober Patches aus, darunter Prüfungen der Persona-Eigentümerschaft und die Entfernung der Dokumentation
Offengelegte API-Dokumentation als Ausgangspunkt in der EA-Authentifizierungsumgebung
- Ausgangspunkt war ein im EA Desktop entdeckter Entwicklungstest der Umgebung integration
- Die Produktions-Authentifizierungs-API war
accounts.ea.com - Der Authentifizierungs-Host der integration-Umgebung war
accounts.int.ea.com
- Die Produktions-Authentifizierungs-API war
- In der integration-Umgebung ließ sich ein berechtigtes Access-Token erhalten; um zu prüfen, welche APIs damit zugänglich waren, begann die Suche nach offengelegter Dokumentation
- Die Authentifizierungsendpunkte lagen hinter einem Reverse Proxy; die 404-Antworten für den Pfad
/connectund den normalen Pfad/hatten unterschiedliche Formate, und derserver-Header waristio-envoy /connect/api-docslieferte im Gegensatz zu anderen/connect-Pfaden ein leeres 404 zurück, was auf mögliches separates Service-Routing hindeutete; unter/connect/api-docs/index.jsonwurde dann eine Swagger-1.1-Dokumentation gefunden- Die Swagger-Dokumentation verwies auf
/api-docs/connect; diese wurde mitswagger-codegen-cliin eine OpenAPI-3.0-Spezifikation umgewandelt und lokal in Swagger UI geprüft
Interne API-Liste im Gateway
- EA Desktop nutzt eine GraphQL-API namens „Service Aggregation Layer“, doch die SAL der integration-Umgebung lag hinter einer Firewall
- Die ältere, offenbar frühere Gateway-API unter
gateway.ea.comverwendete Endpunkte im Formatproxy/{service}/{route} gateway.int.ea.com/proxy/api-docs/index.jsonlieferte eine Dokumentenliste für mehr als 80 Services- Darunter waren Services wie
addresses,agerequirements,billing,commerceund weitere
- Darunter waren Services wie
- Die einzelnen API-Dokumente wurden heruntergeladen, in aktuelle OpenAPI-Spezifikationen konvertiert und dann auf zugängliche Funktionen geprüft
- Einige Endpunkte lieferten „projects“-Daten zu EA-Game-Teams und erforderten den Berechtigungsumfang
basic.domaindata; auch in der Produktion wurden Clients mit diesem Scope gefunden- In Beispieldaten tauchten unter anderem ein eingestelltes Star-Wars-Spiel und Apex Legends mit einem Gruppennamen zu
Titanfall3auf
- In Beispieldaten tauchten unter anderem ein eingestelltes Star-Wars-Spiel und Apex Legends mit einem Gruppennamen zu
- In der integration-Umgebung war auch dokumentiert, wie sich benutzerdefinierte Spiel-Entitlements vergeben lassen; da die für Download und Nutzung nötigen integration-Services jedoch hinter einer Firewall lagen, war der praktische Nutzen gering
- Es gab auch einen Endpunkt, der Xbox Live Server Tokens zurückgab, doch weil die Sandbox-ID nicht
RETAILwar, wurde dies nicht weiter untersucht
Produktions-Kontoinformationen und Persona-Struktur
- Für jeden Endpunkt zeigte die Dokumentation die nötigen Auth-Scopes; die Prüfung konzentrierte sich daher auf Endpunkte, die mit Produktions-OAuth-Clients erreichbar waren
/identity/pids/megibt allgemeine Kontoinformationen zurück- Dazu gehören maskierte E-Mail-Werte, E-Mail-Status, Teile des Geburtsdatums, Land, Sprache, Kontostatus, AGB-Version, Zeitpunkte für Erstellung, Änderung und letzte Authentifizierung sowie der 2FA-Status
/identity/pids/me/personasgibt die Liste der mit dem Konto verknüpften Personas zurück- Das Standard-EA-Konto nutzt den Namespace
cem_ea_id - Verknüpfte externe Konten wie Steam oder Xbox erscheinen ebenfalls jeweils als eigene Persona
- Das Standard-EA-Konto nutzt den Namespace
- Spiele speichern Daten wie Statistiken oder Inventar oft unterhalb einer Persona, wodurch plattformspezifische Daten getrennt sein können
- Im weiteren Verlauf wird die Persona im Namespace
cem_ea_idals „Origin“-Persona bezeichnet
Kernschwachstelle: fehlende Berechtigungsprüfung bei Persona-Updates
- Der Endpunkt
/identity/pids/{pidId}/personas/{personaId}akzeptiert GET-, PUT- und DELETE-Anfragen - PUT-Anfragen erlaubten die Scopes
dp.client.defaultunddp.server.default, und der normale Auth-Client von EA Desktop besaßdp.client.default - Der Request-Body konnte
displayName,namespaceName,status,statusReasonCode,lastAuthenticated,nickName,pidIdund weitere Felder enthalten - Eine PUT-Anfrage zum Ändern von
displayNameder eigenen Origin-Persona war erfolgreich, und der Benutzername auf der EA-Konto-Website änderte sich- Damit wurden sowohl die Cooldown-Zeit für Namensänderungen als auch die E-Mail-Bestätigung für Namensänderungen umgangen
- Eine Änderung von
namespaceNamezeigte keine Wirkung - Für
statuswaren die WerteACTIVE,DISABLED,PENDING,DELETED,BANNEDmöglich; wurde der Status der eigenen Origin-Persona aufBANNEDgesetzt, ließ sich EA Desktop weiter nutzen, aber Spiel-Logins wurden blockiert - Noch gravierender war, dass sich die pidId im Request-Body auf die ID eines anderen Kontos ändern ließ
- Eine Anfrage, die die eigene Steam-Persona auf das EA-Konto eines Freundes verschob, war erfolgreich
- Anschließend konnte sie auch wieder auf das eigene Konto zurückverschoben werden
Login-Prüfung und XSS-Versuch
- Nachdem die eigene Steam-Persona auf das Konto eines Freundes verschoben worden war, erschien beim Login in die EA-Website über Steam eine E-Mail-Bestätigung wegen neuem Standort bzw. nicht vertrauenswürdigem Gerät
- Ein Teil der angezeigten E-Mail-Adresse gehörte nicht zum eigenen Konto, was zeigte, dass der Ablauf bereits den Login in das Konto des Freundes erreichte, dort jedoch an der standortbasierten 2FA scheiterte
- Auch eine Anfrage, die den Persona-Benutzernamen auf
BattleDash <script>alert(1)</script>setzte, war erfolgreich - Auf der Seite zur Kontoverknüpfung wurde dadurch ein Alert ausgeführt, also war XSS möglich
- Wäre ein Nutzer im EA-Konto eingeloggt und würde auf diese Verknüpfungsseite geführt, könnte Code im Browser ausgeführt und die Session extrahiert werden
Direkte Manipulation fremder Personas
- Um zu prüfen, ob auch für die
personaIdim Pfad die Eigentumsprüfung fehlte, wurde versucht, den Benutzernamen einer nicht selbst besessenen Persona zu ändern - Nach Ermittlung der Persona-ID eines neuen Testkontos war eine Anfrage erfolgreich, die den Benutzernamen dieses Kontos ohne Authentifizierung des Zielkontos änderte
- Auf die gleiche Weise ließ sich auch der
statusaufBANNEDsetzen, wodurch sich das betroffene Konto nicht mehr in Spiele einloggen konnte /identity/personasdurchsucht Personas nachdisplayNameund gibt Persona-ID, Konto-ID, Erstellungsdatum und Zeitpunkt des letzten Logins zurück- Nutzer, die ihr Konto verborgen hatten, wurden dabei allerdings nicht angezeigt
/identity/namespaces/{namespace}/personassucht innerhalb eines bestimmten Namespace und gibt nur Benutzername und Persona-ID zurück, liefert aber auch versteckte Konten- Schon dieser Endpunkt reichte aus, um die benötigte Persona-ID zu erhalten
Einschränkungen beim Verschieben von Personas und partielle Kontoübernahme
- Beim Versuch, die Origin-Persona eines anderen Nutzers auf das eigene Konto zu verschieben, trat der Fehler
TOO_MANY_PERSONAS_FOR_NAMESPACEauf- Der Grund war, dass das eigene Konto bereits eine Origin-Persona hatte
- Da über Konsolen registrierte Konten möglicherweise nur die jeweilige Plattform-Persona und keine Origin-Persona besitzen, wurde ein Konsolenkonto genutzt, um Namespace-Konflikte zu vermeiden
- Dadurch war es möglich, zunächst die Origin-Persona eines Testkontos auf das Konsolenkonto zu verschieben und anschließend die Origin-Persona des Opfers auf das eigene Konto zu übertragen
- In diesem Zustand wurden beim Login der Benutzername des Opfers, nicht plattformübergreifende Spielstatistiken und einige weitere Kontodetails angezeigt
- Beim Login in das Opferkonto erschien dann der Ablauf „Finish setting up my account“, als würde ein neues Konto eingerichtet und ein Benutzername gewählt werden müssen
- Entitlements, Freunde und gespeicherte Daten moderner plattformübergreifender Spiele wie Battlefield 2042 waren jedoch nicht an die Persona, sondern an das EA-Konto selbst gebunden und wurden daher nicht mit übertragen
- Trotzdem konnte ein Angreifer Nutzer bannen, Spiel-Bans umgehen, Benutzernamen stehlen und Kontodaten als Druckmittel festsetzen
Login-Umgehung über Xbox-Personas
- In diesem Zustand waren unter anderem folgende Aktionen möglich: die eigene verknüpfte Konto-Persona auf ein beliebiges EA-Konto verschieben, eine beliebige Persona auf das eigene Konto verschieben sowie Personas bannen oder umbenennen
- Wenn zum Login in ein fremdes Konto die eigene Persona dorthin verschoben wurde, erschien weiterhin eine E-Mail-Bestätigung
- Da auf Konsolen beim Spielen von EA-Titeln offenbar keine 2FA-Abfrage erschien, wurde der Login über Xbox-/PSN-Tokens untersucht
- Die Dokumentation der Nexus Connect API beschrieb die Übergabe von Xbox-/PSN-Tokens; aus dem PSN-Login-Ablauf der EA-Seite wurde eine PSN-Client-ID gewonnen und ein Login per PSN-Token getestet
- Der Login per PSN-Token erstellte eine Persona im Namespace
ps3und erlaubte den Konto-Login ohne 2FA, doch Clients mitdp.client.defaultkonnten den Namespaceps3nicht verwalten - Durch Hinzufügen des Headers
X-Include-Namespacezu/connect/tokeninfozeigte sich, dass es je OAuth-Client eine Liste manipulierbarer Persona-Namespaces gab- Das Beispiel
JUNO_PC_CLIENTenthielt die Namespacescem_ea_id,steam,epic,xbox
- Das Beispiel
- Der Namespace Xbox war also erlaubt, doch da sich kein gültiges Microsoft-XSTS-Token für Spiele manuell erzeugen ließ, erfolgte der Test auf einer echten Xbox
- Nach dem Anlegen eines neuen Microsoft-Kontos und der Verknüpfung seiner Xbox-Persona mit einem Test-EA-Konto wurde diese Xbox-Persona auf das Opferkonto verschoben
- Beim Login in die EA-Website mit dem Xbox-Konto erschien zunächst die E-Mail-Bestätigung für neuen Standort, doch nach der Anmeldung in Battlefield 2042 auf der Xbox erfolgte der Zugriff auf das Opferkonto
- Danach gelang auch der Login in die EA-Website mit demselben Xbox-Konto ohne E-Mail-Bestätigung direkt in das Opferkonto
Auswirkungen und Schweregrad
- Für Angreifer gab es im Wesentlichen zwei Hauptpfade
- Sie konnten Persona-Daten anderer Nutzer aus deren Konten herauslösen und so Benutzernamen und Spieldaten entwenden
- Oder sie konnten ihre eigene Xbox-Persona auf das Opferkonto verschieben, sich auf der Xbox in ein EA-Spiel einloggen und nach Aufbau eines vertrauenswürdigen Netzwerkzustands mit dem Xbox-Konto in die EA-Website einloggen
- Hinzu kamen weitere erhebliche Auswirkungen
- Fremde Personas konnten gebannt werden, wodurch sich die meisten Online-Spiele nicht mehr spielen ließen
- Fremde Benutzernamen konnten geändert und anschließend übernommen werden
- Da Spiel-Bans durch das Deaktivieren aller Spiel-Entitlements eines Kontos umgesetzt wurden, konnten sie durch Verschieben einer Persona auf ein neues Konto umgangen werden
- Dieser Ablauf war weitgehend ohne Nutzerinteraktion möglich und lief vor allem über einen einzelnen API-Endpunkt
- Die Schwere wurde nach
AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:Hmit CVSS 10.0 bewertet
Zeitplan der Behebung und weitere Einschätzungen
- Die Schwachstelle wurde am 16. Juni 2024 an EA gemeldet
- EA bestätigte den Eingang am 25. Juni 2024 und bewertete sie als kritisch
- Der Patch-Zeitplan sah wie folgt aus
-
- Juli 2024: Patch 1 ausgerollt, Prüfung der Persona-Eigentümerschaft
-
- Juli 2024: Patch 2 ausgerollt, Details unbekannt
-
- September 2024: Patch 3 ausgerollt, Details unbekannt
-
- September 2024: Patch 4 ausgerollt, Dokumentation entfernt
-
- Oktober 2024: Patch 5 ausgerollt, Details unbekannt
-
- EA ging anfangs davon aus, dass die Behebung bis zum Jahresende dauern könnte; bei einer Lage, in der offengelegte Dokumentation und ein einzelner unsicherer Endpunkt den Kern bilden, wären schnellere temporäre Gegenmaßnahmen wünschenswert gewesen
- EA hat weiterhin kein Bug-Bounty-Programm, und ohne greifbare Belohnung für Meldungen bleibt die Sorge bestehen, dass manche Schwachstellen lieber nicht offengelegt werden
- Das an den frühen Tests beteiligte Konto eines Freundes wurde mit dessen Einverständnis verwendet
1 Kommentare
Meinungen auf Hacker News
EA nutzt für mehrere Spiele gern gemeinsame Systeme. Beim Herumstöbern in Madden habe ich entdeckt, dass es ein gemeinsames Backend namens
blazegibt und dazu generische Web-/TCP-Endpunkte.Ich baute ein Tool, das diesen Endpunkt aufrief, musste dafür XML hochladen und merkte später, dass dabei bei jedem Aufruf EA-Server abstürzten.
Da pro Anfrage ein neuer Server gegriffen wurde, brachte ich nach und nach sämtliche Madden-Server zum Absturz, und am Ende baute EA eine API, damit die Leute nicht mehr herumstochern.
Soweit ich mich erinnere, brauchte man ungefähr eine Blaze-Instanz pro 5.000 bis 10.000 Spieler.
Man schien sich ziemlich darauf auszuruhen, ein proprietäres Format zu verwenden und anzunehmen, dass niemand herausfinden würde, wie das Interface funktioniert – also Security by Obscurity.
Irgendwann möchte ich darauf zurückkommen; zumindest steckt darin einiges ziemlich Interessantes.
Ein Tipp beim Reverse Engineering von APIs solcher bekannten Dienste: GitHub Code Search verwenden. Wenn man einen eindeutigen Endpunktnamen eingibt, findet man oft Leute, die sich ebenfalls kleine API-Clients zusammengehackt haben, und das hilft der eigenen Recherche auf unerwartete Weise.
namespacename-Wert zurückgegeben. 2FA-Token-Informationen müssen über den/tokeninfo/-Endpunkt aus JUNO gehasht werden.Wenn man nachträglich eine Integration versuchte, gab die Infrastruktur für die C++-API oft die PSN-User-ID zurück.
Wie jeder vernünftige Mensch es natürlich getan hätte, habe ich eine Xbox mit Lieferung am nächsten Tag bestellt, Battlefield 2042 installiert, auf den entscheidenden Moment gewartet – und kam hinein.
Hacker sind wirklich großartig <3
Interessant war der detaillierte Ablauf, wie man von einem Punkt zum nächsten kam. So sauber linear wie in einem Blogpost wird es wohl nicht gewesen sein.
Um zu zeigen, wie viel Zeit und Aufwand solche Angriffe wirklich kosten, gäbe es vermutlich Berge von Notizen; die zu sehen wäre ebenfalls spannend.
Das Seltsamste an all dem ist, dass EA jahrelang behauptet hat, es sei technisch unmöglich, die Verknüpfung eines bestehenden Xbox-Kontos zu lösen und es mit einem neuen Konto neu zu verknüpfen. Siehe Beiträge wie https://www.reddit.com/r/XboxGamePass/comments/12gsy4i/ea_xb... und zahllose Posts im EA-Forum.
Ich bin selbst gegen diese Wand gelaufen und habe stundenlang mit dem EA-Support telefoniert, aber sie konnten mein sehr altes Xbox-Konto nicht verknüpfen. Deshalb kann ich mich auf der Xbox bei keinem EA-Spiel anmelden und auf der Plattform das meiste nicht spielen.
Hier zeigt sich nun aber, dass es durchaus möglich ist.
Seltsamerweise dauerte es bei meinem Konto viel zu lange, und ich schrieb über ein bis zwei Jahre mehrfach an den Support. Jedes Mal bekam ich die Antwort, man aktualisiere die Konten so schnell wie möglich, aber die Aufgabe sei so groß, dass es Jahre dauern werde.
Später sah ich in irgendeinem Forum einen Trick: Wenn man das Konto kurz schloss und wieder öffnete, konnte man es immerhin auf 25 MB erhöhen – aber nicht auf die versprochenen 250 MB.
Die Lage mit 2–4 MB für bestehende Konten, 25 MB für neue Konten und einem mehrjährigen Rollout bis 250 MB vermittelte den Eindruck, dass Microsoft enorme Schwierigkeiten hatte, freien Speicherplatz aufzutreiben. Doch wenige Monate später mussten sie mit Gmail konkurrieren und beschlossen, allen 2 GB zu geben; das wurde auf einen Schlag für alle Hotmail-Konten ausgerollt, meines eingeschlossen. Außerirdische müssen ein UFO voller Festplatten vorbeigebracht haben.
[1] Beispiel für einen alten Forenbeitrag zu diesem Trick, inklusive einer Antwort, die das neue Gmail lobt: https://bimmersport.co.nz/topic/5232-hotmail-upgrade-2mb-to-...
Eine geänderte Verknüpfung könnte Daten ungültig machen, die im Abrechnungssystem gespeichert sind, die monatlichen Reports an Microsofts Xbox-Abteilung durcheinanderbringen oder eine interne Admin-Seite beim Laden abstürzen lassen.
Ich will EA nicht verteidigen, aber wer viel mit komplexen Microservice-Systemen zu tun hatte, weiß, dass das Ändern einer Datenstruktur an einer Stelle nicht immer simpel ist.
Es wäre auch lustig gewesen, alle Accounts zu sperren und zu hoffen, dass es kein DB-Backup gibt
Als zahlender Kunde erwarte ich von solchen Unternehmen eine bessere Haltung, und wenn es kein Programm gibt, würde ich Hacker persönlich nicht dafür verurteilen, wenn sie das ausnutzen, was sie gefunden haben.
Niemand speichert 400 Millionen Datensätze auf einer einzigen Maschine, und am Ende hätte man nur den Dienst für einen ganzen Nachmittag lahmgelegt und würde 15 Jahre Bundesgefängnis bekommen.
Weil die erste Reaktion – oder zumindest derzeit der bestbewertete Beitrag – der Gedanke ist, es wäre „lustig“, Millionen Menschen zu schaden, um dem Unternehmen, mit dem sie Geschäfte gemacht haben, eine Lektion zu erteilen.
Im Beitrag steht diese Passage:
I had found a way to obtain a privileged access token within the environment (a story for another day, but a certain game's executable had hardcoded credentials!), but I wasn't sure what I could do with it.Kann jemand diesen Teil etwas genauer erklären? Ich dachte, solche Zugangsdaten sollten sich nicht einfach aus einer ausführbaren Binärdatei auslesen lassen, und wenn die Spiel-Executable sich gegenüber einem Remote-Server authentifizieren muss, weiß ich auch nicht recht, was Entwickler sonst tun sollten.
In einer Client-Server-Architektur gilt: Dem Client ist nie zu trauen. Die ausführbare Datei sollte sich nicht selbst gegenüber dem Server authentifizieren müssen. Sie sollte mit den vom Nutzer bereitgestellten Informationen den Nutzer oder Account authentifizieren.
Bei Telemetrie etwa nehmen solche Endpoints normalerweise Daten ohne oder mit schwacher Authentifizierung entgegen und führen mehrere Validierungsschritte durch, um Missbrauch zu verhindern. Meist sind sie außerdem nur zum Schreiben/Anhängen gedacht.
Man bräuchte ein System, das die Executable verschlüsselt und bei dem ein Sicherheitsbereich im CPU-Die die Entschlüsselung mit einem privaten Schlüssel übernimmt, aber selbst dann ist es wahrscheinlich nur eine Frage der Zeit, bis jemand den Chip decappt und den Schlüssel bekommt.
Selbst wenn man verschlüsselt und den Schlüssel in ein HSM legt, ist das auf beliebigen Client-Maschinen vermutlich ohnehin nicht möglich; außerdem muss das Spiel den String irgendwann entschlüsseln und in den Speicher laden. Und diesen Speicher kann man lesen.
Was Spieleentwickler tun sollten, ist ein Account-System im Backend zu betreiben und den Spieler im Spiel seine eigenen Zugangsdaten eingeben zu lassen. Dann kann sich das Spiel gegenüber dem Backend-Server als dieser Spieler identifizieren.
So lassen sich Aktionen im Backend einem bestimmten Spieler zuordnen, und man hat eine gute Grundlage für Sicherheitsentscheidungen.
Es gibt Tools wie IDA; man muss also nicht mit bloßem Auge zwischen allem suchen, was wie ein String aussieht, um Zugangsdaten zu finden.
Das Problem ist weniger, dass in der Binärdatei hartcodierte Zugangsdaten stecken, sondern dass diese Zugangsdaten privilegierte Rechte haben.
Als Engineer in so einem Unternehmen frage ich mich manchmal, wie es sich anfühlt, wenn private APIs, seltsame Bugs und schmutzige Interna in einem öffentlichen Bericht über einen Sicherheitsvorfall auftauchen.
Allerdings ist es in so einem Fall unwahrscheinlich, dass eine einzelne Person für die Schwachstelle verantwortlich war. Vermutlich besaßen fünf oder sechs Teams jeweils unterschiedliche Teile, die ausgenutzt wurden, und genau deshalb existierte der Exploit überhaupt. Es ist ein riesiges, komplexes System, in dem jeder nur seinen kleinen Teil versteht.
In einem Unternehmen von der Größe EAs wird so etwas ziemlich sicher für interne Politik benutzt werden, und Leute werden es nutzen, um mehr Kontrolle über ein kleiner gewordenes Unternehmen zu bekommen, selbst wenn das dem Unternehmen insgesamt schadet.
Alle sind austauschbare Ressourcen – warum sollte man sich emotional in die Arbeit investieren?
Das Team hieß damals Nucleus, weshalb in einer der Antworten im Beitrag
refTypeden WertNUCLEUShatte. Dieses Team erstellte und betreute Backend-APIs für Berechtigungen, Accounts und Zahlungen.Es war ein Sommerpraktikum, und ein Jahr später bekam ich von diesem Team ein Angebot und fing dort an. Zu diesem Zeitpunkt war der Teamname in EADP geändert worden und es wurde langsam mit Origin zusammengeführt. Ich bin mir nicht mehr sicher, ob DP für Data Platform stand, aber deshalb beginnt einer der Endpoints mit
dp..Damals gab es keine GraphQL-Datenbank; alles war Enterprise Java, OCI, Spring, Hibernate usw., und bevor ich ging, gab es auch etwas neueres Groovy/SpringBoot. Es lief nicht in der Cloud, sondern auf Servern im Rechenzentrum.
Trotzdem habe ich an interessanten Dingen gearbeitet und viel Backend-Entwicklung von guten Engineers gelernt, auch wenn ich zwei bis drei Jahre nach einem großen Vorfall gegangen bin.
Ich habe keine Ahnung, wie das Team heute aussieht, wer dort als Engineer arbeitet oder was passiert ist, aber so etwas zu sehen macht mich traurig. Damals waren wir sehr sicherheitsbewusst und arbeiteten auch an Systemen, die Brute-Force-Versuche auf der Login-Seite erkannten und behandelten.
Ich weiß nicht, ob das noch aktiv ist oder läuft, aber Security-Checks und Reviews zur Verringerung möglicher Kompromittierungen und der Angriffsfläche waren Teil der Sprint-Arbeit.
Wenn euch dieser Beitrag gefallen hat, findet ihr mehr davon auf Bug-Bounty-Plattformen wie Hacktivity von HackerOne: https://hackerone.com/hacktivity
Wird alle paar Wochen oder Monate aktualisiert
Gibt es irgendwo einen Best-Practices-Leitfaden zum Einrichten eines Bug-Bounty-Programms?
Man veröffentlicht irgendwo auf der Website, dass technische Sicherheitsprüfungen erlaubt sind, sofern sie einem koordinierten Verfahren zur Offenlegung von Schwachstellen folgen, und schreibt dazu, welche Prämien es für welche Bugs in welchem Scope gibt. Natürlich muss das etwas konkreter sein als dieser eine Satz
Ausnahmen wie dass man nicht zahlt, wenn jemand zu jung oder zu alt ist, oder wenn jemand im falschen Land geboren wurde und deshalb Sanktionen unterliegt, sollte man ebenfalls vorab festhalten, damit es später keine verletzten Gefühle gibt
Wenn es konkrete Fragen gibt, kann ich sie beantworten oder gute Referenzen heraussuchen
Wenn man diese Stelle im Artikel liest:
It's also disappointing that EA has yet to start a bug bounty program. Without any real incentive to report vulnerabilities, I know people who have instead chosen to keep them to themselves. I would love to see EA follow the rest of the industry's lead here.Hat der Autor das also gemeldet und gar nichts dafür bekommen?
Beim Melden gibt es rechtliche Risiken, und es hilft auch nicht, dass Unternehmen einen technisch gesehen bis zum Ende verklagen können. Das gilt aus EU/UK-Sicht