Ingenieria inversa
L'ingenieria inversa o retroingeniería és el procés portat a terme en l'objectiu d'obtindre informació o un disseny a partir d'un producte, en la finalitat de determinar quins són els seus components i de quina manera interactuen entre sí i quin va ser el procés de fabricació.
Actualment (principis del XXI), els productes més comunament somesos a ingenieria inversa són els programes de computadores i els components electrònics, pero realment qualsevol producte pot ser objecte d'un anàlisis d'Ingenieria Inversa. En l'informàtica, especialment en l'àrea de producció de software, l'objectiu de l'ingenieria inversa consistix en reconstruir un programa ya existent per a analisar, entendre i replicar el còdic font de, per eixemple, una aplicació web.[1]
El método es denomina aixina perque alvança en direcció oposta a les tasques habituals d'ingenieria, que consistixen en utilisar senyes tècniques per a elaborar un producte determinat. En general, si el producte o un atre material que va ser somés a l'ingenieria inversa va ser obtingut en forma apropiada, llavors el procés és llegítim i llegal. De la mateixa forma, poden fabricar-se i distribuir-se, llegalment, els productes genèrics creats a partir de l'informació obtinguda de l'ingenieria inversa, com és el cas d'alguns proyectes de software lliure.
El programa Samba és un clar eixemple d'ingenieria inversa, ya que permet a sistemes operatius UNIX compartir archius en sistemes Microsoft Windows. El proyecte Samba va tindre que investigar informació confidencial (no lliberada al públic en general per Microsoft) sobre els aspectes tècnics relacionats en el sistema d'archius Windows. Lo mateixa realisa el proyecte WINE per al conjunt d'API de Windows i OpenOffice. org en els formats propis de Microsoft Office. L'ingenieria inversa també s'ha aplicat per a entendre l'estructura del sistema d'archius NTFS i aixina poder desenrollar drivers per a la llectura-escritura sobre el mateix (principalment per a sistemes basats en GNU/Linux).
L'ingenieria inversa és un método de resolució. Aplicar ingenieria inversa a alguna cosa supon profundisar en l'estudi del seu funcionament, fins al punt de que es puga aplegar a entendre, modificar i millorar dit modo de funcionament.
Pero este terme no solament s'aplica al software, sino que també es considera ingenieria inversa l'estudi de tot tipo d'elements (per eixemple, equips electrònics, microcontroladors, o objecte fabril de qualsevol classe). Es pot dir, més be, que l'ingenieria inversa antecedix al naiximent del software, tractant-se d'una possibilitat a disposició de les empreses per a la producció de bens per mig de copiat des del mateix sorgiment de l'ingenieria.
En el cas concret del software, es coneix per ingenieria inversa a l'activitat que s'ocupa de descobrir cóm funciona un programa, funció o característica del còdic de la qual font no es dispon, fins al punt de poder modificar eixe còdic o generar còdic propi que complixca les mateixes funcions. La gran majoria del software de pagament inclou en la seua llicència una prohibició expressa d'aplicar ingenieria inversa al seu còdic, en l'intent d'evitar que es puga modificar el seu còdic i que aixina els usuaris tinguen que pagar si volen usar-ho.
En l'àmbit de la seguritat informàtica, l'ingenieria inversa s'ampra principalment per a l'anàlisis de malware i per a la detecció de vulnerabilitats en software. Per mig de la deconstrucció de programes maliciosos, els analistes poden determinar el seu funcionament intern, els seus mecanismes d'evasió i els seus canals de comunicació en servidors de mando i control, lo que permet desenrollar contramedidas com a firmes d'antivirus i pegats de seguritat. Aixina mateix, l'examen d'aplicacions a nivell de còdic binari possibilita identificar fallos, com a credencials incrustades, desbordament de búfer o implementacions criptogràfiques deficients.[2]
L'ingenieria inversa naix en el transcurs de la Segona Guerra Mundial, quan els eixèrcits enemics expropiaven insumos de guerra com a avions o una atra maquinària de guerra per a millorar les seues per mig d'un exhaustiu anàlisis.
La següent figura mostra els processos que seguix l'ingenieria directa; si se seguix eixe camí cap a "arrere" (o de manera inversa), es fa ingenieria inversa, si es continua en el camí i es plantegen canvis (o millores), per la dreta, eixe camí du a una reingeniería, i si no s'altera el contingut dels models obtinguts durant els processos de l'ingenieria inversa i se seguix el camí de l'esquerra, això es diu desenrollar una còpia.

