Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Digitalni potpis programa

[es] :: Art of Programming :: Digitalni potpis programa

[ Pregleda: 2838 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
195.222.97.*



+2790 Profil

icon Digitalni potpis programa09.08.2009. u 10:56 - pre 179 meseci
Hteo bih da napišem takav program da binarne verzije kod različitih korisnika budu 100% različite, to jest da nemaju nikakav zajednički pattern, izuzev onoga što je opšte za exe format, tj. onoga što imaju drugi programi, koji nisu moji.

Jedna od ideja je digitalno potpisivanje. No, ako bih ubacivao u svoj program kod za dešifrovanje, onda bi on bio pattern specifičan za moj program. Ako bi to radio OS (ili platforma, Java, .NjET, python, Ruby), onda moj program ne bi imao nikakav specifičan pattern. Da li je to moguće i kako?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

dragancesu
subotica

Član broj: 38340
Poruke: 2189
*.adsl.eunet.rs.



+73 Profil

icon Re: Digitalni potpis programa09.08.2009. u 15:40 - pre 179 meseci
Koji je tip programa? I sta ti znaci "razlicita binarna verzija"? Da li to ukljucuje registarciju?

Kod programa za mobilni moze da se napravi provera IMEI broja i da program radi samo na tom telefonu. Kod PC racunara se moze naci neka jedinstvena identifikacija, recimo hard disk ima jedinstven serijski broj. Ali nisam bas siguran da li ti je to ideja.

Pomozite Micro$oftu u borbi protiv piraterije, poklonite prijatelju Linux
 
Odgovor na temu

vlaiv
Vladimir Vlaisavljevic
Novi Sad

Član broj: 15993
Poruke: 352
212.200.249.*



+1 Profil

icon Re: Digitalni potpis programa10.08.2009. u 07:58 - pre 179 meseci
Ne mozes se osloniti na operativni sistem.

Digitalni potpis osim toga ne menja strukturu .exe fajla vec dodaje kriptovani checksum
kako bi se verifikovalo da kod sam po sebi nije menjan (i nosi u sebi informaciju o autoru i slicno, znaci
dokaz autenticnosti). Znaci to otpada za ovo sto tebi treba.

Ako sam dobro shvatio, tebi treba sledece:

Program koji se startuje sa tzv loader-om na pocetku i dekriptuje ostatak programa u ram a zatim ga
startuje kao proces.

Neki program koji ce da ti pravi razlicite verzije loader-a. Za ovo pogledaj na netu imas dosta primera
self modifying koda koji koriste virusi, oni promene redosled operacija (asm koda) ali da zadrzi istu funkcionalnost
kada se kopiraju.

Ovo ti ne daje 100% razlicitost paterna, uvek postoji minimalna duzina paterna koja ce se ponavljati, ali
u dovoljnom broju slucajeva ako je patern dovoljno mali, nacices ga i u ostalim .exe programima.

Isto tako postoji konacan broj kombinacija, znaci neces moci napraviti neogranicen broj kopija bez ponavljanja.

Ono na sta si ti mislio postoji u PHP-u (zato sto je skript jezik i ako nije kriptovan sav kod je dostupan), pogledaj Zend Optimizer na netu.


Za sam operativni sistem ako zelis podrsku, morao bi napisati neki loader koji se instalira poput drajvera. Najjednostavniji primer toga bi bio
program koji iz komandne linije dobija naziv fajla, dekodira ga, ucitava u ram i pokrece (kreira proces).

Instalacija takvog programa u sistem bi u sustini bila asocijacija sa novom ekstenzijom (kao sto radi java recimo), tako da se tim loader-om
otvaraju programi sa recimo .sexe ekstenzijom (secure exe).

EDIT:

Pogledaj sledeci link:

http://www.masm32.com/board/index.php?topic=3150.0

Daju kod za ucitavanje .exe i .dll koda u memoriju i zatim kreiranje procesa od toga (pokretanje).
 
Odgovor na temu

X Files
Vladimir Stefanovic
Pozarevac

SuperModerator
Član broj: 15100
Poruke: 4902
93.87.4.*

Jabber: xfiles@elitesecurity.org


+638 Profil

icon Re: Digitalni potpis programa10.08.2009. u 08:35 - pre 179 meseci
Mozes da razmislis i o "custom" Build-ovima, pri cemu ce se na primer funkcionalno isti delovi koda, tipa kopiranja stringa, realizovati uvek na nekoliko razlicitih nacina. To nece uticati znacajno na performanse. Naravno, interno sve to mora biti slozenije, pogotovo u delovima koda koji su kljucni.

Ta razlicitost buildovanja se moze postici predprocesorskim direktivama "ifdef", pri cemu je potrebno implementiranti nekako RAND mehanizam koji vraca uvek unapred nepoznat broj.

Ako se radi o ozbiljnijem projektu, namenjenom siroj populaciji, download bi trebao da se pokrene na zahtev (recimo putem sajta), cime se u pozadini na serveru pokrece buildovanje (ovo moze nekim servisom ili bilo kojom drugom srodnom tehnologijom) i vraca link za preuzimanje programa.

Mislim da je korisnik "milanche" nesto radio na tu temu.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Digitalni potpis programa10.08.2009. u 10:28 - pre 179 meseci
Zašto je neophodno da bildovi budu baš 100% različiti?
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
77.46.216.*



+2790 Profil

icon Re: Digitalni potpis programa13.08.2009. u 03:14 - pre 178 meseci
Korisnik mog programa bi trebao da unese lozinku za otključavanje podataka, ali pošto on ne može da pamti predugačke lozinke, lozinka bi bila pohranjena u fajlu. Međutim, onda se treba obezbediti da spyware ne provali lozinku iz fajla.

Program ne bi pamtio putanju do fajla sa lozinkom, već bi je korisnik svaki put zadavao pomoću open dijaloga. Ime, dužina i ekstenzija fajla bi bili nasumični. No, šta ako spyware špijunira moj program da bi video koje on fajlove otvara. Poenta je da različiti primerci mog programa budu 100% različiti, odnosno da nemaju nikakav zajednički pattern po kome bi spyware mogao da ga prepozna. Ime programa, njegovo mesto u Program Files folderu i ikona bi opet bili uvek različiti. Samo još binarna verzija programa i to je to.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Digitalni potpis programa13.08.2009. u 09:07 - pre 178 meseci
GUI bi morao da bude isti. Šta ćeš ako taj super-spyware prosto enumeriše prozore, i elemente prozora, kao Spy++? Onda će znati koji je proces, iz koga će zaključiti koji je exe.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
195.222.97.*



+2790 Profil

icon Re: Digitalni potpis programa13.08.2009. u 09:48 - pre 178 meseci
command line sa tekstualnim open dijalogom?
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

Mihajlo Cvetanović
Beograd

Moderator
Član broj: 37636
Poruke: 1249



+96 Profil

icon Re: Digitalni potpis programa13.08.2009. u 10:24 - pre 178 meseci
Konzolni program i dalje ima naslov, a verovatno i sadržaj ekrana može da se skine. Ne znam šta je tekstualni open dijalog, ali ako je prozor onda je prozor :-). Imam utisak da ga mnogo komplikuješ, a ako se neko namerači hakovaće ti program koliko god se ti trudio.
 
