Che cos'è la violazione BOPLA?

La violazione dell'autorizzazione a livello della proprietà dell'oggetto (BOPLA) è una vulnerabilità della sicurezza presente nelle API (Application Programming Interface) che, a causa di controlli di autorizzazione inadeguati, può consentire agli hacker di visualizzare o manipolare le proprietà di oggetti sensibili, causando, potenzialmente, perdita di dati, esposizione di dati sensibili, escalation dei privilegi o attacchi per il controllo degli account. La violazione BOPLA è riportata in terza posizione nell'elenco OWASP del 2023 con i 10 principali problemi per la sicurezza delle API.

Che cos'è la vulnerabilità BOPLA?

Le applicazioni web recuperano i dati e popolano i campi sulle pagine front-end chiedendo alle API informazioni su oggetti come record di database o file. Ogni oggetto, in genere, contiene diversi punti dati o "proprietà". Ad esempio, il profilo associato a un account utente può includere proprietà quali first_name, last_name, email_address, password, SSN_number e is_admin per indicare se l'utente dispone o meno di privilegi amministrativi.

Durante una chiamata API, le API spesso inviano più informazioni di quanto sia tecnicamente richiesto in una risposta API, lasciando all'applicazione client il compito di estrarre i dati necessari e di visualizzarli per l'utente. Questa vulnerabilità genera rischi per gli endpoint delle API in due modi diversi:

Eccessiva esposizione di dati. Ciò si verifica quando una risposta di un'API include più informazioni della chiamata API richiesta ed, eventualmente, include informazioni sensibili (password e codice fiscale, ad esempio) a cui un utente o un'app non deve poter accedere. Quando si tratta di risposte delle API visualizzate in un sito web o in un'app, alcuni dei dati resi visibili si trovano solo nella risposta dell'API stessa e possono essere estrapolati facilmente. 

Assegnazione di massa. Ciò si verifica quando un endpoint di un'API consente a un utente non autorizzato di modificare, aggiungere o eliminare il valore di una proprietà oggetto. Nel record dell'esempio precedente, se la risposta di un'API espone inutilmente una proprietà is_admin, i criminali potrebbero aumentare i loro privilegi in modo non autorizzato modificando la proprietà is_admin in TRUE. In tal modo, i criminali possono anche apportare modifiche ad altre proprietà o accedere ad altri oggetti a cui non dovrebbero accedere.

La vulnerabilità BOPLA è stata introdotta inizialmente nell'elenco OWASP con le 10 principali vulnerabilità per la sicurezza delle API nel 2023, combinando queste due minacce riportate qui sopra (eccessiva esposizione di dati e assegnazione di massa) che erano apparse separatamente negli elenchi precedenti.

Quali sono le differenze tra le vulnerabilità BOPLA e BOLA?

La violazione BOPLA è correlata alla violazione dell'autorizzazione a livello di oggetto (BOLA), che viene riportata al primo posto nell'elenco OWASP con le 10 principali vulnerabilità per la sicurezza delle API. Tuttavia, mentre la violazione BOLA si riferisce all'autorizzazione di accesso a un intero oggetto, la violazione BOPLA si riferisce alle vulnerabilità che interessano singole proprietà all'interno di un oggetto.

Illustration showing that BOPLA refers to a property inside an object La violazione BOPLA si riferisce a una proprietà all'interno di un oggetto

Mentre la violazione dell'autorizzazione a livello di oggetto (BOLA) si riferisce a un intero oggetto, la violazione BOPLA si riferisce a una proprietà all'interno di un oggetto. 

Anche se un'API applica un'autorizzazione a livello di oggetto adeguata per prevenire gli attacchi BOLA, queste misure potrebbero non essere sufficienti per proteggersi dagli attacchi BOPLA. Per mitigare la vulnerabilità BOPLA, i team devono adottare autorizzazioni più specifiche che interessano gli oggetti e le loro caratteristiche e devono anche considerare i diversi livelli di accesso all'interno degli oggetti delle API, che, spesso, hanno proprietà sia pubbliche che private.

Quali danni può causare un attacco BOPLA?

Gli attacchi incentrati sulla vulnerabilità BOPLA possono consentire ai criminali di:

  • Modificare le proprietà degli oggetti ai quali non possono accedere
  • Visualizzare i dati sensibili ai quali non possono accedere
  • Effettuare l'escalation dei privilegi per assumere il controllo degli account

Perché è difficile rilevare le vulnerabilità BOPLA?

Tradizionalmente, i team addetti alla sicurezza si sono affidati alle soluzioni WAF (Web Application Firewall) e ai gateway API per difendere le API dalle minacce. Tuttavia, la sicurezza offerta dalle soluzioni WAF e dai gateway API non tiene conto della logica aziendale e del contesto delle API, rendendo impossibile individuare i dati sensibili inviati tramite un'API o comprendere il livello di esposizione rappresentato dai singoli dati. Inoltre, queste soluzioni di protezione delle API non sono sempre in grado di distinguere tra chiamate legittime e attività dannose, ad esempio una chiamata API dannosa che invia una richiesta utilizzando il metodo PUT con parametri aggiuntivi apparirà come una normale chiamata API per una soluzione WAF o un gateway API.

Per rilevare le vulnerabilità BOPLA, i team addetti alla sicurezza hanno bisogno di una tecnologia in grado di identificare e generare rapporti su un'ampia gamma di dati sensibili che possono essere inclusi nelle richieste e nelle risposte delle API. Le soluzioni di livello superiore dovrebbero anche tenere traccia delle attività anomale in cui i criminali hanno manipolato le richieste delle API con parametri non autorizzati. La possibilità di fissare uno standard e monitorare l'accesso alle API per ciascun endpoint e utente può aiutare a identificare un consumo eccessivo e individuare casi in cui altri parametri nelle chiamate API non rientrano nel normale comportamento. Il sistema di sicurezza delle API deve, inoltre, essere in grado di rilevare i criminali che stanno esaminando le API durante la fase di ricerca di un attacco per comprendere la loro struttura e la logica aziendale su cui si basano.

In che modo si possono prevenire gli attacchi BOPLA?

Gli sviluppatori devono assicurarsi innanzitutto che il codice sia sicuro e che non vi siano problemi con l'autorizzazione della proprietà degli oggetti. Tuttavia, le vulnerabilità BOPLA si verificano sempre più nelle API di terze parti su cui i team addetti alla sicurezza non hanno alcun controllo.

Per prevenire gli attacchi BOPLA, i team addetti alla sicurezza possono intraprendere alcune operazioni essenziali.

Istruire gli sviluppatori sul codice sicuro. I team addetti alla sicurezza devono aiutare gli sviluppatori a comprendere la necessità di assegnare correttamente le autorizzazioni a livello di proprietà, applicando, al contempo, una strategia di autorizzazione standardizzata per tutti gli endpoint delle API. Il codice sicuro deve tenere conto del livello di autorizzazione dell'utente e dei requisiti di autorizzazione di tutte le risorse di riferimento. Le policy di sicurezza devono controllare rigorosamente quali campi possono essere modificati tramite elenchi di elementi consentiti. Gli sviluppatori devono, inoltre, essere prudenti in merito alla quantità e ai tipi di dati restituiti nelle risposte delle API e devono includere solo i dati necessari per i casi di utilizzo che hanno compreso chiaramente.

Zero Trust. L'implementazione del principio del privilegio minimo, un elemento fondamentale di un approccio alla sicurezza Zero Trust , limita gli utenti al livello minimo di accesso richiesto, contribuendo a prevenire gli attacchi BOPLA o a limitare i danni che possono causare.

Rilevamento. Identificando gli endpoint delle API vulnerabili, i team possono avvisare gli sviluppatori di eventuali problemi e informare i fornitori se le loro API sono vulnerabili.

Monitoraggio. Uno strumento di sicurezza delle API è in grado di monitorare il traffico per gli attacchi, inclusa l'assegnazione di massa, che sfrutta la vulnerabilità BOPLA.

Solido processo di autorizzazione. Quando si rende visibile un oggetto all'interno di un endpoint delle API, i processi di autorizzazione devono garantire che l'utente sia effettivamente autorizzato ad accedere alle proprietà dell'oggetto. L'adozione del controllo degli accessi basato sui ruoli (RBAC, Role-based Access Control) garantisce che solo le persone autorizzate possano accedere a proprietà specifiche.

Verifiche e aggiornamenti. Il controllo e l'aggiornamento delle autorizzazioni in modo continuo contribuiscono a garantire che siano sempre aggiornate e accurate.

Domande frequenti (FAQ)

Un'API (Application Programming Interface) è un insieme di protocolli e definizioni che consente ai diversi componenti e programmi software di comunicare, scambiare dati e condividere funzionalità tra loro. Definendo il modo in cui le applicazioni interagiscono, le API consentono a diversi sistemi software di richiedere e condividere informazioni che supportano importanti funzioni di e-commerce, pagamenti mobili, servizi cloud per i social media e molte altre aree del computing.

L'OWASP (Open Worldwide Application Security Project) è un'organizzazione no profit che si impegna a migliorare la sicurezza dei software e, ogni anno, pubblica un elenco dei 10 rischi principali per la sicurezza delle applicazioni web e delle API. Il rapporto è compilato da un team di esperti della sicurezza di tutto il mondo.

La vulnerabilità BOLA (Broken Object Level Authorisation) è considerata la principale minaccia per le API (Application Programming Interface) nell'elenco OWASP con i 10 principali rischi per la sicurezza delle API nel 2023. La vulnerabilità BOLA è un difetto nel meccanismo di controllo degli accessi di un'applicazione web, che consente agli utenti di accedere o manipolare "oggetti", ovvero record di database, file o altre risorse all'interno di un ambiente IT. Quando il meccanismo dell'applicazione non applica correttamente i controlli degli accessi, utenti non autorizzati possono eseguire azioni su oggetti a cui non dovrebbero essere autorizzati ad accedere.

Perché i clienti scelgono Akamai

Akamai è l'azienda di cybersecurity e cloud computing che abilita e protegge il business online. Le nostre soluzioni di sicurezza leader del settore, l'innovativa intelligence sulle minacce e il team presente su scala globale forniscono una difesa approfondita in grado di proteggere applicazioni e dati critici ovunque. Le soluzioni complete di cloud computing offerte da Akamai assicurano performance elevate e notevoli risparmi grazie alla piattaforma più distribuita al mondo. Le maggiori aziende internazionali si affidano ad Akamai per ottenere la protezione, la scalabilità e le competenze leader del settore di cui hanno bisogno per far crescere le loro attività senza rischi.

Scoprite tutte le soluzioni per la sicurezza di Akamai