Mes anciens écrits... sans les commentaires qui n'ont pas été conservés.

Je voulais essayer and-httpd qui a l'air robuste, performant avec la sécurité à l'esprit. Bien sûr, aucun paquet Debian n'est disponible donc faut tout compiler à la main, avec trois bibliothèques requises, toutes écrites par le même auteur, dont la célèbre bibliothèque Vstr.

Première blague, je mets plus d'une demie-heure pour télécharger la tarball d'and-httpd, pour un fichier de... 528 Ko. Le serveur, ou la connexion du serveur, plafonne à 1.8 Ko/s maximum. Je me dis qu'il doit y avoir des restrictions sur les User-Agent donc je modifie tout ça et même résultat, j'essaie sur quatre connexions ADSL, une SDSL et une machine en colocation, même chose.

% HEAD http://www.and.org/and-httpd/0.99.11/and-httpd-0.99.11.tar.bz2
200 OK
Connection: close
Date: Fri, 13 Jul 2007 19:53:26 GMT
Accept-Ranges: bytes
ETag: "8b470d-80fea-4504f1b5"
Server: and-httpd/0.99.11
Vary: Accept-Encoding
Content-Length: 528362
Content-Type: application/x-bzip2
Last-Modified: Mon, 11 Sep 2006 05:18:45 GMT
Client-Date: Fri, 13 Jul 2007 19:53:26 GMT
Client-Peer: 65.172.155.225:80
Client-Response-Num: 1

Donc soit le serveur est hébergé sur une ligne 56K, soit c'est le serveur qui est pourri :)

Toujours est-il qu'après avoir téléchargé les deux premières tarballs, j'en ai eu tellement marre que j'ai abandonné, je suis pourtant sûr du potentiel de ce daemon...

Parlon de Vstr maintenant, c'est une bibliothèque de gestion de chaîne de caractères en C, toutes les fonctions de base (gestion de la mémoire, copie de chaînes, concaténation de caractères, affichage de format, recherche de motif, etc.) sont implémentées en utilisant une structure de données enrobant la chaîne de caractère : nous n'avons plus à disposition un (char *) avec la gestion de la mémoire associée mais une structure opaque qui se charge de toujours vérifier qu'on ne déborde pas.

