Commit graph

254 commits

Author SHA1 Message Date
Alan Stokes
5f7af06cb8 Remove policy for non-existent devices am: 4f92d5bd99 am: 1d33d118a5 am: cd10974d13
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2506240

Change-Id: Ibe1b923b0168ed58d75539626bb0714c4b65edf3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-27 09:27:33 +00:00
Alan Stokes
4f92d5bd99 Remove policy for non-existent devices
We still had policy for devices which do not currently exist in
Microdroid. Remove the unused types and all references to them in the
policy, since they have no effect and just bloat the policy.

While I'm here, delete all the bug_map entries. We don't use the
bug_map in Microdroid, and this is just an outdated snapshot from host
policy.

Bug: 274752167
Test: atest MicrodroidTests
Test: composd-cmd test-compile
Change-Id: I3ab90f8e3517c41eff0052a0c8f6610fa35ccdcb
2023-03-24 18:13:18 +00:00
Shikha Panwar
590598e469 Merge "Microdroid sepolicy changes to handle crash export" am: 9d34facd25 am: 5517c11a15 am: 71e6ad2e2b
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2422867

Change-Id: I894f06542bae2d29228bcbae1b687357628eabe1
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-21 19:05:14 +00:00
Shikha Panwar
9d34facd25 Merge "Microdroid sepolicy changes to handle crash export" 2023-03-21 18:14:12 +00:00
Nikita Ioffe
7955a327ee Merge "Add selinux rules for perfetto daemones" am: 103794c43c am: b164310273 am: ca0aad6185
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2468440

Change-Id: Ib606ac7f86ec4cc5c8328cf3aa83dd97f16d5695
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-15 00:29:33 +00:00
Nikita Ioffe
6069e7c8f2 Add selinux rules for perfetto daemones
Note: this is a somewhat minimal set of rules required to be able to
capture traces on Microdroid. After the trace is captured I still see a
bunch of SELinux denials. We might need to add more allow rules in the
follow up changes.

Bug: 249050813
Test: boot Microdroid VM, capture traces with record_android_traces
Change-Id: I62098fb79a8db65706a5bb28c8acce7ff3821f15
2023-03-14 15:07:54 +00:00
Shikha Panwar
cf5d5051ff Microdroid sepolicy changes to handle crash export
Change1# Add property export_tombstones.enabled - This is set by
microdroid_manager to indicate that tombstones in Microdroid be exported
out to host. This read by crash_dump (specifically tombstone_handler).

Change2# allow crash_dump to create/connect/write on vsock.

Change3# Deleting rules/domain related to tombstoned &
tombstone_transmit in Microdroid.

Test: atest MicrodroidHostTests#testTombstonesAreGeneratedUponUserspaceCrash
Test: Look for selinux denials in log
Bug: 243494912
Change-Id: Ibd607eb11202d492bcb0c4ba40a6888683420fb9
2023-03-09 16:01:35 +00:00
Jaewan Kim
49b8fa9d49 Merge "microdroid: allow init_debug_policy.sh to handle AVF debug policy" am: 11feefd839 am: 7a942187a1 am: 154e678fe8
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2439933

Change-Id: If8e75c9cfa8ff597549a84708a9b90411561ccfa
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-03-07 12:06:49 +00:00
Jaewan Kim
11feefd839 Merge "microdroid: allow init_debug_policy.sh to handle AVF debug policy" 2023-03-07 10:23:51 +00:00
Jaewan Kim
dc8ce5f8dc microdroid: allow init_debug_policy.sh to handle AVF debug policy
Test: Boot microdroid with no issue
Bug: 2437372
Change-Id: I485228864cce58922e7e3b3eed4b9bd1c5cce306
2023-03-07 08:27:34 +09:00
Alice Wang
4a8ab250c8 [dice] Remove all the sepolicy relating the hal service dice am: 5e94b1698c am: 13e58cf7b1 am: a9a8c0cb93
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2426073

Change-Id: Ia58829024a4eec19239f71fb93aa01649f08b192
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-24 21:23:06 +00:00
Alice Wang
5e94b1698c [dice] Remove all the sepolicy relating the hal service dice
As the service is not used anywhere for now and in the near future.

