Nulladik napi támadás

A Wikipédiából, a szabad enciklopédiából

A nulladik napi támadás (zero-day vagy zero-hour támadás) egy biztonsági fenyegetés, ami valamely számítógépes alkalmazás olyan sebezhetőségét használja ki, ami még nem került publikálásra, a szoftver fejlesztője nem tud róla, vagy nem érhető még el azt foltozó biztonsági javítás. Zero-day exploitnak nevezik azt a tényleges kódot, amit a támadók használnak a sérülékenység kiaknázására, mielőtt a szoftver fejlesztője tudna arról.

A kifejezés az exploit keletkezésének időpontjából adódik. Amikor a szoftverfejlesztő tudomást szerez egy biztonsági résről, megkezdődik a verseny a támadók és a fejlesztők között; a felelősségteljes fejlesztő igyekszik befoltozni a hibát, mielőtt nyilvánosságra kerül. A „nulladik napi” támadás az első vagy „nulladik” napon történik, amikor a fejlesztő már tud a hibáról, így még nem volt lehetősége arra, hogy a biztonsági javítást eljuttassa a szoftver felhasználóihoz.[1]

Támadási vektorok[szerkesztés | forrásszöveg szerkesztése]

A malware-szerzők különböző támadási vektorokon keresztül aknázhatják ki a sebezhetőséget. Például amikor a felhasználók rosszindulatú weboldalakat látogatnak meg, az oldalon lévő kódok kihasználhatják a webböngészők sebezhetőségét. A webböngészők egyébként is a leggyakoribb támadási célpontok közé tartoznak széles körű elterjedtségük, és használatuk módja miatt. Gyakori az is, hogy a támadók e-mail csatolmányokat küldenek, ami az azt megnyitó program sebezhetőségét használja ki.[2] A rosszul megtervezett programokra jellemző, hogy rövid idő alatt több nulladik napi támadással szemben is sebezhetők lesznek. A sebezhetőség jelentőségét csökkentheti a legkisebb jogosultság elvének alkalmazása. Sok exploit van, ami a gyakoribb fájltípusokat megnyitó programok sebezhetőségét használja ki, ahogy azt a US-CERT és hasonló adatbázisok is tanúsítják. A rosszindulatú támadók gyakran kiaknázzák ezeket a sérülékenységeket, hogy átvegyék az irányítást a megtámadott rendszer felett, vagy éppen érzékeny adatokat juttassanak ki abból.[3]

Sebezhetőségi ablak[szerkesztés | forrásszöveg szerkesztése]

A nulladik napi támadások a sebezhetőségi ablak ideje alatt történnek, ami a sebezhetőség első kihasználásától a sebezhetőség kijavításáig tart.

A legtöbb vírus, trójai és más nulladik napi támadás esetén a sebezhetőségi ablak a következő menetrendet követi:

  • A fejlesztő megírja a (még ismeretlen) sebezhetőséget tartalmazó kódot
  • A támadó még a fejlesztő előtt megtalálja a sebezhetőséget
  • A támadó megírja az exploitot és terjeszti azt
  • A fejlesztő megtalálja a sebezhetőséget és javítást gyárt hozzá.

A fenti menetrend felelősségteljes gyártót feltételezve igaz. Sok esetben a szoftver gyártója tud a sérülékenységről, de nem foglalkozik vele, míg az széles körben ismertté nem válik, és ezáltal muszáj nem lesz neki. Ezért sok IT-biztonsági kutató dönt a teljes közzététel (full disclosure) mellett, hogyha a felelős közzététel, azaz a gyártó előzetes értesítése után meghatározott időn belül nem történik meg a javítás.

A sebezhetőségi ablak nagyságának meghatározása nehézségekbe ütközhet, mivel a támadók nem jelentik be a sebezhetőség észlelésének időpontját, a fejlesztők pedig kereskedelmi vagy biztonsági okokból szintén nem szeretik ezt nagydobra verni. A fejlesztők a sérülékenység kijavításakor gyakran nem is tudnak róla, hogy azt aktívan kihasználja valaki, így azt nem is rögzíti senki nulladik napi támadásként. Mindenesetre könnyen belátható, hogy a sebezhetőségi ablak akár több éves is lehet. Például 2010-ben a Microsoft megerősítette az Internet Explorer egy olyan sebezhetőségének létezését, ami a böngésző 2001-ben kiadott változataiban is már jelen volt.[4] Sajnos nem tudjuk, hogy a támadók mikor fedezték fel a biztonsági rést, de a sebezhetőségi ablak nagysága ebben az esetben akár 9 év is lehet.

Biztonsági javítások visszafejtése[szerkesztés | forrásszöveg szerkesztése]

Sok esetben a patch megjelenését követően nagyon hamar megjelennek az adott sebezhetőséget kihasználó, rosszindulatú programok. A patch analizálásával ugyanis a férgek írói könnyebben rájöhetnek, hogy lehet kiaknázni az adott sebezhetőséget,[5] a még patcheletlen számítógépeken. Innen jön az „Exploit Wednesday” elnevezés.[6]

A rosszindulatú kódok írói arra is rájöttek, hogy ha éppen a hónap második keddjén kezdik terjeszteni az új, foltozatlan sebezhetőséget kiaknázó malware-t[7], a lehető legtöbb idejük marad a terjedésre, mielőtt a Microsoft következő frissítési ciklusában kijavítanák a hibát.

A Microsoft figyelmezteti a felhasználókat, hogy 2014. április 8. után, ahogy a Windows XP támogatási időszaka lejár, a Windows XP-t futtató rendszerek örökre védtelenek lesznek a nulladik napi támadásokkal szemben, hiszen az újabb Windowsokhoz készített javítások visszafejtésével a férgek írói a Windows XP-n működő, támadó kódot írhatnak, és ezek a biztonsági rések sohasem kerülnek majd befoltozásra.[8][9][10]

Védelem[szerkesztés | forrásszöveg szerkesztése]

A nulladik napi védelem (zero-day protection) a nulladik napi támadások elleni védekezés képessége. Ez azért is fontos lehet, mert a nulladik napi támadások sokáig észrevétlenül maradhatnak.[11]

Különböző technikákat fejlesztettek ki a nulladik napi, memória-felülíráson alapuló támadások (mint pl. puffertúlcsordulás) ellen. Ezek a védelmi mechanizmusok jelen vannak a kortárs operációs rendszerekben, mint az Apple Mac OS X-e, a Microsoft Windows Vistája (A Windows Vista újdonságai), a Sun Microsystems Solarisa, a Linux, a Unix, és a Unix-szerű környezetek; a Windows XP Service Pack 2 már tartalmaz korlátozott védelmet a memória-felülírási támadásokkal szemben.[12]

Ha több védelmi réteg van, akkor az védelmet nyújthat a csak egy biztonsági réteget kompromittáló támadások ellen. Például egy adott szolgáltatás saját belső hozzáférési listákat alkalmaz, a hálózati hozzáférést szerveroldali tűzfallal oldja meg (pl. iptables), az egész hálózatot pedig egy hardveres tűzfal védi. A három réteg redundáns védelmet nyújt, ha bármelyik a három közül kompromittálódik.

A port knocking vagy a Single Packet Authorization démonok hatásos védelmet nyújthatnak a hálózati szolgáltatások nulladik napi támadásai ellen. Ezek a technikák azonban nehézkesek, nem alkalmazhatók sokfelhasználós rendszerekben.

A whitelisting, azaz a fehérlisták alkalmazása hatékonyan véd a nulladik napi támadásoktól. A fehérlistázás csak olyan alkalmazásokat enged futtatni, amik tudottan jól viselkednek, ezért bármilyen új vagy ismeretlen exploit el sem fog indulni. Ez a védelem a felhasználók számára általában túl szigorú, ezért nyers formájában nem gyakran használják.

Kutatók és biztonsági cégek, mint az izraeli Gama-Sec és a renói DataClone Labs a Zeroday Project keretein belül igyekeznek támogatást adni a várható támadásokkal kapcsolatban.

A nulladik napi támadások elkerülésének egyik módja, hogy csak bizonyos idő elteltével frissítenek a szoftverek új főverziójára (másként mondva: az 1.0 verzió problémájának elkerülése). Az új funkcionalitást tartalmazó termékekben általában új hibák is találhatók; az új főverzió hibáit viszont általában a szoftverfejlesztő gyorsan javítja, alverzió-frissítésekkel (1.1, 1.2 stb.). A régebbi szoftverek kisebb biztonsági javításait nyilván mindig telepíteni kell a biztonság maximalizálása érdekében. Bár ez a módszer védelmet ad az olyan nulladik napi támadásokkal szemben, amik a szoftverkiadás ciklusának nulladik napján jelennek meg, nem szabad elfelejteni, hogy a biztonsági réseket bármikor, így későbbi időpontban is felfedezhetik. Ebben az esetben ez a módszer nem ad plusz védelmet.

Etikai kérdések[szerkesztés | forrásszöveg szerkesztése]

A nulladik napi támadások gyűjtésével, felhasználásával kapcsolatban többféle nézet ütközik egymással. Egyes informatikai biztonsággal foglalkozó cégek kutatják a nulladik napi támadásokat, hogy jobban megértsék a sebezhetőségek természetét, és azok kihasználásának módozatait. Más cégek kutatásaik mellett pénzért fel is vásárolják a sebezhetőségeket. Egy ilyen program pl. a TippingPoint's Zero Day Initiative. Bár a sebezhetőségek adásvétele a világ nagy részén nem illegális, a közzététel ezen módjának etikusságát már többen vitatják. A Budapesten aláírt Számítástechnikai bűnözésről szóló egyezmény[13] 6. cikke és az Európai Unió Tanácsának az információs rendszerek elleni támadásokról szóló, 2005. február 24-i 2005/222/IB kerethatározata[14] szigorú értelmezés szerint illegálissá teheti a sebezhetőségek adásvételét vagy előállítását (tehát legrosszabb esetben ellehetetlenítheti az informatikai biztonsággal kapcsolatos kutatásokat).

A legtöbb komoly kutató valamilyen RFPolicy-jellegű nyilvánosságra hozatali szabályt követ (ez öt munkanapot ad a gyártónak a válaszadásra, ha ez elmarad, jöhet a teljes nyilvánosságra hozás), vagy a frissebb OIS Guideline-t.[15] Általában ezek a szabályok megtiltják a teljes nyilvánosságra hozást azelőtt, hogy a gyártót figyelmeztetnék és elegendő időt hagynának neki a javítás létrehozására.

Lásd még[szerkesztés | forrásszöveg szerkesztése]

Források[szerkesztés | forrásszöveg szerkesztése]

  • Ez a szócikk részben vagy egészben a Zero day attack című angol Wikipédia-szócikk ezen változatának fordításán alapul. Az eredeti cikk szerkesztőit annak laptörténete sorolja fel.