Met reverse engineering kunnen professionele hackers verloren geraakte kennis in computers weer zichtbaar maken. Op de Wcre-conferentie aan de EWI-faculteit deze week, wisselen ze de laatste kennis uit.
Ooit was de term hacker een erecode, gereserveerd voor de ware nerd die snel zijn weg wist te vinden in een willekeurig besturingssysteem. Niet zelden met ideële doelstellingen. Zo richtte de groep rond computermagazine ‘Hack-tic’ in 1994 XS4all op, omdat ze het als burgerrecht beschouwde dat iedereen toegang kreeg tot internet.
Veel hackers van toen rijden inmiddels in een stevige lease-auto of zijn een brave wetenschappelijk verantwoorde burger geworden. Met de huidige hackers, vaak spamfabrikanten, willen ze niks te maken hebben. Softwaretechnicus Leon Moonen, die deze week de Working Conference on Reverse Engineering (Wcre) aan de EWI-faculteit organiseert, is hier een voorbeeld van. Ook al was hij ooit trouw lezer van ‘Hack-tic’.
“Ik voer nu opdrachten uit voor bedrijven, om na te gaan hoe hun software betrouwbaarder te maken is en om hun programmatuur toegankelijk te maken voor onderhoud”, zegt hij. “Daarom moet je uitkijken met dat hackersimago, omdat bedrijven er huiverig voor zijn. Je krijgt steeds meer jongetjes die zich hacker noemen, en die steeds op websites inbreken om daar grapjes uit te halen. Vaak kunnen die ventjes nog maar net op een paar knoppen drukken.”
De bezoekers van de Wcre-conferentie zijn nog van de oude soort. Ze bijten zich in technische workshops en tutorials vijf dagen lang vast in problemen als virusanalyse en programmatransformatie. Maar ook het effectief documenteren en visualiseren van de broncodes van een nog onbekend computersysteem.
Het doel hiervan is minder zeeroversachtig dan veel mensen zich bij de term hacken voorstellen: systeemonderhoud. De reverse-engineers, zoals ook Moonen zichzelf noemt, ontwikkelen slimme programmatuur die als een stadskaart een onbekend programma overzichtelijk maakt voor de software-onderhoudsafdelingen van bedrijven.
Viruskiller
Als voorbeeld noemt Moonen de computersystemen van banken. “Bedrijven zijn zeventig tot negentig procent van hun ict-budget kwijt aan het upgraden van de oude programmatuur”, zegt hij. “Iedere keer als er een aanpassing gemaakt moet worden in het systeem door de programmeur van het bedrijf, moet hij tussen miljoenen codes het juiste aanknopingspunt kunnen vinden van het programmaonderdeel waar hij in wil sleutelen. Dat kost ontzettend veel tijd. Want degene die het onderhoud doet weet vaak niet meer wat de bedoelingen waren van degene die het programma heeft ontworpen.”
De reverse-engineer probeert te herleiden in welke codes iedere verschillende functie binnen een programma omschreven staat. Die codes geven een aanknopingspunt om wijzigingen in een programma aan te brengen.
Een ander onderdeel waaraan op het Wrce-congres aandacht wordt besteed is virusherkenning. Het scannen met een reverse-engineering-programma lijkt namelijk veel op wat antivirussoftware doet. Deze programmatuur hanteert een lijst met bekende codes en hun verwante functies. Bij het scannen loopt de viruskiller door de harde schijf om te kijken of de aanwezigheid van zo’n code overeenkomt met een omschrijving op zijn viruslijst.
Een virus doet eigenlijk niets anders dan een zwakte aantonen in een computerprogramma. Met een virusscanner loop je daarom altijd achter de feiten aan. “Sommige systemen, zoals Windows 2000, hebben kwetsbare plekken in het programma waardoor ze gevoelig zijn voor aanvallen van buiten”, zegt Moonen.
Een voorbeeld is volgens hem het automatisch openen van plaatjes. “Dit automatisch openen kan gevaarlijk kan zijn omdat door middel van speciaal geprepareerde plaatjes willekeurige commando’s uitgevoerd kunnen worden”, zegt hij. “Dat kun je omzeilen door bij de e-mail ervoor te zorgen dat je bij het openen van een nieuwe boodschap niet meteen ook het plaatje opent. Maar het is natuurlijk beter de zwakte in het programma op te sporen en die eruit te halen, dan ben je helemaal van het probleem af.”
Leon Moonen, hacker en organisator van de Working Conference on Reverse Engineering bij EWI. (Foto: Sam Rentmeester/FMAX)
Ooit was de term hacker een erecode, gereserveerd voor de ware nerd die snel zijn weg wist te vinden in een willekeurig besturingssysteem. Niet zelden met ideële doelstellingen. Zo richtte de groep rond computermagazine ‘Hack-tic’ in 1994 XS4all op, omdat ze het als burgerrecht beschouwde dat iedereen toegang kreeg tot internet.
Veel hackers van toen rijden inmiddels in een stevige lease-auto of zijn een brave wetenschappelijk verantwoorde burger geworden. Met de huidige hackers, vaak spamfabrikanten, willen ze niks te maken hebben. Softwaretechnicus Leon Moonen, die deze week de Working Conference on Reverse Engineering (Wcre) aan de EWI-faculteit organiseert, is hier een voorbeeld van. Ook al was hij ooit trouw lezer van ‘Hack-tic’.
“Ik voer nu opdrachten uit voor bedrijven, om na te gaan hoe hun software betrouwbaarder te maken is en om hun programmatuur toegankelijk te maken voor onderhoud”, zegt hij. “Daarom moet je uitkijken met dat hackersimago, omdat bedrijven er huiverig voor zijn. Je krijgt steeds meer jongetjes die zich hacker noemen, en die steeds op websites inbreken om daar grapjes uit te halen. Vaak kunnen die ventjes nog maar net op een paar knoppen drukken.”
De bezoekers van de Wcre-conferentie zijn nog van de oude soort. Ze bijten zich in technische workshops en tutorials vijf dagen lang vast in problemen als virusanalyse en programmatransformatie. Maar ook het effectief documenteren en visualiseren van de broncodes van een nog onbekend computersysteem.
Het doel hiervan is minder zeeroversachtig dan veel mensen zich bij de term hacken voorstellen: systeemonderhoud. De reverse-engineers, zoals ook Moonen zichzelf noemt, ontwikkelen slimme programmatuur die als een stadskaart een onbekend programma overzichtelijk maakt voor de software-onderhoudsafdelingen van bedrijven.
Viruskiller
Als voorbeeld noemt Moonen de computersystemen van banken. “Bedrijven zijn zeventig tot negentig procent van hun ict-budget kwijt aan het upgraden van de oude programmatuur”, zegt hij. “Iedere keer als er een aanpassing gemaakt moet worden in het systeem door de programmeur van het bedrijf, moet hij tussen miljoenen codes het juiste aanknopingspunt kunnen vinden van het programmaonderdeel waar hij in wil sleutelen. Dat kost ontzettend veel tijd. Want degene die het onderhoud doet weet vaak niet meer wat de bedoelingen waren van degene die het programma heeft ontworpen.”
De reverse-engineer probeert te herleiden in welke codes iedere verschillende functie binnen een programma omschreven staat. Die codes geven een aanknopingspunt om wijzigingen in een programma aan te brengen.
Een ander onderdeel waaraan op het Wrce-congres aandacht wordt besteed is virusherkenning. Het scannen met een reverse-engineering-programma lijkt namelijk veel op wat antivirussoftware doet. Deze programmatuur hanteert een lijst met bekende codes en hun verwante functies. Bij het scannen loopt de viruskiller door de harde schijf om te kijken of de aanwezigheid van zo’n code overeenkomt met een omschrijving op zijn viruslijst.
Een virus doet eigenlijk niets anders dan een zwakte aantonen in een computerprogramma. Met een virusscanner loop je daarom altijd achter de feiten aan. “Sommige systemen, zoals Windows 2000, hebben kwetsbare plekken in het programma waardoor ze gevoelig zijn voor aanvallen van buiten”, zegt Moonen.
Een voorbeeld is volgens hem het automatisch openen van plaatjes. “Dit automatisch openen kan gevaarlijk kan zijn omdat door middel van speciaal geprepareerde plaatjes willekeurige commando’s uitgevoerd kunnen worden”, zegt hij. “Dat kun je omzeilen door bij de e-mail ervoor te zorgen dat je bij het openen van een nieuwe boodschap niet meteen ook het plaatje opent. Maar het is natuurlijk beter de zwakte in het programma op te sporen en die eruit te halen, dan ben je helemaal van het probleem af.”
Leon Moonen, hacker en organisator van de Working Conference on Reverse Engineering bij EWI. (Foto: Sam Rentmeester/FMAX)
Comments are closed.