From 7500cb33e55ed81dbbec947bd5bfe48c1ff1e6a7 Mon Sep 17 00:00:00 2001 From: "Philip P. Moltmann" Date: Tue, 19 Jan 2021 10:28:41 -0800 Subject: [PATCH] Describe how data access auditing works internally Test: Docs only Change-Id: I77fbf423d1c567c64ddd0105f293a972460e46a9 --- core/java/android/app/AppOps.md | 102 ++++++++++++++++++++- core/java/android/app/sync-data-access.png | Bin 0 -> 75508 bytes 2 files changed, 101 insertions(+), 1 deletion(-) create mode 100644 core/java/android/app/sync-data-access.png diff --git a/core/java/android/app/AppOps.md b/core/java/android/app/AppOps.md index b827a0dbbb76a..4589a71d5e5f2 100644 --- a/core/java/android/app/AppOps.md +++ b/core/java/android/app/AppOps.md @@ -231,7 +231,107 @@ system is tracking for it](https://developer.android.com/preview/privacy/data-ac As each runtime permission has an associated app-op this API is particularly useful for an app that want to find unexpected private data accesses. -### Tracking the last accesses via an API +#### Implementation + +The goal is to trigger a callback to `AppOpsManager.OnOpNotedCallback` any time a data provider +declares that data was sent to the app (i.e. calls `AppOpsManager.noteOp`). There are four cases + +##### Synchronous data accesses + +This is the case where the client calls an API and the data is sent back as the return value of this +API call. E.g. `LocationManager.getLastKnownLocation` returns the last known location as the return +value of the method call. + +In this case +1. The client calls into a Android API in the Android framework, e.g. `LocationManager` +2. The framework code calls via a `Binder` call into the data provider, e.g. the +`LocationManagerService` residing in the system server. +3. Somewhere in the data provider the data provider calls `AppOpsManager.noteOp` and thereby +declares that data was accessed. This data access is recorded in +`AppOpsManager.sAppOpsNotedInThisBinderTransaction` +4. When the binder call returns the RPC code (`Binder`/`Parcel`) calls +`AppOpsManager.readAndLogNotedAppops` which checks is the binder return value contained any +prefix indicating that data was accessed. If so the RPC code calls `onNoted` on the the currently +registered `OnOpNotedCallback`. +5. The rest of the implementation is up to the client, but one to use the callbacks is for the +client to take a stack trace in the `onNoted` implementation. This stack trace allows to pin point +where in the app's code the data access came from. + +![Syncronous data access by a client via a binder call](sync-data-access.png) + +In above graphics you can see that +1. an app (`com.app.A`, red) is calling into the android framework +(blue). +1. The call triggers a RPC call into the data provider (green). +1. The data provider calls `AppOpsManager.noteOp` (first star) +1. On the return from the RPC call the framework code (second star) realizes that there was a data +access and calls `OnOpNotedCallback.onNoted`. +1. If at this time the code in onNoted would take a stack trace it would get what is in the gray +box, i.e. +``` +com.app.A.a +- com.app.A.b + - com.app.A.c + - com.app.A.d + - android...Manager + - several android internal RPC methods + - com.app.B.onNoted (extends OnOpNotedCallback.onNoted) +``` + +As `onNoted` also reports the attributionTag and the noted op the app can now build a mapping +indicating what code accesses what private data. + +##### Self data accesses + +This is similar to the [synchronous data access](#synchronous-data-accesses) case only that the data +provider and client are in the same process. In this case Android's RPC code is no involved and +`AppOpsManager.noteOp` directly triggers `OnOpNotedCallback.onSelfNoted`. This should be a uncommon +case as it is uncommon for an app to provide data, esp. to itself. + +If an app takes above suggestion and collects stack traces for synchronous accesses self-accesses +can be treated in the same way. + +##### Async data accesses + +There are cases where the data access is not directly triggered via an API. E.g. +`LocationManager.requestLocationUpdates(listener)` registers a callback. Once the location subsystem +determines a location it calls the registered listener with the data. There can be quite significant +time between registering the listener and getting the data. In some cases (e.g. Geo-fencing) it +might take days and the app registering for the data and the app receiving the data might not even +be the same process or even version. + +Hence above suggestion with taking the stack trace to determine what triggered the data access does +not work. In this case it is recommended for data providers to come up with a way to help the app +developer understand why a data access is triggered. E.g. in the case of +`LocationManager.requestLocationUpdates(listener)` the data provider is setting the `message` field +in`AppOpsManager.noteOp` to the system-identity hash code of the registered listener. There are +convenience methods for that, e.g. `AppOpsManager.toReceiverId`. This `message` field is then +delivered to the app inside the `AsyncNotedAppOp` parameter to `OnOpNotedCallback.onAsyncNoted`. + +While this case is not as elegant as the synchronous case, a properly set `message` can often be +enough for the app to figure out where the data access comes from. Async data accesses are less +common than synchronous data accesses but they come in more variations. E.g. registered listeners, +pending-intents, manifest broadcast receivers, activity starts, etc... Hence there is no one perfect +message format. This is why the message field is a free text string. + +It is very highly recommended for data providers to set appropriate `message` parameters for their +`AppOpsManager.noteOp` calls for all times where there is async data access. If no `message` +parameter is set, the system defaults to a stack trace of the data provider code which is often slow +and not useful. + +Async data accesses also carry the attribution tag, but this can sometimes not be enough. Again, a +properly set `message` parameter is the best choice. + +##### Data providers implemented in native code + +Some data providers (e.g. camera a microphone) are implemented using native code. As of now this is +not properly hooked up to the Java logic. To make sure to always collect all data accesses all +`AppOpsManager::noteOp` calls from native code trigger an [async data access](#async-data-accesses), +no matter if the code is in a synchronous RPC or not. + +This is not ideal and should be improved. + +### Getting last data accesses via an API To get the last accesses for an op or package an app can use `AppOpsManager.getPackagesForOps`. diff --git a/core/java/android/app/sync-data-access.png b/core/java/android/app/sync-data-access.png new file mode 100644 index 0000000000000000000000000000000000000000..49603d5e4b95ea4d60670e6e0e9f0197e03a9ac4 GIT binary patch literal 75508 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%0D03Ocp;4WvThBd+EMFZ&LMi@3uw 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 Clh=>{ literal 0 HcmV?d00001