Conversation

SafetyNet attestation is snake oil and will remain that way until they have a hard dependency on hardware-based attestation. Once they do, it will be a weak security feature providing low assurance due to the trust model for keys, but at least it won't be the theatre it is now.
1
SafetyNet attestation was never intended to be provide high assurance. They provide direct access to hardware-based attestation for those that need it. They're working on providing better support for a strong pairing-based model which will hopefully be available in Android 11.
1
Auditor currently doesn't get exactly what it needs from the API and has to pin the batch key instead of what it really wants which is an app key used internally by the TEE/SE to sign attestations which can be pinned and cannot be obtained by exploiting the TEE/SE elsewhere.
1
Auditor uses the SE-based keystore (StrongBox) for devices like the Pixel 3 and newer Samsung devices and with direct support for pairing it will become very high assurance. Weak point will definitely be verified boot rather than the design of hardware-based attestation for it.
1
Having root exposed only via adb shell with physical access is much less of a problem but isn't a non-issue. A production user build of AOSP doesn't have root access but a developer-oriented userdebug build has `adb root` and `su` only usable via `adb shell` which isn't terrible.
1
It's a security issue and doesn't belong on devices where the user doesn't explicitly want it. Trusting attached computers by whitelisting their ADB client key is already problematic and having root makes it substantially more dangerous. What if that computer is compromised?
1
It weakens the security model used by Auditor but doesn't totally destroy it. Also worth noting that simply having full read/write access as root to the entire file system won't actually provide access to all app data. Need to have further access like ptrace to use keystore keys.
1
It's different to have that on an end user device where they aren't a developer with the appropriate knowledge and awareness of how the platform works. I don't see much issue with publishing userdebug factory images with separate signing keys and over-the-air updates though.
1
I don't have time/resources to make separate userdebug builds for every device. Google could easily do that for Pixels. Just sign with different keys so it doesn't pose any risk to verified boot / update verification with stock OS and requires flashing the AVB pubkey to lock it.
1
It won't have the green boot state and won't pass CTS due to exposing root access via adb and the ability to bypass whether an app can be debugged, separately from root access, so it's not going to be SafetyNet attestation approved and apps checking for that aren't going to work.
1
Show replies