La revedere, keygen proteja software-ul de generatoare de chei

ofensator liric

întrebare de protecție cu privire la interesul meu pentru o lungă perioadă de timp. Am analizat o mulțime de informații, și, în opinia mea, noua metodă propusă de mai jos. Cel puțin, asta nu am găsit informația. Prin urmare, prin aplicarea de brevet, nu sunt prea surprins când am primit o decizie pozitivă. Astfel, metoda descrisă mai jos brevetate de protecție (în combinație cu câteva soluții utile, pe care le voi spune data viitoare, apoi, dacă doriți). Cu toate acestea, brevete sunt în prezent emise pe orice (expresie des folosită într-un motor de căutare: „Un brevet pentru o mașină de mișcare perpetuă“ - a rade), discuție animată atât de bun venit despre noutatea, utilitatea și eficiența metodei propuse de protecție împotriva keygens.

Cum se rupe programul

Metode de rupere de protecție software mă știi deja (subliniez că vom vorbi despre software-ul de securitate, ca orice simplu codificator HASP muritor cu programul său de „ouă“ nu este foarte accesibil). Și dacă nu știți, într-un cuvânt: cod binar patchatsya sau crack scrie. Există și alte metode de hacking, am sunat voi doi de bază, familiare pentru noi toți în practică. Simt că aceste două metode sunt fundamental diferite? Fiecare dintre ele separat, poate conduce la rezultatul dorit - utilizarea neautorizată a „ouă“ tale.

Prin urmare, protecția trebuie să fie format din cel puțin două componente mai mult sau mai puțin independente (cunoscători, este un model de protecție de bază cu două link-uri).

Prima componentă este responsabil pentru integritatea programului (sau sistemul de protecție numai - pentru că nu se poate verifica integritatea întregului program, ci doar un mecanism de apărare). Am vrut să numească această protecție fizică componente. Acesta poate fi implementat în diferite moduri: de exemplu, este posibil să se efectueze un control preventiv, de restricționare orice intrare în exe-fișier. Nu puteți permite utilizarea fișierelor modificate. schimbare adică să varieze, dar în orice caz, nu folosiți. Ultima opțiune mi sa părut mai potrivită, și eu și zababahat în brevetul său, ca parte a unei metode de protejare a software-ului împotriva utilizării neautorizate. Dar ceva ce digresiune, astăzi obiectivul nostru - lupta împotriva keygens!

Deci, al doilea link - protecție logică. Această protecție împotriva replicarea unei copii achiziționate în mod legal pe mai multe mașini diferite. Cum poate fi făcut? Puteți încerca să solicite datele personale ale utilizatorului, trimite-le la furnizor de software de server, bazat pe ele pentru a calcula un număr de serie extern, și să se întoarcă înapoi. Noastră pe baza de intrare de la numele de utilizator programul calculează numărul serial intern și o compară cu numărul extern introdus de utilizator (care este necesar să se obțină de la furnizor). Astfel, cum ar fi, totul este în regulă: înregistrările utilizatorului sunt menținute, iar programul nu este replicat.


circuit de protecție împotriva replicarea datelor de utilizator prin intermediul

Cu toate acestea, această abordare nu deține apă: pirații pot cumpăra o copie a programului și să continue să-l reproducă cu indicarea unui nume fictiv, care trebuie să fie introduse în timpul înregistrării. Și te superi, nici măcar nu trebuie să rupă nimic!

Dar această metodă de distribuție ilegale, desigur, aproape nu a folosit niciodată - este nedemn într-un moment în care există mii de hackeri foame pentru faimă și recunoaștere în lume. Ei stau jos pentru supercalculatoare lor, și într-un timp scurt, afla cum pe baza cuvântului „Doe“ este calculat teribil numărul de serie 111. Apoi scrie fisura. care lucrează pe algoritm, și că utilizatorul nu va trebui să introduceți câteva date fictive acolo, da-te rodnenky si crapa. în locul furnizorului, face o serie extern.

Ce este protecția fizică preventivă?

În scopuri educaționale Foc de dumneavoastră preferat AntiVir și să încerce să schimbe în mod pașnic orice executabil de bază, chiar și deschiderea notebook-ul său. Totul a mers fără probleme și în liniște. Care încă nu cred, lasă-l să scrie un program care modifică orice program executabil, și startanet acestuia. Munca. Pe scurt, nu prinde antivirusyagi populare astfel de acțiuni. Și pentru un motiv bun.
Astfel, controlul preventiv - este modificarea interdicție la fișierele executabile (deoarece acestea nu ar trebui să nu fie schimbate).

Cum să se ocupe: modul în care numărul unu

Ei bine, să se gândească la modul în care puteți scăpa de cea mai simplă metodă de propagare a unei copii cumpărate în mod legal de „ouă“ dumneavoastră. O astfel de extindere este posibilă, pentru că vom calcula numărul de serie, pe baza datelor de utilizator, și este, desigur, poate indica date arbitrare, care este de a ne induce în eroare. Deci, este logic să se solicite date personale de la calculator. Ele sunt ceva utilizatorul nu va fi capabil să fals!