Bug: 268322533
Test: m
Change-Id: I0350f5e7e0d025de8069a9116662fee5ce1d5150
2023-02-24 08:34:26 +00:00
Treehugger Robot
697cadd955 Merge "Allow dex2oat access to relevant properties" am: ce230383ae am: 6fb804af4e am: ae7f49678b
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2412099

Change-Id: I5c3357387272f738f4930a7c281e609e28828dc6
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-03 10:17:04 +00:00
Treehugger Robot
ce230383ae Merge "Allow dex2oat access to relevant properties" 2023-02-03 08:57:34 +00:00
Alan Stokes
8b40e907f4 Allow dex2oat access to relevant properties
I noticed a bunch of denials in the logs like this:

avc: denied { read } for pid=187 comm="dex2oat64"
name="u:object_r:device_config_runtime_native_boot_prop:s0"
dev="tmpfs" ino=76 scontext=u:r:dex2oat:s0
tcontext=u:object_r:device_config_runtime_native_boot_prop:s0
tclass=file permissive=0

But we actually want to be able to access these properties.

Bug: 264496291
Test: atest android.compos.test.ComposTestCase#testOdrefreshSpeed
Change-Id: I6ce8ee74a1024a9ddd6ef91e73111d68da878899
2023-02-02 11:46:12 +00:00
Shikha Panwar
20830f7568 Merge "Allow MM to open/syncfs/close encryptedstore dir" am: 2d91b6fc97 am: db1018c3ff am: b13ccd0a35
Original change: https://android-review.googlesource.com/c/platform/system/sepolicy/+/2376232

Change-Id: I7d7de50a1427279ac32bb0b05c8b51dfa8de25f3
Signed-off-by: Automerger Merge Worker <android-build-automerger-merge-worker@system.gserviceaccount.com>
2023-02-01 12:35:13 +00:00
Shikha Panwar
2d91b6fc97 Merge "Allow MM to open/syncfs/close encryptedstore dir" 2023-02-01 11:13:01 +00:00
Inseob Kim
416338ac16 Add property_service_for_system on microdroid
Bug: 262237198
Test: boot microdroid
Ignore-AOSP-First: Security fix
Change-Id: I6ddeff2962f723abc10e25f768e7507fd620e274
2023-01-30 12:42:50 +09:00
Alan Stokes
7e754a1c56 Remove references to asan_extract
This type doesn't exist in Microdroid.

Bug: 266871002
Test: m SANITIZE_TARGET=address com.android.virt
Change-Id: I2ca6db9669eafc4037bbf87bdcff60935893d93f
2023-01-27 10:42:45 +00:00
Inseob Kim
ebc4742480 microdroid: Add prop to wait for /data/tombstones
Bug: 266470759
Test: atest MicrodroidHostTestCases MicrodroidTestApp
Change-Id: Ie9992e105e57f1088a6016f0179c7dc3d285a7ed
2023-01-26 22:16:28 +09:00
Inseob Kim
ef0328cf94 Add tombstone_transmit init property to microdroid
Bug: 265594221
Test: atest MicrodroidHostTestCases
Change-Id: I5138e91cd53821fa9ab26e17e19123e55f89ae63
2023-01-20 17:37:47 +09:00
Shikha Panwar
992245d1b2 Allow MM to open/syncfs/close encryptedstore dir
Microdroid Manager needs these permissions to sync the encryptedstore
filesystem.

Test: Builds
Test: Check selinux denials in logs
Change-Id: Iee020ae653f5d42af086ca91068e3df52c992305
2023-01-06 08:57:02 +00:00
Jiyong Park
bce697f3c5 Merge "prng_seeder is a bootstrap process in microdroid" 2022-12-23 03:31:18 +00:00
Jiyong Park
c4cf20a146 prng_seeder is a bootstrap process in microdroid
It is started very early before linker namespaces are configured, thus
making it a bootstrap process.

Bug: 263398430
Test: watch boottime benchmark
Change-Id: I60411601a6be78f8401e43d136b567615002797c
2022-12-22 10:24:26 +09:00
Jiyong Park
f59f5d2eba Merge "Add rules for prng_seeder" 2022-12-21 12:15:32 +00:00
Jiyong Park
02df74af6d Add rules for prng_seeder
The process has the exclusive access to /dev/hw_random. It instead opens
provides a socket (/dev/prng_seeder/socket) which any process can
connect to to get random numbers.

