Protezione delle API da Rogue / Fake iOS o app Android?

2

In che modo proteggi un'API Web non pubblica da un'app dannosa in cui uno sviluppatore ha scoperto come eseguire alcune richieste?

Prendi l'app di Instagram come esempio: Instagram non ha una richiesta pubblica API per i media POST. La loro politica è stata quella di consentire solo agli utenti di pubblicare tramite l'app ufficiale di Instagram.

Tuttavia, ci sono servizi che consentono di essere in grado di inviare contenuti POST dall'esterno dell'app. Immagino che uno sviluppatore ambizioso sia riuscito a decompilare l'app per iOS o Android e scoprire le richieste che abilitano i media POST-ing. Pertanto, questo sviluppatore ha la possibilità di inviare spam a Instagram con post automatici.

Supporrei anche che Instagram avrebbe tentato in qualche modo di proteggere la propria API tramite una chiave API memorizzata nell'app o con altri mezzi.

La mia domanda è: come proteggi un'app contro questo tipo di attacco e se non puoi assolutamente proteggerti da ciò, quali sono le prossime opzioni migliori?

    
posta ryd3r 10.12.2015 - 05:17
fonte

1 risposta

3

Se stai eseguendo un servizio web, devi sempre presumere che il lato client del tuo servizio non possa mai essere protetto contro la manomissione dell'utente. Tutto ciò che invii all'utente può essere decodificato, è solo una questione di tempo.

La soluzione a questo è di fare i controlli di sicurezza sul lato server. Nel tuo esempio di spam dei post di Instagram, è probabile che ciò venga impedito dalle chiamate che limitano la velocità delle loro API. Ad esempio, ogni utente è autorizzato a pubblicare, ad esempio, 2 foto al minuto e qualsiasi chiamata API che tenta di pubblicare più di quella risulterebbe in un post non riuscito e restituire un errore HTTP di 400 serie.

Quindi nel tuo esempio Instagram, non possono davvero impedire a nessuno di inviare le proprie richieste API. Pertanto, devono eseguire la convalida sul lato server delle richieste API che ricevono per assicurarsi che siano tutte legittime e che l'API non venga violata.

    
risposta data 10.12.2015 - 05:27
fonte

Leggi altre domande sui tag