Código polimórfico

Partilhar isto
" Voltar ao Índice do Glossário

Polymorphic code is a type of computador[1] code that constantly changes or mutates, posing a unique challenge for anti-virus software and intrusion detection systems. This code uses complex algorithms to alter itself, making it difficult for security[2] software to spot. Often employed by malicious programmers, they rewrite decryption engines to shield the encrypted code. Techniques like emulation in sandbox environments can potentially defeat this obfuscation. Metamorphic code, a related concept, adds another layer of complexity by executing without identifiable constant code blocks. An introductory example of polymorphic code is encryption via the XOR operator, where the encrypted code serves as a mutable payload. The decryption process involves changing encrypted code within defined markers. Other relevant concepts include alphanumeric shellcode, shellcode, obfuscated code, and oligomorphic code.

Definições de termos
1. computador. Um computador é um dispositivo sofisticado que manipula dados ou informações de acordo com um conjunto de instruções, conhecidas como programas. Por conceção, os computadores podem executar uma vasta gama de tarefas, desde simples cálculos aritméticos até ao processamento e análise de dados complexos. Os computadores evoluíram ao longo dos anos, desde as primitivas ferramentas de contagem, como o ábaco, até às modernas máquinas digitais. O coração de um computador é a sua unidade central de processamento (CPU), que inclui uma unidade lógica aritmética (ALU) para efetuar operações matemáticas e registos para armazenar dados. Os computadores também têm unidades de memória, como ROM e RAM, para armazenar informação. Outros componentes incluem dispositivos de entrada/saída (E/S) que permitem a interação com a máquina e circuitos integrados que melhoram a funcionalidade do computador. As principais inovações históricas, como a invenção do primeiro computador programável por Charles Babbage e o desenvolvimento do primeiro computador eletrónico digital automático, o Atanasoff-Berry Computer (ABC), contribuíram grandemente para a sua evolução. Atualmente, os computadores alimentam a Internet, ligando milhares de milhões de utilizadores em todo o mundo, e tornaram-se uma ferramenta essencial em quase todas as indústrias.
2. security. Security, as a term, originates from the Latin 'securus,' meaning free from worry. It is a concept that refers to the state of being protected from potential harm or threats. This protection can apply to a wide range of referents, including individuals, groups, institutions, or even ecosystems. Security is closely linked with the environment of the referent and can be influenced by different factors that can make it either beneficial or hostile. Various methods can be employed to ensure security, including protective and warning systems, diplomacy, and policy implementation. The effectiveness of these security measures can vary, and perceptions of security can differ widely. Important security concepts include access control, assurance, authorization, cipher, and countermeasures. The United Nations also plays a significant role in global security, focusing on areas like soil health and food security.

In computing, polymorphic code is code that uses a polymorphic engine to mutate while keeping the original algorithm intact - that is, the code changes itself every time it runs, but the função of the code (its semantics) stays the same. For example, the simple math expressions 3+1 and 6-2 both achieve the same result, yet run with different machine code in a CPU. This technique is sometimes used by computer viruses, shellcodes e computer worms to hide their presence.

Encryption is the most common method to hide code. With encryption, the main body of the code (also called its payload) is encrypted and will appear meaningless. For the code to function as before, a decryption function is added to the code. When the code is executed, this function reads the payload and decrypts it before executing it in turn.

Encryption alone is not polymorphism. To gain polymorphic behavior, the encryptor/decryptor pair is mutated with each copy of the code. This allows different versions of some code which all function the same.

" Voltar ao Índice do Glossário
pt_PT_ao90PT
Deslocar para o topo