Você está na página 1de 1

PHREAKING ~ Código móvel: sequestro de objeto

Descrição

Este ataque consiste em uma técnica para criar objetos sem métodos de construtores,
aproveitando o clone () método de aplicações baseadas em Java.
Se uma determinada classe implementa método cloneable () declarado como público,
mas não tem um método construtor público nem é declarada como final, é possível
estendê-la para uma nova classe e criar objetos usando o método clone ().
O método clonable () certifica que o método clone () funciona corretamente. Um
objeto clonado tem os mesmos atributos (valores variáveis) do objeto original, mas
os objetos são independentes.

Exemplos

Neste exemplo, uma classe pública "bankaccount" implementa o método clonable (),
que declara: "Object clone (string AccountNumber)":

public class BankAccount implements Cloneable{


public Object clone(String accountnumber) throws
CloneNotSupportedException
{
Object returnMe = new BankAccount(account number);

}
}

Um atacante pode implementar uma classe pública maliciosa que estende a classe
BankAccount pai, como segue:

public class MaliciousBankAccount extends BankAccount implements


Cloneable{
public Object clone(String accountnumber) throws CloneNotSupportedException
{
Object returnMe = super.clone();

}
}

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. 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, então os clones atacante da turma, ele manipula os
valores de atributos e, em seguida, substitui o objeto original para o mal-
intencionado.

Você também pode gostar