Obfuscation CodeCom a crescente utilização de sites de e-commerce ou aplicativos para realizar o pagamento de contas totalmente integrados com redes bancárias se torna cada vez mais importante à integridade dos softwares utilizados. Usuários mal intencionados podem, através de uma análise profunda do aplicativo,  reconhecer o código fonte e manipula-lo a fim de retirar informações para benefício próprio. Assim sendo, técnicas de segurança, como a ofuscação de código podem dificultar esse trabalho e tornar o software mais confiável e seguro.

O método de ofuscação de código consiste em gerar ou alterar o código fonte de um programa de computador de tal forma que as funcionalidades da aplicação não sejam afetadas, mas que a leitura do código fonte seja prejudicada. Assim caso um usuário mal intencionado procure métodos de engenharia reversa, o resultado seja dificilmente interpretado aumentando a segurança contra fraudes.

Diversos são os métodos de ofuscação de código, dentre eles podemos citar dois principais:

  • Ofuscação da estrutura do código: este método consiste em impedir que usuários obtenham conhecimento da estrutura do programa na memória, como por exemplo, nome de variáveis, nome de métodos ou nome de campos. Este método consiste em alterar os nomes da estrutura do programa por código sem sentido, dificultando a interpretação do usuário.
  • Ofuscação preventiva: consiste em adicionar falsos dados no código fonte do programa, porém sem alterar suas funcionalidades, mas que dificulta a engenharia reversa do código.

Como podemos perceber diversas são as vantagens de segurança na ofuscação de código, mas então porque não aplicá-lo em todas as organizações?

Apesar de possuir grandes vantagens de segurança a ofuscação pode tornar a tarefa de solucionar os problemas na aplicação muito complexa elevando assim o seu custo de manutenção, o tempo de desenvolvimento da aplicação e consequentemente tornar a complexidade do programa extremamente alta.

Apesar de ser uma ótima técnica, a ofuscação pode ser utilizada em um contexto malicioso, especificamente para desenvolvedores de código malicioso onde se fazem uso da técnica para ofuscar códigos malignos. Assim, fazendo-se uso da técnica, em uma análise de código realizada por um especialista ou por uma ferramenta de análise o código não seja identificado e seu vírus permanece ativo em uma máquina.

Atualmente as empresas têm demonstrado grande preocupação frente ao desafio de manter seus sistemas seguros, porém todos os mecanismos de segurança podem ser revertidos, cabe assim uma avaliação dos riscos que uma invasão pode trazer para a organização. Além disso, como qualquer outro método de segurança, a ofuscação de código afeta diretamente no desempenho, seja ele no desenvolvimento da aplicação ou na execução da mesma.

Por João Luís Trentin
Revisão Thiarlei Macedo | Fonte Micreiros.com