Skip to content
Snippets Groups Projects
Commit cb5f4a3d authored by Nick Kralevich's avatar Nick Kralevich
Browse files

Prevent ptrace of logd on user builds

system/core commit 6a70ded7bfa8914aaa3dc25630ff2713ae893f80 (later
amended by 107e29ac1b1c297a0d4ee35c4978e79f47013e2c indicated that logd
doesn't want it's memory accessible by anyone else. Unfortunately,
setting DUMPABLE isn't sufficient against a root level process such with
ptrace. Only one such process exists, "debuggerd".

Block debuggerd from accessing logd's memory on user builds. Userdebug
and eng builds are unaffected.  Add a neverallow rule (compile time
assertion + CTS test) to prevent regressions.

Bug: 32450474
Test: Policy compiles.
Change-Id: Ie90850cd91846a43adaa0871d239f894a0c94d38
parent 8ee06cc4
No related branches found
No related tags found
No related merge requests found
...@@ -15,9 +15,15 @@ allow debuggerd { ...@@ -15,9 +15,15 @@ allow debuggerd {
-healthd -healthd
-init -init
-keystore -keystore
-logd
-ueventd -ueventd
-watchdogd -watchdogd
}:process { execmem ptrace getattr }; }:process { execmem ptrace getattr };
userdebug_or_eng(`
allow debuggerd logd:process { execmem ptrace getattr };
')
allow debuggerd tombstone_data_file:dir rw_dir_perms; allow debuggerd tombstone_data_file:dir rw_dir_perms;
allow debuggerd tombstone_data_file:file create_file_perms; allow debuggerd tombstone_data_file:file create_file_perms;
allow debuggerd shared_relro_file:dir r_dir_perms; allow debuggerd shared_relro_file:dir r_dir_perms;
......
...@@ -48,6 +48,9 @@ neverallow logd dev_type:blk_file { read write }; ...@@ -48,6 +48,9 @@ neverallow logd dev_type:blk_file { read write };
# ptrace any other app # ptrace any other app
neverallow logd domain:process ptrace; neverallow logd domain:process ptrace;
# ... and nobody may ptrace me (except on userdebug or eng builds)
neverallow { domain userdebug_or_eng(`-debuggerd') } logd:process ptrace;
# Write to /system. # Write to /system.
neverallow logd system_file:dir_file_class_set write; neverallow logd system_file:dir_file_class_set write;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment