ALPACA — neue Technik für MITM-Angriffe auf HTTPS

Eine Gruppe von Forschern aus mehreren Universitäten in Deutschland hat eine neue Methode für MITM-Angriffe auf HTTPS entwickelt, die es ermöglicht, Cookies mit Sitzungsidentifikatoren und andere vertrauliche Daten zu extrahieren sowie die Ausführung beliebigen JavaScript-Codes im Kontext einer anderen Website zu erreichen. Der Angriff trägt den Namen ALPACA und kann auf TLS-Server angewendet werden, die verschiedene Anwendungsprotokolle (HTTPS, SFTP, SMTP, IMAP, POP3) implementieren, jedoch gemeinsame TLS-Zertifikate verwenden.

Der Kern des Angriffs besteht darin, dass ein Angreifer, der die Kontrolle über ein Netzwerk-Gateway oder einen Wireless Access Point hat, den Webverkehr auf einen anderen Netzwerkport umleiten und eine Verbindung zu einem FTP- oder Mailserver herstellen kann, der TLS-Verschlüsselung unterstützt und dasselbe TLS-Zertifikat wie der HTTP-Server verwendet. Der Browser des Benutzers wird dann glauben, dass eine Verbindung mit dem angeforderten HTTP-Server hergestellt wurde. Da das TLS-Protokoll universell ist und nicht an Anwendungsprotokolle gebunden ist, ist die Einrichtung einer verschlüsselten Verbindung für alle Dienste identisch, und ein Fehler bei der Anfrage an den falschen Dienst kann erst nach der Einrichtung der verschlüsselten Sitzung während der Verarbeitung der gesendeten Anfrage festgestellt werden.

Wenn beispielsweise eine Verbindung des Benutzers, die ursprünglich an HTTPS gerichtet war, auf einen Mailserver umgeleitet wird, der dasselbe Zertifikat wie der HTTPS-Server verwendet, wird die TLS-Verbindung erfolgreich hergestellt, aber der Mailserver kann die übermittelten HTTP-Befehle nicht verarbeiten und gibt eine Fehlermeldung zurück. Diese Antwort wird vom Browser als Antwort der angeforderten Website behandelt, die innerhalb eines korrekt eingerichteten verschlüsselten Kommunikationskanals übermittelt wird.

Drei Varianten des Angriffs wurden vorgeschlagen:

  • „Upload“ zum Extrahieren von Cookies mit Authentifizierungsparametern. Diese Methode ist anwendbar, wenn der mit einem TLS-Zertifikat gesicherte FTP-Server das Hochladen und Extrahieren seiner Daten zulässt. In diesem Angriffsszenario kann der Angreifer Teile der ursprünglichen HTTP-Anfrage des Benutzers speichern, wie z. B. den Inhaltsbereich des Cookie-Headers, insbesondere wenn der FTP-Server die Anfrage als Datei zum Speichern interpretiert oder vollständig eingehende Anfragen protokolliert. Für einen erfolgreichen Angriff muss der Angreifer das gespeicherte Inhaltsmaterial irgendwie extrahieren. Der Angriff ist anwendbar auf Proftpd, Microsoft IIS, vsftpd, filezilla und serv-u.
  • „Download“ zur Durchführung von Cross-Site-Scripting (XSS). Diese Methode beinhaltet, dass der Angreifer durch einige gezielte Manipulationen Daten in einem Dienst platzieren kann, der eine gemeinsame TLS-Zertifikat, die dann als Antwort auf die Anfrage des Benutzers ausgegeben werden kann. Der Angriff ist anwendbar auf die oben genannten FTP-Server, IMAP-Server und POP3-Server (courier, cyrus, kerio-connect und zimbra).
  • „Reflection“ zur Ausführung von JavaScript im Kontext einer anderen Website. Diese Methode basiert auf der Rückgabe eines Teils der Anfrage an den Client, in der der vom Angreifer gesendete JavaScript-Code enthalten ist. Der Angriff ist anwendbar auf die oben genannten FTP-Server, IMAP-Server cyrus, kerio-connect und zimbra, sowie auf den SMTP-Server sendmail.

