vendredi 14 décembre 2012

Sécurité des systèmes embarqués automobiles

Dernièrement je me suis intéressé à la sécurité des systèmes embarqués sur les voitures modernes. Les années passées ont connu pas mal d'actualité concernant le hacking des voitures. On parle souvent de failles de sécurité concernant les clés RFID ou encore de la possibilité de démarrer le véhicule sans la clé en passant directement l'ordre au système embarqué.

N'importe quelle voiture moderne comprend des dizaines de calculateurs, micro contrôleurs et autres automatismes. L'industrie automobile nomme ces systèmes embarqués des ECU (Electronic Control Unit). Une voiture comprend également un réseau interne de type CAN (Controller Area Network) qui permet à tous ses composants de dialoguer entre eux. Ce réseau interne est physiquement accessible grâce à une prise OBD II (On Board Diagnostics) standardisée dans le monde entier. Par cette prise il est possible d'effectuer des vérifications, de paramétrer la voiture, de diagnostiquer une panne, de reprogrammer l'ECU principal. C'est par ce port que votre concessionnaire effectue une vérification du bon fonctionnement de votre véhicule.

Un véhicule propose également souvent un sous-système multimédia qui permet d'y lire un CD ou d'y connecter un appareil USB. Ce système multimédia est très généralement lui aussi connecté et accessible par le CAN. On peut donc théoriquement accéder à l'ECU également par ce biais.

Ajoutez à cela les diverses connectivités sans fil supportées par la voiture : bluetooth pour synchroniser un téléphone, RFID pour la clé, TMPS (Tire Pressure Monitoring System) pour la pression des pneus, 3G ou WIFI si la voiture dispose d'un accès internet.

Et l'on peut même extrapoler vers un futur proche de flottes de véhicules communicants.

La plupart du temps aucun système de protection n'a été mis en place par le constructeur. Les véhicules nécessitent des millions de lignes de codes qui ne sont absolument pas développés avec la sécurité informatique à l'esprit. Certains modèles rares possèdent l'équivalent d'un pare-feu mais il n'est présent que pour protéger la propriété intellectuelle du fabricant.

De plus les constructeurs essayent de plus en plus de se différencier en proposant un app store pour leur voitures. Par exemple Ford avec son Ford Sync ou dernièrement Peugeot avec son Peugeot Connect Apps.

L'automobile est donc un nouveau terrain de jeu pour les hackers, les passionnés de tuning ou de système multimédia, les voleurs et les fraudeurs. Comme d'habitude au fur et à mesure que le grand public va s'emparer de cette technologie nous allons voir apparaître le pire comme le meilleur. Le meilleur viendra probablement de particuliers développant leur propre mod ou firmwares personnalisés, proposant ainsi de nouvelles fonctionnalités bien au-delà de ce que le constructeur avait envisagé. Niveau pire il faut s'attendre à une recrudescence des vols high-tech de voiture, de perte de données, d'atteinte à la vie privée et de surveillance à outrance.

Les Peugeot Connect Apps sur la 208

Référence intéressante: Une étude assez exhaustive de deux université américaines Comprehensive Experimental Analyses of Automotive Attack Surfaces et sa présentation en vidéo:


samedi 8 décembre 2012

Présentation des bitcoins en français

Tant qu'on est dans le sujet des bitcoins j'en profite pour poster un lien sur l'excellente présentation de Pierre Noizat, co fondateur de Paymium, lors de l'édition 2012 de Pas Sage en Seine.





La monnaie Bitcoin officiellement reconnue par la France

Pour une fois petit billet un peu hors sujet, quoique pas tellement finalement car il s'agit de parler de l'actualité de Paymium, une start-up française qui vient de réaliser le tour de force de faire reconnaître officiellement sa plateforme d'échange de bitcoins par la régulation européenne. La plateforme en question se nomme Bitcoin-Central.net et vous pouvez en apprendre plus sur cette annonce ici.

Le sujet n'est pas si éloigné de la thématique habituelle du blog car il concerne une innovation de high-tech basée sur la cryptographie et qui pourrait révolutionner le paiement en ligne, notamment mobile. Tout ce qui touche au bitcoin est également fortement corrélé aux aspects de vie privée puisqu'ils permettent un certain anonymat des achats. Le bitcoin, monnaie infalsifiable et non diluable, basée sur des principes mathématiques et cryptographiques prouvée est censée offrir une alternative à la monnaie fiduciaire, et ceci en toute indépendance d'une autorité gouvernementale. Le fait de faire reconnaître cette technologie par l'Europe peut donc être perçu comme paradoxal, mais elle permet de démultiplier les champs d'action du bitcoin avec la possibilité d'avoir par exemple un compte bancaire en bitcoin associé à une carte de crédit et ceci garanti par l'état. Bitcoin devient donc une alternative sérieuse à une technologie comme Paypal par exemple. Cocorico donc, et félicitations à Paymium, cela fait bien plaisir d'avoir une start-up française initiatrice d'une telle révolution.


jeudi 6 décembre 2012

Suspicious Package

Petit utilitaire OSX très pratique, Suspicious Package s'installe en tant qu'extension du Finder et permet de visualiser le contenu d'un fichier .pkg directement par l'aperçu rapide. On peut ainsi vérifier l'emplacement et la liste des fichiers que va installer le package sur son système. Il n'est en effet jamais très agréable d'installer un package sans savoir ce qu'il va modifier dans son installation, d'autant plus que l'installation nécessite de saisir le mot de passe administrateur. Un package malicieux pourrait donc en profiter pour écraser un fichier système existant par exemple.
J'en profite pour rappeler quelques commandes bien pratiques pour gérer le .pkg en ligne de commande. Pour extraire le contenu d'un package faire: xar -xf package.pkg La commande précédente vous donnera plusieurs fichiers dont le plus important: Payload. Pour extraire à son tour son contenu faites cat Payload | gzip -d - | cpio -id Et vous obtiendrez l'arborescence et les fichiers qui seraient normalement installés. Installation qui peut également se réaliser en ligne de commande de cette façon: sudo installer -pkg package.pkg -target /Volumes/XXX

mercredi 5 décembre 2012

Les fondements de la sécurité sur Android

