Sekilas tentang Komplikasi Root & Verity Marshmallow

Pelajari tentang komplikasi baru yang ditimbulkan oleh verity dan Marshmallow dalam melakukan rooting pada perangkat yang terkunci.

Saat debu mengendap di Rilis Android 6.0, banyak sekali pengguna Nexus yang mencari OTA dan Gambar Pabrik, dan bersiap untuk versi terbaru sistem operasi Android.

Meskipun dari luar, Android 6.0 tampak (setidaknya secara visual) sangat mirip dengan Android 5.0 dan 5.1 (rilis Lollipop), ada sejumlah perubahan signifikan pada versinya. di dalam. Salah satunya berpotensi memilikinya konsekuensi untuk custom ROM dan komunitas root. Pertama, sedikit latar belakang. Jika Anda tidak tertarik dengan hal ini, langsung saja ke "Mengapa ini Penting".

Sebuah Fitur yang Disebut Verity

Masalahnya (ini masalah jika Anda suka melakukan root dan memodifikasi perangkat) berasal dari sesuatu yang saya tunjukkan sejak lama, ketika pertama kali mengenai AOSP - pengenalan dm-kebenaran ke Android. Verity adalah fitur keamanan, yang awalnya ditemukan di ChromeOS, dirancang untuk menyediakan perangkat komputasi yang terjamin dan tepercaya, mencegah perangkat lunak berbahaya memodifikasi perangkat. Kembali ke Android 4.4, Google mengumumkan kebenaran untuk Android, dan kemudian semuanya diam. Meskipun sudah ada beberapa

penelitian menggunakan kebenaran, sebagian besar keadaannya tenang. Sampai sekarang, itu saja.

Dengan Android 6.0, Google mulai meningkatkan keamanan perangkatnya. Salah satu persyaratan mendasar untuk hal ini adalah untuk mencegah perangkat lunak pada perangkat dimodifikasi tanpa sepengetahuan pengguna - meskipun banyak di sini di XDA menerima root begitu saja, bayangkan perangkat pengguna di-root tanpa sepengetahuan atau persetujuan mereka, dan akses root digunakan untuk mencuri data. Oleh karena itu, Google telah mulai menerapkan verifikasi partisi sistem pada beberapa perangkat. Mereka juga baru-baru ini memperbarui halaman dukungan untuk menutupi ini.

Apa Artinya bagi Pengguna yang Di-Root?

Dengan kebenaran yang ada, setiap perubahan yang dilakukan pada partisi sistem akan terdeteksi saat boot atau akses. Anda kemudian akan dihadapkan pada salah satu kesalahan seperti yang terlihat di atas. Beberapa mengizinkan Anda untuk melanjutkan, dan beberapa ingin melindungi Anda dengan menghentikan perangkat agar tidak melakukan booting. Ada tiga negara bagian yang tersedia. Satu ditampilkan ketika bootloader tidak terkunci, yang menunjukkan bahwa Anda mungkin berisiko sampai Anda mengunci kembali bootloader. Hal ini terjadi karena image kernel yang dimodifikasi dapat melewati kebenaran, karena ramdisk kernel berisi kunci yang digunakan untuk memverifikasi status sistem.

Hal-hal terlihat agak tidak menyenangkan bagi pengguna yang ingin melakukan root pada perangkat yang terkunci.

Keadaan berikutnya ditampilkan (mungkin) ketika verity dinonaktifkan atau dinonaktifkan, atau tidak dapat diperiksa karena modifikasi pada ramdisk. Saya tidak yakin, karena saya tidak memiliki Nexus 5X atau 6P untuk diselidiki, namun kecurigaan saya (berdasarkan pesan) adalah bahwa jika Anda memuat ROM lain, yang kemudian menempatkan kernelnya sendiri ke perangkat, halaman "sistem operasi berbeda" akan muncul muncul.

Status terakhir adalah peringatan merah yang menyatakan perangkat rusak. Saya menduga ini berarti gambar tersebut mengandung kebenaran, tetapi verifikasi gagal karena gambar sistem sedang dimodifikasi. Sekali lagi, kami tidak dapat memastikannya tanpa adanya perangkat keras, namun kesalahan tersebut tampaknya akan Anda lihat jika perangkat bawaan dimodifikasi oleh perangkat lunak berbahaya.

Mengapa ini penting?

Pada Android M (6.0), root saat ini memerlukan modifikasi pada image kernel, selain sistem file. Artinya, meskipun kita mengabaikan kebenarannya (misalnya pada perangkat Nexus lama seperti a Perhubungan 7 2013), image kernel baru diperlukan, untuk melewati perlindungan SELinux yang mencegah akses root berfungsi.

Jika Anda ingin melakukan root hari ini, di Android Marshmallow, Anda perlu menggunakan image boot yang dimodifikasi.

Sampai saat ini, sudah ada kernel yang dimodifikasi untuk mengatur SELinux ke mode permisif, namun ini bukanlah perbaikan yang ideal, karena ini berarti Anda tidak mendapatkan manfaat keamanan dari perlindungan SELinux. Dan, setelah itu Demam panggungkisah, Saya berasumsi Anda dapat melihat manfaat SELinux dan perlindungan lainnya terhadap eksploitasi keamanan.

Pengembang Senior yang Diakui XDA, api unggun, master segala hal root telah merilis sebuah versi terbaru dari SuperSU yang mempertahankan SELinux dalam mode penegakan, tetapi sekali lagi memerlukan modifikasi pada konfigurasi SELinux dari image boot. Ini berarti Anda perlu menginstal SuperSU, serta image boot yang dimodifikasi.

Dan itu semua baik dan bagus, sampai operator AS ikut serta. Sebagai benteng anti-pilihan konsumen, perusahaan pendukung seperti AT&T dan Verizon dikenal senang mengunci perangkat, mencegah pengguna menginstal firmware khusus melalui kunci bootloader mereka. Memang benar, Verizon sangat buruk dalam tidak memberikan pembaruan firmware kepada pengguna, dengan Sony Xperia Z3v tidak diatur untuk menerima Marshmallow sedangkan rentang Z3 lainnya (dan tentu saja rentang Z2) akan melakukannya. Heck, mereka bahkan masih belum meluncurkan Lollipop ke perangkat tersebut, meskipun sudah tersedia cukup lama (November 2014) di Z3 reguler.

Sebagai pengganti pembukaan kunci bootloader tidak resmi (hal ini jarang terjadi akhir-akhir ini, selain bocoran bootloader rekayasa untuk beberapa perangkat Samsung), tampaknya sangat tidak mungkin. bahwa Anda akan mendapatkan root pada Android 6.0 tanpa campur tangan ilahi - kombinasi dm-verity (untuk menghentikan ponsel Anda melakukan booting dengan modifikasi apa pun pada partisi sistem), dan persyaratan untuk perubahan SELinux di ramdisk (agar root berfungsi), tampaknya akan membuat segalanya menjadi tidak menyenangkan bagi pengguna yang ingin melakukan root. perangkat yang terkunci.

Android Bayar?

Terakhir, Android Pay. Ini mungkin terdengar sama sekali tidak berhubungan dengan sisa artikel ini, namun sebenarnya cukup relevan. Android Pay mengandalkan yang baru API SafetyNet dalam kerangka layanan milik Google, yang dirancang untuk memberikan pengesahan status perangkat apakah perangkat telah di-root, atau dimodifikasi, atau dijalankan dalam kondisi yang tidak disetujui.

Sementara ada proyek melihat tanggapan spoofing terhadap SafetyNet, saat ini memerlukan plugin Xgged, dan ini sepertinya tidak akan berubah, mengingat cara kerjanya. Xpose memerlukan root, dan melakukan modifikasi pada partisi sistem. Hal ini membuat hal ini sulit dilakukan pada perangkat yang terkunci bootloader. Meski begitu, hal seperti ini hanya sekedar permainan kucing-kucingan dengan Google. Dengan SafetyNet, perangkat yang di-rooting (atau perangkat yang dimodifikasi sama sekali), dipandang sebagai "tidak sesuai dengan CTS", yang merupakan eufemisme untuk perangkat yang dimodifikasi.

Masih banyak lagi yang ditulis tentang SafetyNet dalam posting blog pembongkaran ini, namun tampaknya kami dapat mengidentifikasi beberapa area yang ingin ditindak oleh Google. Pertama, mereka tidak menyukai root, Xpose, dan apa pun yang mengubah partisi sistem. Kedua, tampaknya Google sedang mempertimbangkan untuk mendeteksi pengguna yang mengaktifkan pemblokiran iklan - pemeriksaan jabat tangan SSL aktif pubads.g.doubleclick.net tentu saja menyarankan kepada saya bahwa Google ingin mengetahui apakah Anda memblokir iklan di perangkat Anda. Mengingat bahwa root biasanya merupakan prasyarat di sana, tetapi API VPN berpotensi digunakan untuk melakukan hal tersebut ini tanpa root, sepertinya Google setidaknya ingin mengetahui siapa (atau berapa banyak orang) yang memblokir iklan. Pemblokiran iklan adalah masalah topikal mengingat dorongan dari Apple untuk mendukungnya di browser web (bisa dibilang untuk mendorong orang-orang untuk lebih sering menggunakan aplikasi, di mana mereka mengontrol pengalaman dan dapat menawarkan iklan yang tidak dapat diblokir), dan langkah-langkah ini adalah menarik.

Kesimpulan

Jika Anda ingin melakukan root hari ini, pada Android Marshmallow (6.0), Anda perlu menggunakan image boot yang dimodifikasi. Meskipun masih harus dilihat apakah hal ini tetap berlaku tanpa batas waktu, sepertinya hal ini akan terjadi untuk beberapa waktu - perubahan SELinux membuat lebih sulit untuk mendapatkan akses root tanpa mengubah image boot. Dan karena memodifikasi image boot memerlukan bootloader yang tidak terkunci, hal ini dapat mengakhiri root (dan Xpose dan fitur root lainnya) pada perangkat yang dikirimkan dengan bootloader yang tidak dapat dibuka kuncinya oleh pengguna akhir. Dm-verity juga muncul, dan tampaknya diaktifkan dalam mode penegakan pada perangkat baru. Itu akan menyulitkan untuk memodifikasi /sistem, bahkan jika Anda ingin mendapatkan akses root, tanpa lagi membuka kunci bootloader.

Apakah ini mengubah pandangan Anda tentang perangkat yang terkunci bootloader? Apakah Android telah mencapai tahap di mana Anda masih akan membeli perangkat yang terkunci bootloader jika operator Anda memberi Anda penawaran yang bagus, atau apakah Anda hanya tertarik pada perangkat yang tidak terkunci? Aplikasi atau fitur root apa yang Anda lewatkan saat bootloader terkunci?

Jangan ragu untuk membagikan pemikiran Anda di komentar di bawah.