dimanche 13 décembre 2009

Le code source Java en libre service!

Si vous pensez que votre code Java est toujours obfusqué (et bien obfusqué) et que de toutes les façons on y trouve jamais d'informations confidentielles, alors cette article n'est pas pour vous.
Sinon, vous trouverez peut être dans cet article quelques informations intéressantes.

Tout d'abord un bref rappel!


Le reverse engineering est une technique permettant de reconstituer le code source d'une application à partir de sa forme compilée telle que livrée à ses clients par un éditeur. La possession du code source permet de connaître le fonctionnement précis d'une application.


Une personne malveillante peut grâce à cette technique connaître les algorithmes utilisés par son concurrent et lui voler ses secrets. Outre les algorithmes, les identifiants de connexion à des ressources (bases de données, annuaires...) sont là aussi accessibles, d'où le risque de vol de mot de passe et d'accès frauduleux à des ressources protégées.


Face aux risques liés au reverse engineering quelles techniques permettent de cacher le code source d'une application ? L'une d'elles est l'obfuscation qui transforme le code source avant compilation de manière à le rendre illisible pour l'être humain.

L'aspect général du code source d'une application peut être obfusqué de la manière suivante:


  • renommage de tous les identifiants

  • suppression des commentaires

  • élagage des déclarations d'API non utilisées

  • suppression des règles de style (comme l'indentation)

  • cryptage des chaînes de caractères pour cacher leur valeur.


Démonstration par l'image au travers d'un exemple... à suivre (plus ou moins)!





Voici quelques obfuscateurs (c'est une liste non exhaustive):




Le décompilateur Mocha peut être téléchargé ICI.


Le décompilateur Java Sothink peut être téléchargé ICI.




A bientôt...

dimanche 6 décembre 2009

Transformer votre clef USB en bureau "mobile"!

L'objectif de cet article est de vous montrer comment transformer votre clef USB en bureau mobile. Mais qu'est-ce qu'un bureau mobile? C'est la possibilité d'installer sur votre clef USB vos applications préférées et ainsi de pouvoir les utiliser sur n'importe quel ordinateur.


Cette approche est dans le même esprit que le "cloud computing" dans la mesure où elle vous permet d'accèder à vos applicatifs préférés à tout moment (je sais la comparaison est cavalière et j'espère que les puristes me pardonneront ce raccourci). Tandis que le "cloud computing" met à votre disposition les applications sur internet (Word, Photoshop,...), votre clef USB, transformée en bureau mobile, vous permet également d'accèder à vos applicatifs préalablement installés sur votre clef.


La premier application qui vient à l'esprit est le Single Sign On, i.e. la possibilité de stocker vos associations dans un applicatif sécurisé par un mot de passe. Vous pouvez ainsi accèder à vos sites web favoris sans avoir à entrer l'URL, le nom de l'utilisateur et le mot de passe à chaque session. Parmi les nombreux applicatifs qui permettent cette fonctionnalité on trouve Roboform et Keypass. Dans notre vidéo nous décrivons l'installation et l'utilisation de Roboform.


Mais il existe de nombreux autres applicatifs disponibles dans des domaines très variés. Certains de ces applicatifs se trouvent sur le site PortableApps. Dans notre vidéo nous installons et configurons PStart et FirefoxPortable. PStart permet de lister les applications installées sur votre clef USB et de choisir celle que vous souhaitez exécuter. Quant à FirefoxPortable, c'est la version "légére" de Firefox qui vous permet d'utiliser votre propre browser pour surfer sur internet avec vos favoris et vos plug-ins.


La cerise sur le gâteau est de pouvoir lancer automatiquement votre application préférée dés l'insertion de votre clef USB. Mais cette fonctionnalité est parfois désactivée en entreprise et disparaît totalement avec l'arrivée de Windows 7 (pour des raisons de sécurité: cf les articles du blog à ce sujet "Plus d'Autorun dans Windows 7...!" et "La clef USB: le maillon faible ? ").


La solution consiste à installer l' "USB Grabber" (outil gratuit proposé par Prox-IA) qui permet de configurer les applicatifs à lancer à l'insertion de la clef USB. "USB Grabber" permet également de créer des raccourcis sur votre bureau. La vidéo nous montre l'installation et la configuration d' "USB Grabber".



On ne peut parler de mobilité et des clefs USB sans parler du format U3.



L'U3 ou Smart Drive est un format de clé USB comprenant une plate-forme logicielle spéciale qui permet aux développeurs d'écrire des applications spécialement conçues pour fonctionner depuis une clé de ce type. Une application U3 est dite portable car elle peut être utilisée sur différents ordinateurs sans nécessiter une installation sur chacun d'entre eux : le programme ainsi que ses données et sa configuration sont stockés sur la clé et non sur les ordinateurs hôtes.

SanDisk et M-Systems ont créé un mini-environnement avec une sorte de menu de démarrage appelé LaunchPad qui ne fonctionne que sous Windows. Celui-ci permet aux utilisateurs de lancer les applications installées sur la clé et de configurer leur « clé intelligente ». Un site web dédié aux clés U3 permet aux propriétaires d'une de ces clés de télécharger de nouvelles applications portables.

Les clés U3 sont compatibles avec Microsoft Windows Vista à partir de la version 1.4 du LaunchPad.





A bientôt...

Partager avec...