Techniquement Android est un système linux avec un noyau optimisé pour fonctionner sur de l'embarqué. A ce système linux s'ajoute une machine virtuelle Java spécialisée pour les environnements à faible ressource : la machine Dalvik. La base de la sécurité d'Android repose donc principalement sur les mêmes bases que la sécurité sous Linux plus l'encapsulation en bac à sable de chaque application Java. Plus précisément on a:
  • Séparation des privilèges de chaque application et des différentes sections de l'architecture système (UID et GUI différent). Contrairement aux OS de bureau, Android crée un utilisateur et un groupe par application (exceptions pour certaines applications qui partagent certaines données). Une application n'a donc pas par défaut les même droits que l'utilisateur qui l'utilise. Vrai pour Java et le code natif.
  • Applications Java fonctionnant dans un bac à sable (sandbox). Une machine virtuelle Dalvik pour chaque application, même les applications système.
  • L'application doit demander explicitement différentes permissions d'accéder à différents services et ressources. (fichier AndroidManifest.xml). Génération d'une demande d'autorisation à l'utilisateur lors de l'installation pour accéder par exemple à Internet, à la caméra, aux contacts, etc. On retrouve ici exactement le même système utilisé sur l'ancien système Symbian. Cela concerne également le code natif.
  • Nécessité de signer l'application (certificat auto signé possible). Vérification à l'installation. Impossibilité de mettre à jour une application avec un certificat différente de la version de base par exemple.
  • Protection des applications par licence LVL (là on touche plus à la lutte contre le piratage).
  • Scan et analyse automatique des applications publiées sur l'Android Market.
  • Suppression de l'Android Market des applications jugées néfastes qui seraient passées à travers les mailles des scans automatiques. Google peut même aller plus loin et supprimer à distance une application sur le téléphone des utilisateurs (là on déborde de l'aspect sécurité pour empiéter sur la vie privée de l'utilisateur).
  • Gestion des droits d'accès entre applications mais également entre sous composants (Activity, Content Provider, Service, Broadcast Receivers). Une application peut déclarer ses propres permissions que les autres applications pourront demander pour partager des données avec celle ci. Le principal moyen de communication entre processus est le Content Provider qui permet de contrôler les échanges.
  • Librairies de chiffrage permettant au développeur de stocker des données chiffrées (ex: AES) et de les transmètre de manière sécurisée (ex: TLS).
  • Android étant majoritairement open source des failles de sécurités sont plus facilement et rapidement corrigées. (Ou découvertes c'est selon ;-)
Concernant la sécurité des applications Android, il existe plusieurs livres sur le sujet qui ne sont pas tous de qualité égale. Personnellement ma préférence va pour le Application Security for The Android Platform d'O Reilly. Le livre est clairement destiné aux développeurs d'applications qui veulent protéger au maximum leurs utilisateurs. En revanche les sujets tels que les rootkits, les malwares, etc ne sont pas réellement abordés. Du moins pas sur leur fonctionnement, uniquement sur les conséquences qu'ils peuvent avoir.



lundi 12 novembre 2012

Le protocole Bonjour d'un sous-réseau à l'autre

Vu sur ArsTechnica, Stuart Cheshire le créateur du protocole Bonjour (nom commercial donné par Apple aux standards mDNS, DNS-SD et NAT-PMP) cherche à étendre son utilisation aux réseaux d'entreprises. Concrètement cela implique de permettre aux paquets mDNS de passer d'un sous réseau à l'autre ce qui n'est actuellement pas supporté du fait que le protocole a été principalement destiné à une utilisation domestique. Cependant même un utilisateur particulier peut déjà être confronté à cette limitation par exemple si son réseau câblé ethernet et son réseau WIFI n'utilisent pas le même sous réseau. Même problème si l'on tente d'accéder à son réseau domestique par VPN. 

Le protocole Bonjour est principalement associé aux produits Apple mais c'est uniquement parcequ'Apple en a fait une utilisation récurrente depuis 10 ans. Techniquement rien n'empêche une machine Windows ou Linux de l'utiliser comme tout ce qui concerne les réseaux zeroconf. Il est intéressant de noter que Windows supporte l'adressage IP automatique depuis 1998. En témoignent les fameuses adresses IP du domaine 169.254.0.0-169.254.255.255 que l'on récupère parfois lorsqu'il y a un problème de DHCP.

Au niveau sécurité en revanche, le protocole Bonjour est source de problème puisqu'il révèle un maximum d'information sur le réseau. De plus son utilisation repose sur la confiance que l'on a envers les appareils connectés, car rien n'empêche un utilisateur de générer des paquets malicieux.

A noter que Bonjour supporte déjà une version Wide Area mais qui ne peut pas être utilisé qu'entre sous réseau privés car il ne supporte que les IP publiques ou les IP privées accessibles via NAT-PMP ou uPNP.

Pour ceux que ça intéresse Stuart Cheshire fait une présentation intéressante de Bonjour ici:


mardi 6 novembre 2012

Radio logicielle : la révolution à venir.

Mon billet concernant la popularisation des technologies embarquées grâce au projet Arduino m'a rappelé un article publié cet été par l'excellent ArsTechnica.

Dans un article consacré au phénomène de la radio logicielle "grand public", ArsTechnica faisait le parallèle intéressant entre le mouvement actuel autour des SDR et le début balbutiant de l'informatique personnelle dans les années 70. A l'époque, personne ne savait vraiment quoi faire d'un ordinateur et ceux-ci étaient réservés à un usage d'amateurs passionnés. Inutile de s'étendre sur l'avenir qu'a eu cette technologie. 

Dans les années 1960/70 un ordinateur était gros, cher et réservé à quelques organisations étatiques ou grosses entreprises. On observe le même phénomène aujourd'hui avec les radios logicielles dont l'utilisation est réservée à des applications militaires (radios tactiques) ou de multinationales (téléphonie mobile). 

ArsTechnica n'hésite donc pas à comparer les rares sociétés commercialisant du matériel SDR accessible (Ettus avec son USRP, PerVices avec son Phi), à des potentiels futurs Apple. La diffusion de ce matériel chez un public d'amateurs, de chercheurs, de hackers et de passionnés pourrait bien être l'étincelle qui va déclencher une révolution dans la manière d'utiliser les ondes et les technologies sans fil. En effet il est très fréquent qu'une technologie développée par une grosse structure publique ou privée ne trouve le succès que lorsque le grand public s'en empare pour des applications absolument pas envisagées par ses créateurs.

Cette transition si elle à lieu, ne se fera pas sans friction politique et économique, car elle pose le problème de la régulation des ondes. ArsTechnica explique en effet que ces SDR ne sont autorisées à la commercialisation aux Etats-Unis que parce qu'elles sont assimilées à du matériel de recherche. Ils s'étendent ensuite sur le problème précis de régulation par la FCC. Je vous renvoie à l'article si vous voulez en savoir plus, mais on comprend bien que donner la capacité à n'importe qui d'émettre facilement sur n'importe quelle fréquence peut poser problème.

Du point de vue de la sécurité informatique ce développement du hardware SDR va avoir de sérieuses conséquences puisque les radios logicielles sont déjà principalement utilisées pour la recherche en sécurité.

On peut cependant envisager un avenir radieux à la radio logicielle qui n'en est qu'à ses débuts, mais qui permettra un jour pas si lointain, grâce à la radio cognitive notamment, de remplacer tous les autres appareils radio en émettant et recevant simultanément diverses fréquences, selon différentes modulations et supportant divers protocoles.




samedi 3 novembre 2012

Radio logicielle : Analyse d’architectures matérielles et outils informatiques.

Un mémoire d'ingénieur en français fort bien fait qui présente de manière assez complète le monde de la radio logicielle. Il a de plus l'avantage d'être récent (2011) et donc assez actuel. A télécharger ici. Si le lien direct ne fonctionne plus pour un raison quelconque il est disponible sur le site DUMAS.

Son sommaire de manière condensé:
  • INTRODUCTION
Historique, besoin, usages et promesses de la radio logicielle.
Les différents types de radio logicielle
Objectifs de réalisation d’une radio logicielle
  • ARCHITECTURES D’UNE RADIO LOGICIELLE
Radio logicielle idéale
Radio logicielle restreinte (SDR)
Architectures des récepteurs/émetteurs de radio logicielle
  • COMPOSANTES LOGICIELLES
Philosophies de conception logicielle et modèles
Architectures et normes logicielles pour SDR
GNU Radio
Environnements de simulation et de développement
Logiciels de visualisation graphique de signaux radio
  • SDR PROFESSIONNELLES (Lyrtech, National Instruments, Pentek)
  • SDR GRAND PUBLIC
SDR avec numérisation par carte son d'une FI I/Q 36
SDR avec numérisation par CAN d'une FI I/Q 36
SDR avec numérisation par CAN RF et DDC à base d'ASIC 37
SDR avec numérisation par CAN RF et DDC à base de FPGA 37
USRP (USRP1, USRP2, Cartes RF Ettus, Autre carte RF compatibles)
GNU Radio et USRP
  • PLATEFORMES DE RECHERCHE
  • VOIES D'AMÉLIORATION DES RADIOS LOGICIELLES
Le défi de la numérisation haut débit
Amélioration des performances des interfaces plateforme/PC
Augmentation des capacités de traitement embarqué
Divers types de processeurs au sein d'une même plateforme
  • RADIO LOGICIELLE ET ETUDE DE PROTOCOLES SANS FIL
(RFID, ZigBee, 802.11, GSM, DECT)

vendredi 2 novembre 2012

Arduino : The Documentary

Petit reportage sympathique et intéressant sur le projet Arduino et sa philosophie. Techniquement le projet Arduino n'invente pas grand chose. Idéologiquement par ailleurs c'est une révolution car il rend accessible au grand public la compréhension et la programmation d'un microcontrôleur pour un coup extrêmement faible. Socialement ce mouvement concentre l'attention et l'intérêt d'un public plus vaste sur le hardware et l'embarqué. Comme le dit le reportage, jusqu'ici ce genre de connaissance n'était défrichée que par les hackers. La mise à disposition du projet open source Arduino participe ainsi au regain d'intérêt grandissement vis à vis du hardware. Dans le monde de la sécurité informatique on voit fleurir les attaques sur les routeurs, imprimantes, relais, ou autres automates de la vie de tous les jours.

Notre monde étant désormais truffés de systèmes embarqués de toute sorte, cette révolution technologique a de nombreuses conséquences sur la sécurité de l'information. D'un côté on a un grand public toujours plus ignorant du principe de fonctionnement de leurs outils de tous les jours. Et de l'autre on a une communauté de hackers de plus en plus intéressés par le détournement du comportement de ces systèmes embarqués. De plus la sécurité de ces systèmes est très souvent très faible voir inexistante car ils étaient jusqu'ici épargnés par les attaques.


jeudi 1 novembre 2012

HackRF : Radio logicielle à bas coût.

Présentation à ne pas louper du projet HackRF, une SDR open source de Michael Ossman et de Jared Boone.

Michael Ossmann fait le parallèle intéressant entre le passage des applications audio de l'analogique au numérique avec l'évolution qu'est en train de prendre le monde de la radio. Dans le monde de l'audio on est passé de l'analogique (cassette, vinyle) au numérique (CD) grâce à l'usage de DSP mais la véritable révolution est intervenue quand les PC sont devenus assez puissants pour se passer de DSP et traiter le signal audio directement en logiciel (MP3, VoIP).

Il rappèle que les failles théoriques du WIFI n'ont été prises en comptes par les constructeurs que lorsque des attaques pratiques ont vu le jour. Pour que ces attaques se concrétisent, les hackers ont eu besoin d'adapteurs WIFI spécifiques supportant le monde monitor et l'injection de frames. D'autres normes de communication sans fils sont restées sous le radar des chercheurs en sécurité par manque de matériel adéquat. Ossman et Boone proposent d'ouvrir les possibilités d'analyse du monde de la sécurité grâce à une radio logicielle à bas coût.

Ils rappèlent que de nombreuses attaques récentes ont été rendues possible grâce à l'utilisation de radios logicielles (typiquement USRP)
  • Attaques sur les clés sans contact des voitures modernes
  • Attaques NFC
  • Attaques sur le GSM avec OpenBTS
  • Attaque d'un pacemaker
  • etc
Au final le HackRF devrait être compatible avec la base logicielle de GnuRadio. A noter qu'il faut une antenne spécifique pour chaque plage de fréquence. La radio sera capable d'émettre et de recevoir mais pas en même temps.


jeudi 18 octobre 2012

Matériel SDR : le résumé

Les caractéristiques techniques regroupées ici ne sont évidemment pas les seules à prendre en compte.

Une énorme différence est que seul l'USRP peut transmettre. Les autres systèmes ne peuvent qu'écouter. Une alternative abordable pour une radio logicielle capable d'émettre est le projet OsmoSDR mais ils viennent tout juste de rendre publique une version beta uniquement capable de recevoir. Une extension pour ajouter des capacités d'émission est prévue mais il faudra encore attendre un peu.

Il est intéressant de noter que théoriquement n'importe quel téléphone portable pourrait constituer une radio logicielle à bas coût. Ils ont la capacité d'émettre et de recevoir sur une large bande de fréquence et utilisent des amplificateurs de haute qualité. Le problème est que le fonctionnement des DSP utilisés (Qualcomm) est propriétaire et même pas disponible aux constructeurs de téléphones qui se contentent d'intégrer la puce.


Résolution
CAN
Bande
passante
Plage de
fréquence
Prix
Dongle DVB
E4000
RealTeck 283x
8 bits96 kHz50 MHz - 2000 MHz
(trou 1100 - 1250)
20 €
FunCube Pro14 bits80 kHz51.5 à 2200 MHz
(trou 1000 - 1250)
125 €
(indisponible)
FunCube Pro+24 bits192 kHz150 kHz à 240 MHz
420 MHz à 1.9 GHz
155 €
(bientôt dispo)
USRP 1 14 bits16 MHzDC - 4.4 GHz550 € et plus
USRP 2 16 bits50 MHzDC - 4.4 GHz1200 € et plus

Le FunCube Pro+

Le FunCube Pro utilise le tuner E4000 fabriqué par la société britannique Elonics qui a malheureusement déposé le bilan récemment. L'approvisionnement en E4000 devenant donc difficile et la liste d'attente pour le FunCube s'allongeant, Howard Long son créateur, a décidé de revisiter le design pour créer une version améliorée prenant en compte les remarques et requêtes des utilisateurs. C'est ainsi qu'est né le FunCube Dongle Pro+ qui devrait être disponible fin octobre 2012 / début novembre. L'inscription à la liste d'attente pour en acheter un se fait ici. Il permettra à Mr Long d'anticiper le nombre de pièces à commander. Son tarif est de 155€ ce qui le rend très attractif par rapport à l'USRP.

En rapport avec mon billet sur les dongles DVB transformés en SDR on peut noter que ceux qui ont la meilleure plage de fréquence utilisent également le tuner E4000. Peut être des problèmes d'approvisionnement en perpective donc.

Il est également intéressant de remarquer que le FunCube Dongle Pro+ est assemblé au Royaume Unis avec des pièces britanniques. A défaut de cocorico Français on se réjouira au moins que de la high tech puisse encore être fabriquée ailleurs qu'en Asie.

Question spécifications le FCDP+ a une bande passante de 192 kHz et une résolution de 24 bits. Il couvre les plages de fréquence 150 kHz à 240 MHz et de 420 MHz à 1.9 GHz. Le trou dans la couverture de fréquence est du à des choix techniques de H. Long qui privilégie avant tout un bas coût. De plus ne perdons pas de vu qu'au départ ce dongle n'avait pour objectif que de recevoir la fréquence 145 MHz du satellite FunCube. Sa fonction SDR est donc un bonus.



Le FunCube Pro : de la fabrication d'un satellite amateur au SDR

Le FunCube est un satellite radio amateur qui sera lancé en 2013 pour l'association AmSat (il était prévu pour 2012). Il émettra sur les fréquences 145.8, 146 MHz.

Le FunCube Dongle Pro (ou FCDP) a été crée fin 2010 pour pouvoir capter de manière très économique les signaux envoyés par ce satellite. L'objectif était de distribuer ces dongles aux amateurs avant le lancement du satellite. Cependant son créateur Howard Long ayant utilisé des circuits intégrés du marché a vite réalisé qu'il pourrait utiliser ce dongle de manière beaucoup plus polyvalente en l'utilisant comme une radio logicielle à très bas coût.

Le FunCube couvre les fréquences de 65 MHz à 1700 MHz (avec un trou dans la couverture entre 1100 et 1270 MHz causée par une instabilité de l'oscillateur sur cette plage). En pratique il est possible de l'utiliser en dehors de son domaine théorique de fonctionnement en couvrant de 51.5 à 2200 MHz.

Le FunCube utilise un codec audio pour la conversion analogique vers digitale (ADC, CAN) comme le font beaucoup de projet open source de radio logiciel. La bande passante du FunCube est donc limitée par ce convertisseur à 80 kHz (bande passante suffisante pour la voix). Donc le dongle ne peut couvrir en même temps qu'un domaine de 80 kHz sur sa couverture totale de 5.5 à 2000 MHz.
(Pour être précis la bande passante du convertisseur est de 96 kHz mais le sous échantillonnage la rabaisse à 80 kHz en sortie).

A l'inverse l'utilisation d'un convertisseur audio fait que le FunCube ne demande pas de driver spécifique lorsque vous le connectez à un PC car il est reconnu comme un périphérique audio. L'astuce consiste à utiliser la stéréo pour envoyer les coordonnées I/Q par le canal gauche et le canal de droite.

A noter que le FunCube est fabriqué de façon artisanale par petite quantité et est constamment en rupture de stock.





Découvrir la radio logicielle sans se ruiner

La radio logicielle, dont la plateforme la plus connue est gnuradio, fonctionne avec différents types de matériel, mais le plus connu et le plus utilisé est l'USRP (pour Universal Software Radio Peripheral) de Ettus dont le prix d'entrée est de 650 $ et qui monte jusqu'à 1700 $. A ceci vous devez ajouter le prix des cartes filles capables chacune de capter différentes plages de fréquence. Pour ce prix c'est sur vous avez du bon matos (avec une plage de fréquence de DC à 4.4 Gz si vous avez toutes les cartes filles) mais ce n'est pas donné.

J'ajoute en ce qui concerne l'USRP que le rapport qualité prix n'est pas forcément très avantageux. Cet article évoque des problèmes d'instabilité et d'aberration de prix. Information à vérifier je donne cette référence uniquement pour info mais ça peut être intéressant à étudier avant d'investir dans un tel appareil.

Dernièrement cependant le monde de la radio logicielle (SDR en acronyme anglais) a été dynamisée par la découverte du finlandais Antti Palosaari. Ce dernier, qui participe au développement du noyaux linux (comme tout bon finlandais) en ce qui concerne le DVB, c'est rendu compte que certains dongle DVB-T (la standard de la TV numérique) permettaient de transférer les trames I/Q directement au PC hôte et donc sans démodulation ou filtrage spécifique au format DVB-T. La porte était donc ouverte à l'écriture de drivers spécifiques pour l'utilisation de ce chipset pour en faire une radio logicielle.

Toutes les infos techniques sur le choix du bon dongle sont sur le site d'Osmocom.

Pour résumer il vous faut un dongle avec un chipset Realteack RTL2832U et un tuner E4000. Un tel dongle couvrira la plage de fréquence 64 - 1700 MHz théorique et peut être poussé à 50 - 2200 MHz (avec des trous dans la couverture). La résolution des échantillons I/Q est de 8 bits (contre 16 pour l'USRP) et génère 3.2 MSPS (millions sample per second. L'USRP en génère jusqu'à 400).




lundi 15 octobre 2012

Vivre sans Flash sur OSX

J'ai toujours détesté les technologies Flash et Java (dans le navigateur web) qui n'apportent pour moi que lourdeur et plantage à la navigation sur Internet. Et ceci est sans compter les innombrables problèmes de sécurité liés à ces technologies qui font régulièrement la Une malgré elles. Quand j'ai réinstallé OSX pour la sortie de Mountain Lion j'ai donc décidé de ne pas réinstaller Flash. Après plusieurs mois d'utilisation je sais maintenant que je vais conserver cette configuration. J'ai malgré tout du modifier certaines de mes habitudes pour survivre sans Flash sur Internet.

Ma première surprise a été de constater que beaucoup de vidéos (typiquement Youtube) refusaient de se lancer sans Flash. Etrange puisqu'on peut les voir sur iPad ou iPhone par le biais d'une version HTML5. Heureusement il est facile de contourner le problème en forçant le user agent du navigateur pour faire croire au site qui pose problème que l'on est sur iPad.

J'ai ensuite eu quelques problèmes sur différentes sites, typiquement de gros sites de grandes marques ou de services, qui font une utilisation quasi exclusive du Flash. Impossible de naviguer dessus sans cette technologie car ils l'utilisent pour les menus. J'ai donc commencé par utiliser une machine virtuelle sous Windows (Windows 8 tant qu'à faire pour le tester). Les sites en questions étant rares il ne m'était pas trop pénible de lancer une VM pour l'occasion.

En revanche j'ai vraiment commencé à penser avoir à installer Flash quand différents sites de podcast (audio ou vidéo) refusaient de fonctionner. Les trois quart proposent de télécharger le média en question ou de le visionner sous un autre format mais j'ai eu le problème avec un site que je consulte quotidiennement qui ne proposait qu'un lecteur Flash. J'ai donc du trouver une solution plus pérenne que la VM et j'ai opté pour l'utilisation du navigateur Chrome qui propose sa propre intégration de Flash. Ainsi je peux utiliser Chrome pour les sites en Flash sans avoir à installer le plugin dans Safari ou Firefox. 

Avec le temps la transition va se faire vers l'HTML5 pour les vidéos. Les gros sites interactifs qui ont lourdement investis dans la technologie Flash risquent en revanche de conserver cette technologie pendant un certain temps.

lundi 8 octobre 2012

Impact de la radio logicielle sur la sécurité des réseaux

"De la radio matérielle à la radio logicielle : impact sur l’étude de la sécurité des réseaux sans-fil" : est une présentation qui a été proposée lors de la conférence c&esar 2011. La version PDF et les slides sont disponibles ici sur le site de l'Agence Nationale de la sécurité des systèmes d'information.

Les auteurs y présentent de manière fort bien résumée comment la difficulté de l'analyse des protocoles de communication sans fils dépend avant tout de la disponibilité de matériel supportant les couches physiques. Une radio logicielle, ou SDR pour Software Defined Radio, présente donc l'avantage de pouvoir être programmée pour supporter tel ou tel protocole. 

La présentation compare les possibilités et limitations des radio logicielles face à l'utilisation de matériel dédié comme les dongles USB (wifi ou bluetooth par exemple). En effet, même si les radios logicielles sont de plus en plus performantes il est encore souvent nécessaire de faire appel à du matériel spécifique, seul capable de traiter l'information assez rapidement.

mardi 2 octobre 2012

Sniffing bluetooth avec l'Ubertooth

Présentation du Ubertooth par son créateur Michael Ossmann. Ossman y décrit comment il classifie les techniques de sniffing selon les capacités suivantes:

  • Sniffing de certains paquets d'une seule cible.
  • Sniffing de tous les paquets d'une seule cible.
  • Sniffing de certains paquets de plusieurs cibles.
  • Sniffing de tous les paquets de plusieurs cibles.

La difficulté du sniffing du bluetooth réside dans la fait que le protocole Bluetooth repose sur le saut de fréquence. Il est donc très difficile de suivre la communication intégrale de plusieurs cibles en même temps.

Avec un adaptateur USB bluetooth classique on est dans le cas 1. On capte certains paquets (autorisés) des cibles qui ont la détectabilité d'activé (une à une).

Certains appareils professionnels très chers peuvent opérer dans le mode 2 voir dans le mode 4.

Michael Ossman et Dominic Spill ont réussi à obtenir la fonctionnalité 3 grâce à un USRP et GnuRadio. L'USRP étant bloqué sur un seul canal ils avaient la capacité de voir tous les paquets (donc multi cible) transitant sur une canal fixe. Il indique également la possibilté de prédire la séquence de saut de canal et donc d'obtenir la fonction 2 (sniffing de tous les paquets d'une seule cible).

C'est sur ces deux modes de fonctionnement (sniffing de tous les paquets d'une cible ou sniffing de tous les paquets d'un canal) que Ossman s'est concentré pour le développement d'Ubertooth. On se rapproche du fonctionnement de Kismet en wifi.



vendredi 28 septembre 2012

Emulateur de clavier à base de Teensy. Alternative à l'USB S3.

Il existe différentes classes d'attaques par clé USB. Par exemple par ingénierie sociale on peut partager des documents en espérant qu'un utilisateur l'ouvre sans se soucier des effets secondaires. Mais on a aussi une version automatique de cette attaque avec les clés USB S3 qui simulent un lecteur CDROM et profitent donc de la fonction autorun de Windows pour exécuter des commandes de manière automatique. Pour lutter contre ce genre d'attaque les administrateurs désactivent l'autorun par défaut et bouchent les ports USB avec de la glu. De plus, les dernières versions des différents systèmes d'exploitation ne sont plus aussi "naïf" lors du traitement de l'insertion d'un appareil compatible autorun. L'attaque est donc toujours possible mais limitée. C'est là que le Teensy offre une alternative difficile à contrecarrer.

Le Teensy est une carte comportant un micro contrôleur de type AVR donc compatible avec l'environnement de développement Arduino. L'intérêt par rapport à une carte Arduino classique est sa taille et le support de base de l'USB. Le Teensy ne coute que 16 dollars et fait à peu prêt la taille d'une clé USB. Branché sur un PC, quelque soit l'OS il émule au choix un clavier, une souris ou un joystick. Il respecte le protocole USB-HID qui gère les protocoles d'entrée sortie, a l'inverse de la clé USB S3 qui suit le protocole USB-Storage. On peut par l'intermédiaire du Teensy effectuer des opérations clavier/souris à la manière d'un humain mais ceci de manière automatique et programmable.
Les avantages pour un hacker sont multiples:

  • Comme le Terminator le Teensy ne se fatigue pas, il tape plus vite que vous et ne fait pas d'erreur de frappe.
  • Il est plus discret de brancher une clé USB que de taper toute une succession de commande.
  • Il ne dépend absolument pas de l'autorun activé
  • Il fonctionne quelque soit le système d'exploitation

Un Teensy peut être utilisé dans des attaques extrêmement variées. Tout dépend de ce qu'il est programmé pour faire:

  • Installation automatique de logiciel
  • Exécution de programme à partir du Teensy, à partir du PC, à partir du réseau, ...
  • Création de compte utilisateur
  • Copie de fichier sur le Teensy pour les récupérer plus tard, upload vers Internet, ...
  • Forme de Cross Site Request Forgery en accédant à des sites internet avec les cookies du PC attaqué.
  • Etc. Les possibilités sont infinies.



Le Teensy est un parfait exemple des attaques orientées hardware qui sont de plus en plus fréquentes. Firmware infectés, système embarqués malicieux, chevaux de Troie par l'intermédiaire d'appareils extérieurs à l'entreprise, routeurs contaminés, etc. La partie logiciel s'étant nettement renforcée depuis 10 ans (du moins pour les OS) il est de plus en plus intéressant de les contourner en s'attaquant directement au hardware, moins surveillé et moins rodé aux attaques. Le Teensy utilisé de cette façon (car il est important de préciser que son utilisation frauduleuse n'est pas son ambition de départ) est particulièrement pernicieux puisque se faisant passer pour un clavier il est très difficile de le différencier d'un humain.

lundi 24 septembre 2012

Firevault 2 et reset de mot de passe par la partition de secours

Spécifier un mot de passe pour vous connecter à votre compte OSX ne vous protège absolument pas du vol de fichier si quelqu'un passe un peu de temps avec votre Mac. En effet il suffit de booter sur la partition de secours (en maintenant appuyé ALT au démarrage) et de taper "resetpassword" dans un terminal pour pouvoir remettre à zéro le mot de passe de la partition qui vous intéresse. Un voleur pourra donc sans problème accéder à vos données et cela sans même se donner la peine de sortir le disque dur pour le lire à partir d'un autre PC. On retrouve d'ailleurs le même genre d'aberration sous Windows lorsqu'on le boot à partir du CD d'installation ou sous Linux lorsque l'on monte le disque avec une live CD Linux quelconque (commande chgpasswd)

Une façon de ralentir un hacker est d'instaurer un mot de passe EFI c'est à dire l'équivalent du BIOS sur OSX. On ne pourra remettre le mot de passe à zéro sans démonter l'ordinateur pour en extraire le disque dur.

Depuis Mountain Lion j'utilise le chiffrage du disque complet Filevault 2 proposé par OSX mais j'ai quand même vérifié que l'astuce de la partition de secours ne fonctionnait plus avec cette option. Déjà avec Filevault 2 d'activé on se rend compte que la commande ALT ne lance plus la partition de secours. On peut en revanche y accéder par CMD+R.

En revanche lorsque l'on boote sur la partition de secours et que l'on lance la commande "resetpassword" la partition principale n'est pas proposée. Ce qui confirme qu'elle n'est pas visible par le terminal. On pourrait s'étonner également de pouvoir booter sans mot de passe sur la partition de secours mais c'est parce que Filevault 2 ne chiffre par défaut que la partition principale.

A noter qu'il est possible de déverrouiller la partition FileVault en saisissant le mot de passe associé afin de pouvoir opérer une vérification de fichier ou une réparation de système de fichier dessus.

vendredi 14 septembre 2012

Partage Windows 7 vers Backtrack (Ubuntu)

Normalement dans ce sens là c'est plus facile une fois que vous avez installé le support de Samba comme expliqué dans le post précédent.

Cependant si en utilisant l'explorateur de fichier de la Backtrack vous obtenez le message d'erreur suivant: "Failed to retrieve share list from server".

Ou quand en utilisant la ligne de commande avec smbtree vous avez: "Error NTSTATUSUNSUCCESSFUL"

Alors il faut réaliser la modification suivante dans le fichier /etc/samba/smb.conf: ; name resolve order = lmhosts host wins bcast
name resolve order = lmhosts wins bcast host

Partage Samba Backtrack (Ubuntu) vers Windows (7)

Note pour moi même car je galère toujours à effectuer ce genre de configuration. Donc déjà il faut installer le support de Samba sur la Backtrack:
apt-get install samba
apt-get install system-config-samba

L'interface de configuration s'installe dans le menu System sous le nom Administration/Samba. Cette interface graphique modifie le fichier de configuration /etc/samba/smb.conf que vous pouvez également décider d'éditer manuellement.
Ensuite il faut créer un utilisateur pour samba et lui attribuer un mot de passe:
adduser sambauser
smbpassword -a sambauser

Vous pouvez alors utiliser l'interface graphique pour ajouter un répertoire partagé et spécifier que l'utilisateur sambauser peut y accéder. Attention aux droits d'accès unix du répertoire partagé. Si vous y accédez par l'utilisateur sambauser mais que sambauser n'a pas accès au répertoire en local, Windows n'y accèdera pas non plus. Vous pouvez également décider de ne pas spécifier d'utilisateur samba et alors Windows se connectera au partage sans couple compte / mot de passe.

Maintenant et c'est là que ça se complique si sous Windows 7 vous vous payez l'erreur "Windows cannot access" code 0x800070043. J'ai trouvé la solution dans le forum Ubuntu je vous la remet ici:
Start -> Control Panel -> System and Security -> Administrative Tools -> Local Security Policy -> Local Policies -> Security Options Ensuite sélectionnez l'option “Network security: LAN Manager authentication level” et paramétrez là à “Send LM & NTLM responses”

Puis paramétrez les deux options “Network security: Minimum session security for NTLM SSP client” et “Network security: Minimum session security for NTLM SSP server” en désactivant l'option “Require 128 bit encryption”.

Vous pouvez désactiver le lancement automatique du service samba au démarrage en commentant: #start on local-filesystems dans /etc/init/smb.conf Vous pourrez toujours activer ou désactiver le service par la commande: service smbd start/stop Dernière chose la découverte des machines compatibles smb ne fonctionne pas aussi bien sous Windows que Bonjour sous OSX donc si votre machine Backtrack n'est pas tout de suite détectée par Windows vous pouvez lui forcer la main en vous rendant directement à l'adresse de la machine Backtrack: smb://192.168.1.30

mardi 28 août 2012

Exploitation d'un téléphone Android et Meego via NFC

Je viens de regarder la présentation de Charlie Miller à la Blackhat 2012 sur le sujet du NFC. Sa présentation est disponible ici.

Il existe de nombreuses études de fiabilité autour des protocoles et de la technologie RFID. Les sujets tournent souvent autour de l'extension de la portée ou de l'attaque des protocoles populaires comme le Mifare ou l'EMV. Miller ne s'est pas intéressé à cet aspect du RFID et s'est concentré sur l'implémentation du NFC sur téléphone portable. Son objectif était de tester s'il était possible d'obtenir un accès root sur le téléphone en utilisant le NFC comme voie d'accès.

Le gros de son travail a consisté à trouver et développer une association de matériel et de logiciel qui lui permette de "fuzzer" la stack NFC des téléphones. Et ceci à différentes couches du protocole du plus bas niveau au niveau applicatif. Miller ne s'est cependant pas intéressé à la couche purement physique (transmission par ondes en l'occurrence).

Miller précise, que sauf particularité ou bug d'un téléphone, le NFC n'est activé que lorsque le téléphone n'est pas en veille. Il est en revanche possible d'activer un téléphone à distance dont on connait le numéro en lui envoyant un SMS par exemple.

Intéressant aussi à noter que la distance maximale de lecture est plus proche des 3/4 cm que des 10 cm parfois annoncés dans les spécifications.

Grâce à l'automatisation d'envoie de paquets défectueux ou corrompus Miller a donc pu mettre en évidence plusieurs bugs à différents niveau d'implémentation de la pile. Grâce à l'exploitation de certains de ces bugs il a été capable d'obtenir un accès root. La démonstration qu'il fait lors de sa présentation consiste à transmettre une URL par NFC qui sera automatiquement ouverte par le navigateur du téléphone. La page web en question utilisant un exploit webkit connu afin obtenir l'accès root.

On est donc pas dans une exploitation purement NFC puisque l'on se reporte finalement sur un bug du navigateur web mais on utilise le NFC pour amener l'utilisateur automatiquement sur cette page plutôt que par un autre biais comme l'ingénierie sociale.


dimanche 19 août 2012

Shodan sur iPhone

Une version mobile de Shodan est disponible pour iPhone depuis quelque semaines. Bon l'application est quelque peu instable pour le moment et a des bugs mais peut importe je ne doute pas qu'elle va être améliorée au cours des mois qui viennent. Ce qui est important c'est le concept de l'application. Je trouve particulièrement intéressant le concept de recherche géographique. Avec Shodan vous pouvez spécifier un pays, une ville ou des coordonnées GPS avec un filtre pour restreindre la zone de recherche. Pour le moment la zone de recherche minimum est de 5 miles mais on peut entrevoir un futur ou de son téléphone on pourra observer le monde des machines qui nous entourent. Couplé avec une analyse radio fréquence captant le WIFI, le Bluetooth, ou le GSM ce genre d'analyse géolocalisé pourrait donner des applications de reconnaissance très puissantes. On peut même imaginer faire des recoupements entre une machine apparaissant dans Shodan et un réseau WIFI que l'on capte par exemple.



Etonnant qu'Apple ai accepté cette application d'ailleurs. A n'en pas douter le testeur n'en comprenait pas la fonction. Si elle a du succès elle sera à n'en pas douter retiré de l'Apple Store.


Shodan, moteur de recherche de machines connectées

Shodan est une idée géniale. Shodan est un moteur de recherche qui parcours internet à la recherche de machines connectées. Shodan ne s'intéresse pas aux sites web comme Google ou Bing le font, vous pouvez ne pas avoir de port 80 ouvert mais quand même retrouver votre box, votre media center, votre camera IP sur Shodan. Pour le grand public internet est synonyme de web. Hors le web n'est que la partie visible et facilement accessible d'internet. Cette face cachée du net a toujours été accessible aux hackers, Shodan se contente d'en faciliter l'accès. 
Techniquement Shodan fait ce que tout bon hacker fait, il scanne le net pour des ports ouverts, capture des bannières, sauvegarde des hostnames, enregistre des versions de protocole, de serveur web, de système d'exploitation. Je ne peux qu'imaginer comment Shodan fonctionne en interne mais ça doit ressembler à un boucle infinie à base de
nmap -p 21,22,23,80,8080,443 -A -0 CURRENTIP
Théoriquement n'importe quel hacker / développeur aurait pu réaliser Shodan mais comme toute bonne idée sa valeur n'est pas dans l'idée elle même mais dans la réalisation de celle ci. John Matherly lui, a été jusqu'au bout de son idée.
On ne peut qu'imaginer que des hackers un peu besogneux, mais surtout des organisations cyber criminelles organisées, ont leur propre version personnelle de Shodan depuis des années. Les organisations gouvernementales de cyber surveillance et de renseignement également. D'ailleurs lorsque l'on a utilisé Shodan depuis un certain temps on se met à imaginer de multiples extensions possibles. Shodan permet d'ailleurs certaines extensions via son API.
Quelques exemple des usages les plus évidents de Shodan
  • Rechercher des machines avec des OS obsolètes.
  • Rechercher des machines avec un version spécifique d'un OS, d'un protocole, typiquement vulnérable à un exploit connu.
  • Rechercher des services sans protection, avec des mots de passe par défaut.
  • Rechercher des machines géographiquement proches.
  • Rechercher un certain type de machine: router, automate, caméra, mobile, passerelle, ...

jeudi 16 août 2012

Kisbee un sniffer pour protocole Zigbee

Zigbee est un des divers protocoles basés sur la norme 802.15.4. Cette norme est utilisé en domotique et dans de nombreuses applications faisant usage de capteur. Capteur de température, d'intensité, de débit d'eau, de luminosité, etc. L'avantage du Zigbee est de consommer très peu et de pouvoir porter sur de longues distances. Un capteur sur batterie s'il est bien paramètré peu fonctionner plusieurs années. Le débit est faible mais ce n'est pas l'objectif de la norme.

Il existe des sniffers industriels mais c'est la première fois que le grand public a accès à un sniffer open source, open hardware et qui va disposer du support de la communauté Kismet.

Les détails du projet Kisbee ici.

L'appareil peut même être relié en bluetooth à un téléphone Android afin de monitorer en temps réel et en mobilité ce que le sniffer détecte. Le sniffer est également compatible Kismet.


vendredi 10 août 2012

Trou de ver NFC

Présentation au Blackhat 2012 du l'outil NFCProxy qui permet de facilement créer un trou de verre (wormhole) ou relay entre deux téléphones Android compatibles NFC.

 


On distingue le trou de ver (wormhole) à l'attaque man in the middle dans le sens ou le trou de ver ne nécessite pas de comprendre quelque chose au protocole que l'on relaie. Dans le cas du NFC on a un téléphone qui lit une carte de paiement et un autre téléphone qui transmet le signal à un système de paiement. A aucun moment NFCProxy n'a besoin de décoder le protocole de paiement, ce sont les modules NFC du chaque téléphone qui l'interprètent. Ils agissent comme une passerelle d'un point géographique à un autre. D'ou l'analogie avec le concept de trou de ver en astronomie et en physique. On peut en revanche également détourner ce type de relais pour réaliser une attaque en man in the middle.

Résumé des menaces sur les mobiles en 2011 ... et en français.

Cette présentation d'un expert sécurité de chez Orange a eu lieu lors des Panoramas de la cybercriminalité 2011 organisé par l'association Clusif. Le lien direct vers la vidéo à télécharger ici.




Parmi les sujets abordés on trouve:
  • Android est il le windows XP du mobile ? La plateforme est telle attaquée en raison de sa popularité ou de son laxisme niveau sécurité ? Mon opinion sur le sujet en tant que développeur sur les deux plateformes iOS et Android est qu'Android est intrinsèquement plus vulnérable. Je dirais même que c'est une vrai passoire. La non certification des applications qui fait le bonheur de ses usagers est également la cause de nombreux problèmes. Entre le laxisme d'Android et le quasi fascisme d'Apple il semblerait que Windows Phone s'oriente vers un juste compromis en testant la fiabilité des applications sans en juger l'intérêt ou le contenu. (un peu comme le Symbian Signed à l'époque)
  • Hacking du GMS et détournement des femtocells. 
  • Hacking naissant du GPRS qui ne va pas résister bien longtemps. A noter qu'un grand opérateur des USA a déjà annoncé l'abandon du réseau GSM en faveur du réseau 3G pour 2017. Mais c'est une exception et le GSM a encore des années devant lui et probablement des dizaines d'années dans certains pays.
  • La compromission de Google Play et le fait que pirater un compte Google permet d'installer subrepticement une application de son choix sur le téléphone Android de l'utilisateur associé ?!!!
  • Le fait que Javascript pour offrir toujours plus de fonctionnalités et une alternative viable aux applications peut accéder de plus en plus en profondeur au système et ouvre ainsi une porte d'accès web aux pirates.
  • La multiplication des malwares sur mobile.
  • Des outils de DOS ou Dénis de Service sur mobile de type LOIC.
  • Le fiasco de l'affaire Carrier IQ.
D'une manière plus générale je conseille la lecture du panorama entier des menaces 2011 si vous ne vous intéressez pas qu'au mobile.

dimanche 5 août 2012

Extensions navigateurs pour la sécurité

Je ne sors jamais sur Internet sans elles. Mon navigateur de prédilection est Firefox à cause de la multitude de ses extentions disponibles. Franchement, si préfèrerais utiliser Safari ou IE que je trouve plus rapides mais seul Firefox propose autant de fonctionnalités annexes.

https everywhere permet de forcer toute connexion http en https. Indispensable pour se protogér des attaques Man In The Middle et des plugins de vol de cookies type Firesheep. J'ai recherché un équivalent sur Safari et j'ai trouve SSL everywhere. Malheuresement comme le décrit son auteur sur ce post les limitations d'API de Safari ne permettent pas le même niveau de protection que sous Firefox. Du coup l'auteur ne propose le plugin qu'à compiler pour que seuls les personnes averties et comprennant les limitations du plugin l'installe.

No script qui permet de désactiver toute forme de script dans les pages web. Javascript, Java, Flash tout est désactivé par défaut et No Script vous demande d'instaurer des règles d'autorisation au fur et à mesrure à la manière d'un firewall. Comme pour un firewall au début on doit valider pas mal de fenêtres de confirmations mais No Script se fait de plus en plus discret. On pourrait croire que naviguer sans scripting est impossible de nos jours mais on s'y fait très vite. Un des effets secondaires de No Script est de supprimer les majorités des publicités et fioritures inutiles comme les options de partage sur les réseaux sociaux qu'on retrouve sur toute page web de nos jours. Il accélère également la navigation en refusant de télécharger certaines données de la page.

Ad block car moins je vois de publicité mieux je me porte. Je n'ai ni radio ni télévision ce n'est pas pour me faire pourrir la cervelle par l'envahissement des publicités sur le net. De plus toutes ces systèmes de publicité sont munis de système de tracking et de cookie sauvegardant vos moindres faits et geste sur le net afin de dresse un profile psychologique. La suppressions de publicité est donc autant une protection de sécurité que de votre vie privée.

lundi 30 juillet 2012

Sécurité sous Mountain Lion

Je viens d'installer OSX Mountain Lion et j'ai déjà noté quelques différences au niveau sécurité:
  • Autoriser l'Apple ID à réinitialiser mon mot de passe: Cette petite case à cocher discrète lors de la création de compte n'était pas présente lors des versions précédentes il me semble. Il s'agit probablement d'une forme de synchronisation avec iCloud qui permet au serveur Apple de sauvegarder un identifiant permettant d'accéder au compte local. On tend vers ce que propose déjà Windows 8 en unifiant le compte utilisateur du PC et le compte Microsoft Live. L'unification de ces deux comptes présente beaucoup d'avantages utilisateur et avait d'ailleurs déjà été tenté par Microsoft à l'époque de Passport. Cela nécessite en revanche d'avoir une totale confiance dans la confidentialité et la sécurité des serveurs d'Apple ou de Microsoft, ce qui n'est pas mon cas. J'ai donc choisi de désactiver l'option.
  • iCloud: pour le moment, et probablement pendant encore de longues années, je fuis ces fonctionnalités comme la peste. Pas question d'autoriser la synchronisation de mes données personnelles sur des serveurs distants. Le seul cas qui me permettrait d'envisager utiliser une telle fonction serait si iCloud proposait un chiffrement pré internet (PIE ou Pre Internet Encryption).
  • Gatekeeper: Qui permet de n'autoriser l'installation que des applications qui ont été signées. Une bonne chose est que l'on peut désactiver l'option à la volée pour pouvoir forcer l'installation d'une application non signée sans avoir à désactiver cette protection dans son ensemble. J'au déjà du utiliser cette exception pour installer Truecrypt ou Eclipse. Avec Gatekeeper on se rapproche du fonctionnement des téléphones Android (ou Symbian à l'époque) qui restreignent par défaut l'installation d'application non signées mais permet aux utilisateurs avancées de la désactiver. Pas d'équivalent à ce système sur iPhone puisque l'installation d'une application non signées n'est pas possible sans jailbreaker.
  • Bac à sable (sandbox): le recours à l'AppStore est de plus en plus poussé sous Mountain Lion et la publication dans l'AppStore nécessite de développer ses applications en mode sandbox.
  • Filevault2: ou l'encryption de la partition système. Cette fonction a déjà connue quelques fiascos niveau faille de sécurité et je n'ai donc aucune confiance dans cette technique de crypto pour le moment. Malheureusement l'excellent Truecrypt ne permet pas le chiffrement de la partition système sur Mac.
  • Une amélioration de l'ASLR (Address Space Layout Randomization) qui permet de lutter contre les failles de type buffer overflow et autre.
D'autres détails très techniques sur cette excellent article d'Ars Technica.

    mardi 24 juillet 2012

    Cartographie et audit du réseau GSM avec des outils Open Source

    Il y présente le projet open source OsmocomBB qui a pour but de démocratiser la norme GSM et d'expérimenter en installant son propre réseau. En fait OsmocomBB modifie le firmware d'un téléphone GSM (coute liste de téléphones compatibles) et l'utilise ensuite comme une interface d'entrée. Impressionnant de pouvoir faire tout cela avec une PC et un bête téléphone.

    Il expose ensuite une technique de géolocalisation et de cartographie des cellules de manière purement passive et sans déplacement (pas de triangulation). Bon en fait c'est un peu de la triche car il récupère les cell ID et les géolocalise en requêtant une base de données des cellules fournit par une API Google.

    Il enchaine avec les attaques connues sur le GSM:

    • Brouillage (dénis de service) directement avec OsmocomBB en saturant le réseau (et ceci sans carte SIM !)
    • Géolocalisation
    • Dénis de service du client en le floodant d'appels et de SMS
    • Ecoutes des communications, SMS, voix, data depuis que le protocole est A5/1 est cassable
    • Usurpation d'identité

    Le son de la vidéo est malheureusement très faible.

    Hack Android : Cartographie et audit du réseau GSM avec des outils Open Source from Alexandre Girard on Vimeo.

    lundi 23 juillet 2012

    Abscence de sécurité sur les cartes de paiement sans contact

    Présentation très intéressante de Renaud Lifchitzt lors de l'évènement Pas sage en Seine 2012 organisé par La Cantine de Silicon Sentier. On peut y découvrir comment le réseau bancaire ne s'est absolument pas préoccupé de la sécurisation des cartes de paiement en considérant que les sommes modiques autorisée et la nécéssité de proximité du moyen de paiement les dédouanaient de tout travail sur le sujet. L'auteur démontre par exemple que la carte de transport Navigo est plus sécurisée que la carte de paiement ?!!

    vendredi 6 juillet 2012

    Filevault 2 vs Truecrypt

    Truecrypt a fait ses preuves. Je l'ai utilisé depuis les toutes premières versions sur tous mes PC, Mac, disques dur portables et clefs USB. Je n'ai jamais eu aucun problème avec, quelque soit la version de Windows ou de Mac OSX.

    Jusqu'ici Filevault (1) ne chiffrait que le répertoire utilisateur et pas tout le disque ce qui le rendait inférieur à Truecrypt ne serait ce que de ce point de vu. De plus il avait très mauvaise réputation et j'en ai moi même fait l'expérience quand Filevault a refusé du jour au lendemain de me connecter à mon compte utilisateur.

    En revanche OSX Lion a introduit FileVault 2 qui permet enfin de chiffrer l’entièreté du disque. Le problème c'est qu'en matière de sécurité nouveau code et code propriétaire sont rarement bon signe. Un point donc pour Truecrypt qui est open source et déployé depuis des années. FileVault 2 a d'ailleurs déjà eu son lot de failles de sécurité grossières. En revanche FileVault apporte de la simplicité en étant directement intégré à l'OS. Encore une fois il faut choisir entre simplicité et sécurité.

    J'étais donc bien tenté d'utiliser FileVault mais ne lui faisais pas confiance pour mes données perso et pro. Après avoir vérifié que FileVault réalise une chiffrement par volume (et non pas sur tout le disque) j'ai donc opté pour la configuration suivante:

    Une partition système sous FileVault
    Une partition de données sous TrueCrypt

    A noter qu'un gros avantage de TrueCrypt est qu'il est multi plateforme. Ainsi en cas de crash du PC je peux toujours lire mon disque sous une autre machine et un autre OSX (aux problème de driver HFS+ prêts).

    A noter qu'un conséquence du chiffrement par volume de FileFault est que si vous avez partitioné votre disque dur seule la partition système sera chiffrée. Il vous faudra activer manuellement la partition sur les autres volumes. Pour plus de détails cet excellent article d'Ars Technica.

    mardi 3 juillet 2012

    Intégration Mac et iOS en entreprise

    Video intéressante de Guillaume Gete de Gete Consulting lors des Apple Days 2012 organisés par l'association Epimac de l'EPITA. L'intervenant y aborde des sujets de sécurité et de fonctionnalité dédiées à l'entreprise sur iOS et OSX.

    Parmi les sujets abordés on peut citer:

    Kerberos (Serveur d'authentification)

    Samba (SMB)

    Recovery HD et l'importance de mettre un mot de passe au firmware.

    File Vault 2 et la fonctionnalité permettant (enfin) de chiffrer l'entièreté du disque dur.

    Fonctions destinées à l'entreprise (ex SCEP, Exchange Polls, Mobile Device Management ou MDM, ...)

    Gestion de profil et de certificats

    Utilitaire de configuration iPhone, Configurator, etc

    2012-06-01 EPIMAC Intégration Mac et iOS en... par epita

    jeudi 28 juin 2012

    Partager la connexion d'une machine virtuelle avec l'hôte OSX

    J'ai eu le problème récemment en vacances. Mon mac ne captait pas de réseau ouvert mais ma machine virtuelle Backtrack par contre en captait plusieurs grâce à une antenne USB externe à haut gain. Je ne pouvais pas utiliser l'antenne directement sous OSX par manque de driver. J'ai donc partagé la connexion de la VM Parallels grâce à la commande suivante:

    echo 1 > /proc/sys/net/ipv4/ip_forward
    iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE

    Ainsi mon installation d'OSX pouvait accéder au net grâce à la clé USB de la VM. J'en ai même profité pour utiliser le partage de connexion d'OSX pour partager la connexion de la VM en wifi avec mon iPhone. Ainsi mon iPhone pouvait utiliser indirectement la puissance de l'antenne USB externe de la VM Parallels.

    D'un certain point de vue ce montage m'a permis de relayer le signal wifi plus loin. En effet je ne captais le réseau wifi ouvert qu'à partir de la terrasse. Mon mac devait donc rester en extérieur. En partageant la connexion de la VM par OSX j'ai pu augmenter virtuellement la portée du signal jusqu'à l'intérieur de la maison et en profiter avec mon iPhone.

    mardi 29 mai 2012

    Hacking with the iPod Touch

    Une présentation Thomas Wilhelm pour la conférence Defcon 2009 donc qui date mais je l'avais trouvée très intéressante à l'époque et en retombant dessus j'ai trouvé qu'elle était tout à fait anontiatrice de ce qu'il est possible de faire aujourd'hui avec un iPhone en terme de hacking.

    La vidéo disponible ici

    Le PDF de la présentation ici

    Wide Area Bonjour

    J'ai déjà évoqué le sujet succinctement et je reviens dessus pour référencer quelques liens intéressants sur le sujet:
    Le blog Yoann Gini qui propose plusieurs articles techniques très intéressants sur le sujet Wire Area Bonjour
    Et un lien vers l'application iOS Bonjour Browser de Tildesoft qui était déjà disponible sous Unix et qui je ne le découvre que maintenant est également disponible sur iOS. De quoi prendre conscience de l'importance du protocole Bonjour en explorant ce qu'il broadcast sur votre réseau.


    lundi 28 mai 2012

    Mocha contre l'arp spoofing sous OSX

    On ne peut pas se prévenir contre une attaque arp spoofing ou arp poisoning mais on peut la détecter. Sous linux il existe arpwatch avec ou sans interface graphique. arpwatch est également disponible sous OSX par le biais des macports mais je préfère utilise Mocha. Couplé à Growl il permet d'avoir des popups d'alerte lorsqu'un appareil du réseau change d'adresse mac. Contre l'arp poisonnning c'est surtout la gateway que vous surveillerez. Par effet de bord il permet également de détecter la connexion d'un nouvel appareil au réseau ce qui peut être pratique d'autant que Mocha vous donne son IP. Espérons que son développeur portera Mocha sous Mountain Lion pour supporter le nouveau système de notification.

    La SandBox de l'AppStore, entitlements et powerbox.

    Directement inspirée de la sand box d'iOS, elle même inspirée d'OS précédents comme les smartphones J2ME, Apple introduit un bac à sable obligatoire pour les applications OSX distribuées dans l'App Store.

    Le support de cette sand box passe par la définition d'une liste "d'entitlements" ou autorisations nécessaires au bon fonctionnement de votre application. L'établissement de cette liste permet de restreindre les accès disponibles à votre application et ainsi de mitiger les dégâts en cas de compromission. Contrairement à Androïd qui possède le même mécanisme mais gère une liste interminable d'autorisations OSX n'en propose que 15:

    Le choix a été basé sur la simplicité de compréhension qui ne doit pas dérouter l'utilisateur. En effet si le système pause une question que l'utilisateur ne comprend pas ce dernier se contentera d'accepter l'accès pour pouvoir continuer à travailler. Les autorisations demandées doivent donc être très simples à comprendre comme par exemple: "L'application ACME peut elle accéder à la caméra ?"

    Voici la liste des "entitlements" sous OSX Lion:

    • FileSystem: User-selected Files, Download Folder
    • Network Client
    • Network Server
    • Devices: Camera, Microphone, Printing, USB Bus
    • Personnal Information: Address Book, Calendars, Location
    • Assests: Music, Movies, Pictures

       
    De plus comme sous iOS tout ce qui compose l'application et son fonctionnement est enfermé dans son propre répertoire, son bac à sable.

    Powerbox:

    Ce système permet à une application de demander à l'utilisateur d'ouvrir un fichier sans que l'application elle même n'ait accès à l'ensemble du système de fichier. Au lieu que l'application ouvre sa propre fenêtre de sélection elle appelle la Powerbox. Cette Powerbox est une fenêtre de dialogue classique de sélection de fichier. L'utilisateur sélectionne le fichier et la Powerbox ne renvoie que ce fichier et aucun autre à l'application. A aucun moment l'application n'a eu accès à d'autres fichiers que ceux explicitement choisis par l'utilisateur.

    Systèmes de sécurité sur OSX

    Par défaut OSX offre différents services permettant de protéger les données utilisateur:

    KeyChain:

    Est un porte clé numérique qui permet de sauvegarder toutes vos données d'accès tels que les mots de passe, les identifiants, les clés d'authentifications, etc. Toute application bien conçue ne stocke pas les coordonnées d'accès d'un utilisateur en clair mais utilise l'API KeyChain. Ce service disponible sur OSX comme sur iOS permet de protéger tout ce qui vous y placé sous un seul mot de passe qui est le mot de passe du compte de l'utilisateur. Aucun programme ou utilisateur ne pourra accéder au contenu du porte clé numérique sans la saisie du mot de passe de votre compte. Malheureusement, et particulièrement sur iOS, énormément d'applications sont mal conçues ou bâclées du point de vu sécurité et se contentent de stocker les données privées de l'utilisateur directement en clair ou sous une technique de chiffrement souvent vulnérable car mal implémentée ou mal maitrisée.

    FileVault:

    Qui est apparu avec OSX Panther et qui permettait jusque là d'encrypter le répertoire utilisateur entier. Depuis OSX Lion c'est le disque dur entier qui pourra être encrypté. Personnellement j'ai toujours utilisé Truecrypt, sous OSX comme sous Windows, avec une encryption totale du disque dur. Je n'ai jamais eu de problème avec et l'impact sur les performances de la machine est totalement négligeable. Le seul ralentissement notable se situe lors de la mise en hibernation et du réveil car toute la RAM doit être chiffrée avant extinction totale de la machine.

    Le firewall:

    Auquel je rajoute toujours l'excellent Little Snitch qui offre beaucoup plus de contrôle sur les accès entrant ou sortant d'un programme. Qui plus est comme sous Windows le firewall d'OSX n'offre une protection par défaut que pour les accès entrants et non sortant. Ainsi un malware pourra expédier vos données sur internet sans que le firewall OSX ne bronche, alors que Little Snitch lui vous enverra une alerte.

    La gestion des accès de chaque fichier en lecture, écriture, exécution propre à tout système Unix et repris dans le système HFS+ propre à OSX.

    Lock Screen:

    Et oui mine de rien le fait d'activer le verrouillage automatique lors de la mise en veille est un outil précieux pour protéger son Mac d'un accès non autorisée par une personne tierce.

    Et depuis la mise en place de l'App Store OSX Apple rajoute le support d'une sandbox comme sur iOS.

    vendredi 25 mai 2012

    Utilisations concrètes du protocole Bonjour sous OSX

    Le protocole Bonjour est principalement utilisé par Apple bien que open source et compatible avec Windows et Linux mais aussi les smartphones iPhone ou Androïd. Voici une petite liste obtenu au WWDC que je trouvais intéressante sur l'utilisation concrète du protocol Bonjour:

    • Découvertes des imprimantes réseau LAN
    • Dans le Finder sous OSX depuis la version 10.5 on peut découvrir les machines ayant un partage de serveur AFP.
    • La fonction AirDrop introduite dans Lion utilise Bonjour.
    • iTunes utilise Bonjour pour découvrir les play list partagées et aussi les appareils compatibles AirPlay.
    • Safari supporte Bonjour et Wide Area Bonjour (dans la rubrique collections)
    • iChat affiche les personnes connectées autour de vous.
    • Time Machine le système de sauvegarde d'Apple
    • Le Terminal pour découvrir des serveurs SSH, etc.
    • Le Bonjour Sleep Proxy qui permet de réveiller un mac à distance façon Wake On Lan

    IOS utilise également Bonjour pour de nombreux services

    • AirPrint
    • AirPlay
    • Home Sharing
    • Apple Remote App

      vendredi 4 mai 2012

      Serveur VNC sur iPhone ou iPad

      Plusieurs applications de client VNC sont disponibles sur l'AppStore. En revanche les limitations de la sand box et des conditions imposées par Apple ne risque pas de rendre possible un serveur VNC d'ici peu. En revanche quand on a jailbreaké son iPhone c'est une autre histoire.

      L'application serveur VNC sur Cydia se nomme Veency. Elle permet d'activer / désactiver un serveur VNC sur le port standard 5900. La saisie d'un mot de passe est possible. Par défaut le serveur demande confirmation à l'utilisateur lorsqu'une demande de connexion est reçu.

      Pour la simplicité d'usage je conseille fortement d'installer l'interrupteur Veency Toggle dans SBSettings afin de pouvoir activer / désactiver Veency rapidement sans passer par l'écran paramètre.

      Si l'on veut accéder par Internet à son iPhone / iPad se pose le problème de l'adresse IP dynamique. On peut alors utiliser comme sur PC un utilitaire qui permet de mettre à jour un compte sur dyndns.org. Sur Cydia l'application en question se nomme iDNS. Elle offre la possibilité de se lancer automatiquement au lancement de l'iPhone.

      Avec ces deux programmes Veency et iDNS on peut configurer son téléphone ou sa tablette pour une prise de contrôle totale à distance.

      Compilation et signature d'une application XCode en ligne de commande

      Pour signer une application vous aurez besoin de votre clé privée et d'un fichier "mobileprovision" correspondant au "bundle identifier" de votre application. Il convient de noter que XCode stoque vos "mobileprovision" qui servent à signer les applications dans le répertoire suivant:

      /Users/UserName/Library/MobileDevice/Provisioning Profiles

      Les noms de fichier donnés par XCode aux "mobileprovision" n'étant pas très lisibles vous pouvez également organiser votre propre répertoire de profiles avec des noms plus explicites comme MaSuperAppAdHoc.mobileprovision.

      Pour compiler en ligne de commande le processus est le suivant:

      TARGETNAME=NomDeMonProjet
      BUILD
      TYPE=Release
      NAME=MaSuperApp
      TARGETSDK=iphoneos
      xcodebuild -target $TARGETNAME -sdk $TARGETSDK -configuration $BUILDTYPE PRODUCT_NAME=$NAME 2> /dev/null

      Le paramètre NAME est très pratique car il permet de modifier à la volée le nom de votre application tel qu'il apparait sur le bureau de l'iPhone.

      Le paramètre BUILTYPE peut contenir la valeur Release, Debug ou tout autre schéma de compilation que vous avez créé sous XCode. Par exemple MaSuperAppAdHoc ou MaSuperAppAppStore.

      Pour obtenir la liste des valeurs possibles dans TARGETSDK vous pouvez utiliser la commande:
      xcodebuild -showsdks

      Mac OS X SDKs:
         Mac OS X 10.6 -sdk macosx10.6
         Mac OS X 10.7 -sdk macosx10.7

      iOS SDKs:
         iOS 5.0 -sdk iphoneos5.0

      iOS Simulator SDKs:
         Simulator - iOS 4.3 -sdk iphonesimulator4.3
         Simulator - iOS 5.0 -sdk iphonesimulator5.0

      La signature de l'application se réalise avec la commande suivante:
      DEVELOPPERNAME="iPhone Distribution: Nom Prénom"
      PROVISONNING
      PROFILE="MaSuperAppAdHoc.mobileprovision
      /usr/bin/xcrun -sdk iphoneos PackageApplication -v "$NAME.app" -o "$NAME.ipa" --sign "$DEVELOPPERNAME" --embed $PROVISONNINGPROFILE

      Si vous cumulez toutes ces commandes dans un petit fichier script vous pourrez automatiser la compilation et la distribution de vos applications. Si en plus vous rajoutez un scp vers votre serveur de test vous pourrez distribuer vos applications en adhoc over the air en une seule étape.

      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