pe-18-anlage1

/ 92
PDF herunterladen
Technische Analyse und Konzeptprüfung des beA Abschlussgutachten im Auftrag der Bundesrechtsanwaltskammer Körperschaft des öffentlichen Rechts Littenstraße 9 10179 Berlin Version: 1.0 Stand:   18.06.2018
1

Technische Analyse und Konzeptprüfung des beA Copyright © 2018 by secunet Security Networks AG Die Wiedergabe von Gebrauchsnamen, Handelsnamen, Warenzeichen usw. in die- sem Dokument berechtigt auch ohne besondere Kennzeichnung nicht zu der An- nahme, dass solche Namen im Sinne der Warenzeichen- und Markenschutz- Gesetzgebung als frei zu betrachten wären und daher von jedermann benutzt wer- den dürfen. Alle Marken und Produktnamen sind Warenzeichen oder eingetragene Warenzeichen der jeweiligen Zeichenhalter.
2

Technische Analyse und Konzeptprüfung des beA Inhaltsverzeichnis Inhaltsverzeichnis .................................................................................................................. 3 Abbildungsverzeichnis ........................................................................................................... 6 Tabellenverzeichnis ............................................................................................................... 7 1    Management Summary ................................................................................................. 8 1.1    Zielsetzung .......................................................................................................... 8 1.2    Ergebnisse der Penetrationstests ........................................................................ 9 1.3    Ergebnisse der Quelltextanalyse ........................................................................10 1.4    Ergebnisse konzeptionelle Analyse ....................................................................11 1.5    Resümee und Empfehlung .................................................................................13 1.6    Abgrenzung ........................................................................................................14 2    Verfahren zur Schwachstellenbewertung ......................................................................16 2.1    Darstellungsform ................................................................................................16 2.2    Schwachstelle ....................................................................................................17 2.3    Risikobewertung.................................................................................................17 2.3.1      Ausnutzbarkeit ......................................................................................18 2.3.2      Bedrohung ............................................................................................18 2.3.3      Bestimmung des Risikos ......................................................................21 2.4    Maßnahme .........................................................................................................23 2.5    Angaben zum Status der Schwachstellenbehebung ...........................................23 3    Detailergebnisse der Penetrationstests.........................................................................24 3.1    Beschreibung des Analysegegenstandes ...........................................................24 3.2    Rahmenbedingungen und Abgrenzung ..............................................................28 3.3    Methodik und Vorgehensweise ..........................................................................28 3.4    Übersicht der Schwachstellen ............................................................................30 3.5    Beschreibung der A-Schwachstellen ..................................................................32 3.5.1      Nicht autorisiertes File-Sharing .............................................................32 3.5.2      Auslesen von Metadaten fremder Nachrichtenanhängen......................33 3.5.3      Modifikation von signierten Nachrichten ...............................................35 3.5.4      Veraltete Softwareelemente .................................................................36 3.6    Beschreibung der B-Schwachstellen ..................................................................37 3.6.1      Veraltete Javascript-Bibliotheken in der beA-Anwendung .....................38 3.6.2      Überschreiben von Dateien ..................................................................39 3.6.3      Session-ID als GET Parameter in der URL ...........................................40 3.6.4      Transportverschlüsselung der beA-Anwendung: Client-TLS- Renegotiation .....................................................................................................40 3.6.5      Transportverschlüsselung der beA-Client-Security: Client-TLS- Renegotiation .....................................................................................................41 3.6.6      Transportverschlüsselung der beA-Client-Security: Logjam ..................42
3

