Android 6.0のNexusでSELinuxをEnforcingのままroot化できるSuperSUがリリース。

supersu-v2.50
SuperSUの開発者であるChainFire氏が、Android 6.0 MarshmallowにおいてNexusデバイスのSELinuxをEnforcingのままroot化できるSuperSU v2.50 BETAをリリースしました。


SELinuxのEnforcingとPermissiveについて

SELinuxは、Security-Enhanced Linuxの略で、米国家安全保障局(The National Security Agency:NSA)が中心となって開発しているLinuxベースのセキュアOSです。SELinuxはその名称の通りLinuxのセキュリティを向上させる仕組みで、LinuxベースのAndroid OSにもAndroid 4.3から導入・適用されています。

SELinuxには、EnforcingPermissiveDisabledの3種類あります。
Enforcingは、セキュリティポリシーに違反するアクセスに対しログに出力してそのアクセス自体を拒否します。
Permissiveは、セキュリティポリシーに違反するアクセスに対しログに出力してそのアクセスを許可します。
Disabledは、SELinuxを無効化します。

セキュリティレベルの高さを順に並べると、最も高いのがアクセス自体を拒否するEnforcingで、アクセスを許可するPermissive、SELinuxを無効化するDisabledと続きます。

なおAndroidにおけるSELinuxはAndroid 4.3ではPermissiveで、Android 4.4からはEnforcingで稼働しており、Android 4.4以降はセキュリティレベルが非常に高くなっています。


Android 6.0 Marshmallowにおけるroot化について

Androidにおける主なroot化方法は、ChainFire氏が開発するSuperSUを使います。Android Lollipopまでは、SuperSUをインストールするだけでroot化できていましたが、Android 6.0(Android M Developer Preview)ではデフォルトでEnforcingになっているAndroidのSELinuxをPermissiveにするカーネルを導入後、SuperSUをインストールすることでroot化が可能でした。

Android 6.0ではroot化は可能なものの、SELinuxのセキュリティレベルが低下する点が気になっているユーザーも多かったようです。

そんな状況の中、本日ChainFire氏は新しいバージョンのSuperSU v2.50 BETAをリリースし、SELinuxをEnforcingのままでroot化が可能になりました。まだ開発途中のBETAバージョンですが、これでAndroid 6.0でもSELinuxにおいてはセキュリティは低下しないことになります。
supersu-v2.50

SuperSU v2.50 BETAのダウンロードはこちら。
[WIP][2015.10.06] Android 6.0 Marshmallow

とはいえ、Android標準のカーネルではSuperSUによるroot化はできないため、カーネル開発者が提供するカスタムカーネルを利用する必要はあります。手順としてはNexus5 Android 6.0 Marshmallowのroot化方法・手順。と同じで、SELinuxのEnforcingでroot化可能なカーネルに差し替えるだけです。

なお、同氏が提供しているカーネルを導入後SuperSUでroot化すると、少なくともNexus6とNexus9では内部ストレージも含めて完全初期化されます。事前にバックアップをとっておきましょう。

root化している時点でセキュリティレベルは低下していますが、できる限り安全にroot化できるようになるのは大歓迎ですね。

2015/10/31追記
ChainFire氏が/systemを改変せずにroot化できるSuperSU v2.56をリリースしました。

root化の手順はこれまでと同じで改造版のboot.imgを焼いた後にSuperSUのzipファイルをインストールする必要はあります。最新のroot化方法の変更点は、root化済みNexusデバイスのOTAアップデートの際にこれまではファクトリーイメージのsystem.imgとboot.imgを焼く必要があったのが、boot.imgのみを焼きなおすだけでよくなった点です。

また、/systemも改変するこれまでのroot化方法は失敗するとブートループになっていたのが、新しい方法ではroot化には失敗するもののきちんと起動するようになっています。

ChainFire氏によると新しいroot化手法は開発途中の段階で、ファクトリーリセットするとroot権限やPINが消えるなどバグも多く存在します。

なお、/systemを改変することでroot権限を取得する以前のboot.imgはすでにリンクが消されているので、今後root化する際は新しい手法のものになります。



source:XDA

-Android 6.0 Marshmallow, Nexus 5, Nexus 6, Nexus 9, Nexus Player, 新型Nexus7

Copyright © アンドロイドラバー, 2011-2024 All Rights Reserved