This CL is basically a Microdroid version of aosp/2215051

Bug: 247781653
Test: same as aosp/I0a7e339115a2cf6b819730dcf5f8b189a339c57d
    * Verify prng_seeder daemon is running and has the
      correct label (via ps -Z)
    * Verify prng_seeder socket present and has correct
      label (via ls -Z)
    * Verify no SELinux denials
    * strace a libcrypto process and verify it reads seeding
      data from prng_seeder (e.g. strace bssl rand -hex 1024)
    * strace seeder daemon to observe incoming connections
      (e.g. strace -f -p `pgrep prng_seeder`)

Change-Id: I3483132ead0f5d101b5b3365f78cc36d89528f0e
2022-12-20 22:01:57 +09:00
Nikita Ioffe
f8ece0f19e Allow microdroid_manager to drop capabilities from it's bounding set
In the other change in the same topic microdroid_manager starts to drop
the capabilities before execve'ing the payload binary.

Test: m
Bug: 243633980
Change-Id: Ia70d15db413c822b174a708dedfa5557c8abde65
2022-12-17 02:36:49 +00:00
Treehugger Robot
3997a8fff0 Merge "Add more zipfuse mount done props" 2022-12-14 10:51:40 +00:00
Treehugger Robot
f1e8772660 Merge "Selinux label for /mnt/encryptedstore" 2022-12-13 20:16:12 +00:00
Seungjae Yoo
2ca7ebd8a2 Merge "Cleanup ro.boot.microdroid.app_debuggable" 2022-12-12 00:16:58 +00:00
Treehugger Robot
d838f6443e Merge "Remove netdomain from Microdroid" 2022-12-10 06:57:54 +00:00
Shikha Panwar
1aeaaedbc9 Selinux label for /mnt/encryptedstore
Create a label for the encrypted storage. encryptedstore_file & _fs
corresponding to the file & fs type.

encryptedstore process mounts the device on /mnt/encryptedstore with
fscontext & context.

microdroid_payload will have rw & related permissions on it. Also, add a
neverallow rule to deny execute permission on all domains.

encryptedstore needs relabel permission from tmpfs to
encryptedstore_file, along with mount like permissions on the later.

Bug: 261477008
Test: atest MicrodroidTests#encryptedStorageAvailable

Change-Id: Iffa1eb400f90874169d26fc2becb1dda9a1269a9
2022-12-09 19:26:34 +00:00
Jiyong Park
2660633d34 Remove netdomain from Microdroid
Nothing in Microdroid uses tcp/udp/rawip sockets. Removing netdomain
attribute for the capability. Note that some processes can use
networking via vsock.

Bug: N/A
Test: watch TH

Change-Id: Id10861d0520770578503dd93b0c72c3d6be993e8
2022-12-09 14:31:40 +09:00
Seungjae Yoo
8fbe216555 Cleanup ro.boot.microdroid.app_debuggable
Bug: 260147409
Test: N/A
Change-Id: I3d3e5dc7d26733b7faeeafb854f768d74831a648
2022-12-09 13:46:26 +09:00
Alan Stokes
26aa754f36 Add more zipfuse mount done props
Allow one property per APK for zipfuse to signal readiness to
microdroid manager.

Bug: 252811466
Test: atest MicrodroidTests
Test: composd_cmd test-compile
Change-Id: Ibe5d0756cda807e677de68335258b96364e91880
2022-12-08 14:26:19 +00:00
Treehugger Robot
e596e1f243 Merge "Remove proc_fs_verity as it's not used in microdroid" 2022-12-07 18:25:49 +00:00
Jiyong Park
c99fde9178 Adb root is supported in Microdroid on user builds
In Android, adb root is disabled at build-time by not compiling
sepolicies which allows adbd to run in the `su` domain.

However in Microdroid, adb root should be supported even on user builds
because fully-debuggable VMs can be started and adb root is expected
there. Note that adb root is still not supported in non-debuggable VMs
by not starting it at all.

This change removes `userdebug_or_end` conditions from the policies for
adb root. In addition, the `su` domain where adbd runs when rooted is
explicitly marked as a permissive domain allowed.

