Reverzni inženjering

Ideja o rastavljanju određenog fizičkog entiteta i analiziranje načina njegova rada je dobro poznata metodologija koja se koristi u gotovo svim granama znanosti. Gotovo svi moderni napreci nastali su kao posljedica analize ponašanja ili rada određenih entiteta, bilo da se radi o prirodnim pojavama i fizikalnim zakonima ili o fizičkim uređajima. Tokom razvoja pojedinih grana znanosti nastale su razne metode seciranja i analiziranja specifičnih za pojedinu znanost. Spoj svih tih metoda se naziva reverzni inženjering. Naglasak ovog dokumenta je na primjeni reverznog inženjeringa u računarstvu. Točnije, u svrhu provjere valjanosti i razine sigurnosti pojedinih metoda zaštite.

Reverzni inženjering je proces u kojemu se određeni uređaj rastavlja na način koji otkriva njegov unutarnji princip rada te daje uvid u dizajn i arhitekturu. U računarstvu, ovaj proces se zasniva na rastavljanju izvršnih programskih datoteka i pregledavanja izvornog koda u asemblerskom obliku.

 

 

Reverzni inženjering je proces prikupljanja informacija o bilo kojem entitetu (uređaju ili programskom proizvodu) koji je nastao kao posljedica ljudskog rada. Ovaj koncept je nastao znatno prije prvih računala ili današnje moderne tehnologije, a procvat je doživio za vrijeme industrijske revolucije. Brojni tehnološki napredci i visoka konkurencija stvorila je pogodne uvjete za industrijsku špijunažu. Naime, organizacije su često uzimale prototip proizvoda od konkurentne organizacije i proučavali ih u cilju prikupljanja znanja o tom proizvodu. Prikupljeno znanje i informacije bi iskoristili za poboljšanje ili proizvodnju vlastitih proizvoda. Reverzni inženjering se obično provodi s ciljem stjecanja novog znanja i ideja o određenom entitetu u slučaju kada ono nije dostupno. U nekim slučajevima informacije se nalaze u vlasništvu organizacije (ili pojedinca) koja ih nije spremna dijeliti, a nekad su informacije izgubljene ili uništene. Osnovni koncept reverznog inženjerstva je seciranje fizičkog uređaja u potrazi za tajnama njegovog dizajna. Dobivene tajne bi se koristile za izradu sličnih ili boljih proizvoda.

 

Kao posljedica nagle informatizacije dvadesetoga stoljeća, većina višemedijskih proizvoda je postala dostupna u digitalnom obliku. Riječ je o proizvodima poput knjiga, glazbenih albuma te raznim filmovima i emisijama koje su se do tada prenosile isključivo putem fizičkog medija. Ovaj trend je sa sobom donio niz novih pogodnosti, ali i problema. Nastale su velike komplikacije s autorskim pravima. Naime, sadržaj u digitalnom obliku se mogao dijeliti i remiksirati bez dozvole autora ili vlasnika. Zbog velikih razmjera u slobodnog dijeljena upravljanje tokom objavljenog sadržaja postalo je nemoguće. U cilju sprečavanja neovlaštenog kopiranja sadržaja izdavačke kuće su razvile niz tehnologija za zaštitu svog sadržaja. Jedna od takvih tehnologija je DRM (engl. Digital Rights Management).

Glavna primjena reverznog inženjeringa se nalazi u sigurnosnom ispitivanju. Reverzni inženjering predstavlja bitan alat u provjeri učinkovitosti zaštite autorskog sadržaja. Razlog tomu je to što zloćudni korisnici koriste isti postupak reverznog inženjerstva kako bi zaobišli zaštitu autorskog sadržaja. Svaki sigurnosni sustav, neovisno o domeni i primjeni, treba proći penetracijsku provjeru (engl. Penetration Test) prije uporabe. Jedini način provjere učinkovitosti metode zaštite autorskog sadržaja je simulacija stvarnog napada i uporaba rezultata u poboljšanju postojeće zaštite.

Uporaba reverznog inženjerstva doseže puno više od provjere zaštitnih mehanizama autorskih prava. Na primjer, koristi se u analizi implementacija kriptografskih algoritama, analizi zloćudnih programa, traženju ranjivosti i drugo. Predviđa se razvoj novih metoda i alata za podršku u raznim fazama reverznog inženjerstva.

Cijeli dokument (u PDF obliku) "Reverzni inženjering" preuzmite ovdje.

© Laboratorij za sustave i signale - Copyright 2008 - 2013. www.LSS.hr