Casove obmedzenie

Jiří Foldyna jiri.f
Středa Březen 17 12:02:36 CET 2004


> Předmět: Re: Casove obmedzenie
>
>
> Zdravim !
>
> Take nieco sa neda vyrobit. Ani pristup ktory zvolili tvorcovia
> autocadu(myslim ze to je ten soft) vyzadujuci minimalne pri
> kazdom spusteni
> autentifikaciu cez inet nie je nezdolatelny. Hardverovy kluc je tiez
> onicom - vzdy sa da obist a ak nahodou nekdo silou mocou chce
> mat kluc tak
> si ho zozenie, resp. vyrobi kopiu.

Ahoj,

uplne nesouhlasim s nize uvedenym tvrzenim, ze je to k nicemu. Samozrejme
existuje moznost prolomit prakticky kazdou ochranu, ale, a to je podstatne,
VZDYCKY jde o to, kolik to bude stat. Mate custom soft za 100 kKc,
nepredpokladate hromadny prodej, ale chcete, aby si Vas zakaznik KOUPIL
vsechny instalace, ktere bude potrebovat. Zakaznik ma porad moznost koupit
jednu instalaci a najmout nekoho, aby ji zlomil, ale je otazka, jestli se mu
to vyplati. Proti lamani existuje snad jen jedna dostatecne ucinna ochrana,
a to je otravit pripadneho hackera. Podle sve zkusenosti (za komancu jsem se
zivil lamanim SW ve statnich sluzbach :-))) vim, ze uplne nejhorsi, co
muzete hackerovi udelat je, ze ochrany zamaskujete jako softwarove chyby a
udelate jich spoustu na ruznych mistech, kazdou s jinym chovanim. Vzhledem k
tomu, ze krome ochrany proti hackerum potrebujete i zabranit zakaznikovi
uzivat sw bez platneho klice, doporucuji pouzit asi takoveto schema:

1. Test na pritomnost korektniho klice a na vyprseni casoveho limitu (mam na
mysli Time-HASP). Pokud neco neni OK, program to rekne a padne.

2. Periodicky test na pritomnost klice v intervalu delsim nez jedna minuta
(cim delsi, tim lepsi, zalezi na tom, aby mezi intervaly testovani nedala
udelat nejaka rozumna prace. Zazil jsem silence, kteri v petiminutovkach
mezi pady programu resili FEM ulohy :-)). Pokud se klic nenajde nebo neni
platny, program to rekne a padne.

Tyto prvni dve casti jsou rekneme VEREJNE CASTI ochrany. Nema cenu pouzivat
nejake slozite maskovani, spis jde o to, vyvolat v hackerovi pocit, ze kdyz
je najde a odpare, je za vodou.

Podstatne casti prichazeji skryte. Jsou to ochrany, ktere nastupuji v
pripade, ze verejnou cast nekdo zrusil. Nebudu tady psat, jak to udelat -
nepisu manual pro hackery :-)) - zpusob ochrany zavisi jen na fantazii
programatora. Je nezbytne, aby se programator vyznal v kodu, ktery generuje
prekladac, aby nevygeneroval slozitou logickou podminku, kterou prekladac
prelozi jako DEC ECX, JZ 0000. Pri zjisteni poruseni ochrany zasahem hackera
zacne program vykazovat zahadne chyby - zmizi polozky menu, za nejakou
chvili zacne hynout klavesnice tak, ze prestane rozumet nekterym klavesam,
mys se zacne pohybovat trhane pripadne obracene - cilem je znemoznit praci s
hackovanym programem, ne upozornit, ze zabrala nejaka ochrana. Pro maskovani
je dobre pouzit objekty - je nesmirne obtizne lamat program, ktery generuje
volani funkci vytvarenim VMT tabulek. Ochrany by mely byt udelany tak, ze je
nejde zrusit jednoduchym prepsanim casti kodu. Mely by byt vytvoreny tak, ze
pri spravne funkci klice vytvori napriklad data NEZBYTNA pro spravnou funkci
programu. Cim vic ochran, tim lepe, cim nenapadnejsi, tim lepe. Pokud pro
ochranu pouzijete linkovane funkce, dbejte na to, aby ochrana nesla
ustrihnout jejich simulaci. Docela dobry zpusob (v Object Pascalu) je
prilinkovat OBJ do kazdeho modulu, ktery ochranu pouziva, ne vytvorit jeden
modul s volanim knihovny.

Jak jsem napsal v uvodu, prakticky neexistuje moznost, jak zajistit proti
zlomeni program, ktery ma fungovat autonomne. Je ale celkem jednoduche
zaridit, aby to bylo co nejslozitejsi a casove hodne narocne.

Ing. Jiri Foldyna
mailto:jiri.f@avizo.cz

>
> Ak pod dorobenim myslite prirobenie ochrany k existujucemu
> (prekompilovanemu) programu, tak sa na to rovno vykaslite, pretoze bez
> zdrojakov nic nespravite.
>
> Mozno by pomohlo inspirovat sa elektornickou licenciou od fy
> globetrotter
> software (FLEXlm) - umoznuje licencovanie pomocou suboru
> alebo kombinovane
> aj cez server(tusim). Pouziva ju vo svojom softe napr.
> xilinx, aldec, ...
> Pouzivaju sifru (asi RSA algoritmus) ktorou je zakodovane
> cislo licencie,
> datum
> vyprsania, verzia, produkt, ... To sposobi ze vygenerovanie spravnej
> licencie je viacmenej nemozne, ale naburanim kodu sa to da obist.
> Uvedene produkty testuju licenciu dost casto, asi kazdy modul
> programu ju
> kontroluje.
> Ak by ste este pridali aj kontrolu crc casti programu, hlavne
> kniznice ktora dekoduje a testuje licenciu, skomplikovali by
> ste vyrobu
> cracku ale k znemozneniu kraknutia to taktiez nevedie.
>
> ----- Original Message -----
> From: "Jiří Foldyna" <jiri.f@avizo.cz>
> To: "Multiple recipients of list" <hw-news@list.gin.cz>
> Sent: Monday, May 14, 2001 6:51 PM
> Subject: RE: Casove obmedzenie
>
>
> > Pokud je ten sw dost drahy, da se pouzit napr. Time-HASP od
> Aladdin (hw
> > klic).
> >
> > Ing. Jiri Foldyna
> > mailto:jiri.f@avizo.cz
> >
> > > -----Původní zpráva-----
> > > Od: hw-news@list.gin.cz [mailto:hw-news@list.gin.cz]za
> uživatele Wek
> > > Odesláno: 14. května 2001 17:57
> > > Komu: Multiple recipients of list
> > > Předmět: Casove obmedzenie
> > >
> > >
> > > Zdravim.
> > >
> > > Dostal som "krasnu" ulohu: sw (PC), ktory predavame, by bolo
> > > treba upravit tak, aby fungoval len urcitu dobu, potom treba
> > > zasah zvon
> > > ka.
> > > Samozrejme, malo by to byt co najviac crackuvzdorne.
> > > Privitam VSETKY navrhy, nazory, diskusiu.
> > >
> > > Jano Waclawek







Další informace o konferenci Hw-list