IT Security Summit 2020
23. -25. November 2020 | Online
Das große Trainings- und Konferenzevent für IT-Security

Canitrust.in Workshop – Browser-Security in der Tiefe

Workshop
Infos
Mittwoch, 25. November 2020
14:00 - 17:15

Moderne Frameworks versuchen Entwicklern möglichst viele Aufgaben hinsichtlich der funktionalen Unterstützung in den verbreiteten Browsern und ihren Versionen abzunehmen. Ergeben sich hier für den zu supportenden Browser-Stack grundsätzlichere Fragestellungen, helfen Dienste, wie beispielsweise caniuse.com.

Bei der Verwendung und Konfiguration von in den Browser eingebauter Security-Features, wie z.B. HTTP-Security-Header, kann man meist ebenfalls auf eine gute Framework-Integration zurückgreifen. Es erfolgt oft sogar eine auto-„magische“ Konfiguration nach dem Common-Sense oder man kann das Feature zumindest über einfache API-Calls aktivieren und konfigurieren.
Dieses Verhalten gilt für alle Komponenten einer modernen, meist vielschichtigen Anwendungsarchitektur und so kommt es in der Praxis hin und wieder zu Situationen, wo sich im HTTP-Response beispielsweise

• zwei unterschiedlich konfigurierte Security-Header des gleichen Typs befinden
• zwei unterschiedliche Header bei einem Browser-Security-Feature konkurrieren und unterschiedliche Aussagen treffen (z.B. HSTS vs. CSP).

Aktivierte Security-Features mit ihren teilweise sehr komplexen Einstellmöglichkeiten, resultieren im heutigen, höchst heterogen Browser-Ökosystem zudem oft zu unterschiedlichsten „Interpretationen“. Diese sind im einfachsten Fall, z.B. ob ein Header unterstützt wird oder nicht, auch auf caniuse.com dokumentiert. Geht es, wie oben ausgeführt, tiefer ins Detail, findet man oft nur unzureichende oder gar keine Auskunft.

Analog dazu stoßen Penetration-Tester und Security-Enthusiasten in der Praxis oft auch an weitere ähnlich gelagerten Fragestellungen, die sich jedoch nicht mal so nebenbei mit geringem Aufwand testen lassen – schon gar nicht für eine größere Menge von Browsern.

An dieser Stelle kommt der neue Open-Source Dienst canitrust.in ins Spiel, der erstens eine Datenbank mit Informationen über derartiges „Grenzverhalten“ bereitstellt und es zweitens auf einfache Weise ermöglicht, eigene Fragestellungen zu formulieren, gegen lokal verfügbare Browser zu testen und – wenn man möchte – am Ende seinen Testfall per Pull-Request der Allgemeinheit zur Verfügung zu stellen.

Für Browser-Security-Features mit hinterlegten Tests können so auch Implementierungsfehler in neuen Browsern und Browser-Versionen zuverlässig und vollautomatisiert erkannt werden.
Im Workshop beleuchten wir die zugrundeliegende Architektur und Funktionsweise von canitrust.in, erstellen in Hands-On-Beispielen gemeinsam exemplarische Tests und führen diese gegen lokal verfügbare Browser aus. Dabei beantworten wir spezialisierte Security-Fragen, die, wenn sie unbeantwortet blieben, im schlimmeren Fall als Geheimwaffe im Arsenal von versierten Angreifern landen und im besseren Fall als „was, das geht auch?“-Finding im nächsten Pentest-Bericht auftauchen würden.

Bitte vorab installieren:

  • docker
  • docker-compose
  • GIT-Client

Optional:

  • ​Python IDE (z.B. Visual Studio Coder oder PyCharm)

Alle News zum IT Security Summit