En gruppe forskere fra flere universiteter i Tyskland har udviklet en ny metodik til MITM-angreb på HTTPS, som gør det muligt at udtrække cookies med session-id’er og andre fortrolige data samt at udføre vilkårlig JavaScript-kode i konteksten af en anden hjemmeside. Angrebet er blevet døbt ALPACA og kan anvendes på TLS-servere, der implementerer forskellige applikationsprotokoller (HTTPS, SFTP, SMTP, IMAP, POP3), men bruger fælles TLS-certifikater.
Essensen af angrebet ligger i, at hvis en angriber har kontrol over en netværksgateway eller et trådløst adgangspunkt, kan vedkommende omdirigere webtrafikken til en anden netværksport og etablere en forbindelse til en FTP- eller mailserver, som understøtter TLS-kryptering og bruger et fælles TLS-certifikat med HTTP-serveren, hvorved browseren vil tro, at der er etableret forbindelse til den ønskede HTTP-server. Da TLS-protokollen er universel og ikke er knyttet til applikationsprotokoller, er etableringen af en krypteret forbindelse identisk for alle tjenester, og en fejl i at sende en anmodning til den forkerte tjeneste kan kun identificeres efter oprettelsen af den krypterede session under håndteringen af de sendte anmodningskommandoer.
Hvis eksempelvis forbindelsen fra brugeren, der oprindeligt var rettet mod HTTPS, omdirigeres til en mailserver, der bruger det samme certifikat som HTTPS-serveren, vil TLS-forbindelsen blive etableret med succes, men mailserveren vil ikke kunne behandle de modtagne HTTP-kommandoer og returnere et svar med en fejlkode. Dette svar vil blive behandlet af browseren som et svar fra den anmodede hjemmeside, sendt gennem den korrekt etablerede krypterede kommunikationskanal.
Der er foreslået tre varianter af angrebet:
- «Upload» til at hente cookies med autentificeringsparametre. Metoden kan anvendes, hvis det FTP-server, der er omfattet af TLS-certifikatet, tillader upload og udtrækning af sine data. I denne variant af angrebet kan angriberen opnå at bevare dele af den oprindelige HTTP-anmodning fra brugeren, såsom indholdet af cookie-headeren, hvis FTP-serveren for eksempel fortolker anmodningen som en fil til opbevaring eller fuldt logger indkommende anmodninger. For at angrebet skal være vellykket, kræves det, at angriberen på en eller anden måde kan udtrække det gemte indhold. Angrebet kan anvendes mod Proftpd, Microsoft IIS, vsftpd, filezilla og serv-u.
- «Download» til at organisere mellemwebscripting (XSS). Metoden indebærer, at angriberen som følge af nogle specifikke manipulationer kan placere data i en service, der bruger fælles TLS-certifikat, som derefter kan returneres som svar på brugerens anmodning. Angrebet er anvendeligt mod de førnævnte FTP-servere, IMAP-servere og POP3-servere (courier, cyrus, kerio-connect og zimbra).
- «Reflection» til at køre JavaScript i konteksten af en anden hjemmeside. Metoden er baseret på at returnere en del af anmodningen til klienten, der indeholder den JavaScript-kode, som angriberen har sendt. Angrebet kan anvendes mod de førnævnte FTP-servere, IMAP-servere cyrus, kerio-connect og zimbra, samt SMTP-serveren sendmail.

For eksempel, når en bruger åbner en side, der er kontrolleret af angriberen, kan der fra denne side initieres en anmodning om en ressource fra et websted, hvor brugeren har en aktiv konto (for eksempel bank.com). Under et MITM-angreb kan denne anmodning, der er rettet mod webstedet bank.com, omdirigeres til en mailserver, der bruger et fælles TLS-certifikat med bank.com. Da mailserveren ikke afslutter sessionen efter den første fejl, vil kontroloverskrifter og kommandoer, såsom «POST / HTTP/1.1» og «Host:», blive behandlet som ukendte kommandoer (mailserveren vil returnere «500 unrecognized command» for hver overskrift).
Mailserveren forstår ikke protokolens særlige funktioner, og for den behandles kontroloverskrifterne og data-blokke i POST-anmodningen ens, så i kroppen af POST-anmodningen kan man angive en streng med en kommando til mailserveren. For eksempel kan man overføre: MAIL FROM: hvorefter mailserveren vil returnere en fejlmeddelelse 501 : malformed address: alert(1); may not follow
Dette svar vil blive modtaget af brugerens browser, som udfører JavaScript-kode i konteksten af det angrebne website, men ikke det oprindeligt åbnede site, men site bank.com, som forespørgslen blev sendt til, da svaret kom inden for en korrekt TLS-session, hvis certifikat bekræftede ægtheden af svaret fra bank.com.

Scanning af det globale netværk har vist, at omkring 1,4 millioner webservere generelt er udsat for dette problem, hvor det er muligt at udføre angreb ved at blande anmodninger over forskellige protokoller. Den reelle mulighed for at udføre angreb er blevet fastlagt for 119.000 webservere, hvor der var tilknyttede TLS-servere baseret på andre applikationsprotokoller.
Eksempler på exploiter er forberedt til FTP-servere som pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla og serv-u, IMAP- og POP3-servere som dovecot, courier, exchange, cyrus, kerio-connect og zimbra, SMTP-servere som postfix, exim, sendmail, mailenable, mdaemon og opensmtpd. Forskere har undersøgt muligheden for at udføre angreb kun i kombination med FTP-, SMTP-, IMAP- og POP3-servere, idet det dog ikke kan udelukkes, at problemet også kan manifestere sig for andre applikationsprotokoller, der bruger TLS.

For at blokere angreb anbefales det at bruge udvidelsen ALPN (Application Layer Protocol Negotiation) til at forhandle TLS-sessionen under hensyntagen til applikationsprotokollen og udvidelsen SNI (Server Name Indication) til at knytte til værtsnavnet i tilfælde af brug af TLS-certifikater, der dækker flere. domenenavnePå applikationssiden anbefales det at begrænse antallet af fejl ved behandling af kommandoer, hvorefter forbindelsen brydes. Processen med at udvikle foranstaltninger til at blokere angrebet begyndte allerede i oktober sidste år. Lignende foranstaltninger til beskyttelse er allerede vedtaget 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
