Logo nl.androidermagazine.com
Logo nl.androidermagazine.com

Uw applicaties op de juiste manier beveiligen - de Google How-to

Inhoudsopgave:

Anonim

Applicatiebeveiliging, piraterij en preventie zijn allemaal recente onderwerpen, en terecht. Zonder een robuuste applicatiemarktplaats zijn dat honderdduizenden nieuwe activeringen per maand niet onderhoudbaar, en een robuuste markt is niet mogelijk zonder de steun van ontwikkelaars. We hebben gezien dat Android een ingebouwde oplossing heeft om piraterij te voorkomen, en we hebben ook gezien hoe gemakkelijk het is om er omheen te komen als je vastbesloten bent en of het schema in zijn basisvorm blijft. Google liet doorschemeren dat ze wat meer informatie hadden over het hele onderwerp, en trouw aan hun woord hebben ze dat gedaan. Laten we na de pauze eens kijken naar de methoden van Googler om een ​​veilige, gebruiksvriendelijke manier te bieden om applicaties te beschermen.

De Android Market Licensing Service en de License Verification Library zijn krachtige hulpmiddelen voor ontwikkelaars om applicatiepiraterij te omzeilen. Het probleem, zoals onlangs werd gedemonstreerd, is dat het out of the box niet zo moeilijk te omzeilen is. Omdat mensen mensen zijn en velen meer tijd zullen besteden dan het waard is om een ​​99-cent-applicatie uit de markt te kraken, heeft Trevor Johns (een van Android's ontwikkelaarsprogramma-ingenieurs) een handige set tips gegeven om de meegeleverde tools te versterken, en ervoor zorgen dat de maatregelen tegen piraterij beter werken.

De vier belangrijkste gebieden zijn:

Code verduistering

Code-obfuscatie is een truc die wordt gebruikt door ontwikkelaars die de broncode wijzigt, waardoor bekende functies, pakketten, klassen en variabelen zeer moeilijk op te sporen zijn door een alias aan elk te geven. Neem deze denkbeeldige functie bijvoorbeeld - onRedraw (). Elke plaats waar u de functie in de broncode gebruikt, deze is daar, gemakkelijk te lezen en mogelijk te exploiteren. Een code-obfuscator zal de door mensen leesbare functie vervangen door een gegenereerde alias - wy23 () is een goed voorbeeld. Een snelle blik (of een geautomatiseerde tool) op zoek naar functies zal niet werken, want het vergt wat serieus graven om precies te zien wat wy23 () echt betekent. Er zijn commerciële Java-code obfyousk8tors (ha!) Beschikbaar en Trevor beveelt ProGuard aan en plant een toekomstig artikel op het Android Developers Blog over werken met ProGuard.

De licentiebibliotheek wijzigen

Google raadt ontwikkelaars aan om de bron van de geleverde licentiebibliotheken zoveel mogelijk te wijzigen met behoud van de oorspronkelijke functie. Dit is een geval waarbij het ingeslagen pad onbelangrijk is, zolang de bestemming wordt bereikt. Ontwikkelaars kunnen functies begraven in if / then statements, loops en zelfs de hele bibliotheek in hun eigen codeblok verplaatsen.

Om nog een stap verder te gaan, worden ontwikkelaars aangemoedigd om hash-controles en andere versleutelingsmethoden te gebruiken om nieuwe constanten te genereren en de code te wijzigen om naar de nieuwe constanten te zoeken in plaats van de door Google in de voorbeeldcode geleverde codes te gebruiken. Zorg ervoor dat u op de bronlink klikt om een ​​goed voorbeeld van Google te zien dat laat zien hoe dit kan worden gedaan. En vergeet ook niet de code te verdoezelen!

Maak uw applicatie fraudebestendig

Deze is eenvoudig. Als een hackerdief de licentie van uw toepassing wil verwijderen, moet hij of zij de toepassing reverse-engineeren en opnieuw opbouwen. Gebruik CRC-controles om dit te voorkomen. Google heeft ook een ander handig hulpmiddel voor dit gebied - controleer of Android Market de installatiebron van uw applicatie was en, zo niet, laat het niet draaien. Nogmaals, er is een handig voorbeeld hiervan bij de bronlink.

Verplaats de licentieverificatie naar een externe server

Als uw applicatie online componenten gebruikt, raadt Google u aan de LVL-informatie en -reactie uit de app te verplaatsen naar uw server. Wanneer de gebruiker de app gebruikt, controleert uw server met Google en als alles niet koosjer is, wordt er geen inhoud weergegeven. Hoewel eenvoudig, het is ook zeer effectief om dit te omzeilen, iemand zou niet alleen de applicatie, maar ook de inhoud op uw server moeten veranderen. Vergeet niet dat lokale gegevens nooit veilig zijn, maar een goed onderhouden en beveiligde server is een behoorlijk moeilijke noot om te kraken.

Ten slotte herinnert Google ons - de eindgebruikers, en beveelt aan dat deze trucs worden gebruikt op een manier die transparant en gebruiksvriendelijk is. Als u een applicatie-ontwikkelaar bent die geïnteresseerd is in integriteit en piraterijpreventie van uw app (en dat zou u moeten zijn), bekijk dan zeker de bronlink. Het wordt allemaal geeky en fuzzy en legt het allemaal voor je klaar. Voor de rest van ons is dit meer een herinnering aan hoe Goggle van zijn ontwikkelaars houdt, en we kunnen ons goed voelen wetende dat grote G doet wat hij kan om te helpen.