Szerző: Gálffy Csaba

2014. október 15. 14:30:00

POODLE: új sebezhetőség a weben

Közbeékelődő (man-in-the-middle) támadások célpontjává válhat minden olyan kommunikáció, amely SSL 3.0-t használ. A probléma, hogy erre a legtöbb böngésző kényelmesen rávehető, a megoldást a támogatás leállítása jeletheti.

Hozzáférhet a titkosított HTTP kapcsolatokon folyó forgalomhoz egy közbeékelődő támadó - ezt eredményezi a Google mérnökei által bejelentett új biztonsági probléma, a POODLE (Padding Oracle On Downgraded Legacy Encryption). Az új támadási forma, a 2011-es BEAST és a 2012-es CRIME támadáshoz hasonlóan lehetővé teszi, hogy egy fertőzött Wi-Fi hotspot, internetszolgáltató vagy hatóság megfelelő módszerekkel gyengébb titkosításra vegye rá a kommunikáló klienset és a szervert, majd ezt a titkosítást feltörje.

Az Ars Technica egyszerűsített leírása szerint a támadás a következőképp valósul meg: a támadó, aki a hálózati forgalmat saját belátása szerint tudja befolyásolni, a titkosítás nélküli kapcsolaton JavaScript injekcióval ráveszi a böngészőt, hogy a biztonságos kapcsolaton egy adott elemet (például egy képet) újra és újra letöltsön. Az így megvalósuló repetitív forgalmat a támadó úgy tudja újrarendezni, hogy az üzenet egy bájtját 1/256 eséllyel ki tudja találni - siker esetén a másodikat és így tovább. A támadó célja megszerezni a kliens által minden üzenetben elküldött süti (cookie) teljes tartalmát, ennek birtokában ugyanis azonos hozzáférést szerez, mint az áldozat (például bejentkezhet az online bankba vagy a webes emailbe). Mivel a script futása és a támadó ténykedése a felhasználó számára teljesen láthatatlan maradhat, a folyamatban lévő támadásról az áldozat nem is tud. A támadás egy részletesebb leírása itt olvasható.

Technical debt - újabb kamatfizetés

A most bemutatott sebezhetőség (ahogy általában az ilyen problémák) nem önmagában veszélyes, hanem az internet hőskorában itt ragadt technológiák és elfogadott gyakorlatok teszik azzá. A biztonságos HTTP kapcsolat felépítésének menete normális esetben azzal kezdődik, hogy a két fél (a szerver és a kliens) közli egymással az általa támogatott titkosítási szabványok listáját, majd kiválasztják ezek közül a legerősebb, mindkét oldalon elfogadott titkosítást. Amennyiben ez a tárgyalási fázis valamiért kudarcba fullad, a felek a prioritási lista alapján egyenként próbálgatják a protokollokat és azt használják, amelyik működik.

A gondot ez a fallback lehetőség okozza. Amennyiben a támadó hozzáfér egy, a kommunikációban érintett hálózati eszközhöz, saját hatáskörben (a kapcsolat jól időzített megzavarásával) ráveheti a feleket arra, hogy egészen SSL 3.0-ig visszalépjenek. Az 1996-ban született, mára igen erősen elavult SSL 3.0 használatát kora ellenére minden jelentős böngésző és szerver támogatja, elsősorban az Internet Explorer 6-tal való kompatibilitás miatt. Az SSL 3.0 (vagy v3) azonban bizonyos adatok validációját nem végzi el, ezt pedig egy közbeékelődő támadó arra használhatja, hogy az üzenteket bájtonként visszafejtse a korábban említett módszerrel.

Machine learning és Scrum alapozó képzések indulnak! (x) A HWSW októberben induló gyakorlatorientált, 10 alkalmas, 30 órás online képzéseire most early bird kedvezménnyel lehet regisztrálni!

Az SSL 3.0-nál újabb szabványok, mint a TLS 1.0 már védelmet nyújtanak az ilyen támadások ellen, az SSL 3.0 azonban felépítésénél fogva sebezhető, így ez a probléma nem is javítható. Egy részleges megoldás lehet a fent említett fallback metódus letiltása szerver oldalon, amellyel kikényszeríthető az alapértelmezett tárgyalás a szerver és kliens között, ez azonban változatos kompatibilitási problémákat okozhat különböző alkalmazások és böngészők esetében. Érdemes megjegyezni, hogy az Internet Explorer 6 és a Windows XP támogatás hiányában már mindörökre sebezhető marad a POODLE-féle támadásokkal szemben.

Az iparági szintű megoldás az SSL 3.0 támogatásának kivezetése lehet. A Cloudflare adatai szerint az internetes forgalomnak mindössze 0,65 százaléka folyik jelenleg SSL 3.0 szabvánnyal, így a széles körben használt böngészőkben várhatóan minden következmény nélkül letilthatják a fejlesztők a sérülékeny SSL 3.0 támogatását. Ezt egyébként a felhasználó saját hatáskörben is megteheti, a Chrome esetében a program speciális paraméterekkel való indítása, a Firefox és az Internet Explorer esetében pedig a beállítások segítenek (leírások itt és itt).

a címlapról