Technische Analyse und Konzeptprüfung des beA 3.6.7    Detaillierte Fehlermeldungen der Webapplikationsfirewall ....................43 3.6.8    Schwache Lock-Out-Mechanismen in der beA-Anwendung .................44 3.6.9    Qualität der genutzten Session-Cookies ...............................................45 3.6.10   Automatisches Ausführen und Öffnen von Dateien...............................46 3.6.11   Modifikation von signierten XML-Nachrichten .......................................48 3.6.12   Logdaten: Detaillierte Struktur der REST-Endpunkte ............................48 3.6.13   Nicht konsistente Zertifikatsprüfung ......................................................49 3.7    Auflistung der C-Schwachstellen ........................................................................51 4 Quelltextanalysen .........................................................................................................53 4.1    Beschreibung des Analysegegenstandes ...........................................................53 4.2    Methodik und Vorgehensweise ..........................................................................53 4.3    Übersicht der Schwachstellen ............................................................................54 4.4    Beschreibung der A-Schwachstellen ..................................................................56 4.4.1    beA-Anwendung - Mögliche Ausführung von Schadcode (XML) ...........56 4.4.2    Java-Abhängigkeiten mit bekannten Schwachstellen ...........................57 4.4.3    Mögliche Ausführung von Schadcode in der beA-Client-Security (JSON) 59 4.4.4    Mögliche Ausführung von Schadcode in der beA-Client-Security (XML) 60 4.4.5    Verwendete Bibliotheken der beA-Client-Security.................................62 4.4.6    Verwendete Bibliotheken in der BRAV-Suche ......................................63 4.5    Beschreibung der B-Schwachstellen ..................................................................64 4.5.1    beA-Anwendung: SQL-Injection............................................................64 4.5.2    Initialisierungs-Vector (IV).....................................................................66 4.5.3    Unsicheres Auffüllen von Daten bei Verschlüsselung ...........................67 4.5.4    TLS-Zertifikate-Validierung ...................................................................68 4.6    Auflistung der C-Schwachstellen ........................................................................70 4.7    Durch den CCC gemeldete Schwachstellen .......................................................70 4.7.1    CCC 1: SSL-Zertifikat für bealocalhost.de kompromittiert .....................70 4.7.2    CCC 2: beA-Client-Security startet unsicheren Webserver und Websocket .........................................................................................................71 4.7.3    CCC 3: beA-Client-Security nimmt serialisierte Java-Objekte via Websocket entgegen und führt sie aus ..............................................................71 4.7.4    CCC 4: Unterstützte Betriebssysteme sind veraltet ..............................71 4.7.5    CCC 5: Client besteht aus stark veralteten Paketen (zum Teil aus 2011/2013) .........................................................................................................71 4.7.6    CCC 6: XSS-Schwachstelle in der beA-Webanwendung ......................71 5 Konzeptionelle Analyse ................................................................................................72 5.1    Beschreibung des Analysegegenstandes ...........................................................72 5.1.1    Form des Analysegegenstands und Betrachtungsweise .......................72 5.1.2    Inhaltliche Beschreibung des Analysegegenstands ..............................72 5.2    Methodik und Vorgehensweise ..........................................................................78 5.3    Übersicht der Schwachstellen ............................................................................79 5.4    Beschreibung der A-Schwachstellen ..................................................................80 5.4.1    Verwendung von Javascript beim beA_Client .......................................80 5.4.2    Client prüft Postfachzertifikate nicht ......................................................81 5.5    Beschreibung der B-Schwachstellen ..................................................................83
4

Technische Analyse und Konzeptprüfung des beA 5.5.1    BNotK kann Ursprung der Zertifikatsanträge aus HSM nicht erkennen .83 5.5.2    EGVP-Bürger-Verzeichniseinträge im SAFE können irreführend sein ..84 5.5.3    HSM-Schlüssel existieren außerhalb des HSM ....................................86 5.6 Auflistung der C-Schwachstellen ........................................................................88 5.7 Anmerkungen zu Betriebs- und Sicherheitskonzepten .......................................89
5

Technische Analyse und Konzeptprüfung des beA Abbildungsverzeichnis Abbildung 1: Externe Architektur des beA-Zentralsystem .....................................................25 Abbildung 2: Anhang test.txt .................................................................................................34 Abbildung 3: Anhang xjustiz_nachrict.xml ............................................................................34 Abbildung 4: Session-Cookie-Entropie, Quelle: Burp Suite Professional ..............................45 Abbildung 5: Postfach einrichten ..........................................................................................73 Abbildung 6: Management von Administrations- und Leserechten .......................................74 Abbildung 7: Ablage von Nachrichten im beA .......................................................................75 Abbildung 8: Abruf von Nachrichten (Teil 1) .........................................................................76 Abbildung 9: Abruf von Nachrichten (Teil 2) .........................................................................77
6

Technische Analyse und Konzeptprüfung des beA Tabellenverzeichnis Tabelle 1: Darstellungsform C-Schwachstellen ....................................................................17 Tabelle 2: Beispielkriterien zur Bestimmung der Ausnutzbarkeit ...........................................18 Tabelle 3: Einstufung Vertraulichkeit ....................................................................................19 Tabelle 4: Einstufung Integrität .............................................................................................20 Tabelle 5: Einstufung Verfügbarkeit ......................................................................................21 Tabelle 6: Bewertung des Risikos ........................................................................................22 Tabelle 7: Externe Schnittstellen und analysierte Versionen im beA ....................................27 Tabelle 8: Schwachstellenübersicht Penetrationstests .........................................................30 Tabelle 9: Pentest C-Schwachstellen ...................................................................................51 Tabelle 10: Schwachstellenübersicht Quelltextanalysen.......................................................54 Tabelle 11: Bibliotheken mit Schwachstellen (beA-Client-Security) ......................................62 Tabelle 12: Bibliotheken mit Schwachstellen (BRAV-Suche) ................................................63 Tabelle 13: Quelltext C-Schwachstellen ...............................................................................70 Tabelle 14: Schwachstellenübersicht Konzeptanalyse .........................................................79 Tabelle 15: Konzept C-Schwachstellen ................................................................................88 Version: 1.0                 Stand: 18.06.2018                                                                             Seite 7
7

