Diepgaande specialisatie

Reverse Engineering

Geef ons uw software en wij halen het uit elkaar. Uw SaaS-, desktop- of mobiele app, een binary, de firmware van een apparaat: wij ontleden het om te begrijpen hoe het werkelijk werkt, en laten het vervolgens doen wat het nooit had mogen doen: beveiligingen omzeilen, aannames doorbreken en onthullen wat erin verborgen zit.

Reverse Engineering

In gewone taal

Bekijk uw product zoals een bekwame aanvaller dat zal doen

Elke applicatie die u uitlevert draagt aannames met zich mee: dat de client niet kan worden aangepast, dat een licentiecontrole niet kan worden overgeslagen, dat een geheim in de code geheim blijft, dat een gebruiker alleen kan doen wat de interface toestaat. Een bekwame aanvaller accepteert die aannames niet, maar haalt de software uit elkaar en test elke aanname. Reverse engineering is hoe wij hetzelfde doen, doelbewust en aan uw kant, voordat iemand anders het tegen u doet.

Dit is een gespecialiseerde discipline die wij in eigen huis uitvoeren: wij gaan verder dan het netwerk en de web front-end, tot in de gecompileerde code zelf. Als uw bedrijf afhankelijk is van de bescherming van intellectueel eigendom, het afdwingen van licenties, of het vertrouwen op een clientapplicatie of verbonden apparaat, dan is dit hoe u ontdekt of dat vertrouwen daadwerkelijk standhoudt.

Het is de moeite waard om duidelijk te maken wat dit anders maakt dan een normale applicatietest. Een webpentest bekijkt uw software zoals een gebruiker er van buitenaf aan zit te peuteren. Reverse engineering opent de doos: wij lezen de daadwerkelijke gecompileerde code, dezelfde code die op de telefoons en computers van uw klanten staat, en achterhalen wat deze werkelijk doet, welke geheimen zij bevat, en welke van haar regels stilletjes kunnen worden uitgeschakeld. Als de beveiliging van uw product afhankelijk is van het gedrag van de client, is dit de enige manier om te weten of die afhankelijkheid veilig is.

Scope en dekking

Wat wij uit elkaar halen

Web-, SaaS- en thick-client-applicaties

Wij onderzoeken de onderdelen van uw product die aan de kant van de gebruiker draaien, waar server-side regels vaak ten onrechte worden verondersteld te worden gehandhaafd.

  • Client-side logica en verborgen functionaliteit
  • Omzeilen van controles die de server zou moeten afdwingen
  • Blootgestelde endpoints, geheimen en debugfuncties
  • Manipuleren van requests, status en workflows

Reverse engineering van mobiele apps

Android- en iOS-apps worden rechtstreeks aan aanvallers uitgeleverd. Wij pakken ze uit om te zien wat zij prijsgeven en wat zij vertrouwen.

  • Decompilatie en statische analyse van de app
  • Hardgecodeerde sleutels, tokens en API-geheimen
  • Certificate pinning en omzeiling van root/jailbreak-detectie
  • Runtime-instrumentatie en manipulatie van verkeer

Analyse van binaries en firmware

Gecompileerde software en apparaatfirmware, gedisassembleerd en doorgrond, inclusief de onderdelen die u mogelijk heeft geërfd van derden.

  • Disassemblage en decompilatie van native binaries
  • Extractie en analyse van firmware
  • Memory-corruption- en logicakwetsbaarheden
  • Ongedocumenteerde commando's en achterdeurtjes

Omzeiling van licenties, DRM en anti-tamperbeveiliging

Als uw omzet afhankelijk is van een controle die op de machine van iemand anders draait, testen wij of die controle simpelweg kan worden verwijderd.

  • Omzeiling van licentie- en activeringscontroles
  • Omzeiling van feature flags en betaalmuren
  • Beoordeling van anti-tamper- en integriteitsbescherming
  • Advies over beveiligingen die aanvallers daadwerkelijk vertragen

Analyse van protocollen en API's

Wij reverse-engineeren de manier waarop uw software communiceert, om te ontdekken wat zij blootstelt en wat zij accepteert van een vijandige client.

  • Analyse van aangepaste en ongedocumenteerde protocollen
  • Replay-aanvallen, manipulatie en aanvallen met vervalste clients
  • Verborgen of geprivilegieerde API-operaties
  • Datalekkage tijdens transport en in rust

Omzeiling van client-side controles

