vendredi 6 avril 2012

Vol d'identité par l'application Facebook sur iPhone (et beaucoup d'autres ...)

Cet article décrit comment en connectant un iPhone (ou un Androïd) à un PC il est possible de récupérer pour certaines applications comme Facebook ou Dropbox l'identifiant unique qui permet d'identifier l'utilisateur. Cet identifiant est juste à copier coller avec un explorateur de fichier. La seule difficulté est de savoir dans quel fichier chercher.

L'article met en évidence ce que la plupart des développeurs mobiles savent déjà. Dans une société ou les coup et les temps de développement doivent toujours être réduit les développeurs font souvent l'impasse sur la sécurité et ceci avec l'accord tacites des commanditaires. Tout le monde veut son application disponible sur l'AppStore dans un temps record et pour un prix aligné sur les développeurs du tiers monde. Résultat au lieu de s’embêter à chiffrer et à stocker les identifiants de manière crypté on va au simple et au plus rapide à savoir sauvegarder le tout en clair dans un fichier nommé password.txt.

Certes il existe bon nombre de développeurs que toutes ses considérations de sécurité dépassent mais la principale raison de ces failles de sécurité est avant tout économique. Le client a ce pour quoi il a payé et il est le premier à faire l'impasse sur la sécurité s'il peut réaliser une économie.

Un cheval de troie OSX soupçonné d'avoir infecté 600 000 Macs.

Article en anglais ici sur Ars Technica.

jeudi 5 avril 2012

Configurer un routeur DDWRT en VPN PPPT pour iPhone

DDWRT pour ceux qui ne connaissent pas est un firmware open source qui permet de remplacer l'OS par défaut de grands routeurs du marché. J'avais un "vieux" routeur Buffalo qui ne me servait plus donc j'ai décidé de le recycler en serveur VPN pour me connecter de manière sécurité avec mon iPhone lorsque j'utilise un réseau WIFI non chiffré.

Pour info il existe plein de VPN payant. Personnellement j'utilise VPNTunnel qui fonctionne très bien avec un iPhone ou un téléphone Androïd.

Dans mon montage j'ai choisi le protocole PPPT plus simple à mettre en place qu'OpenVPN mais DDWRT gère les deux.

Le montage est le suivant

Internet -------> WAN Port -> Box Internet -> LAN port -------> WAN port -> Routeur DDWRT

Les deux routeurs sont mis en cascade. Le protocole PPPT utilisant le port 1723 on va configurer la box internet pour rediriger ce port en TCP vers le routeur DDWRT. Ainsi toutes les requêtes VPN seront traitées par le routeur 2. Par sécurité j'ai spécifié à la box internet d'attribuer toujours la même IP au routeur DDWRT au cas ou le DHCP déciderait de lui changer son IP ce qui rendrait le port forwarding 1723 inopérant.

Dans mon installation la box internet délivre des adresses en 192.168.1.x.

Sur le routeur Buffalo DDWRT j'ai ensuite activé le servie VPN PPPT et l'ai configuré ainsi.

IP serveur PPPT 192.168.2.1
DHCP serveur PPPT 192.168.2.10-20

Notez que j'ai utilisé un réseau différent (192.168.2.x) que sur la box (192.168.1.x) afin de ne pas créer de confusion entre les machines du LAN et les machines du VPN.

Dans ma box internet j'ai configuré un dyndns au cas ou elle changerait d'adresse IP publique ainsi dans mon iPhone je n'ai plus qu'à utiliser un nom de domaine de type:

monvpn.dyns.org

lundi 2 avril 2012

Créer un package .deb pour Cydia

Nous avons vu dans un précédent billet comment créer un serveur repository pour Cydia. Voyons maintenant comment créer un fichier .deb qui pourra être diffusé sur notre repository et installé par Cydia.

Pour créer un fichier .deb vous devez disposer les fichiers que vous désirez installer selon l'arborescence suivante.

/monapp
   Applications/
   monapp.app/
      Info.plist
      Default.png
      ...
   DEBIAN/
      control
   System/

Placez y votre application ou les divers fichiers à installer par le package.
Le fichier control contient les champs suivants à personnaliser selon votre situation:

Package: com.test.com
Name: testApp
Version: 1.0
Architecture: iphoneos-arm
Depends: winterboard
Description: test
Homepage: http://www.test.com
Depiction: http://www.test.com
Author: test@aol.com
Section: Utils

Une fois l'arborescence préparée vous pouvez créer le fichier .deb en lancant la commande:
dpkg-deb -b monapp

Article intéressant sur différents malwares OSX

L'article décrit deux malwares différents utilisant chacun une vulnérabilité dans java pour l'un et dans Microsoft Office pour l'autre. Les malwares ont pour objectif de contacter un serveur pirate afin de lui transmettre des informations personnels de l'utilisateur.

Si java se fait de plus en plus rare sur Mac comme sur PC on peut en revanche parier que bon nombres d'utilisateurs possèdent une version d'Office non mise à jour. Il s'agit de tous les gens qui ont piraté Office.

Il est également expliqué que ces malwares se stockent dans le système de fichier afin d'être relancé avec plus ou moins de succès après un reboot. On peut donc penser que la prochaine version d'OSX, Mountain Lion contribuera à protéger les utilisateurs contre ce type d'attaques grâce à son nouveau système de sandboxing pour les applications.

L'article est disponible ici sur Ars Technica


Création d'un repository Cydia

Créer un repository reconnaissable par Cydia consiste juste à placer les bons fichiers avec la bonne structure de répertoire sur un serveur http. L'architecture du repository est la suivante:

Release
Packages.gz
Debs/
CydiaIcon.png

Le répertoire debs contient les packages que vous voulez proposez sur votre repository.
Le fichier Packages.gz doivent être regénéré à chaque modification des fichiers debs présents car il cotient un descriptif de ceux ci. Il peut être regénéré directement sur le serveur ou réuploadé par ssh.

Pour regénérer Packages.gz j'utilise le script suivant:

!/bin/sh
dpkg-scanpackages -m . /dev/null | gzip -9c >Packages.gz