Sei un revisore? Un auditor? Oppure un IT manager che desidera mantenere sotto controllo i dati dei propri sistemi SAP?
È possibile attribuirsi privilegi senza lasciare tracce o quasi?
Ecco perché devi conoscere quali sono i rischi potenziali che possono esserci nel sistema SAP e come puoi mitigarli!
Come funzionano le autorizzazioni SAP?
Non semplice da descrivere in poche parole. Ci provo!
Tutto ciò che non è esplicitamente autorizzato è negato. Non è possibile quindi dire non puoi fare questo o quello. Si può solo dire ti autorizzato a fare qualcosa (anche se ci sono alcune piccole eccezioni).
Le autorizzazioni SAP sono assegnate agli utenti. Ogni utente quando effettua l'accesso al sistema (logon a SAP) riceve nel suo buffer autorizzativo l'elenco di tutte le autorizzazioni a lui assegnate.
Tramite la transazione SU56 è possibile vedere l'elenco di tutte le autorizzazioni presenti nel buffer utente SAP.
È davvero possibile assegnarsi SAP_ALL senza lasciare tracce?
Sì, può essere possibile, esistono diversi modi. In alcuni casi sono davvero poche le tracce per trovarli.
Uno di questi è attraverso il meccanismo standard dei trasporti SAP (chiamato anche TMS Transport Management System). Si tratta di una modalità per portare gli sviluppi o le modifiche apportate nel sistema, dall'ambiente di sviluppo fino a quello produttivo. Tecnicamente sono dei file che vengono esportati da una macchina ed importata nell'altra.
Di default non esistono meccanismi di approvazione (anche se è possibile attivarli).
Quindi?
- Controlli il contenuto delle change request che arrivano fino in ambiente produttivo?
- Sì, li possono nascondere una attribuzione di questo tipo. Una volta arrivata in produzione, non risultano modifiche ad utenti ruoli o autorizzazioni. Semplicemente ricevo SAP_ALL.
- Controlli che nel codice custom non siano presenti backdoor che permettano di assegnare direttamente nel buffer utente questo tipo di autorizzazioni?
Disclaimer!
L'obiettivo di questo articolo non è quello di dare un modo semplici per superare delle regole o delle restrizioni.
Al contrario è porre l'attenzione su aspetti, talvolta sconosciuti, ma che potrebbero mettere a rischio i dati contenuti nei sistemi SAP.
Per poter mitigare questi rischi devi prima identificarli e classificarli.
Come puoi mitigare questo rischio?
Oggi diventa impensabile, soprattutto per alcune realtà, dover controllare manualmente migliaia di change request o milioni di righe di codice modificato, sviluppato oppure importato da terzi.
Abbiamo chiesto aiuto ad Antonio Piazza, Sales Manager Virtual Forge Italia.
[Massimo] Antonio, raccontaci in due parole chi sei è cosa fai!
[Antonio] Mi occupo da più di dieci anni di sicurezza informatica, da un anno sono il referente italiano delle soluzioni Virtual Forge.
[Massimo] Antonio, per tua esperienza, è pensabile controllare manualmente queste situazioni?
[Antonio] Direi di sì, ma con forti limiti. Ad esempio:
- In questo caso abbiamo citato solo questo genere di vulnerabilità da controllare. Ma non esiste solo questo tipo di problematica.
- Inoltre quante persone all'interno delle società che usano SAP hanno delle competenze così verticali?
- Quanto potrebbe essere il costo e soprattutto l'efficacia di questi controlli svolti manualmente?
[Massimo] Hai ragione. Ma quindi voi di Virtual Forge cosa consigliate?
[Antonio] Noi, nei casi in cui non è possibile svolgere manualmente questi controlli, consigliamo di adottare le nostre soluzioni ovvero la Suite di Virtual Forge, formata da tre anime:
- Code Security
- System Security
- Transport Security
Sono pacchetti autonomi. Possono essere utilizzati singolarmente oppure assieme. Permettono di controllare, nel caso del Transport Security, tutte le change request che transitano nei sistemi verificandone il contenuto tramite una serie di controlli (più di 200) definiti all'interno del sistema.
In questo modo avviene un controllo automatico e l'operatore che esegue il trasporto ne vede subito le criticità (senza dover analizzare ogni pacchetto manualmente). Il sistema permette inoltre di configurare dei workflow sofisticati di approvazione.
Ma il cerchio in questo caso si chiude con il Code Security. Qui andiamo ad analizzare il linguaggio di sviluppo SAP ricercando dei patter critici. Attenzione, non solo security del codice (es. directory traversal, hard-coded, missing authority-check, command injection) ma anche robustezza e performance degli sviluppi.
[Massimo] Grazie Antonio. Ma avete delle referenze in Italia?
[Antonio] Sì, abbiamo già delle referenze. Dal 2018 siamo presenti anche in Italia e riteniamo che nei prossimi anni, anche qui, come già all'estero, ci sarà una forte necessità di questi strumenti di controllo.
[Massimo] Grazie Antonio!
Ehi, sei arrivato fino a qui, cosa aspetti a verificare che non sia accaduto quanto sopra anche nel tuo sistema. Puoi verificare anche retroattivamente dato che viene tenuta traccia in SAP del contenuto delle change request!