Astfel, software-ul de protecție a circuitului de replicare modificat este foarte simplu (vezi diagrama). Acum distribui o copie prostește cu datele personale fictive nu va reuși. Am implementat o leaga foarte popular pentru hardware-ul PC-ul, vă sugerez să facă mai mult și firmware. Metoda eficientă. Într-adevăr, nu este același om de atacator pentru a distribui o copie legal achiziționat împreună cu procesorul și toate intestinele, care a fost cumpărat această copie? 😀


Schema de protecție împotriva software-ului de replicare cu referire la hardware-ul PC-ului

Dar ceva nu este încă fericit. Dintr-o replicare simplu, ne-am apărat. Dar hackeri ... ei tren și va continua să scrie generatoare urât lui. din cauza care vânzarea de „ouă“, cad prin podea. Ce să fac?

principiu generator de scris

Să ne gândim ca un hacker a scris un generator. Pe baza informațiilor ce a făcut-o? Pentru că el trebuie să știe cum să calculeze furnizorului extern al numărului de serie?

Ne uităm cu atenție la circuit. Pentru a compara cu un serial extern? Asta-i drept, cu seriynikom interior. Și pe ce algoritm calculat numărul de serie intern? Pe un algoritm pur confidențial, care este programul cel mai distribuit. Durabilitatea o astfel de protecție se bazează pe secretul algoritmului pe care, în general, nu este foarte bun. Reamintim că trebuie să depună eforturi pentru această metodă de protecție, în care rezistența sa se bazează pe o cheie de confidențialitate - stima Kirchhoff reguli pentru criptare.

Deci, să presupunem că de la un atacator poate ascunde unele informații, sunt în copiile software-ului de partea lui (de exemplu, pe calculatorul lui), - naiv și chiar prost. Ascunde este posibil prin criptarea și să arunce cheia, dar în acest caz, datele vor sta în greutate moartă în program. Dacă este necesar să se programeze unele informații de a utiliza, este necesar să-și asume o șansă de 100% că aceste informații sunt disponibile nu numai programul nostru, dar, de asemenea, la hacker. Și nu depinde de ceea ce natura acestei informații: cod executabil și de date statice (cum ar fi o cheie). În consecință, odată ce algoritmul de seriynika interne să fie utilizate de către programul nostru, veți obține acces la ea și poate mazahaker.
Cât de greu va fi - aceasta este a doua întrebare, dar nu te flata. Chiar dacă sunt de 100 de ori algoritm zashifruesh pentru crearea seriynika interne, hacker doar vă rugăm să :-D. El, știi, într-o grabă pentru a deschide următoarea apărare, doar același tip prin intermediul și cu o conștiință curată să predea în scris pe studiul generatorului de algoritmi pe orice forum kryakersky. Alte evoluții cunoscute hacker merge să bea bere și biscuiți sunt o tona de verdeață, cu vânzări de software ilegal.

Cum să se ocupe: o modalitate de numărul doi

Ei bine, în general, există cineva care devine - nu e treaba noastră cu tine. Treaba noastra - pentru a opri toate acțiunile josnice ale scrisului generatorului. Pentru aceasta avem nevoie pentru a obține într-un fel scăpa de algoritmul de calcul numerele de serie interne. După unele gândire, am decis să utilizeze un algoritm criptografic cu o dovadă de cunoștințe zero. În acest caz, o copie a software-ului acționează ca un referent și furnizor de software - ca proving. Aceasta este, furnizorul (prin agent de intermediar - software-ul de utilizator, care, în principiu, lipsit de importanță) trebuie să prezinte o copie a software-ului, acesta are dreptul de a rula pe acest PC. Acum, în mod specific.


Schema de protecție propus, fără a dubla seriynika interne

O copie a software-ului de mediu colectează informații de identificare în care va funcționa, și le trimite la serverul de licență vânzătorului. Furnizor folosind cheia secretă generează o semnătură digitală a datelor de identificare primite și le trimite înapoi. O copie a software-ului cu ajutorul furnizorului de chei publice verifică conformitatea cu datele de identificare semnătura digitală a software-ului și hardware-ul de mediu.

În cazul în care verificarea semnăturii este de succes, programul începe funcționarea sa normală, se termină în alt mod. În practică, aceste controale ar trebui efectuate, desigur, nu o dată, ci în mod regulat, de exemplu, de fiecare dată când executați software-ul.

Care este avantajul acestei abordări? Iar faptul că acum există un algoritm secret, care este încorporat în software-ul în sine accesibil hacker. O copie a software-ului are nevoie doar pentru a verifica dacă datele de identificare a semnăturii digitale și computerul utilizatorului. Și acest lucru se face, la fel ca orice sistem de autentificare, folosind un furnizor cheie publică de algoritm bine-cunoscut. Bazat pe o cheie furnizor deschis pentru a crea o semnătură digitală nu poate, desigur, dacă este cazul dovada algoritm de semnătură digitală. semnătura altcuiva nu poate lua, deoarece aceasta depinde de caracteristicile PC-ului. Iată o ambuscadă, nu? 🙂

