Inginerie inversă ( inginerie inversă, inginerie inversă , inginerie inversă ; inginerie inversă în engleză ) este studiul unui dispozitiv sau program finit, precum și documentația pentru acesta pentru a înțelege principiul funcționării acestuia; de exemplu, pentru a descoperi funcții nedocumentate (inclusiv marcaje software ), pentru a face o modificare sau pentru a reproduce un dispozitiv, program sau alt obiect cu funcționalitate similară, dar fără copiere directă.
De obicei, este folosit dacă creatorul obiectului original nu a furnizat informații despre structura și metoda de creare (producție) a obiectului. Deținătorii de drepturi de autor ai unor astfel de obiecte pot pretinde că ingineria inversă sau utilizarea rezultatelor acesteia încalcă dreptul lor exclusiv conform legii dreptului de autor și brevetelor [ 1] [2] .
În 2016, la o reuniune a Comisiei guvernamentale pentru înlocuirea importurilor, ministrul industriei și comerțului al Federației Ruse, D.V. Manturov , a anunțat intenția de a crea un centru de inginerie inversă pe baza Fondului de dezvoltare a industriei [3] .
Copierea diferitelor mecanisme și mașini fără dezvoltare reală. Vă permite să reproduceți un design de succes la costuri minime, dar există cazuri de copiere și mașini nereușite.
Exemple:
Ingineria inversă a dispozitivelor electronice a apărut în zorii ingineriei radio. În anii 1920 și 1930, diverse companii au copiat tuburi radio și soluții de circuite pentru a le utiliza unele de la altele . Cu inginerie inversă, și nu cu producția licențiată, tuburile radio cu același scop ale aproape tuturor producătorilor s-au dovedit a fi unificate și interschimbabile. De exemplu, lampa europeană EL95 este o clonă a lămpii americane 6KA5 anterioare. Există și exemple inverse: americanul 6CA5 și KT88 sunt clone ale lămpii europene EL34 . Același lucru este valabil și pentru tuburile radio sovietice, dintre care multe sunt clone de tuburi americane obținute prin Lend-Lease (de exemplu, 6Zh4, 6P9) sau tuburi germane din echipamente capturate (6G2, GU50). Împreună cu lămpile, au fost copiate și scheme tipice pentru includerea lor, adică, de fapt, diagrame ale blocurilor de echipamente radio. Prin urmare, datorită ingineriei inverse, era lămpii a fost caracterizată, de fapt, prin trecerea la designul standard în electronică. În special, toate receptoarele superheterodine de uz casnic produse în lume au fost construite de fapt după trei scheme, care au fost determinate de lampa unității de amestec heterodin: triodă dublă , triodă heptodă sau pentagridă . Același lucru a fost valabil și pentru amplificatoarele de joasă frecvență. Nu au existat mai mult de o duzină de scheme tipice pentru construcția lor, în funcție de puterea de ieșire: un singur ciclu de putere redusă pe o lampă combinată de tip 6F3P, un singur ciclu de putere redusă cu un bloc de timbru pe o triodă dublă (tip 6N1P) și un pentod de ieșire (6P14P, EL84) sau un tetrod fascicul (6P3S, EL34), push-pull cu un invertor de fază triodă (6N1P + 2x6P14P), push-pull multietajat (6N8P + 2x6P6S + GU50). Televizoarele alb-negru în anii 1960 și 1970 au fost construite de fapt în două scheme: una pentru dispozitive foarte simple, cu dimensiuni mici ale ecranului, fără scanare orizontală APCG și APCHIF (similar cu televizoarele sovietice UNT-35), a doua schemă era destinată dispozitive pe kinescoape cu un unghi de deviere a fasciculului de 110°, APCG, APCHiF (Sovietic UNT-59, majoritatea televizoarelor europene) .
Cercetarea și ingineria inversă a programelor sunt de obicei efectuate în scopul modificării ulterioare, copierii sau, de exemplu, scrierii generatoarelor de chei , algoritmul cărora este obținut pe baza analizei algoritmului pentru verificarea acestora. De asemenea, cercetarea programului este folosită pentru a obține unele informații confidențiale despre structura internă a programului - despre protocolul de schimb de rețea cu serverul, hardware-ul, cheia de securitate sau interacțiunea cu alt program. Un alt domeniu de aplicare este obținerea de informații despre modalitățile de export de date din numeroase formate de fișiere proprietare [5] .
Odată cu dezvoltarea Internetului , sistemele de operare și programele populare sunt din ce în ce mai investigate pentru a găsi vulnerabilități în ele , sau așa-numitele. „găuri”. În viitor, găurile găsite pot fi folosite pentru a obține acces neautorizat la un computer de la distanță sau la o rețea de calculatoare. Pe de altă parte, ingineria inversă este utilizată atunci când companiile de antivirus investighează programele malware pentru a adăuga semnăturile acestuia în bazele de date de produse.
Un exemplu binecunoscut de inginerie inversă este cercetarea BIOS-ului computerului personal IBM , care a reprezentat un pas major către dezvoltarea producției terțe de computere compatibile cu IBM. [6] [7] Crearea serverului Samba [8] [9] (inclus cu sistemul de operare GNU/Linux și care lucrează cu servere bazate pe Windows ) a necesitat, de asemenea, ingineria inversă a protocolului SMB al Microsoft . Crearea multor clienți ICQ a necesitat și inginerie inversă a protocolului ICQ .
Dezvoltarea software inversă se realizează folosind următoarele tehnici.
În prezent, cuvintele „inginerie inversă” sunt cel mai adesea înțelese ca așa-numitele. inginerie inversă a camerei curate , adică un proces în care un grup de dezvoltatori analizează codul mașină al unui program , compilează un algoritm pentru un anumit program în pseudocod sau, dacă programul este un driver de dispozitiv , compilează specificații exhaustive pentru dispozitiv de interes. După primirea specificațiilor, un alt grup de dezvoltatori își scrie propriul driver pe baza specificațiilor sau algoritmilor primiți . Această abordare vă permite să evitați acuzațiile de încălcare a drepturilor de autor asupra programului sursă, deoarece conform legilor, de exemplu în SUA , se încadrează în conceptul de „ utilizare corectă ”, adică utilizarea corectă a programului original. Rezultatul ingineriei inverse este rareori identic cu cel original, ceea ce evită răspunderea legală, mai ales dacă prima echipă de dezvoltatori controlează absența acestei identități și absența încălcării mărcilor comerciale și a brevetului.
Baze de datePoate fi folosit la crearea unui model de bază de date relațională .
Inginerie inversă a produsului unui concurent pentru a-i afla dispozitivul, principiul de funcționare și a evalua posibilitățile de creare a unui analog.
De exemplu, un număr de producători de echipamente fotografice, precum Sigma , Tamron , Tokina și Carl Zeiss , produc obiective cu montură de tip Canon EF . Acestea sunt proiectate invers și producătorii lor nu au acces la specificațiile Canon. .
cu cel mai mult faptele cunoscute de inginerie inversă au fost:
Dicționare și enciclopedii | |
---|---|
În cataloagele bibliografice |
|