ALPACA - en ny teknik för MITM-attacker på HTTPS

Ett team av forskare från flera universitet i Tyskland har utvecklat en ny MITM-attack mot HTTPS som kan extrahera sessionscookies och annan känslig data, samt exekvera godtycklig JavaScript-kod i sammanhanget av en annan webbplats. Attacken kallas ALPACA och kan appliceras på TLS-servrar som implementerar olika applikationslagerprotokoll (HTTPS, SFTP, SMTP, IMAP, POP3), men använder vanliga TLS-certifikat.

Kärnan i attacken är att om han har kontroll över en nätverksgateway eller trådlös åtkomstpunkt kan angriparen omdirigera webbtrafik till en annan nätverksport och organisera upprättandet av en anslutning med en FTP- eller e-postserver som stöder TLS-kryptering och använder en TLS-certifikat som är gemensamt med HTTP-servern och användarens webbläsare kommer att anta att en anslutning har upprättats med den begärda HTTP-servern. Eftersom TLS-protokollet är universellt och inte är knutet till protokoll på applikationsnivå, är upprättandet av en krypterad anslutning för alla tjänster identisk och felet att skicka en begäran till fel tjänst kan fastställas först efter att en krypterad session har upprättats under bearbetning av kommandon för den skickade begäran.

Följaktligen, om du till exempel omdirigerar en användaranslutning som ursprungligen var adresserad till HTTPS till en e-postserver som använder ett certifikat som delas med HTTPS-servern, kommer TLS-anslutningen att upprättas framgångsrikt, men e-postservern kommer inte att kunna behandla den överförda HTTP-kommandon och kommer att returnera ett svar med felkod. Detta svar kommer att bearbetas av webbläsaren som ett svar från den begärda webbplatsen, överfört inom en korrekt etablerad krypterad kommunikationskanal.

Tre attackalternativ föreslås:

  • "Ladda upp" för att hämta en cookie med autentiseringsparametrar. Metoden är tillämplig om FTP-servern som täcks av TLS-certifikatet tillåter dig att ladda upp och hämta dess data. I denna attackvariant kan angriparen behålla delar av användarens ursprungliga HTTP-förfrågan, såsom innehållet i Cookie-huvudet, till exempel, om FTP-servern tolkar begäran som en sparafil eller loggar inkommande förfrågningar helt. För att lyckas attackera måste angriparen sedan på något sätt extrahera det lagrade innehållet. Attacken är tillämplig på Proftpd, Microsoft IIS, vsftpd, filezilla och serv-u.
  • "Ladda ner" för att organisera cross-site scripting (XSS). Metoden innebär att angriparen, som ett resultat av vissa individuella manipulationer, kan placera data i en tjänst som använder ett gemensamt TLS-certifikat, som sedan kan utfärdas som svar på en användarförfrågan. Attacken är tillämplig på ovan nämnda FTP-servrar, IMAP-servrar och POP3-servrar (courier, cyrus, kerio-connect och zimbra).
  • "Reflektion" för att köra JavaScript i en annan webbplats. Metoden är baserad på att återvända till klientdelen av begäran, som innehåller JavaScript-koden som skickats av angriparen. Attacken är tillämplig på de ovan nämnda FTP-servrarna, cyrus-, kerio-connect och zimbra IMAP-servrarna, såväl som sendmail SMTP-servern.

ALPACA - en ny teknik för MITM-attacker på HTTPS

Till exempel, när en användare öppnar en sida som kontrolleras av en angripare, kan den här sidan initiera en begäran om en resurs från en webbplats där användaren har ett aktivt konto (till exempel bank.com). Under en MITM-attack kan denna förfrågan adresserad till bank.com-webbplatsen omdirigeras till en e-postserver som använder ett TLS-certifikat som delas med bank.com. Eftersom e-postservern inte avslutar sessionen efter det första felet kommer tjänsthuvuden och kommandon som "POST / HTTP/1.1" och "Host:" att behandlas som okända kommandon (e-postservern kommer att returnera "500 okänt kommando" för varje rubrik).

E-postservern förstår inte funktionerna i HTTP-protokollet och för det bearbetas tjänsthuvudena och datablocket för POST-begäran på samma sätt, så i kroppen av POST-begäran kan du ange en rad med ett kommando till e-postservern. Till exempel kan du skicka: MAIL FRÅN: alert(1); som e-postservern kommer att returnera ett 501-felmeddelande till alert(1); : felaktig adress: alert(1); kanske inte följer

Detta svar kommer att tas emot av användarens webbläsare, som kommer att köra JavaScript-koden i sammanhanget, inte i sammanhanget av angriparens initialt öppna webbplats, utan för bank.com-webbplatsen som begäran skickades till, eftersom svaret kom inom en korrekt TLS-session , vars certifikat bekräftade äktheten av bank.com-svaret.

ALPACA - en ny teknik för MITM-attacker på HTTPS

En genomsökning av det globala nätverket visade att i allmänhet är cirka 1.4 miljoner webbservrar drabbade av problemet, för vilka det är möjligt att utföra en attack genom att blanda förfrågningar med olika protokoll. Möjligheten för en riktig attack fastställdes för 119 tusen webbservrar för vilka det fanns medföljande TLS-servrar baserade på andra applikationsprotokoll.

Exempel på exploits har förberetts för ftp-servrar pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla och serv-u, IMAP och POP3-servrar dovecot, courier, exchange, cyrus, kerio-connect och zimbra, SMTP-servrar postfix, exim, sendmail , mailenable, mdaemon och opensmtpd. Forskare har studerat möjligheten att utföra en attack endast i kombination med FTP-, SMTP-, IMAP- och POP3-servrar, men det är möjligt att problemet kan uppstå även för andra applikationsprotokoll som använder TLS.

ALPACA - en ny teknik för MITM-attacker på HTTPS

För att blockera attacken föreslås det att man använder tillägget ALPN (Application Layer Protocol Negotiation) för att förhandla fram en TLS-session med hänsyn till applikationsprotokollet och SNI-tillägget (Server Name Indication) för att binda till värdnamnet vid användning av TLS-certifikat som täcker flera domännamn. På applikationssidan rekommenderas att begränsa gränsen för antalet fel vid bearbetning av kommandon, varefter anslutningen avslutas. Processen med att utveckla åtgärder för att blockera attacken började i oktober förra året. Liknande säkerhetsåtgärder har redan vidtagits i Nginx 1.21.0 (e-postproxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) och Internet Explorer.

Källa: opennet.ru

Lägg en kommentar