2009. február 25., szerda

Így működik a feltörhetetlen alkalmazás-védelem

Pár hete a Kali Anti-Piracy csoport bejelentette, hogy egy extra védelmi mechanizmust dolgozott ki az AppStore-os alkalmazások védelmére. Tegnap napvilágot látott egy írás, mely leírja ezt a mechanizmust.

A RipDev oldalán leírt módszer bepillantást enged a védelmi eljárásba.
Először tekintsük át, hogyan is működik az AppStore-os alkalmazások védelme. A cracker megveszi az AppStore-ból az alkalmazást, majd elindítja a telefonján. Az alkalmazást alapból védi az Apple DRM rendszere, de indítás után a rendszer kiolvassa a kulcsokat és a RAM-ban már a védelem nélküli program van. A cracker egy debuggert használ, amely megállítja az alkalmazás futását és a RAM-ról egy imaget (képet) hoz létre. Ezt az imaget letölti a számítógépére és létrehozza az ipa filet, amely már nem tartalmazza a DRM-et.
A Kali eljárása három, egymástól független modult tartalmaz:
• az első nem engedi meg az alkalmazás futtatását, ha a debugger már fut a telefonon.
• tegyük fel, hogy a cracker mégis túl jut az első védelmi vonalon. Ekkor indul a második fázis, az „antidump”. Mint fentebb írtam, a normál alkalmazás védelem nélkül található a RAM-ban, azonban ezzel a módszerrel a program a RAM-ban nem teljesen intergált módon található, nem lehet a tartalmát dumpolni, kirakni.
• harmadik fázisban a programkód különböző titkosítási eljárásokon megy keresztül, ezért ha a cracker meg is szerzi az image filet, az sérült lesz és nem fog működni. Ráadásul az eljárás minden alkalmazásnál más és más titkosítási procedúrát használ, ezért egy univerzális crack program nem tudja azt feltörni.
Még a Hackulous fórumán is elismerik, hogy az ilyen eljárással védett alkalmazást nagyon nehéz feltörni, pl. az iPref nevűt sem sikerült még.
Ha egy fejlesztő az alkalmazása védelmére ezt az eljárást akarja használni, akkor azt feltölti a Kali szerverére, ahol egy script a program köré építi a védelmi mechanizmust. A védett alkalmazást a fejlesztő továbbítja az Apple-nek, amely jóváhagyás után megjelenteti azt az AppStore-ban.
Persze a Kali is tudja, hogy nincs feltörhetetlen védelem, ezért csak azt ígérik, hogy feltörés esetén a lehető legrövidebb időn belül frissítik a kódolási eljárást.
A feltörhetetlennek tűnő eljárást azonban nem minden fejlesztő fogja használni, mert a Kali sajátságos árazási politikát folytat. A fejlesztőnek az alkalmazása árától függően kell egy 100-300 dolláros belépési díjat fizetnie, majd az eladott példányszámtól függően százalékos royalty díjat is kell fizetnie. Ez jó néhány fejlesztőt elrettenthet, azonban aki védeni akarja a programját, nem tehet mást, mert jelenleg nem ismert más hatékony védelmi eljárás.

Nincsenek megjegyzések:

Megjegyzés küldése