19 mai 2017

L'Orange lui va si bien

Dans le cadre professionnel, je gère un abonnement internet pour le logement du gardien de mon entreprise. Il s'agit d'une offre classique Orange pour particulier. Le quartier où je travaille devenant (enfin) une zone éligible à la fibre optique pour les particuliers, je demande l'évolution de l'abonnement Orange vers son homologue survitaminé, toujours chez le même fournisseur d'accès.

Attention, à ce stade du récit, il faut comprendre que sous la présidence de Nicolas Sarkozy, certaines des entreprises "majeures" du marché de l'accès internet se sont partagées le gâteau déploiement de la fibre jusqu'à l'habitant (FTTH). Les découpages géographiques ont fait que je suis en zone "SFR", ce qui signifie que c'est la Société Française du Radiotéléphone (SFR donc) qui investit dans des kilomètres de fibres optiques autour de mon lieu de travail. Et sur mon lieu de travail vit un gardien (dans un logement de fonction), dont je m'occupe de l'accès à internet (suivez un peu ;-).

En cliquant dans l'interface web du site Orange pour confirmer ma demande de passage à "la fibre", je ne me doutais pas de l’enchaînement qui allait suivre...

Pour faire court et ne pas vous noyer dans une masse de détails ubuesques, j'ai successivement reçu des emails d'Orange, des SMS de prises de rendez-vous avec des techniciens sous-traitants de SFR, des coups de téléphone me confirmant les SMS et l'imprécision des horaires de rendez-vous, des emails de confirmation des coups de téléphone, et des emails d'enquêtes de satisfaction client (parce que c'est important pour nos relations) alors que rien n'avançait...

Les techniciens sont pourtant venus trois fois.
A chaque fois, il s'agissait d'une équipe différente et d'une entreprise différente.
A chaque fois, ils n'avaient aucune information, ni sur le dossier, ni sur les suites de la venue de l'équipe précédente...

Le problème est pourtant simple : vu la hauteur des couloirs et la situation des chemins de câbles dans mon entreprise, il faut une NACELLE pour tirer la fibre optique jusqu'au logement du gardien.

Toutes les équipes sont venues avec des échelles, des tabourets, des outils, des tire-câbles, etc., mais pas l'équipement approprié pour travailler en hauteur. L'installation n'a donc pas eu lieu.

Les mois passent, je relance de temps en temps mon dossier par un email aux services commerciaux qui me disent qu'ils vont prendre les choses en main (mais qui ne me disent jamais où ils en sont).

Jusqu'à ce que je reçoive cette lettre d'Orange :
"Suite à la résiliation de votre offre ou option, ou à votre déménagement, [...] et conformément à vos conditions contractuelles, nous vous remercions de bien vouloir restituer les équipements mis à votre disposition par Orange [...].
A défaut, les frais suivants vous seront facturés : Livebox 100 euros."

La résiliation ? Mais quelle résiliation ?

Je transmets le courrier à ma commerciale Orange préférée (commerciale pro) qui me dit qu'elle va s'occuper du dossier...

15 jours après, je reçois un courrier de relance intitulé "Rappel : restitution des équipements mis à votre disposition par Orange", contenant à peu près les même information, avec du gras sur la date limite de retour du matériel (quand j'écris "avec du gras", je fais allusion évidemment à la graisse en typographie).

Je commence à me demander si je ne vais pas goûter aux joies de la vie communautaire décrite par Piper Chapman...

J'appelle le 3900 où je passe successivement avec succès les différentes étapes me permettant d'accéder au graal suprême : l'accès à un être humain. Un être humain du service technique. Pourquoi du service technique, je ne sais pas. J'ai juste dit "internet" à un automate qui me demandait de résumer en une phrase mon problème.

L'être humain me dit qu'il s'agit d'un problème qui ne peut être traité qu'au niveau commercial, et me passe un autre être humain du service commercial. Ils sont donc au moins deux derrière le 3900 de chez Orange, derniers humains non encore automatisés.

Je suis extrêmement poli, calme, à l'écoute et bienveillant, comme je l'apprends en formation au management chez Germe. Et il en fallait de la bienveillance pour écouter ce compagnon en humanité m'expliquer :
"Mais monsieur, c'est tout à fait normal : vous avez reçu un courrier type puisque votre dossier m'indique que SFR refusant l'installation de la fibre, dans votre cas, l'évolution vers l'offre fibre Orange ne peut se faire".
"Mais vous allez couper l'accès internet ?"
"Non, non, votre abonnement est remis à son offre antérieur. Vous n'avez rien à faire".

Donc, pour résumer, quelqu'un, dans l'entreprise Orange, planqué bien loin du terrain, s'est dit "c'est compliqué d'ajouter un courrier type couvrant le cas d'une annulation de demande d'évolution d'offre. On va plutôt envoyer le courrier type de retour du matériel avec menace de faire payer 100 euros, c'est pareil"...

Sachant que l'être humain que j'avais au bout du fil, bien qu'arrogant dans ses certitudes ("vous savez monsieur, c'est compliqué la fibre avec toutes les contraintes imposées par la réglementation"), ne pouvait pas faire grand chose à part me confirmer que je n'avais rien à faire et que mon abonnement antérieur était bien maintenu malgré les deux courriers de demande de restitution du matériel ("mais non, monsieur, je ne peux pas vous le mettre par écrit, mais vous savez c'est bien consigné dans le dossier que j'ai sous les yeux").

Je m'attends au pire dans les jours qui viennent, concernant l'abonnement internet de mon gardien. Évidemment, si jamais Orange coupe la ligne, je lui garantis un maintien de l'accès internet via notre liaison pro.

Le plus drôle dans cette histoire, c'est que je sais qu'il y a dans mon entreprise une fibre Orange, éteinte depuis 10 ans (issue d'un marché gagné par Orange pour la région afin de relier notre école d'ingénieurs à internet). Cette fibre est toujours là. Je connais son cheminement jusqu'à la rue. Elle pourrait être utilisée pour nous relier de nouveau à internet, du moins pour relier le logement du gardien. J'ai montré cette fibre à tous les techniciens qui sont venus sur place, et j'en ai parlé à tous mes interlocuteurs de chez Orange (je n'ai jamais eu à faire à quelqu'un de chez SFR). Personne ne veut l'utiliser. Nous sommes en zone SFR, ce n'est pas le même service, nous ne sommes pas habilités à brancher cette fibre, le diamètre du câble est trop gros pour notre boîtier...)

Et pourtant l'Orange lui allait si bien.


15 mai 2017

Analyse inforensique simple avec des outils gratuits

Lors d'une discussion avec un Officier de Police Judiciaire, celui-ci me demandait comment faire une analyse de disque dur sans budget logiciel, tout en garantissant un bon niveau d'investigation.

Après avoir pris les précautions d'usage consistant à dire qu'on ne peut pas mener à bien des investigations techniques sans comprendre ce que l'on fait, je me suis dit que je pouvais faire sur ce blog une proposition (SGDZ), même si celle-ci peut éventuellement faire hurler les techniciens les plus pointus sur ces sujets (je trolle un peu aussi à ma manière).

Mon hypothèse de travail va consister à prendre le cas le plus répandu : un ordinateur sous Windows, non chiffré, avec un usage bureautique basique. L'objectif est de trouver un fichier présent sur le disque, éventuellement effacé.

1) Préserver les éléments de preuve au maximum.

Le disque de stockage de l'ordinateur ne doit pas être modifié. Or, un démarrage du système d'exploitation modifie plusieurs informations du disque, modifie des caches, procède éventuellement à des mises à jour, des connexions internet, etc. Il faut donc travailler sur une copie du disque d'origine.

2) Copier les données.

Parmi toutes les manières de procéder à la copie des données du disque de stockage, je vais présenter celle qui me semble la plus simple, même si elle n'est pas sans risque.

Les données sont aujourd'hui de plus en plus stockées sur un disque SSD, ou sur des mémoires flash plus ou moins propriétaires. Il n'est pas toujours facile de démonter le disque de stockage pour le placer sur une plate-forme adaptée, avec bloqueur d'écriture et connecteurs ad hoc.

Il est possible de démarrer l'ordinateur sur une clef USB appropriée, à condition de connaître parfaitement la procédure de démarrage sur clef USB spécifique de l'ordinateur.

Il faut donc se documenter le plus possible (sur internet) sur le modèle d'ordinateur, et sa procédure d'accès au choix du périphérique de démarrage (touche Echap, ou F1, ou F2, ou F11, ou F256, ou Suppr...).

Ma recommandation est de retirer si possible le disque de l'ordinateur et de faire des essais "à vide" pour être sur de démarrer correctement sur la clef USB.

J'utilise une clef USB de démarrage DEFT qui fonctionne pour tous les ordinateurs que j'ai rencontrés pour l'instant. Cette clef a la particularité de protéger tous les disques contre l'écriture (de manière logicielle), en plus de disposer de nombreux outils d'investigation qu'il serait trop long de présenter ici (mais qui sont très intéressant).

