Portál AbcLinuxu, 30. dubna 2025 15:56
Jj, systémový keystore nemá být upravován aplikacemi - jestli má něco na to práva, tak je stejně pozdě (může udělat v systému cokoliv).
Systém práv na Androidu mi přijde ještě lepší než na desktop linuxu. Každá aplikace je nainstalována pod jiným userem, pokud autor neurčí jinak (sdílet UID lze jenom pokud jsou dvě aplikace podepsané stejným klíčem), věci jako bluetooth a wifi subsystem (wpa_supplicant) mají taky svého dedikovaného uživatele místo roota, pod rootem běží myslím jen dva procesy, root exploit v userspace je tím pádem obtížnejší. Z core/include/private/android_filesystem_config.h:
#define AID_ROOT 0 /* traditional unix root user */
#define AID_SYSTEM 1000 /* system server */
#define AID_RADIO 1001 /* telephony subsystem, RIL */
#define AID_BLUETOOTH 1002 /* bluetooth subsystem */
#define AID_GRAPHICS 1003 /* graphics devices */
#define AID_INPUT 1004 /* input devices */
#define AID_AUDIO 1005 /* audio devices */
#define AID_CAMERA 1006 /* camera devices */
#define AID_LOG 1007 /* log devices */
#define AID_COMPASS 1008 /* compass device */
#define AID_MOUNT 1009 /* mountd socket */
#define AID_WIFI 1010 /* wifi subsystem */
#define AID_ADB 1011 /* android debug bridge (adbd) */
#define AID_INSTALL 1012 /* group for installing packages */
#define AID_MEDIA 1013 /* mediaserver process */
#define AID_DHCP 1014 /* dhcp client */
#define AID_SDCARD_RW 1015 /* external storage write access */
#define AID_VPN 1016 /* vpn system */
#define AID_KEYSTORE 1017 /* keystore subsystem */
#define AID_USB 1018 /* USB devices */
#define AID_SHELL 2000 /* adb and debug shell user */
#define AID_CACHE 2001 /* cache access */
#define AID_DIAG 2002 /* access to diagnostic resources */
/* The 3000 series are intended for use as supplemental group id's only.
* They indicate special Android capabilities that the kernel is aware of. */
#define AID_NET_BT_ADMIN 3001 /* bluetooth: create any socket */
#define AID_NET_BT 3002 /* bluetooth: create sco, rfcomm or l2cap sockets */
#define AID_INET 3003 /* can create AF_INET and AF_INET6 sockets */
#define AID_NET_RAW 3004 /* can create raw INET sockets */
#define AID_NET_ADMIN 3005 /* can configure interfaces and routing tables. */
#define AID_MISC 9998 /* access to misc storage */
#define AID_NOBODY 9999
#define AID_APP 10000 /* first app user */
I s nezměněným certstorem bych byl ale opatrný např. v Emirátech: operátor Etisalat se již pokoušel kompromitovat uživatelské telefony. Certificate chain na https://www.etisalat.ae vypadá následovně:
GTE CyberTrust Global Root (serial 0x1a5, SHA1 fingerprint 97:81:79:50:D8:1C:96:70:CC:34:D8:09:CF:79:44:31:36:7E:F4:74) \- Comtrust Root Certification Authority basic constraints: CA:true; O: Etisalat, OU: Etisalat eBusiness Services \- Comtrust Server Certification Authority basic constraints: CA:true; O: Etisalat, OU: Etisalat eBusiness Services \- www.etisalat.ae
Z řetezce certifikátů plyne, že ve vlastní síti umí operátor Etisalat SSL MITM podpisem libovolného serverového certifikátu (a evidentně by se toho neštítil). Jenže GTE Root CA je předinstalována jak v Androidu, tak i v Opeře a Firefoxu.
Systém práv na Androidu mi přijde ještě lepší než na desktop linuxu. Každá aplikace je nainstalována pod jiným useremNezdá se mi, že by jeden z těch systémů byl striktně lepší nebo horší.
Google nezveřejnil, odkud má informace o wifi AP
Ale to je prosté: Pokud telefon má i GPS, tak zpárované údaje poloha–WiFi signál zasílá Googlu. Proč složitě a draze mapovat AP, když to uživatelé udělají zadarmo.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.