Faille CSRF, retour d’une présentation

9 juillet 2011

Bonjour  à vous,

Je vous propose une présentation des failles CSRF, somme toute assez peu connu.
Je me baserais sur la présentation[1] faite pour le club SECURIMAG[2], à l’aide de Vipret Julien. Lire le reste de cet article »

Le chaos dans la cryptographie

17 février 2010

Après une longue absence, je reviens pour vous parler d’un sujet récent, la cryptographie chaotique.

En effet, la cryptographie actuelle, en particulier RSA et DES souffrent de la monté de la puissance de calculs des ordinateurs, et l’arrivée de l’ordinateur quantique pourrait bien sonner le glas de ces algorithmes. Pour remédier, et surtout trouver un remplacent, 2 pistes intéressent les chercheurs actuellement :

- La cryptographie Quantique ( Que je n’aborderais pas ici )

-La cryptographie Chaotique ( Qui est le sujet principal de cet article )

La cryptographie chaotique repose sur l’utilisation, comme son nom ne l’indique pas, du chaos. Mais on parle ici du chaos au sens physique du terme, décrit par la théorie du chaos, s’intéressant à des systèmes déterministes mais avec une forte sensibilité aux conditions initiales.
Le jeu de billard en est un exemple. En effet, il est aisément concevable que l’on ne pourra pas renvoyer une bille exactement d’où elle vient, il faudrait qu’elle soit renvoyée avec exactement la même force, le même angle. En supposant que ces deux conditions soient remplies, il n’est pas dit que les bandes du billard réagissent de manière identique. Les conditions initiales vont donc jouer un rôle déterminant dans l’évolution de la bille.

L’étude de cette théorie est relativement récente, et a intéressé/intéresse les militaires, ne permettant à la recherche civile de ne s’y intéresser que récemment…

Le principe de la cryptographie chaotique est de noyer le message à transmettre dans un chaos et de l’envoyer à un récepteur qui connait les caractéristiques du générateur de chaos, qui pourra donc soustraire le chaos au signal reçu et ainsi en extraire le message.

Des implémentations physiques sont à l’étude, comme l’explique cet article de tout-pour-la-science et l’illustre le projet OCCULT .

Je vais dans cet article vous présenter la méthode générale ( numérique ), puis les améliorations possible grâce à la méthode de Baptista ( pas le catcheur hein :) ) et de Wang. Je présenterais ensuite quelques attaques de cryptanalyse et comment le chiffrement chaotique y répond. Il faut être bien conscient que c’est une lutte dans le temps, et que les deux camps font des avancer à des vitesses impressionnantes ( grâce notamment aux avancés récentes de la théorie des nombres ). Les réponses actuelles seront donc peut-être dépassé d’ici à quelques années. Peut-être, voir même très surement.

Lire le reste de cet article »

La bêtise est humaine

6 août 2009

Il m’est rare de poster des billets d’humeur, mais là je n’ai pas vraiment pu m’en empêcher.

J’ai eu récemment la très belle et appréciable idée de faire le tour de mon compte chez mon hébergeur, de vérifier qu’il n’y a plus de choses qui sont un peu « outdate » . Alors oui, j’avais une ou deux bases de données qui n’étaient plus du tout utilisé, donc je les ais supprimé. Et de l’art de bien décrire ses bases de données, la vielle description présente ne m’a pas mis la puce à l’oreille. Et c’est mon blog que j’ai supprimé. Aucune backup SQL.

Donc mission récupération des articles grâce au cache google ( et non webarchive :s ), réinstallation de wordpress et de nouvelle base de données, et remises en état des articles. C’est pourquoi il ne sont peut-être pas forcément dans l’ordre, et qu’il risque de manquer certaines images.

Mais bon, on apprend de ses erreurs, et celle là ne m’arrivera plus ! ( du moins je l’espère :) )

Sur ce, bonne lecture à tous/toutes

Ajax

Introduction à quelques concepts de l’intelligence artificielle

6 août 2009

Quel sujet vaste que celui de l’intelligence artificielle !

Il m’en impossible ici d’en aborder toutes les facettes, ne serait-ce que parce que les principes de certaines m’échappent totalement. Non, je vais essayer de vous montrer deux trois choses, des éléments qui pourront vous aider dans votre compréhension de ce vaste monde. Peut-être que d’autres articles suivront…

En tout cas, celui-ci va d’abord vous présentez un jeu, le tic-tac-toe ( ou morpion ), ainsi qu’un possible joueur artificiel à ce jeu. Cela me permettra d’aborder l’algorithme MinMax et son “extension” Alpha-Bêta.

Après avoir vu ces joueurs déterministes, c’est à dire qu’ils joueront la même chose pour une même situation, je vous présenterais différentes méthodes d’apprentissage. Notre joueur évoluera au fil des parties.

Tout d’abord, qu’est-ce que le tic-tac-toe ?