Technische Analyse und Konzeptprüfung des beA 1         Management Summary 1.1       Zielsetzung Die secunet Security Networks AG (secunet) wurde von der Bundesrechtsanwalts- kammer (BRAK) beauftragt, die Umsetzung des besonderen elektronischen An- waltspostfachs (beA) hinsichtlich IT-Sicherheit zu analysieren und zu bewerten. Ziel der Analyse ist, bereits bekannte technische, organisatorische und konzeptio- nelle Schwachstellen zu validieren und gegebenenfalls vorhandene neue Schwach- stellen zu identifizieren und zu beurteilen. Im Rahmen der Untersuchungen von Februar bis Ende Mai 2018 wurden neben Penetrationstests ausgewählter beA-Komponenten und Schnittstellen ebenfalls Quelltextanalysen sowie eine konzeptionelle Analyse durchgeführt. Der Auftrag sieht die Erstellung eines Abschlussgutachtens vor, das mit diesem Do- kument an die Bundesrechtsanwaltskammer übergeben wird. Das hier vorliegende Abschlussgutachten bildet den Stand der Untersuchungen zum Stichtag 28.05.2018 ab. Die im Laufe der Analyse erkannten Schwachstellen wurden soweit möglich, be- reits vor der Fertigstellung des Gutachtens an den Betreiber kommuniziert. Ein Teil dieser gemeldeten Schwachstellen konnte bereits vor Erstellung dieses Gutachtens behoben und einem erneuten Test (ReTest) durch den Gutachter unterzogen wer- den. Zum Stichtag ist die Behebung von Schwachstellen durch den Betreiber oder ihr erneuter Test (ReTest) noch nicht abgeschlossen. Der ReTest aller vom Betrei- ber behobenen Schwachstellen ist beabsichtigt. Im Rahmen der Analyse wurden die für die Sicherheit wichtigen Komponenten, Schnittstellen, Anwendungsfälle und vorliegenden Dokumente berücksichtigt. Die Bewertung der gefundenen Schwachstellen erfolgt angelehnt an die in dem Fehler- managementsystem des Betreibers verwendeten Stufen „betriebsverhindernd“, „be- triebsbehindernd“ und „sonstige“: A - Betriebsverhindernde Schwachstelle Die Behebung vor Wiederinbetriebnahme wird dringend empfohlen. B - Betriebsbehindernde Schwachstelle Eine Behebung sobald wie möglich wird empfohlen. C - Sonstige Schwachstelle Lediglich unerhebliche Auswirkungen auf den Betrieb sind zu erwarten, eine Behebung wird empfohlen, soweit dies mit verhältnismäßigem (am möglichen Schaden bemessenen) Aufwand möglich ist. Version: 1.0                    Stand: 18.06.2018                                                Seite 8
8

Technische Analyse und Konzeptprüfung des beA Die Risikobewertung wurde aus technischer Sicht vorgenommen. Dabei gingen die Menge der potentiellen Angreifer, die Komplexität des Angriffs und die Schäden durch einen erfolgreichen Angriff in die Risikobewertung ein. Die mögliche Motivati- on der Angreifer (ihre Bereitschaft, die erforderlichen Mittel für einen Angriff aufzu- bringen und die erforderlichen Risiken einzugehen) wurde mangels Schätzbarkeit nur sehr grob berücksichtigt. Sie ist allerdings ein Faktor, der die Eintrittswahr- scheinlichkeit eines erfolgreichen Angriffs beeinflusst und bei genauerer Berücksich- tigung die Risikobewertung verändern kann. Eine fachliche Sicht (z.B. Bewertung der Bedeutung eines Verlustes von Vertraulichkeit aus juristischer Sicht) von beA- Betreiber und -Anwenderseite kann mögliche Schäden oder ihre Eintrittswahr- scheinlichkeit und damit das Risiko ebenfalls anders bewerten. Das Verfahren zur Risikobewertung ist in Kapitel 2 dargestellt. Die Inhalte und Ergebnisse der Analysen werden in den folgenden Unterabschnitten 1.2 bis 1.4 überblicksweise dargestellt und in den Kapiteln 3 bis 5 ausführlich erläu- tert. 1.2       Ergebnisse der Penetrationstests In dem Analysezeitraum konnten zusammenfassend Schwachstellen in den nach- folgenden Ausprägungen identifiziert werden: ■  A - Betriebsverhindernd:             4 Schwachstellen                 2 behoben ■  B - Betriebsbehindernd:              13 Schwachstellen                4 behoben ■  C - sonstige Fehler:                 19 Schwachstellen                2 behoben Bei den identifizierten betriebsverhindernden Schwachstellen handelt es sich um die nachfolgend kurz aufgeführten Schwachstellen: ■  Nicht autorisiertes File-Sharing (behoben) Angreifer können die beA-Anwendung als einfachen „Cloud-Dienst“ nutzen um dort beliebige Daten, ggf. auch mit krimineller Absicht, abzulegen und zu einem späteren Zeitpunkt wieder herunterzuladen. ■  Auslesen von Metadaten fremder Nachrichtenanhänge (behoben) Innerhalb der beA-Anwendung angemeldete Angreifer können auf ver- schlüsselte Anhänge von verschlüsselten Nachrichten Dritter zugreifen. Dadurch wird das Rollenkonzept des beA umgangen und Metadaten können eingesehen werden. Die Verschlüsselung selbst kann dadurch zwar nicht überwunden werden, aber auch die einsehbaren Metadaten können z.B. in den Bezeichnungen für Anhänge sensible Informationen offenbaren. ■  Modifikation von signierten XML-Nachrichten Signaturen können umgangen und so XML-Nachrichten manipuliert werden. Diese Schwachstelle wurde in zwei Schnittstellen gefunden, von denen eine kritisch ist, weil dort Gültigkeitsaussagen zu qualifizierten Signaturen ver- Version: 1.0                   Stand: 18.06.2018                                               Seite 9
9

