Rischi e raccomandazioni per la sicurezza delle API

1 settembre 2020 | Blog Rischi e raccomandazioni per la sicurezza delle API


minaccia alla sicurezza dell'API

Gli esperti mettono in guardia i professionisti della sicurezza dalla prossima grande minaccia che incombe sul mondo informatico: gli attacchi alle interfacce di programmazione delle applicazioni (API) . Le API servono a migliorare le prestazioni dei sistemi integrando i servizi di altri siti web nei propri. Tra le API più diffuse figurano Google Maps, YouTube e Twitter, che consentono ai creatori di siti web di incorporare mappe, video di YouTube o tweet nelle proprie pagine. Con la crescente diffusione di questi strumenti, gli hacker hanno trovato il modo di sfruttarli per commettere frodi e rubare dati.

I dieci principali rischi delle API OWASP

Poiché gli hacker concentrano la loro attenzione sull'hacking delle API, queste rappresentano un rischio per le aziende che le utilizzano nei loro siti web. I nostri fidati amici di OWASP hanno codificato i principali rischi per la sicurezza associati alle API:

  1. Autorizzazione a livello di oggetto non funzionante. L'unico scopo di un'API è fornire accesso remoto ai dati. In alcune API, le autorizzazioni di accesso devono essere impostate per impedire a un utente di accedere ai dati di un altro utente. Questo avviene tramite l'autorizzazione a livello di oggetto. Assicurati che le tue API limitino l'accesso agli utenti appropriati per ridurre questo rischio. Ad esempio, una semplice API di e-commerce potrebbe elencare le vendite del tuo negozio. L'autorizzazione a livello di oggetto, se eseguita correttamente, impedisce ad altri proprietari di negozi di interrogare le vendite del tuo negozio. 
  2. Autenticazione utente non funzionante. I meccanismi di autenticazione sono spesso implementati in modo errato, consentendo agli aggressori di compromettere i token di autenticazione o di sfruttare i difetti di implementazione per assumere l'identità di altri utenti temporaneamente o permanentemente. Compromettere la capacità di un sistema di identificare il client / utente compromette la sicurezza delle API in generale.
  3. Esposizione eccessiva dei dati. Gli sviluppatori spesso espongono involontariamente i set di dati delle API. È consigliabile adottare il principio del privilegio minimo per ridurre il rischio di esposizione di dati riservati. Nel nostro esempio di e-commerce, consentiamo al negozio A di accedere solo ai dati del negozio A e al negozio B di accedere solo ai dati del negozio B. 
  4. Assenza di restrizioni sulle query e limitazioni sulla velocità. Le API non impongono alcuna restrizione sulla dimensione o sul numero di risorse che possono essere richieste dal client/utente. Questo non solo può influire sulle prestazioni del server API, ma può anche portare a Denial of Service (DoS), ma consente anche attacchi di autenticazione come un attacco di forza bruta sulle credenziali. 
  5. Autorizzazione a livello di funzione interrotta. Policy di controllo degli accessi complesse con gruppi e ruoli diversi e l'incapacità di separare correttamente le funzioni amministrative da quelle ordinarie. Questi errori delle API sono falle di autorizzazione. Sfruttando queste falle, gli aggressori ottengono l'accesso alle risorse e/o alle funzioni amministrative di altri utenti.
  6. Assegnazione di massa. Per impostazione predefinita, le API espongono agli utenti le funzioni di accesso ai dati sottostanti. Le API devono limitare tutte le richieste di dati a un insieme specifico di chiamate di funzione. Questo riduce il rischio di modifiche o accessi inappropriati agli oggetti semplicemente indovinando le proprietà degli oggetti, esplorando altri endpoint API, leggendo la documentazione o fornendo proprietà aggiuntive degli oggetti nei payload delle richieste.
  7. Configurazione errata della sicurezza. Un errore di configurazione della sicurezza è spesso il risultato di configurazioni predefinite non sicure, incomplete o ad hoc, archiviazione cloud aperta, intestazioni HTTP non configurate correttamente, metodi HTTP non necessari, condivisione di risorse cross-origin (CORS) permissiva e messaggi di errore dettagliati contenenti informazioni sensibili. Ad esempio, un errore di accesso al sito web non deve rivelare se il nome utente è presente nel sito web.
  8. Iniezione. I difetti di injection, come SQL, NoSQL, command injection e così via, si verificano quando dati non attendibili vengono inviati a un interprete come parte di un comando o di una query. I dati dannosi dell'aggressore possono indurre l'interprete a eseguire comandi involontari o ad accedere ai dati senza un'adeguata autorizzazione.
  9. Gestione impropria delle risorse. Le API tendono a esporre più endpoint rispetto alle applicazioni web tradizionali, rendendo estremamente importante una documentazione adeguata e aggiornata. Una documentazione completa di tutte le distribuzioni e versioni delle API consente di ottenere inventari validi. Quando bug o vulnerabilità vengono rilevati e risolti nella tua API, il tuo inventario contribuisce a garantire che tutto sia sempre aggiornato. 
  10. Registrazione e monitoraggio insufficienti. Una registrazione e un monitoraggio insufficienti, uniti a un'integrazione mancante o inefficace con la risposta agli incidenti, causano numerosi problemi. Ciò consente agli aggressori di sfruttare i sistemi, configurare e mantenere la persistenza, attaccare altri sistemi ed estrarre o distruggere dati. La maggior parte degli studi sulle violazioni dimostra che il tempo necessario per rilevare una violazione è superiore a 200 giorni, in genere rilevata da soggetti esterni anziché da processi o monitoraggi interni.

