ALPACA - เทคนิคใหม่สำหรับการโจมตี MITM บน HTTPS

ทีมนักวิจัยจากมหาวิทยาลัยหลายแห่งในเยอรมนีได้พัฒนาการโจมตี MITM ใหม่บน HTTPS ที่สามารถแยกคุกกี้เซสชันและข้อมูลที่ละเอียดอ่อนอื่น ๆ รวมถึงรันโค้ด JavaScript ที่กำหนดเองในบริบทของไซต์อื่น การโจมตีนี้เรียกว่า ALPACA และสามารถนำไปใช้กับเซิร์ฟเวอร์ TLS ที่ใช้โปรโตคอลเลเยอร์แอปพลิเคชันที่แตกต่างกัน (HTTPS, SFTP, SMTP, IMAP, POP3) แต่ใช้ใบรับรอง TLS ทั่วไป

สาระสำคัญของการโจมตีคือ ถ้าเขาสามารถควบคุมเกตเวย์เครือข่ายหรือจุดเชื่อมต่อไร้สาย ผู้โจมตีสามารถเปลี่ยนเส้นทางการรับส่งข้อมูลเว็บไปยังพอร์ตเครือข่ายอื่น และจัดระเบียบการสร้างการเชื่อมต่อกับ FTP หรือเมลเซิร์ฟเวอร์ที่รองรับการเข้ารหัส TLS และใช้ ใบรับรอง TLS ที่ใช้ร่วมกับเซิร์ฟเวอร์ HTTP และเบราว์เซอร์ของผู้ใช้จะถือว่ามีการเชื่อมต่อกับเซิร์ฟเวอร์ HTTP ที่ร้องขอ เนื่องจากโปรโตคอล TLS เป็นแบบสากลและไม่เชื่อมโยงกับโปรโตคอลระดับแอปพลิเคชัน การสร้างการเชื่อมต่อที่เข้ารหัสสำหรับบริการทั้งหมดจึงเหมือนกัน และข้อผิดพลาดในการส่งคำขอไปยังบริการที่ไม่ถูกต้องสามารถระบุได้หลังจากสร้างเซสชันที่เข้ารหัสขณะประมวลผลเท่านั้น คำสั่งของคำขอที่ส่งไป

ตัวอย่างเช่น หากคุณเปลี่ยนเส้นทางการเชื่อมต่อผู้ใช้ซึ่งแต่เดิมจ่าหน้าถึง HTTPS ไปยังเมลเซิร์ฟเวอร์ที่ใช้ใบรับรองที่แชร์กับเซิร์ฟเวอร์ HTTPS การเชื่อมต่อ TLS จะถูกสร้างขึ้นสำเร็จ แต่เซิร์ฟเวอร์เมลจะไม่สามารถประมวลผลการส่ง คำสั่ง HTTP และจะส่งคืนการตอบกลับพร้อมรหัสข้อผิดพลาด เบราว์เซอร์จะประมวลผลการตอบสนองนี้เป็นการตอบกลับจากไซต์ที่ร้องขอ ซึ่งส่งภายในช่องทางการสื่อสารที่มีการเข้ารหัสที่สร้างขึ้นอย่างถูกต้อง

เสนอทางเลือกการโจมตีสามแบบ:

  • “อัปโหลด” เพื่อดึงคุกกี้พร้อมพารามิเตอร์การตรวจสอบสิทธิ์ วิธีการนี้ใช้ได้หากเซิร์ฟเวอร์ FTP ที่ครอบคลุมโดยใบรับรอง TLS อนุญาตให้คุณอัปโหลดและเรียกข้อมูลได้ ในรูปแบบการโจมตีนี้ ผู้โจมตีสามารถบรรลุการรักษาบางส่วนของคำขอ HTTP ดั้งเดิมของผู้ใช้ เช่น เนื้อหาของส่วนหัวของคุกกี้ ตัวอย่างเช่น หากเซิร์ฟเวอร์ FTP ตีความคำขอเป็นไฟล์บันทึกหรือบันทึกคำขอที่เข้ามาทั้งหมด เพื่อให้โจมตีได้สำเร็จ ผู้โจมตีจำเป็นต้องแยกเนื้อหาที่เก็บไว้ออก การโจมตีนี้สามารถใช้ได้กับ Proftpd, Microsoft IIS, vsftpd, filezilla และ serv-u
  • “ดาวน์โหลด” สำหรับการจัดระเบียบสคริปต์ข้ามไซต์ (XSS) วิธีการนี้บอกเป็นนัยว่าผู้โจมตีสามารถวางข้อมูลในบริการที่ใช้ใบรับรอง TLS ทั่วไปซึ่งเป็นผลมาจากการดัดแปลงบางอย่างของผู้โจมตี ซึ่งสามารถออกให้เพื่อตอบสนองคำขอของผู้ใช้ได้ การโจมตีนี้สามารถใช้ได้กับเซิร์ฟเวอร์ FTP, เซิร์ฟเวอร์ IMAP และเซิร์ฟเวอร์ POP3 ดังกล่าวข้างต้น (courier, cyrus, kerio-connect และ zimbra)
  • "Reflection" เพื่อเรียกใช้ JavaScript ในบริบทของไซต์อื่น วิธีการนี้จะขึ้นอยู่กับการส่งคืนไปยังส่วนของไคลเอ็นต์ของคำขอ ซึ่งมีโค้ด JavaScript ที่ผู้โจมตีส่งมา การโจมตีนี้สามารถใช้ได้กับเซิร์ฟเวอร์ FTP ที่กล่าวถึงข้างต้น เซิร์ฟเวอร์ cyrus, kerio-connect และ zimbra IMAP รวมถึงเซิร์ฟเวอร์ sendmail SMTP

