vendredi 28 septembre 2007

graphe sémantique



ou comment découvrir automatiquement le sens de mots en les visualisant sur un graphe sémantique ...








Qu'est ce que la sémantique ?

C'est à la fois simple à comprendre et compliqué à manipuler
La sémantique c'est le sens, c'est ce qu'on appelle aussi parfois le « fond » par opposition à la forme. Par exemple si je compare les mots « voiture » et « véhicule » d'un point de vue sémantique ce sont des mots relativement proche par leur sens. Je peux en général remplacer le mot voiture par le mot véhicule, cela ne changera pas le sens du discourt. La sémantique est naturelle et facile pour un humain, par contre un ordinateur est incapable de voir la proximité de sens entre ces deux mots, sauf bien sûr si on lui a donné cette information. Spécifier une base de donnée sémantique est extrêmement coûteux et complexe car il faut détailler et expliquer le sens de chaque mots utilisé ainsi que ses rapports avec tous les autres. C'est une des raisons pour lesquelles le fameux «web sémantique » peine à se diffuser.

Ce qui est expliqué ici n'a évidement pas pour but de concurrencer le projet de web sémantique, mais montre qu'il est possible d'accéder de manière indirecte à la sémantique des mots. Cela se fait grâce au calcul d'une distance sémantique entre mots (voir cet article pour plus de détail ). Cette distance, assez simple à calculer en pratique, permet alors de comparer sémantiquement des textes. Notez que cela ne veux pas dire que l'ordinateur comprend réellement le sens du texte, mais il est capable de les comparer et de mesurer leur similitudes ou différences sémantique. Ainsi connaissant une base de mots si on est capable de placer un mot nouveau par rapport à cette base, on peut alors en avoir une compréhension intuitive. C'est ce que l'on va faire ici.

Distance sémantique et représentation
L'article précédemment cité nous donne donc la possibilité de calculer une distance sémantique entre n'importe quelle paire de mots grâce à quelques requête sur un moteur de recherche sur internet. On obtient alors une valeur numérique pour toute paires de mots pour une liste donnée. On va considérer cette valeur comme une distance. On peut alors essayer de placer les mots sur un plan de manière à respecter au mieux les distances sémantique calculées. C'est ce qui est fait ici :
 
