Professional Documents
Culture Documents
CCERT-PUBDOC-2004-04-71
CARNet CERT,
Ovaj dokument predstavlja vlasnitvo CARNet-a (CARNet CERT-a). Namijenjen je za javnu objavu, njime se moe
svatko koristiti, na njega se pozivati, ali samo u originalnom obliku, bez ikakvih izmjena, uz obavezno navoenje
izvora podataka. Koritenje ovog dokumenta protivno gornjim navodima, povreda je autorskih prava CARNet-a,
sukladno Zakonu o autorskim pravima. Poinitelj takve aktivnosti podlijee kaznenoj odgovornosti koja je
regulirana Kaznenim zakonom RH.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 2 / 16
Sadraj
1.UVOD..........................................................................................................................................4
2.ZAKONSKA ZATITA SOFTVERA........................................................................................................5
2.1.AUTORSKO PRAVO....................................................................................................................................5
2.2.PATENT.............................................................................................................................................5
2.3.LICENCA.............................................................................................................................................6
2.4.VRSTE SOFTVERA.....................................................................................................................................6
3.METODE ZATITE SOFTVERA.............................................................................................................8
3.1.DONGLE.............................................................................................................................................8
3.2.ZATITA POMOU INSTALACIJSKOG MEDIJA.............................................................................................................8
3.3.ZATITA CD-A PROTIV KOPIRANJA....................................................................................................................9
3.4.FIKSNA REGISTRACIJSKA IFRA........................................................................................................................9
3.5.PROMJENJIVA REGISTRACIJSKA IFRA.................................................................................................................9
3.6.SERIJSKI BROJ OVISAN O HARDVERU.................................................................................................................10
3.7.ZATITA PROGRAMA POMOU REGISTRACIJSKE DATOTEKE..............................................................................................10
4.METODE ZA PROBIJANJE SOFTVERSKE ZATITE.................................................................................11
4.1.DEBUGGING........................................................................................................................................11
4.2.DISASSEMBLING....................................................................................................................................11
4.3.DECOMPILING......................................................................................................................................11
5.KOMERCIJALNI SOFTVER...............................................................................................................12
5.1.FLEXLM..........................................................................................................................................12
5.2.HASP............................................................................................................................................13
5.3.PC GUARD........................................................................................................................................14
6.ZAKLJUAK................................................................................................................................16
7.REFERENCE.................................................................................................................................16
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 3 / 16
1. Uvod
Softverska industrija danas se iznimno brzo razvija i potrebe za novim aplikacijama sve su vee.
Istovremeno Internet veze postaju sve bre, a raunalna mrea postaje novi medij za jednostavnu i brzu
distribuciju softvera. Takva situacija prua zanimljive mogunosti, ali istovremeno namee i velike
pravne i sigurnosne probleme proizvoaima softvera.
Softver je proizvod koji je jako teko i skupo razvijati, to dovodi do njegove visoke trine cijene, no
istovremeno ga je zbog niske cijene CD/DVD medija te Internet pristupa lako umnoavati i distribuirati.
Zbog toga se softver esto ilegalno kopira i distribuira to se popularno naziva softversko piratstvo.
Zbog tog piratstva softverske kompanije danas trpe ogromne gubitke. Prema nekim procjenama, danas
na svaku legalnu kopiju softvera dolaze 3-4 ilegalne kopije.
Kako bi zatitili intelektualno vlasnitvo razvijenog softvera te svoje financijske interese, proizvoai
softvera su poeli implementirati razne hardverske i softverske metode koje onemoguavaju
neovlateno kopiranje i distribuciju programa te njihovo koritenje. Te zatite ukljuuju provjeru
serijskog broja isporuenog softvera, provjeru raznih parametara raunala na kojem je softver instaliran,
obveznu autentikaciju svake zasebne kopije softvera, provjeru ispravnosti isporuenih licenci,
enkripciju izvrnog koda programa te razne druge metode.
Jo uvijek ne postoji metoda za zatitu softvera koju bi bilo nemogue probiti. Svaka metoda koja je do
sada primijenjena u praksi na kraju je ipak razbijena te sav softver nakon nekog vremena postane
dostupan u piratskoj verziji.
U takvoj situaciji namee se pitanje kakvog uope smisla ima ulagati vrijeme i sredstva u razvoj takvih
zatita, kad je s dananjom tehnologijom jednostavno nemogue pobijediti ljude s dovoljno vremena,
sredstava i motivacije za razbijanje softverskih zatita. Razlog za to je potpuno komercijalan jer ako
softver nema zatitu postat e dostupan u besplatnoj verziji za svega nekoliko dana. Meutim, ako
softver ima donekle kompliciranu zatitu, mogue je da ona nee biti probijena nekoliko mjeseci ili ak
godina, pa e za to vrijeme biti odgoeno pojavljivanje piratske verzije tog programa. Na taj nain je
mogue sprijeiti znaajniju financijsku tetu softverskoj kompaniji jer nakon tog razdoblja softver e
ionako zastarjeti te vie nee donositi znaajniju dobit.
Osim toga, u softver je mogue ugraditi viestruke zatite i provjere u razliitim dijelovima
programskog koda, tako da je teko ispravno razbiti zatitu. Kod takve zatite je mogue da piratske
verzije programa prividno rade (tj. mogue je pokrenuti softver), ali u nekim fazama rada program se
jednostavno ugasi, pone se ponaati nestabilno ili nema neke funkcionalnosti koje ima legalna verzija.
Naravno, nakon dovoljno vremena e se sigurno pojaviti ispravna verzija piratskog programa, ali do tada
moe proi dosta vremena. Osim toga, kad se takav program i pojavi, na Internetu e postojati mnogo
verzija piratskog softvera od kojih e veina biti neispravna. Ta injenica moe mnoge korisnike
natjerati da kupe program, ak i nakon objavljivanja piratskih verzija, jednostavno zato da izbjegnu
gnjavau te gubitak vremena i novca, pokuavajui koristiti neispravan softver.
Na Internetu je mogue pronai mnogo stranica sa detaljnim uputama za razbijanje softverskih zatita.
Tu su objanjeni razni postupci te napisane opirne upute za koritenje specijalnih alata za razbijanje
takvih zatita. Na alost, ne postoji nita slino za edukaciju programera. Zbog toga mnogi programeri
uope nisu svjesni koliko su jednostavne zatite koje oni primjenjuju te da su vjerojatno ve odavno
probijene.
Razlog tome je djelomino i okruenje i motivacija ove dvije skupine ljudi. Programeri su ljudi koji svoj
posao rade za novac i navikli su da je tajnost podataka najbolji nain za odravanje prednosti pred
konkurencijom i zaraivanje to vee svote novaca. Pirati, s druge strane, ne rade za novac te zbog toga
i objavljuju besplatno na Internetu sve rezultate svog rada. Piratska verzija softvera moe donijeti
znaajne novane utede njegovim krajnjim korisnicima, ali pirati razbijaju softverske zatite iskljuivo
iz znatielje, izazova ili ugleda koji e mu razbijanje nove i komplicirane zatite donijeti unutar
piratske zajednice. Pirati su najee spremni provesti tjedne i mjesece pred raunalom pokuavajui
probiti nove softverske zatite, a programeri u pravilu podcjenjuju njihov broj i motivaciju.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 4 / 16
2.1.
Autorsko pravo
Autorsko pravo je najraireniji nain zatite bilo kojeg intelektualnog vlasnitva. Autorsko pravo titi
autora od nelegalnog koritenja njegovog djela. Tonije, zatita djela koju omoguuje autorsko pravo
se moe definirati pomou sljedeih prava:
pravo umnaanja djela;
pravo na izmjene i dopune u djelu;
pravo distribucije djela;
pravo javnog izvoenja i prikazivanja djela;
pravo autora na koritenje njegovog imena uz svaku kopiju djela te zatita od koritenja imena uz
tue radove ili uz iskrivljene verzije njegovog djela;
pravo autora da sprijei iskrivljavanje ili unitavanje svojeg djela.
Autorsko pravo naelno titi originalnu implementaciju i nain prikaza neke ideje, a ne samu ideju. U
softverskoj industriji to znai da je mogue autorskim pravom zatititi izvorni i izvrni kod programa,
strukturu i organizaciju koda programa, dijelove ili cijelo korisniko suelje te sve prirunike, upute i
ostalu dokumentaciju u digitalnom ili pisanom obliku. Autorsko pravo meutim ne titi razne
programske algoritme ili metode te matematike postupke koji su koriteni u realizaciji softvera.
Autorsko pravo titi od neovlatenog kopiranja ili oponaanja koda, meutim, autorsko pravo ne titi od
konkurencije koja samostalno i nezavisno (bez uvida u izvorni kod konkurencije) razvije slian softver.
Dapae, drugi autor moe ak dobiti autorsko pravo za svoj program bez obzira na slinost s ve
postojeim softverom. Autorsko pravo se esto koristi jer je primjenjivo na skoro svaki oblik softvera, a
mogue ga je lako, brzo i jeftino dobiti.
Svako djelo zatieno autorskim pravom mora imati vidljivu oznaku, a mora biti oznaena i godina
izdavanja te ime autora ili naziv tvrtke koja je nositelj autorskih prava.
2.2.
Patent
Patent je zatita izuma koju izdaje vlada neke drave, a sprjeava druge osobe ili organizacije da
proizvode i prodaju isti ili slian proizvod. Patentna zatita se moe primijeniti na svaki koristan
princip, mehanizam, proizvodni proces i sl. koji je nov, nije oigledan i nije sadran u nijednom
prethodno objavljenom patentu. Za razliku od autorskog prava, patent zabranjuje objavu bilo kakvog
slinog rada pa makar bio i nezavisno razvijen.
Za razliku od autorskog prava koje titi prezentaciju neke ideje i oblik izraavanja, patent titi samu
ideju. U softverskoj primjeni patent titi ideje, algoritme i matematike postupke koritene u programu,
a ne sam programski kod.
Nedostatak patenata je visoka cijena njihovog izdavanja i dugo vrijeme (obino nekoliko godina) koje
mora proi od predaje zahtjeva pa do eventualnog odobrenja za izdavanje patenta. Osim toga, da bi se
formule, metode ili algoritmi zatitili patentom prvo ih je potrebno objaviti i dati na uvid komisiji za
dodjeljivanje patenta, a na taj nain se uglavnom gubi na sigurnosti koju prua tajnost istih ideja.
Kako se softverska industrija nevjerojatno brzo razvija, postoji jako malo softverskih rjeenja koja mogu
opstati na tritu vie od nekoliko godina, koliko je potrebno za izdavanje patenta. Zbog toga je
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 5 / 16
traenje patenta za softver rijetko isplativo i koristi se samo za neke algoritme i postupke za koje se
smatra da su dovoljno fundamentalni da bi mogli ostati u upotrebi desetak ili vie godina.
Patent je najmoniji zakonski oblik zatite softvera jer, kao to je ve spomenuto, zabranjuje objavu
programa koji ima sline funkcije ili koristi iste softverske metode pa makar bio nezavisno razvijen. Ta
injenica je ujedno razlog velikih kontroverzi i estokih rasprava koje se vode oko patentiranja
softverskih rjeenja.
Softverska industrija zagovara patentiranje softvera jer, osim nelegalnog kopiranja i oitog kopiranja
koda, eli zatititi to vie inovativnosti i originalnosti koja je utroena u razvoj softvera. Konkurencija
moe razviti slian softver jednostavnim prouavanjem funkcionalnosti originalnog rjeenja, ak i bez
poznavanja izvornog koda, a patent je jedini nain da se to sprijei. S druge strane, postoji raireno
miljenje da bi patentiranje softverskih algoritama zaustavilo razvoj softvera, irenje znanstvenih ideja
te stvorilo razne monopole u softverskoj industriji.
Danas je softver mogue patentirati u SAD-u, ali ne i u Europi.
2.3.
Licenca
Veina softvera se danas izdaje pod nekom vrstom licennog sporazuma. Licenca je ustvari proirenje
autorskog prava na neki softver. Kod licenciranog softvera korisnik uope ne kupuje softver ve kupuje
samo licencu za njegovo koritenje, a vlasnik softvera ostaje autor. Licenca je posebna dozvola u kojoj
je tono definirano na koji nain korisnik moe koristiti taj softver.
Licenca definira na koliko raunala se softver smije instalirati, u koje svrhe se smije koristiti
(komercijalne, osobne, obrazovne svrhe itd.) te koliko dugo je licenca vaea. Nakon isteka licence ona
se mora obnoviti (tj. ponovno kupiti od autora programa) ili korisnik mora prestati koristiti softver.
2.4.
Vrste softvera
Prema zakonskom obliku zatite softver se moe podijeliti u sljedee kategorije:
Public domain;
Open Source;
Freeware;
Shareware;
Komercijalni softver;
Komercijalni softver (licencirani).
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 6 / 16
Public domain je softver s kojim korisnik moe raditi sve to eli. Doputeno je koritenje,
umnoavanje, distribucija pa ak i prodavanje bez ikakve dozvole od autora.
Open Source je softver koji je besplatan za koritenje, umnoavanje i distribuciju, a dozvoljeno je raditi
promjene u izvornom kodu te takav softver dalje distribuirati. Jedini uvjet koji se obino namee
korisniku je da promijenjeni softver i dalje bude Open Source. Takav softver se distribuira zajedno s
licencom u kojoj su definirana sva prava i obaveze korisnika. Ako korisnik distribuira takav softver, bilo
u izvornom obliku bilo izmijenjen, uvijek se mora distribuirati pod istim licennim sporazumom.
Freeware je besplatan za koritenje i distribuciju, ali se ne smije mijenjati. Taj softver se takoer izdaje
pod posebnom licencom sa definiranim pravilima koritenja. Autor zadrava autorsko pravo na ovakav
softver.
Shareware je slian kao i freeware, ali se u licennom sporazumu obino trai da korisnik poalje autoru
odreenu svotu novca. Kod takvog softvera obino postoji definirano vrijeme u kojem korisnik moe
besplatno koristiti program, a ako ga eli koristiti i nakon tog razdoblja mora ga platiti. Novane svote
za takav softver su obino simboline i to je zgodan nain za distribuciju softvera koji inae ne bi
opstao na tritu komercijalnog softvera.
Komercijalni softver je softver koji korisnik mora kupiti te ga smije samo koristiti, a ne kopirati,
distribuirati ili mijenjati. Postoje dva tipa komercijalnog softvera, softver koji korisnik moe kupiti te
licencirani softver. Ako korisnik kupi kopiju programa, moe ga koristiti na nain koji je definiran
zakonom o autorskim pravima. Danas je skoro sav softver licenciran i u tom sluaju korisnik kupuje
samo licencu za koritenje programa. Korisnik moe koristiti takav softver samo na nain koji je u
skladu s licennim sporazumom te zakonom o autorskim pravima.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 7 / 16
3.1.
Dongle
Dongle je ureaj koji je potrebno spojiti na serijski ili paralelni komunikacijski port raunala da bi se
mogla pokrenuti odreena aplikacija. Dongle je relativno jednostavna naprava koja sadri hardverski
implementiran klju za omoguavanje pristupa odreenoj aplikaciji i koja je sposobna na zahtjev
aplikacije poslati taj klju.
Unutar same aplikacije se na vie mjesta poziva funkcija koja komunicira s dongle kljuem, aplikacija
alje razne upite na odgovarajui komunikacijski port i provjerava pristigle odgovore. Ako dongle nije
prisutan ili ako ne alje odgovarajui klju, program e prestati s radom.
Osim zatite od ilegalnog kopirana softvera, dongle se moe koristiti i za onesposobljavanje odreenih
dijelova programa, ovisno o kupljenoj verziji softvera, odnosno o kupljenoj licenci. U tom sluaju se
kupcima uvijek isporuuje ista verzija programa, ali se isporuuje dongle sa drukijim kljuem. Ako
korisnik kupi najskuplju verziju softvera dobiti e dongle koji otkljuava sve funkcije programa, a ako
kupi jeftiniju verziju dobiti e dongle koji omoguava rad programa, ali neke funkcije ostavlja
zakljuane.
Dongle klju je prilino teko kopirati, ali je zato mnogo jednostavnije probiti funkcije za komunikaciju
s dongle kljuem unutar same aplikacije. Zbog toga je i nivo sigurnosti koji se postie ovakvim nainom
zatite najee odreen izvedbom same aplikacije, a ne izvedbom donglea. Meutim kod za provjeru
ispravnosti donglea unutar aplikacije se moe enkriptirati, a isto tako se moe enkriptirati i sva
komunikacija aplikacije i dongle ureaja.
Ako je provjera kljua ugraena na vie mjesta u programu te ako su ti dijelovi koda enkriptirani moe
biti jako teko pronai i ukloniti sve provjere iz aplikacije.
Novije izvedbe dongle ureaja imaju ugraenu EPROM memoriju u koju je mogue pohraniti programski
kod nekih funkcija u programu. Funkcije u EPROM-u su enkriptirane i dekriptiraju se direktno u radnu
memoriju kod izvravanja programa. Na taj nain je bez originalnog donglea praktiki nemogue probiti
zatitu jer dio koda jednostavno nedostaje.
Usprkos opisanim prednostima, dongle ureaji se danas skoro vie uope ne koriste, a razlozi su:
komplicirana instalacija, esto je potreban poseban upravljaki softver (engl. driver) za ispravan rad
dongle kljua;
visoka cijena, svakom korisniku je osim primjerka aplikacije potrebno isporuiti i poseban primjerak
donglea;
nemogunost distribucije softvera preko Interneta.
3.2.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 8 / 16
Ovaj mehanizam zatite se rijetko koristi i to zbog oitih razloga kao to su vezanost uz odreenu vrstu
instalacijskog medija, nemogunost distribucije softvera preko Interneta, visoka cijena i nepraktinost.
3.3.
3.4.
3.5.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 9 / 16
identifikacijski broj raunala na osnovu kojeg mu proizvoa softvera vrati odgovarajuu ifru za
registraciju softvera.
3.6.
3.7.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 10 / 16
4.1.
Debugging
Alati za ispravljanje pogreaka u kodu omoguuju interaktivno pokretanje programa. Program za
debugging moe zaustaviti izvravanje programa izmeu svake dvije instrukcije. Nakon to se program
zaustavi, programer moe vidjeti u kojem dijelu izvornog koda programa se proces trenutno nalazi.
Osim dijela izvornog koda, programer u svakom trenutku moe vidjeti sadraj radne memorije, sadraj
procesorskih registara, podatke koji se zapisuju u datoteke, informacije o programskim nitima i mnoge
druge informacije. Takve alate koriste programeri za vrijeme razvoja softvera jer im omoguuju detaljan
uvid u rad programa i uklanjanje pogreaka u programiranju. Slian alat je ugraen u svaki softverski
paket koji je namijenjen razvoju aplikacija, poput Microsoft Visual Studia ili Borland C++ Buildera.
Meutim alati za debugging se esto rade i kao samostalne aplikacije i takvi alati su obino puno
moniji. Najbolji debugging alati mogu komunicirati direktno s jezgrom operacijskog sustava i zaobii
pozive sustava. Na taj nain su puno stabilniji u radu, mogu prepoznati vie informacija u stanju
sustava te ak omoguuju analizu hardverskih upravljakih programa (engl. drivera).
Koritenjem takvih alata, pirati mogu zaustaviti program u trenutku kad on zahtijeva autorizaciju
korisnika. Nakon to se program zaustavi, mogue je vidjeti dio koda koji je odgovoran za provjeru
autorizacije i izmijeniti ga tako da prihvaa svaku ifru.
Najpoznatiji alat za debugging je SoftIce tvrtke Compuware, program moe uhvatiti mnoge pogreke
koje drugim alatima promaknu, pa ak prikazati pogreku nakon blokiranja Windows operacijskog
sustava.
4.2.
Disassembling
Disassembling i decompiling su postupci koji izvrni kod programa pretvaraju natrag u izvorni kod, tako
da ga je mogue analizirati. Alati za disassembling pretvaraju izvrni binarni kod u asemblerski kod.
Kako je asembler jezik koji se direktno (jedna instrukcija asemblera odgovara jednoj binarnoj
instrukciji) prevodi u binarni kod, disassembling alati mogu prevesti svaku aplikaciju, bez obzira na
programski jezik u kojem je ona izvorno napisana.
Najbolji alati mogu generirati strukturiran kod koji je mogue lako pratiti i analizirati pa ak kreiraju i
komentare za lake snalaenje u programu.
Najee koriten alat za disassembling je IDA Pro tvrtke NuMega.
4.3.
Decompiling
Alati za decompiling pretvaraju izvrni binarni kod programa u izvorni kod nekog od programskog jezika
vie razine kao to je C++ ili Java. Ovi alati mogu prevesti samo izvrni kod nekog odreenog jezika za
koji je taj alat razvijen. Na primjer, alat napravljen za programski jezik C++ ne moe prevesti program
napisan u Javi. Najvea prednost ovih alata nad alatima za disassembling je injenica da veina
programera i pirata puno bolje poznaje jezike vie razine od asemblera i takav kod im je puno lake
analizirati.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 11 / 16
5. Komercijalni softver
5.1.
FlexLM
FlexLM (Flex License Manager) je softver tvrtke Macrovision. FlexLM je izuzetno kompliciran sustav
nadzora nad softverskim licencama i predstavlja danas najrairenije komercijalno rjeenje za zatitu
softvera.
FlexLM softver ukljuuje zatitu izvrnog koda aplikacije, kontrolu ispravnosti registracijskih datoteka
na disku, softver za implementaciju na posluiteljima koji nadziru koritenje licenci u lokalnoj mrei,
sustav za lako obnavljanje licenci i centralnu administraciju cijelog sustava.
Za zatitu samih aplikacija FlexLM softver koristi enkripciju izvrnog koda aplikacije, enkriptiranu
registracijsku datoteku koja je ovisna o hardveru korisnikog raunala, kontrolu posluitelja kojom se
neovlatenim korisnicima zabranjuje pokretanje mrenih aplikacija, a u nekim izvedbama se koristi i
dongle.
Sustav nadzire koritenje softvera i ispravnost licenci, a mogue je izabrati razliite metode
licenciranja softvera. Softver podrava nekoliko desetaka razliitih licennih sustava, a najpoznatiji su:
Node locked softver je mogue pokrenuti samo na raunalu za koje je izdana licenca;
User based softver moe pokrenuti samo korisnik koji je vlasnik licence (licenca je vezana uz
osobu, a ne raunalo kao kod Node locked sustava);
Site licensing softver mogu pokrenuti svi korisnici na odreenoj lokaciji (firmi, odjelu itd.);
Floating license softver mogu pokrenuti svi korisnici u lokalnoj mrei, ali postoji ogranienje na
maksimalni broj korisnika koji mogu istovremeno raditi sa programom.
Softver podrava i licenciranje prema vremenu utroenom u radu s zatienim programom. FlexLM
posluitelj prati vrijeme provedeno u radu s softverom za sve korisnike u mrei te se na osnovu toga
korisniku isporuuje raun.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 12 / 16
5.2.
HASP
Softver HASP (Hardware Against Software Piracy), koji proizvodi tvrtka Aladdin, je sustav za zatitu
aplikacija koji primjenjuje dongle kljueve. Softver podrava dongle kljueve koji se spajaju na skoro
sve mogue komunikacijske portove u raunalu. Postoje izvedbe donglea za paralelni port, USB port,
PCI sabirnicu (kartica koja se ugradi u raunalo) te kao PCMCIA kartica.
Na slikama 4 i 5 su prikazani dongle ureaji za paralelni i USB port.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 13 / 16
Svi dongle ureaji imaju vlastitu EPROM memoriju i procesor koji enkriptira i dekriptira podatke u
memoriji. Kako je gotovo nemogue proitati podatke iz memorije bez poznavanja ispravnog kljua,
postie se nivo zatite koji je jako teko razbiti.
Dongle ima dovoljno mjesta u memoriji za pohranu 112 razliitih licenci za 112 razliitih aplikacija, a s
istim ureajem je mogue tititi aplikacije na Windows, Unix i Macintosh platformama.
Softver koji se isporuuje s ovim ureajima ima dva naina rada. Korisniku aplikaciju je mogue
zatititi koritenjem takozvane omotnice ili promjenom izvornog koda aplikacije. Omotnica zatiuje
korisniku aplikaciju tako da enkriptira izvrnu datoteku i doda dio koda koji omoguuje izvravanje
aplikacije. Taj nain zatite je jednostavniji jer ne zahtijeva promjenu izvornog koda aplikacije, ali je
manje siguran. Drugi nain zatite je da se prilikom programiranja u softver ugrade posebne funkcije iz
biblioteke koja se isporuuje s Aladdin softverom.
5.3.
PC Guard
PC Guard je softver kompanije Sofpro, namijenjen zatiti softvera i kontroli licenci na Windows
platformama. PC Guard titi softver pomou elektronike omotnice ili API poziva u izvornom kodu
aplikacije, slino kao to je to opisano za HASP softver. Zatita se postie enkripcijom izvrnog koda i
detektiranjem pokuaja analize koda.
Za autentikaciju korisnika PC Guard koristi registracijsku ifru koja ovisi o hardveru korisnikog
raunala. PC Guard moe detektirati registracijske oznake tvrdog diska, CD/DVD-a, BIOS-a, Ethernet
kartice, procesora i operacijskog sustava na korisnikom raunalu i te informacije koristi za kontrolu
korisnikove registracijske ifre.
Postoji posebna verzija PC Guard softvera za klasine Windows aplikacije te posebna verzija za .NET
aplikacije.
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 14 / 16
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 15 / 16
6. Zakljuak
Iz ovog dokumenta je vidljivo da je zatita softvera predstavlja veliki problem u modernom drutvu.
Zatita softvera je proces povezan ne samo s informatikom tehnologijom, ve i sa zakonodavstvom i
ekonomijom. Moderni sustavi za kontrolu softverskih licenci su narasli u velike, distribuirane, mrene
sustave kojima je zadaa ne samo borba protiv softverskog piratstva, ve i stvaranje infrastrukture koja
e omoguiti efikasniji nain naplate koritenja softvera. U ne tako dalekoj budunosti se softver
vjerojatno vie nee plaati unaprijed kao danas, ve prema vremenu koritenja, poput naplate struje ili
vode, a sustavi za kontrolu licenci to moraju omoguiti.
S druge strane, sustavi za zatitu softvera jo uvijek ne uspijevaju obaviti svoju primarnu zadau, a to je
zatita softvera od izrade piratskih verzija. Iako je na Internetu mogue pronai tvrtke koje za svoje
sustave zatite tvrde da nikad nisu probijeni, praksa pokazuje da je razbijanje bilo kakve softverske
zatite samo pitanje vremena. esto je isplativije u softver ugraditi vlastiti mehanizam za zatitu, nego
kupovati poznati, komercijalni sustav. Iako komercijalni sustav vjerojatno ima bolje algoritme za
zatitu, iskusni pirati imaju uhodane procedure za probijanje takvih poznatih i esto koritenih sustava
za zatitu.
Odluka o ugradnji zatite u softver je uvijek ekonomska i potrebno je nai kompromis izmeu cijene
ugradnje takve zatite i potencijalnih gubitaka od prodaje softvera ako se zatita ne ugradi. Vrlo rijetko
se isplati ulagati u najskuplje metode zatite softvera jer svaka zatita e s vremenom biti probijena i
bitno je samo da se to odgodi dovoljno dugo kako bi proizvoa softvera ipak ostvario zadovoljavajui
profit od prodaje softvera.
7. Reference
1. Stranica tvrtke Aladdin: http://www.ealaddin.com
2. Stranica tvrtke Macrovision: http://www.macrovision.com
3. Stranica tvrtke Sofpro: http://www.sofpro.com
Revizija v1.1
CCERT-PUBDOC-2004-04-71
Stranica 16 / 16