Les règles sont simples : Le terrain de jeu contient 3×3 cases. Les 2 joueurs jouent en tour par tour. A chaque tour, un joueur remplis une case vide avec un signe/couleur qui lui correspond. Le but du jeu est de réussir à aligner 3 fois son signe, que ce soit horizontalement, verticalement ou en diagonale, avant son adversaire. A ce moment là, la partie s’arrête. Si aucun des deux n’arrivent à aligner 3 cases et que les 9 cases sont remplies, il y a match nul.
Bref, c’est un jeu que vous connaissez surement.

Lire le reste de cet article »

Quelques résultats sur l’arrêt optimale

6 août 2009

Un précédent article porte sur la théorie des jeux. Il nous permet d’obtenir des stratégies optimales pour un grand nombre de jeux.

Je vous propose ici d’autres résultats, concernant des jeux dont le gain dépend directement du moment où le joueur s’arrête.

Le premier jeu présenté sera un lancé de dés. Le principe est le suivant : le joueur lance un premier dé, il peut choisir de s’arrêter. Si il s’arrête, il gagne en euros le score du dé. C’est à dire que si il fait un 6 et qu’il choisi de s’arrêter, il gagne 6 €. Il peut aussi choisir de continuer, donc de lancer un deuxième dé, et de nouveau, il a la possibilité de s’arrêter. Si il le fait, il gagne le score du second dé, et ainsi de suite.
Il a le droit à 6 lancés de dé, sachant qu’au bout du 6ème il est obligé de s’arrêter ( et donc de gagner en euros ce qui est indiqué sur le dé ).

Quelle est la stratégie optimale à ce jeu ?

Lire le reste de cet article »

Deux/trois mots à propos de la théorie des jeux…

6 août 2009

Théorie des jeux ? Argh .. encore des maths ?

Bon, des maths oui, mais ça va se résumé à savoir faire une fraction :) .

Qu’est-ce que la théorie des jeux ?

C’est la traduction mathématique et logique de problèmes qui peuvent être économiques, sociales, diplomatiques, etc. et de leurs solutions possibles, suivant plusieurs critères. Bon, pour être moins vagues, donnont l’exemple le plus connu du dilemne du prisonnier. Soit deux criminels qui vont passer séparemment un intérogatoire. La police n’a aucune preuve contre aucun des deux, elle souhaite donc des aveux. Si aucun des deux n’avouent, ils écoppent de 6 mois de prison. Si un des deux avoue, il est immédiatemment libéré, et l’autre suspect écoppent de 15 ans de prison. Si les deux avouent, ils partent chacun pour 8 ans de prison. Bien evidemment, les deux interrogatoires se déroulent simultanément.

Lire le reste de cet article »

Echange de donnée cryptée, sans échange de clé unique ?

6 août 2009

Bonjour, c’est Bernard !

J’aimerais bien communiquer avec Alice, malheureusement Eve est dans le coin ….

Ah, je sais !  Je vais crypter mes données ! Pas de problèmes, plein d’algorithmes existent déjà comme DES, ou je peux même faire le mien !

Ah … mais il faut que je donne à Alice une clé… et Eve est très en forme sur les attaques ManInTheMiddle ces temps-ci …

Plus sérieusement, comment pourrait faire Bernard pour crypter ses informations sans que Eve ne puisse les décrypter ?
C’est à dire, comment éviter qu’Eve espionne l’échange de la clé, appelée clé privée ?

Ce fut le grand problème des cryptographes jusqu’à ce début de siècle, et jusqu’a l’idée de Diffie et Hellman. En effet, ils ont tout simplement imaginé qu’il était possible de ne pas utiliser seulement une clé privée dans une fonction cryptographique réversible. A partir de l’idée de la boite à cadenas, qui prouve qu’il est possible de ne pas utiliser seulement ces fonctions, l’idée fut de trouver des ( voir une ) fonction à sens unique.

Tout d’abord, qu’est-ce que la boite à cadenas ?
Bernard peut mettre son message dans une boite, qu’il refermera avec un cadenas A dont il est seul possesseur de la clé. Il envoie sa boite à Alice, qui ne peut l’ouvrir, mais qui rajoute un cadenas B dont elle est seule possesseur de la clé , et qui renvoie cette même boite à Bernard ( avec donc les cadenas A et B dessus ). Bernard enlève son cadenas A puisqu’il a la clé, et renvoi la boite à Alice. Alice peut maintenant enlever son cadenas B, ouvrir la boite, et lire le message de Bernard. Ici, le cadenas représente la fonction de cryptage, et la clé représente la clé utilisé. Dans cette exemple, Bernard n’a pas eu besoin d’échanger sa clé avec Alice, et donc, pas de risque d’interception. Et ça, c’est tout simplement une révolution pour le monde de la cryptographie.

Lire le reste de cet article »

HTTP Response Splitting ( Séparation de réponse HTTP )