Bug: 259729287
Test: build a user variant, run fully debuggable microdroid VM. adb root
works there.
Test: run non-debuggable microdroid VM. adb shell (not even adb root)
doesn't work.

Change-Id: I8bb40b7472dcda6619a587e832e22d3cb290c6b9
2022-12-06 22:30:36 +09:00
Jiyong Park
f970df2f44 Remove su_exec from Microdroid
Microdroid doesn't have the executable `su`. Removing su_exec and any
reference to it.

Bug: N/A
Test: run Microdroid instance and adb root works.
Change-Id: If6c356acbf85ba20a1face3e29e4cb38d002ea06
2022-12-05 11:54:16 +09:00
Shikha Panwar
f9089686e9 Move microdroid_*.config_done part to diff context
We introduced selinux context: microdroid_lifecycle_prop to group the
properties set by microdroid_manager related to its boot lifecycle.
microdroid_manager.config_done is more suitable to be grouped in this
context.

Test: MicrodroidHostTests#testMicrodroidBoots which also checks selinux
denials

Bug: 260005615
Change-Id: I81729146c2fc98479b9a71053e4cf8ba5d89de5e
2022-12-01 15:13:05 +00:00
Shikha Panwar
e1578a50fb Sepolicy for microdroid_manager.init_done
Add a new selinux context: microdroid_lifecycle_prop for properties like
microdroid_manager.init_done. Also adding neverallow rule to not let
anyone other than init & microdroid_manager set it.

Bug: 260713790
Test: Builds
Change-Id: I81470ce596cfe5870b6777b6ae6fde3a0dc486d1
2022-12-01 14:59:06 +00:00
Nikita Ioffe
1cf4d77af8 Add sepolicy for microdroid_config_prop sysprops
Bug: 260361248
Bug: 260005615
Test: m
Change-Id: I50f7c0040ce6d315a3dc910c4f0b412d244a7449
2022-11-28 13:43:42 +00:00
Alice Wang
9a444d0499 [cleanup] Remove attribute service_manager_type in microdroid
Bug: 257260848
Test: atest MicrodroidTests MicrodroidHostTests
Change-Id: Ic91fe1673d0648ac596eb67189d237175eb2976e
2022-11-24 12:00:48 +00:00
Alice Wang
08ae0e46de Merge "[cleanup] Remove permissions about binder_device inside microdroid" 2022-11-24 11:59:28 +00:00
Treehugger Robot
ca7bbf0681 Merge "[cleanup] Remove microdroid_service_context and its usages" 2022-11-24 10:35:58 +00:00
Treehugger Robot
d547a5a7a2 Merge "microdroid: Allow microdroid_manager to get local CID" 2022-11-23 21:00:07 +00:00
Alice Wang
8cac66dc34 [cleanup] Remove permissions about binder_device inside microdroid
The binder_device in microdroid has been removed in aosp/2310572.

Bug: 222479468
Test: atest MicrodroidTests MicrodroidHostTests
Change-Id: Ie87e3b5ca1afc4046d5b35cba5fc2f99bbc09f43
2022-11-23 11:57:54 +00:00
Alice Wang
334640c993 Merge "[cleanup] Remove permissions about binderfs inside microdroid" 2022-11-23 11:34:29 +00:00
Alice Wang
4a608c1960 [cleanup] Remove microdroid_service_context and its usages
As service_manager has been removed in microdroid.

Bug: 257260848
Test: atest MicrodroidTests MicrodroidHostTests

Change-Id: I05b3366a14ecd8d6aabfff5eca9b6fbf804dc97a
2022-11-23 10:03:53 +00:00
Alice Wang
79629bdd60 [cleanup] Remove permissions about binderfs inside microdroid
The binderfs in microdroid has been removed in aosp/2310572.

Bug: 222479468
Test: atest MicrodroidTests MicrodroidHostTests
Change-Id: I757ae39ebc841e8bb23300c4f65a3646ad8031fb
2022-11-22 21:22:38 +00:00
Alice Wang
0065888fe7 [cleanup] Remove unneeded apex_service permissions in microdroid
As microdroid doesn't use apex_service.

Bug: 222479468
Test: atest MicrodroidTests MicrodroidHostTests
Change-Id: Ie79473322905bda56c57d91f3c524ad715c99aff
2022-11-22 21:21:30 +00:00