I am the founder and CEO of Apriorit, a software development company that provides engineering services globally to tech companies.

vista Traseira do sexo feminino hacker de computador de codificação secretária no escritório criativos

getty

Hoje em dia, os criminosos cibernéticos estão armados com uma variedade impressionante de armas, a partir de malware simples a sofisticadas ferramentas de engenharia reversa. Desmontadores, descompiladores e outras ferramentas permitem aos hackers acessar e analisar o código fonte da aplicação. Com esta informação, os hackers podem abusar do seu software de várias formas: extraindo informações sensíveis, adicionando código malicioso e até mesmo clonando as suas aplicações.

um estudo recente da empresa de segurança Positive Technologies revelou que as aplicações populares de mobile banking são suscetíveis a ataques de hacking. As questões de cibersegurança mais comuns identificadas tiveram a ver com os nomes de classes e métodos sendo explicitamente escritos no código fonte, uma falta de proteção contra injeção de código e uma falta de ofuscação de código.A ofuscação de código, em particular, é uma prática promissora para garantir software. Se você está procurando maneiras de proteger seu software de intrusões, você pode querer começar por endurecer suas defesas através da ofuscação do Código.

como funciona a ofuscação do Código?

os métodos de ofuscação permitem-lhe endurecer o código de Aplicação, transformando-o para esconder valores implícitos e esconder a lógica. Estas medidas tornam mais difícil para um terceiro não autorizado para olhar sob o capô de seu software.

a maioria das técnicas de ofuscação transformam um dos seguintes aspectos do Código::

• Data: Make code elements look like something other than what they are

• Control flow: Make executable logic nondeterministic if the software is decompiled

• Layout structure: Format data, rename identifiers and remove code comments

Obfuscation tools work with source code, machine or binary code, and bytecode. Para determinar que tipo de código é melhor ofuscar, você precisa ter em mente as limitações de cada escolha.

ao ofuscar o código fonte, você pode enfrentar desafios na manipulação e depuração do código ofuscado. A ofuscação binária não é apenas mais complicada do que as outras duas opções, mas precisa ser aplicada a cada arquitetura do sistema.

na minha empresa, muitas vezes escolhemos bytecode ofuscação, como neste caso não temos que lidar com código fonte ou código de máquina. No entanto, quando começamos a transformar bytecode em código de máquina, é difícil manter todas as injeções de código obscurecidas completamente aleatórias.

para um dos nossos projectos recentes, a minha equipa utilizou o compilador LLVM, o que nos ajudou a garantir um elevado nível de protecção bytecode com pouco impacto no desempenho do software. Além do código de endurecimento, este compilador pode aleatoriamente colocar verificadores de licença de software que tornam quase impossível para hackers quebrar software. Como pode proteger o seu aplicativo com ofuscação de código?

embora ofuscação seja uma das práticas de codificação segura recomendadas pela OWASP, ainda não é muito popular entre muitos desenvolvedores. A principal razão para isso é que quando usado demais, a ofuscação de código pode prejudicar o desempenho do software.

mas se estamos falando de, digamos, um aplicativo de banco móvel, a importância de garantir dados de conta bancária de um usuário é alta o suficiente para justificar gastar tempo e esforço adicional em endurecimento de código equilibrado.

Se você deseja ocultar o código da forma mais eficaz, aqui estão algumas coisas a considerar:

• Antes de ofuscando o seu código, você deve decidir quais as partes do seu código pode ser ofuscado. Evite ofuscar o código crítico de desempenho. Além disso, certifique-se de que a ofuscação não afeta a funcionalidade do software de qualquer forma.

• preste atenção ao tamanho e desempenho do código ofuscado. Ao endurecer um grande pedaço de código, o tempo de execução pode aumentar até 1.000 vezes.

* adicionar predicados opacos ao código ofuscado para tornar impossível entender onde a execução do Código irá. Faça o grafo de fluxo de controle parecer uma execução de máquina de Estado ao invés de uma execução de código linear.

* para criar uma defesa em camadas, combine várias técnicas de transformação. Quanto mais técnicas ofuscantes usares, melhor será o teu código protegido.

quando devidamente implementado, a ofuscação de código é uma solução eficaz para proteger o seu software contra a análise não autorizada. Não é uma bala de prata, mas vai complicar significativamente as tentativas de explorar e comprometer o seu software.

Forbes Technology Council is an invitation-only community for world-class CIOs, CTOs and technology executives. Qualificar-me?Siga-me no Twitter ou no LinkedIn. Vê o meu site.

carga …

Deixe uma resposta

O seu endereço de email não será publicado.