Zoom for Mac แพตช์แก้ไขข้อผิดพลาดในการรูท – อัปเดตทันที! PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

Zoom สำหรับ Mac แก้ไขข้อบกพร่องในการรูท – อัปเดตทันที!

ที่งานรักษาความปลอดภัย DEF CON ที่มีชื่อเสียงในลาสเวกัส รัฐเนวาดา เมื่อสัปดาห์ที่แล้ว Patrick Wardle นักวิจัยด้านความปลอดภัยทางไซเบอร์ของ Mac เปิดเผย "รับรูท" การยกระดับสิทธิ์ บั๊ก (EoP) ใน Zoom สำหรับ Mac:

ในทวีตซึ่งเป็นไปตามคำพูดของเขา [2022-08-12] Wardle ตั้งข้อสังเกต:

ขณะนี้ยังไม่มีโปรแกรมแก้ไข [:FRIED-EGG EYES DEPICTING ALARM EMOJI:] [:EDVARD MUNCH SCREAM EMOJI:]

Zoom ดำเนินการแก้ไขข้อบกพร่องในทันที ซึ่งประกาศในวันรุ่งขึ้นใน กระดานข่าวความปลอดภัย Zoom ZSB-22018, ได้รับการแสดงความยินดี ตอบ จาก Wardle ในกระบวนการ:

Mahalos ไปที่ @Zoom เพื่อแก้ไขปัญหาอย่างรวดเร็ว (เหลือเชื่อ)! [:ยกมือทั้งสองข้างขึ้นในการเฉลิมฉลองและวิงวอนเกี่ยวกับอีโมจิ:] [:ฝ่ามือกดรวมกันเพื่อแสดงความปรารถนาดีทางวิญญาณ EMOJI:]

การเปิดเผยข้อมูล Zero-day

ด้วยความเร็วที่ชัดเจนและความสะดวกที่ Zoom สามารถปล่อยแพตช์สำหรับจุดบกพร่องได้ ขนานนามว่า CVE-2022-28756คุณอาจสงสัยว่าทำไม Wardle ไม่ได้บอก Zoom เกี่ยวกับจุดบกพร่องล่วงหน้า โดยกำหนดให้วันที่เขากล่าวสุนทรพจน์เป็นกำหนดเส้นตายในการเปิดเผยรายละเอียด

นั่นจะทำให้ Zoom มีเวลาที่จะผลักดันการอัปเดตให้กับผู้ใช้ Mac จำนวนมาก (หรืออย่างน้อยก็เพื่อให้ผู้ที่เชื่อใน แพทช์ก่อน / แพทช์บ่อย) ซึ่งช่วยขจัดช่องว่างระหว่าง Wardle ที่อธิบายให้โลกรู้ถึงวิธีการใช้งานบั๊กในทางที่ผิดและการแพตช์ของบั๊ก

อันที่จริง ดูเหมือนว่า Wardle จะพยายามอย่างเต็มที่เพื่อเตือน Zoom เกี่ยวกับจุดบกพร่องนี้ บวกกับข้อบกพร่องที่เชื่อมโยงถึงกันจำนวนมากในกระบวนการอัปเดตอัตโนมัติของ Zoom เมื่อหลายเดือนก่อน

Wardle อธิบายไทม์ไลน์การเปิดเผยจุดบกพร่องในไฟล์ สไลด์จากการพูดคุย DEF CON ของเขาและแสดงรายการอัปเดตของ Zoom ที่เกี่ยวข้องกับข้อบกพร่องที่เขาค้นพบ

ดาบสองคม

ข้อบกพร่องที่ Wardle พูดถึงโดยทั่วไปเกี่ยวข้องกับกลไกการอัปเดตอัตโนมัติของ Zoom ซึ่งเป็นส่วนหนึ่งของระบบนิเวศซอฟต์แวร์ใด ๆ ที่เป็นดาบสองคม - อาวุธที่ทรงพลังกว่าดาบธรรมดา แต่จัดการได้ยากกว่าอย่างปลอดภัย

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

แต่การอัปเดตอัตโนมัติทำให้เกิดความเสี่ยง ไม่น้อยเพราะเครื่องมืออัปเดตเองมักต้องการการเข้าถึงระบบระดับรูท

