Ennesima figuraccia per Android:
http://engineering.columbia.edu/columbia-engineering-team-finds-thousands-secret-keys-android-apps-0
AUTHENTICATION TOKENS
The rise of the Web 2.0 architecture has seen a prolifer-ation of cloud service APIs. Service to service communi-cation is usually authenticated with secret tokens that areknown only by the involved parties. When implementedas intended, secret tokens are never shared and are storedon trusted servers where they can be properly safeguarded.However, as these service to service protocols have beenadapted to mobile applications, we have discovered usingPlayDronethat developers are now embedding secret to-kens directly into applications. While developers may be-lieve their application sources are well guarded, the ease ofdecompilation and the widespread availability of mobile ap-plications makes recovering secret tokens relatively simple.We discuss how we usedPlayDroneto discover secret to-kens used with Amazon Web Services (AWS) and severalOAuth providers and demonstrate the potential for abuseof these tokens by malicious actors.
A quanto pare un sacco di chiavi private (cioè quelle che servono per utilizzare certe applicazioni fuori dall’applicazione stessa, in pratica servizi esterni che posson essere Facebook, Google +, Google Play Games Services, Amazon…) sono liberamente (o meno) ottenibili e leggibili e quindi utilizzabili a danno dello sviluppatore.
Quindi “falle nel Google Play Store” non solo per colpa di Google (in qualche servizio Google c’è della sicurezza aggiuntiva che non permette al malitenzionato di appropriarsi dei propri servizi…), ma anche per colpa degli sviluppatori e dei servizi di terze parti… e degli SDK messi a disposizione che lasciano le chiavi non offuscate.
Ma ricordiamoci anche la storia dei Permessi: su Android l’utente prima di installare l’applicazione viene avvisato dei permessi che questa richiede, ma nessuno a quanto pare legge con attenzione questa parte (anche se ultimamente il Play Store ha cercato di migliorarne la leggibilità!). Colpa sicuramente dell’utente, non una falla diretta.
Ma con iOS l’utente viene di volta in volta avvisato a cosa sta cercando di accedere l’applicazione (contatti? fotocamera?) e a quanto pare sembra una soluzione migliore anche se secondo me è invasiva.
Anche la questione che negli aggiornamenti le applicazioni potrebbero aggiungere nuovi permessi e farli risaltare meno sembra essere preoccupante.
Serviranno nuove API (e la riprogrammazione in XXXX applicazioni -sviluppatori incazzati incoming- ) per ridurre il problema o Google riuscirà ad evitarlo a monte attraverso il Google Play Store? O attraverso un modo per bloccare i singoli permessi… ci sono già app di terze parti che lo fanno. 😮
Invece per la storia delle chiavi private? Offuscamento tramite SDK o ci penseranno gli sviluppatori dei servizi di terze parti?
Per fregarle basterebbe anche sniffare il traffico? L’offuscamento via codice quindi non risulterebbe inutile? Bisogna veramente agire a monte con ulteriori controlli?
Però io continuo a preferire il wild wild west che il “giardino” murato e recintato con i bambini speciali dell’asilo che ci giocano dentro.
L’importante è fare quel cazzo che si vuole.
Ah sì: fanculo facebook.
Android sarebbe il top, ma google mi fa paura, mi sembra stia prendendo una brutta piega.