ALPACA - เทคนิคใหม่สำหรับการโจมตี MITM บน HTTPS

ตัวอย่างเช่น เมื่อผู้ใช้เปิดเพจที่ถูกควบคุมโดยผู้โจมตี เพจนี้อาจเริ่มต้นคำขอทรัพยากรจากไซต์ที่ผู้ใช้มีบัญชีที่ใช้งานอยู่ (เช่น bank.com) ในระหว่างการโจมตี MITM คำขอนี้ที่ส่งไปยังเว็บไซต์ bank.com สามารถเปลี่ยนเส้นทางไปยังเซิร์ฟเวอร์อีเมลที่ใช้ใบรับรอง TLS ที่แชร์กับ bank.com เนื่องจากเมลเซิร์ฟเวอร์ไม่ยุติเซสชันหลังจากเกิดข้อผิดพลาดครั้งแรก ส่วนหัวบริการและคำสั่ง เช่น "POST / HTTP/1.1" และ "Host:" จะถูกประมวลผลเป็นคำสั่งที่ไม่รู้จัก (เมลเซิร์ฟเวอร์จะส่งกลับ "500 คำสั่งที่ไม่รู้จัก" สำหรับ แต่ละส่วนหัว)

เมลเซิร์ฟเวอร์ไม่เข้าใจคุณสมบัติของโปรโตคอล HTTP และส่วนหัวบริการและบล็อกข้อมูลของคำขอ POST จะได้รับการประมวลผลในลักษณะเดียวกัน ดังนั้นในเนื้อหาของคำขอ POST คุณสามารถระบุบรรทัดด้วยคำสั่งเพื่อ เมลเซิร์ฟเวอร์ ตัวอย่างเช่น คุณสามารถส่งผ่าน: MAIL FROM: alert(1); ซึ่งเซิร์ฟเวอร์เมลจะส่งกลับข้อความแสดงข้อผิดพลาด 501 alert(1);: ที่อยู่ที่มีรูปแบบไม่ถูกต้อง: alert (1); ไม่อาจตามหลัง

เบราว์เซอร์ของผู้ใช้จะได้รับการตอบสนองนี้ ซึ่งจะดำเนินการโค้ด JavaScript ในบริบทที่ไม่ใช่เว็บไซต์ที่เปิดครั้งแรกของผู้โจมตี แต่เป็นเว็บไซต์ bank.com ที่คำขอถูกส่งไป เนื่องจากการตอบกลับมาภายในเซสชัน TLS ที่ถูกต้อง ใบรับรองที่ยืนยันความถูกต้องของการตอบกลับของ bank.com

ALPACA - เทคนิคใหม่สำหรับการโจมตี MITM บน HTTPS

การสแกนเครือข่ายทั่วโลกพบว่าโดยทั่วไปแล้ว เว็บเซิร์ฟเวอร์ประมาณ 1.4 ล้านเครื่องได้รับผลกระทบจากปัญหานี้ ซึ่งเป็นไปได้ที่จะทำการโจมตีโดยผสมผสานคำขอโดยใช้โปรโตคอลที่แตกต่างกัน มีการพิจารณาความเป็นไปได้ของการโจมตีจริงสำหรับเว็บเซิร์ฟเวอร์ 119 แห่งซึ่งมีเซิร์ฟเวอร์ TLS ที่มากับโปรโตคอลแอปพลิเคชันอื่น ๆ

ตัวอย่างการหาประโยชน์ได้เตรียมไว้สำหรับเซิร์ฟเวอร์ ftp pureftpd, proftpd, microsoft-ftp, vsftpd, filezilla และ serv-u, เซิร์ฟเวอร์ IMAP และ POP3 dovecot, courier, exchange, cyrus, kerio-connect และ zimbra, เซิร์ฟเวอร์ SMTP postfix, exim, sendmail , ส่งอีเมลได้, mdaemon และ opensmtpd นักวิจัยได้ศึกษาความเป็นไปได้ในการโจมตีร่วมกับเซิร์ฟเวอร์ FTP, SMTP, IMAP และ POP3 เท่านั้น แต่เป็นไปได้ว่าปัญหาอาจเกิดขึ้นกับโปรโตคอลแอปพลิเคชันอื่นที่ใช้ TLS

ALPACA - เทคนิคใหม่สำหรับการโจมตี MITM บน HTTPS

เพื่อบล็อกการโจมตี ขอเสนอให้ใช้ส่วนขยาย ALPN (Application Layer Protocol Negotiation) เพื่อเจรจาเซสชัน TLS โดยคำนึงถึงโปรโตคอลแอปพลิเคชันและส่วนขยาย SNI (การระบุชื่อเซิร์ฟเวอร์) เพื่อผูกกับชื่อโฮสต์ในกรณีที่ใช้ ใบรับรอง TLS ครอบคลุมชื่อโดเมนหลายชื่อ ในด้านแอปพลิเคชัน ขอแนะนำให้จำกัดจำนวนข้อผิดพลาดเมื่อประมวลผลคำสั่ง หลังจากนั้นการเชื่อมต่อจะสิ้นสุดลง กระบวนการพัฒนามาตรการป้องกันการโจมตีเริ่มขึ้นเมื่อเดือนตุลาคมปีที่แล้ว มาตรการรักษาความปลอดภัยที่คล้ายกันได้ถูกนำมาใช้แล้วใน Nginx 1.21.0 (mail proxy), Vsftpd 3.0.4, Courier 5.1.0, Sendmail, FileZill, crypto/tls (Go) และ Internet Explorer

ที่มา: opennet.ru

เพิ่มความคิดเห็น