6 août 2009

Bien le bonjour :)

Pour vous présenter cette technique somme toute assez méconnue, je vous propose de vous faire un min-rappel sur le protocole HTTP, ou plutôt sur ce qui se passe lorsque votre naviguateur va sur le site www.exemple.com .

Si vous entrez “http://www.exemple.com” dans votre navigateur préféré ( au hasard Internet Explorer 5 ), la requête envoyée au serveur sera la suivante ( je simplifie ici énormément la requête ):

GET / HTTP/1.1
Host: www.exemple.com

Avec les caractères de retour chariot ( \r ) et de saut de ligne ( \n ), celà donne :

GET / HTTP/1.1\r\n
Host: www.exemple.com\r\n\r\n

Maintenant, regardons une requête un peu plus complète ( demande d’affichage de la page http://localhost/http_splitting.php ) :

GET /http_splitting.php HTTP/1.1
Host: localhost
User-Agent: Mozilla/5.0 (Windows; U; Windows NT 6.0; fr; rv:1.9.0.3) Gecko/2008092417 Firefox/3.0.3
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: fr,fr-fr;q=0.8,en-us;q=0.5,en;q=0.3
Accept-Encoding: gzip,deflate
Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7
Keep-Alive: 300
Connection: keep-alive

Et la réponse du serveur:

HTTP/1.x 200 OK
Date: Sun, 02 Nov 2008 10:55:25 GMT
Server: Apache/2.2.9 (Win32) DAV/2 mod_ssl/2.2.9 OpenSSL/0.9.8h mod_autoindex_color PHP/5.2.6
X-Powered-By: PHP/5.2.6
Content-Length: 0
Keep-Alive: timeout=5, max=100
Connection: Keep-Alive
Content-Type: text/html
 Lire le reste de cet article »

(Petite)Introduction au profiling

6 août 2009

Profiquoi ? -> Profiling ! ( profilage )

Le profiling est un art permettant d’établir l’ébauche de l’identité d’une personne, à partir par exemple de ses écrits, mais aussi de ses faits et gestes, de ses fréquentations, … ( Dans la suite, nous parlerons de tout ce qui se rapporte au profiling de l’auteur d’un écrit ).

Tout d’abord, le pourquoi du profiling ?

Le profiling est utilisé par certains services comme la criminologie, afin par exemple de dresser un profil psychologique d’un criminel. Ces informations permettent d’orienter une enquête, de “trier” des suspects, de comprendre certaine chose, ou encore d’amener à en découvrir de nouvelle ( un certain profil peut indiquer un certain lieu, .. ) . Dans notre contexte, nous essairons de dresser le profil d’un auteur afin de le comparer à celui d’un autre. Celà nous permettra de savoir si tout d’abord l’auteur est bien une unique personne, son pays natal, son sexe, son niveau d’étude, …. et ensuite, en le comparant à celui d’un autre, déterminer si les deux auteurs ont des chances de n’être qu’un(e) .

“Ont des chances”, car en effet, le profiling est une science inexacte, mais qui repose néanmoins sur des études pertinentes, d’ordre social, psychologique,…

Lire le reste de cet article »

Le protocole UpNp, sa presentation et ses problemes

6 août 2009

Nous allons nous interesser dans cet article au protocole UpNp .
Je vous propose tout d’abord l’introduction que nous donne Wikipedia :
L’Universal Plug and Play (UPnP) est un protocole réseau promulgué par l’UPnP Forum.
Le but de l’UPnP est de permettre à des périphériques de se connecter aisément et de simplifier l’implémentation de réseaux à la maison (partages de fichiers, communications, divertissements) ou dans les entreprises. UPnP le permet en définissant et en publiant les protocoles de commande UPnP au-dessus des standards de communication de l’Internet.

Plus clairement, lorsque vous connectez une imprimante, votre Box, etc…, ces produits, etant compatible UpNp, vont tenter de s’auto-configurer ( autant dire qu’ils y arrivent la plupart du temps :] ).
Ces produits doivent respecter des spécifications normalisées, mais peuvent contenir d’autres fonctions supplémentaires, relatives au produit ( une Box qui pourra activer son Wifi via UpNp.. ).
L’établissement d’une connection UpNp se déroule en plusieurs étapes :
-L’obtention d’une adresse IP lorsque l’équipement est connecté sur le réseaux
-Le produit va ensuite avertir les autres équipements sur le réseaux de sa présence via une requête NOTIFY. Cette requete contient un champ LOCATION, indiquant le chemin du fichier XML listant les services.
-Envoi de l’adresse du fichier de configuration ( XML )
-Controle du produit

Les équipements ou logiciels présent sur le réseaux peuvent aussi chercher à obtenir l’adresse d’un service, via une requete M-SEARCH.
Malheuresement, ce beau protocole ne contient absolument aucune sécurité…

Lire le reste de cet article »