Você está na página 1de 3

______________________________________________________________________

Engenharia Invertida
Chama-se Engenharia Invertida ao processo de descobrir os princípios tecnológico de
qualquer dispositivo, objecto ou sistema através de uma análise á sua estrutura, função e
operação. Normalmente é costume separar o projecto a estudar (ex., um dispositivo
mecânico, um componente electrónico, um programa de software) em partes e analisar o
funcionamento de cada uma separadamente para uma posterior manutenção ou para a
criação de um novo dispositivo ou programa com as mesmas funções mas sem copiar
nada do original.

A engenharia invertida tem as suas origens na análise de hardware para fins comerciais
ou militares. O propósito é conseguir deduzir as decisões tomadas no projecto de
produtos já com um mínimo ou nenhum conhecimento dos procedimentos envolvidos
na produção original. Estas técnicas estão actualmente a ser estudadas para serem
aplicadas em sistemas de software de património, não para fins de defesa ou industriais,
mas para substituir documentação incorrecta, incompleta ou mesmo inacessível.

Engenharia Invertida de dispositivos mecânicos

Assim que o projecto assistido por computador (CAD) começou a tornar-se mais
popular, a engenharia invertida começou a ser um método viável na criação de modelos
virtuais em 3D de objectos já existentes para serem usados em software como 3D CAD,
CAM e CAE. O processo de engenharia invertida envolve o processo de dimensionar
um objecto e recria-lo seguidamente como um modelo 3D. Um modelo físico pode ser
dimensionado através da tecnologia de scanner a tês dimensões como por exemplo
CMM, scanner a laser, “structured light digitizers” e tomografia computorizada. Os
dados medidos, normalmente representados como uma “point cloud” (nuvem de
pontos), são pobres em informação topológica, de forma a combater esse problema, são
normalmente processados e modelados num formato mais útil como uma “triangular-
faced mesh” (malha de face triangular), um conjunto de superfícies “NURBS” ou um
modelo CAD. Engenharia inversa também é usada pelas empresas como forma de
recriar geometrias, existentes no meio físico, num meio de desenvolvimento de produtos
digital de forma a criar um registo 3D dos seus próprios produtos ou mesmo para avaliar
os produtos das outras empresas. É usado para analisar, por exemplo, como um produto
funciona, o que faz, que componentes o constituem, o seu custo estimado e para
identificar uma possível violação da sua licença, etc.

______________________________________________________________________
______________________________________________________________________

Engenharia inversa de software

O termo engenharia inversa aplicado na área do software significa “coisas diferentes


para pessoas diferentes”, tema que incentivou Chikofsky e Cross a registar em papel as
suas pesquisas sobre os vários usos da eng. inversa e a definição de taxonomia. Nesse
documento eles referiram que engenharia inversa é o processo de análise de um produto
com finalidade de criar uma representação sua a um nível de abstracção mais elevado.
Também pode ser definido como andar para trás no ciclo do progresso. Neste padrão, o
que se obtêm de uma fase de implementação (em forma de código fonte) é engenharia
inversa logo na fase de análise. Uma inversão do tradicional padrão “waterfall”.
Engenharia inversa é apenas um processo de examinação: o sistema de software não é
alterado (isso seria re-projectar). Tecnologia de software “anti-tamper” (anti-
falsificação) é usada para desencorajar a engenharia inversa e o re-projecto de sistemas
de software proprietário e de software muito eficiente.
Na prática, emergem dois tipos diferentes de engenharia inversa. Num dos casos o
código fonte já está disponível para o software, mas existem aspectos do programa de
mais alto nível podem ser encontrados mal documentados ou inválidos. No outro caso o
código fonte não está disponível para o software e qualquer tentativa de encontrar um
código fonte substituto é considerada como sendo engenharia inversa. O segundo caso é
o mais conhecido ao nível do público. A engenharia inversa de software pode dar uso ao
“Cleanroom Software Engineering” (processo de desenvolvimento de software), esta é
uma técnica para evitar a infracção dos direitos de autor.

Outros propósitos da engenharia inversa são a auditoria de defesa, remoção da


protecção contra a cópia (“cracking”), enganar as restrições de acesso normalmente
presentes em “consumer electronics” (equipamentos electrónicos do dia a dia),
personificação de “embedded systems” (sistema computacional designado a realizar
uma das funções das poucas ás quais está especificado), reparações e ajustes dentro de
casa, capacitar componentes adicionais em hardware barato inválido (placas gráficas e
circuitos eléctricos), ou até por mera satisfação ou curiosidade.

Engenharia inversa de circuitos integrados/cartões electromagnéticos

Engenharia inversa é uma forma evasiva e destrutiva de analisar um cartão


electromagnético. Uma máquina separa as várias camadas do cartão e regista as suas
imagens com um microscópio eléctrico. Assim torna-se possível revelar todo o
hardware e software de um Cartão electromagnético. O principal problema desta
máquina é voltar a ordenar tudo no seu lugar e descobrir como tudo funciona.
Engenheiros tentaram esconder chaves e operações baralhando as posições de memória.
Em alguns casos até é possível adaptar uma sonda para ler voltagens enquanto o cartão
esta operacional. Engenheiros usam sensores para detectar e prevenir este ataque. É
difícil partir um cartão usado para pagamentos e o equipamento técnico só está
disponível para grandes produtores deste tipo de cartões. O lucro neste ramo é pequeno
devido a outros mecanismos de segurança como “shadow accounts”.

______________________________________________________________________
______________________________________________________________________

Engenharia inversa para aplicações militares

Engenharia inversa é normalmente usada pelos militares com o propósito de copiar as


tecnologias, os dispositivos ou informação das outras nações, obtidas pelas tropas no
campo de batalha ou durante operações secretas. Foi muito usada durante a Segunda
Guerra Mundial e durante a Guerra-fria.

Motivação

ƒ Interoperabilidade – É uma característica referente á habilidade de fazer com que


diversos sistemas ou organizações trabalhem juntos.
ƒ Documentação perdida – Recorre-se á eng. Inversa porque ás vezes existem
documentos ou dispositivos perdidos ou nunca escritos e a pessoa que os criou já
não está presente.
ƒ Análise de produtos – Estudar como o produto funciona, que componentes o
constituem, os seus custos, e identificar possíveis infracções na sua patente.
ƒ Update/correcção digital – Actualizar a uma versão digital de um produto.
ƒ Auditoria de defesa
ƒ Espionagem militar ou comercial - Tomar conhecimento das ultimas descobertas
de um inimigo ou outra entidade oponente roubando ou capturando um protótipo
e estuda-lo.
ƒ Remoção da protecção contra cópia
ƒ Criação de duplicações não aprovadas/licenciadas
ƒ Propósitos académicos
ƒ Curiosidade
ƒ Inteligência técnica competitiva – compreender o que um oponente está realmente
a fazer face ao o que ele diz que está a fazer.

______________________________________________________________________