นั่นเป็นเพราะงานของผู้อัปเดตคือการเขียนทับซอฟต์แวร์แอปพลิเคชัน (สิ่งที่ผู้ใช้ทั่วไปไม่ควรทำ) และอาจเรียกใช้คำสั่งระบบปฏิบัติการที่มีสิทธิ์เพื่อทำการกำหนดค่าหรือการเปลี่ยนแปลงระดับระบบอื่นๆ

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

โดยเฉพาะอย่างยิ่ง โปรแกรมอัพเดตอัตโนมัติต้องระมัดระวังในการตรวจสอบ ความจริง ของแพ็คเกจการอัปเดตที่พวกเขาดาวน์โหลด เพื่อหยุดผู้โจมตีเพียงแค่ป้อนชุดอัปเดตปลอมพร้อมมัลแวร์ที่เพิ่มเข้ามา

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

เลี่ยงการตรวจสอบความถูกต้อง

ตามที่ Wardle อธิบายไว้ใน .ของเขา กระดาษหนึ่งในข้อบกพร่องที่เขาค้นพบและเปิดเผยคือข้อบกพร่องในขั้นตอนแรกที่ระบุไว้ข้างต้น เมื่อตัวอัปเดตอัตโนมัติของ Zoom พยายามตรวจสอบความถูกต้องของแพ็คเกจการอัปเดตที่เพิ่งดาวน์โหลด

แทนที่จะใช้ macOS API อย่างเป็นทางการเพื่อตรวจสอบลายเซ็นดิจิทัลของการดาวน์โหลดโดยตรง นักพัฒนา Zoom ตัดสินใจทำการตรวจสอบสิทธิ์โดยอ้อมด้วยการเรียกใช้ยูทิลิตี้ macOS pkgutil --check-signature ในพื้นหลังและตรวจสอบผลลัพธ์

นี่คือตัวอย่างของ pkgutil เอาต์พุตโดยใช้เวอร์ชันเก่าของ Zoom.pkg ชุดซอฟต์แวร์:

$ pkgutil --check-signature แพ็คเกจ Zoom.pkg "Zoom.pkg": สถานะ: ลงนามโดยใบรับรองนักพัฒนาที่ออกโดย Apple เพื่อแจกจ่าย ลงนามด้วยการประทับเวลาที่เชื่อถือได้เมื่อ: 2022-06-27 01:26:22 +0000 ห่วงโซ่ใบรับรอง : 1. Developer ID Installer: Zoom Video Communications, Inc. (BJ4HAAB9B3) หมดอายุ: 2027-02-01 22:12:15 +0000 SHA256 ลายนิ้วมือ: 6D 70 1A 84 F0 5A D4 C1 C1 B3 AE 01 C2 EF 1F 2E AE FB 9F 5C A6 80 48 A4 76 60 FF B5 F0 57 BB 8C ----------------------------------- ---------------------------------------------------- 2. หน่วยงานรับรอง ID ผู้พัฒนา หมดอายุ: 2027-02-01 22:12:15 +0000 SHA256 ลายนิ้วมือ: 7A FC 9D 01 A6 2F 03 A2 DE 96 37 93 6D 4A FE 68 09 0D 2D E1 8D 03 F2 9C 88 CF B0 B1 BA 63 58 7F -------- -------------------------------------------------- -------------- 3. Apple Root CA หมดอายุ: 2035-02-09 21:40:36 +0000 SHA256 ลายนิ้วมือ: B0 B1 73 0E CB C7 FF 45 05 14 2C 49 F1 29 5E 6E DA 6B CA ED 7E 2C 68 C5 พ.ศ. 91 B5 A1 10 01 F0 24

น่าเสียดายที่ Wardle ค้นพบเมื่อเขาถอดรหัสรหัสยืนยันลายเซ็นของ Zoom ผู้อัปเดต Zoom ไม่ได้ประมวลผล pkgutil ข้อมูลในลักษณะเดียวกับที่ผู้สังเกตการณ์ของมนุษย์จะทำ

เราจะตรวจสอบผลลัพธ์โดยทำตามลำดับภาพที่เป็นประโยชน์ในผลลัพธ์

