Il sistema operativo Android può impedire che le chiamate API ai servizi di sistema vengano ingannate?

1

Android Application Framework fornisce un sacco di servizi di sistema, come PackageManagerService, ActivityManagerSerive. La maggior parte dei servizi si trova nel processo Server di sistema. Il framework fornisce anche un sacco di API alle app sotto forma di un insieme di classi proxy, in modo tale che quando un'app richiama proxy.API_foo (), l'invocazione verrà gestita, tramite il meccanismo Binder, come una chiamata procedurale remota da uno dei servizi di sistema.

La mia domanda è che, dal momento che tutte le classi proxy si trovano nello spazio degli indirizzi di memoria del processo dell'app, non è vulnerabile agli attacchi di un'app compromessa? Ad esempio, posso sovrascrivere il puntatore "this" di una classe di interesse proxy, tale che "this" punta a una tabella di funzioni virtuale arbitraria.

Il sistema fornisce protezione da scrittura per quegli oggetti classe proxy, in modo che non possano essere manipolati?

Forse ti starai chiedendo perché ho fatto questa stupida domanda. Alcune app si basano su chiamate di servizio di sistema per restituire valori corretti per alcuni scopi di sicurezza:

link

Sto prendendo in considerazione questo scenario: supponendo che tu possa aggiungere codice in un'app e il codice dannoso possa manipolare la memoria che memorizza le classi proxy, suppongo che io possa hackerare / imbrogliare l'app di alto valore (ad esempio un'applicazione bancaria, una app di assistenza sanitaria) restituendo in qualche modo valori falsi quando vengono chiamate le API del servizio di sistema.

Ho trovato questo, ma non lo capisco: link

Ho trovato anche un articolo: link

Ma l'hacking richiede il privilegio di root. È davvero necessario?

Collegamenti sui servizi di sistema:

link

link

link

    
posta Infinite 08.12.2017 - 17:55
fonte

0 risposte

Leggi altre domande sui tag