En gruppe forskere fra flere universiteter i Tyskland har utviklet en ny metode for MITM-angrep pÄ HTTPS, som gir mulighet for Ä hente ut informasjonskapsler med sesjons-IDer og annen konfidensiell informasjon, samt oppnÄ utfÞrelse av vilkÄrlig JavaScript-kode i konteksten av en annen nettside. Angrepet har fÄtt navnet ALPACA og kan brukes mot TLS-servere som implementerer ulike applikasjonsprotokoller (HTTPS, SFTP, SMTP, IMAP, POP3), men som benytter felles TLS-sertifikater.
Essensen av angrepet er at nÄr man har kontroll over en nettverksgateway eller et trÄdlÞst tilgangspunkt, kan angriperen omdirigere webtrafikk til en annen nettverksport og etablere en tilkobling til en FTP- eller e-postserver som stÞtter TLS-kryptering og bruker et felles TLS-sertifikat med HTTP-serveren, og brukerens nettleser vil tro at en tilkobling er opprettet med den forespurte HTTP-serveren. Siden TLS-protokollen er universell og ikke knyttet til applikasjonsprotokoller, er opprettelsen av en kryptert tilkobling for alle tjenester identisk, og en feil sending av forespÞrsel til feil tjeneste kan kun oppdages etter opprettelsen av den krypterte Þkten under behandlingen av kommandoene i den sendte forespÞrselen.
Dermed, hvis man for eksempel omdirigerer en tilkobling som opprinnelig var ment for HTTPS, til en e-postserver som bruker et felles TLS-sertifikat med HTTPS-serveren, vil TLS-tilkoblingen bli vellykket opprettet, men e-postserveren vil ikke kunne hÄndtere de sendte HTTP-kommandoene og vil returnere et svar med feilkode. Dette svaret vil bli behandlet av nettleseren som et svar fra den forespurte nettsiden, sendt innenfor et korrekt opprettet kryptert kommunikasjonskanal.
Tre angrepsmetoder er foreslÄtt:
- «Upload» for extracting cookies with authentication parameters. This method is applicable if the FTP server covered by the TLS certificate allows the upload and extraction of its data. In this type of attack, the attacker can achieve the retention of parts of the original HTTP request from the user, such as the content of the Cookie header, for example, if the FTP server interprets the request as a file for saving or completely logs incoming requests. For a successful attack, the attacker then needs to somehow extract the saved content. The attack applies to Proftpd, Microsoft IIS, vsftpd, filezilla, and serv-u.
- «Download» for organizing cross-site scripting (XSS). This method implies that the attacker, as a result of certain manipulations, can place data into a service that uses a common TLS certificate, which can then be issued in response to a user request. The attack applies to the aforementioned FTP servers, IMAP servers, and POP3 servers (courier, cyrus, kerio-connect, and zimbra).
- «Reflection» for executing JavaScript in the context of another site. This method is based on returning to the client part of the request that contains the JavaScript code sent by the attacker. The attack applies to the aforementioned FTP servers, IMAP servers (cyrus, kerio-connect, and zimbra), as well as the SMTP server sendmail.

For example, when a user opens a page controlled by the attacker, a request for a resource can be initiated from that page to a site where the user has an active account (for instance, bank.com). During a MITM attack, this request directed at the web site bank.com can be redirected to the mail server, which uses the same TLS certificate as bank.com. Since the mail server does not terminate the session after the first error, service headers and commands, such as «POST / HTTP/1.1» and «Host:», will be processed as unknown commands (the mail server will return «500 unrecognized command» for each header).
The mail server does not parse the specifics of the HTTP protocol, so it processes service headers and the POST request data block uniformly, which means that a command string can be specified in the body of the POST request. For example, one could transmit: MAIL FROM: to which the mail server will return an error message 501 : malformed address: alert(1); may not follow
Dette svaret vil bli mottatt av brukerens nettleser, som kjÞrer JavaScript-kode i konteksten til en annen nettside enn den som opprinnelig ble Äpnet av angriperen, men pÄ nettsiden bank.com, som forespÞrselen ble sendt til, ettersom svaret kom i en gyldig TLS-Þkt, hvis sertifikat bekreftet autentisiteten til svaret fra bank.com.

Skanning av det globale nettet har vist at problemet generelt pÄvirker omtrent 1,4 millioner webservere, som kan vÊre utsatt for angrep som blander forespÞrselene over forskjellige protokoller. Muligheten for reelle angrep er bekreftet for 119 000 webservere, som hadde tilknyttede TLS-servere basert pÄ andre applikasjonsprotokoller.
Eksempler pÄ utnyttelser er forberedt for ftp-serverne pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla og serv-u, IMAP- og POP3-serverne dovecot, courier, exchange, cyrus, kerio-connect og zimbra, SMTP-serverne postfix, exim, sendmail, mailenable, mdaemon og opensmtpd. Forskere har undersÞkt muligheten for Ä utfÞre angrepet kun i forbindelse med FTP-, SMTP-, IMAP- og POP3-servere, men det er ikke utelukket at problemet ogsÄ kan vise seg for andre applikasjonsprotokoller som bruker TLS.

For Ä blokkere angrepet foreslÄs det Ä bruke ALPN-utvidelsen (Application Layer Protocol Negotiation) for Ä forhandle TLS-Þkten med tanke pÄ applikasjonsprotokollen, og SNI-utvidelsen (Server Name Indication) for Ä knytte seg til vertsnavnet i tilfelle TLS-sertifikater dekker flere. domenerPÄ applikasjonsnivÄ anbefales det Ä begrense antallet feil under behandling av kommandoer, hvoretter forbindelsen bÞr brytes. Arbeidet med tiltak for Ä blokkere angrepet startet allerede i oktober i fjor. Lignende tiltak for beskyttelse er allerede implementert i Nginx 1.21.0 (mail proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZilla, crypto/tls (Go) og Internet Explorer.
Kilde: opennet.ru
