ปัญหาที่ทำให้เกิดการบายพาสการรับรองความถูกต้อง Wi-Fi ใน IWD และ wpa_supplicant

มีการระบุช่องโหว่ในแพ็คเกจเปิด IWD (Intel inet Wireless Daemon) และ wpa_supplicant ซึ่งใช้เพื่อจัดระเบียบการเชื่อมต่อของระบบไคลเอนต์ Linux กับเครือข่ายไร้สาย ซึ่งนำไปสู่การเลี่ยงผ่านกลไกการตรวจสอบสิทธิ์:

  • ใน IWD ช่องโหว่ (CVE-2023-52161) จะปรากฏขึ้นเฉพาะเมื่อมีการเปิดใช้งานโหมดจุดเข้าใช้งาน ซึ่งไม่ปกติสำหรับ IWD ซึ่งโดยปกติจะใช้เพื่อเชื่อมต่อกับเครือข่ายไร้สาย ช่องโหว่นี้ทำให้คุณสามารถเชื่อมต่อกับจุดเข้าใช้งานที่สร้างขึ้นโดยไม่ต้องรู้รหัสผ่าน ตัวอย่างเช่น เมื่อผู้ใช้ให้ความสามารถในการเข้าถึงเครือข่ายผ่านอุปกรณ์ของตน (ฮอตสปอต) อย่างชัดเจน ปัญหาได้รับการแก้ไขแล้วใน IWD เวอร์ชัน 2.14

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

    ในกรณีนี้ IWD พยายามตรวจสอบรหัส MIC (รหัสความสมบูรณ์ของข้อความ) สำหรับข้อความขั้นที่สี่ที่ได้รับ เนื่องจากไม่ได้รับข้อความระยะที่สองพร้อมพารามิเตอร์การรับรองความถูกต้อง เมื่อประมวลผลข้อความระยะที่สี่ ปุ่ม PTK (Pairwise Transient Key) จะถูกตั้งค่าเป็นศูนย์ ดังนั้น ผู้โจมตีสามารถคำนวณ MIC โดยใช้ PTK ที่เป็นโมฆะ และ IWD จะยอมรับรหัสยืนยันนี้ว่าถูกต้อง หลังจากเสร็จสิ้นการเจรจาการเชื่อมต่อบางส่วนแล้ว ผู้โจมตีจะสามารถเข้าถึงเครือข่ายไร้สายได้อย่างสมบูรณ์ เนื่องจากจุดเชื่อมต่อจะได้รับเฟรมที่ส่ง โดยเข้ารหัสด้วยคีย์ PTK ที่เป็นโมฆะ

  • ปัญหาที่ระบุใน wpa_supplicant (CVE-2023-52160) ทำให้ผู้โจมตีล่อลวงผู้ใช้ให้เข้าสู่เครือข่ายไร้สายสมมติซึ่งเป็นโคลนของเครือข่ายที่ผู้ใช้ตั้งใจจะเชื่อมต่อด้วย หากผู้ใช้เชื่อมต่อกับเครือข่ายปลอม ผู้โจมตีสามารถจัดระเบียบการสกัดกั้นการรับส่งข้อมูลการขนส่งสาธารณะที่ไม่ได้เข้ารหัสของผู้ใช้ (เช่น การเข้าถึงไซต์ที่ไม่มี HTTPS)

    เนื่องจากข้อบกพร่องในการใช้โปรโตคอล PEAP (Protected Extensible Authentication Protocol) ผู้โจมตีสามารถข้ามขั้นตอนที่สองของการตรวจสอบสิทธิ์ได้เมื่อเชื่อมต่ออุปกรณ์ผู้ใช้ที่กำหนดค่าไม่ถูกต้อง การข้ามการรับรองความถูกต้องขั้นตอนที่สองทำให้ผู้โจมตีสามารถสร้างโคลนปลอมของเครือข่าย Wi-Fi ที่เชื่อถือได้ และอนุญาตให้ผู้ใช้เชื่อมต่อกับเครือข่ายปลอมโดยไม่ต้องตรวจสอบรหัสผ่าน

    เพื่อให้การโจมตีใน wpa_supplicant ได้สำเร็จ การตรวจสอบใบรับรอง TLS ของเซิร์ฟเวอร์จะต้องถูกปิดใช้งานในฝั่งของผู้ใช้ และผู้โจมตีต้องทราบตัวระบุเครือข่ายไร้สาย (SSID, Service Set Identifier) ในกรณีนี้ ผู้โจมตีจะต้องอยู่ภายในระยะของอแด็ปเตอร์ไร้สายของเหยื่อ แต่อยู่นอกระยะของจุดเข้าใช้งานของเครือข่ายไร้สายแบบโคลน การโจมตีสามารถทำได้บนเครือข่ายที่มี WPA2-Enterprise หรือ WPA3-Enterprise ที่ใช้โปรโตคอล PEAP

    นักพัฒนา wpa_supplicant ระบุว่าพวกเขาไม่ได้พิจารณาว่าปัญหานี้เป็นช่องโหว่ เนื่องจากจะเกิดขึ้นเฉพาะบนเครือข่ายไร้สายที่มีการกำหนดค่าไม่ดีซึ่งใช้การตรวจสอบสิทธิ์ EAP ร่วมกับ PEAP (EAP-TTLS) โดยไม่ตรวจสอบใบรับรอง TLS ของเซิร์ฟเวอร์ การกำหนดค่าที่ไม่มีการตรวจสอบใบรับรองจะไม่ได้รับการป้องกันจากการโจมตีที่ทำงานอยู่ ผู้ที่ค้นพบช่องโหว่อ้างว่าการกำหนดค่าที่ไม่ถูกต้องนั้นเป็นเรื่องปกติและแพร่หลาย ส่งผลให้อุปกรณ์ผู้บริโภคที่ใช้ Linux, Android และ Chrome OS จำนวนมากที่ใช้ wpa_supplicant ตกอยู่ในความเสี่ยง

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

ที่มา: opennet.ru

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