#= Description #= Cette attaque consiste en la manipulation de code mobile pour exécuter des opérations malicieuses du côté client. En interceptant le trafic utilisé par la technique du "man-in-the-middle ", un utilisateur malicieux pourrait modifier le code mobile original avec des opérations arbitraires qui seront exécutées sur la machine du client son identité. Dans un autre scénario, le code mobile malicieux pourrait être accueilli dans un site Web douteux ou il pourrait être en permanence injecté sur un site Web vulnérable par une injection d'attaque. Cette attaque peut être exécutée par des applications Java ou C++ et affecte n'importe quel système d'exploitation. #= Exemples #= Le code suivant démontre comment cette attaque pourrait être exécutée en utilisant une applet Java. // here declarer a object URL with the path of the malicious class URL[] urlPath= new URL[]{new URL("file:subdir/")}; // here generate a object “loader” which is responsible to load a class in the URL path URLClassLoader classLoader = new URLClassLoader(urlPath); //here declare a object of a malicious class contained in “classLoader” Class loadedClass = Class.forName("loadMe", true, classLoader); Pour résoudre cette sortie, il est nécessaire d'utiliser un type de mécanisme d'intégrité pour assurer que le code mobile n'a pas été modifié. #= References #= * https://buildsecurityin.us-cert.gov/daisy/bsi/100/version/1/part/4/data/CLASP_ApplicationSecurityProcess.pdf?branch=main&language=default * http://cwe.mitre.org/data/definitions/494.html