Privilege escalation

Che cos’è?

In informatica si intende con il termine di  “privilege escalation” lo sfruttamento di una vulnerabilità, di un errore di progettazione o di configurazione di un software applicativo e/o sistema operativo al fine di acquisire il controllo delle risorse della macchina normalmente precluse.

Perché è rilevante?

Un’applicazione e/o utente che dispone di maggiori autorizzazioni di quelle previste o definite dall’amministratore di sistema può, ovviamente, mettere in opera azioni impreviste e non autorizzate.

Cos’è tecnicamente?

La “scalata” verso un livello di autorizzazioni più alto è possibile in caso di progettazione errata e/o mal gestita di funzionalità di sistema: ciò apre una falla di sicurezza nell’applicazione/sistema operativo tramite la quale un utente malintenzionato o un software malevolo può mettere in opera le seguenti tipologie di azioni:

Vertical Privilege Escalation: un utente/applicazione accede a funzioni, autorizzazioni e privilegi più alti di quelli assegnatigli.  Si precisa che questo comporta anche la possibilità per l’utente divenuto amministratore di retrocedere i privilegi di altri amministratori al livello di semplice utente. Per esempio nei sistemi operativi Microsoft alcuni servizi sono configurati per essere eseguiti con account utente di tipo Local System. Sfruttando un vulnerabilità come il “buffer owerflow” può essere eseguito codice arbitrario con privilegi più elevati di Local System.

Horizontal Privilege Escalation: un utente con gli stessi  livelli di autorizzazione di altri utenti, ma con diritti di accesso ad aree differenti rispetto a questi ultimi, guadagna accesso a dette aree.  Per esempio:

  1. L’utente A in base al suo account ha accesso ad alcune funzionalità a lui riservate di un servizio on-line.
  2. L’utente B in base al suo account ha accesso ad alcune funzionalità a lui riservate di un servizio on-line.
  3. La vulnerabilità di Horizontal Privilege Escalation si manifesta quando l’Utente A è in grado di utilizzare le funzionalità riservate dell’Utente B.

Come mi difendo?

Per cercare di ridurre il rischio di privilege escalation, i modermi  sistemi operativi e gli utenti possono adottare  strategie di:

  • Data Execution Prevention.
  • Patching.
  • Esecuzione di applicazioni con il livello minimo di privilegi.
  • Criptaggio software e/o della componente firmware.
  • Eseceuzione in “kernel mode” solo di codice firmato digitalmente.

Il CERT-AGID consiglia di accedere ai sistemi operativi/applicazioni sempre con accunt utente dotati di privilegi minimi e non con account di tipo “Administrator” o “Root” ed inoltre di aver sempre abilitata la modalita UAC (User Access Control).

Come si rimedia?

Trattandosi di vulnerabilità presenti in Sistemi Operativi e/o software si consiglia sempre di tener sempre aggiornato il software e/o il firmware dei dispositivi.