Requisiti di sicurezza

Con l'aumento dell'adozione delle API, aumenta anche il rischio di attacchi hacker contro tali API. Gli esperti raccomandano a progettisti e sviluppatori di adottare i seguenti requisiti di sicurezza quando si lavora con applicazioni che utilizzano le API: 

Visibilità

Il principio "La conoscenza è potere" è appropriato quando si tratta di visibilità delle API. Gli sviluppatori e gli utenti di applicazioni devono sapere quali API vengono pubblicate, come e quando vengono aggiornate, chi vi accede e come avviene l'accesso. Comprendere l'ambito di utilizzo delle proprie API è il primo passo per proteggerle.

Controllo Accessi

L'accesso alle API è spesso controllato in modo poco rigoroso, con conseguenti rischi di esposizione indesiderati. Garantire che il corretto insieme di utenti disponga delle autorizzazioni di accesso appropriate per ciascuna API è un requisito di sicurezza fondamentale che deve essere coordinato con i sistemi di gestione delle identità e degli accessi (IAM).

Mitigazione dei bot

In alcuni ambienti, fino al 90% del traffico applicativo (accesso/registrazione all'account, checkout del carrello) è generato da bot automatizzati. Comprendere e gestire i profili di traffico, inclusa la capacità di distinguere i bot legittimi da quelli dannosi, è fondamentale per prevenire gli attacchi automatizzati senza bloccare il traffico legittimo. Misure complementari efficaci includono l'implementazione di whitelist, blacklist, policy di limitazione della velocità, CAPTCHA e geofencing specifici per i casi d'uso e i corrispondenti endpoint API.

Prevenzione degli exploit delle vulnerabilità

Le API semplificano i processi di attacco eliminando il modulo web o l'app mobile, consentendo a un malintenzionato di sfruttare più facilmente una vulnerabilità mirata. Proteggere gli endpoint delle API da abusi della logica di business e da altri exploit di vulnerabilità è un requisito fondamentale per la mitigazione della sicurezza delle API.

Prevenzione della perdita dei dati

Prevenire la perdita di dati su API esposte per utenti con privilegi appropriati o altro, a causa di errori di programmazione o lacune nel controllo della sicurezza, è anche un requisito di sicurezza critico. Molti attacchi API sono progettati specificamente per ottenere l'accesso a dati critici resi disponibili da server e sistemi back-end.

Andando avanti

È importante rimanere aggiornati sugli strumenti e i software che si utilizzano più frequentemente e assicurarsi di essere a conoscenza di tutte le nuove vulnerabilità dei sistemi. Iscriversi a una newsletter sulla sicurezza informatica può aiutare a tenersi al passo con le minacce emergenti. Consulta le newsletter di CyberHoot e iscriviti per ricevere aggiornamenti mensili gratuiti. Essere consapevoli delle minacce alla sicurezza a cui si è esposti è il primo passo per proteggere i propri sistemi.

CyberHoot è un'ottima azienda con cui collaborare, grazie a centinaia di programmi di formazione, tra cui nozioni di base sulla sicurezza informatica. CyberHoot può formare gli utenti su qualsiasi argomento, dalle nozioni di base sulla sicurezza informatica ai rischi applicativi OWASP, fino alla formazione avanzata su Microsoft Excel. Per contattarci, contattateci. sales@cyberhoot.com, oppure organizza un incontro a https://Calendly.com/CyberHoot.

Per saperne di più sulla sicurezza delle API, guarda questo breve video di 2 minuti:

Fonti: 

MinacciaPost

HelpNetSecurity

Letture aggiuntive: 

I dieci principali rischi per la sicurezza OWASP

Apple incoraggia gli sviluppatori a utilizzare la nuova API App Attest di iOS 14 per proteggersi dalle minacce alla sicurezza

Gli ultimi blog

Rimani aggiornato con le ultime novità informazioni sulla sicurezza

Scopri e condividi le ultime tendenze, i suggerimenti e le best practice in materia di sicurezza informatica, oltre alle nuove minacce a cui prestare attenzione.

Corp MDM: la finta app di lavoro che voleva leggere i tuoi messaggi

Corp MDM: la finta app di lavoro che voleva leggere i tuoi messaggi

Autrice: Katie Boquetti | Editoriale: Craig Taylor Editoriale di Craig Taylor: Lo sappiamo da un po' qui...

Leggi di più
I falsi ChatGPT Helper stanno diffondendo malware. Ecco come individuarli.

I falsi ChatGPT Helper stanno diffondendo malware. Ecco come individuarli.

Autrice: Katie Boquetti | Editoriale: Craig Taylor Editoriale di Craig Taylor: Un CAPTCHA dovrebbe verificare se...

Leggi di più
Phishing legato al consenso OAuth: proteggi le tue autorizzazioni, non solo la tua password.

Phishing legato al consenso OAuth: proteggi le tue autorizzazioni, non solo la tua password.

Autrice: Katie Boquetti | Editoriale: Craig Taylor Editoriale di Craig Taylor: Sono fortunata ad avere...

Leggi di più