Ik ben de oprichter en CEO van Apriorit, een softwareontwikkelingsbedrijf dat wereldwijd technische diensten levert aan technologiebedrijven.

achteraanzicht van de codering van vrouwelijke computerhackers bij het bureau in creative office

getty

tegenwoordig zijn cyberaanvallen gewapend met een indrukwekkende reeks wapens, van eenvoudige malware tot geavanceerde reverse engineering tools. Disassemblers, decompilers en andere tools stellen hackers in staat om toegang te krijgen tot de broncode van de toepassing en deze te analyseren. Met deze informatie kunnen hackers uw software op verschillende manieren misbruiken: door het extraheren van gevoelige informatie, het toevoegen van kwaadaardige code en zelfs het klonen van uw applicaties.Uit een recente studie van het beveiligingsbedrijf Positive Technologies is gebleken dat populaire toepassingen voor mobiel bankieren vatbaar zijn voor hackaanvallen. De meest voorkomende cybersecurity problemen geïdentificeerd had te maken met de namen van de klassen en methoden expliciet worden geschreven in de broncode, een gebrek aan bescherming tegen code injectie en een gebrek aan Code versluiering.Met name Code obfuscation is een veelbelovende praktijk voor het beveiligen van software. Als u op zoek bent naar manieren om uw software te beschermen tegen inbraken, wilt u misschien beginnen met het verharden van de verdediging door middel van het verduisteren van de code.

Hoe werkt code verduistering?

Verduisteringsmethoden stellen u in staat om toepassingscode te verharden door deze te transformeren om impliciete waarden te verbergen en logica te verbergen. Deze maatregelen maken het moeilijker voor een onbevoegde derde partij om te kijken onder de motorkap van uw software.

de meeste verduisteringstechnieken transformeren een van de volgende aspecten van code:

* Data: code-elementen er anders uit laten zien dan wat ze zijn

* Control flow: maak uitvoerbare logica nondeterministisch als de software is gedecompileerd

* lay-outstructuur: gegevens opmaken, identifiers hernoemen en codecommentaren verwijderen

Obfuscatietools werken met broncode, machine-of binaire code, en bytecode. Om te bepalen welk type code het beste te verduisteren is, moet u rekening houden met de beperkingen van elke keuze.

wanneer u broncode verduistert, kunt u problemen ondervinden bij het verwerken en debuggen van de verduisterde code. Binaire verduistering is niet alleen ingewikkelder dan de andere twee opties, maar moet worden toegepast op elke systeemarchitectuur.

bij mijn bedrijf kiezen we vaak voor bytecode verduistering, omdat we in dit geval geen broncode of machinecode hoeven te verwerken. Echter, als we bytecode omzetten in machinecode, is het moeilijk om alle versluierde code-injecties volledig willekeurig te houden.

voor een van onze recente projecten gebruikte mijn team de LLVM-compiler, die ons hielp een hoog niveau van bytecode-bescherming te garanderen met weinig impact op de softwareprestaties. Naast het verharden van code, kan deze compiler willekeurig software licentie verificateurs die het bijna onmogelijk maken voor hackers om software te kraken plaatsen.

Hoe kunt u uw app beschermen met code verduistering?

hoewel verduistering een van de veilige coderingspraktijken is die OWASP aanbeveelt, is het nog steeds niet zo populair bij veel ontwikkelaars. De belangrijkste reden hiervoor is dat wanneer overmatig gebruikt, Code versluiering software prestaties kan schaden.

maar als we het hebben over bijvoorbeeld een app voor mobiel bankieren, is het belang van het beveiligen van de bankrekeninggegevens van een gebruiker hoog genoeg om extra tijd en moeite te besteden aan het verharden van gebalanceerde code.

als u code op de meest effectieve manier wilt verduisteren, moet u hier enkele dingen overwegen:

* voordat u uw code verduistert, moet u beslissen welke delen van uw code kunnen worden verduisterd. Vermijd verhullen prestatie-kritieke code. Zorg er ook voor dat verduistering geen invloed heeft op de functionaliteit van de software op welke manier dan ook.

* let op de grootte en de prestaties van de versluierde code. Bij het uitharden van een groot stuk code kan de uitvoeringstijd oplopen tot 1.000 keer.

* voeg ondoorzichtige predicaten toe aan de versluierde code om het onmogelijk te maken te begrijpen waar de uitvoering van de code naartoe zal gaan. Maak de control flow grafiek eruit als een staat machine uitvoering in plaats van lineaire code uitvoering.

• combineer verschillende transformatietechnieken om een gelaagde verdediging te creëren. Hoe meer verduisteringstechnieken je gebruikt, hoe beter je code wordt beschermd.

* gebruik code verduistering alleen als een extra beveiligingslaag, omdat het andere beveiligingspraktijken niet kan vervangen.

indien correct geïmplementeerd, code obfuscation is een effectieve oplossing voor het beschermen van uw software tegen ongeautoriseerde analyse. Het is niet een zilveren kogel, maar het zal aanzienlijk compliceren pogingen om te exploiteren en compromitteren uw software.De Forbes Technology Council is een gemeenschap die uitsluitend op uitnodiging van CIO ‘s, CTO’ s en technici van wereldklasse wordt uitgenodigd. Kom ik in aanmerking?

Volg mij op Twitter of LinkedIn. Kijk op mijn website.

Laden …

Geef een antwoord

Het e-mailadres wordt niet gepubliceerd.