Ответ 1
Было две группы изменений, уменьшающих доступ к /proc.
Файловая система procfs теперь монтируется с помощью hidepid = 2, исключая доступ к каталогам /proc/PID других пользователей. Это изменение было реализовано в CopperheadOS и затем было принято на его основе вверх. Там есть группа для исключения, но она не раскрывается в качестве разрешения. Он используется только для исключения некоторых процессов в базовой системе. Он может быть выставлен как "опасное" разрешение, и я ожидал, что Google закончит работу, но они решили, что пользователи не поймут его последствий.
https://android-review.googlesource.com/#/c/181345/
Политика SELinux также стала намного более строгой. Для приложений базового доступа к /proc вообще нет, хотя это относится только к файлам, отличным от каталогов /proc/PID. Там по-прежнему есть доступ к нескольким файлам с ярлыками, которые не подпадают под общую политику proc, но в основном ушли. Это было постепенным, и есть много соответствующих коммитов. Один из больших:
https://android-review.googlesource.com/#/c/105337/
Это не только удаляет много очевидной информации, но также закрывает еще более вопиющие дыры в безопасности, связанные с боковыми каналами, позволяющими такие вещи, как ввод в журнал ввода клавиатуры:
- https://www.lightbluetouchpaper.org/2016/07/29/yet-another-android-side-channel/
- https://staff.ie.cuhk.edu.hk/~khzhang/my-papers/2016-oakland-interrupt.pdf
Политика SELinux также стала намного более строгой с течением времени. Вы можете увидеть остальную часть этого в репозитории platform/system/sepolicy. Обратите внимание, что он был в platform/external/sepolicy в течение длительного времени, но недавно был перенесен.