ฉันมีคำถามนี้เมื่อไม่กี่เดือนที่ผ่านมาและฉันพบคำตอบนี้จากการวิจัยบางอย่างดังนั้นฉันจึงคิดว่าจะแบ่งปันการวิจัยของฉันในเว็บไซต์นี้โดยตอบคำถามโดยพิจารณาข้อมูลปลอมทางออนไลน์ (ตัวอย่างเช่นเว็บไซต์ 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 จากไวรัสและการดัดแปลงที่ไม่ได้รับอนุญาต มันทำงานเหมือนสายโซ่ของฮาร์ดแวร์และซอฟต์แวร์ที่แต่ละส่วนตรวจสอบส่วนต่อไป บนพื้นฐานทีละขั้นตอน:
- เมื่อคุณเปิดอุปกรณ์ฟังก์ชั่นฮาร์ดแวร์ (บางครั้งเรียกว่า Boot ROM) จะเริ่มขึ้น Boot ROM ถูกเขียนลงในฮาร์ดแวร์และไม่สามารถเปลี่ยนแปลงได้
- Boot ROM ตรวจสอบซอฟต์แวร์แรกใน CoT ซึ่งเป็น bootloader ซึ่งเป็นไบนารีไบบบิตแบบดิบซึ่งบางครั้งเรียกว่า preloader (บางครั้ง Boot ROM จะโหลดและใช้พาร์ทิชัน / ไบนารีแบบกำหนดเองพิเศษขึ้นอยู่กับผู้ขาย) หาก bootloader ไม่ผ่านการตรวจสอบอุปกรณ์จะปิดตัวลง หากผ่าน Boot Boot จะรัน bootloader
- bootloader จะตรวจสอบตัวเลือกที่ผ่านไปโดย Boot ROM และเลือกโหมดการบูตที่เหมาะสม โหมดการบูตปกติที่มีอยู่ในเกือบทุกอุปกรณ์คือการบูต Android ปกติการกู้คืนและ Fastboot / ดาวน์โหลด
หาก bootloader ถูกล็อคมันจะตรวจสอบว่าส่วนต่อไปของ CoT ที่จะรันนั้นไม่เสียหายและหากเป็นเช่นนั้น bootloader จะรัน หากไม่เป็นเช่นนั้นก็สามารถปิดเครื่องรีบูตหรือติดอยู่ในโหมด bootloader พิเศษขึ้นอยู่กับรุ่นของอุปกรณ์
หาก bootloader ถูกปลดล็อคจะไม่ตรวจสอบส่วนถัดไปของ CoT แต่โหลดโดยตรง
- ส่วนต่อไปจะเรียกว่าพาร์ทิชันบูต มันจัดการวิธีการบูตระบบเอง ใน 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 ที่รองรับพวกเขาจะใช้เวลาส่วนใหญ่ แต่มีความเป็นส่วนตัวและความปลอดภัยที่คุณควรพิจารณาก่อนดำเนินการต่อ
ฉันหวังว่างานวิจัยของฉันจะช่วยคนในอนาคตที่ได้รับปัญหาเช่นเดียวกับฉัน :)
VERIFIED / SECURE BOOT
ส่วน: forum.xda-developers.com/android/general/ …