Una delle tipologie più presenti (oltre all'SQL-Injection) è sicuramente quella del Directory Traversal.
Cosa è e quali punti di attenzione tenere quando si sviluppano programmi (nel contesto ABAP)?
Come fare?
In generale la SAP suggerisce di controllare l'input utente prima di richiamare le funzionalità standard chiamata "OPEN DATASET"
Nel caso sotto (descritto in maniera dettagliata sull'help sap) è necessario:
- che sia definito un percorso logico per l'accesso alle directory (transazione FILE)
- che a seguito dell'input utente venga svolto il controllo (statement FILE_VALIDATE_NAME tra (nel caso sotto) file richiesto dall'utente e percorso logico
- Dopo validazione sia richiamato lo statement OPEN DATASE
Come controllare?
Un primo metodo di controllo potrebbe essere quello di usare il programma RS_ABAP_SOURCE_SCAN ricercando lo statement ABAP "OPEN DATASET" per verificare in quali e quanti programmi (Z* o Y* ovvero quelli sviluppati da te) sia in uso. Per poter poi attivare dei controlli di validazione, come descritto sopra.
Puoi trovare ulteriori informazioni anche qui: 1497003 - Potential directory traversals in applications
Prima del passaggio ad S/4HANA può essere un momento idoneo per fare queste verifiche. Ti sei già dotato di un programma per il controllo di sicurezza degli sviluppi? Va bene effetttuare una verifica spot, ma lo sviluppo andrebbe controllato in maniera continuativa!