SAP Pentesting
1. Az üzletkritikus rendszerek biztonságának gyakorlati ellenőrzése
Az SAP rendszerek számos vállalatnál a legfontosabb üzleti folyamatok technológiai hátterét biztosítják. Pénzügyi tranzakciók, beszerzési és értékesítési folyamatok, gyártási adatok, logisztika, HR-információk és más érzékeny üzleti adatok kezelése történhet ugyanazon SAP-környezeten belül. Egy ilyen rendszer kompromittálása ezért túlmutathat egy hagyományos informatikai incidensen: az SAP-t érintő biztonsági esemény a kezelt adatok bizalmasságának vagy sértetlenségének sérülése mellett közvetlen hatással lehet a vállalat működésére és pénzügyi folyamataira is.
Ennek ellenére az SAP biztonságáról sok esetben elsősorban patch management, jogosultságkezelés és konfigurációs megfelelőség kapcsán esik szó. Ezek nélkülözhetetlen védelmi intézkedések, azonban önmagukban nem feltétlenül mutatják meg, hogy egy támadó milyen lehetőségekkel rendelkezne a vállalat tényleges SAP-környezetében. Más kérdés ugyanis azt ellenőrizni, hogy egy rendszer megfelel-e az előírt biztonsági beállításoknak, mint azt megvizsgálni, hogy a meglévő gyengeségek, kapcsolatok és jogosultságok felhasználásával létrehozható-e egy működő támadási útvonal.
Ez utóbbira keresi a választ az SAP penetration testing.
2. Az SAP nem egyetlen rendszer
Egy vállalati SAP-környezet jellemzően nem egyetlen, elszigetelt alkalmazásból áll. Az üzleti működést több SAP komponens, alkalmazásszerver, adatbázis, webes szolgáltatás, SAProuter, Gateway, interfész és külső rendszer együttese szolgálhatja ki. Az egyes rendszerek között különböző interfészek, RFC-kapcsolatok és egyéb integrációk biztosíthatják a szükséges kommunikációt és adatcserét.
Biztonsági szempontból éppen ez az összekapcsoltság teszi különösen érdekessé az SAP-környezeteket. Egy támadó számára ugyanis nem feltétlenül a legfontosabb vagy legerősebben védett rendszer jelenti az elsődleges célpontot. Legtöbb esetben célszerűbb egy kevésbé védett komponensen, tesztrendszeren vagy szolgáltatáson keresztül megvetni a lábát, majd az ott megszerzett hozzáféréseket és a rendszerkapcsolatokat felhasználva továbbhaladni a környezetben.
Ez alapvetően megváltoztatja azt is, hogyan érdemes az SAP biztonságáról gondolkodni. Nem elég kizárólag azt megvizsgálni, hogy az egyes rendszerek önmagukban megfelelően védettek-e. Azt is érteni kell, hogy mi történik akkor, ha valamelyik kompromittálódik. Milyen más rendszereket ér el? Milyen technikai felhasználók állnak rendelkezésre? Milyen RFC-kapcsolatokon keresztül kommunikál? Milyen jogosultságokkal rendelkeznek ezek a kapcsolatok? Egy alacsonyabb biztonsági szintű rendszer kompromittálása megnyithat-e utat egy üzletileg sokkal kritikusabb rendszer felé?
Az SAP penetration testing során ezért nem csupán sérülékenységeket keresünk, hanem ezeket az összefüggéseket is vizsgáljuk.
3. A sérülékenység önmagában csak a történet egyik része
A klasszikus vulnerability assessment elsősorban arra ad választ, hogy milyen ismert vagy felismerhető biztonsági problémák vannak jelen a vizsgált környezetben. Egy ilyen vizsgálat eredménye lehet például néhány kritikus, több magas és számos közepes súlyosságú megállapítás. Ez fontos információ a biztonsági csapat számára, azonban nem feltétlenül mondja meg, hogy ezek közül mely problémák használhatók fel ténylegesen egy támadás során.
A penetration testing ezt a kérdést más oldalról közelíti meg. Nem áll meg egy sérülékenység azonosításánál, hanem azt is vizsgálja, milyen hozzáférés szerezhető meg annak kihasználásával, az így megszerzett hozzáférés milyen további lehetőségeket biztosít, és végül milyen üzleti jelentőségű rendszerek vagy adatok kerülhetnek veszélybe.
Ez azért fontos, mert a gyakorlatban egy támadás ritkán áll egyetlen sérülékenységbő. Elképzelhető például, hogy egy kezdetben mérsékeltnek tűnő konfigurációs probléma hozzáférést biztosít egy technikai felhasználóhoz. Az adott felhasználó önmagában nem rendelkezik kritikus jogosultságokkal, ugyanakkor hozzáférhet egy másik SAP rendszerhez. Az ott elérhető jogosultságok vagy további rendszerkapcsolatok pedig újabb lehetőségeket teremthetnek. Több, külön-külön nem kritikus gyengeség így egyetlen összefüggő támadási lánccá állhat össze.
4. Az SAP landscape támadói szemmel
Az SAP biztonsági tesztelés egyik fontos eleme a támadási felület feltérképezése. Ennek során azt vizsgáljuk, milyen SAP komponensek és szolgáltatások érhetők el a vizsgálat kiindulópontjából, milyen kommunikációs lehetőségek állnak rendelkezésre, és ezek milyen potenciális támadási irányokat nyitnak meg.
Az SAP környezetben több olyan, a platform működéséhez szükséges szolgáltatás található, amely biztonsági szempontból is releváns. Ilyen lehet többek között az SAP Gateway, a Message Server, az ICM, az SAProuter vagy az RFC-kommunikáció. Ezek jelenléte természetesen önmagában nem jelent sérülékenységet. A kockázatot az határozza meg, hogyan vannak konfigurálva, honnan érhetők el, milyen bizalmi kapcsolatok épülnek rájuk, illetve milyen jogosultságokkal használhatók.
Különösen érdekes területet jelentenek az RFC-kapcsolatok. Az RFC az SAP rendszerek közötti kommunikáció egyik alapvető mechanizmusa, ezért egy nagyobb vállalati környezetben számos ilyen kapcsolat létezhet. Ezek egy része technikai felhasználókat és tárolt hitelesítési adatokat is használhat. Egy nem megfelelően védett vagy túlzott jogosultságokkal rendelkező kapcsolat ezért támadói szempontból lehetőséget teremthet arra, hogy a támadás ne álljon meg az első kompromittált rendszernél.
A nyílt forrású SAP biztonsági kutatások és eszközök fejlődése jól szemlélteti ezt a megközelítést. A SAP Pentest Playbook 3 például különböző SAP technológiákhoz és támadási felületekhez gyűjt penetrációs tesztelési módszereket, míg a SAPMAP 4 már kifejezetten SAP rendszerek, RFC-kapcsolatok és a környezeten belüli lehetséges támadási útvonalak feltérképezésére helyezi a hangsúlyt. Ezek az eszközök is azt mutatják, hogy az SAP biztonsági vizsgálata egyre kevésbé értelmezhető elszigetelt hostok ellenőrzéseként, sokkal inkább a teljes landscape összefüggéseit kell látni.
5. „Az SAP nincs kint az interneten” – de honnan indul a támadó?
Gyakori megközelítés, hogy egy belső hálózaton működő SAP rendszer kockázata lényegesen kisebb, hiszen közvetlenül nem érhető el az internetről. A hálózati szeparáció valóban fontos védelmi intézkedés, de nem szünteti meg az SAP-val kapcsolatos támadási lehetőségeket.
Egy valós támadási forgatókönyvben nem szükséges, hogy az SAP legyen a támadó első belépési pontja. A támadás indulhat egy felhasználói munkaállomás, egy másik szerver, egy külső szolgáltatás vagy akár egy ellopott felhasználói hozzáférés kompromittálásával. Ha a támadó már hozzáférést szerzett a belső hálózathoz, az SAP rendszer biztonságát egészen más feltételek mellett kell értékelni.
Ebben a helyzetben már nem az a legfontosabb kérdés, hogy az SAP elérhető-e az internetről, hanem az, hogy egy belső hálózati hozzáféréssel rendelkező támadó mit képes elérni. Látja-e az SAP szolgáltatásokat? Fel tudja-e térképezni a landscape-et? Találhat-e gyenge konfigurációkat vagy megszerezhető hitelesítési adatokat? Egy megszerzett SAP hozzáférés felhasználható-e további rendszerek elérésére?
Egy SAP penetration test ilyen támadási helyzeteket képes kontrollált körülmények között modellezni.
6. Mit jelent mindez a gyakorlatban?
Egy SAP penetration test scope-ja mindig az adott környezethez és az üzleti kockázatokhoz igazodik. A vizsgálat kiterjedhet a hálózatról elérhető SAP szolgáltatások feltérképezésére, az SAP specifikus protokollok és komponensek vizsgálatára, a hitelesítési mechanizmusokra, technikai felhasználókra, jogosultságokra, RFC-kapcsolatokra és egyéb rendszerintegrációkra. Vizsgálható továbbá, hogy az azonosított sérülékenységek és konfigurációs problémák ténylegesen kihasználhatók-e, valamint hogy egy megszerzett hozzáférésből milyen további rendszerek és funkciók érhetők el.
A tesztelés mélysége természetesen nem független attól, hogy milyen környezetről beszélünk. Egy üzletkritikus produktív SAP rendszer esetében különösen fontos a tesztelési szabályok előzetes meghatározása. A penetration test célja nem az üzletmenet veszélyeztetése, hanem a valós támadási lehetőségek biztonságos demonstrálása. Emiatt előre rögzíteni kell többek között a vizsgálható rendszereket, az engedélyezett tesztelési módszereket, az időablakokat és azokat a műveleteket, amelyeket a tesztelők az esetleges üzleti hatás miatt nem hajthatnak végre.
Egy jól megtervezett SAP penetration test eredménye ezért nem egyszerűen egy hosszú lista technikai hibákról. A vizsgálatnak azt is meg kell mutatnia, hogy az egyes megállapítások milyen támadási forgatókönyvekben használhatók fel, milyen rendszerek kerülhetnek általuk veszélybe, és milyen intézkedésekkel szakíthatók meg ezek a támadási útvonalak.
7. Hogyan tud segíteni az msg Plaut Hungary?
Az msg Plaut Hungary SAP penetration testing szolgáltatásának célja a vállalati SAP környezet biztonságának támadói szemléletű, kontrollált vizsgálata. Nem kizárólag azt vizsgáljuk, hogy jelen vannak-e ismert sérülékenységek, hanem azt is, hogy az adott környezet sajátosságai mellett ezekből kialakítható-e tényleges támadási útvonal.
A vizsgálat során feltérképezzük a releváns SAP támadási felületet, elemezzük a támadó számára elérhető szolgáltatásokat és rendszerkapcsolatokat, majd (az előre egyeztetett kereteken belül) ellenőrizzük a feltárt gyengeségek tényleges kihasználhatóságát. Ahol ez releváns és biztonságosan elvégezhető, azt is megvizsgáljuk, hogy egy megszerzett hozzáférés milyen további SAP rendszerekhez vagy üzleti funkciókhoz vezethet.
A cél nem egy minél hosszabb sérülékenységi lista elkészítése. A vizsgálat végén annak kell világossá válnia, hogyan néz ki a vállalat SAP környezete egy támadó szemszögéből, mely támadási útvonalak jelentik a legfontosabb kockázatot, és hol érdemes beavatkozni ezek megszakításához.
Az SAP rendszerek biztonságáról természetesen konfigurációk, patch-szintek és compliance ellenőrzések alapján is sokat meg lehet tudni. Van azonban egy kérdés, amelyre végső soron csak gyakorlati teszteléssel kaphatunk igazán használható választ: ha valaki ténylegesen megpróbálná megtámadni az SAP környezetünket, meddig jutna el?
Az msg Plaut Hungary abban segít, hogy erre a kérdésre ne egy valódi incidens során kelljen először választ kapni.