Une fois le démarrage sur clef USB DEFT effectué, il ne reste plus qu'à brancher un disque externe de capacité suffisante sur l'ordinateur et d'utiliser la commande dd, ou dd_rescue, ou ddrescue pour effectuer une image bit à bit du disque de stockage. Attention de bien vérifier les noms logiques des devices : il est préférable de savoir bien différencier le disque cible du disque source, surtout qu'il faudra bien passer le disque destiné à contenir l'image en lecture/écriture. Il faut comprendre ce que l'on fait.

Une fois la copie terminée, éteindre l'ordinateur et souffler un peu car le contenu du scellé est préservé (si l'ordinateur n'est pas tombé en panne JUSTE pendant ce moment là, auquel cas, il faudra faire jouer son assurance en responsabilité civile NECESSAIREMENT prise pour ce type d'activité).

3) Analyse des données de la copie.

Chacun est libre du choix de ses outils préférés (GNU/Linux, Windows, FreeBSD, etc.), mais comme la plupart des enquêteurs sont sous Windows, je recommande l'outil gratuit OSFMount qui permet de monter en lecture seule une image dd sous Windows (qui sera attribuée à un lecteur disponible, G: par exemple).

Cela permet de se promener sur le contenu (de l'image) du disque, sans modifier son contenu. Cela permet d'utiliser tous les outils de récupération de données,  tels que Recuva ou PhotoRec, ainsi que la version Windows de The Sleuth Kit (TSK).

Vous pouvez également utiliser tous les outils de la LiberKey, en particulier SearchMyFiles ou Everything.

Conclusion :

Il est possible d'utiliser des outils gratuits pour faire une analyse des données d'un support de stockage. MAIS cela ne dispense pas de SAVOIR ce que l'on fait et oblige à COMPRENDRE les concepts en jeu.

On ne s'improvise donc pas expert informatique.

Par contre, ces outils étant gratuits, ils sont faciles d'accès et permettent à une personne curieuse de s’entraîner, par exemple sur un vieux disque, et parfois de sauver une situation où la sauvegarde est un peu ancienne...

03 mai 2017

La carte graphique, CUDA et l'expert

Je me suis lancé passionnément dans le calcul parallèle (cf billet précédent). Pour cela, je me suis offert une carte graphique à un prix abordable et que je destine au calcul intensif.

Imaginez mon impatience en attendant la livraison... Le jour J arrive et me voilà en train de démonter ma machine pour y ajouter ce magnifique objet technologique.

A ce stade du récit, il me faut faire un petit rappel : je suis adepte de GNU/Linux depuis de nombreuses années. J'aime tester de nouvelles distributions, j'aime l'univers GNU/Linux, ou FreeBSD. J'ai fait ma thèse sous Domain/OS et HP-UX. J'ai bien connu la distribution Yggdrasil qui était la première sur cédérom, c'est dire si je suis vieux. A titre professionnel, j'ai d'abord choisi Yggdrasil, puis Slackware, puis Red Hat, et enfin depuis de nombreuses années, Debian. A titre privé, j'ai beaucoup aimé Gentoo, puis Ubuntu, pour maintenant utiliser Mint.

La plupart des analyses techniques que je réalise pour mes expertises judiciaires sont faites sous GNU/Linux en utilisant des logiciels en ligne de commande.

Pour autant, j'apprécie la facilité d'installation des distributions GNU/Linux actuelles : il suffit de graver un DVD ou d'utiliser une clef USB et hop, les différents éléments de votre machine sont fonctionnels (en général ;-).

J'aime beaucoup la facilité...

Les plus barbu(e)s d'entre vous se souviennent des heures passées à configurer leur serveur X pour arriver à brancher deux malheureux écrans sur la même carte graphique. C'est un peu là où je vais en (re)venir.

La semaine dernière, lorsque j'ai reçu ma nouvelle carte graphique, j'étais tout excité à l'idée de transformer mon bête ordinateur en bête de calculs parallèles. Après m'être assuré (quand même) que toutes mes données étaient correctement sauvegardées, j'ai démonté ma tour pour y insérer cette nouvelle carte graphique surpuissante.

Premier constat : la carte graphique nécessite une alimentation dédiée, avec un connecteur 8 broches... Affolé, je regarde l'intérieur de ma machine éventrée, et je constate avec joie qu'un connecteur sort de mon boitier d'alimentation avec 6 broches d'un côté et deux de l'autre qui ressemblent fort au truc nécessaire pour faire fonctionner ma carte graphique. Je branche, rien ne fume \o/.

Deuxième constat : je dispose de deux emplacements PCI Express me permettant de conserver mon ancienne carte graphique utilisée par mes deux écrans.

Je branche tout ce petit monde et redémarre mon ordinateur. Magie (et travail) de la communauté open source, tout est reconnu par le système d'exploitation, les pilotes par défaut chargés et tout fonctionne parfaitement. Sauf que...

Je ne perds pas de vue mon objectif : faire massivement des calculs. J'ai donc ma carte graphique d'origine sur laquelle sont branchés mes deux écrans, et ma nouvelle carte graphique sur laquelle rien n'est branché et qui va me servir de calculateur GPU. Sauf que...

J'ai soigneusement choisi mon modèle de carte graphique pour qu'elle intègre un GPU Nvidia qui, au moment où j'écris ce billet, est admirablement programmable avec un environnement qui s'appelle CUDA. Avant de casser ma tirelire, j'avais fait quelques essais avec le vieux portable de ma fille (seul appareil de la maison muni d'une carte Nvidia). Sous GNU/Linux Mint, l'installation de l'environnement de développement CUDA se fait très simplement avec la commande "sudo apt-get install cuda". Après quelques réglages post-installation, me voici donc en train de jouer avec les 1920 cœurs des 15 processeurs graphiques. Je suis aux anges :-) Sauf que...

Sous Windows, quand vous installez un nouveau composant ou un nouveau programme, il faut la plupart du temps redémarrer l'ordinateur. Ce n'est pas vrai sous GNU/Linux. J'ai donc pu m'amuser immédiatement pendant plusieurs heures avec mon nouveau jouet avant d'éteindre mon ordinateur.

Mais le lendemain, catastrophe. En démarrant ma machine, plus rien ne fonctionnait. Enfin, "plus rien" non : je n'avais plus d'interface graphique fonctionnelle. Me voici parti pour plusieurs jours de galères "à l'ancienne" pour essayer d'abord de réparer ma configuration graphique, puis pour essayer de comprendre. Comme avant, j'ai écumé les forums, j'ai cherché les tutos, les howto, les manuels correspondant à mon problème...

Pour faire court : je n'ai pas réussi à trouver d'aide.
Oui, je sais. Je suis EXPERT. Je suis EXPERIMENTE (= vieux). Mais non. Je n'ai pas réussi à faire fonctionner deux cartes graphiques (une vieille Radeon et une jeune Nvidia) dont une devait être consacrée à la gestion de mes deux écrans et l'autre à mes calculs massivement parallèles... Le serveur X Windows et les deux pilotes graphiques associés (libres ou propriétaires) ne semblent pas vouloir fonctionner ensembles après redémarrage. Pourtant j'arrive à faire fonctionner l'ensemble AVANT redémarrage...

Je me suis tapé la configuration d'un xorg.conf (fichier qui est sensé avoir disparu).
J'ai abandonné Mint pour installer Ubuntu (comme conseillé par la doc CUDA).
J'ai réussi la configuration avec une seule carte RADEON.
J'ai réussi la configuration avec la seule carte Nvidia.
MAIS je n'ai pas réussi à créer la configuration avec les deux cartes.

Après plusieurs jours de transpiration, j'en suis arrivé à la conclusion suivante : je suis NUL en configuration graphique GNU/Linux.

J'ai donc ravalé ma fierté, retiré ma nouvelle carte graphique, remis ma configuration d'origine GNU/Mint, et j'ai sorti un vieux PC de son placard. J'y ai installé un Ubuntu server tout frais. J'y ai placé ma carte graphique surpuissante. J'ai constaté l'absence d'alimentation dédiée... J'ai acheté cet adaptateur d'alimentation SATA vers carte vidéo PCI Express 8 broches. J'ai attendu trois jours pour la livraison.

Et j'ai maintenant un calculateur dédié aux calculs parallèles.
Je m'y connecte à distance en ssh. Je lui ai consacré un processus de sauvegarde dédié. Il a une place particulière dans mon bureau et dans mon cœur.

Il faut savoir reculer pour mieux avancer.

Avant je programmais un réseau de neurones qui travaillait sur 60 000 exemples d'apprentissage sur plusieurs semaines. Maintenant j'ai 60 000 réseaux de neurones identiques qui travaillent chacun en parallèle sur leur exemple d'apprentissage, en une nuit à une vitesse de folie sur 8 Go de mémoire graphique ultra rapide.

Le rêve d'un vieux chercheur :-)
Mais cela, c'est une autre histoire.