QNTNKSR

« Les données de milliers de voyageurs de la SNCB publiées sur Internet »

Posted in infosec by Quentin Kaiser on 22 décembre 2012

emailvision

Origine

La SNCB subit de nombreuses « attaques » depuis son arrivée dans le secteur numérique; on se souvient par exemple de ceci ou encore de cela.  Un trait commun à ces attaques, l’utilisation très large du terme piratage pour définir une négligence de leur part.

Aujourd’hui, c’est le manque de détails qui m’a particulièrement attiré.

Tout commence par un tweet de la NURPA, renvoyant vers cet article de RTLinfo où l’on apprend du porte-parole de la SNCB Thierry Ney qu’un listing client destiné à être utilisé dans une campagne de mass mailing concernant les fêtes de fin d’année s’est retrouvé dans la nature suite à un piratage effectuée par une personne ayant usé de stratagème afin d’obtenir un accès à une partie du site qui n’est normalement pas accessibles aux utilisateurs lambda.

Après un long fou rire, je décide donc d’en savoir plus…

Google dork

Si vous ne le savez pas, le moteur de recherche de google permet d’effectuer des recherches très précise en effectuant des recherches sur les méta-données¹. Effectuer des recherches sur ces méta-données permet de cibler très précisément une victime potentielle, cela s’appelle le google dorking. Analysons encore une fois la vidéo, on indique que le site web attaqué est b-europe.com. Nous commençons donc notre recherche par inurl:b-europe.com, premiers résultats, rien à se mettre sous la dent. Ensuite on voit le journaliste parcourir le listing, évidemment flouté. Le document est consulté depuis un navigateur tournant sous windows xp, exit donc les documents office, pdf et archives. Quoi de plus simple qu’un vulgaire txt ? J’inscris donc filetype:txt à la suite de ma recherche. Bingo !

Bingo !

Bingo !

Evidemment, le(s) employé(s) qui ont déposé le document ce sont fait taper sur les doigts par leur chef de projet et le document a disparu depuis. Et fort heureusement pour la SNCB, Google ne l’a plus dans son cache.

Emailvision.txt

Ne voulant pas m’arrêter en si bon chemin, je décide d’effectuer une recherche sur le nom du document pour voir si le « pirate » ne l’aurait pas déposé sur pastebin. J’y apprend qu’Emailvision est une API python permettant de faire du mass mailing, pas mal, mais je découvre plus que ça en tombant sur l’identité du fameux « pirate ».  Habitué du forum adsl-bc, ilindique dans ce post qu’un listing client appartenant à la SNCB est visible publiquement avec une simple recherche google. Utilisateur qui a eu la bonne réaction d’éditer son post afin d’enlever l’url incriminée.

Affaire conclue.

Donc la SNCB, quelques règles à suivre pour éviter de se faire « pirater » :

– modifier vos robots.txt afin que le moteur d’indexation de Google évite de parcourir vos documents confidentiels
– éviter de stocker ce type de document sur des serveurs web publique

Bien à vous,

Un internaute bienveillant.

1. Données décrivant d’autres données, comme le type de fichier, sa taille, sa date de création.

Tagged with: , ,

C’est moi qui ai la plus grosse.

Posted in développement by Quentin Kaiser on 10 mai 2011

En TP, on travaille actuellement sur ce qu’ils appellent un ‘labo multidisciplinaire’. Un bien beau mot pour une application qui mixe Java/base de données/ interface graphique et ergonomie. Bref, je m’éloigne du sujet.

Il semble que l’activité favorite du codeur beauf’ est de se vanter du nombre de ligne de code qu’il a écrite. Que cela soit dans les hauteurs (over 9000 ! ) ou dans l’optimisation (under 9000!).
Donc pour tout ce petit monde qui s’amuse, calculette à la main, à accumuler le nombre de lignes fichier après fichier dans son IDE préféré  je  donne une simple ligne qui vous permettra de prouver que c’est toi qui a la plus grosse parmi tes camarades !

find . -name ‘*.java’ | xargs wc -l

A ciao bonsoir !

Règne de l’immédiateté.

Posted in Uncategorized by Quentin Kaiser on 9 mai 2011

J’ai vu les plus beaux esprits de ma génération détruits par la brièveté, l’hyper-connectivité, émotionnellement avides d’attention, trainant dans des communautés virtuelles à trois heures du matin, entourés de pizzas défraichies et de rêves négligés, cherchant un sens, n’importe quel sens, des hipsters coiffés du même chapeau brûlant de trouver la même approbation sceptique à travers la dynamo holographique et technologique de l’époque, blessés par les connexions faibles et la récession, sans but, s’asseoir, micro-conversant dans les ténèbres surnaturelles de cafés avec wifi, flottant par dessus les villes, contemplant la techno, dénuder leur cerveau jusqu’au vide noir des nouveaux médias, des leaders d’opinion et autres prétendus experts, traverser leurs médiocres études universitaires avec des yeux rayonnants et malicieux, hallucinant des décors de Seattle à la Tarantino en écoutant des professeurs de la culture populaire disserter sur la guerre et le changement, abandonner pour suivre leur muse créative, accrochant des fanzines et des œuvres d’art obscènes aux fenêtres de l’internet, s’accroupir dans des chambres miteuses en sous-vêtement superman ironique, brûlant leur argent dans des poubelles années 80 et écoutant Nirvana à travers des murs fins comme du papier, être fouillés avec leur barbe grunge dans le métro à la station Shinjuku, manger numérique dans des hôtels ripolinés ou boire de la colle blanche dans quelque allée secrète, la mort ou scarifier leur torse de tatouages pour remplacer leurs rêves finissant en cauchemar car il n’y a pas de rêve dans la Nouvelle Immédiateté, incomparablement aveugles à la réalité, inventant la nouvelle réalité par des créations creuses projetées sur des écrans lumineux.

Tweet, de Oyl Miller (d’après Allen Ginsberg)

(via @francbelge)

IWay v0.1

Posted in développement, iway, opendata by Quentin Kaiser on 8 mai 2011
trafic

Hamed Saber - Tehran Traffic Jam

L’écriture manque un peu sur ce blog depuis le début mais c’est en raison des projets sur lesquels je bosse, dont celui-ci😉

Si vous avez lu les précédents articles vous savez que l’open data / open information me tient à coeur. Malgré l’échec cuisant avec la TEC, même en passant par le commissariat easi-wal, je me suis plongé dans le code d’iRail pour comprendre son fonctionnement et peut-être l’adapté à d’autres informations.

Constat simple : l’API d’ iRail est très bien conçue. On peut encore optimiser le code avec ce genre de chose c’est certains, mais c’est déjà excellent.

Comme c’est à la mode j’ai donc forké le dépot sur github pour créer le mien : IWay. L’objectif, relativement simple,  est aggréger toutes les données concernant la mobilité en voiture.

Dans la liste des données que j’ai retenues il y a :

  • l’état du trafic
  • les radars
  • les alertes météo
  • les caméras autoroutières
  • les parkings
  • pollumètre
Les données peuvent être récupérée en fonction de la région désirée (Bruxelles capitale, Flandre, Wallonnie et Fédéral) et sont pour la plupart géolocalisée.
Si je présente ce projet sur mon blog ce n’est pas pour faire de la pub ni pour me vanter de mes avancées (bien au contraire) mais bien pour recruter.
J’ai besoin de personnes compétentes pour apporter des améliorations, notamment pour :
  • réfléchir aux meilleurs paramètres à prendre en compte lors d’une requête. La langue, la proximité, la région, le type.
  • géocoder des données brutes. Trouver le meilleur moyen d’extraire des infos pertinentes permettant de géocoder un emplacement. L’exemple type c’est une info sur un accident ou l’on dispose de  l’autoroute, la direction et une borne kilométrique dans le meilleur des cas. Tout cela dans la même chaîne, dans un ordre aléatoire en fonction des fournisseurs. GMap a du mal avec ce genre d’info
  • développer des wrappers en divers langages.PHP, Java et jQuery sont déjà réalisés mais peuvent certainement être améliorés
  • développer une application mobile. Actuellement j’utilise jQuery mobile qui est une tuerie niveau rapidité de développement. Reste à voir sur le long terme.
  • améliorer et optimiser mon code 
Si l’aventure vous intéresse n’hésitez pas à me contacter par mail / twitter / commentaire.
P.S. – le genre de visuels utile et agréable qu’il est possible de réaliser : http://webcams-wallonnes.be/

Les règles d’or du télé-travail

Posted in développement by Quentin Kaiser on 8 mai 2011

Je sais, ça fait une plombe que je n’avais pas écrit.

Cela fait maintenant presque un an que je « télé-travaille » comme développeur pour une société qui se situe à une centaine de kilomètres de chez moi. Le but de cet article est donc de lister les bonnes pratiques, les erreurs à éviter ainsi que le comportement à adopter. Autant du côté manager que du côté développeur.