Debat Apple - Samsung
Les empreses Apple i Samsung han tingut un debat durant anys en el que Apple ha acusat a Samsung de copiar en ingenieria inversa tant l'iPhone com l'iPad. Apple va denunciar al seu rival surcoreà Samsung Electronics per copiar l'aspecte, el disseny de producte i l'interfaç dels seus dispositius iPhone i iPad, lo que supon segons la companyia una infracció de les paleses i marques registrades per Apple. L'acusació es va presentar el 15 d'abril de 2013 en els tribunals del districte nort de Califòrnia davant lo que Apple considera una violació de la seua propietat intelectual. "Esta classe de còpia descarada està mal", va indicar en un comunicat la portaveu Kristin Huguet. Apple considera que Samsung va amprar els alvanços presentats per Apple en els seus teléfons inteligents 'Galaxy S 4G', 'Epic 4G' i 'Nexus S', aixina com en la seua tableta 'Galaxy Tab', una de les majors competidores de l'iPad.
En el document presentat per Apple davant la Cort, l'empresa de Cupertino (Califòrnia) assegura que "en lloc d'innovar i desenrollar la seua pròpia tecnologia i un estil únic de Samsung per als seus teléfons inteligents i tabletas, Samsung va elegir copiar la tecnologia d'Apple, l'interfaç i l'estil innovador".
Este juí complica encara més les relacions entre abdós companyies, rivals en el sector de les comunicacions pero en interessos comuns, ya que Samsung fabrica els microchips que Apple ampra en els seus productes.[3]
Beneficis de l'ingenieria inversa
L'aplicació d'ingenieria inversa mai canvia la funcionalitat del producte objecte de l'aplicació sino que permet obtindre productes que indiquen cóm s'ha construït el mateix. La seua realisació permet obtindre els següents beneficis:
- Reduir la complexitat del sistema: en intentar comprendre el sistema es facilita el seu manteniment, i la complexitat existent disminuïx.
- Generar diferents alternatives: del punt de partida del procés, principalment del còdic font, es generen representacions gràfiques, lo que facilita la seua comprensió.
- Recuperar i/o actualisar l'informació perduda (canvis que no es varen documentar en el seu moment): en l'evolució del sistema es realisen canvis que no se solen actualisar en les representacions de nivell d'abstracció més alt, per ad açò s'utilisa la recuperació de disseny.
- Detectar efectes laterals: els canvis que es puguen realisar en un sistema poden conduir a que sorgixquen efectes no desijats; esta série d'anomalies poden ser detectades per l'ingenieria inversa.
- Facilitar la reutilisació: per mig de l'ingenieria inversa es poden detectar components de possible reutilisació de sistemes existents, podent aumentar la productivitat i reduir els costs i els riscs de manteniment.
Referències
- ↑ «L'ingenieria inversa de software» (en es). IONOS Digital Guide. Consultat el 2022-08-31.
- ↑ «What is reverse engineering?» (en en-us). Consultat el 2026-02-12.
- ↑ Internet, Unitat Editorial. «Apple demanda a Samsung per copiar l'iPhone i el iPad | Navegant | elmundo. és». www. elmundo. es. Consultat el 5 de novembre de 2018.
- Este artícul conté una traducció derivada de «Ingeniería inversa» de Wikipedia en castellà publicada baix la Llicència de documentació lliure de GNU i la Llicència Creative Commons Reconeiximent-CompartirIgual 4.0 Internacional.