De kern van de zaak: de software precies laten doen wat zij niet zou mogen doen, zodat u de aanname kunt herstellen voordat een aanvaller deze misbruikt.

  • Omzeiling van rechten en rollen vanuit de client
  • Ontgrendelen van beperkte of verborgen functionaliteit
  • Vervalsen van vertrouwde status en identifiers
  • Omzetten van bevindingen in concrete, geprioriteerde oplossingen

De waarde

Wat u eraan overhoudt

Bescherming voor uw product en IP

Weet of uw licentiëring, client-controles en intellectueel eigendom werkelijk standhouden tegen een vastberaden, bekwame aanvaller.

Inzicht dat geen scanner kan bieden

Geautomatiseerde tools lezen gecompileerde code niet zoals een menselijke reverse engineer dat doet. Dit is handmatig expertwerk dat vindt wat anderen missen.

Een partner met de juiste expertise

Reverse-engineeringvaardigheden paraat hebben betekent dat de lastige vragen over uw software een eerlijk, getest antwoord krijgen.

Methodologie

Hoe wij werken

01

Scope en doelen

Wij stemmen het doelwit af, wat 'doorbreken' voor u betekent, en schriftelijke toestemming om het te analyseren en te testen.

02

Statische analyse

Wij disassembleren en decompileren de software en brengen de logica, geheimen, beveiligingen en vertrouwensgrenzen in kaart.

03

Dynamische analyse

Wij voeren de software uit en instrumenteren deze, waarbij wij haken plaatsen en tijdens runtime manipuleren om aan te tonen wat daadwerkelijk kan worden omzeild.

04

Rapporteren en verharden

Wij tonen precies wat wij hebben doorbroken, met bewijs, en geven praktisch advies om het de volgende keer aanmerkelijk moeilijker te maken.

05

Debriefworkshop

Wij bespreken de bevindingen stap voor stap met uw ontwikkelaars, zodat zij begrijpen welke aannames in de code niet standhielden.

06

Hertest

Wij bevestigen dat de beveiligingen die u heeft toegevoegd de belangrijkste bevindingen daadwerkelijk verhelpen.

Statische en dynamische analyseAndroid en iOSNative binaries en firmwareVolledig geautoriseerd en vertrouwelijk

Voor de technische lezer

Onder de motorkap

Wij combineren statische en dynamische analyse. Statisch disassembleren en decompileren wij het doelwit om de logica te reconstrueren, geheimen te lokaliseren en de beveiligingen te doorgronden. Dynamisch voeren wij het uit onder instrumentatie, waarbij wij functies haken, verkeer onderscheppen en status tijdens runtime manipuleren, zodat een theorie over een zwakte een werkende omzeiling wordt die u zelf kunt zien.

Reverse engineering is belangrijk omdat zoveel beveiliging stilzwijgend afhankelijk is van het gedrag van de client. Een licentiecontrole, een rolbeperking, een verborgen functie, een gepind certificaat: elk is slechts zo sterk als de aanname dat de code die op het apparaat van de gebruiker draait niet kan worden gewijzigd. Wij testen die aanname rechtstreeks, en waar zij faalt tonen wij dit niet alleen aan, maar adviseren wij ook over de beveiligingen, van server-side handhaving tot anti-tampermaatregelen, die de kosten voor de volgende aanvaller daadwerkelijk verhogen.

Elke opdracht is volledig geautoriseerd en volstrekt vertrouwelijk. Uw broncode, binaries en bevindingen blijven bij ons en worden behandeld als het gevoelige intellectuele eigendom dat zij zijn.

Een typische opdracht beweegt tussen twee werkwijzen. Statische analyse reconstrueert het programma zonder het uit te voeren: disassemblage, decompilatie, extractie van strings en geheimen, en het in kaart brengen van de logica en de beveiligingen. Dynamische analyse voert het doelwit vervolgens uit onder een debugger of instrumentatieframework, waarbij functies worden gehaakt, netwerkoproepen worden onderschept en waarden in het geheugen worden herschreven om aan te tonen dat een controle in de praktijk, en niet slechts in theorie, kan worden omzeild. De twee versterken elkaar: statische analyse vertelt ons waar wij moeten duwen, dynamische analyse bevestigt wat daadwerkelijk toegeeft.

Opleveringen

Wat u ontvangt

Managementsamenvatting

Een verslag in gewone taal van wat kon worden omzeild of geëxtraheerd, en wat dit betekent voor uw product en omzet.

