A könyvtárlistázás mint biztonsági kockázat
A legtöbb támadás nem sérülékenységekkel kezdődik, hanem információgyűjtéssel. Ehhez pedig sokszor még különleges eszközökre sincs szükség, hiszen maga a webszerver is készségesen megmutatja, hol és mit érdemes megnézni.
Az információkhoz való hozzáférés egyszerű módja például a könyvtárlistázás, mely az átlagos felhasználó számára ugyan legfeljebb csak egy fájllista, egy tapasztalt támadó számára azonban olyan, mintha egy irodaház recepcióján ott hagynánk az emeletek alaprajzát, a szobák feliratát és a dolgozók névsorát. Ettől még senki sem jut be az épületbe – viszont pontosan tudni fogja, mikor és melyik ajtón érdemes először kopogtatni.
Mi az a könyvtárlistázás?
Könyvtárlistázásról akkor beszélünk, amikor egy webszerver egy adott könyvtár tartalmát automatikusan megjeleníti a látogatók számára. Ez jellemzően akkor történik meg, ha az adott mappában nincs alapértelmezett kezdőoldal, a webszerver konfigurációja pedig engedélyezi a könyvtár tartalmának böngészését. Ilyenkor a böngésző nem hibaüzenetet jelenít meg, hanem egyszerűen felsorolja a könyvtárban található fájlokat és alkönyvtárakat.
Miért jelent ez biztonsági kockázatot?
Önmagában egy fájlnév vagy könyvtárstruktúra megismerése még nem jelent közvetlen hozzáférést az adatokhoz. A valódi kockázat abból adódik, hogy a könyvtárlistázás részletes képet adhat az alkalmazás felépítéséről. A támadónak így nem kell időt fordítania a rendszer feltérképezésére: a szerver gyakorlatilag saját maga mutatja meg, milyen könyvtárak, fájlok és komponensek érhetők el.
Senior pentesterként mi is azt tapasztaljuk, hogy a támadók elsőként nem a kritikus sérülékenységeket keresik, hanem azt vizsgálják meg, milyen információkat árul el magáról a rendszer.
Ennek oka egyszerű: egy nyitva hagyott könyvtárlista gyakran többet mond, mint egy hosszú technikai dokumentáció. Különösen jelentős a probléma akkor, ha a listázott könyvtárak olyan állományokat is tartalmaznak, amelyeket eredetileg nem nyilvános elérésre szántak. Ilyenek lehetnek a korábbi alkalmazásverziók, a biztonsági mentések, az exportált adatok, a tesztelési fájlok, a dokumentációk, a konfigurációs állományok vagy a naplófájlok is.
Önmagukban ezek az állományok nem feltétlenül jelentenek incidenskockázatot. Egy régi alkalmazáscsomag azonban elárulhatja, milyen technológiák futnak a háttérben, a konfigurációs állomány pedig betekintést adhat a rendszer logikai felépítésébe. Egy elfelejtett dokumentáció pedig olyan végpontokra vagy szolgáltatásokra utalhat, amelyekről az üzemeltetők talán már rég megfeledkeztek. Ezek az információmorzsák aztán együttesen, lépésenként vezetik el a támadót a céljához
Mennyire gyakori ez napjainkban?
A könyvtárlistázás engedélyezése továbbra is rendszeresen előforduló konfigurációs hiányosság a penetrációs tesztek során. Általában azért, mert egy évekkel korábban létrehozott tesztkörnyezet, archivált alkalmazásverzió vagy ideiglenes könyvtár egyszerűen „ott felejtődik”.
Csakhogy míg a rendszer közben fejlődik és új komponensek kerülnek be, a régi tartalmak változatlanul elérhetők maradnak. Mivel az ilyen könyvtárak gyakran kívül esnek a napi üzemeltetés látókörén, a tartós hozzáférhetőség valódi veszélyfaktor, hiszen a sérülékenység kockázata valójában nincs arányban javításának nehézségével.
A megoldás ugyanis egyszerű: a legtöbb esetben elegendő a könyvtárlistázás kikapcsolása, a webszerver megfelelő konfigurálása és a nyilvánosan elérhető állományok rendszeres felülvizsgálata.
Egy konfigurációs hiba még nem hiba
A könyvtárlistázás jól példázza, hogy az információbiztonság nem kizárólag összetett támadási technikákról vagy kifinomult sérülékenységekről szól. Sőt, sokszor éppen azok a látszólag jelentéktelen konfigurációs hibák adják meg azt a kontextust, amelyre egy támadó a következő lépéseit építi.
Egy tapasztalt támadó nem próbál azonnal betörni. Először megfigyel és azt keresi, milyen információkat oszt meg magáról önként az alkalmazás. A könyvtárlistázás éppen ezért önmagában nem veszélyes, de aggasztó mértékben lerövidíti ezt a felderítési folyamatot.
Ezért mi a Whiteshield-nál azt valljuk, hogy egy alkalmazásbiztonsági felülvizsgálatnak nem csupán a klasszikus sérülékenységeket érdemes keresnie. Fontos feltárni azokat a működési sajátosságokat is, amelyek első pillantásra ártalmatlannak tűnnek, egy tapasztalt támadó számára azonban értékes kiindulópontot jelenthetnek.
Ha nem biztos abban, hogy webalkalmazása milyen információkat árul el egy külső szemlélő számára, érdemes időről időre alkalmazásbiztonsági felülvizsgálatot végezni. Egy jól felépített penetration test ugyanis nemcsak a sérülékenységeket tárja fel, hanem azokat a kevésbé látványos működési sajátosságokat is, amelyek egy tapasztalt támadó számára értékes kiindulópontot jelenthetnek.
Vegye fel velünk a kapcsolatot, és nézzük meg együtt, mit mutat meg alkalmazása a külvilágnak!



