Szerző: Gálffy Csaba

2012. december 11. 15:37:00

Egyszerűen törhetőek a Windows 8 alkalmazásai

Minden elképzelhető támadási vektorral sikeresen törhetőek a Windows 8 Store-ból letöltött játékok - vonható le a következtetés egy programozó rövid próbálkozásai után. Gyakorlatilag nem létezik olyan eleme a fizetési láncnak, amelyet ne lehetne egészen egyszerűen megkerülni.

Hosszú, jól illusztrált bejegyzésben mutatja be a Nokia egyik programozója, hogy hogyan lehet megkerülni a Windows 8 Store-ból letöltött alkalmazások fizetési feltételeit és ingyenesen használni a legtöbb, normálisan csak pénzért járó funkciót. A vizsgálat szerint az alkalmazások gyakorlatilag minden elképzelhető támadással térde kényszeríthetőek, függetlenül a felhasznált keretrendszertől, vagy a fizetési módozatoktól.

Hibás platform

Angel vizsgálata szerint a C# +XAML alkalmazás (Microsoft-féle Minesweeper) pont olyan sérülékeny, mint a C# + Direct3D (Soulcraft), a C++ és Direct3D (Ultraviolet Dawn) vagy a HTML+JavaScript (Cut the Rope). Némi próbálkozással gyakorlatilag az összes fizetési modellt sikerült megkerülni, amelyekben az alkalmazás le is töltődik a számítógépre (a próbaverzió nélküli, csak fizetés ellenében letölthető alkalmazásokra így egyelőre nem vonatkoznak a megállapítások).

Nullára írt árak.

Angelnek sikerült roppant egyszerűen manipulálnia az in-app vásárlást, amely gyors ütemben tör előre a játékfejlesztők jövedelmi forrásai között. A vizsgált alkalmazásokban nagyon egyszerűen írható át nullára egy-egy termék ára vagy épp tölthető fel egy érték átírásával az alkalmazáson belüli kassza. Az adatfájlok módosításával adhatunk magunknak különböző virtuális tárgyakat, de egészen elképesztő módon a vásárlás folyamata is triviálisan támadható JavaScript-injekcióval. Ugyanilyen egyszerűen módosítható a letöltött alkalmazás státusza próbaverzióról teljes értékűre, a megfelelő licencfájl átírásával, s mivel a teljes szoftver letöltődik, ezzel minden funkció használhatóvá válik. A reklámokkal finanszírozott alkalmazásokat is el lehet érni támadással, a XAML fájlok megfelelő módosításával el lehet tüntetni a hirdetést megjelenítő elemet.

Fut az injektált kód, egy katt és meglesz a teljes játék.

A vizsgálat által feltárt problémák a platform sajátosságaiból erednek Angel szerint. Jelenleg Windows 8-on adminisztrátori jogok birtokában nagyon egyszerűen elérhető a Windows 8 Store alkalmazásokat tároló mappa, amely obfuszkáció nélkül tárolja a megfelelő állományokat sima szöveges formátumban. Ugyan a rendszer alapszintű titkosítást azért alkalmaz, az algoritmus, a kódolt adat és a kulcs ismeretében a visszafejtés nagyon egyszerű. Ugyan a bejegyzésben ismertetett módszerek az egyszerű felhasználó tudásán kívül vannak, a lépések könnyedén automatizálhatóak, így a játékok feltörése hamar nagyüzeművé válhat.

Hiányos védelem

A Windows 8 első nyilvános verziójának megjelentése óta történtek azért előrelépések, a DLL-ek és a HTML- vagy JavaScript-fájlok átírása a lemezen már nem lehetséges. Ez annak köszönhető, hogy a végleges Windows-verzió kapott integritásellenőrzést, amely nem hagyja betöltődni a módosított fájlokat - ezt az ellenőrzést a bejegyzés nem vizsgálta. Az alkalmazások beállításait és változatos felhasználói adatait tartalmazó fájlokra azonban ez a védelem nem vonatkozik. További súlyos problémát jelent, hogy az alkalmazáson belüli vásárláshoz tetszőleges JavaScript-kódot injektálhatunk, amely le is fut.

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!

Justin Angel egyébként Twitter-profilja alapján a Nokia főállású mérnöke, Windows Phone 7 és Windows Phone 8 platformokon dolgozik, a bejegyzés szerint azonban a biztonsági vizsgálatot nem ebben a funkciójában, hanem szigorúan szabadidejében, a Nokiától függetlenül végezte el. A bejegyzés megjelenését követően a mikroblogon hosszas beszélgetés bontakozott ki a sikeres támadások következményeiről, Angel azonban fenntartja azt a következtetését, hogy nem az egyes alkalmazásokkal, hanem a platform egészével vannak súlyos biztonsági problémák, amelyek veszélyeztetik a fejlesztők befektetéseinek megtérülését.

A fejlesztő szerint a felsorolt problémák, hibás koncepciók kijavítása a Microsoft feladata és erre a szoftverház teljes mértékben képes is. Angel konklúziója: ezeket a hibákat a Microsoft egyetlen esetben nem fogja kijavítani: ha nem akarja.

Az október 25-26-án rendezett eseményen közel ötven nemzetközi előadó is színpadra áll, 16 országból - a leggyorsabb jegyvásárlók pedig ESP32-alapú hacking badge-et is kapnak!

a címlapról