Die DGFIP betreibt das französische Steuerportal impots.gouv.fr. Die entwendeten Daten stammen aus E-Contact, dem Werkzeug, über das Steuerpflichtige Nachrichten an die Verwaltung schicken. Nach Angaben der DGFIP sind etwas mehr als 350.000 Privatpersonen und etwas mehr als 250.000 Unternehmen betroffen. Die Online-Konten und Passwörter der Steuerpflichtigen selbst wurden nicht kompromittiert.
Bei Privatpersonen können Steuernummer, Kontaktdaten, Familiensituation, Referenz-Einkommen und Quellensteuersatz sowie eine Liste der mit der DGFIP ausgetauschten Nachrichten eingesehen oder kopiert worden sein. Bei weniger als 250 Personen könnten auch die Nachrichteninhalte selbst abgeflossen sein. Bei Unternehmen betrifft es Firmenname, SIREN-Nummer, Anschrift und Eckdaten der Nachrichten; bei weniger als 2.076 Unternehmen möglicherweise auch die Inhalte.
Bekannt wurde der Diebstahl am 12. August, als sich der Angreifer in einem Online-Forum dazu bekannte – sieben Wochen nach dem ersten Datenabzug. Premierminister Sébastien Lecornu beauftragte daraufhin die ANSSI mit einer vertieften Prüfung. Das zuständige Ministerium hatte im August noch eine andere Erklärung geliefert: Die Zugriffskontrollen der DGFIP hätten den Diebstahl „aufgrund der Raffinesse des Angriffs“ nicht aufgedeckt.
Zwei Einfallswege
Dem Bericht zufolge nutzte der Angreifer zwei getrennte Wege. Der erste begann mit auffälligen Anmeldungen Anfang Mai und führte zu E-Contact. Dabei kamen mehrere Dutzend Passwörter von DGFIP-Beschäftigten zum Einsatz, die über drei Monate hinweg gestohlen worden waren – vermutlich durch Infostealer, also Schadsoftware, die gespeicherte Zugangsdaten unbemerkt kopiert, und zwar von Rechnern, die die DGFIP nicht verwaltete, höchstwahrscheinlich private Geräte der Beschäftigten.
Die beiden genutzten Portale PIGP und ADER verlangten nur ein Passwort, ein gestohlenes genügte also sofort. PIGP ist ein Webportal, über das DGFIP-Personal E-Mail- und Personaldienste nutzte. ADER bietet Zugang zu bestimmten DGFIP-Anwendungen über das RIE, das Netz, das die französischen Ministerien verbindet. Ins RIE gelangte der Angreifer über kompromittierte Systeme des Bildungsministeriums. Sensible DGFIP-Anwendungen waren vom übrigen RIE nicht abgetrennt, sodass sie aus Netzbereichen ohne erkennbaren Bedarf erreichbar waren. Die Ermittler fanden zudem Spuren zahlreicher Versuche, in andere Behörden im Netz vorzudringen.
Die verwendeten Konten hatten keine besonderen Privilegien, konnten aber dennoch auf große Datenmengen zugreifen. Wie Benutzerrechte verwaltet wurden, untersuchte die ANSSI für diesen Bericht nicht.
Der zweite Weg führte zu Katasterdaten und verlief über APEX, ein Portal für Partner wie Notare und Vermessungsingenieure. Es verlangte ein Passwort und einen per E-Mail versandten Einmalcode. Die Untersuchung der DGFIP ergab, dass der Rechner eines Vermessungsingenieurs in einem privaten Unternehmen möglicherweise kompromittiert war, wodurch der Angreifer den Code umgehen konnte. Die Daten wurden zwischen dem 27. Juli und dem 8. August abgezogen. Laut einer auf den 4. September datierten Notiz des Finanzausschusses des Senats, über die Public Sénat berichtete, betrifft dies knapp 435.000 Haushalte.
Warum niemand den Abfluss bemerkte
Für gestohlene Zugangsdaten von Beschäftigten hatte die DGFIP bereits ein Verfahren, so die ANSSI. Erkannte das Security Operations Center (SOC) ein kompromittiertes Konto oder meldete ein Threat-Intelligence-Dienstleister eines, wurde das Passwort zurückgesetzt. Dieses Verfahren erfasste Teile der Angreiferaktivität, nicht aber den Datendiebstahl.
Am 7. Juni lösten Suchanfragen über ein gestohlenes Konto einen Alarm und noch am selben Tag ein Passwort-Reset aus; dem SOC entging jedoch, dass der Angreifer von PIGP zu ADER gewechselt war. Am 23. Juni meldete der Dienstleister ein weiteres vom Angreifer genutztes Konto; damit durchgeführte Suchen erzeugten um 20:50 Uhr Pariser Zeit ein SOC-Ticket. Um 4:26 Uhr am Folgetag begann der Angreifer, über ADER Daten aus E-Contact abzuziehen – mit automatisierten Scraping-Werkzeugen, die Daten Seite für Seite kopieren. Das SOC bearbeitete das Ticket um 10:40 Uhr und setzte das Passwort zurück. Das behob zwar den Alarm auf PIGP, beendete aber nicht die offene Sitzung des Angreifers auf ADER. Die Daten flossen fast 16 weitere Stunden, bis 2:31 Uhr am 25. Juni.
Im Juli wiederholte sich das Muster: Am 22. Juli startete der Angreifer die automatisierte Extraktion mit einem weiteren gestohlenen Konto neu. Das SOC bemerkte am Folgetag verdächtige Suchanfragen und setzte das Konto am 24. Juli zurück – den Diebstahl erkannte es erneut nicht.
ADER wurde vom SOC der DGFIP überhaupt nicht überwacht. Kein System verknüpfte die Warnzeichen miteinander: nächtliche Anmeldungen, Verbindungen über VPNs, aus Adressbereichen in Indien oder von als bösartig bekannten Adressen. Auch Datenmengen lösten keinen Alarm aus, einschließlich der 11 GB, die zwischen dem 22. und 25. Juni ausgetauscht wurden. Ebenso wenig wurde die Zahl der Anfragen je Nutzer geprüft, obwohl Scraping eine Anfrage pro Seite erfordert. Einzeln erzeugten solche Signale meist viele Fehlalarme, gemeinsam hätten sie laut ANSSI jedoch einen Alarm auslösen können.
Auch die eigene Überwachung der ANSSI versagte. Ihre Detektionssensoren sitzen nur an den Ein- und Ausgangspunkten des RIE und des Internets, Zugriff auf Anwendungsprotokolle hat die Behörde nicht. Da der Angreifer echte Mitarbeiterkonten nutzte, erkannte die Netzüberwachung die Aktivität nicht. Dennoch hätte die Gesamtzahl der Anfragen nach eigener Einschätzung Alarme auslösen müssen.
Am 9. Juni informierte das Sicherheitsteam des Bildungsministeriums die Sicherheitsteams aller Ministerien über einen Vorfall in seinem Netz, teilte 17 Kompromittierungsindikatoren und bat darum, Verbindungen aus den Adressbereichen des Ministeriums zu beobachten. Der Angreifer hatte eine dieser Adressen bereits genutzt und tat dies Ende Juni erneut. Die Zeit für Analyse und Weitergabe solcher Indikatoren sollte auf ein Minimum beschränkt werden, so die ANSSI.
Am 6. August übergab die ANSSI der DGFIP zwei verdächtige Adressen, die sie bei der Durchsicht älterer Sensordaten gefunden hatte. Die DGFIP blockierte sie und setzte fünf Konten zurück. Den Diebstahl erkannte bis zum Bekenntnis des Angreifers am 12. August jedoch keine der beiden Behörden.
Maßnahmen und Empfehlungen
Zum Zeitpunkt der Berichtserstellung waren DGFIP-Mitarbeiterkonten seit dem 13. August für ADER und seit dem 18. August für PIGP gesperrt. Die DGFIP plant nicht, ihnen eines der beiden Portale wieder zu öffnen. APEX wurde am 14. August gesperrt und das Konto des Vermessungsingenieurs deaktiviert, vier Tage später die übrigen Konten des Unternehmens. Diese Abschaltungen störten einige Dienste der DGFIP und Partnerorganisationen erheblich.
Ein Aktionsplan sieht vor, die Überwachung auf alle Fachanwendungen der DGFIP auszuweiten, starke Authentifizierung einzuführen und die abrufbare Datenmenge zu begrenzen. Nur eine umfassendere, bereits geplante Prüfung werde alle ausnutzbaren Schwachstellen aufdecken, so die ANSSI. Laut der Senatsnotiz erhält E-Contact, das bisher keinen zweiten Anmeldeschritt hatte, einen solchen; zudem sollen Werkzeuge zur Erkennung ungewöhnlicher Mengen eingesehener oder kopierter Daten eingeführt werden. Zum Zeitpunkt der Notiz konnten Beschäftigte DGFIP-Werkzeuge nicht mehr von privaten Geräten aus erreichen.
Die Empfehlungen der ANSSI an die DGFIP umfassen:
- Bei jedem Passwort-Reset sämtliche aktiven Sitzungen in allen Anwendungen und Portalen widerrufen.
- Bei Meldung eines kompromittierten Kontos prüfen, welche Aktivitäten es ab dem wahrscheinlichen Kompromittierungszeitpunkt ausgeführt hat.
- Mehr-Faktor-Authentifizierung in jeder Anwendung einsetzen, mit einem zweiten Faktor, der das Konto auch bei gestohlenem Passwort schützt. Ein per E-Mail versandter Einmalcode genügt nicht, wenn dasselbe Passwort auch das Postfach öffnet; bevorzugt werden Hardware-Token oder Authenticator-Apps, idealerweise auf einem separaten Gerät.
- Jede Fachanwendung in einem SIEM überwachen, also einem System zur Sammlung von Sicherheitsprotokollen, und Kontingente für abgerufene Datensätze, gestellte Anfragen und ausgetauschte Datenmengen in einem bestimmten Zeitraum festlegen.
- Privaten Geräten keinen Zugriff auf dienstliche Ressourcen gestatten.
