Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Isn't it possible for a rooted device to fake beeing a non-rooted device to (selected) applications? To my understanding root means having the full control but I fear that this definition doesn't apply to smartphones.


Yes. It's an arms race.

To detect root, apps will try something like attempt to call su. If you're rooted and don't want the app to detect it, you can jail the app and prevent it from being able to detect it.

Note that this is in theory. Almost all apps will implement root/jailbreak detection using the same crappy method, just like almost all of them use the same crappy method to detect if e.g. cert pinning is active. But some will use a very clever method that is not widely known and not well-documented.

While it's true you can theoretically defeat any of these checks, in practice it (like most of reverse engineering) can be made incredible complex and difficult. For example, Facebook/Instagram have (as of the last time I checked) a complex custom system for checking if cert pinning has been bypassed, such that you can't just return-void the checks very easily.


Obviously I don't know the implementation details of how Netflix is detecting rooted devices, but my guess is they're using Play Services's new "GMS Certification".

This involves using signed hardware that helps determine if the execution environment is trusted. So, users can still root the device, but Android + Play Services can still determine if features (such as DRM) can be relied on.

It makes sense for Google to develop these features, especially as it wants to move Android to new devices (Cars?), reduce risk for mobile payments, in addition to giving stronger security features to content distributors. This also lets Android devices compete with security features like Apple's secure enclave.

Honestly, if you are going to root your device you must accept you are not using it in the supported way the vendor intends. Therefore, you should not expect all the features of the supported configuration. I think that's a fair trade-off. Rooting your device is awesome!


I think it's actually the SafetyNet Attestation API. Checking for root means requiring "certified, genuine device that passes CTS". It also excludes "genuine but uncertified device, such as when the manufacturer doesn't apply for certification". https://developer.android.com/training/safetynet/attestation...

I was reluctant to unroot an old phone to try Android Pay, but having to do it just to watch some movies a tad too far. For me anyway. https://phunehehe.net/xperia-android/


My Nexus 6p is running the latest purenexus room, so it is unlocked. Before I rooted, I installed both DirecTV and Netflix and logged in to both. Rebooted recovery, flashed magisk 12, rebooted. installed magisk manager from playstore, enabled su hide in magisk settings. Rebooted again. pass safety net, Netflix works like always


So ... because the vendor doesn't support you modifying something that you bought from them, it's also ok that they then intenionally break it? I'm not sure I am following ...


If they put it in their TOS, sure.


The question was not whether it is be legal, but whether it is acceptable.

Being an asshole is also legal, but it's still not OK to be an asshole.


Oh, I understand what you mean. I thought you were speaking in the legal context. Mea culpa!


I guess another avenue would be to patch the Netflix app to skip the check.


This is very unlikely. If they use the Safetynet API provided by Google (and why should they not), your phone tells the Google server whether your phone is okay (this includes root and other things) and the Netflix server would ask Googles servers whether the client is acceptable. Changing code in the app won't help much because the check is serverside.


Actually the check is a combination of serverside and client side. The server generates a random binary with a predictable output. The client then executes the binary and verifies its output with the server. It's a very clever trick and nearly impossible to spoof.


yes, the keyword you are looking for is Magisk though it's not really for ordinary users


I think all these are stopgap measures until proper hardware DRM comes of age.


So we should lobby for legislation that stops hardware drm in its tracks. Or makes it comply with society interests.


That's not very realistic. Besides, the technology that would enable something like hardware DRM also has some legitimate uses in security. The same tech can ensure that your banking app isn't compromised even if the OS itself is compromised.


A law that mandates that code signing can be done only by the owner solves that beautifully. As a bonus it kills walled gardens.


You still don't always have control over the kernel, although most of the time you can if you want.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: