Show newer

D'ici quelques jours le hors-série de MISC dédié à la sécurité des objets connectés va sortir en presse.

: il y a notamment un excellent article sur la cryptographie à bas-coût

mstdn.fr/media/YMr2PkSA2F5yfGI

Après des années sous Larswm, puis des années sous ratpoison (que je considère être le meilleur WM, de loin), je vais passer à i3, avec une configuration par défaut. La raison ? J'ai le sentiment qu'en ne touchant presque pas à la configuration je vais obtenir quelque chose qui me convient.

gapz boosted

gna.org shutdown today after 13 years of service. 😢 What an adventure.

#end #hosting

"Ce que l’on doit à Aaron Swartz" sur France Culture d'ici quelques secondes, avec notre @maliciarogue :-).

Dans la continuité du fuzzing de la libecc, voici un petit dépôt de Hanno Böck avec quelques exemples de failles sur différentes lib "BigNum".
github.com/hannob/bignum-fuzz

Pour commencer:
aptly.info/tutorial/mirror/
Ensuite, pour mettre à jour son dépôt (cela dépend bien sûr de votre config):

DATE=$(date +%s)
aptly mirror update testing
aptly mirror update testing-security
aptly snapshot create testing-$DATE from mirror testing
aptly snapshot create testing-security-$DATE from mirror testing-security
aptly snapshot merge -latest testing-all-$DATE testing-$DATE testing-security-$DATE
aptly publish switch stretch testing-all-$DATE
aptly db cleanup

Après quelques heures à attendre, j'ai finalement un joli miroir local des paquets pour l'architecture amd64 pour Debian stretch grâce à aptly: mstdn.fr/media/G4CnTwLomP1wWb8

Ahhhh, mais je me disais bien qu'il y avait eu une rump au SSTIC 2016 sur la libecc par les auteurs du projet (@ANSSI )
static.sstic.org/rumps2016/SST

Comme je suis en train de m'amuser avec la bibliothèque libecc de l'anssi, je me permets de laisser ce llien fort intéressant d'une conférence de Ralf-Philipp Weinmann à la blackhat 2015 sur l'évaluation et l'exploitation de vulnérabilités dans les biliothèques "BigNum" (comprendre: qui manipulent des entiers naturels ou les éléments d'un corp fini entre autres).
Assessing And Exploiting BigNum Vulnerabilities:
youtube.com/watch?v=oje2ZgUzAR

Quand on a du débit, on le met à profit: je me fais un miroir debian de testing (main/contrib/non-free et security) en utilisant aptly. Étant actuellement à 10ms d'un miroir officiel, cela ne devrait durer que quelques heures (aptly m'indique ~6h, et on parle de 60Gb).

À celui qui voudrait savoir "mais pourquoi" la réponse est simple: je passe la majeur partie de mon temps derrière ~100kbits/s.

Comme promis, ce soir je fuzz (un peu) la partie "Natural Numbers" de la libecc. Je vais tester la cohérence logique de quelques opérations (addition, multiplication, etc). D'ailleurs, je voulais commencer par sqr/mul, mais ça ne sera pas nécessaire (du code sur Mastodon ? Pourquoi pas ?):

void nn_sqr(nn_t out, nn_src_t in)
{
nn_mul(out, in, in);
}

Un problème de parsage dans arithmetic_tests.c donc (pas du tout pertinent).

Show thread

Après 1.5 millions d'éxecutions de tests arithmétiques je viens d'avoir mon premier crash avec la libecc. À voir si c'est un bug pertinent ou non.

libecc a l'air de parser correctement les clefs (j'avais redécouvert un bug dans la libgcrypt en fuzzant simplement le parsage des clefs dans la libotr). Je vais laisser tourner cela cette nuit. Demain soir, je m'attaque à la partie arithmétique. mstdn.fr/media/b4GkSaS8xRfhYmK

Bon, pour le moment je tape un peu au hasard et sans efficacité mais j'ai une setup de fuzzing avec un joli rapport html sur le code que j'ai atteint en fuzzant : mstdn.fr/media/fV8ioUjXmWZ7hVv

Tiens, dans libecc ils sont allés jusqu'à redéfinir quelques fonctions très utiles de la libc (memcpy, memset, strlen, strnlen, strncpy, strncat), afin de ne pas dépendre de cette dernière. Portabilité maximum donc.

Alors, ce soir je m'amuse avec la bibliothèque libecc publiée aujourd'hui par l'ANSSI.
1) l'analyseur statique de facebook (infer) ne râle pas
2) après avoir compilé la lib en utilisant ASAN (Address Sanitizer) et puis lancé les tests (./build/ec_self_tests), tout va bien (si ce n'est que les tests de perf me prennent un temps fou)

Prochaine étape: mettre un coup d'afl là où je peux le faire simplement.

Tiens, l'@ANSSI vient de publier via github une bibliothèque pour la cryptographie sur les courbes elliptiques. On notera l'absence totale de dépendance vers des bibliothèques extérieures mais aussi l'implémentation de quelques courbes qu'on ne voit pas souvent: FRP256V1, GOST{256,512}.

Quelques 23000 lignes écritent en C99 à des fins de "readability and auditability", et dépourvue de "dynamic allocation", cela s'annonce promettant.

github.com/ANSSI-FR/libecc

L'angoisse
Chemine au plus haut d'une montagne
Des hommes couleur de terre naufragent au plus profond d'une crevasse
Le fatalisme subjugue les âmes de ceux qui trempèrent leur petit espoir dans les bénitiers de la nuit
Les baïonnettes rêvent de mélanges nuptiaux
On a perdu le monde et les yeux des morts le cherchent
Le silence hurle à l'horizon effondré.

Jorge Luis Borges, Tranchée

Show older
mstdn

The social network of the future: No ads, no corporate surveillance, ethical design, and decentralization! Own your data with Mastodon!