Utiliser une bibliothèque telle que celle-ci est la clef de voûte dans l'écriture d'un logiciel sécurisé, ce n'est d'ailleurs pas une coïncidence si les logiciels très réputés (vsftpd, qmail pour n'en citer que deux) utilisent des bibliothèques similaires.

Ce qui est remarquable avec cette bibliothèque est que l'auteur a écrit tous les tests unitaires possibles, arrivant fièrement à 100% de couverture de code. Bien sûr, il ne faut pas se fier aveuglément à ce chiffre magique mais plûtot admirer le travail et le soucis de qualité de l'auteur. Bravo!

Posted Mon 16 Jul 2007 07:31:47 PM CEST Tags: imported

Je veux un Chumby ! C'est un peu l'équivalent du lapin stupide mais en version masculine quoi, avec un Linux dessous qu'on peut contrôler. <privateJoke> En plus, il a des enceintes d'une puissance d'1 C.T.</privateJoke>

Inutile, donc indispensable !

Posted Mon 16 Jul 2007 01:03:54 PM CEST Tags: imported

La dernière version de GNU Emacs, la 22.1, a été publiée aujourd'hui, parmi la longue liste de changements, voici les fonctionnalités les plus intéressantes :

  • New command line option -Q or --quick.
    This is like using -q --no-site-file, but in addition it also disables the fancy startup screen.
  • New command line option -D or --basic-display.
    Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and the blinking cursor.
  • You can now follow links by clicking Mouse-1 on the link.
  • New command `kill-whole-line' kills an entire line at once.
    By default, it is bound to C-S-<backspace>.
  • You can now switch buffers in a cyclic order
    with C-x C-left (previous-buffer) and C-x C-right (next-buffer). C-x left and C-x right can be used as well. The functions keep a different buffer cycle for each frame, using the frame-local buffer list.
  • If you set the new variable `mouse-autoselect-window' to a non-nil value, windows are automatically selected as you move the mouse from one Emacs window to another, even within a frame. A minibuffer window can be selected only when it is active.
  • On X, when the window manager requires that you click on a frame to select it (give it focus), the selected window and cursor position normally changes according to the mouse click position. If you set the variable x-mouse-click-focus-ignore-position to t, the selected window and cursor position do not change when you click on a frame to give it focus.
  • Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
    The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', and `x-super-keysym' can be used to choose which keysyms Emacs should use for the modifiers. For example, the following two lines swap Meta and Alt:
        (setq x-alt-keysym 'meta)
        (setq x-meta-keysym 'alt)
    
Posted Sun 03 Jun 2007 01:35:23 PM CEST Tags: imported

Debian Etch est enfin releasé et c'est pas de refus! Lorsque j'avais réinstallé ma Dedibox au début de l'année, j'avais hésité entre installer Sarge ou Etch et j'avais préféré rester quelques semaines en testing (théoriquement © moins stable ») plutôt que d'avoir à me taper une migration Sarge -> Testing.

Voici les trucs qui font plaisir dans Debian Etch :

  1. Un vim plus évolué grâce à :
    • Le folding (mon ruleset Netfilter est enfin structuré),
    • Les Tabs ;
  2. secure apt avec le contrôle cryptographique des paquets ;
  3. conntrack et libnfnetlink/libnetfilter* plus particulièrement ;
  4. Une version d'Apache qui supporte enfin les gros fichiers.

Et puis une race de petites choses dont je ne me rappelle même pas.

Posted Sun 08 Apr 2007 05:11:40 PM CEST Tags: imported
Posted Sat 03 Mar 2007 10:03:35 PM CET Tags: imported

Ah bin bravo la mentalité, je perds toute connectivité pendant une dizaine de jours et plusieurs advisories (DoS) sur Bind 9 sortent, non jusqu'ici, rien d'extraordinaire, le truc marrant, c'est de recevoir les paquets malformés sur son Bind qui n'a pas été patché (hé, normal, je fais comment sans connectivité?). DoSé quoi.

Bref, pendant quatre jours, le serveur réagissait bizarrement sans résolution DNS. Sweet.

Posted Sat 03 Mar 2007 09:42:34 PM CET Tags: imported

En expérience de colocation depuis quelques semaines, toutes les solutions facilitant un réseau décentralisé, transparent et simple m'intéressent. Le tout pour un réseau d'une dizaine d'ordinateurs.

Par exemple, la résolution DNS entre nous, comment faire ? Les adresses sont, théoriquement, attribuées pseudo-aléatoirement et surtout, le modem routeur que nous avons n'offre pas de serveur de zone. La meilleure solution est alors l'utilisation du protocole développé par Apple depuis longtemps : Zeroconf (ou Bonjour, ou mDNS, ou multicast DNS).

À l'aide d'annonces multicast propagées par avahi-daemon, on peut effectuer des résolutions DNS via libnss-mdns. On se retrouve alors avec une zone .local qui correspond à tous les noeuds Zeroconf.

$ sudo apt-get install avahi-daemon
$ ping shibby.local
ping: unknown host toto.local
$ sudo apt-get install libnss-mdns
$ ping shibby.local
PING shibby.local (192.168.12.15) 56(84) bytes of data.
64 bytes from shibby.local (192.168.12.15): icmp_seq=1 ttl=64 time=2.56 ms
...

Maintenant, parlons de l'échange de fichier musicaux. Depuis quelques temps, les principaux lecteurs multimédia implémentent DAAP, protocole qui permet l'accès à des fichiers musicaux sur les machines voisines. Bon, la dernière fois que j'ai essayé, ca n'a pas marché mais bon... De toutes facons, on utilise ma meilleure amie, ma Squeezebox pour écouter de la musique.

À bien noter que dans toutes les solutions évoquées ici, je n'ai absolument pas regardé les implications en sécurité...

Posted Fri 02 Mar 2007 09:18:09 PM CET Tags: imported

Comme je l'ai écris dans un anglais très approximatif sur le Trac de scapy, RadioTap est l'équivalent des PrismHeaders, c'est à dire que le pilote de la carte Wifi va nous retourner le maximum d'information physique sur la trame qu'il vient de recevoir. Parmi les champs intéressants, il y a la puissance du signal qu'a reçu l'antenne. Cette valeur n'est pas méga précise mais suffit largement. Par exemple, voici la sortie de wifidtc.py (pas la peine de Google, vous savez où le trouver) qui indique pour chaque client, le signal en dBm avec une zolie représentation graphique et l'OUI associé :

00:0e:35:90:ZZ:XX [-55  dBm] |##############      | Intel
00:16:b6:b0:XX:a7 [-91  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-92  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-92  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-95  dBm] |##########          | Cisco-Link
00:13:ce:2e:YY:51 [-89  dBm] |###########         | IntelCorpo
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link
00:16:b6:b0:XX:a7 [-93  dBm] |##########          | Cisco-Link

On m'a dit que ça pouvait aider à localiser grossièrement des indésirables...

Note personnelle : Bravo Stéphane, Nico, Éric, Fred, Xavier et Charles pour le SSTIC 2007 ! Je pense que le deuxième jour va être sous les couleurs d'EADS :)

Posted Wed 07 Feb 2007 06:04:02 PM CET Tags: imported

Je viens de publier les slides de ma présentation aux JSSI du CELAR intitulée pompeusement Sécurité des systèmes VoIP : exemple d'un test blackbox (non j'ai pas trouvé plus court, enfin si, mais... ça faisait moins classe).

Je ne les publie que maintenant car j'hésitais à réutiliser ce support pour la caravane des conférences (Copyright news0ft), mais je me suis dit que j'étais trop jeune pour commencer à faire ça, c'est un cercle infernal après :)

Posted Fri 26 Jan 2007 09:14:55 PM CET Tags: imported

Pourquoi est-ce que je sens que tous les chercheurs de vulnérabilité/exploits sont en train d'essayer de bindiff-er les IOS pour comprendre les dernières vulns de la nuit ? Peut-être parce qu'on peut r00ter tous les IOS du monde grâce à ça... Il suffit de voir les scores assignés par Cisco (8.3 et 10) pour se rendre compte de leurs gravités.

Le premier qui réussira à écrire un exploit stable et quasiment générique (modulo quelques adresses en fonction de l'IOS) doit pouvoir le vendre beaucoup plus cher qu'un exploit pour Vista ou un XP SP2 à mon avis.

Posted Thu 25 Jan 2007 10:08:00 AM CET Tags: imported