Odgovor na temu

Shadowed
Vojvodina

Član broj: 649
Poruke: 12851



+4784 Profil

icon Re: Digitalni potpis programa13.08.2009. u 15:39 - pre 178 meseci
Taj neki zlonamerni program moze sadrzati keylogger i uhvatiti password prilikom upisivanja ma kakav god tvoj program bio i kako god cuvao password.
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
195.222.97.*



+2790 Profil

icon Re: Digitalni potpis programa13.08.2009. u 20:25 - pre 178 meseci
Shadowed,

fazon je da spyware ne zna koji program treba da špijunira, a ono što korisnik zaista unosi je putanja do fajla sa ključem (to se ne pamti).
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Digitalni potpis programa13.08.2009. u 22:45 - pre 178 meseci
Ako ocekujes da neko napravi specificni spyware za tvoj program onda ce i znati da je ukucani path do fajla fajl sa loznikom. Sto se tice paterna, tvoj program pre ili kasnije mora preci iz kriptovanog u native code format i tad ce imati isti patern svuda i bice prepoznatljiv, spyware programi koji targetuju druge specificne programe ili rade preko imena procesa (basic) ili preko prepoznavanja odredjenog memorijskog bloka unutar adresnog prodstora aplikacije ili kombinovano. Nije da omalovazavam tvoj program, al zasto mislis da ce neko sa dovoljno hard core crackerskim skliom pisati spyware za bas tvoj program? Ili razglabamo teorijski?
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

Nedeljko
Nedeljko Stefanović

Član broj: 314
Poruke: 8632
93.86.157.*



+2790 Profil

icon Re: Digitalni potpis programa13.08.2009. u 23:18 - pre 178 meseci
Pa, ako moj program bude koristio veliki broj ljudi...

Poenta je da spyware ne zna koji program da špijunira. Postoji mnogo programa kojima se zadaju neki fajlovi da rade nešto sa njima.

Možda je ipak najbolje predvideti takav program za Linux live CD, pa se onda zna da nema nikakvog spyware-a.
Nije bitno koji su zaključci izvučeni, već kako se do njih došlo.
 
Odgovor na temu

mmix
Miljan Mitrović
Profesorkin muz
Passau, Deutschland

SuperModerator
Član broj: 17944
Poruke: 6042



+4631 Profil

icon Re: Digitalni potpis programa14.08.2009. u 08:27 - pre 178 meseci
Citat:
Nedeljko: Pa, ako moj program bude koristio veliki broj ljudi...
Možda je ipak najbolje predvideti takav program za Linux live CD.


Ove dve recenice su u suprotnosti al odosmo u advocacy.


realno nemas nacin da ovo sprecis nikako, NAROCITO ako te neko direktno targetuje, ako uspes da otkrijes kako da zastitis svoj proces od spyware-a bices veoma bogat covek jer bi se taj mehanizam mogao iskoristiti za bullet-proof DRM. A posto takav ne postoji...
Sloba je za 12 godina promenio antropološki kod srpskog naroda. On je od jednog naroda koji je bio veseo, pomalo površan, od jednog naroda koji je bio znatiželjan, koji je voleo da vidi, da putuje, da upozna,
od naroda koji je bio kosmopolitski napravio narod koji je namršten, mrzovoljan, sumnjicav, zaplašen, narod koji se stalno nešto žali, kome je stalno neko kriv… - Z.Đinđić
 
Odgovor na temu

[es] :: Art of Programming :: Digitalni potpis programa

[ Pregleda: 2838 | Odgovora: 13 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.