Zur Navigation Zur Suche Zum Inhalt
Kontakt

Penetration-Test: Keine Sicherheitslücken in Docugate API

Markus Estermann
Keine Sicherheitslücke Docugate_Blogbeitrag

Im Auftrag unseres Kunden hat eine auf Sicherheitslücken in Cloud-Technologien spezialisierte Sicherheitsfirma Docugate einem Penetration-Test unterzogen. Das Ziel des Penetration Test war es, Sicherheitslücken, Schwachstellen und Verstösse gegen bewährte Verfahren oder gesetzliche Vorschriften aufzudecken.

Ergebnis

Vorweg sei gesagt: Docugate hat den Penetration-Test auch diesmal mit Bravour bestanden. Somit hat sich unser eigener Anspruch an Sicherheit in der Cloud bestätigt. Von den Risikofaktoren Kritisch, Hoch, Medium, Tief und Beobachtungsereignisse wurden lediglich zwei Punkte von letzterem entdeckt. 

Risikofaktor Anzahl Issues
Kritisch 0
Medium 0
Tief 0
Beobachtungsereignisse 2

Beobachtungsergebnisse beziehen sich in erster Linie auf die Nichteinhaltung von Vorschriften, bewährten Sicherheitspraktiken oder werden als zusätzliches Sicherheitsmerkmal betrachtet, das die Sicherheit der Umgebung erhöhen würde. Beobachtungsfeststellungen haben keinen Einfluss aufs System und deshalb auch keinen Bewertungs-Score. Alle Systeme innerhalb des Geltungsbereichs, die mindestens eine Sicherheitsschwäche aufweisen würden, hätten direkt das Ergebnis "Kritisch" erhalten.

Wie wurde getestet?

Die Penetrationstests wurden aus der Perspektive von authentifizierten und nicht authentifizierten Benutzern durchgeführt. Vor Testbeginn wurden der Sicherheitsfirma lediglich Authentifizierungsdetails bereitgestellt (= Grey-Box-Testing). Die weiteren Testverfahren erfolgten nach dem Black-Box-Testing Ansatz.

Zunächst wurde der von den Docugate-API-Diensten verwendete Software-Stack anhand der erforderlichen regulatorischen Standards und bewährten Sicherheitsverfahren modelliert. Darauf basierend wurden Testfälle erstellt, welche diese Standards erfüllen. 
Der Penetration-Test wurde in Anlehnung an den OWASP Web Application Testing Guide durchgeführt. Der Testlauf deckte keine Sicherheitslücken auf. Verschiedene Arten von «Injection-Tests» wurden ebenfalls ohne Erfolg ausgeführt. Der Server gab jeweils eine Standardfehlermeldung aus, die keine Backend-Informationen enthielt. 

Ergebnisse im Detail

Bei den beiden bemerkten Beobachtungsereignissen handelt es sich um folgende Punkte:

Input Validation

Unter "Input Validation" versteht man das Prüfen von über die API angelieferten Zeichenformen und -Typen. 

Es wurde festgestellt, dass beim Übermitteln von Daten für die Dokumentenerstellung Sonderzeichen mitgesendet werden können. Hier anhand des Beispiels des Geburtsdatums in Rot:

JSON-Daten mit injected Code

Die gesendeten Zeichen wurden nicht zusätzlich überprüft und anschliessend von Docugate auf das erstellte PDF-Dokument übernommen und gedruckt.

Statement Leuchter

Docugate bietet eine Cloud-Plattform für die Generierung einer Vielzahl von Dokumenten unterschiedlicher Natur. Diese Dokumente können mit Input-Feldern versehen und mit Daten befüllt werden. Docugate kann und darf keine generellen Annahmen über den Inhalt dieser Felder treffen. Häufig sind Sonderzeichen in den Daten enthalten und sollen bewusst auf ein Dokument gedruckt werden. 

Mit den angelieferten Sonderzeichen wurde versucht, Code zu «injecten» oder Serverinformationen auszulesen. Docugate «rendert» solche Informationen jedoch nicht und somit deckten sie weder eine technische Schwachstelle auf, noch hatten sie ein Fehlverhalten von Docugate zur Folge. Die Zeichen wurden einfach – wie erwartet – eins zu eins als Dokumentinhalt dargestellt.

Eine Validierung der angelieferten Daten ist somit grundsätzlich unnötig. Trotzdem ist sie sinnvoll, sie wird daher an die aufrufende Stelle delegiert, den einzigen Punkt, der anhand von Domänenwissen entscheiden kann, welche Felder mit welcher Art von Daten befüllt werden dürfen.

Die Erweiterung von Docugate um eine server-seitige Input-Validierungen von Textfeldern (beispielsweise mit Regular Expressions) ist aktuell nicht vorgesehen. Sollte Ihnen dieses Feature einen grossen Mehrwert bieten, können Sie uns gerne kontaktieren.

Fehlendes HSTS 'preload' Flag

HTTP Strict Transport Security (HSTS) ist eine Sicherheitserweiterung, die von einer Webanwendung durch die Aufnahme des Headers "Strict-Transport-Security" in die HTTP-Antwort angegeben wird.

Das optional im Header enthaltene ‘preload’ Flag zeigt das Einverständnis des Webseiteneigentümers mit dem Preload der Seite. Nach einem ersten Aufruf der Webseite wird der Browser für die spezifizieret Zeitdauer (normalerweise 1 Jahr) nur mit einer verschlüsselten Verbindung (HTTPS) auf die Webseite zugreifen – auch wenn ein User per HTTP zugreifen möchte.

Im Penetration-Test wurde festgestellt, dass der HSTS-Header nicht bei allen APIs, die in den Anwendungsbereich fallen, das Preload-Flag enthalten.

Statement Leuchter

Docugate antwortet bereits heute mit dem HSTS-Header, das ‘preload’-Flag ist in diesem Header jedoch bisher nicht enthalten. Serverseitig verwendet Docugate bereits eine automatische Weiterleitung von HTTP-Anfragen zu HTTPS. Somit kann bereits heute nicht per unverschlüsselter Verbindung auf Docugate zugegriffen werden.

Obwohl dies serverseitig sichergestellt ist, möchten wir die Security unserer Software transparent nachweisen. In naher Zukunft wird das HSTS-Preloading für Docugate aktiviert und die Domain ‘docugate.cloud’ in Chrome’s HSTS-Preload-Liste hinzugefügt. Dadurch wird bereits vor dem ersten Besuch der Webseite browserseitig sichergestellt, dass der Verbindungsaufbau per HTTPS abläuft.

Fazit

Durch das erfreuliche Ergebnis des Penetration-Tests kann beim Kunden der Rollout von Docugate fortgesetzt werden. 
Unser eigener Anspruch auf Datensicherheit im Web ist sehr hoch und dementsprechend haben wir auch Docugate konzipiert und entwickelt - und halten es aktuell. Ein weiteres Mal wurde uns mit diesem Penetration-Test von einer unabhängigen Firma bestätigt, dass Docugate Ihre Daten optimal schützt und keine Sicherheitslücken aufweist.

Mehr zum Penetration-Test erfahren

Mehr zum Thema Datensicherheit finden Sie in unseren vergangenen Blogbeiträgen 

Möchten Sie mit uns über die Details des Penetration-Test sprechen? Oder generell mehr über unsere Vorlagenmanagement- und Dokumenterstellungslösung Docugate erfahren? Dann melden Sie sich ungeniert bei uns!

Sollten Sie technische Fragen oder ein «Aber…» haben, stehen Ihnen unsere Techniker unter servicedesk@docugate.ch zur Verfügung.