Technische Analyse und Konzeptprüfung des beA fälscht werden könnten. Die Ausnutzung ist aber nur Innentätern im beA- Betrieb und Angreifern, die erfolgreich beA-Teilkomponenten unter ihre Kon- trolle gebracht haben, möglich. ■    Veraltete Softwareelemente in der beA-Client-Security Es werden Softwareelemente verwendet, die Sicherheitsupdates erfordern. Des Weiteren konnten durch zeitnahe Meldungen des Gutachters während des Analysezeitraums bereits 8 Schwachstellen durch den Betreiber behoben und durch ReTests als tatsächlich gegenüber der gemeldeten Schwachstelle als geschlossen verifiziert werden. Eine detaillierte Auflistung der gefundene Schwachstellen und der durchgeführten ReTests findet sich in den Detailergebnissen in Abschnitt 3 wieder. Dort werden auch der Analysegegenstand und die Vorgehensweise beschrieben. 1.3       Ergebnisse der Quelltextanalyse Die beA-Anwendung, beA-Client-Security und die BRAV-Search wurden einer werk- zeuggestützten, statischen Quelltextanalyse unterzogen. Für die beA-Client-Security wurde darüber hinaus ein Quelltext-Audit vorgenommen, bei dem die als kritisch identifizierte Teile der beA-Client-Security geprüft und der korrekte Programmablauf nachvollzogen wurde. Quelltext-Analyse und -Audit können Schwachstellen in Soft- ware erkennen, die mit Werkzeugen des Penetrationstests nicht entdeckt werden können. Die statische Quelltext-Analyse hat in der Summe folgende Treffer mit unterschiedli- chen Einstufungen erbracht: beA-Client-Security 337 Treffer, beA-Anwendung ca. 1000 Treffer und BRAV-SEARCH 85 Treffer. Die Anzahl der Treffer an sich erlaubt keinen Rückschluss auf die Quelltext-Qualität. Die Gewichtung der Treffer erstreckt sich von ‚eher‘ kleineren Unsauberkeiten bis hin zu potentiell gravierend eingestuften Mängeln. Eine Betrachtung wurde nur von den im verwendeten Analysetool höher eingestuften Treffern vorgenommen. Mit Hilfe der statischen Quelltext-Analyse und des Quelltext-Audits wurden sechs als betriebsverhindernd eingestufte Schwachstellen gefunden. Dies bieten Angrei- fern potentielle Angriffswege an, die mit bekannten Techniken ausnutzbar sind und dem Angreifer ermöglichen, die Kontrolle über die angegriffenen Systeme zu über- nehmen. Diese Schwachstellen wurden in der Zwischenzeit beseitigt. Detailliert be- schrieben werden die gefundenen Schwachstellen in Kapitel 4. Im Rahmen der Quelltext-Analyse (teilweise unterstützt durch die Penetrationstests) wurden auch die vom Chaos Computer Club e. V. (CCC) bemängelten Schwach- stellen überprüft, die in der zum Stichtag vorliegenden Fassung von beA-Client- Security und beA-Anwendung fast alle nicht mehr vorhanden sind. Die Unterstüt- zung von aktuellen Betriebssystemen konnte noch nicht bestätigt werden. Version: 1.0                   Stand: 18.06.2018                                               Seite 10
10

Zur nächsten Seite