L’application programming interface (API) è una soluzione che consente l’integrazione delle applicazioni mediante la tecnologia web. È un errore, tuttavia, pensare che sia possibile tutelare le API utilizzando gli stessi metodi e la stessa tecnologia impiegati per la protezione del web basato su browser.
L’injection SQL, ad esempio, risale addirittura agli inizi della programmazione client/server e ci si aspetterebbe che gli sviluppatori siano ormai esperti nelle contromisure utili a fronteggiare un attacco così poco recente. Al contrario, l’injection SQL è migrato facilmente alle app web e oggi vede una nuova, significativa diffusione, collegata all’aumento del numero delle aziende che pubblicano API rivolte a Internet, connesse direttamente alle loro infrastrutture applicative.
Le API, infatti, sono finestre aperte sulle applicazioni e, come tali, possono facilmente essere oggetto di abusi. In questo documento, realizzato dagli esperti di CA Technologies, una collezione di suggerimenti preziosi per capire come e perché costruire un’architettura di sicurezza delle API solida e performante, basandosi sulla comprensione di alcuni aspetti chiave come, ad esempio:
- quali sono i punti scoperti che espongono le applicazioni all’attenzione degli hacker, offrendo un maggiore potenziale di controllo a fini negativi, aumentando la superficie di attacco sulle applicazioni client
- come l’accesso molto più granulare a un’applicazione fa sì che le API possano potenzialmente offrire agli sviluppatori lato client, a quelli legittimi come ai potenziali cracker, un orizzonte di vulnerabilità estremamente pericoloso
- come gli attacchi incentrati sui parametri sfruttino i dati inviati alle API, tra cui URL, parametri di query, intestazioni HTT P e/o contenuti pubblicati
- come gli attacchi incentrati sulle identità sfruttano le debolezze nei sistemi di autenticazione, autorizzazione e registrazione delle sessioni
- come gli attacchi di tipo man-in-the-middle intercettino le transazioni legittime e sfruttano dati non firmati e/o non crittografati
- cosa significa attuare una separazione per livelli distinti in fase di implementazione delle API tale da consentire a ogni sviluppatore di concentrarsi completamente sull’ambito applicativo, garantendo la corretta progettazione e integrazione tra app diverse
<a data-cke-saved-href=”https://ict4.wufoo.com/forms/m1g0elry0pduk33/” href=”https://ict4.wufoo.com/forms/m1g0elry0pduk33/”>Fill out my Wufoo form!</a>