Një grup studiuesish nga disa universitete gjermane ka zhvilluar një metodë të re të sulmit MITM ndaj HTTPS, e cila bën të mundur nxjerrjen e Cookie me identifikuesit e sesionit dhe të dhëna të tjera konfidenciale, si edhe ekzekutimin e kodit arbitrar JavaScript në kontekstin e një faqeje tjetër. Sulmi është quajtur ALPACA dhe mund të aplikohet ndaj serverëve TLS që implementojnë protokolle të ndryshme të shtresës së aplikacionit (HTTPS, SFTP, SMTP, IMAP, POP3), por përdorin certifikata të përbashkëta TLS.
Thelbi i sulmit është se, nëse sulmuesi ka kontroll mbi gateway-in e rrjetit ose mbi një pikë aksesi me valë, ai mund ta ridrejtojë trafikun web në një port tjetër rrjeti dhe të organizojë krijimin e një lidhjeje me një server FTP ose server poste që mbështet enkriptimin TLS dhe përdor të njëjtën certifikatë TLS si serveri HTTP, ndërsa shfletuesi i përdoruesit do të besojë se është vendosur lidhje me serverin HTTP të kërkuar. Meqenëse protokolli TLS është universal dhe nuk lidhet me protokollet e shtresës së aplikacionit, krijimi i një lidhjeje të enkriptuar është identik për të gjitha shërbimet, dhe gabimi i dërgimit të kërkesës te shërbimi i gabuar mund të zbulohet vetëm pas vendosjes së sesionit të enkriptuar, gjatë përpunimit të komandave të kërkesës së dërguar.
Prandaj, nëse për shembull lidhja e përdoruesit, e destinuar fillimisht për HTTPS, ridrejtohet te një server poste ku përdoret e njëjta certifikatë si te serveri HTTPS, lidhja TLS do të vendoset me sukses, por serveri i postës nuk do të jetë në gjendje të përpunojë komandat HTTP të dërguara dhe do të kthejë një përgjigje me kod gabimi. Kjo përgjigje do të përpunohet nga shfletuesi si përgjigjja e faqes së kërkuar, e transmetuar brenda një kanali komunikimi të enkriptuar të vendosur saktë.
Janë propozuar tre variante të sulmit:
- «Upload» për nxjerrjen e Cookie me parametrat e autentikimit. Kjo metodë zbatohet nëse serveri FTP i mbuluar nga certifikata TLS lejon ngarkimin dhe më pas nxjerrjen e të dhënave të veta. Në këtë variant të sulmit, sulmuesi mund të arrijë që të ruhen pjesë të kërkesës fillestare HTTP të përdoruesit, si p.sh. përmbajtja e header-it Cookie, për shembull nëse serveri FTP e interpreton kërkesën si skedar për ruajtje ose regjistron plotësisht kërkesat hyrëse. Që sulmi të ketë sukses, sulmuesi duhet më pas të nxjerrë në një farë mënyre përmbajtjen e ruajtur. Sulmi zbatohet ndaj Proftpd, Microsoft IIS, vsftpd, filezilla dhe serv-u.
- «Download» për organizimin e cross-site scripting (XSS). Metoda nënkupton që sulmuesi, si rezultat i disa manipulimeve të veçanta, mund të vendosë të dhëna në një shërbim që përdor të përbashkëtin TLS-certifikat, të cilat më pas mund të kthehen si përgjigje ndaj kërkesës së përdoruesit. Sulmi zbatohet ndaj serverëve FTP të përmendur më sipër, serverëve IMAP dhe serverëve POP3 (courier, cyrus, kerio-connect dhe zimbra).
- «Reflection» për ekzekutimin e JavaScript në kontekstin e një sajti tjetër. Metoda bazohet në kthimin te klienti të një pjese të kërkesës që përmban kodin JavaScript të dërguar nga sulmuesi. Sulmi zbatohet ndaj serverëve FTP të përmendur më sipër, serverëve IMAP cyrus, kerio-connect dhe zimbra, si edhe ndaj serverit SMTP sendmail.

Për shembull, kur përdoruesi hap një faqe nën kontrollin e sulmuesit, nga kjo faqe mund të iniciohet një kërkesë për një burim nga një sajt ku përdoruesi ka një llogari aktive (për shembull, bank.com). Gjatë një sulmi MITM, kjo kërkesë, e adresuar te sajti web bank.com, mund të ridrejtohet te serveri i postës që përdor një certifikatë TLS të përbashkët me bank.com. Meqenëse serveri i postës nuk e përfundon sesionin pas gabimit të parë, header-at e shërbimit dhe komandat, si «POST / HTTP/1.1» dhe «Host:», do të përpunohen si komanda të panjohura (serveri i postës do të kthejë për çdo header «500 unrecognized command»).
Serveri i postës nuk i analizon veçoritë e protokollit HTTP dhe, për të, header-at e shërbimit dhe blloku i të dhënave të kërkesës POST përpunohen njësoj, prandaj në trupin e kërkesës POST mund të specifikohet një rresht me komandë për serverin e postës. Për shembull, mund të dërgohet: MAIL FROM: ndaj së cilës serveri i postës do të kthejë mesazhin e gabimit 501 : malformed address: alert(1); may not follow
Këtë përgjigje do ta marrë shfletuesi i përdoruesit, i cili do të ekzekutojë kodin JavaScript në kontekstin jo të sajtit të sulmuesit të hapur fillimisht, por të sajtit bank.com, ku u dërgua kërkesa, pasi përgjigjja vjen brenda një sesioni të vlefshëm TLS, certifikata e të cilit konfirmoi autenticitetin e përgjigjes nga bank.com.

Skanimi i rrjetit global tregoi se, në formën e saj të përgjithshme, problemi prek rreth 1.4 milion web-serverë, për të cilët është e mundur të kryhet një sulm me përzierje kërkesash sipas protokolleve të ndryshme. Mundësia e realizimit praktik të sulmit u konfirmua për 119 mijë web-serverë, ku ishin të pranishëm edhe serverë TLS shoqërues të bazuar në protokolle të tjera të shtresës së aplikacionit.
Janë përgatitur shembuj exploit-esh për FTP-serverët pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla dhe serv-u, për serverët IMAP dhe POP3 dovecot, courier, exchange, cyrus, kerio-connect dhe zimbra, si edhe për SMTP-serverët postfix, exim, sendmail, mailenable, mdaemon dhe opensmtpd. Studiuesit kanë analizuar mundësinë e kryerjes së sulmit vetëm në kombinim me serverë FTP, SMTP, IMAP dhe POP3, megjithatë nuk përjashtohet që problemi të shfaqet edhe te protokolle të tjera të shtresës së aplikacionit që përdorin TLS.

Për të bllokuar sulmin, është propozuar përdorimi i zgjerimit ALPN (Application Layer Protocol Negotiation) për të negociuar sesionin TLS duke marrë parasysh protokollin e aplikacionit, si dhe zgjerimi SNI (Server Name Indication) për lidhjen me emrin e hostit në rastin e përdorimit të certifikatave TLS që mbulojnë disa emrash domenesh. Në anën e aplikacioneve rekomandohet të kufizohet numri i gabimeve gjatë përpunimit të komandave, pas arritjes së të cilit lidhja duhet të ndërpritet. Procesi i hartimit të masave për bllokimin e sulmit ka nisur që në tetor të vitit të kaluar. Masa të ngjashme mbrojtëse tashmë janë zbatuar në Nginx 1.21.0 (mail proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) dhe Internet Explorer.
Burimi: opennet.ru
