ALPACA – новая тэхніка MITM-нападаў на HTTPS

Група даследнікаў з некалькіх універсітэтаў Германіі распрацавала новы метад MITM-напады на HTTPS, які дае магчымасць атрымаць Cookie з ідэнтыфікатарамі сеансу і іншыя канфідэнцыйныя дадзеныя, а таксама дамагчыся выкананні адвольнага кода JavaScript у кантэксце іншага сайта. Атака атрымала назву ALPACA і можа быць прыменена да TLS-сервераў, якія рэалізуюць розныя пратаколы прыкладнога ўзроўню (HTTPS, SFTP, SMTP, IMAP, POP3), але выкарыстоўваюць агульныя TLS-сертыфікаты.

Сутнасць атакі ў тым, што пры наяўнасці кантролю над сеткавым шлюзам або кропкай бесправаднога доступу атакавалы можа перанакіраваць web-трафік на іншы сеткавы порт і арганізаваць усталёўку злучэння з FTP або паштовым серверам, якія падтрымліваюць TLS-шыфраванне і выкарыстоўваюць агульны з HTTP-серверам TLS-сертыфікат , і браўзэр карыстальніка будзе лічыць, што ўсталявана злучэнне з запытаным HTTP-серверам. Бо пратакол TLS універсальны і не прывязаны да пратаколаў прыкладнага ўзроўня, усталёўка шыфраванага злучэння для ўсіх сэрвісаў ідэнтычная і памылка адпраўкі запыту не да таго сэрвісу можа быць вызначана толькі ўжо пасля ўсталёўкі шыфраванага сеансу падчас апрацоўкі каманд адпраўленага запыту.

Адпаведна, калі, напрыклад, перанакіраваць злучэнне карыстальніка, першапачаткова адрасаванае да HTTPS, на паштовы сервер, у якім прымяняецца агульны з HTTPS-серверам сертыфікат, TLS-злучэнне будзе паспяхова ўстаноўлена, але паштовы сервер не зможа апрацаваць перададзеныя HTTP-каманды і верне адказ з кодам памылкі. Дадзены адказ будзе апрацаваны браўзэрам як адказ запытанага сайта, перададзены ўнутры карэктна ўсталяванага шыфраванага канала сувязі.

Прапанавана тры варыянты атакі:

  • "Upload" для вымання Cookie з параметрамі аўтэнтыфікацыі. Метад прымянім, калі ахопліваемы TLS-сертыфікатам FTP-сервер дазваляе загрузіць і атрымаць свае дадзеныя. У дадзеным варыянце нападу атакавалы можа дамагчыся захаванні частак першапачатковага HTTP-запыту карыстача, такіх як змесціва загалоўка Cookie, напрыклад, калі FTP-сервер інтэрпрэтуе запыт як файл для захавання ці цалкам часопісуе ўваходныя запыты. Для паспяховага нападу зламысніку патрабуецца затым нейкім чынам выняць захаванае змесціва. Атака дастасавальная да Proftpd, Microsoft IIS, vsftpd, filezilla і serv-u.
  • "Download" для арганізацыі міжсайтавага скрыптынгу (XSS). Метад мае на ўвазе, што атакавалы ў выніку нейкіх асобных маніпуляцый можа размясціць дадзеныя ў сэрвісе, які выкарыстоўвае агульны TLS-сертыфікат, якія затым можна выдаць у адказ на запыт карыстальніка. Атака дастасавальная да вышэйадзначаных FTP-сервераў, IMAP-серверам і POP3-серверам (courier, cyrus, kerio-connect і zimbra).
  • "Reflection" для запуску JavaScript у кантэксце іншага сайта. Метад заснаваны на вяртанні кліенту часткі запыту, у якім утрымоўваецца адпраўлены атакавалым JavaScript-код. Атака дастасавальная да вышэйадзначаных FTP-сервераў, IMAP-серверам cyrus, kerio-connect і zimbra, а таксама да SMTP-серверу sendmail.

ALPACA - новая тэхніка MITM-нападаў на HTTPS

Напрыклад, пры адкрыцці карыстальнікам старонкі, падкантрольнай атакавалым, з гэтай старонкі можа быць ініцыяваны запыт рэсурса з сайта, на якім у карыстальніка маецца актыўны ўліковы запіс (напрыклад, bank.com). Падчас MITM-напады гэты запыт, адрасаваны web-сайту bank.com, можна перанакіраваць на паштовы сервер, у якім выкарыстоўваецца агульны з bank.com TLS-сертыфікат. Паколькі паштовы сервер не завяршае сеанс пасля першай памылкі, службовыя загалоўкі і каманды, такія як "POST/HTTP/1.1" і "Host:", будуць апрацаваны як невядомыя каманды (паштовы сервер верне на кожны загаловак "500 unrecognized command").

Паштовы сервер не разбірае асаблівасці пратаколу HTTP і для яго службовыя загалоўкі і блок дадзеных POST-запыту апрацоўваюцца аднолькава, таму ў целе POST-запыту можна пазначыць радок з камандай паштоваму серверу. Напрыклад, можна перадаць: MAIL FROM: alert(1); на што паштовы сервер верне паведамленне пра памылку 501 alert(1); : malformed address: alert(1); may not follow

Гэты адказ атрымае браўзэр карыстальніка, які выканае JavaScript-код у кантэксце не першапачаткова адчыненага сайта атакавалага, а сайта bank.com, на які быў адпраўлены запыт, бо адказ паступіў усярэдзіне карэктнага TLS-сеансу, сертыфікат якога пацвердзіў сапраўднасць адказу bank.com.

ALPACA - новая тэхніка MITM-нападаў на HTTPS

Сканіраванне глабальнай сеткі паказала, што праблеме ў агульным выглядзе схільныя каля 1.4 млн web-сервераў, для якіх магчыма здзяйсненне нападу са змешваннем зваротаў па розных пратаколах. Магчымасць рэальнага здзяйснення нападу вызначана для 119 web-сервераў, для якіх прысутнічалі спадарожныя TLS-серверы на базе іншых прыкладных пратаколаў.

Прыклады эксплоітаў падрыхтаваны для ftp-сервераў pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla і serv-u, IMAP- і POP3-сервераў dovecot, courier, exchange, cyrus, kerio-connect і zimbra, SMTP-сервераў postfix sendmail, mailenable, mdaemon і opensmtpd. Даследнікамі вывучана магчымасць здзяйснення нападу толькі ў спалучэнні з серверамі FTP, SMTP, IMAP і POP3, пры гэтым не выключаецца, што праблема можа выяўляцца і для іншых прыкладных пратаколаў, выкарыстоўвалых TLS.

ALPACA - новая тэхніка MITM-нападаў на HTTPS

Для блакавання нападу прапанавана выкарыстоўваць пашырэнне ALPN (Application Layer Protocol Negotiation) для ўзгаднення TLS-сеансу з улікам прыкладнога пратакола і пашырэнне SNI (Server Name Indication) для прывязкі да імя хаста ў выпадку прымянення TLS-сертыфікатаў, якія ахопліваюць некалькі даменных імёнаў. На баку прыкладанняў рэкамендавана абмежаваць ліміт на колькасць памылак пры апрацоўцы каманд, пасля дасягнення якога разрываць злучэнне. Працэс выпрацоўкі мер па блакаванні нападу пачаўся яшчэ ў кастрычніку мінулага гады. Падобныя меры для абароны ўжо прыняты ў Nginx 1.21.0 (mail proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) і Internet Explorer.

Крыніца: opennet.ru

Дадаць каментар