ทำไมแอปที่รูทเครื่องไม่ทำงานอีกต่อไป


10

สองสามปีที่ผ่านมามันง่ายที่จะรูทอุปกรณ์ใด ๆ : ติดตั้ง KingRoot, KingoRoot หรือแอพที่คล้ายกันกดปุ่ม ROOT ที่มีขนาดใหญ่และปล่อยให้มันทำงานส่วนที่เหลือ หลังจาก 5 นาทีหรือมากกว่านั้น "รูตสำเร็จ"! พรอมต์จะปรากฏขึ้นและเราสามารถเลือกที่จะเก็บแอพรูทหรือถอนการติดตั้งและติดตั้งแอพจัดการรูทที่สะอาดเช่น SuperSU / Superuser

พวกเขาทำงานอย่างไร ทำไมพวกเขาถึงไม่ทำงานอีกต่อไป? และถ้าพวกเขาทำงานฉันควรใช้พวกเขาหรือไม่?


2
สิ่งนี้อาจเป็นประโยชน์โดยเฉพาะอย่างยิ่งในVERIFIED / SECURE BOOTส่วน: forum.xda-developers.com/android/general/ …
Irfan Latif

คำตอบ:


16

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

แอปการรูททำงานอย่างไร

มีแอพรูทค่อนข้างมาก, KingRoot, KingoRoot, Z4Root, รูทจีเนียส, Universal Androot เพื่อตั้งชื่อแอพยอดนิยม / เคยเป็นแอพยอดนิยม พวกเขาทั้งหมดใช้ช่องโหว่ / ช่องโหว่ / ช่องโหว่ใน Android OS เพื่อมอบสิทธิ์พิเศษให้กับแอพระบบหรือแม้แต่ระบบปฏิบัติการ Android และแล้วพวกเขาติดเป็นอ่าน / เขียนไดเรกทอรีชื่อ/systemที่บ้านกระบวนการที่จำเป็นต้องได้รับระบบการทำงานและการปพลิเคชันระบบและวางไบนารีที่มีชื่อในสถานที่ของไดเรกทอรีคือsu /system/bin/suหากแอพบางตัวต้องการรูทแอปจะดำเนินการไบนารีนั้นและคุณจะเห็นพรอมต์ว่าจะอนุญาตหรือปฏิเสธการเข้าถึงรูท

พฤติกรรม / ช่องโหว่ที่ได้รับการค้นพบจะได้รับ CVEID แล้วรายละเอียดในเว็บไซต์ CVEและการแก้ไขในAndroid กระดานข่าวความปลอดภัย ตัวอย่างคือช่องโหว่ DirtyC0W ที่น่าอับอายซึ่งได้รับ CVEID ซึ่งได้รับการCVE-2016-5195รบกวนและยังทำให้เกิดความเสียหายกับเคอร์เนลลินุกซ์รุ่นเก่า แอพทั้งหมดที่กล่าวถึงข้างต้นใช้ช่องโหว่นี้

ทำไมแอปที่รูทเครื่องไม่ทำงานอีกต่อไป

ตามที่อ้างถึงใน Bulletins ด้านบน Google จะแก้ไขปัญหาต่างๆใน Android ทุกเดือน ดังนั้นขอบเขตของช่องโหว่จึงลดลงอย่างมาก ช่องโหว่ทุกการใช้งานแอพพลิเครากถึงวันที่ได้รับการแก้ไขในการปรับปรุงการรักษาความปลอดภัยบางรอบ 2018 มกราคม

แต่อาจมีปัญหาผู้ผลิตบางรายลืมที่จะแก้ไข! แล้วพวกเขาล่ะ?

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

Chain of Trustย่อมาจาก CoT เป็นกลไกการรักษาความปลอดภัยที่ได้รับการแนะนำเพื่อปกป้องระบบปฏิบัติการ Android จากไวรัสและการดัดแปลงที่ไม่ได้รับอนุญาต มันทำงานเหมือนสายโซ่ของฮาร์ดแวร์และซอฟต์แวร์ที่แต่ละส่วนตรวจสอบส่วนต่อไป บนพื้นฐานทีละขั้นตอน:

  1. เมื่อคุณเปิดอุปกรณ์ฟังก์ชั่นฮาร์ดแวร์ (บางครั้งเรียกว่า Boot ROM) จะเริ่มขึ้น Boot ROM ถูกเขียนลงในฮาร์ดแวร์และไม่สามารถเปลี่ยนแปลงได้
  2. Boot ROM ตรวจสอบซอฟต์แวร์แรกใน CoT ซึ่งเป็น bootloader ซึ่งเป็นไบนารีไบบบิตแบบดิบซึ่งบางครั้งเรียกว่า preloader (บางครั้ง Boot ROM จะโหลดและใช้พาร์ทิชัน / ไบนารีแบบกำหนดเองพิเศษขึ้นอยู่กับผู้ขาย) หาก bootloader ไม่ผ่านการตรวจสอบอุปกรณ์จะปิดตัวลง หากผ่าน Boot Boot จะรัน bootloader
  3. bootloader จะตรวจสอบตัวเลือกที่ผ่านไปโดย Boot ROM และเลือกโหมดการบูตที่เหมาะสม โหมดการบูตปกติที่มีอยู่ในเกือบทุกอุปกรณ์คือการบูต Android ปกติการกู้คืนและ Fastboot / ดาวน์โหลด

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

หาก bootloader ถูกปลดล็อคจะไม่ตรวจสอบส่วนถัดไปของ CoT แต่โหลดโดยตรง

  1. ส่วนต่อไปจะเรียกว่าพาร์ทิชันบูต มันจัดการวิธีการบูตระบบเอง ใน Android เวอร์ชันบน / ใหม่กว่า 6.0.0 (Lollipop) มันยังตรวจสอบว่าระบบยังคงอยู่และหากมีการแก้ไขมันก็ปิดตัวลง

ดังที่ได้กล่าวมาก่อนรูทแอปเหล่านี้ใช้ประโยชน์จากช่องโหว่ในการแก้ไข/systemซึ่งได้รับการตรวจสอบโดยพาร์ติชันสำหรับบูตตามที่กล่าวไว้ในขั้นตอนที่ 4ด้านบน ดังนั้นการดัดแปลงใด ๆ จะทำให้อุปกรณ์ไม่สามารถบู๊ตได้ สถานะนี้โดยทั่วไปเรียกว่า "อิฐอ่อน" ซึ่งสามารถแก้ไขได้โดยแฟลชใหม่เท่านั้น

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

ผู้ผลิตบางรายให้วิธีในการปลดล็อก bootloader และบางคนก็ไม่ทำเช่นนั้น อุปกรณ์ยอดนิยมที่มี bootloades ที่ถูกล็อค (เช่นอุปกรณ์ Samsung S ที่ถูกล็อคผู้ให้บริการในสหรัฐอเมริกา) มีแนวโน้มที่จะถูกใช้ประโยชน์โดยชุมชนการดัดแปลง Android

อุปกรณ์ของฉันยังคงเป็น Android 5.1.1 ขึ้นไป! ฉันควรใช้สิ่งเหล่านี้เพื่อรูทหรือไม่

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

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

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

ข้อสรุป

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

ฉันหวังว่างานวิจัยของฉันจะช่วยคนในอนาคตที่ได้รับปัญหาเช่นเดียวกับฉัน :)


โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.