Säkerheten för ERP-system innebär tillämpning av en lång rad åtgärder för att skydda ERP- system från obehörig åtkomst till systemet, samt för att säkerställa tillgängligheten och integriteten hos systemdata. Ett ERP-system är ett datorprogram utformat för att kombinera all information som behövs för en effektiv ledning av ett företag, inklusive sådana aspekter av verksamheten som produktion, supply chain management, redovisning, lager, transport, personal och kundservice. De mest populära affärssystemen är SAP , Oracle E-Business Suite , Microsoft Dynamics . Dessutom är 1C: Enterprise populärt i Ryssland .
Kärnan i varje stort företag är ett affärssystem ; den är värd för alla affärskritiska processer, från inköp, betalning och leverans till personalhantering, produkthantering och finansiell planering. All information som lagras i affärssystem är av yttersta vikt, och all obehörig åtkomst till den kan medföra stora förluster fram till affärsstopp. [1] Det är viktigt att göra en omfattande säkerhetsbedömning av ERP-systemet, kontrollera ERP-servrarna för sårbarheter i programvaran, konfigurationsfel, behörighetskonflikter, överensstämmelse med gällande standarder och rekommendationer, inklusive tillverkarens rekommendationer. [ett]
ERP-systemens komplexitet leder till säkerhetssårbarheter. ERP-system behandlar ett stort antal olika transaktioner och implementerar komplexa mekanismer som ger olika åtkomstnivåer för olika användare. Till exempel, i SAP R/3 finns det hundratals auktoriseringsobjekt som tillåter olika användare att utföra olika åtgärder i systemet. I en medelstor organisation kan det finnas ett hundratal typer av transaktioner, varje transaktion kräver vanligtvis minst två auktoriseringsobjekt. Om ett företag har 200 användare, så finns det cirka 800 000 (100*2*20*200) sätt att konfigurera affärssystemets säkerhetsinställningar. I takt med att komplexiteten ökar ökar också risken för fel och auktoritetskonflikter. [2]
Sårbarheter hittas varje månad i populära operativsystem och applikationer, eftersom de är under konstant syn av hackare. Som ett resultat blir populära applikationer säkrare. Interna affärsapplikationer är stängda för nyfikna ögon, och detta leder till illusionen av "säkert eftersom det är hemligt." På grund av detta finns triviala och extremt farliga säkerhetsbrister i specifika affärsapplikationer som sällan finns i populära produkter. [3]
De flesta ERP-utbildningsprogram är utformade för att lära dig hur du använder systemets kapacitet och har lite fokus på ERP-säkerhet och revision. [2] I de flesta företag är förståelsen för säkerhetshot mot affärssystem i bästa fall ytlig. [4] Många företag uppmärksammar inte ERP-systemets säkerhet tillräckligt. Implementeringskonsulter är vanligtvis bara angelägna om att implementera systemet i tid och inom budget. Säkerhetsproblem anses vara sekundära. På grund av detta är säkerheten i systemet svag, och identifiering och korrigering av säkerhetsproblem är ett svårt och dyrt uppdrag. [2]
De flesta av verktygen som tillhandahålls i ERP-paket ger inte möjlighet att effektivt granska säkerheten i ett system. På grund av detta görs ERP-systemsäkerhetsrevision vanligtvis manuellt. En manuell revision är en komplex och lång process som är lätt att göra misstag. [2]
I standardsysteminställningarna finns tusentals parametrar och finjusteringar, inklusive differentiering av rättigheter till olika objekt, såsom transaktioner och tabeller. I alla dessa inställningar är uppgiften att säkerställa säkerheten för ens ett system inte en lätt uppgift. Dessutom är de flesta inställningarna i affärssystemet på något sätt skräddarsydda för kunden, som ett resultat finns det inte två identiska affärssystem. Dessutom utvecklas deras egna program, vars säkerhet också bör beaktas i en övergripande bedömning. [4] Av denna anledning är det svårt att utveckla en enhetlig metod eller metod för att genomföra säkerhetsrevisioner.
Säkerhetsproblem i ett affärssystem kan uppstå på olika nivåer. [5]
Möjlighet att avlyssna och modifiera trafik
Under 2011 analyserade Sensepost DIAG-protokollet som används av SAP ERP för att överföra data mellan en klient och en SAP-server. Som ett resultat har två verktyg publicerats som gör det möjligt att fullständigt avlyssna, dekryptera och modifiera klient-serverförfrågningar som innehåller känslig information, vilket öppnar vägen för olika man-in-the-middle- attacker . Det andra verktyget fungerar som en proxy och är utformat mer för att hitta nya sårbarheter, så att du kan ändra klient- och serverförfrågningar och leta efter nya sårbarheter. [6] [7]
SAP ERP-systemet har ett Telnet- administrationsalternativ som inte krypterar lösenord. [åtta]
Sårbarheter i kryptering eller autentiseringsprotokoll
Sårbarheter i nätverksprotokoll som RFC-protokollet i SAP ERP och Oracle Net i Oracle e-Business Suite. SAP ERP använder RFC (Remote Function Call) för att kommunicera mellan två system via TCP/IP. Ett RFC-anrop är en funktion som kan anropa och exekvera en funktionsmodul som finns på ett annat system. ABAP-språket, som används för att skriva affärsapplikationer i SAP, har funktioner för att ringa RFC-samtal. Flera allvarliga sårbarheter hittades i SAP RFC Library versioner 6.x och 7.x [9] :
Sårbarheter i OS-programvaran
Svaga OS-lösenord
Osäkra OS-inställningar
Varje affärssystem innehåller många databaser. Därför är ett av ERP-säkerhetsproblemen sårbarheter i DBMS-programvaran.
Buffertspill är en attack som bygger på att programmet skriver data till minnet utanför den buffert som tilldelats dem. Detta kan tillåta en angripare att ladda ner och exekvera godtycklig maskinkod på uppdrag av programmet och med rättigheterna för kontot som det körs under.
formatsträng är en typ av sårbarhet som tillåter exekvering av skadlig kod. Problemet kommer från att använda ofiltrerad användarinmatning som en formatsträng i vissa C-formateringsfunktioner, som printf() . En angripare kan använda formatspecifikationerna %s eller %n för att skriva godtyckliga data till en godtycklig minnesplats.
SQL-injektion är ett av de vanligaste sätten att hacka webbplatser och program som fungerar med databaser, baserat på injicering av godtycklig SQL-kod i en fråga. SQL-injektion, beroende på vilken typ av DBMS som används och villkoren för injektion, kan tillåta en angripare att köra en godtycklig fråga till databasen (till exempel läsa innehållet i alla tabeller, ta bort, ändra eller lägga till data), få möjligheten att läsa och/eller skriva lokala filer och utföra godtyckliga kommandon på den attackerade servern. En attack av typen SQL-injektion kan vara möjlig på grund av felaktig bearbetning av indata som används i SQL-frågor.
I SQL är en markör ett nummer som pekar på en plats i minnet där databasservern lagrar data om en fråga, frågevariabler och behörigheter. Under normala omständigheter skapas en markör och existerar tills den explicit förstörs. Om ett fel uppstår under exekveringen av någon SQL-procedur, kanske markören inte förstörs. En angripare kan använda den här markören för att göra en begäran med rättigheterna för denna misslyckade procedur. [elva]
ERP-system överför mer och mer funktionalitet till nivån av webbapplikationer, där det finns ett stort antal sårbarheter:
I de flesta moderna affärssystem används RBAC-modellen (Role-Based Access Control, rollbaserad åtkomstkontroll, för att tillåta användare att endast utföra strikt definierade transaktioner och bara komma åt vissa affärsobjekt). [12] I RBAC-modellen fattas beslut om att bevilja åtkomst till en användare utifrån de funktioner som användaren utför i organisationen. Dessa funktioner kallas roller. Roller i en bank är till exempel en kontoförare, en revisor, en låneansvarig, etc. En roll kan förstås som en uppsättning transaktioner som en användare eller grupp av användare kan göra i en organisation. En transaktion är en procedur för att transformera data i systemet, plus data som denna procedur kan utföras på. Varje roll motsvarar en uppsättning användare som tillhör denna roll. En användare kan ha flera roller. Roller kan vara hierarkiska, till exempel är rollen som "kassör" också rollen som "anställd". En av fördelarna med RBAC-modellen är den enkla administrationen. När roller väl är etablerade i systemet ändras sällan transaktionerna som motsvarar varje roll. Administratören behöver bara lägga till eller ta bort användare från roller. När en anställd går med i organisationen ger administratören honom eller henne medlemskap i en eller flera roller. När en anställd lämnar organisationen tar administratören bort dem från alla roller de var i. [13]
Separation of powers (Separation / Segregation of Duties, SoD) - konceptet att en användare inte kan genomföra en transaktion utan hjälp av andra användare. Till exempel kan en användare ensam inte lägga till en ny leverantör, utfärda en faktura eller betala en leverantör. Detta minskar risken för fel eller bedrägerier. [14] Användningen av SoD är ett viktigt, men inte tillräckligt [3] villkor för säkerheten i ett affärssystem. SoD-policy kan implementeras med hjälp av RBAC-mekanismer. För detta introduceras begreppet ömsesidigt uteslutande roller. För att till exempel betala en leverantör måste en användare initiera betalningen och en annan måste bekräfta den. I detta fall är betalningsinitiering och bekräftelse ömsesidigt uteslutande roller. Maktseparationen kan vara statisk eller dynamisk. I Static SOD kan en användare inte tillhöra två ömsesidigt uteslutande roller. Med dynamisk maktdelning (Dynamic SOD) kan en användare tillhöra två ömsesidigt uteslutande roller, men kan inte utföra dem inom samma transaktion. Fördelen med SSOD är enkelheten, DSOD är stor flexibilitet. [15] Vanligtvis beskrivs maktdelningen av SoD-matrisen. Matrisens X- och Y-axlar representerar rollerna i systemet. Om två roller utesluter varandra, sätts en flagga i skärningspunkten mellan motsvarande kolumn och rad.
ERP System Security Scanner är ett datorprogram utformat för att söka efter sårbarheter i ERP-system. Skannern analyserar konfigurationen av ERP-systemet för osäker autentisering, åtkomstkontroll, krypteringsinställningar, kontrollerar om de senaste versionerna av komponenter är installerade, söker efter systemkomponenter som är kända för att vara osäkra. Dessutom verifierar skannern systeminställningarna mot tillverkarens rekommendationer och ISACAs granskningsprocedurer . Resultatet av säkerhetsskannern är en rapport som presenterar de upptäckta sårbarheterna och graden av kritik hos var och en av dem. [1] Anmärkningsvärda skannrar: