af Sükrü ilkel Birakoglu, Senior Director 

På alle almindelige programmeringssprog kan fejl under udviklingen føre til enorme sikkerhedsrisici i produktionssystemerne. 4. generation af ABAP/4 (Advanced Business Application Programming), som er programmeringssproget for SAP-programmer er ingen undtagelse. Den kraftige stigning i antallet af SAP Security Notes i de seneste par år i forbindelse med ABAP/4-kodesikkerhed viser, at der er behov for yderligere tiltag for at kontrollere kodesikkerheden i SAP-programmer.

Hvilke farer opstår som følge af sikkerhedsfejl i ABAP/4-koden?

Risiciene på grund af usikker programmering kan klassificeres i forskellige områder. De beskriver den respektive indvirkning af sikkerhedsmangler på compliance og de juridiske rettigheder, der krænkes, hvis usikre koder finder vej ind i et produktionssystem. Usikker programmering kan føre til uautoriseret udførelse af forretningslogik, uautoriseret læseadgang til forretnings- og konfigurationsdata, uautoriseret ændring af forretnings- og konfigurationsdata, afvisning af forretningsprocesser eller identitetstyveri.

Selvom SAP-systemer har et indbygget værktøj kaldet SAP CVA (Code Vulnerability Analyzer) til at registrere sikkerhedsmangler i ABAP-koder, er dette værktøj underlagt en separat licens og er integreret i ABAP Test Cockpit. SAP CVA kontrollerer, om der er ABAP-sikkerhedsfejl i den kode, som den er konfigureret til.

Hvilke sårbarheder er ABAP/4-kodet i dit SAP-system?

SAP-systemernes komplekse natur nødvendiggør udviklingen af interne programmer eller forbedringer i den ABAP/4-standardkode, der leveres af SAP. Hvad angår applikationssikkerhed, er det først og fremmest vigtigt at forstå, at risikoen ikke kun kommer fra specifikke transaktioner, men også fra særlige ABAP/4-kommandoer i udviklet kode.

Der er mange forskellige typer sårbarheder, der kan opstå som følge af ABAP/4-kode. Det mest åbenlyse sikkerhedsproblem i ABAP/4-koden skyldes manglende eller teknisk ukorrekte godkendelseskontroller. Eftersom ABAP/4 har et eksplicit autorisationskoncept, skal ethvert program, der udfører autorisationsrelevante handlinger, også eksplicit kontrollere de relevante autorisationsobjekter selv. Hvis denne kontrol i koden mangler eller er fejlbehæftet, vil programmet udføre handlingen, selvom brugeren ikke har den nødvendige autorisation, og dette vil føre til sikkerhedsbrud i SAP-systemer.

Et andet fundamentalt, men mindre indlysende problem er injektionsårbarheder. Via dem kan ondsindede brugere manipulere bestemte dynamisk programmerede ABAP/4-kommandoer for at få dem til at opføre sig på uventede og uforudsete måder. Denne manipulation af dynamiske ABAP/4-kommandoer fungerer, selvom der udføres korrekte autorisationskontroller. Ofte ved udviklerne ikke, hvilke risici der opstår ved brug af dynamiske programmeringsteknikker, og de åbner utilsigtet døren for hackere.

De mest almindelige ABAP/4-sikkerhedsproblemer og de dermed forbundne risici

I nedenstående tabel ses nogle eksempler på sårbarheder og beskrivelserne af dem.

Lad os se på et eksempel, hvor ABAP Command Injection anvendes i et SAP-system ved hjælp af dynamiske programmeringsteknikker.

Hvis koden undersøges, kan en ABAP/4-programmør straks se den dynamisk genererede kode. Kildekoden til det dynamisk genererede program er bygget med kommandoerne nedenfor:

Denne kodesnippet er harmløs og udskriver blot teksten “Logpoint for SAP Solutions protect your SAP Systems!” på skærmen (Bemærk: Logpoint til SAP er nu BCS til SAP). En angriber, som også kan være en intern medarbejder, en softwareleverandør eller en konsulent, kan injektere en vilkårlig kode i stedet for denne ufarlige kode og udføre den ved at omgås eventuelle autorisationskontroller og slette den genererede kode automatisk som i programeksemplet. Det vil ikke tage 15 minutter for en gennemsnitlig ABAP-programmør at skrive en dynamisk ABAP/4-kode, der sletter alle kundens stamdata, ændrer økonomiposter eller downloader HR-relaterede data såsom medarbejdernes lønoplysninger fra systemet.

Sådan kan du udnytte Logpoint BCS til SAP for at sikre, at dine forretningskritiske data forbliver i de rigtige hænder

Hos Logpoint har vi vores portefølje af SAP Security Monitoring Solutions (BCS til SAP), og sikkerheden af ABAP/4-kode kontrolleres også. Hvis en transportanmodning (et bundt ABAP/4-programmer/-objekter) importeres til et produktionssystem, udfører vores udtrækningsfunktion, der er installeret i SAP-systemet, SAP Code Inspector og SAP CVA automatisk og sender resultaterne til vores Logpoint SIEM-løsning.

Visning af ABAP-sikkerhedsfejl i vores SIEM-løsning er blot én del af den løsning, vi leverer. Du kan få brug for flere oplysninger om den risikable kode, der importeres, f.eks. hvor mange gange den er blevet udført og af hvem, eller om den er blevet udført af en person, hvis brugeradfærd er uden for normal adfærd. Her kommer vores andre SAP Log Extractors og vores UEBA-løsning (analyse af bruger- og enhedsadfærd) i spil.

Lad os gå et skridt videre og overveje et scenarie, hvor din SOC-medarbejder registrerer udførslen af meget risikabel kode i et produktionssystem, og vedkommende ønsker at låse den eller de brugere, der udfører koden, eller oprette en anmodning med meget høj prioritet for SAP-basisteamet i virksomhedens IT Service Management-værktøj, f.eks. i ServiceNow. I disse tilfælde vil vores SOAR-løsning og dets foruddefinerede playbooks for SAP-relaterede sikkerhedshændelser håndtere situationen – helt af sig selv.

Du kan få flere oplysninger om vores løsninger til overvågning af SAP-sikkerhed på vores websted her: Logpoint BCS til SAP

Hvis du ønsker at drøfte noget af dette yderligere, er du velkommen til at kontakte os ved at klikke på knappen .

Contact Logpoint

Contact us and learn why
industry-leading companies
choose Logpoint:

Contact Logpoint