Bevindingen met bewijs

Elke zwakte aangetoond met een werkende proof of concept, zodat de impact concreet en onmiskenbaar is.

Naar risico beoordeelde problemen

Elke bevinding beoordeeld op ernst en benodigde inspanning, zodat u weet welke aannames u als eerste moet verstevigen.

Advies voor verharding

Praktisch advies over server-side handhaving, obfuscatie en anti-tampermaatregelen die echte aanvallers daadwerkelijk vertragen.

Technische doorloop

Een duidelijk verslag van hoe wij de software uit elkaar hebben gehaald, nuttig voor uw eigen ontwikkelaars en toekomstige beoordelingen.

Hertest van belangrijke oplossingen

Bevestiging dat de beveiligingen die u heeft toegevoegd de door ons gevonden tekortkomingen daadwerkelijk verhelpen.

Voor wie

Wanneer reverse engineering de juiste keuze is

U bent een softwareleverancier of SaaS-bedrijf wiens omzet afhankelijk is van licenties, rechten of beschermde functies.
U levert mobiele of desktopapplicaties uit die draaien op apparaten waarover u geen controle heeft.
Uw product bevat verbonden apparaten of firmware, ongeacht of deze intern zijn ontwikkeld of zijn geërfd van een leverancier.
U vertrouwt op client-side controles of DRM en moet weten of deze daadwerkelijk standhouden.
U vermoedt dat uw app wordt gekraakt, gemanipuleerd of gekloond, en wilt begrijpen hoe.
U voert technische due diligence uit op software van derden voordat u erop voortbouwt of het aankoopt.

Zeldzame vaardigheid, echte specialisatie

Reverse engineering is waar offensieve beveiliging werkelijk lastig wordt. Het is ook de natuurlijke partner van ons red team-werk, waarbij een op maat gemaakte omzeiling van uw eigen software de sleutel kan zijn die een breder doel ontsluit.

Vragen en antwoorden

Reverse engineering: vragen en antwoorden

Heeft u onze broncode nodig?

Nee. Wij werken vanuit de gecompileerde applicatie, binary of firmware, precies wat een aanvaller ook zou hebben. Broncode is niet vereist, al kan het delen ervan het werk versnellen en de dekking verdiepen als u daarvoor kiest.

Kunt u onze licentiëring of beveiligingen echt omzeilen?

Heel vaak wel, omdat zoveel beveiligingen uiteindelijk draaien op het apparaat van de gebruiker, waar zij kunnen worden aangepast. Wij tonen u precies hoe een controle kan worden verslagen, met een werkende proof of concept, en adviseren vervolgens over de server-side en anti-tampermaatregelen die het aanmerkelijk moeilijker maken.

Is onze software en intellectueel eigendom veilig bij u?

Ja. Elke opdracht is volledig geautoriseerd en volstrekt vertrouwelijk, gedekt door een NDA. Uw binaries, eventuele broncode die u deelt, en alle bevindingen worden behandeld als het gevoelige intellectuele eigendom dat zij zijn en verlaten nooit onze controle.

Welke soorten software kunt u analyseren?

Web- en SaaS-front-ends, thick-client desktopapplicaties, Android- en iOS-mobiele apps, native binaries en apparaatfirmware. Als het code uitvoert, kunnen wij het doorgaans uit elkaar halen en u vertellen waar het breekt.

Hoe verschilt dit van een normale penetratietest?

Een penetratietest onderzoekt uw software van buitenaf, zoals een gebruiker dat zou doen. Reverse engineering gaat de gecompileerde code zelf in om aannames te doorbreken die vanuit het externe perspectief niet bereikbaar zijn, zoals licentiecontroles, client-side beperkingen en verborgen functionaliteit.

Wat ontvangen wij aan het eind?

Een duidelijk rapport met een managementsamenvatting, elke zwakte aangetoond met een proof of concept, risicobeoordelingen, praktisch advies voor verharding, en een hertest om te bevestigen dat de beveiligingen die u toevoegt de tekortkomingen daadwerkelijk verhelpen.

Gratis en vrijblijvend kennismakingsgesprek

Vertel ons welke systemen u gebruikt. Wij vertellen u hoe wij die zouden testen.

Een kort gesprek met een van de oprichters over de scope, daarna een offerte op maat. U spreekt met de tester, niet met een verkoopteam.

Plan een gratis kennismakingsgesprek