Sauvons l’environnement

Il est nécessaire de mettre en place un environnement propice au travail. Cet environnement se compose de deux zones distinctes : la communication et la collaboration.

Allo ?

Le mail c’est bien, le mail c’est peu. L’idéal est de mettre en place divers canaux de communication, chacun ayant une utilité spécifique. Personnellement j’en vois trois principaux : mail, skype et IRL.

Bug review #2354

Côté développement un serveur de CVS est primordial, faites votre choix entre svn / git / redmine / bazaar (lol). Un wiki pour la documentation c’est vachement pratique, surtout si on est adepte des petits hacks pour fixer une erreur sans oublier  un système de ticket permettant de faire des bug reviews rapidement. Oui je sais, vous codez directement sans bug.

Viens ensuite les outils de partage de documents et d’édition collaboratifs, vous avez l’embarras du choix entre les offres d’une floppée de startup s’étant lancée là dedans. Personnellement j’aimerais avoir un avis sur raindrop tout droit sorti de mozilla labs qui m’a l’air prometteur.

De la fréquence des contacts.

Il est nécessaire de définir la fréquence des contacts. Si elle est trop importante elle devient inutile et empiète sur votre productivité, si elle est trop faible c’est la documentation de votre avancée qui manque (et votre manager qui se fâche).

Si  on se réfère au système des méthodes agile on peut créer un modèle de communication simple pour le télé-travail mais très efficace :

  1.  Mise à jour toutes les 24h : envoi d’un mail indiquant les avancées effectuées sur le projet.
  2. Mise à jour toutes les semaines : visioconf’ avec l’équipe permettant de faire une review des avancées, des problèmes rencontrés. Le dialogue permet de résoudre bien des problèmes rencontrés lors du dev.
  3. Fin d’un projet, d’un ‘sprint’ : rencontre IRL pour les derniers détails ou autour d’un verre pour fêter la réussite du projet.

A côté de cela on peut évidemment s’envoyer des mails sur le côté pour des requêtes spécifiques (obtenir un accès, une promotion, les photos de vacances de votre pote Jean-Pierre).

Hé mec, je suis pas dans ta tête.

Je crois que la pensée la plus flagrante chez les porteurs de projets / manager est celle que leur idée est tellement claire qu’elle est compréhensible en un coup d’oeil. Faux !
Documenter votre projet en détails, réaliser des schémas, des graphiques, des brouillons sur des serviettes de Mc Do mais documentez!

J’ai perdu mes clefs

Dans la plupart des cas vous devrez accéder à des serveurs de tous types (ssh, ftp, cvs) ainsi qu’à des panel d’administration tous les plus exotiques les uns que les autres donc un seul mot d’ordre aux chefs de projets / managers : donnez nous les clefs !
Ecrivez un document recensant tous les logins/mot de passe pour la personne en particulier, chiffrez-le, envoyez-le à destination par le Transporteur si ça vous amuse mais faites le ! Il n’y a rien de plus désagréable que de chercher après un mot de passe dans ses propres archives de mail pendant des heures.

Self control

Là je m’adresse aux télé-travailleurs : définissez vos horaires de travail et imposez vous des règles strictes. Mais je pense que le xkcd d’en dessous parle de lui même😉

A plus !

OpenData & Mobilité – Réponse de la TEC

Posted in développement, opendata by Quentin Kaiser on 24 janvier 2011

J’ai reçu une réponse de la TEC suite à mon mail concernant une possible API d’accès aux horaires (voir ci-dessous). Je suis maintenant entre la reconnaissance de leur esprit d’initiative et l’impatience  face à ce ‘nouvel outil’🙂 Cela augure de bonnes choses pour les transports publics wallons, reste à savoir s’ils y arriveront dans les temps et avec une technologie adaptée.

Bonjour Monsieur

A l’heure actuelle, cette API ouverte aux partenaires extérieurs n’existe pas.

Avec la nouvelle version du site Infotec.be (2012) et la refonte complète des interfaces vers notre moteur de recherches, il sera possible d’offrir ce genre de service.

Bien à vous

Stéphane THIERY
Directeur de la Communication – Porte parole

Direction de la Communication – Développement durable
Société Régionale Wallonne du Transport
Avenue Gouverneur Bovesse, 96
5100       JAMBES
mail : stephane.thiery@tec-wl.be
tel : +32 (0) 81.32.28.20

