SóProvas


ID
1952299
Banca
IADES
Órgão
PC-DF
Ano
2016
Provas
Disciplina
Segurança da Informação
Assuntos

Técnicas de ofuscação de código são úteis para proteger a implementação do código-fonte contra agentes mal-intencionados. Isso é especialmente importante quando, por exemplo, deseja-se dificultar o acesso ao código Javascript que é transmitido para o lado cliente de uma aplicação web ou quando se deseja proteger aplicações executadas por interpretadores chamados máquinas virtuais. Acerca dos conceitos relativos às técnicas de proteção do código fonte, assinale a alternativa correta.

Alternativas
Comentários
  • Gabarito D

    Ofuscação de Código

    Nome dado à tentativa deliberada de fazer um código de programação tornar-se difícil de entender por pessoas não-autorizadas. É também chamada de Ofuscamento de Código.

    Motivos para ofuscação de código

    A ofuscação de código pode ser realizada por diversos motivos:

    ocultar a finalidade do código (por exemplo, códigos maliciosos);

    impedir possíveis alterações (segurança pela obscuridade);

    impedir a violação de direitos reservados através da alteração e cópia;

    dificultar Engenharia Reversa;

    ou mesmo como um meio de diversão e desafio para oferecer a quem lê o código-fonte.

    Um exemplo de uso típico é a  ofuscação do código JavaScript: como os scripts da linguagem rodam no lado cliente, o usuário tem acesso ao código-fonte a ser executado. Desta forma, para evitar a cópia, o desenvolvedor opta por tentar "esconder" parte do código.

    A principal desvantagem da ofuscação de código é que ele não torna seu código completamente protegido, já que não há técnica impossível de ser quebrada com uma análise mais detalhada.

    Além disto, a ofuscação de um código, se não bem realizada, pode tornar a compilação ou execução de um programa mais demorada do que em um código simples, além de aumentar consideravelmente o seu tamanho. Além disto, software anti-vírus pode alertar sobre um determinado programa que utiliza código ofuscado.

     

    "Retroceder Nunca Render-se Jamais !"
    Força e Fé !
    Fortuna Audaces Sequitur !

  • GAb. D

     

    Embora na ofuscação de código não se gasta tempo de processamento com a transformação inversa em tempo de execução, obtemos um código muito maior que o original, repleto de instruções com funcionalidades nulas, gerando um aumento no tempo de execução, de memória e de espaço requerido no disco

  •  a) A questão fez referência a uma técnica chamada de Confusing Disassemblers – CD.

     

     b) A técnica de Code Obfuscation and Encryption – COE, se propõe a modificar o layout do programa, a lógica e os dados de forma que reorganize o código, tornando-o menos legível, mas mantendo a funcionalidade para o usuário final e assim a criptografia é aplicada após a compilação. Não se pode afirmar que é uma técnica pouco aplicada.

     

     c) A técnica de Eliminação de Informação Simbólica (Eliminating Symbolic Information – ESI) não elimina links simbólicos do software. Ela atua em: nome de classes, nome de membro de classes e a tabela de objetos instanciados. Estas informações podem ser extremamente úteis para quem disassemblar o código pois com base nelas é possível localizar pontos-chave do código.  

     

     d) Correto.

     

     e) Não realizam uma proteção completa de código e geralmente as técnicas de ofuscação devem ser associadas a outras para uma melhor proteção na tentativa de se enquadrar em uma proteção completa. Adicionalmente é importante citar que a criptografia de chaves elípticas é de chave assimétrica e no caso da técnica essa é relizada por meio de criptografia de chaves simétricas, pois, os códigos necessários para a decriptação ficam presente no próprio executável.

     

    Fonte: http://www.sawp.com.br/blog/?p=131

  • Essa letra D é relativa. Eu usava ofuscadores em aplicações Android e a aplicação ficava menor.

    "O objetivo da ofuscação é reduzir o tamanho do app encurtando os nomes das classes, dos métodos e dos campos dele"

    .

    https://developer.android.com/studio/build/shrink-code?hl=pt-br#obfuscate