Você está na página 1de 1

PHREAKING ~ Código móvel: campo público não-final

Descrição

Este ataque tem como objetivo manipular as variáveispúblicas não-finais utilizadas


em código móvel, injetando valores maliciosos sobre ela, principalmente em
aplicações Java e C + +.
Quando uma variável de membro público ou classe usado em código móvel não é
declarada como final, os seus valores podem ser maliciosamente manipulados por
qualquer função que tem acesso a ele, a fim de estender o código do aplicativo ou
adquirir informações críticas sobre o aplicativo.

Exemplos

Uma aplicação Java a partir de um determinado aplicativo é adquirida e subvertida


por um invasor. Em seguida, ele faz com que a vítima aceite e execute um Trojan ou
código malicioso que foi preparado para manipular o estado e o comportamento dos
objetos não-finais. Este código é instanciado e executado de forma contínua usando
o padrão JVM na máquina da vítima. Quando a vítima invoca o applet Java do
aplicativo original usando a mesma JVM, o processo malicioso pode ser misturado com
o applet do original, portanto, modifica valores de objetos não-finais e executado
sob as credenciais da vítima.
No exemplo a seguir, a classe "any_class" é declarada como final e variável
"SERVER_ADDR" não é:

public final class any_class extends class_Applet {


public URL server_addr;

}

Quando uma variável é declarada como final, seu valor não pode ser modificado.

Você também pode gostar