10. Juni 2021, 12:20
Lesezeit: ca. 4 Min

Alpaca als Konzept verstehen

Forscher der Ruhr-Universität Bochum, der Universität Paderborn sowie der Universität Münster haben schwerwiegende Sicherheitslücken bei der Implementierung von TLS-Verschlüsselungen in gängigen Internettechnologien entdeckt, die effektiv zum Aufbrechen bzw. Übernahme führen können. Für Ihr Paper haben Sie 1.4 Mio betroffene Systeme bei großen Herstellern und Hostern identifiziert.

Nach Sichtung des Papers1 und der sekundären Nachrichten und Diskussionen kann ich mit Verbindlichkeit sagen, dass ich alle empfohlenen Best-Practices seit vielen Jahren anwende und mit meinen Systemen nicht betroffen bin. Lieber nehme ich Verbindungsabweisungen in Kauf und verweigere z.B. die Authentifizierung und somit Zustellung von Mails als faule Kompromisse bei der Sicherheit einzugehen.

Ich nutze keine Cross-Domain Wildcard-Zertifikate und Zertifikate werden nicht von unterschiedliche Ports oder Anwendungen geteilt. Serverseitg werden TLS-Verbindungen mit SNI2 und ALPN3 und sicheren Ciphern erzwungen und meine Kunden nutzen mit mx.jakobs.systems einen bewusst von Ihren Domains abweichenden Namen für Ihren Mailserver ohne krude CNAME-Konstruktionen. Doch alles der Reihe nach:

Was ist Alpaca?

Um dem Kind einen Namen zu geben fassen die Forscher die gefundenen Schwachstellen unter dem Namen und Maskottchen “Alpaca” zusammen und haben eine Website veröffentlicht4. Alpaca steht dabei für “Application Layer Protocols Allowing Cross-Protocol Attacks”.

Es beschreibt keine singuläre Schwachstelle oder einen Bug in einem oder mehrerer Produkten. Noch deckt es unbekannte oder fundamentale Designschwächen auf. Am allerwenigsten lässt es sich mit einem Patch oder einem Update aus der Welt bringen.

… is not a simple software bug that can be fixed with an update to a single library or component. Instead, clients and servers need to be updated to protect the connections to other (seemingly unrelated) servers.

Das klingt alles vernebelt und nicht greifbar für alle, die in Kategorien denken: “Fehler entdeckt - Update - Fehler beseitigt”. Es ist genau dieses Mindset, das zum Teil des Fehlers wird.

Alpaca beschreibt die Komplexität des Gesamtsystems und die Fehlannahme vieler, mit Kompromissen Sicherheit herstellen zu können. Leider existiert “ein bisschen Sicherheit” nicht. Die digitale Welt in der wir uns alle bewegen ist binär. Eine Technologie oder ein Feature ist entweder sicher oder broken. Es ist von einem Serverbetreiber entweder richtig umgesetzt oder besser gar nicht da ein halbes Ergebnis keine halbe Sicherheit bringt sonder genau das Gegenteil: Mehr Unsicherheit in einem komplexen Gesamtsystem.

Alpaca ist als Konzept zu verstehen. Es adressiert neben den vielen tatsächlich greifbaren und behebbaren Implementierungsfehlern auf Client-und Serverseite hauptsächlich die fehlende Awareness und Mentalität.

This means we need to raise awareness of the issue across all TLS-enabled applications and protocols, which is a huge effort.

Wie funktioniert Alpaca?

Vereinfacht gesagt brechen die Sicherheitsforscher in eine TLS-Verbindung durch Umleitung von einem Protokoll z.B. HTTPS auf ein anderes z.B. SSMTP ein und erzwingen sowohl Code-Injection als auch eine Exfiltration von Inhalten aus dem vermeintlich gesicherten Verbindungsstrom zwischen Sender und Empfänger.

Screenshot vom Ablauf eines Alpaca-Angriffes

Das kann zum Beispiel ein kleines Javascript auf einer Website sein, die Inhalte eines Eingabeformulars mit einem Passwort oder Session-Cookie ausliest. Apps, Browser oder Email-Programme geben keine Warnungen. Begünstigende Faktoren sind Wildcard-Zertifikate, auf mehreren Ports und Anwendungen mit geteilten Zertifikate und die leider viel zu häufig anzutreffende Praxis, auf gängige Sicherheitsfeatures zu verzichten.

Aktuell schätzen die Forscher die Gefahr und Wahrscheinlichkeit für Alpaca-Angriffe noch als gering ein. Auf der kommenden Black Hat und USENIX Sicherheitsexpo werden weitere Details folgen5 und es ist in den nächsten Monaten damit zu rechnen, dass an anderen Orten Alpaca-Schwachstellen hochkochen.

We expect that the general ALPACA attack will stay with us for many years, so we have a cute animal to keep us company while we help clients and servers to adopt the suggested countermeasures!

Was ist zu tun?

Die Sicherheitsforscher empfehlen als erste Maßnahme SNI und ALPN einzurichten. Wer mit diesen Begriffen nichts anfangen kann, ist vermutlich von Alpaca betroffen. Gängige, von mir in diesem Blog vorgestellte6 Website-Scanner zur Qualitätsmessung - z.B. der SSL-Labs7 Scanner - zeigen an, ob eine TLS-Verbindung sicher eingerichtet ist. Die ersten Scanner prüfen bereits explizit auf Alpaca.8

Darüber hinaus sind gleiche Namen oder ein Sharing von Zertifikaten z.B. von Web- und Mailservern zu vermeiden. Das wird auf den massenhaft betriebenen und leider typischen Plesk-, ISPconfig-, Confixx- oder Webmin-Mietservern zu einem Problem. Die typischen KMU Microsoft Exchange Installationen dürfen sich ebenfalls angesprochen fühlen, wo nach außen gelegte Outlook Web Access Portale und EAS HTTPS-APIs zusammen mit den übrigen Ports des Mailservers eine schöne Angriffsoberfläche ergeben.

Wer konsequent mit einem Zero-Trust Mindset seine Technik betreibt, die Best-Practice Spielregeln einhält und darüber hinaus auf extern eingebundene 3rd-Party-Ressourcen und Javascripts auf seinen Websites verzichtet, der kann sich entspannt zurücklehnen.

Dieser Blog ist ein Show-Case, wie dynamische Inhalte, schöne Webschriftarten, Animationen, responsive Unterstützung verschiedener Geräte, Dark-Mode, Videoeinbindung und sogar Live-Streaming auch ohne Javascript und externer Ressourcen möglich sind.

Sicherheit muss nicht zu Lasten von Usability oder Gestaltung gehen.

In diesem Sinne,
Tomas Jakobs


  1. https://alpaca-attack.com/ALPACA.pdf ↩︎

  2. https://en.wikipedia.org/wiki/Server_Name_Indication ↩︎

  3. https://datatracker.ietf.org/doc/html/rfc7301 ↩︎

  4. https://alpaca-attack.com/ ↩︎

  5. https://www.usenix.org/conference/usenixsecurity21/presentation/brinkmann ↩︎

  6. https://blog.jakobs.systems/micro/20200816-website-qualitaet/ ↩︎

  7. https://www.ssllabs.com/ssltest/ ↩︎

  8. https://github.com/tls-attacker/TLS-Scanner ↩︎

© 2021 Tomas Jakobs - Impressum und Datenschutzhinweis