gsm : +32 (0) 495.50.28.57
fax : +32 (0) 81.32.27.09

Facebook : Stéphane Thiery
Visitez notre site
http://www.infotec.be
Visitez www.terreencommun.be, le site du développement durable au sein du  Groupe TEC

 

 

Hacktivistes, délinquants ou idéalistes ? – Retour sur l’émission d’intermédia

Posted in critique, opendata, television by Quentin Kaiser on 24 janvier 2011

 

Seriously ?

Seriously ?

Suite à un RT de iRail, je passe ma fin d’après-midi devant le streaming d’une émission de la RTBF appellée InterMedia.

Je me suis régalé ! Un débat complètement orienté, mal situé, qui se trompe de cible et balance des clichés à la vitesse de la lumière.

Mais au lieu de balancer stupidement, décomposons plutôt la situation. Tout d’abord le titre de l’émission « Hacktivistes, délinquants ou idéalistes ? ». Dans les deux cas, l’adjectif nous étant accordé (oui, nous) n’est pas banal. D’un côté nous sommes des escrocs attaquant sauvagement la sécurité de la démocratie et de l’autre nous sommes de doux rêveur qui espère un jour une transparence lors de prise de décision politique. J’exagère un peu mais c’est le sentiment que j’ai. (more…)

OpenData & Mobilité – démonstration

Posted in développement, opendata, script by Quentin Kaiser on 4 janvier 2011

Suite au billet concernant l’ouverture des données dans le secteur de la mobilité et en particulier de la TEC, j’ai réalisé quelques recherches dans le but de faire une démo.

Le tiroir du fond

Lors de mes recherches sur l’infrastructure qu’utilise la TEC pour ces données je suis tombé sur le site DAMIER et en particulier sur ce document pdf listant tous les arrêts en province de Luxembourg.

Extraction des données

La première chose à faire est obtenir des données lisibles et parsables. J’ai donc utilisé pdftohtml qui permet de transformer un document pdf en document html navigable par page.
La commande est très simple :

pdftohtml votredocument.pdf -enc Latin1

Le Latin1 vous permet d’utiliser des caractères accentués.

J’obtiens donc un document html contenant le contenu du tableau mais en ayant un élément par ligne comme ceci :

Numéro
Localité
Rue
Arrêt
Lignes

Ni une ni deux j’écris un script php me permettant de transformer le tout en fichier csv comme ceci :

Numéro; Localité; Rue; Arrêt; Lignes

Heureux du résultat après plusieurs modifications, il faut maintenant réaliser quelque chose de visuel mais quoi ? L’idée la plus utile et la plus visuelle est de réaliser une carte de ces arrêts mais pour cela il faut les coordonnées de ceux-ci.

Geocoding

Il existe plusieurs outils de geocoding : GMap en premier, Nominatim d’OSM et une multitude d’outils bidons traînant sur le web. L’accès à ces outils est limité (pas plus de 2500 requêtes par jour et moins de x requêtes par secondes pour GMap), il faut donc trouver une parade pour obtenir les coordonnées. Je repart donc sur du php avec obtention des coordonnées en json via le serveur GMap mais pause d’une seconde après chaque obtention via la fonction sleep.  Je permet également à mon script de s’exécuter assez longtemps pour obtenir toutes les coordonnées via la directive set_time_limit.

Je vais donc prendre un café le temps de l’exécution…

Et un 4ème…

J’obtiens finalement ~60% des coordonnées, certaines adresses étant imprécises ou tout simplement introuvables (« XHOUT-SI-PLOUT Centre » – private belgian joke inside -).

Marker and Geopoint

J’ai donc à ma disposition les références des arrêts, leur adresse, leur localité, les lignes qui passe à ses arrêts et leurs coordonnées géographique. Let’s practice !
Voici le code que j’ai utilisé pour ajouter les markers à la carte depuis les données du fichier csv généré :

Le résultat en image :

Carte arrêts TEC opendata

Que c'est beeeaaau

Il n’y a même pas un tiers des arrêts indiqués (pour des raisons de navigation, sinon c’est très lourd). On peut remarquer quelques erreurs au niveau de la géolocalisation, assez logique étant donné la précision des adresses. On peut presque deviner la frontière de notre belle province😀

Note : j’aurais très bien pu utiliser OSM, Bing ou Yahoo map mais comme j’ai de l’expérience avec GMap j’ai foncé.
Fichiers : je les mets en ligne aussi vite que possible, promis !