อันดับแรก เราจะมองหาสถานะที่ต้องการก่อน เช่น signed by a developer certificate issued by Apple for distribution.

จากนั้นเราจะหาหัวข้อย่อย Certificate Chain:.

สุดท้าย เราจะตรวจสอบอีกครั้งว่าห่วงโซ่ประกอบด้วยผู้ลงนามสามคนนี้ ตามลำดับที่ถูกต้อง:

  1. Zoom Video Communications, Inc. 2. ผู้ออกใบรับรอง ID ผู้พัฒนา 3. Apple Root CA

น่าแปลกที่โค้ดของ Zoom ยืนยันว่าแต่ละสตริงทั้งสามข้างบนนี้ (ไม่ได้ตรวจสอบ ID เฉพาะของ Zoom ด้วยซ้ำ BJ4HAAB9B3) ปรากฏตัวขึ้น บางแห่ง ในผลลัพธ์จาก pkgutil.

ดังนั้น การสร้างแพ็คเกจด้วยชื่อที่ไร้สาระแต่ใช้ได้จริง เช่น Zoom Video Communications, Inc. Developer ID Certification Authority Apple Root CA.pkg จะหลอกให้ตัวตรวจสอบแพ็คเกจค้นหา "สตริงข้อมูลประจำตัว" ที่กำลังมองหา

ชื่อแพ็คเกจเต็มสะท้อนอยู่ใน pkgutil ส่วนหัวของเอาต์พุตในบรรทัดแรก โดยที่ "ตัวตรวจสอบ" ที่โชคร้ายของ Zoom จะจับคู่สตริงข้อความทั้งสามในส่วนที่ไม่ถูกต้องของเอาต์พุต

ดังนั้นการตรวจสอบ "ความปลอดภัย" จึงสามารถข้ามไปได้เล็กน้อย

การแก้ไขบางส่วน

Wardle กล่าวว่าในที่สุด Zoom ได้แก้ไขข้อผิดพลาดนี้ มากกว่าเจ็ดเดือนหลังจากที่เขารายงาน ทันเวลาสำหรับ DEF CON...

…แต่หลังจากใช้โปรแกรมแก้ไข เขาสังเกตเห็นว่ายังมีช่องโหว่ในกระบวนการอัปเดต

ตัวอัปเดตพยายามทำสิ่งที่ถูกต้อง:

  • 1. ย้ายแพ็คเกจที่ดาวน์โหลดมาไปยังไดเร็กทอรีที่รูทเป็นเจ้าของ และทำให้ผู้ใช้ทั่วไปไม่สามารถเข้าถึงตามหลักวิชาได้
  • 2. ตรวจสอบลายเซ็นเข้ารหัสของแพ็คเกจที่ดาวน์โหลด ใช้ API อย่างเป็นทางการ ไม่ใช่ผ่านการจับคู่ข้อความกับ pkgutil เอาท์พุต
  • 3. ยกเลิกการเก็บถาวรไฟล์แพ็คเกจที่ดาวน์โหลด เพื่อตรวจสอบหมายเลขเวอร์ชัน เพื่อป้องกันการโจมตีดาวน์เกรด
  • 4. ติดตั้งไฟล์แพ็คเกจที่ดาวน์โหลดมาโดยใช้สิทธิ์รูทของกระบวนการอัปเดตอัตโนมัติ

น่าเสียดายที่แม้ว่าไดเร็กทอรีที่ใช้จัดเก็บแพ็คเกจการอัปเดตจะเป็นเจ้าของโดยรูท แต่ในความพยายามที่จะรักษาความปลอดภัยจากการสอดรู้สอดเห็นผู้ใช้ที่พยายามจะล้มล้างไฟล์อัพเดตในขณะที่กำลังใช้งานอยู่...

…ไฟล์แพ็คเกจที่ดาวน์โหลดใหม่ถูกปล่อยให้ "เขียนได้ทั่วโลก" ในตำแหน่งใหม่ (ผลข้างเคียงจากการถูกดาวน์โหลดโดยบัญชีปกติ ไม่ใช่โดยรูท)

