Dirty Pipe เป็นข้อบกพร่องของ Linux ที่เพิ่งค้นพบซึ่งสามารถนำไปใช้เพื่อเข้าถึงรูทได้ ข้อบกพร่องนี้ยังส่งผลต่อโทรศัพท์ Android บางรุ่นด้วย อ่านต่อ!
จุดแข็งที่สุดประการหนึ่งของเคอร์เนล Linux ส่วนใหญ่เป็นลักษณะของโอเพ่นซอร์ส ซึ่งช่วยให้ผู้มีส่วนได้ส่วนเสียสามารถแยก ปรับเปลี่ยน และแจกจ่ายเคอร์เนลในลักษณะที่เหมาะสมกับความต้องการเฉพาะของพวกเขา แต่ข้อดีของการเป็นโอเพ่นซอร์สนี้ทำหน้าที่เหมือนดาบสองคมเมื่อพูดถึงการมีอยู่ของช่องโหว่ด้านความปลอดภัยที่ไม่ได้รับแพตช์และสถานการณ์ที่สามารถใช้ประโยชน์ได้ที่เกี่ยวข้อง ในขณะที่นักพัฒนาและ OEM ชื่อดังกำลังทำงานอย่างหนักเพื่อเพิ่มความปลอดภัยโดยรวมของระบบนิเวศ Linux (ซึ่งรวมถึง Android ด้วย) ช่องโหว่และช่องโหว่ใหม่ ๆ โผล่ขึ้นมาและเลื่อนอยู่ใต้ เรดาร์. ความผิดพลาดครั้งนี้ดูเหมือนจะค่อนข้างร้ายแรงอย่างน่าเสียดาย
ปลาที่ไม่ดีตัวใหม่ล่าสุดในบ่อถูกค้นพบโดยนักวิจัยด้านความปลอดภัย Max Kellermann ชื่อเล่น ท่อสกปรกช่องโหว่นี้อนุญาตให้เขียนทับข้อมูลในไฟล์อ่านอย่างเดียวโดยพลการ แม้ว่าจะได้รับการแพตช์แล้วในเคอร์เนล mainline Linux แต่จุดบกพร่องอาจถูกติดอาวุธได้ รูปแบบของการหาประโยชน์จากการเพิ่มระดับสิทธิ์บนอุปกรณ์ทุกเครื่องที่ใช้เคอร์เนล Linux เวอร์ชัน 5.8 หรือ ใหม่กว่า นอกจากนี้ยังหมายถึงสมาร์ทโฟน Android ที่เพิ่งเปิดตัวจำนวนมากเช่น
ซัมซุงกาแล็คซี่ S22 และ กูเกิลพิกเซล 6 ก็มีความเสี่ยงเช่นกัน จนกว่าแต่ละอุปกรณ์จะได้รับเคอร์เนลแพตช์ที่เหมาะสมจาก OEM ที่เกี่ยวข้องต้นกำเนิดของท่อสกปรก
Kellermann พบกับความผิดปกติดังกล่าวในเดือนเมษายน 2021 แต่เขาต้องใช้เวลาอีกสองสามเดือนกว่าจะค้นพบช่องโหว่ที่พิสูจน์แนวคิดได้ จัดทำรายการอย่างเป็นทางการว่า CVE-2022-0847ช่องโหว่ดังกล่าวทำให้ผู้ใช้ที่ไม่มีสิทธิ์สามารถแทรกและเขียนทับข้อมูลในไฟล์แบบอ่านอย่างเดียว รวมถึงกระบวนการ SUID ที่ทำงานในฐานะรูท ชื่อเล่นที่เป็นภาษาพูดดูเหมือนจะเป็นการเล่นกับสิ่งที่น่าอับอาย วัวสกปรก บั๊ก และกลไกลินุกซ์ที่เรียกว่า ไปป์ไลน์ สำหรับการส่งข้อความระหว่างกระบวนการ เนื่องจากข้อความหลังถูกใช้ในระหว่างรูทีนการหาประโยชน์
Dirty Pipe สำหรับผู้ใช้ Android มีความร้ายแรงแค่ไหน?
เนื่องจากเคอร์เนล Linux เวอร์ชัน 5.8 (หรือสูงกว่า) เป็นเพียงตัวเลือก Android เท่านั้น ตั้งแต่ Android 12อุปกรณ์รุ่นเก่าจะไม่ได้รับผลกระทบ อย่างไรก็ตาม สมาร์ทโฟนที่ใช้ Qualcomm Snapdragon 8 Gen 1, MediaTek Dimensity 8000 และ Dimensity 9000, Samsung Exynos 2200 และ Google Tensor SoC มีความเสี่ยงต่อข้อบกพร่อง Dirty Pipe เนื่องจากการสร้างเคอร์เนลการเปิดตัว
โปรดทราบว่า Dirty Pipe ในตัวมันเองไม่ใช่การหาประโยชน์ แต่เป็นช่องโหว่ อย่างไรก็ตาม ช่องโหว่นี้ทำให้สามารถปรับเปลี่ยนไบนารี่ที่ใช้โดยบริการพิเศษหรือสร้างบัญชีผู้ใช้ใหม่ด้วยสิทธิ์รูทได้ ด้วยการใช้ประโยชน์จากช่องโหว่นี้ กระบวนการพื้นที่ผู้ใช้ที่เป็นอันตรายในทางเทคนิคจะสามารถเข้าถึงรูทบนอุปกรณ์ของเหยื่อได้อย่างเสรี
จนถึงตอนนี้ Google ได้ทำอะไรเพื่อต่อสู้กับ Dirty Pipe?
อ้างอิงจาก Kellermann, Google ผสาน แก้ไขข้อบกพร่องของเขาด้วยเคอร์เนล Android เมื่อเดือนที่แล้ว หลังจากนั้นไม่นาน ที่ตายตัว ด้วยการเปิดตัวเคอร์เนล Linux เวอร์ชัน 5.16.11, 5.15.25 และ 5.10.102 ต้องบอกว่าเราอาจต้องรอสักครู่ก่อนที่ OEM จะเริ่มเผยแพร่การอัปเดต Android ที่มีการแก้ไข ตัวอย่างเช่น Pixel 6 ในบ้านของ Google ยังคงมีความเสี่ยง แต่ผู้ใช้ระดับสูงสามารถลดข้อบกพร่องได้โดยการติดตั้งเคอร์เนลแบบกำหนดเองหลังการขายที่ได้รับการติดตั้งเป็นตัวเลือกสำรอง
บันทึกปิดท้าย
แม้ว่าโอกาสที่จะพลาดบางสิ่งที่ร้ายแรงอย่างไม่น่าเชื่อจะลดลงโดยการมีสายตามากขึ้นในการตรวจสอบโค้ด แต่การเกิดขึ้นของ Dirty Pipe ท่ามกลางการหาประโยชน์ประเภทอื่นๆ (อีกครั้ง) สร้างความจริงที่ว่าเราทุกคนยังคงเป็นมนุษย์และผูกพันที่จะทำผิดพลาด การแบ่งส่วนมักเป็นหัวใจสำคัญของปัญหาที่นี่ เนื่องจากการหาช่องโหว่เหล่านี้จำนวนมากได้รับการแก้ไขในเคอร์เนลรุ่นใหม่ แต่น่าเสียดายที่จะไม่นำไปใช้กับอุปกรณ์ที่มีอยู่จำนวนมาก
ความผิดส่วนใหญ่อยู่ที่ความไม่แยแสของ OEM และสถานการณ์ดังกล่าวไม่น่าจะเปลี่ยนแปลงได้ในเร็ว ๆ นี้ โดยเฉพาะในตลาดสมาร์ทโฟนระดับเริ่มต้น โดยทั่วไปแล้วพวกเราที่ XDA ยินดีต้อนรับความสามารถสำหรับผู้ใช้ในการเข้าถึงรูท แต่เราไม่ได้เฉลิมฉลอง การมีอยู่ของการหาประโยชน์จากรูทเช่นนี้ โดยเฉพาะอย่างยิ่งสิ่งที่อาจเป็นอันตรายต่อ ผู้ใช้ปลายทาง
คุณคิดอย่างไรกับ Dirty Pipe และสถานะความปลอดภัยในปัจจุบันของ Android แจ้งให้เราทราบในความคิดเห็นด้านล่าง!
แหล่งที่มา:การเปิดเผย Dirty Pipe โดย Max Kellermann