Cosa è possibile fare per verificare se i programmi sviluppati in SAP sono conformi agli standard di security?

Quali sono gli strumenti che SAP offre out-of-the-box per la programmazione sicura?
Ci sono già strumenti inclusi nella suite SAP?
Si, sono diversi gli strumenti che puoi utilizzare già presenti in SAP S/4HANA (alcuni già presenti nella suite ECC)
- ABAP Test Cockpit (Transazione ATC) è il framework principale per eseguire i controlli sugli sviluppi custom
- Code Inspector (Transazione SCI). Permette di eseguire dei controlli relativi a: performance, security (alcuni controlli base), sintassi. In questo caso dovrebbe essere utilizzata per i controlli durante lo sviluppo e nella manutenzione ordinaria
- Extended Program Check (Transazione SLIN). Permette di eseguire dei controlli che normalmente richiederebbero molto più tempo se fossero eseguiti nella normale manutenzione
- CVA Code Vulnerability analysis. Si tratta di un add on che si integra negli strumenti già presenti in SAP. Sono degli ulteriori controlli relativi allo sviluppo sicuro del codice

Come funziona e cosa è il SAP Code Vulnerability Analysis?
- Si tratta di un add on da attivare (soggetto a licenza)
- Effettua una analisi statica del codice custom (ovvero tutti gli oggetti che iniziano con Z*, Y* oppure /*)
- Si può utilizzare, una volta attivato nelle principali transazioni SAP già note agli sviluppatori, ad esempio SE38, SE80, SE24, se37 e così via ma anche da Eclipse
- Può essere integrato nei sistemi di trasporto già presenti in SAP, per effettuare un controllo del codice prima di rilasciare le change requests
Come attivarlo?
Tramite il report RSLIN_SEC_LICENSE_SETUP (o transazione SLIN_ADMIN) è possibile attivare l'add on del Code Vulnerability Analysis, attenzione. L'attivazione di questo add-on richiede il pagamento di una specifica licenza, come già detto.

È inoltre possibile attivare una funzionalità per dichiarare le tabelle che contengono dati critici e sensibili, in modo che emergano durante i test del codice.
Ma quali controlli security SAP sono svolti?
In questo blog SAP sono mostrati tutti i controlli security che possono essere svolti, tra le principali categorie:
- SQL Injection
- ABAP Command Injections
- Call Injections
- Directory Traversal
- Insufficient authorization checks
- Potential back doors
- Possible attacks using Web technologies
Una volta attivato è possibile fare in modo che i controlli siano svolti direttamente dagli sviluppatori in autonomia oppure aggiungere anche dei controlli in fase di rilascio delle change request. In quel momento potranno scattare i controlli del CVA.
Controllo del codice non-SAP?
In realtà il SAP CVA permette di controllare solamente codice SAP. Ma è prevista e possibile una integrazione con il software Fortify per il controllo di altri linguaggi di programmazione.
Quali sono le figure che SAP prevede nel controllo del codice?
Sono sostanzialmente 4 le figure previste e suggerite:
- Sviluppatore. Definisce i nuovi programmi o modifica gli esistenti, effettua in autonomia dei controlli sui vari domini, sicurezza, qualità, robustezza del codice
- Quality Manager. Identifica le anomalie, pianifica le campagne di controllo, definisce le eventuali "esclusioni" o falsi positivi
- Amministratore ATC, controlla i log delle campagne e configura lo strumento
Che cosa significa Baseline in questo contesto?
Tramite il CVA, come in altri strumenti di controllo del codice, è possibile analizzare in maniera puntuale un codice sorgente oppure analizzare complessivamente il proprio sistema o sistemi. In questo caso può essere generata una baseline, ovvero una prima analisi massiva che permette a seguito di andare a decidere come intervenire sulle evidenze che saranno rilevate. Introducendo anche quelle che nello strumento sono chiamate exemptions.