Un pic despre beneficiile formalizare

Pot să vă spun că un astfel de sistem de control poate încă hack, schimbarea codului de protecție binar (schimbare de comandă de asamblare condiționată banal logic opus). Dar aceasta este o metodă fundamental diferită de hacking!

Aici și a fost prins! Esența mi-a propus o metodă generală pentru crearea unui software de securitate formalizat (pentru orice scop) este de a împărți sistemul de protecție în două părți, dintre care prima - protecție fizică împotriva modificărilor de cod (Uită-te în „Cum să rupă aplicația“). Aceasta este funcția sa - pentru a proteja împotriva modificărilor în codul binar al software-ului. Pe măsură ce va realiza această parte - este afacerea ta, dar trebuie să fie prezent în orice software de protecție.

Apărarea replicarea unui exemplare achiziționate în mod legal pe mai multe PC-uri diferite este clasa a doua - protecție logică. Ei trebuie să îndeplinească funcții specifice pentru care a fost în sine și a sistemului de protecție ridicat inițial. De exemplu, dacă vom crea o protecție împotriva distribuției ilegale de software, este necesar să se utilizeze această protecție logică a preveni instalarea (copiere) o copie achiziționate în mod legal pe mai multe PC-uri diferite. Și pentru integritatea apărării, deoarece va funcționa corect și în mod corespunzător, va fi responsabil de unitatea de protecție fizică.

Protecția fizică fără logică nu are nici un sens, deoarece monitorizează integritatea sistemului de protecție în sine, și nu efectuează nicio acțiune semnificativă pentru aplicarea sistemului de protecție. protecție logică fără fizică nu are nici un sens, din moment ce ei lomanut elementar folosind modificări de cod binar.

Astfel, metoda propusă de construire a unei protecții software formalizate. Două link-uri: logică și fizică. Acestea pot fi puse în aplicare în diferite moduri.


Modelul oferă o protecție integrată

Ca nu cumva ai fi crezut că o astfel de metodă de construcție de protecție a software-ului farfetched numai sistemelor de protecție împotriva pirateriei, aici este un alt exemplu. Aici am dezvoltat un sistem biometric de identificare software care monitorizează și controlează utilizatorul, indiferent dacă este vorba de o persoană care lucrează, sau înlocuit încă în spital (principalul lucru pe care, după îndepărtarea :-D date de referință). Acest sistem se bazează, de asemenea, pe o metodologie similară. protecția logică elimină datele și le compară cu standardul, care este, efectuează acțiunea pentru care sunt construirea unui sistem de protecție complet. Dar există mai mult pentru a veni! Nu trebuie să uităm că o persoană rea poate modifica sistemul de software
Identificarea prin modificarea ultimei înainte de a emite o declarație condițională verdict în ea. Odată cu această modificare, doar o singură instrucțiune de asamblare luni întregi de muncă merge în jos de scurgere. Așa că am greșit la o altă legătură de protecție fizică, iar acum cifra acolo pentru a schimba ceva atât de simplu, mai ușor de a angaja un dublu :-).

Ei bine, abordarea simplă. Două link-uri - protecția împotriva celor două amenințări, respectiv. Am o bună clasificare a amenințărilor, mult :-). Vă recomandăm să viziteze alte clasificări ale software-ului amenințărilor oferite, de exemplu, Microsoft. Pentru a face acest lucru, uita-te în Dread pe internet și / sau STRIDE. Uite, cât de multe amenințări luate în considerare. Și dacă acesta contribuie la crearea intr-un fel de protecție (care este scopul oricărei clasificări a amenințărilor) - până la tine.

Vreau doar să rețineți, de asemenea, că multe amenințări sunt de fapt amenințări și nu sunt foarte. În opinia mea. De exemplu, un software de cercetare amenințare folosind un disassembler și debugger. Într-adevăr, cercetarea în sine nu poate duce la consecințe negative pentru software-ul. Ele pot provoca modificări fizice sau scrierea unui generator de cheie. care urmează studiul de cod. Astfel, este greu de spus dacă codul de anchetă, folosind o amenințare la adresa securității sale disassembler. acum cred că acest lucru nu este o amenințare directă, ci mai degrabă o condiție necesară pentru punerea în aplicare a unei amenințări directe - modificarea sau crearea a generatorului. din care trebuie să ne apărăm. Dar aș spune,
că acest lucru este din terminologia. În general, se bazează pe clasificarea corectă a amenințărilor construite oricărui sistem de protecție, inclusiv software-ul împotriva utilizării neautorizate. Am avut cele două amenințări, după cum vă proiectați propria lor clasificare. Și punerea în aplicare a Shura, să introducă.

Pe scurt, Sklifosovsky!

Să ne amintim că scopul principal al articolului a fost de a examina modalitățile de combatere a efracției prin scrierea cheie generator. Din fericire, ne-am făcut față cu succes această sarcină. Toate comentariile, critici și întrebări au venit la mine in mail. Suntem încântați să răspundă.