För några dagar sedan, jag skrev en artikel här diskutera några ändringar i Google Play Butiks behörighetshantering och hur dessa ändringar kan medföra negativa integritetsrisker för användarna. Kommentarerna till den artikeln indikerade en överväldigande mängd oro från läsarna om behörigheter som används av applikationer, med många som vill använda App Ops eller XPprivacy för att skydda sig själva.
Idag ska jag ta en liten omväg och titta på de behörigheter som två populära appar behöver: Googles första partytangentbord och SwiftKey. Båda dessa är tangentbordsapplikationer, och båda är tillgängliga för nedladdning gratis på Play Store (den senare är nu "freemium" med tillgängliga för-betal-teman).
Trots att dessa applikationer har direkt tillgång till varje tangent du trycker på, när du anger varje webbadress du besöker, sms eller e-postar dig skicka och lösenordet du skriver, verkar det som att få människor faktiskt överväger de behörigheter som används av deras tangentbord, och konsekvenserna av detta.
Google-tangentbord
Låt oss ta en titt på Googles tangentbord. Observera att jag var tvungen att redigera bilden nedan, eftersom webbgränssnittet i Play Store gör sitt bästa för att hindra dig från att se hela listan av behörigheter i en vy, även med en 20-tumsskärm i vertikal orientering, valde den fortfarande att dölja de flesta av dem i denna rullning se. För din nöje att titta på har jag dock sammanställt listan till en enda vy.
Låt oss ta en titt på vad som händer här. För det första har Google Keyboard tillgång till ditt eget kontaktkort och konton på din enhet. Det betyder att den har förmågan att veta vem du är och alla e-postkonton (och andra) du har tillgängliga på din enhet. Det betyder att det är möjligt för dem att se vilka Google/Dropbox/ Twitter/Microsoft Exchange/Facebook-konton du har tillgängliga på din telefon. Jag har absolut ingen aning om varför detta behövs, och inte heller varför folk är villiga att ge denna information över.
Därefter kan appen läsa dina kontakter. Det är rättvist nog – Google vill uppenbarligen lägga till dina kontaktnamn i stavningskontrollen och automatiskt komplettera databaserna. Detta är vettigt och är något försvarbart för ett tangentbord. Möjligheten att ändra eller ta bort innehållet i USB-lagring är något konstigt, men även om det tillåter åtkomst till alla dina data som är lagrade på ditt "SD-kort" finns det tyvärr inget riktigt sätt att göra detta mer detaljerat sätt. Helst skulle Google bara använda det säkra /data/data lagring och skulle därför inte behöva detta. Alternativt kan de använda ASEC-behållare för att transparent få mer lagringsutrymme på ditt SD-kort, utan att behöva tillgång till dina personafiler på SD-kortet.
Möjligheten att ladda ner filer utan avisering är där det börjar bli ordentligt om - Observera att dessa behörigheter är undangömt längst ner i listan, så du måste bläddra för att nå dem. Ganska varför ett tangentbord behöver förmågan att inte bara ladda ner filer, utan att göra det utan att berätta för användaren, är verkligen oroande. Hur mycket data behöver den verkligen ladda ner utan att berätta för dig?
Möjligheten att köra vid start är bra. Det är något du rimligen kan förvänta dig av en tangentbordsapplikation. Å andra sidan, undangömt, omedelbart efter det kanske mest ofarliga tillståndet, är det mest invasiva: full tillgång till Internet.
Ja, det stämmer, Google Keyboard har full och obegränsad tillgång till Internet, såväl som dina tangenttryckningar och kontakter, och SD-kortinnehåll och identitet. Och vår behörighetslista börjar omedelbart säga att Google Keyboard kan använda ditt tangentbord ofarligt. Någon som tror att det är lite "gömma" de otäcka behörigheterna här?
De följande två behörigheterna är ofarliga och ger åtkomst till användarens anpassade ordlista igen, helt förväntat från en tangentbordsapplikation. Slutligen begärs tillstånd att visa nätverksanslutningar. Jag kan återigen inte ge någon insikt om varför det finns ett behov av detta, annat än att underlätta de andra befintliga behörigheterna för åtkomst till Internet utan din vetskap.
Som tangentbord är Googles erbjudande ironiskt nog ganska välutrustat med behörigheter. Jag trodde faktiskt att det skulle vara svårt att hitta ett tangentbord med ännu mindre hänsyn till användarnas integritet i valet av behörigheter. Tyvärr hade jag fel.
Snabbtangent
SwiftKey, som nyligen blev en gratis applikation, är ett mycket populärt tangentbord från tredje part, ofta hyllat för sin prediktionsalgoritm som kan förutsäga nästa ord du kommer att använda. Kommer det dock till en kostnad för användningen av behörigheter? Återigen har jag utökat den här listan, som rullades upp av Play Butiks webbgränssnitt till en rullningslista, så att du kan se alla behörigheter på en gång.
Vid en snabb blick verkar SwiftKey vara ganska lika i valet av behörigheter till Google Keyboard. Tillägget av In-App Purchases beror på att den nyligen lanserats som en gratis app (snarare än en betalapp) och är inte av stor betydelse för integriteten.
Vår första skillnad är att SwiftKey har tillgång till att läsa SMS- och MMS-meddelanden. Detta är vettigt, eftersom SwiftKey har en funktion för att lära sig språkmönster från meddelanden. Tyvärr, med tanke på att SwiftKey är en applikation med stängd källkod (som Google Keyboard), är det svårt att säga exakt vad som görs med denna data - mer öppen källkod, hög kvalitet, tangentbordsval behövs definitivt på marknadsföra!
En annan skillnad är att SwiftKey hävdar den ökända "READ_PHONE_STATE"-tillståndet. Detta ger tillgång till dina IMEI-, IMSI- och SIMID-identifierare, såväl som telefonnummer, och information om den andra parten i alla samtal (inklusive deras telefonnummer). Vid det här laget kan jag verkligen inte komma på något att lägga till här om varför SwiftKey kan behöva denna data. Visst, alla appar som är kompatibla med Android 1.5 visas som använder denna behörighet, eftersom det inte fanns någon dedikerad behörighet för detta vid den tiden. Android 1.5 är dock en kvarleva från 2009, så det finns ingen ursäkt för att detta finns idag. Jag kan bara ana att SwiftKey, i sin oändliga visdom, har bestämt sig för att de skulle vilja kunna spåra sina användare och behövde ha en unik hårdvaruidentifierare som IMEI för att göra det. Trots att Google förbjuder användningen av IMEI för reklamspårning (de vill att deras användaråterställbara reklam-ID ska användas istället), har de tyvärr inte en generellt förbud mot användning av enhetsidentifierare i allmänhet, som kan användas för att spåra din användning mellan applikationer, och tillhandahålla ett beständigt sätt att identifiera dig i framtida.
Än en gång innehöll SwiftKey full internetåtkomst, en behörighet undangömd i avsnittet "övrigt". Är jag den enda som är lite oroad över att SwiftKey har full tillgång till Internet, liksom allt av den andra data som den har åtkomst till (som SMS, dina identitetsuppgifter och konton, och IMEI)?
Slutsats
Det framgår av endast en kort titt på behörigheterna för två populära tangentbord – ett är Googles eget och ett är Googles eget SwiftKey – att det finns några stora frågor att ställa om användningen av behörigheter i "säkerhetskänslig" Android applikationer. Apples iOS 8 avser att introducera tangentbord från tredje part i den kommande utgåvan, utan tillgång till internet för dessa applikationer som standard, och en möjlighet för användaren att neka tangentbordet åtkomst till internet om den begär det Det.
På Android har aktieanvändare inte det här alternativet. Lyckligtvis, om du är en rotad användare som kör Xposed Framework, hjälper XPrivacy här. Jag har blockerat alla tillstånd från SwiftKey, med undantag för åtkomst till min användarordbok och SD-kort (där det lagrar sina data), och det fungerar helt okej. Jag kanske inte får "fördelarna" med ett internetanslutet tangentbord (varför, för kärleken till allt som är Android, vill mitt tangentbord att jag loggar in på G+ för att få "moln"-funktioner? Det är ett tangentbord!!)
Det är uppenbart att Play Butik verkligen försöker göra det svårt att se vilka behörigheter som finns används av appar, och de nya ändringarna av kategoriserade behörigheter utgör helt separata och betydande risker, som jag belyst nyligen. Kanske är det dags för tekniskt kunniga användare att stanna upp och ta reda på vad de har installerat på sin telefon och vilka appar de litar på med alla sina tangenttryckningar. Är du nöjd med att ditt tangentbord får tillgång till Internet utan din vetskap? Visste du att det kunde göra det när du installerade det? Många frågor, det är dags för användare att kräva svar från utvecklare och ta kontroll över sin egen integritet, eftersom det är uppenbart att Google och apputvecklare inte är intresserade av att göra detta.