ALPACA - en ny teknik til MITM-angreb på HTTPS

Et team af forskere fra flere universiteter i Tyskland har udviklet et nyt MITM-angreb på HTTPS, der kan udtrække sessionscookies og andre følsomme data, samt udføre vilkårlig JavaScript-kode i sammenhæng med et andet websted. Angrebet kaldes ALPACA og kan anvendes på TLS-servere, der implementerer forskellige applikationslagsprotokoller (HTTPS, SFTP, SMTP, IMAP, POP3), men bruger almindelige TLS-certifikater.

Essensen af ​​angrebet er, at hvis han har kontrol over en netværksgateway eller et trådløst adgangspunkt, kan angriberen omdirigere webtrafik til en anden netværksport og organisere etableringen af ​​en forbindelse med en FTP- eller mailserver, der understøtter TLS-kryptering og bruger en TLS-certifikat, der er fælles for HTTP-serveren, og brugerens browser vil antage, at der er oprettet forbindelse til den anmodede HTTP-server. Da TLS-protokollen er universel og ikke er bundet til protokoller på applikationsniveau, er etableringen af ​​en krypteret forbindelse for alle tjenester identisk, og fejlen ved at sende en anmodning til den forkerte tjeneste kan kun bestemmes efter etablering af en krypteret session under behandling af kommandoer for den sendte anmodning.

Hvis du f.eks. omdirigerer en brugerforbindelse, der oprindeligt er adresseret til HTTPS, til en mailserver, der bruger et certifikat, der er delt med HTTPS-serveren, vil TLS-forbindelsen blive etableret med succes, men mailserveren vil ikke være i stand til at behandle den transmitterede HTTP-kommandoer og vil returnere et svar med fejlkode. Dette svar vil blive behandlet af browseren som et svar fra det anmodede websted, transmitteret inden for en korrekt etableret krypteret kommunikationskanal.

Der foreslås tre angrebsmuligheder:

  • "Upload" for at hente en cookie med godkendelsesparametre. Metoden er anvendelig, hvis FTP-serveren, der er omfattet af TLS-certifikatet, tillader dig at uploade og hente dens data. I denne angrebsvariant kan angriberen opnå tilbageholdelse af dele af brugerens oprindelige HTTP-anmodning, såsom indholdet af cookie-headeren, for eksempel, hvis FTP-serveren fortolker anmodningen som en gemmefil eller logger indgående anmodninger fuldstændigt. For at angribe med succes skal angriberen derefter på en eller anden måde udtrække det lagrede indhold. Angrebet gælder for Proftpd, Microsoft IIS, vsftpd, filezilla og serv-u.
  • "Download" til at organisere cross-site scripting (XSS). Metoden indebærer, at angriberen, som et resultat af nogle individuelle manipulationer, kan placere data i en tjeneste, der bruger et fælles TLS-certifikat, som derefter kan udstedes som svar på en brugeranmodning. Angrebet er gældende for ovennævnte FTP-servere, IMAP-servere og POP3-servere (courier, cyrus, kerio-connect og zimbra).
  • "Reflektion" for at køre JavaScript i sammenhæng med et andet websted. Metoden er baseret på at returnere til klientdelen af ​​anmodningen, som indeholder JavaScript-koden sendt af angriberen. Angrebet kan anvendes på de ovennævnte FTP-servere, cyrus-, kerio-connect og zimbra IMAP-serverne samt sendmail SMTP-serveren.

ALPACA - en ny teknik til MITM-angreb på HTTPS

For eksempel, når en bruger åbner en side kontrolleret af en hacker, kan denne side starte 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 adresseret til bank.com-webstedet omdirigeres til en e-mail-server, der bruger et TLS-certifikat, der deles med bank.com. Da mailserveren ikke afslutter sessionen efter den første fejl, vil serviceoverskrifter og kommandoer som "POST / HTTP/1.1" og "Host:" blive behandlet som ukendte kommandoer (mailserveren returnerer "500 unrecognized command" for hver overskrift).

Mailserveren forstår ikke funktionerne i HTTP-protokollen, og for den behandles serviceheaderne og datablokken for POST-anmodningen på samme måde, så i POST-anmodningens brødtekst kan du angive en linje med en kommando til mailserveren. For eksempel kan du sende: MAIL FRA: alert(1); hvortil mailserveren vil returnere en 501 fejlmeddelelse alert(1); : forkert udformet adresse: advarsel(1); kan ikke følge

Dette svar vil blive modtaget af brugerens browser, som vil udføre JavaScript-koden i sammenhængen, ikke i konteksten af ​​hackerens oprindeligt åbne websted, men af ​​bank.com-webstedet, som anmodningen blev sendt til, da svaret kom inden for en korrekt TLS-session , hvis certifikat bekræftede ægtheden af ​​bank.com-svaret.

ALPACA - en ny teknik til MITM-angreb på HTTPS

En scanning af det globale netværk viste, at generelt er omkring 1.4 millioner webservere berørt af problemet, for hvilke det er muligt at udføre et angreb ved at blande anmodninger ved hjælp af forskellige protokoller. Muligheden for et reelt angreb blev bestemt for 119 tusind webservere, for hvilke der var ledsagende TLS-servere baseret på andre applikationsprotokoller.

Eksempler på exploits er blevet udarbejdet til ftp-servere pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla og serv-u, IMAP- og POP3-servere dovecot, courier, exchange, cyrus, kerio-connect og zimbra, SMTP-servere postfix, exim, sendmail , mailenable, mdaemon og opensmtpd. Forskere har undersøgt muligheden for kun at udføre et angreb i kombination med FTP-, SMTP-, IMAP- og POP3-servere, men det er muligt, at problemet også kan opstå for andre applikationsprotokoller, der bruger TLS.

ALPACA - en ny teknik til MITM-angreb på HTTPS

For at blokere angrebet foreslås det at bruge udvidelsen ALPN (Application Layer Protocol Negotiation) til at forhandle en TLS-session under hensyntagen til applikationsprotokollen og SNI-udvidelsen (Server Name Indication) for at binde til værtsnavnet i tilfælde af brug TLS-certifikater, der dækker flere domænenavne. På applikationssiden anbefales det at begrænse grænsen for antallet af fejl ved behandling af kommandoer, hvorefter forbindelsen afbrydes. Processen med at udvikle foranstaltninger til at blokere angrebet begyndte i oktober sidste år. Lignende sikkerhedsforanstaltninger er allerede taget i Nginx 1.21.0 (mail proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) og Internet Explorer.

Kilde: opennet.ru

Tilføj en kommentar