voilà comment on peut interpréter ce schéma :
  • on voit que en haut à gauche se situe les écoles d'ingénieurs (formation scientifique/technique)
    (esiea, efrei, estaca, esme)
  • en haut à droite il y a les écoles de commerce.
    (hec, edhec, isc)
  • en bas à droite il y a les grandes écoles publiques (polytechnique, ena, sciences po')
  • On peut noter aussi que polytechnique est plus proche du groupe d 'écoles d'ingénieur qu'il ne l'est des écoles de commerce. De même science po' et l'ena sont plus proche des écoles de commerce que des écoles d'ingénieur.
Cette organisation à été produite entièrement automatiquement. Les distances sémantiques entre les mots ont été calculées à partir de recherches sur internet. Trouver les coordonnées des emplacement de chaque mots satisfaisant les distances sémantiques est une opération compliqué. On est d'ailleurs pas du tout assuré qu'il existe un agencement des mots dans le plan permettant de respecter les distances sémantique... Une solution approchée consiste à représenter les distances entre les mots comme des ressorts. Pour cela on crée un simulateur et on laisse les lois de la physique trouver une solution approchée des positions.

Cette production, quoique 100% automatique, est pourtant sémantiquement tout à fait valide. Notez les regrouppement d'écoles par thèmes (ingénieurie scientifique et technique, commerce, gestion, et grandes écoles publiques).

Supposons maintenant que je connaisse tout ou presque des écoles précédemment citée mais qu'on me parle d'une école dont le sigle est isg dont je ne connais absolument rien. Je vais tout simplement l'ajouter au graphe suivant et laisser faire le programme...
Voici ce qu'on obtient :
 
On voit alors que l'isg se rapproche des écoles de commerce donc « non-scientifique ». S'agissant d'un école de gestion, les positions relative des mots nous permettent de nous faire une idée, de manière automatique, du thème de cette école.

jeudi 6 septembre 2007

Imprimantes et sécurité de l'information

Nous avons crée un logiciel qui permet d'identifier l'imprimante ayant produit un document. Cela permet deux applications très intéressante dans le domaine de la sécurité : la création de bons sécurisés à coût presque nul et la détection de faux documents. Cela crée aussi de nouvelles failles dans le système d'information des entreprises...


Comment est ce possible ?
La majorité des imprimantes laser couleur ajoutent, lors de l'impression, un message invisible à l'oeil nu mais pourtant bien présent. On parle alors de message stéganographique. L'objectif est de pouvoir retrouver l'imprimante ayant produit un document. Pourquoi cela ? La justification est historique et vient du DOD (Department Of Defense) dont l'objectif est de limiter les risques de création de fausse monnaie avec la précision diabolique des imprimantes et photocopieuses laser couleur. Maintenant que ces imprimantes sont devenues très courantes on peut imaginer que les applications d'un tel système vont pouvoir aller bien plus loin... L'existence de ce système est connu depuis un moment déjà (quoique en général peu connu du grand public). Les premiers à avoir levé le lièvre sont les gens de l' « Electronic Frontier Fondation » (EFF, voir cet article pour plus d'information).
Cela veut dire qu'on peut remonter jusqu'à l'imprimante à partir de n'importe quel document qui en sort. Il est donc possible découvrir sur quelle imprimante un tract a été produit. Cela veut dire aussi qu'on est capable de regrouper des documents provenant d'une même imprimante. Si on pousse un tout petit peu plus loin, si on analyse les papier récupérés des poubelles d'un hôtel d'entreprise (bâtiment contenant plusieurs entreprises différentes), il devient alors très facile de regrouper les documents par imprimante donc par entreprise, voir même, par services... Imaginez alors le volume d'informations ainsi récupérable...

Comment ça marche ?

Écriture

Il s'agit de points jaunes extrêmement petits qui sont inscrits à des endroits bien précis. Le faible contraste qu'ils offrent ainsi que leur faible taille les rendent indétectables à l'oeil nu. L'image ci-dessous est un agrandissement d'un morceau d'une page contenant une marque stéganographique. Notez que cette image est tellement agrandie que vous pouvez voir le grain du papier.

Lecture

En scannant une feuille de papier ainsi imprimée, il est possible de faire ressortir cette marque par des traitements d'image, et de l'extraire du document (le détacher du fond) pour la lire. Le message est très redondant ainsi, même un morceau d'une feuille peut suffire pour lire l'identifiant de l'imprimante.

Pourquoi est-ce si peu connu ?
Jusqu'à présent cette information a peu été relayée dans les grands médias. Déjà parce que les constructeurs ne s'en vantent pas car c'est à la fois :
  • une vente forcée : ce n'est pas une fonctionnalité demandée ni connue des clients, pour laquelle, pourtant, ils payent...
  • une violation potentielle de la vie privé
  • une potentielle faille de sécurité dans un système d'information.
Bref ce n'est pas une bonne publicité...
Comme vous pouvez le constater sur le site de l'EFF il n'est actuellement pas possible de lire cette marque automatiquement (en tout cas pour le grand public) ce qui rend peu réaliste toute analyse de gros volume de documents. En effet la lecture de la marque, tel qu'elle est proposée sur le site de l'EFF, nécessite un matériel particulier (scanner bricolé) ainsi qu'une analyse manuelle du document. Ce qui veux dire qu'en pratique cet élément de traçabilité est peu utilisable, sauf peut être pour le DOD et les constructeurs d'imprimantes qui eux doivent certainement avoir un système automatisé pour le faire...
Voici deux articles du magazine « PC world » relatant l'existence d'un tel système :
Quelles marques sont concernés ?
Si votre imprimante est d'origine américaine il est presque certain qu'elle possède un tel module stéganographique et donc qu'elle marque chacun de vos documents couleur. Voir ici pour la liste des imprimantes connues pour inclure de telles marques.
La plupart des imprimantes des constructeurs ci-dessous insèrent une marque stéganographique :

Seul ces deux constructeurs, à notre connaissance, n'inscrivent pas de marque stéganographique :


Les applications potentielles de notre logiciel
Un groupe d'étudiants et moi-même avons réalisé un logiciel de lecture automatique de ces marques. L'objectif étant la création d'applications dans le domaine de la sécurité de l'information :
  • la création de bons sécurisés à coût presque nul
  • la détection des faux fait avec des photocopieurs ou imprimantes laser couleur.
Ces deux applications sont détaillées dans les deux sections suivantes.

Création de bons sécurisés à coût nul

Une application possible est la création, à coût (presque) nul, de bons papier « sécurisés ». Il existe déjà beaucoup de solutions pour créer des bons, tickets, billets plus ou moins infalsifiable, cependant ils ont un coût. La solution proposée ici n'a aucun coût (hormis le logiciel) et ne nécessite rien d'autre qu'une imprimante laser couleur et un scanner.
Voilà comment cela fonctionne. Supposons que Alice souhaite envoyer un bon (à échanger contre une marchandise par exemple) à Bob. Alice voudra éviter que quelqu'un , y compris Bob, puisse copier ce bon ou en faire un faux. Pour cela Alice n'a qu'a utiliser notre logiciel pour découvrir sont identifiant. Cela se fait simplement en 4 étapes :
  1. Impression d'un document couleur (n'importe lequel)
  2. Scan du document
  3. Analyse via notre logiciel
  4. ça y est Alice connait l'identifiant de sont imprimante.

Elle créee alors un bon avec n'importe quel éditeur de document, y met le contenu qu'elle désire, et l'imprime. Elle peut alors le distribuer à Bob. Quand Bob voudra échanger le bon ou le faux bon, Alice peut alors vérifier qu'il s'agit bien d'un original en lisant la marque sur le bon. Alice, ou n'importe quel personne, pourra donc savoir si le bon qu'on lui présente provient bien de l'imprimante d'Alice, si ce n'est pas le cas ce bon est forcement un faux.
Évidement comme tout système il n'est pas totalement inviolable, mais en pratique cela s'avère suffisement compliqué pour que cela fournisse un niveau de sécurité suffisant pour beaucoup d'applications. Pour vous en donner une idée, imaginez bien que le DOD n'aurait pas forcé les fabricants d'imprimantes à insérer ce genre de système si il n'était pas un minimum efficace, surtout pour protéger la valeur du billet vert...
En plus du coût nul ce système présente ces avantages :
  • Pas besoin de changer de système d'impression (une imprimante laser couleur classique suffit) il y a de très fortes chances que celle que vous possédez déjà fasse l'affaire.
  • Quelque soit le logiciel d'édition utilisé, et même quelque soit le pilote(driver) utilisé, l'identifiant est inséré sur chaque page imprimée. Le système de production de document est tout à fait classique et standard.
  • La lecture se fait avec un scanner standard (<50 Euros) et notre logiciel.

Application à la détection de faux documents

Les imprimantes ou photocopieurs lasers sont souvent utilisés par les fraudeurs pour constituer des faux, et pas seulement des faux billets de banque mais aussi de faux diplômes, de fausses ordonnances médicales, de fausses attestations, fausse facture, etc ... . Il est assez naturel qu'un fraudeur utilise une imprimante unique, ainsi lors de constitution de dossiers toutes les pièces fausses contiendront la même marque. Cela veux dire qu'on peut détecter une fraude si on remarque que plusieurs pièces d'un dossier viennent de la même imprimante alors qu'elles devraient provenir d'imprimantes différentes (par exemple une ordonnance de médecin et une facture de pharmacie).

Conclusion
Ces deux applications de notre logiciel sont des gages de sécurité. Nous avons toutefois conscience des risques d'espionnage qu'ils constituent. Cela peut donc générer des vulnérabilités, cependant :
  • Dans la mesure ou au moins le DOD et les constructeurs d'imprimantes sont capables de le faire, il nous paraît plus sain que tout le monde puisse le faire aussi...
  • Le risque de vulnérabilité existe si on ne sait pas qu'il y a une marque, et nous contribuons à rendre cette information publique, notre objectif n'est donc pas dans le vol d'information mais plutôt d'en protéger les gens.
  • Il existe des marques d'imprimante qui n'utilisent pas ce système il y a donc un moyen simple de se prémunir contre ce risque. (okiData, Samsung)

Vous pouvez cliquer sur ce lien pour voter pour ce logiciel sur le site "pioche" (un équivalent français de "Digg").
Wikio est un autre site d'agregation de news , merci de cliquer sur ce logo pour voter pour cet article.