ALPACA - eine neue Technik von MITM-Angriffen auf HTTPS

Beispielsweise kann beim Öffnen einer von einem Angreifer kontrollierten Seite durch den Benutzer eine Anfrage an eine Ressource auf einer Website initiiert werden, auf der der Benutzer ein aktives Konto hat (z. B. bank.com). Im Verlauf eines MITM-Angriffs kann diese Anfrage, die an die Website bank.com gerichtet ist, auf den Mailserver umgeleitet werden, der ein gemeinsames TLS-Zertifikat mit bank.com verwendet. Da der Mailserver die Sitzung nach dem ersten Fehler nicht beendet, werden Steuerheader und Befehle wie „POST / HTTP/1.1“ und „Host:“ als unbekannte Befehle behandelt (der Mailserver gibt auf jeden Header „500 unrecognized command“ zurück).

Der Mailserver analysiert nicht die Besonderheiten des HTTP-Protokolls, und für ihn werden Steuerheader und der Datenblock der POST-Anfrage gleich behandelt. Daher kann im Körper der POST-Anfrage eine Zeile mit einem Befehl an den Mailserver angegeben werden. Zum Beispiel kann man übermitteln: MAIL FROM: worauf der Mailserver die Fehlermeldung 501 : malformed address: alert(1); may not follow

Diese Antwort wird vom Browser des Benutzers empfangen, der den JavaScript-Code im Kontext einer nicht ursprünglich geöffneten Angreifer-Website, sondern der Website bank.com, ausgeführt hat, auf die die Anfrage gesendet wurde, da die Antwort innerhalb einer korrekten TLS-Session kam, deren Zertifikat die Authentizität der Antwort von bank.com bestätigt hat.

ALPACA - eine neue Technik von MITM-Angriffen auf HTTPS

Die Untersuchung des globalen Netzwerks hat gezeigt, dass etwa 1,4 Millionen Webserver allgemein von dem Problem betroffen sind, bei denen Angriffe durch das Mischen von Anfragen über verschiedene Protokolle möglich sind. Die Möglichkeit eines tatsächlichen Angriffs wurde für 119.000 Webserver festgestellt, bei denen begleitende TLS-Server anderer Anwendungsprotokolle vorhanden waren.

Beispiele für Exploits wurden für FTP-Server wie pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla und serv-u, IMAP- und POP3-Server wie dovecot, courier, exchange, cyrus, kerio-connect und zimbra sowie SMTP-Server wie postfix, exim, sendmail, mailenable, mdaemon und opensmtpd vorbereitet. Die Forscher haben die Möglichkeit eines Angriffs nur in Kombination mit FTP-, SMTP-, IMAP- und POP3-Servern untersucht, wobei nicht ausgeschlossen wird, dass das Problem auch für andere Anwendungsprotokolle, die TLS verwenden, auftreten kann.

ALPACA - eine neue Technik von MITM-Angriffen auf HTTPS

Zur Blockierung des Angriffs wird empfohlen, die ALPN (Application Layer Protocol Negotiation) Erweiterung zur Aushandlung der TLS-Session unter Berücksichtigung des Anwendungsprotokolls und die SNI (Server Name Indication) Erweiterung zur Bindung an den Hostnamen bei Verwendung von TLS-Zertifikaten, die mehrere umfassen, zu verwenden. DomainnamenAuf der Anwendungsseite wird empfohlen, das Limit für die Anzahl von Fehlern bei der Verarbeitung von Befehlen zu beschränken, nach dessen Erreichen die Verbindung getrennt wird. Der Prozess zur Entwicklung von Maßnahmen zur Blockierung des Angriffs begann bereits im Oktober letzten Jahres. Solche Schutzmaßnahmen wurden bereits in Nginx 1.21.0 (Mail-Proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) und Internet Explorer umgesetzt.

Quelle: opennet.ru

60GB SSD 8Gb DDR4