สิ่งนี้ทำให้ผู้โจมตีในพื้นที่มีช่องโหว่ในการแก้ไขแพ็คเกจการอัพเดท หลังจาก ลายเซ็นดิจิทัลได้รับการตรวจสอบแล้ว (ขั้นตอนที่ 2) โดยไม่กระทบกระเทือน เวอร์ชันตรวจสอบรายละเอียด (ขั้นตอนที่ 3) แต่ ก่อนหน้านี้ โปรแกรมติดตั้งเข้าควบคุมไฟล์แพ็คเกจเพื่อประมวลผลด้วยสิทธิ์ของรูท (ขั้นตอนที่ 4)

บั๊กประเภทนี้เรียกว่า a สภาพการแข่งขันเนื่องจากผู้โจมตีจำเป็นต้องกำหนดเวลาเสร็จสิ้นเพื่อที่พวกเขาจะได้กลับบ้านก่อนที่โปรแกรมติดตั้งจะเริ่มทำงาน ดังนั้นจึงควรแอบดูการเปลี่ยนแปลงที่เป็นอันตรายล่วงหน้า

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

ปัญหาของ TOCTOU คือสาเหตุที่บริษัทให้เช่ารถยนต์ในสหราชอาณาจักรไม่เพียงแค่ขอดูใบขับขี่ของคุณอีกต่อไป ซึ่งอาจออกเมื่อ 10 ปีที่แล้ว และอาจถูกระงับหรือยกเลิกด้วยเหตุผลหลายประการตั้งแต่นั้นมา น่าจะเป็นเพราะ จากการขับขี่ที่ไม่ปลอดภัยหรือผิดกฎหมายในส่วนของคุณ นอกจากใบอนุญาตจริงแล้ว คุณยังจำเป็นต้องแสดงรหัส "หลักฐานยืนยันความถูกต้องล่าสุด" แบบตัวเลขและแบบใช้ครั้งเดียว ซึ่งออกให้ภายใน 21 วันที่ผ่านมา เพื่อลดช่องว่างที่อาจเป็นไปได้ของ TOCTOU จาก 10 ปีเหลือเพียงสามสัปดาห์

ตอนนี้การแก้ไขอยู่ใน

จากข้อมูลของ Wardle Zoom ได้ป้องกันจุดบกพร่องนี้ด้วยการเปลี่ยนสิทธิ์การเข้าถึงไฟล์แพ็คเกจการอัพเดทที่คัดลอกไว้ในขั้นตอนที่ 1 ด้านบน

ไฟล์ที่ใช้สำหรับการตรวจสอบลายเซ็น การตรวจสอบเวอร์ชัน และการติดตั้งระดับรากสุดท้ายจะถูกจำกัดการเข้าถึงโดยบัญชีรูทเท่านั้น ตลอดเวลา

การดำเนินการนี้จะลบสภาวะการแข่งขัน เนื่องจากผู้โจมตีที่ไม่มีสิทธิพิเศษไม่สามารถแก้ไขไฟล์ระหว่างจุดสิ้นสุดของขั้นตอนที่ 2 (การตรวจสอบสำเร็จ) และจุดเริ่มต้นของขั้นตอนที่ 4 (เริ่มการติดตั้ง).

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

ปัญหา TOCTOU ใช้ไม่ได้เนื่องจากการเช็คอินในขั้นตอนที่ 2 ยังคงใช้ได้จนกว่าการใช้ไฟล์จะเริ่มต้นขึ้น โดยไม่ทิ้งหน้าต่างโอกาสสำหรับการตรวจสอบที่จะใช้งานไม่ได้

จะทำอย่างไร?

หากคุณใช้ Zoom บน Mac ให้เปิดแอพ จากนั้นไปที่ . ในแถบเมนู zoom.us > Check for Updates...

หากมีการอัปเดต เวอร์ชันใหม่จะปรากฏขึ้น และคุณสามารถคลิก [Install] เพื่อใช้แพทช์:

Zoom for Mac แพตช์แก้ไขข้อผิดพลาดในการรูท – อัปเดตทันที! PlatoBlockchain ข้อมูลอัจฉริยะ ค้นหาแนวตั้ง AI.

รุ่นที่คุณต้องการคือ 5.11.5 (9788) หรือหลังจากนั้น


ประทับเวลา:

เพิ่มเติมจาก ความปลอดภัยเปล่า