OnePlus ออกจากแอปทดสอบทางวิศวกรรมของ Qualcomm ซึ่งทำหน้าที่เป็นแบ็คดอร์เพื่อให้สิทธิ์การเข้าถึงรูทบน OnePlus 3, 3T และ 5
อัปเดต: OnePlus ได้ออกไฟล์ การตอบสนองอย่างเป็นทางการ ถึงเรื่องนี้ พวกเขาจะลบฟังก์ชันรูทของ ADB ออกจาก EngineerMode ในการอัปเดตที่กำลังจะมาถึง
เป็นเวลากว่าหนึ่งเดือนแล้วนับตั้งแต่พบว่า OnePlus กำลังรวบรวม ข้อมูลที่สามารถระบุตัวบุคคลได้สำหรับการวิเคราะห์. บริษัทกลับทิศทางอย่างรวดเร็ว และในการอัปเดตบริษัทสัญญาว่าจะโปร่งใสมากขึ้นโดยให้ผู้ใช้ทราบอย่างชัดเจน ตัวเลือกในการยกเลิกการวิเคราะห์ OxygenOS. แม้ว่าภัยพิบัติครั้งนั้นคลี่คลายไปแล้ว แต่อีกเหตุการณ์หนึ่งกำลังสร้างความน่าเกลียดในคืนนี้ ผู้ใช้ Twitter ที่ใช้ชื่อ "เอลเลียต อัลเดอร์สัน(ตั้งชื่อตามตัวละครหลักของซีรีส์โทรทัศน์ Mr. Robot ยอดนิยม) ได้ค้นพบว่า OnePlus ทิ้งแอปพลิเคชันทดสอบการวินิจฉัยไว้โดยไม่ได้ตั้งใจ ทำโดยวอลคอมม์ หลังจากถอดรหัสแอปพลิเคชันนี้แล้ว เขาก็ค้นพบว่าสามารถเป็นได้ ใช้ประโยชน์เพื่อให้สิทธิ์การเข้าถึงรูท โดยทำหน้าที่เป็นแบ็คดอร์อย่างมีประสิทธิภาพ.
แอปพลิเคชันนี้เรียกว่า "EngineerMode" และโดยพื้นฐานแล้วเป็นแอปพลิเคชันระบบที่สร้างโดย Qualcomm และมอบให้กับ OEM เช่น OnePlus เพื่อให้ OEM สามารถทดสอบส่วนประกอบฮาร์ดแวร์ทั้งหมดของเครื่องได้อย่างง่ายดาย อุปกรณ์. แอปพลิเคชันได้รับการติดตั้งไว้ล่วงหน้าบนอุปกรณ์ OnePlus 3, OnePlus 3T และ OnePlus 5 ทั้งหมด และสามารถเข้าถึงได้ง่ายผ่านตัวเรียกใช้งานกิจกรรมใดๆ เนื่องจากกิจกรรมทั้งหมดของแอปจะถูกส่งออก
เราจริงๆ ครอบคลุมถึงการมีอยู่ของแอปพลิเคชันนี้เมื่อหลายเดือนก่อนแต่ตอนนั้นเราไม่รู้ว่าจะใช้ทำอะไรได้บ้าง ผู้ใช้ Twitter ถอดรหัสแอปพลิเคชัน (แหล่งที่มาของแอปพลิเคชันถูกโพสต์ทางออนไลน์) ที่นี่) และพบกับกิจกรรมที่น่าสนใจชื่อว่า DiagEnabled โดยเฉพาะอย่างยิ่ง วิธีการหนึ่งที่โดดเด่นภายในกิจกรรม: escalatedUp วิธีการนี้ยอมรับค่าบูลีน (จริง/เท็จ) และสตริง สตริงคือรหัสผ่านที่ถูกตรวจสอบโดยวิธีการก่อนที่จะตั้งค่าคุณสมบัติของระบบ persist.sys.adbroot
และ oem.selinux.reload_policy
ถึง 1
คุณสมบัติระบบแรกมีความน่าสนใจเป็นพิเศษเนื่องจากอนุญาตให้ผู้ใช้เรียกใช้ ADB ในฐานะรูท นี่เป็นการเปิดความเป็นไปได้ในการเข้าถึงรูทบนโทรศัพท์โดยสมบูรณ์โดยไม่ต้องปลดล็อคโปรแกรมโหลดบูต แล้วคุณจะได้รับแอป EngineerMode เพื่อตั้งค่าคุณสมบัติระบบเหล่านี้เป็น '1' ได้อย่างไร
@ fs0c131y จำเป็นต้องค้นหารหัสผ่านที่ถูกต้องเพื่อส่งเจตนาเพื่อส่งผ่านตรรกะในวิธีที่โพสต์ด้านบน การค้นหารหัสผ่านนี้ไม่ใช่เรื่องง่าย เขาถอดรหัสไลบรารีที่รับผิดชอบในการสร้างรหัสผ่าน (เรียกว่า libdoor.so) และพบว่ารหัสแฮชของรหัสผ่านอยู่ที่ใด: /data/backup/fpwd
. รหัสผ่านถูกสร้างขึ้นจากคุณสมบัติบิลด์ต่างๆ เช่น ro.product.model
และ ro.product.brand
และไม่ใช่เรื่องง่ายที่จะทำวิศวกรรมย้อนกลับ
โชคดีที่ได้รับความช่วยเหลือ เดวิด ไวน์สตีน และ ตอนนี้ปลอดภัยแล้ว บน Twitter เขาค้นพบรหัสผ่านที่ EngineerMode ต้องการเพื่อขยาย ADB ให้เป็นสิทธิ์รูท
สิ่งที่คุณต้องทำคือส่งเจตนาในรูปแบบนี้:
adb shell am start -n com.android.engineeringmode/.qualcomm.DiagEnabled --es "code""angela"
โดยที่ com.android.engineeringmode/.qualcomm DiagEnabled คือชื่อส่วนประกอบของกิจกรรม DiagEnabled ที่เราใช้หาประโยชน์ และ "code" คือชื่อสตริง และ "angela" คือค่ารหัสผ่านที่เกี่ยวข้อง
@ fs0c131y ระบุว่าเขาจะทำ เผยแพร่แอปพลิเคชัน ในไม่ช้านี้จะส่งความตั้งใจนี้เพื่อยกระดับ ADB ไปสู่สิทธิ์รูท แพตช์อิมเมจสำหรับบูตเพื่อปิดการใช้งาน dm-verity และติดตั้ง su ไบนารี จับตาดูฟอรัม XDA ว่าแอปพลิเคชันรูทนี้จะถูกโพสต์เมื่อใด
สิ่งนี้มีความหมายสำหรับผู้ใช้ปลายทางคือคุณสามารถทำได้ รูทเครื่อง OnePlus 3, OnePlus 3T และ OnePlus 5 ของคุณได้อย่างง่ายดายโดยไม่ต้องปลดล็อคโปรแกรมโหลดบูตของคุณ. การหาช่องโหว่นี้ไม่อนุญาตให้แอปที่เป็นอันตรายให้สิทธิ์การเข้าถึงรูทแก่ตัวเอง ดังนั้น เว้นแต่จะมีใครเข้าถึงอุปกรณ์ของคุณเพื่อตั้งค่า ADB คุณก็ปลอดภัยจากการถูกหาประโยชน์
ในกรณีที่คุณต้องการป้องกันตัวเองจากการถูกโจมตีนี้ คุณสามารถทำได้ ถอนการติดตั้งแอพจากผู้ใช้ปัจจุบัน ซึ่งจะป้องกันไม่ให้เจตนาถูกส่งไปยังแอป EngineerMode เพียงใช้คำสั่งต่อไปนี้ใน ADB:
adbshellpmuninstall-k--user 0 com.android.engineermode
แน่นอนว่านี่ยังถือว่าเป็นการหาประโยชน์ และเราหวังว่า OnePlus จะแพทช์ในเร็วๆ นี้ สิ่งที่พวกเขาต้องทำจริงๆ คือลบแอปพลิเคชันนี้ออกจากเวอร์ชันในอนาคต
อัปเดต 1: รหัสผ่านคือ 'angela'
ผู้ใช้ @ fs0c131y โพสต์อัปเดตบนหน้า Twitter ของเขาพร้อมรหัสผ่านที่คุณต้องใช้เพื่อเข้าสู่เชลล์ ADB ที่รูท รหัสผ่านนั้นคือ...แองเจล่า. สำหรับคนที่ไม่ได้ดู Mr. Robot แองเจล่าคือชื่อของหนึ่งในตัวละครเอก ฉันเดาว่าต้องมีแฟน ๆ ของ Mr. Robot จำนวนมากที่ Qualcomm
หากคุณป้อนคำสั่งที่ฉันโพสต์ไว้ข้างต้นใน ADB คุณจะสังเกตเห็นว่า ADB ยกเลิกการเชื่อมต่อทันทีและเซิร์ฟเวอร์จะรีสตาร์ท เข้าสู่ ADB อีกครั้ง และคุณจะสังเกตเห็นว่าตอนนี้เป็นเชลล์ที่รูทแล้ว
อัปเดต 2: รหัสผ่านได้มาอย่างไร
บริษัทรักษาความปลอดภัย Now Secure ได้เผยแพร่บล็อกโพสต์โดยระบุรายละเอียดว่าพวกเขาได้รับรหัสผ่านที่จำเป็นสำหรับการรูทช่องโหว่นี้ได้อย่างไร คุณสามารถอ่านโพสต์เต็มได้ที่นี่.
อัปเดต 3: อุปกรณ์อื่นๆ ที่ได้รับผลกระทบ
ข่าวล่าสุดนี้ไม่น่าแปลกใจ แต่มีอุปกรณ์จำนวนมากขึ้นที่ได้รับผลกระทบจากช่องโหว่นี้ นั่นเป็นเพราะแอป EngineerMode เป็นแอป Qualcomm ดังนั้นจึงเป็นไปได้ที่ OEM รายอื่นจะปล่อยแอปไว้ล่วงหน้าบนอุปกรณ์ของตน จนถึงตอนนี้ ผู้ใช้ได้ติดต่อไปที่ @fs0c131y บน Twitter เพื่อยืนยันว่าได้ติดตั้งแอปพลิเคชันแล้ว อุปกรณ์ Asus Zenfone และ Xiaomi บางรุ่น. คุณสามารถตรวจสอบได้อย่างง่ายดายว่าอุปกรณ์ของคุณมีแอปพลิเคชันนี้หรือไม่โดยเข้าไปที่การตั้งค่าและดูว่ามีแอปใดบ้างที่ติดตั้งอยู่
อัปเดต 4: การรูทอุปกรณ์ของคุณ
การใช้คำสั่งไม่กี่คำสั่งผ่านเชลล์ ADB ที่รูทแล้ว ก็สามารถทำได้แล้ว ผลักไบนารี su ไปยังอุปกรณ์ของคุณ. เมื่อใช้สิ่งนั้น คุณจะสามารถติดตั้งแอปตัวจัดการรูทเช่น SuperSU จากนั้นให้สิทธิ์การเข้าถึงรูทแก่แอปอื่น ๆ ได้อย่างอิสระ ทั้งหมดนี้โดยไม่ต้องปลดล็อค bootloader ของคุณ!
อัปเดต 5: OnePlus ตอบสนอง
OnePlus ได้ตอบสนองต่อสถานการณ์อย่างเป็นทางการแล้ว ใน โพสต์บล็อกบริษัทขอย้ำว่าช่องโหว่นี้สามารถนำไปใช้ได้ก็ต่อเมื่อผู้โจมตีสามารถเข้าถึงอุปกรณ์ได้และเปิดใช้งานการแก้ไขจุดบกพร่อง USB เท่านั้น เพื่อเปิดใช้งานการแก้ไขจุดบกพร่อง USB ผู้โจมตีต้องใช้ PIN/รหัสผ่านของอุปกรณ์ของคุณด้วย ดังนั้นรูทแบ็คดอร์จึงไม่สามารถหาประโยชน์ได้ง่ายจากแอปหรือบุคคลใดๆ แต่อย่างไรก็ตาม OnePlus จะแก้ไขข้อกังวลของผู้ใช้โดยการลบฟังก์ชันนี้ออกจากแอป EngineerMode