Saya memiliki pertanyaan ini beberapa bulan yang lalu, dan saya menemukan jawaban ini melalui beberapa penelitian, jadi saya berpikir untuk membagikan penelitian saya di situs ini dengan menjawab pertanyaan saya, mengingat informasi palsu online. (Misalnya, situs resmi KingoRoot mengatakan bahwa ia dapat melakukan root pada Android Oreo yang merupakan informasi yang sepenuhnya salah)
Bagaimana cara kerja aplikasi rooting?
Ada cukup banyak aplikasi rooting, KingRoot, KingoRoot, Z4Root, Root Genius, Universal Androot untuk beberapa nama populer / dulu aplikasi populer. Semuanya menggunakan eksploit / kerentanan / celah di OS Android untuk memberi diri mereka hak istimewa untuk aplikasi sistem atau bahkan OS Android itu sendiri. Dan kemudian mereka me-mount sebagai baca / tulis direktori bernama /system
yang menampung proses yang diperlukan untuk menjalankan sistem dan aplikasi sistem, dan menempatkan biner bernama su
di tempat direktori, yaitu /system/bin/su
. Jika beberapa aplikasi membutuhkan root, aplikasi mengeksekusi biner itu, dan Anda melihat prompt apakah mengizinkan atau menolak akses root.
Eksploitasi / kerentanan yang ditemukan diberi CVEID, dan kemudian dirinci di situs web CVE , dan diperbaiki di Buletin Keamanan Android . Contohnya adalah kerentanan DirtyC0W terkenal yang diberi CVEID CVE-2016-5195
, yang mengganggu dan masih mengganggu kernel Linux yang lebih tua. Hampir semua aplikasi yang disebutkan di atas mengeksploitasi kerentanan ini.
Mengapa aplikasi rooting tidak berfungsi lagi?
Seperti yang dirujuk dalam Buletin di atas, Google memperbaiki serangkaian masalah di Android setiap bulan. Jadi ruang lingkup kerentanan sangat menurun. Semua kerentanan yang digunakan aplikasi rooting hingga saat ini telah diperbaiki di tambalan keamanan sekitar 2018 Januari .
Tetapi mungkin ada masalah yang beberapa produsen lupa untuk tambal! Bagaimana dengan mereka?
Pada Android 6.0.0 atau lebih baru, itu hanya akan menyebabkan perangkat tidak bisa boot lagi. Untuk memahami alasannya, kita harus melihat konsep bernama Chain of Trust .
Chain of Trust , disingkat CoT, adalah mekanisme keamanan yang diperkenalkan untuk melindungi OS Android dari virus dan modifikasi yang tidak sah. Ini bekerja seperti rantai perangkat keras dan perangkat lunak, di mana setiap bagian memverifikasi bagian selanjutnya. Secara bertahap:
- Saat Anda menghidupkan perangkat, fungsi perangkat keras (kadang-kadang disebut Boot ROM) dimulai. Boot ROM dibakar ke dalam perangkat keras dan tidak dapat diubah.
- Boot ROM memverifikasi perangkat lunak pertama dalam CoT, bootloader yang merupakan gumpalan biner mentah, kadang-kadang disebut preloader. (Juga Boot ROM terkadang memuat dan menggunakan partisi / binari khusus khusus tergantung pada vendornya) Jika bootloader tidak lolos verifikasi, perangkat dimatikan. Jika lewat, Boot ROM menjalankan bootloader.
- Bootloader memeriksa opsi yang diteruskan oleh Boot ROM, dan memilih mode boot yang sesuai. Mode boot biasa yang ada di hampir setiap perangkat adalah boot Android normal, Pemulihan dan Fastboot / Unduh.
Jika bootloader dikunci , memverifikasi apakah bagian selanjutnya CoT yang akan dijalankan masih utuh, dan jika itu, bootloader akan menjalankannya. Jika tidak, ia dapat mati, reboot, atau macet dalam mode bootloader khusus tergantung pada model perangkat.
Jika bootloader tidak terkunci, itu tidak memverifikasi bagian selanjutnya dari CoT tetapi langsung memuatnya.
- Bagian selanjutnya disebut partisi boot . Ini menangani cara untuk mem-boot sistem itu sendiri. Dalam versi Android pada / lebih baru dari 6.0.0 (Lollipop), itu juga memverifikasi jika sistem masih utuh, dan jika dimodifikasi, itu dimatikan.
Seperti disebutkan pertama, aplikasi root ini mengeksploitasi kerentanan untuk memodifikasi /system
, yang diverifikasi oleh partisi boot seperti yang disebutkan pada Tahap 4 di atas. Jadi modifikasi apa pun akan menyebabkan perangkat tidak bisa boot. Keadaan ini biasanya disebut sebagai "bata lunak", yang hanya dapat diperbaiki dengan flash ulang.
Jadi perangkat yang lebih baru mengharuskan bootloader untuk dibuka jika Anda ingin me-root perangkat Anda. Perangkat ini di-root dengan mem-flash pemulihan dengan lebih banyak opsi daripada pemulihan normal (seperti TWRP, ClockWorkMod), biasanya disebut sebagai pemulihan khusus, dan menggunakannya untuk memodifikasi partisi boot (dan menonaktifkan verifikasi sistem). Dimungkinkan juga untuk secara langsung memodifikasi partisi boot tanpa pemulihan kustom.
Beberapa produsen memberikan cara untuk membuka kunci bootloader, dan beberapa di antaranya tidak. Perangkat populer dengan bootload yang dikunci (misalnya operator AS mengunci perangkat Samsung S) cenderung dieksploitasi oleh komunitas modding Android.
Perangkat saya masih Android 5.1.1 atau lebih tua! Haruskah saya menggunakan ini untuk root?
Sebagian besar perangkat yang lebih lama dapat di-root oleh aplikasi rooting. Jadi kamu bisa. Seharusnya kamu? Itu tergantung pada preferensi Anda. Akses root memberikan kekuatan pada semua yang ada di OS, dan dengan akses root, biasanya tidak memerlukan waktu bahkan mikrodetik untuk memastikan bahwa perangkat Anda tidak akan pernah boot lagi. Sangat mungkin bahwa aplikasi rooting tidak akan pernah melakukan itu, tetapi mereka bisa melakukannya. Juga, dengan mem-root aplikasi dapat mengakses semua yang dilakukan perangkat Anda, dan semua yang dimilikinya dalam memorinya termasuk informasi kartu kredit Anda, kata sandi, dll. Jika itu terdengar seperti ancaman privasi yang serius bagi Anda, mungkin jangan gunakan aplikasi root. Jika Anda tidak peduli tentang itu, Anda dapat mencobanya.
Jika Anda cukup cerdas, ada sumber dari hampir semua eksploitasi yang digunakan aplikasi root. Anda dapat mencoba mencari mereka dengan CVEID, mencarinya di Git, mengkompilasi dan menjalankannya dan mencoba untuk mendapatkan shell root, dan Anda akan dapat menginstal su
biner dan dependensi lainnya sendiri.
Juga, KingoRoot telah dikenal karena mengirim data yang sangat sensitif seperti IMEI dan Nomor Seri ke server mereka. Kemungkinannya mereka tidak akan pernah menggunakannya, tetapi, itulah keputusan Anda pada akhirnya. Dan KingRoot dikenal untuk menginstal backdoor di SDK-nya yang memungkinkan beberapa aplikasi mendapatkan akses root tanpa izin oleh pengguna.
Kesimpulan
Era aplikasi rooting sudah lama berlalu. Aplikasi rooting tidak berfungsi lagi dan jika Anda menggunakannya pada versi Android yang lebih baru Anda berisiko merusak perangkat Anda dan mungkin kehilangan semua data Anda. Jika Anda menggunakannya pada versi Android yang didukung, mereka akan berfungsi sebagian besar waktu, tetapi ada masalah privasi dan keamanan yang harus Anda pertimbangkan sebelum melanjutkan.
Saya berharap penelitian saya akan membantu seseorang di masa depan yang mendapat masalah yang sama dengan saya. :)
VERIFIED / SECURE BOOT
bagian: forum.xda-developers.com/android/general/…