Voilà comment, en moins de 2h et à partir d’un vulgaire fichier pdf, on peut obtenir une carte interactive des arrêts de bus.

Les autres mises en valeurs possibles serait d’ajouter des check-box pour afficher/masquer les arrêts en fonction des lignes, tracer les lignes avec des Polyline ou encore ajouter des markers de couleurs différentes en fonctions des lignes. Et augmenter la précision des données de géolocalisation bien entendu😉

OpenData & Mobilité

Posted in développement, opendata by Quentin Kaiser on 4 janvier 2011

bus

Ca y est, c’est fait, j’ai eu le culot d’envoyer des mails aux webmasters / secrétaires / directeurs de la TEC (Transport En Communs wallons) pour avoir leur avis concernant l’ouverture des données.

La situation actuelle.

Le site infotec.be utilise la plateforme microsoftienne ASP .NET effectuant les requêtes vers un serveur Oracle i9 ainsi que vers leur serveur global HASTUS que l’entreprise win a mis en place. L’architecture date de 2004 et le site tombe au delà des 73.000 visiteurs.  Je ne prendrai pas de point de vue concernant ASP, d’autres le font très bien à ma place. Concernant Oracle c’est un choix que beaucoup d’entreprises font mais lorsqu’on sait que ce serveur n’a plus de support, ça doit être la joie dans la section IT. Hastus et Hastinfo quant à eux semble être des logiciels très complexes et performants au vu de leur utilisation chez presque tous les transporteurs européens, je ne m’aventurerai pas dans une critique sans m’être documenté d’avantage.

Capacités de l’open data pour la mobilité.

Ce site web dédié à la mobilité comme il en existe d’autre (la STIB, de Lijn, SNCB/NMBS) fourni des informations d’utilité publique. L’accès à ces données l’est donc tout autant. Ce qui m’ennuie là dedans c’est que cet accès n’est pas total, il est bridé aux limitations de la plateforme .NET et du site web pré-cité. Personellement j’ai envie de jouer avec ces données. Je veux réaliser un plan openstreetmap de tous les arrêts en Région Wallonne au lieu de me démerder avec vos stupides pdf de 2006, je veux pouvoir réaliser le tracé des lignes sur différentes cartes, obtenir les perturbations en temps réel et appliquer le calque des travaux en cours de la ville de Liège au tracé pour voir s’il n’y a pas de problèmes. Je veux faire des statistiques sur le nombre de lignes par province, par région, par ville. Analyser les plages horaires de ces lignes, leur utilisation.

L’open data dans le secteur de la mobilité est rempli de capacités inexploitée, comme l’est l’open data dans beaucoup d’autres secteurs. Et cela, cher Mr TEC, sans qu’aucun denier ne sorte de vos poches. Zéro, nada, nothing. En effet, derrière ce concept fumeux qu’est l’open data se trouve une armée de passionné – qu’il soit graphistes, analystes, mathématiciens, développpeurs, … – qui fait avancer le mouvement chaque jour. Une horde de geeks des données qui n’ont rien d’autre à faire que de mettre en valeur les données brutes pour utilité publique.

La situation actuelle sous l’oeil de l’open data

La situation actuelle n’est clairement pas ouverte, on pourrais presque dire qu’elle est fermée.  Pourquoi cette navigation ? Pourquoi fournir un site web aux url aussi significative qu’un QR code pour l’oeil humain ? Pourquoi dois-je utiliser les cheats-search de google pour me renseigner sur votre fonctionnement interne alors qu’une page de documentation me suffirait amplement ? Cela peut paraître pour un caprice de développeur mais croyez moi, si vous ouvrez vos données, votre communication et votre développement technologique se fera de lui-même. Vous aurez même des conseils sur votre structure sans engager de consultant à 200€/h.

Développements futurs

Beaucoup de personnes ont arrêté de rêver la situation, ils sont actuellement en train de la construire. La team iRail espère créer une spécification pour le transport des données concernant les transports en communs (train, tram, bus) et je suis, avec beaucoup de plaisir, leur projet qui a permis le développement de nombreuses applications.

Revenons en à un horizon plus régional. J’espère que la TEC prendra conscience du potentiel de l’open data et n’hésitera pas à fournir une mini API sur lesquels les développeurs pourront se baser afin de faire des requêtes sur les lignes, les itinéraires et les gares.

Car c’est bien de « rentrer dans le monde des nouvelles technologies » mais suivre son évolution, c’est mieux.

Et de toute façon si vous ne le faites pas, on s’en chargera😉