|
|
Malheureusement, la personne qui m'a envoyé ce message n'est pas experte en
informatique. Dans le champ de type received au début, on peut voir l'expéditeur
a utilisé la
machine avec l'IP 192.168.102.116. La suite de
l'entête nous
donne davantage de renseignements, en particulier les lignes précédées de la
lettre X. Ces champs n'étant pas standardisés, ils peuvent contenir n'importe
quel type d'information. L'exemple ci-dessus prouve qu'un simple message peut contenir nombre d'informations sur l'expéditeur, con entreprise, son logiciel de messagerie ou encore son type d'ordinateur. Ici, c'est Windows 9x ou NT/2000. Heureusement, les services de messagerie accessibles via le Web peuvent constituer une solution aux problèmes soulevés ici, comme nous allons le voir maintenant. 2.1.3 - WebmailL'expéditeur décide de créer un compte chez Hotmail. Et par exemple il ne donne pas ses vrais nom et prénom. Et l'expéditeur pense que: "de toute façon, ils ne pourront pas me trouver". Et il m'envoie un message "anonyme".
On trouve ici un entête similaire à celui étudié plus haut. Le champs Received
fournie aucune information sur l'origine du message puisqu'il ne transite que du
site Web de Hotmail vers le serveur SMTP. De plus, nous ne savons pas quel navigateur a été
employé.
Mais il y a une ligne assez curieuse: 2.1.4 - Les relais anonymesLes remailers anonymes fonctionnent tous selon le même principe: il s'agit de faire transiter un message entre plusieurs serveurs SMTP relais, lesquels ont la capacité de supprimer non seulement les champs Received ajoutés par les serveurs précédents, mais également toutes les informations permettant d'identifier l'expéditeur telles celles que nous avons vues jusqu'ici. Ainsi, seule le nom du dernier serveur apparaît dans l'entête. Il est impossible à un internaute moyen de remonter à l'expéditeur. Par exemple, J'utilise le service à http://anony.co.uk/ pour envoyer un message à pnlong@ifi.edu.vn. La source de message est présentée ci-dessous:
Vous pouvez constater que les champs qui nous permettent de trouver l'expéditeur ont été supprimé. Par ailleurs qu'il est vraiment indiqué que le message est anonyme. 2.2 - Messagerie sécurisée2.2.1 - GénéralitéDans quelque condition, comment on peut avoir la certitude qu'un message comportant gates@microsoft.com comme adresse d'expéditeur a été émis par le fondateur de Microsoft. De plus, il est important de noter que tout message transmis sur le réseau est en clair. Cela signifie que n'import qui peut l'intercepter et en prendre connaissance. Une personne peut modifier un message qui vous est destiné, sans la possibilité de vous en rendre compte. En utilisant des algorithmes ou protocole cryptographiques, on peut assurer à tout message les propriétés suivantes:
Plus précisément, on utilise le chiffrement pour assurer la confidentialité d'un message et à des mécanismes de signature pour l'intégrité, l'authentification et la non répudiation. 2.2.2 - CertificatLe certificat numérique permet les gens, les organisations, les entreprises sur l'Internet à vérifier les uns et les autres. Qu'est ce que c'est un Certificat: Il y a plusieurs types ou classes de certificat (chaque classe correspond un certain niveau de confiance que l'on peut accorder à un certificat. Plus précisément, un certificat de classe 1 sera moins sûr qu'un certificat de classe 2), mais au niveau le plus élémentaire, un certificat est un identifié combiné avec une clé publique, et signé par une Autorité de Certification (AC, CA en anglais). Lorsqu'on a un certificat, on peut l'utiliser de plusieurs façons dont les deux opérations principales sont l'authentification et le cryptage. Ces deux opérations dépendent de la concept du chiffrement avec la clé publique. En réalité, il y a quatre types de certificat utilisés sur l'Internet actuellement:
On va expliquer ici le certificat de client. L'identité ID dans un certificat (on l'appelle souvent le "sujet" du certificat) identifie qui est le propriétaire du certificat. Il peut avoir des syntaxes variées, mais il contient un nom distingué avec des attributs comme le "nom commun" (CN), l'organisation (O), l'unité de l'organisation (OU). Le sujet du certificat a des entrées supplémentaires comme l'adresse email ou le nom de la domaine. (ex: www.ifi.edu.vn) La clé publique est une partie du pair clé publique/privée. La clé privée n'est pas une partie du certificat et elle n'est jamais transférée sur la ligne de communication. Une personne qui veut contacter le sujet du certificat peut utiliser la clé publique comme une partie de l'algorithme de cryptage. En réalité, la signature du AC garantie l'identité réelle du sujet du certificat. Par exemple, un AC peut exiger le sujet (le propriétaire du certificat) de présenter quelques images d'indentification avant de signer le certificat. Voila un exemple de certificat. Dans le certificat, on peut voir le champ "Issuer" (le AC qui a distribué le certificat), le champ "Subjects" (l'identité du propriétaire du certificat), le champ "Publique Key" (la clé publique du sujet), et le champ "Signature" (le signature du AC qui a garantie le sujet).
2.2.3 - Utiliser les gérer des certificatsSigner un message Authentification et le cryptage Récupérer le certificat d'un
correspondant Révoquer un certificat 2.2.4 - Quelques mots sur PGPPGP (Pretty Good Privacy) est un logiciel développé au début des années 1990s par Phil Zimmermann. Sa diffusion a été particulièrement remarquée pour des raisons juridiques mais également parce qu'il s'agissait du premier logiciel mettant en oeuvre de la cryptographie forte, gratuit. PGP repose sur un système volontairement décentralisé où aucune autorité n'est employée afin de certifier les clés publiques des différents utilisateurs. En fait, PGP utilise des chaînes de confiance permettant d'authentifier un certificat: si Bob reconnaît la signature d'Alice, il pourra reconnaître du même coup toutes les clés publiques que Alice signera et auxquelles elles aura explicitement accordé sa confiance. En pratique, on intègre PGP, un programme totalement autonome, à un logiciel de messagerie à l'aide de modules supplémentaires appelés plugin. Il existe de tels modules pour Outlook .... Une fois installés, ces plugins ajoutent des menus ainsi que des icônes qui permettent d'accéder aux fonctionnalité de PGP, à savoir le chiffrement et la signature de messages. 3 - Le spam3.1 - GénéralitéLe spam est à la messagerie électronique ce que sont les prospectus publicitaires aux boîtes aux lettre: des messages diffusés indifféremment à des milliers de personnes. Les spams sont véhiculés à travers deux médiums principaux: l'email et les conférences (newsgroups). 3.1.1 - Type de spamLes spams sont fréquemment classés en plusieurs catégories, qu'ils soient diffusés par courrier électronique ou dans les conférences. Les spams dans le courrier électronique
Le spam dans les conférences
Un caractéristique classique d'un message commercial non sollicité est que les adresses source et de destination sont manifestement fictives, l'émetteur ne veut pas recevoir des milliers de message de protestation. Les produits proposé dans les messages ne sont à l'évidence pas très officiels. 3.2 - Les techniques de spammeurLa meilleure façon de lutter contre un agresseur est de connaître les technique qu'il emploie. Dans le cas du spam, nous nous proposons de voir comment les spammeurs procèdent pour constituer leurs listes d'adresse email, puis envoyer des milliers de messages identiques à partir de ces listes. 3.2.1 - Obtention d'adresses emailL'objectif étant de toucher un maximum de personne, ces listes doivent comporter un nombre important d'adresse valide. Le spammeur peut constituer lui-même ses propre listes, ou il achète une ou plusieurs listes à une société de commercialisation directe spécialisée dans le spam. Dans les deux cas, ces listes sont constituées à partir de plusieurs sources, dont voici les principales: Les conférences: avec les outils spéciaux, on peut extraire les adresses contenues dans les articles stockés sur un serveur NNTP. Les pages Web: les pages Web peuvent contenir plusieurs adresses email aussi. Les listes de diffusion: les spammeurs peuvent parfois obtenir la liste des personnes abonnées à une certaine liste, permettant ainsi de constituer quasi instantanément une liste importante d'adresse valide. Les annuaires d'utilisateur: On rencontre sur l'Internet de nombreuses bases de données contenant parfois des centaines de milliers, voire des millions d'adresses. Il peut tout simplement s'agir d'annuaires de messagerie, où chaque internaute est invité à s'inscrire librement de façon que ses amis puissent retrouver son adresse email. Les utilisateurs enregistrés de certains services ou logiciels: nombre de sociétés demandent eux internaute souhaitant tester un produit ou accéder à un service de remplir un formulaire contenant, entre autres, leur adresse email. Les listes peuvent être vendues. 3.3 - Lutter contre le spam3.3.1 - Mesures préventivesOn commence par des solutions particulièrement simples et faciles mises en oeuvre pour éviter de recevoir du spam. Utiliser deux adresses La solution idéale pour s'affranchir du spam est de définir deux adresses : l'une privée, et l'autre publique. L'adresse privée sera l'adresse principale, qu'on ne communiquera qu'à des collègues et amis. Quand à l'adresse publique, elle sera utilisée pour poster des articles dans les conférences, s'inscrire à des listes de diffusion ... Dans les conférences Pourtant, le camouflage d'adresse doit respecter un certain nombre de règles. En particulier, il faut s'assumer de ne pas indiquer une adresse qui pourrait malgré tout exister. On ne doit pas non plus ajouter une quelconque chaîne de caractères avant le nom de domaine réel ou à gauche du signe @, car dans les deux cas, un éventuel message envoyé à une telle adresse sera automatiquement dirigé vers le serveur de messagerie. Ex: si je modifie mon adresse de pnlong@ifi.edu.vn à etudiantpnlong@ifi.edu.vn ou à pnlongetudiant@ifi.edu.vn ou pnlong@haha.ifi.edu.vn. Un message envoyé à des adresses listés ici est dirigé vers le serveur d'email (ifi.edu.vn). Sur le Web Les opt-in et opt-out
Pour l'opt-out passif, l'internaute ne peut pas éviter les messages envoyés par des entreprises de commercialisation. Pour les trois premiers cas, les messages vont être envoyés l'internaute a accepté la publicité proposée par le site Web. Aujourd'hui La légitimité des opt-in et opt-out est encore disputée: en Europe, aux Etats Unis, et en France. 3.3.2 - Filtrage à l'arrivéeIl va donc d'un filtrage effectué via un logiciel de messagerie à partir des messages reçus dans la boîte aux lettres. On ne traiterons ici que le cas des utilisateurs qui se connectent à un serveur POP3 afin de récupérer leur courrier électronique stocké sur une machine distante. Les logiciels de messagerie comme Mozilla ou MS Outlook intègrent des filtres qui permettent de déplacer un message vers un dossier particulier en fonction d'un certain nombre de critères définissables par l'utilisateur, liés aux différents champs constituant l'entête d'un message, voire même à son contenu. Pour pouvoir filtrer les spams, il va falloir trouver un ou plusieurs critères permettant de les identifier dans la plupart des cas. La solution la plus simple consiste à utiliser une liste d'adresse employées par des spammeurs. Chaque fois qu'on détecte un message comportant une adresse appartenant à cette liste. On sait que c'est un spam. Malheureusement, cette technique n'est jamais efficace à 100%. Il existe une solution plus simple particulièrement efficace. Il faut savoir que la plupart des message de spam ne contiennent pas l'adresse email de la personne qui les reçoit. Ceci est du au fait que les spammeurs utilisent le champ Bcc: leur permettant d'envoyer en une fois un même message sans que la liste des destinataires ne vienne encombrer son contenu. Le stratégie ici va donc déplacer vers un répertoire spécifique, voir effacer, tout message ne vous étant pas directement adressé. C'est à dire dans l'entête duquel votre adresse email n'apparaît pas, que ce soit dans un champ To: ou Cc:. Il reste cependant un problème: les messages issus de listes de diffusion ne contiennent généralement pas non plus l'adresse de chacun des destinataires. Il suffit de déplacer tout message, appartenant à une telle liste, vers un dossier qui lui aura été réservé à cet effet en définissant un filtre, pour chaque liste, qui recherchera l'adresse de celle-ci dans les champs To: ou Cc: où elle est généralement indiquée. Les règles de filtrage étant exécutées les unes à la suite des autres, il suffit d'indiquer la règle concernant les spams en dernière position. 3.3.3 - Filtrage sur le serveurAvec les stratégies de filtrage à l'arrivée, les mes sages entiers sont transférés vers le poste de l'utilisateur avant d'être soumis au système de filtrage, ce qui n'entraîne aucune réduction du temps de connexion au serveur de messagerie. Cependant, le protocole POP3 permet de ne récupérer que l'entête d'un message, sans son corps. Or, puisque le règle de filtrage anti-spam est uniquement basée sur des champs de l'entête, il est possible de trier les messages directement sur le serveur et de récupérer seulement ceux qui sont dignes d'intérêt. On va présenter deux systèmes de filtrage. Logiciel antispam Procmail 3.3.4 - Spam, filtrage et conférencesDans les conférences, nous allons retrouver les mêmes concepts que pour le courrier électronique, à savoir l'utilisation de systèmes de filtrage basée sur le contenu des entêtes des articles. Une différence importante avec l'email est que, d'une façon générale, un utilisateur consultant une conférence donnée ne récupère pas systématiquement tous les articles qu'elle contient avant de décider quels messages lui paraissent dignes d'intérêt, mais seulement leurs entêtes. Par conséquent, la mise en place d'un système de filtrage au niveau du logiciel permettant d'accéder aux conférences est particulièrement efficace puisqu'il n'a pas besoin de récupérer les articles en entier. Les killfiles NoCeM 3.4 - Le retour du grand méchant spam3.4.1 - Retrouver la trace du spammeurl'envoi de message électronique se fait par l'intermédiaire d'un serveur de messagerie implémentant le protocole SMTP. Un spammeur qui désire envoyer un message de spam doit donc nécessairement disposer d'un accès au réseau et d'un serveur SMTP. Il y a trois techniques classiques que les spammeurs souvent utilisent: connexion direct au serveur SMTP du destinataire, l'utilisation d'un relais ouvert, et la falsification d'en tête. Dans les deux premiers cas, on peut facilement retrouver le serveur de messagerie ou l'adresse IP de l'expéditeur. Dans le dernier cas, il est beaucoup plus difficile à le faire. Une fois qu'on a trouvé l'origine du message de spam, comment ou peut réagir pour que les spammeurs ne puissent plus d'envoyer les spams. 3.4.2 - Accès du spammeurMaintenant que nous avons identifier les points de connexion des spammeurs et les serveur de messagerie qu'il utilisent pour injecter leurs messages sur le réseau, découvrons comment déterminer la ou les personnes à contacter pour tenter de mettre en fin à leurs activité. Il est parfois possible de trouver l'adresse recherchée en se rendant sur le site Web de la société concernée. Les fournisseurs d'accès Internet disposent presque toujours d'une charte d'utilisation appelée AUC (Acceptable Use Policy) qui interdit généralement à leurs clients d'envoyer du spam et que ceux-ci sont censés respecter sous peine de voir leurs compte fermés. En recherchant cette charte, on trouve souvent l'adresse qui permet de signaler les violations de celle-ci. Un autre solution est d'écrire directement aux adresse postmaster@domaine des sites concernés, c'est à dire pointant vers la personne chargée de l'administration de la messagerie, d'après RFC822. La dernière solution est peux être la plus simple. Elle consiste à utiliser le service http://www.abuse.net qui permet de retrouver l'adresse destinée à recevoir les plaintes concernant le spam. Mieux, on peut directement envoyer un message à l'adresse nom-dedomaine@abuse.net, le service se chargeant de le rerouter vers l'adresse de la mieux adaptée. Ex: un mail envoyé à uu.net@abuse.net sera en réalité transmis à l'adresse fraud@uu.net. 3.4.3 - Site Web du spammeurL'obtention de la fermeture de l'accès Internet d'un spammeur est parfois efficace. Cependant, de nombreux spams font la promotion de services ou de produits proposés par l'intermédiaire d'un site Web. Si le site Web du spammeur a été créé chez un service d'hébergement gratuit tel que Geocities ou Xoom, il n'y a pas d'autre possibilité que de contacter l'équipe d'administration de celui- ci, en espérant qu'elle acceptera de fermer le site correspondant. Si le spammeur possède son propre domaine (du type www.nomdomaine.com), nous disposons d'un outil: le service whois sur http://www.networksolutions.com/cgibin/whois/whois, qui renvoie un certain nombre d'informations sur un nom de domaine: son titulaire, les personnes chargées des questions administratives, techniques, etc. Par exemple, le site Web du spammeur est www.handoi.com Registrant:
On peut donc essayer d'envoyer un message aux contacts administratifs et techniques associés au domaine auquel le site Web appartient, tout en sachant que ces adresses mènent peut-être à la boite aux lettres du spammeur et que cale équivaudrait à lui répondre directement d'où le risque de recevoir encore plus de spam. Si le contact technique semble provenir d'une autre société que celle titulaire du domaine, cela signifie sans doute que c'est cette société qui héberge le site Web en question. 3.4.4 - Traquer le spam dans les conférencesEn effet, les spammeurs tentent également de brouiller leurs traces en falsifiant les entêtes et en utilisant des serveurs NNTP ouverts. La principale différence entre un article et un message électronique est la présence de champs spécifiques comme Newsgroups: qui joue le rôle du champ To:, Path: qui remplace les Received:, et NNTP-Posting-Host: qui indique le système à partie duquel l'article considéré a été envoyé. Voici un exemple pour illustrer l'entête d'un article:
Les champs From et Organisation: étant normalement définis par l'utilisateur. Le champ NNTP-Posting-Host indique l'article a été envoyé à partie d'un accès proposé par ucdavis.edu, En examinant le Path: de gauche à droite, on peut supposer que l'article a été injecté à partir d'un relais NNTP ouvert se trouvant sur la machine nntp.earthlink.net, mais il se peut aussi que le spammeur soit directement passé par un serveur de news proposé par news.ucdavis.edu, et que les sites indiqués ensuite aient été ajoutés par le spammeur pour faire croire qu'il a posté son message vie le serveur d'EarthLink. La réponse est d'interroger les administrateurs de news concernés. En ce qui concerne les personnes à contacter, on peur donner les mêmes recommandations que pour le mail, tout en sachant que les adresses diffèrent parfois. Par exemple, les plaintes relatives aux articles de conférences émis vie le réseau ucdavis.edu doivent être envoyées à spam-complaint@ucdavis.edu au lieu de fraud@ucdavis.edu. D'une façon générale, on peut remplacer le postmaster par une adresse du type newsmaster@domaine ou news@domaine. 3.5 - Solutions pour administrateursSi le problème du spam peut être en grande partie résolu par l'utilisateur qui en est la victime, l'administrateur système peut également intervenir à leur niveau. On va présenter différente solutions techniques qui permettent de lutter contre le spam au niveau d'un site entier. 3.5.1 - Définir une politique d'utilisationUne solution technique doit toujours être mise en oeuvre dans le respect d'une politique définir au préalable. Cette politique doit indiquer précisément les conditions d'utilisation acceptable des ressources du système d'information de l'entreprise, et les conséquences en cas de non-respect de celles-ci. 3.5.2 - Bloquer le spam entrantLe premier objectif de tout administrateur qui souhaite lutter contre le spam va être de mettre en place des systèmes permettant de préserver ses utilisateurs de tels messages. On peut bloquer les spams à plusieurs niveaux: le routeur d'accès à l'Internet, les serveurs SMTP et NNTP, les serveurs Web. Au niveau routeur d'accès Au niveau du serveur SMTP
Au niveau de serveur NNTP
Le cas des accès distants Bloquer les harversters Web ("spider") 3.5.3 - Bloquer le spam sortantOn peut facilement limiter le nombre de destinataire par une message à une vingtaine ou trentaine. 3.6 - Le spam et la loiLorsque les mesures techniques ne suffisent plus pour lutter contre un spammeur récalcitrant, il peut être nécessaire de porter l'affaire devant les tribunaux. 3.6.1 - Aux Etats UnisAu niveau fédéral Au niveau des Etats 3.6.2 - En FranceIl n'existe aucune loi traitant explicitement du problème du spam. Cependant, certains textes sont susceptibles d'être applicables, en particulier dans le domaine de la protections des informations nominatives et de la lutte contre le piratage informatique. 4 - Trace sur InternetL'importance liberté dont dispose tout internaute sur le Web peut lui laisser penser que son parcours, de site en site, est totalement anonyme et impossible à reconstituer par un tiers. En réalité, il n'en est rien : chaque consultation de serveur Web ; chaque page visualisée ; chaque clic sur un lien laisse non pas une mais plusieurs traces, aussi bien sur l'ordinateur de surfeur que sur les sites qu'il visite. 4.1 - Les traces localesIntéressons nous tout d'abord aux traces laissées en local lors de la consultation d'un site Web à l'aide d'un logiciel de navigation. Chaque fois qu'on entre l'adresse d'un serveur dans la zone de saisie prévue à cet effet au sein du navigateur Web, cette adresse est automatiquement enregistrée sur votre disque dur, dans une liste des dernières adresses saisies. Ensuite, dès qu'un page appartenant au site visité apparaît, la quasi totalité des fichiers qui la constituent est stockée dans un répertoire spécial appelé cache. Enfin, l'URL correspondant est inscrite dans un répertoire ou un fichier. Si vous êtes la seule personne qui utilise l'ordinateur, tout ceci peut ne pas vous ennuyer. Mais si vous partagez votre machine ou que des tiers peuvent y accéder librement, que ce soit chez vous, dans un café Internet, et même sur la machine sur votre lieu de travail. 4.2 - Les traces à distanceSi les traces laissées en local sur le disque dur d'un internaute sont aussi nombreuses que précises, il ne faut pas pour autant oublier que le fait de surfer génère d'autres enregistrements, ailleurs que sur le poste client. 4.2.1 - Les fichiers logChaque Web serveur accédé dispose d'un ou plusieurs fichiers qui enregistrent de nombreuses informations relatives aux machines, logiciels de navigation et même individus accédant à n'importe quel document proposé sur le serveur. Ces fichiers, appelés fichier log, ont des objectifs origines sont tout à fait justifiables. En effet, ils permettent de définir des statistiques basées sur le fréquence de consultation de chaque fichier texte, image ou son proposé par le serveur , l'origine géographique des visiteurs, ou encore de mettre en lumière des erreurs involontaires, par exemple un lien vers un document inexistant au sein d'une certaine page Web ou script CGI qui plante. Les fichiers log ont également pour objectif de faciliter la détection de certaines tentatives d'intrusion. En effet, ils sont généralement recoupés avec d'autres fichiers de ce type, permettant ainsi de bloquer temporairement ou définitivement l'accès au site à une ou plusieurs machines indélicates. Malheureusement, les informations que les fichiers logs contiennent peuvent être utilisées à des buts nettement moins justifiable, par exemple l'établissement de profils plus ou moins précis sur les visiteurs des sites Web considérés. Voici un exemple de fichier log qui est récupéré à partir d'un serveur IIS 5, Windows 2000, le format de ce fichier est suit à la norme W3C Extended Log File Format;
On peut voir dans le fichier la date, le temps, l'adresse IP, le port, l'URL, l'état, le Referer, et le navigateur utilisé, de chaque consultation dans le Web site. 4.2.2 - Comment effacer ces tracesLorsque nous avons présenté les différentes traces laissées en local lors de la consultation de sites Web, nous avons pu proposer des solutions simples permettant de les effacer ou même d'en interdire la génération. Malheureusement, nous ne pouvons pas effacer les informations stockées sur des serveurs Web. La solution la plus efficace est d'utiliser un proxy. Il s'agit d'un serveur qui sert d'intermédiaire entre le navigateur et les sites que vous consultez, et qui peut être utilisé pour masquer l'adresse dans les logs d'accès à un site Web. Ainsi, ce n'est plus l'adresse de l'internaute qui apparaîtra à chaque requête, mais celle du proxy, rendant l'identification plus difficile. On l'appelle le proxy anonyme. Un proxy anonyme acceptent une adresse, et puis, il envoie une requête vers le serveur de destination. Après avoir reçu toutes les informations qui se contiennent dans la page demandée, le proxy les renvoie vers le navigateur du client. Alors dans le fichier log du serveur de destination, on ne peut trouver que les informations concernant le proxy. 4.2.3 - En quoi toutes ces traces peuvent-elles être dangereusesNous avons vu jusqu'à maintenant qu'un administrateur de site Web pouvait disposer des informations suivantes:
Il faut en ajouter d'autres, par exemple les cookies, les adresses email obtenues à partir des accès anonymes à un serveur FTP proposé en complément un site Web, les réponses données par un utilisateur à un formulaire. La question est: en quoi ces informations peuvent-elles être dangereuses, en termes de respect de la vie privée? Tout d'abord, rappelons que si les informations qui peuvent être obtenues par un administrateur de site Web sont relativement précisées, elles ne permettent pas, dans la majorité des cas, de retrouver l'identité des personnes qui les ont générées. Au mieux, on peut savoir dans quel pays, voire dans quelle ville, se situe la personne (cas d'un fournisseur d'accès Internet) ou dans quelle société elle travaille. Cependant, en cas de collaboration des différents intermédiaires (dans le cadre d'une enquête de police par exemple), il va sans dire que tout fournisseur pourra recouper ses propres logs avec ceux d'un administrateur de site Web afin de déterminer l'identité précise d'une personne ayant accédé à un certain service, à un certain moment. Il en est de même pour les fichiers log générés lors de l'accès à l'Internet au sein d'une entreprise. Mais sauf en cas de crimes ou délits, el est rare qu'on arrive à de tels extrêmes. En revanche, il est beaucoup plus fréquent que l'on soit amené à remplir un formulaire en ligne dans le cadre d'une commande, d'un demande de renseignements, de la participation à un jeu. Il est alors facile pour l'administrateur d'un site Web de savoir qui vous êtes à partir du moment où vous avez remplir un tel formulaire, tout au moins jusqu'à ce que vous quittez le site en question. Il est exact que cela ne permettre pas de vous identifier systématiquement lors de vos prochaines visites, puisque l'adresse qui vous est allouée à chaque connexion au réseau via un fournisseur d'accès est différente. (mais cookie alors ?) 5 - Les cookies: biscuits empoisonnéesRares sont les techniques qui ont fait autant de bruit que les cookies. Les cookies ont mauvaise réputation alors que leurs objectives initiaux n'avaient pourtant rien de bien réprimandable. 5.1 - Origine de cookieTout a commencé à partir d'un constat: le protocole HTTP est un protocole sans état. Ce caractéristique sans état complique le mise en place de certains services qui nécessitent justement de conserver l'historique d'une session. On peut donner un exemple: Imaginons qu'un client se connecte à un site marchand, vie l'Internet. Ce client va être amené, à moment ou un autre, à sélectionner un ou plusieurs articles au sein d'une même commande. S'il pouvait en choisir un seul à la fois, ce la ne poserait pas beaucoup de problème. Mais la fois prochaine s'il souhaite commander plus d'un article, comment le serveur peut-il mémoriser la liste de ces différents articles. Au milieu des années 1990, Lou Montulli, employée chez Netscape, écrivait une spécification qui présentait une solution simple permettant à une application exécutée sur un site Web (un programme CGI) de stocker et de rapatrier des informations sur le logiciel client. L'objectif était donc de permettre l'enregistrement d'un certain nombre d'information, pour le compte d'un serveur, au sein d'un navigateur Web de façon à pouvoir identifier de façon unique les requêtes successives envoyées par un même client. Les cookies étaient nés. 5.2 - Le cookieLe société Netscape propose sur son site Web la spécification originale des cookies sur laquelle on va base notre étude. Mais il faut attendre jusqu'en 1997 quand la RFC 2109 était adoptée par Netscape et Microsoft, les cookies sont acceptés officiellement. 5.2.1 - Principes générauxUn cookie est une information envoyée par le serveur à un client Web qui doit la garder en mémoire. Lorsque certaines conditions sont réunies, un cookie stocké à côté client peut être renvoyé au serveur l'ayant positionné, voire à d'autre serveur. Ainsi, la transmission de cookies, entre clients et serveurs, permet d'ajouter une certaine persistance de l'information dans le cadre des transactions Web. Concrètement, deux nouveaux entêtes HTTP ont été ajoutés: Set-cookies: et Cookie: Le premier est inséré dans l'entête d'une réponse envoyée par un serveur à un client. Il permet de positionner un cookie à côté client. Le second fait l'opération inverse, cad qu'il donne la possibilité à un navigateur d'inclure la valeur d'un cookie dans l'entête d'une requête HTTP envoyé à un serveur. 5.2.2 - Positionnement et accèsSet-cookie:
Le premier champ qui apparaît dans cet entête est le nom du cookie suivi de la valeur qui lui est associée. C'est le seul argument qui doit obligatoirement figurer dans tout entête Set-Cookie. Le champs expires indique une date d'expiration optionnelle pour le cookie. Lorsque aucune date d'expiration n'est précisée, le cookie ne doit pas être stocké sur le disque de l'utilisateur et il est détruit dès que celui-ci ferme son navigateur. Si le troisième argument, domain, n'est pas spécifié, le cookie ainsi positionné n'est accessible qu'au serveur qui l'a généré. Pour permettre l'accès à un cookie à d'autres serveurs appartenant à un même domaine, on peut indiquer un nom de domaine via ce champ. Ainsi, si on définit .netscape.com comme nom de domaine, toutes les machines du type www.netscape.com, home.netscape.com ....pourront lire la valeur du cookie. Le champ path=, permet de préciser le préfixe des URL aux quels le cookie s'applique. Par exemple, si on indique path=/doc, le cookie ne sera renvoyé qu'au sien des requêtes accédant à des fichiers dont l'URL débute par /doc, soit /document/, /docs/index.html etc. si on souhaite que le cookie s'applique à toutes les pages d'un site. Il suffit de spécifier path=/. Lorsque cet argument est omis, le champ path prend comme valeur de l'URL de la réponse qui l'a positionner. Le champ secure est un mot clé qui ne prend pas de valeur. Lorsqu'il est positionné, la valeur du cookie ne sera renvoyée que si la connexion entre le client et le serveur est sécurisée, cad établie via SSL. Exemple: Un champs Set-cookie du site www.google.com
Cookie:
Ainsi, plusieurs cookies peuvent être envoyés dans le même entête Cookie: d'une requête HTTP, s'ils sont susceptible de répondre à certaines conditions. Règle d'accès Ensuite, s'il existe au moins un cookie répondant à la condition précédente, le navigateur examine l'URL contenue dans la requête HTTP et vérifie qu'elle coïncide avec celle spécifiée pour le cookie (valeur du champ path:) Enfin, si les deux conditions sont validées, le cookie est envoyé dans la requête à moins que sa date d'expiration n'ait été atteindre, auquel cas il est automatiquement détruit. Il est possible que plusieurs cookies soient envoyés simultanément durant une même requête. Si c'est le cas, les cookies sont spécifiés dans l'entête Cookie: de telle façon que ceux qui s'appliquent aux chemins les plus précis soient indiqués en premier. Ainsi, un cookie ayant une valeur path=/ sera indiqué en fin de la liste. Ex: le cookie "nom1=foo" avec le chemin "/" est envoyé avant le cookie "nom1=foo2" avec le chemin "/bar". Si un script CGI veut supprimer un cookie, il doit positionner un cookie avec le même nom, et le champ expire est dans le passé. Le chemin doit être correspondant. 5.2.3 - Limitation de stockageD'après la spécification de Netscape, un navigateur doit d'accepter et de garder en mémoire:
Bien que ces spécifications soient des valeurs minimales, un serveur ne doit pas d'attendre à ce qu'un navigateur puisse dépasser ces limites. Lorsque les valeurs de 300 cookies au total et 20 cookies par domaine ou serveur sont atteintes, le navigateur doit effacer les cookies les plus anciennement accédés. 5.3 - A quoi servent les cookiesLes cookies ont de nombreuses utilisations parfaitement défendables : En voici
quelques
unes : Accès personnalité Rotation de publicité 5.4 - Cookies et vie privéeIdentifier un navigateur Identifier un individu sur un site Traquer un individu sur plusieurs
sites Cookies et DoubleClick Ainsi, lorsqu'un navigateur va récupérer les différents éléments constituant une page Web de ce type, il va également envoyer en enquête vers DoubleClick permettant d'afficher les images de publicité. Avec le champ Referer: de l'entête HTTP de la requête, DoubleClick peut savoir facilement à partir de quelle page de quel serveur HTTP sa publicité est visualisée. Mais avec cela, DoubleClick ne peut pas identifier qui demande chacune de ces publicités. C'est là que les cookies entrent dans le jeu: il suffit de placer un cookie dans les réponses de façon à positionner un identifiant unique. Ce cookie a été placé dans le disque de l'internaute la première fois que cet internaute consultait une page qui contient la publicité de DoubleClick. Cet technique permet de ne pas afficher la même publicité plusieurs fois à la même personne, même si elle visite plusieurs sites différentes. En outre, il est possible de proposer des annones en relation avec le type des sites visités par l'internaute. 5.5 - Contrôler et supprimer les cookiesHeureusement les navigateurs actuels permettent les utilisateurs la possibilité de contrôle total sur les cookies. Les utilisateurs peuvent accepter ou refuser tous les cookies installés par les serveurs. Ils peuvent aussi accepter ou refuser un cookie d'un site Web particulier. Ces options sont possibles dans Internet Explorer et Netscape Navigator, deux navigateurs les plus populaires. 6 - Les dangers du Web et des navigateurs6.1 - Faiblesses des navigateursOn va ainsi voir que l'exploitation de certaines faibles, connues principalement des hackers et des spécialistes en sécurité, va permettre non seulement de découvrir l'identité réelle mais également de faire planter l'ordinateur à distance, d'accéder au contenu de n'importe lequel des fichiers ou encore de faire croire que vous passez une commande sur votre site de commerce électronique préféré alors qu'en réalité vous être en train de révéler à un pirate des informations aussi sensibles que vos coordonnées bancaires. Pour le faire, nombres d'attaques reposent sur l'exploitation de faibles de sécurité au sein des logiciels de navigation du marché, et particulier au niveau des technologies actives de Web, comme Java, Javascript, ActiveX ... Ces technologies permettent d'exécuter des scripts ou programmes directement sur l'ordinateur de l'internaute, avec les risques que cela comporte pour ce dernier. 6.1.1 - Data-driven attaqueIl est possible pour les crackers de placer de mauvaises données dans des bonnes applications pour obtenir des résultats indésirables. Supposons qu'un utilisateur a configuré Microsoft Word pour maintenir les fichiers qui a l'extension .doc dans son navigateur Internet Explorer. Quand il télécharge un fichier .doc particulier, son ordinateur peut être infecté par le virus macro. Ce type d'attaque s'appelle data-driven attaque, car la nature de l'attaque est déterminée par des données qui sont téléchargées. La plupart des attaques sur l'Internet sont des attaques qui se reposent sur des données malicieuses téléchargées. On va examiner quelques attaques variés de ce type. Social Engineering
Quelque extension du Web, comme Javascript, permet de faciliter l'apparence des messages sur l'écran de l'utilisateur. Il n'y a aucune bonne solution pour des sociales attaques autres que l'éducation. Exploitation des bugs des navigateurs Dans les nouveaux navigateurs comme Internet Explorer, ou Netscape Navigator, il y a plain de bugs qu'on peut utiliser pour faire les planter. Par exemple, dans Netscape Navigator 4.x, si on met un lien "mailto: email email ...." dont email est une vraie adresse email. L'attaque consiste à indiquer plusieurs adresse fictives au sein de ce champ, obligeant le logiciel de messagerie à envoyer un même message à différentes personnes. 6.2 - Les langages de programmation WebLes langages de programmation Web comme Java ou Javascript peuvent être utilisés pour attaquer les internautes. Java et Javascript sont des langages utilisés pour ajouter l'interactive à des pages Web. Tandis que les deux langages apparaissent similaire, ils sont deux langages totalement différents avec les sémantiques différentes, les mécanismes de sécurité différents, et les communautés des utilisateurs différentes. 6.2.1 - JavaJava est un langage orienté objet moderne qui a une syntaxe semblable à C++, la collection d'ordures automatique, et avoir un modèle simple d'inhérence. Bien que Java ait été en grande partie favorisé comme langage pour le World Wide Web, Java est en fait un langage de programmation universel qui peut être employé pour développer n'importe quel programme simple d'un application de cinq lignes aux applications compliquées. La machine virtuelle de Java (JVM) peut exécuter des programmes de Java directement sur un système d'exploitation tel que Windows ou Linux, alternativement, la JVM peut être embarquée à l'intérieur d'un navigateur Web, permettant à des programmes d'être exécutés pendant qu'ils sont téléchargés du World Wide Web. La sûreté de Java
Avec ces caractéristiques, Java devient un langage de programmation sûr. Mais la sûreté n'est pas sécurisée. La sécurité de Java
Applet signé et certificat Le problème de sécurité de Java
6.2.2 - JavascriptJavascript est un langage de programmation développé par Netscape pour ajouter des animations et les interactions dans les pages Web. Les programmes de Javascript résident dans des fichiers de HTML. Il peut commande le navigateur: un programme Javascript peut créer des nouvelles fenêtres, entrer des textes dans des champs d'une forme, sauter à un autre URL, changer le contenu d'un document HTML lui-même, calculer les fonctions arithmétiques.. etc. Javascript est le langage original du Netscape Navigator. Pour la raison Javascript a plusieurs fonctions spéciales conçues à modifier l'apparence du navigateur. Tandis que Javascript est appelé "scripting langage", mais il est vraiment un langage à but général comme les autre langages de programmation. La sécurité de javascript
Mais Javascript, comme les autres parties du Web, est entrain de changer. Maintenant, Javascript a beaucoup de capacités d'accéder à la machine du client, mais dans le contrôle. Les problèmes de Javascript peuvent être divisés en deux types principaux: attaque Déni de Service (Dénial of Service) et la violence de l'intimité.
Ces problèmes tous ont été corrigés dans de plus nouvelles versions de Netscape Navigator. Monsieur Eric Greenberg de Netscape indique que la vraie raison de la perte d'intimité n'est pas que le Javascript a accès à l'information sensible, mais que cette information peut partir d'ordinateur de l'utilisateur. 6.2.3 - VBScript de Microsoft Internet Explorer (IE)VBScript est le langage de Microsoft Internet Explorer , le navigateur est utilisé beaucoup par les utilisateurs normaux. Les programmeurs peuvent choisir VBScript ou Javascript pour programmer à côté client. VBScript est intégré dans IE pour que IE puisse bien travailler avec les technologies de Microsoft sous Windows comme COM (Component Object Model) et ActiveX. Comme Javascript, VBScript a aussi des sérieux bugs qui peuvent être exploités par les attaquant. Par exemple, des nombreux problèmes de sécurité avec la fonction GetObject par Georgi Guninski. Cette fonction permet de créer un objet ActiveX dans l'environnement de IE. Jusqu'a la version 6.x de IE, des bugs de la fonction GetObject existent encore. Ces bugs permettent aux script VBScript de lire le contenu des fichiers sur le disque dur. 6.2.4 - Les attaquesAttaque de déni de service (DoS) N'importe quel langage de programmation ou environnement qui permet d'allouer des ressources au niveau système, et il n'y a aucune limitation de cette ressource, est le sujet des attaques déni de service. Java et Javascript apparaissent être spécialement sensibles pour eux. Des programmes Java ou Javascript peuvent facilement allouer plain de ressource, et il est difficile pour les utilisateurs à défendre contre ce type d'attaque. Les types d'attaque de déni de service Attaque sur le CPU et la pile
Et un morceau de code de Javascript correspondant:
Les navigateurs différents ont des façons différentes pour terminer les programmes Javascript. Netscape Navigator affiche un message qui demande l'utilisateur de terminer ou laisser le script lent marche. Mais quelque version de Internet Explorer termine la fonction Fibonacci avec une erreur de débordement de pile. En exécutant ce script, le navigateur ne peut rien faire. Avec une boucle très simple, on peut planter un navigateur, même c'est un navigateur moderne comme Mozilla:
Attaque d'échange de l'espace
Lorsqu'on exécute ce script, les
deux Internet Explorer et Netscape Navigator essayent
d'allouer des grands sommes de mémoire. Ce type d'attaque nuit au navigateur
et même
les autres applications qui marchent dans l'ordinateur, car l'ordinateur
doit échanger,
échanger et échanger les zones de mémoire. Dans cette attaque, le disque dur
est
totalement occupé, et il ne peut rien faire autrement, et le CPU est
effectivement bloqué. Attaque sur le système de gestion de fenêtre Il est trop difficile pour les utilisateurs à contre les attaques de déni de service, car la plupart des attaques de déni de service est le résultat des bugs de programmation, des architectures des langages de programmation. Les attaques de proofing
6.3 - Les codes de machine téléchargés avec ActiveX et les plug-insUne des choses les plus dangereuses que vous pouvez faire avec un ordinateur qui est relié à l'Internet doit télécharger un programme et l'exécuter. Car un programme s'exécute dans l'environnement des systèmes d'exploitation n'a aucune limitation d'accès aux ressources. Quand on télécharge un programme et l'exécute, on a placé soi-même entièrement dans les mains de l'auteur du programme. Quelques programmes peuvent supprimer les fichiers dans le disque dur ou envoyer les informations collectées vers un serveur sur l'Internet. Le but d'un attaquant est d'exécuter un programme dans l'ordinateur d'un internaute sans sa connaissance. Une fois que cela est fait, les autres attaques sont possibles. La manière la plus facile pour qu'un attaquant accomplisse ce but est donner ou télécharger un programme à la machine de l'utilisateur. Même les système d'exploitation sécurisés avec la protection de mémoire et d'autres mécanismes de sécurité, tels que Windows NT et UNIX, n'offrent à des utilisateurs aucune vraie sécurité contre les programmes qu'ils téléchargent et exécutent, car quand un programme qui marche, il hérite de tous les privilèges et droits d'accès de l'utilisateur qui l'a appelé. 6.3.1 - Plugins de NetscapeLes plugins de Netscape Navigator sont des programmes qui étendent la capacité du Navigator. Les plugins ont été présentés avec Netscape Navigator comme façon simple pour étendre le navigateur avec des autres programmes exécutables qui sont écrits par des entreprises et sont chargés directement dans le navigateur. Au lieu de télécharger des données et les sauvegarder dans un fichier, et traiter le fichier avec une application correspondante, les données peuvent rester dans l'espace de mémoire du navigateur et sont traitées directement par le plugin. Aujourd'hui, plain de compagnie développe des plugins variés pour Netscape Navigator et Internet Explorer. Un problème est que les plugins ont l'accès total à des données dans le système, spécialement au système de gestion des fichiers. Si un plugin développés par une mauvaise personne qui a ajouté des mauvaises fonctions dans le plugin, et puis un utilisateur l'installe dans Netscape Navigator, des choses ne pas attendues peuvent se passer. Les implémentations des plugins doivent limiter leurs fichiers de données d'accéder à des autres fichiers. Par exemple, la fonction GetNetText du plugin Macromedia Shockwave peut lire tous les répertoires dans le répertoire de Netscape Navigator. 6.3.2 - ActiveX et AuthenticodeActiveX Il y a deux types contrôle ActiveX, le premier contient les codes de machine qui sont compilés en un fichier exécutable. Le deuxième contient des codes Java, il peut s'exécute dans la machine virtuelle de Java JVM. Pour le deuxième type contrôle ActiveX, la sécurité est la même avec les programmes Java qui s'exécute dans le SandBox. De plus, le navigateur peut permettre les Java contrôles ActiveX des privilèges spécifiques, comme la probabilité d'écriture dans un répertoire, ou ouvrir une connexion à un ordinateur sur l'Internet. Pour le premier type, il n'y a aucune façon de contrôler les fonctions d'un contrôle ActiveX, car ils sont des programmes qui s'exécute directement dans le système d'exploitation. Authenticode L'authenticode utilise la signature digital et le PKI (public key infrastructure).
Mais l'authenticode n'est pas une solution, une fois qu'un ActiveX control est installé, il n'y a pas de restriction pour lui. 6.4 - Les autres nuisances du WebAu début du troisième millénaire, la publicité envahit de plus en plus les sites proposés sur le net. On va surtout s'intéresser à la convivialité plutôt qu'à des problèmes purement liés à la sécurité. La publicité sur l'Internet revêt généralement deux formes: les bannières et le fenêtres pop-up. Les bannières Presque tous les moteurs de recherche ont recours à ce type de publicité. Certains adaptent même les bannières qu'ils insèrent dans leurs pages en fonction des mots clés recherchés par les utilisateurs de ces moteurs. Rappelons que lorsqu'une bannière est générée par une société de spécialisée autre que celle proposant le site visité, il est techniquement possible de mémoriser la liste des différents sites consultés par un même utilisateur en utilisant des cookies. Les fenêtres pop-up 7 - Le commerce électroniqueOn va parler d'un sujet très intéressant, le commerce électronique. Maintenant, on utilise souvent les services de vente en ligne qui nous permettent de rester chez nous en achetant des marchandises sur l'Internet. Un internaute qui veut acheter quelque chose peut entrer dans le site Web de vente, choisir une ou plusieurs marchandises, et puis, de façon quelconque, l'internaute doit faire transférer une somme d'argent à la compte bancaire du marchand. Le marchand va envoyer les marchandises choisis chez l'Internaute. Aujourd'hui, l'utilisation de carte crédit est la façon la plus populaire pour le paiement sur l'Internet. 7.1 - Le paiement avec la carte créditUne transaction de carte crédit typique implique cinq parties différentes:
Une transaction de carte se compose de dix pas:
1 - Le client donne le numéro de la
carte crédit au marchand Maintenant il y a des façons différentes utilisées pour transférer le numéro de carte crédit:
Dans le dernier cas le marchand n'est jamais en possession du numéro de carte du client et de sa date d'expiration associée. Il n'y a pas de risque de piratage à ce niveau. De plus, le marchand ne peut pas a priori utiliser une fois de plus le numéro de carte, puisqu'il ne le connaît pas. On s'intéresse au premier pas, car dans ce pas le numéro de carte crédit du client est transféré sur l'Internet au site Web de marchand. 7.2 - Risque hypothétique et réel7.2.1 - Obtention du numéro sur le poste clientL'ordinateur du client est souvent faible. En effet, un virus ou cheval de Troie installé sur le poste du client pourrait facilement intercepter le numéro de sa carte dès sa saisie par l'utilisateur, et l'envoie à un mal individu. 7.2.2 - Interception du numéro durant sa transmissionL'interception d'un numéro de carte bancaire sur l'Internet est le problème le plus fréquemment évoqué lorsqu'on interroge des internautes à s'adonner aux joies du commerce électronique. Dans le premier cas, l'envoi du numéro de carte en claire (sans chiffrement), on peut possiblement mettre un dispositif d'écoute entre l'ordinateur du client et le site Web du marchand. Cela sera mieux si l'on peut l'installer sur le réseau local du client (le dispositif peut être un programme). Bien sûr que le faire est difficile pour la plupart du monde. Le second cas, l'envoi du numéro dans une transaction encryptée (le protocole SSL est employé). Cette fois, non seulement il faut installer un dispositif d'écoute sur le trajet du numéro de carte, mais il est nécessaire de décrypter ensuite les informations obtenues afin de récupérer le numéro en clair. Avec la connexion chiffrée en utilisant SSL en 128 bits, il est presque impossible de décrypter les messages. 7.2.3 - Obtention sur le serveur du marchandIl y a des risques qui se situent du côté du marchand. Supposons que maintenant le marchand soit honnête, il stocke le numéro de carte bancaire sur son serveur. Si un individu a réussit à attaquer le serveur du marchand, il peut avoir des milliers de numéros de carte, y compris vote numéro. 7.2.4 - Découverte d'un numéro via un logiciel spécifiqueIl existe des logiciels qui permettent de générer des numéros de cartes bancaires syntaxiquement valides. Avec une probabilité très petite, un individu qui utilise ce logiciel peut obtenir un numéro qui est égal à votre numéro. C'est catastrophe. 7.3 - Les transactions sécuriséesPour protéger le client des attaquants, la majorité des paiements effectués en ligne sur un site de commerce électronique sont protégés par le protocole SSL (Secure Socket Layer) inventé par Netscape. 7.3.1 - Le protocole SSLLe SSL a été inventé par l'entreprise Netscape au milieu des années 1990s. La première version de SSL (1.0) voit le jour en juillet 1994. En 1995, la version 3.0 a été née. C'est cette version qui est actuellement utilisée sur la majeure partie des serveurs Web. Principes de fonctionnement Les trois caractéristiques principales du SSL, en matière de sécurité, sont les suivantes:
Plus précisément, SSL utilise successivement des algorithmes à clé publique pour authentifier le serveur (voire le client) et à clé secrète pour chiffrer les transactions. En fait SSL se compose de deux parties: SSL Record et SSL Handshake. Le premier décrit le format des données, qui seront transmises au cours d'une session protégée par SSL. Le second, il intervient lorsqu'un client et un serveur veulent ouvrir une session de SSL entre eux. Il consiste en l'échange d'un certain nombre de messages, codés grâce au protocole SSL Record, et associés à des traitement effectués simultanément sur le client et le serveur. Si ces échanges réussissent, la session SSL est active et utilisable par l'application qui l'a initié. Suites cryptographiques Les algorithmes d'échange de clés sont également employés afin de générer une clé de session qui servira à chiffrer les transactions. On utilise le plus souvent le RSA. Voici les différents suites cryptographiques utilisant RSA. Les deux premières sont autorisés seulement au Etats Unis
Chaque client compatible SSL, de même chaque serveur, dispose d'une liste de suites cryptographiques susceptibles d'être employés. C'est durant la phase de négociation, exécuté grâce au protocole SSL Handshake, qu'est sélectionnée la suite la plus porte, reconnue simultanément par le client et par le serveur. Ex: dans Mozilla, dans l'item menu Edit - Preferences - Privacy et Security - SSL - Edit Ciphers on peut voir les suites cryptographiques reconnues par Mozilla. Le protocole SSL Handshake ClientHello.random et ServerHello.random. Après le message "ServerHello", le serveur envoie son certificat (certificat de serveur). Si le serveur est déjà authentifié, il peut demander un certificat du client avec le message "CertificateRequest", si c'est approprié à la suite cryptographique choisie. Si le serveur a envoyé le message "CertificateRequest", le client doit envoyer le message de certificat "certificate message" ou un message "no certificate". Maintenant le message "client key exchange" est envoyé, et le contenu du message dépend de l'algorithme de clé publique choisi. En ce moment, un message "change cipher spec" est envoyé par le client. Le client envoie immédiatement le message "finished". Le serveur va envoyer son message "change cipher spec", et envoyer son message "finished". Au moment là, la négociation est complète et le client et le serveur peuvent échanger des données. Si le serveur demande le certificat du client, tandis que le client n'en a pas, le client envoie le message "no certificate". Cette erreur n'est pas grave dans le cas que le serveur n'envoie pas le message "fatal handshake failure". Au contraire, la connexion échoue. On présente un exemple dans le cas où seul le serveur est authentifié:
Authentification du serveur
La vérification du certificat du serveur comporte plusieurs phases:
7.3.2 - Reconnaître une transaction sécuriséSelon le logiciel de navigation utilisé, différents symboles ou éléments permettent se savoir qu'une session sécurisé par SSL est ouverte. Il y a deux petits qui indiquent que l'utilisateur est en train être dans une session sécurisée. Le premier se situe au bar d'adresse des navigateurs, l'URL ne commence pas par http:// mais par https://. Le second point est l'icône en forme de cadenas qui apparaît en bas à droite ou à gauche de la fenêtre des navigateurs. Dans Internet Explorer:
Dans Netscape Navigator ou Mozilla:
Ces deux détails prouvent que la session est sécurisée, mais on ne sait rien des caractéristique de la session (suite cryptographique utilisée) ou du contenue du certificat du serveur. Ces informations peuvent être obtenues en utilisant des menu items fournies par des navigateurs. 7.3.3 - Quelques conseils pratiques pour les utilisateurs
7.4 - Autre dispositifs de paiement7.4.1 - Le porte-monnaie électroniqueUne des limitations principales de la carte bancaire est qu'elle ne permet pas d'effectuer des micro paiements, cad des paiements d'un montant égal à quelques Euros. Techniquement, rien n'empêche d'acheter une marchandise valant quelques Euros, cependant le pourcentage que la banque va charger sur votre transaction sera impactant. Alors il devient difficile de vendre des marchandises à prix bon marché. C'est pourquoi le porte-monnaie électronique (PME) est né. Il s'agit de créditer un compte, ex avec une carte bancaire, d'un montant d'une dizaine d'Euros, permettant ainsi d'effectuer des petit achats. Un exemple de PME est le service K-Wallet de Kleline. Il s'agit de créer gratuitement un porte monnaie virtuel (PMV), sur les serveur de Kleline, en indiquant vos coordonnées postales et bancaires. Une fois que le PMV ouvert, il suffit de se rendre sur un des sites marchands qui ont adopté le système et de choisir le paiement avec K-Wallet. Votre identifiant et votre mot de passe sont demandés afin d'effectuer le paiement. Dans ce cas le marchand n'a jamais connaissance du numéro de carte du client, et ce numéro n'est transmis qu'une seule fois à Kleline, lors de l'enregistrement. De plus, on ne doit pas installer aucun logiciel sur l'ordinateur du client. 7.4.2 - SETLe SET (Secure Electronic Transaction) est un protocole pour envoyer l'information de carte de paiement sur l'Internet. SET a été conçu pour encrypter certain message de type spécifique qui concerne le paiement. Les principaux objectifs de SET sont d'assurer l'intégrité et la confidentialité des transactions sur l'Internet, comme SSL, mais avec authentification obligatoire de chacun des intervenants à l'aide des certificats. Dans une transaction typique de SET, il y a des informations privées entre le client et le marchand, et aussi des informations privées entre le client et la banque. Le SET permet les deux types d'information privée peuvent être embarqués dans une seule transaction signée en utilisant une structure cryptographique appelée "signature double" (dual signature). Un message de requête se compose de deux champs: un pour le marchand, et un pour la banque du marchand. Le champ de marchand est crypté avec la clé publique du marchand, et l'autre est crypté avec la clé publique de la banque du marchand. En plus, le message de demande contient des digests de chacun des deux champs, et une signature. La signature est obtenue en unifiant ces deux digests, et en signant le digest obtenu. La norme SET ne fournit pas directement au marchand le nombre de carte crédit du client, mais la banque de marchand peut, à son option, fournir le nombre au marchand quand elle (la banque) envoie la confirmation au marchand. 8 - Logiciel de blocage et technologie de censureLes chercheurs ont recherché des manières de contrôler des informations que les sites Web contiennent. Pourquoi ils doivent les contrôler?
La censure est la suppression officielle des idées, des journaux, des films, des lettres, ou d'autres publications. Des logiciels de blocage et des technologies de censure sont nés, basé sur les idées ci-dessus. 8.1 - Logiciel de blocageLa tendance la plus récente maintenant est que les entreprises développent des logiciels de censure/blocage pour des ordinateurs à la maison. Ces logiciels de blocage emploient des techniques suivantes pour accomplir leurs objectifs:
Des logiciels de blocage peuvent fonctionner au niveau de couche d'application, bien intégrité avec des navigateurs ou des logiciels de messagerie. De plus, ils peuvent fonctionner au niveau de protocole, contrôler les connexions sur le Net. Finalement, ils peuvent fonctionner au niveau de couche de réseau. 8.1.1 - Problème des logiciels de blocageLe plus grand problème technique est la difficulté de maintenir la base de donnée et la distribution de cette base de donnée. Par exemple, la liste des sites d'exclusion peut changer rapidement. Quelques sites essayent de cacher la nature vraie de leurs sites en choisissant un nom de DNS et des pages inoffensifs. 8.2 - PICSLe PICS (Platform for Internet Content Selection) est un effort à développer un plate-forme sur l'Internet pour échanger les informations concernant le contenu des sites Web et créer des logiciels de blocage automatiques. 8.2.1 - Que c'est PICSPICS est une norme pour étiqueter le contenu des documents qui apparaissent sur le World Wide Web. Les étiquettes de PICS contiennent un ou plusieurs classement qui sont publiés par un service de classement. (Un service de classement est un individu, un groupe, une organisation ou une entreprises qui fournit les étiquettes PICS pour des informations sur le Web. Les étiquettes qu'un service de classement fournie sont basés sur un système de classement). Un système de classement spécifie les dimensions utilisées pour étiqueter, les valeurs permises dans chaque dimension, et une description du critère utilisée dans la valeur assignée. Par exemple, le système de classement MPAA classe des films aux Etats Unis basé sur une seule dimension dont les valeurs permises sont G, PG, PG-13, R et NC-17. Par exemple, une étiquette de PICS peut dire que une page Web particulière contient des images pornographiques. Une étiquette PICS peut dire que une collection des pages dans un site Web contiennent des contenus concernant la violence. Une étiquette PICS peut dire que toute page dans un site Web sont historiquement imprécis. Une étiquette peut être associée avec un ensemble de fichier dans un site, un site entier, ou une collection de site. De plus, une étiquette PICS peut être associée avec un document particulier, ou même une version particulière d'un document. Les étiquettes PICS peuvent être signées pour assurer la confidentialité. Les étiquette de PICS peuvent être ignorées, donc l'utilisateur a l'accès total aux sites Web. Elles peuvent être interprétées par le navigateur ou par le système d'exploitation. Une organisation entière ou même un pays peut avoir une politique de PICS en utilisant un serveur proxy de blocage dans un firewall. Les applications qui implémente la norme PICS ont plus d'avantages que celles de blocage simple:
8.2.2 - Application de PICSLe PICS peut être utilisé pour assigner plusieurs type d'étiquette différents à plusieurs types différents d'information:
Clairement, le PICS est spécifiquement conçu pour donner une opinion de personne particulière ou d'autorité marquante d'un document. 8.2.3 - Implémentation de PICSUne étiquette se compose de trois éléments: l'identifiant de service de classement (un URL), les options de l'étiquette, et le classement. Les options ajoutent les propriétés supplémentaires du document classé et du classement lui-même. Le classement est un ensemble des paires attribut-valeur qui décrit le document dans une ou plusieurs dimensions. Une ou plusieurs étiquettes peuvent être distribuées dans une listes.
Exemple :
Dans cette étiquette, le service de classement est http://www.gcf.org/v2.5. Cette étiquette est valide de 05/11/1994 à 31/12/1995, appliquée sur deux documents http://w3.org/PICS/Overview.html et http://w3.org/PICS/Underview.html. L'étiquette montre que le premier document a le niveau de densité de 0, de couleur/hue de 1.... L'étiquette est créée par Jane Doe. Une étiquette de PICS peut être transmise en utilisant trois méthodes: Dans un document HTML
Exemple :
Dans cet exemple on peut voir dans
l'entête du requête deux étiquettes ensembles, classée par deux services de
classement. Dans un document transmis via le protocole
qui utilise l'entête RFC 822
Le serveur répond:
Dans cet exemple, le client demande
le serveur Web courant (www.greatdocs.com) les étiquette concernant le
document /foo.html, et fournies par le service de classement est www.gcf.org/v2.5. Séparément du document:
http://www.labels.org/Ratings est un service de classement. Il décide de créer son base de donnée pour distribuer les étiquettes. La requête est envoyé vers le serveur www.labels.org pour demander de renvoyer une seule étiquette qui est appliquée à tout fichier dans l'arbre images à site www.questionable.org. L'étiquette doit être classé par le service de classement http://www.gcf.org/v2.5. Le serveur renvoie un document de type "application/pics-labels" qui contient l'étiquette demandée. 8.2.4 - PICS et la censureSans PICS, les parents qui veulent protéger leurs enfants des mauvaises informations peuvent effectuer des solutions autoritaires:
Le PICS donne aux parents des autres options. Les navigateurs peut être configurés tel que les documents qui ont des classements inconvenables ne sont pas affichés. Des navigateurs intelligents pourraient même "prefetch" les classements pour tous liens d'hypertexte, les liens à des documents inconvenables ne seraient pas affichés. Puisque des différentes personne peuvent avoir des différentes idées, le PICS est conçu pour supporter plusieurs service de classement. Le PICS est un standard ouvert, n'importe quelle dimension qui peut être quantifiée peut être classée. Et puisqu'une organisation ne peut jamais classer toute information sur le Web, le PICS permet au éditeurs Web de classer leur contenu. Les parents ont l'option de décision de l'acceptation les classements assignés leur même ou non. Les logiciels de blocage fonctionnent au niveau du protocole TPC/IP pour bloquer l'accès à un site entier. Au contraire, le PICS peut contrôler l'accès à chaque document. C'est le grand avantage de PICS, qui fait que le système devient bien adapter à des librairies électroniques. Les enfants peuvent accéder au livre Harry Potter, mais pas d'accès aux sites illicites. 8.3 - RSACiRSAC est le nom de l'organisation Recreational Software Advisory Council. Elle est formée dans des années 1990s aux Etats Unis pour régler les jeux vidéo des enfants. L'organisation W3C a développé une version modifiée de RSAC appelé RSACi utilisé pour classer les sites Web. Le but de RSACi est de protéger les enfants des informations inconvenables sur le Web. L'utilisateur peut configurer le navigateur pour permettre d'accéder aux sites Web basés sur des objectifs déclarés dans l'étiquette ou non. Les catégories de filtrage sont:
Les navigateurs célèbres maintenant comme Internet Explorer et Netscape Navigator, supportent RSACi. 9 - P3P - Privacy Preferences Project9.1 - P3P, qu'est-ce que c'est ?P3P - Platform for Privacy Preferences est un protocole qui permet des sites Web d'exprimer l'utilisation des informations personnelles des internautes dans un format standardisé qui peut être obtenu automatiquement et interprété facilement par des agents d'utilisateur. Les agents P3P informent les internautes de l'utilisation des informations personnelles (dans deux formats: l'un est lisible par des agents, et l'autre est lisible par l'utilisateur), et prendraient la décision basé sur ces informations quand approprié. Les internautes ne doivent pas lire la politique d'intimité dans tous les sites qu'ils visitent. Tandis que P3P fournie un mécanisme technique pour assurer que les internautes peuvent être informés à propos de la politique d'intimité avant ils entrent les informations personnelles dans des formes, P3P ne fournie pas de mécanisme technique pour assurer que les sites Web respectent leurs politiques. De plus, P3P ne fournie pas des mécanismes pour sécuriser des informations personnelles sur la ligne de communication. 9.2 - Vocabulaire de P3PCinq premiers topiques est pour but de faire comprendre l'utilisateur sur ce que le site Web va faire.
Et les quatre topiques ci-dessous expliquent la politique d'intimité interne du site Web:
9.3 - Comment ça marcheLe P3P permet les sites Web de traduire politique de pratique dans un format standardisé, lisible par la machine (XML) qui peut être obtenu automatiquement et interprété facilement par des agents d'utilisateur. La traduction peut être effectués manuellement ou avec des outils automatiques. Une fois complété, le site Web peut informer les utilisateurs automatiquement qu'il supporte le P3P. A côté du client, le client P3P lire la politique d'intimité automatiquement dans le site Web. Un navigateur équipé par P3P peut vérifier la politique d'intimité d'un site Web et informer l'utilisateur de l'utilisation des informations personnelles du site Web. Le navigateur peur alors le comparer automatiquement avec les critères d'intimité de l'utilisateur. Un client P3P peut être embarqué dans des navigateurs, des plugins, ou les autres logiciels. 9.4 - P3P version 1.0La spécification P3P 1.0 définit la syntaxe et la sémantique de P3P, et la mécanisme pour associer les politiques avec les ressources Web. Les politiques P3P sont constitués en utilisant le vocabulaire P3P pour expliquer la pratique d'intimité. Les politiques P3P référencement aussi des éléments de la schéma des données élémentaires P3P, un ensemble standardisé des données élémentaires que tous les agents de P3P doivent en avoir la conscience. 9.4.1 - Buts et capacités de P3P 1.0Le P3P 1.0 fournie une façon pour des sites Web peuvent coder l'utilisation dans un format XML lisible par la machine. Ce format s'appelle la politique P3P. La spécification P3P 1.0 définit:
9.4.2 - La politique P3PLa politique P3P utilise un XML avec le namespace qui code le vocabulaire P3P pour la présentation de la pratique privé dans une politique P3P, énumérer des types de donnée ou des éléments de donnée collectés, et expliquer comment les données vont être utilisées. Les politiques doivent couvrir toutes les données concernées (à collecter). Chaque politique P3P est appliquée à une partie particulière des ressources d'un site Web qui sont listés dans un fichier de référence. 9.4.3 - Agent d'utilisateur P3PDes agents d'utilisateur P3P peuvent être embarqués dans des navigateurs, des plugins du navigateur, ou dans des serveurs proxy. Ils peuvent être implémenté comme les applets de Java ou Javascript, ou embarqués dans les logiciels qui entrent automatiquement des données sur les formes, ou dans des outils de gestion des informations personnelles. Ces agents peuvent prélever la politique à partir d'une location indiquée, l'interpréter, et afficher les symboles, jouer un son, ou générer un message qui reflètent la pratique de l'intimité du site. Ils peuvent aussi comparer les politiques P3P avec la préférence d'intimité mise par l'utilisateur et effectuer des actions appropriées. 9.4.4 - Implémentation de P3P 1.0 sur le serveurLe P3P peut être implémenté dans un serveur Web qui est compatible avec le protocole HTTP 1.1. Les serveurs peuvent publier ses fichiers de référence à un lieu bien connu, ou ils peuvent placer ces fichiers dans le contenu du fichier HTML/XHTML en utilisant la balise link. Un serveur peut être configuré pour insérer une extension P3P à toute réponse HTTP qui indique la location d'un fichier de référence du site. 9.4.5 - Un exempleJe veux donner un exemple sur l'utilisation de P3P. Par exemple, A veut acheter une marchandise au site http://www.ibm.com. Supposons que IBM place des politiques sur toute page dans son site, et A utilise un navigateur qui supporte P3P. A type l'adresse www.ibm.com dans le bar d'adresse du navigateur. Le navigateur télécharge la politique P3P de cette page. La politique dit que les donnée que le site collecte ne sont que des données trouvées dans la requête HTTP. Alors le navigateur vérifie si cette politique est acceptable, en la comparant avec la préférence d'intimité de A. Supposons que A a permit le navigateur que cela est acceptable. Dans ce cas, la page est affichée normalement, et il n'y a pas de fenêtre pop-up. Ensuite, A clique sur le catalogue de IBM. Supposons que dans cette page, IBM utilise des cookies pour implémenter une charrette commerciale ("shopping cart"), et A permet les sites Web d'utiliser des cookies. Lorsqu'il y a plus d'information qui est entrain d'être collectée dans cette session du site, le serveur fournie une autre politique P3P pour couvrir cette session. Une fois de plus, supposons que cette politique est acceptable pour le navigateur de A. A continue et sélectionne quelques marchandises préférées. Enfin A entre dans la page de paiement. La page de paiement de IBM demande quelques informations supplémentaires: le nom, l'adresse, le numéro de carte crédit, et le numéro de téléphone. Une autre politique P3P est disponible, elle décrit que les informations demandées vont être utilisées seulement pour compléter cette transaction. Le navigateur examine cette politique. Imaginons que A a dit au navigateur que le navigateur doit afficher un message dans le cas d'un site lui demande d'entrer le numéro de téléphone. Dans ce cas, le navigateur va afficher un message pop-up qui dit que le site Web demande A d'entrer le numéro de téléphone, et le message explique le contenu de la déclaration P3P. A peut décider s'il est acceptable pour lui. Si il l'accepte, el peut compléter la transaction, ou il peut annuler la transaction si non. 9.4.6 - La location du fichier de référenceCe sont des mécanismes utilisés pour indiquer la location du fichier de référence des politiques.
Les politiques sont appliquée au niveau de ressource. Une page peut se composer de plusieurs ressources, et chacun peut avoir une politique associée à lui. Une location bien connue Dans l'entête HTTP L'URI est l'abréviation de "Uniform Ressource Indicator". On a aussi les termes
l'URL (Uniform Ressource Locator) et l'URN (Uniform Ressource Name). Un URI
peut être classé (considéré) comme un URL ou un URN, ou tous les deux. La
terme URL spécifie un sous ensemble de URI, cet ensemble identifie les
ressources via la représentation de son premier mécanisme d'accès (la location Le champ de politique compacte est utilisé pour spécifier les politiques compacte. Il est facultatif. Le champ d'extension n'est pas obligatoire. Il va être utilisé dans les nouvelle version de P3P. Il est aussi facultatif. Par exemple, le client fait une requête:
Le serveur répond:
Utiliser la balise link dans un
document HTML
Utilise la balise link dans un
document HTML
Les politiques compactes Dans P3P 1.0, les politiques compactes contiennent des information politiques concernant seulement les cookies. Le serveur Web doit construire les politiques compactes pour représenter des politiques sur les cookies dans la politique entière. Syntaxe de la politique compacte
Commencer par le mot CP, la politique compacte se compose de plusieurs marques dont les valeurs possibles sont listés ici. Chaque type de la marque compacte peut avoir des valeurs différentes, par exemple, la marques d'accès (compacte access) peut prendre les valeurs NOI, ALL, CAO, IDC, OTI, et NON. La valeur CAO signifie que le site Web peut collecter les informations de contact de l'utilisateur et les autres informations identifiant l'utilisateur. Par exemple, ici c'est la politique
compacte du site www.msn.com: Quand une politique compacte trouvée dans une entête HTTP, elle est appliquée aux cookies implémentés dans la réponse courante. Pour les détails, on peut consulter à http://www.w3.org/TR/P3P/ 9.4.7 - Le fichier de référence de politique et le fichier de politiqueOn ne va pas plus loin sur les détails du format de ce fichier. Mais je veux donner un exemple simple. Supposons qu'un site Web veut faire des choses suivantes:
Ces instructions peuvent être représentées dans ce fichier .XML:
Dans ce cas, le fichier /P3P/Policies.xml contient des politiques P3P du site. Ce fichier utilise des définitions de donnée dans le schéma des donnée élémentaire P3P. 9.4.8 - Schéma des données élémentaires P3PUn schéma est une description d'un ensemble de donnée. P3P a une façon décrire le schéma de donnée pour que le site Web puisse communiquer avec des agents d'utilisateur des données qu'il collecte. Un schéma de donnée est construit par un numéro d'élément de donnée, chaque élément de donnée est une type donnée qu'un service peut collecter. La norme P3P 1.0 défini un schéma de donné s'appelle le schéma des données élémentaires P3P qui décrit un grand nombre d'élément de donnée commun utilisé par le site. Le site peut aussi définir leurs propres nouveaux éléments de donnée. 9.4.9 - Conclusion sur le P3PLe P3P - Platform for Privacy Preferences est la proposition la plus sophistiquée qui a été faite à partir d'une perspective technique pour augmenter la protection d'intimité sur le Web. Pour obtenir le but de protéger l'intimité des internautes, on ne doit pas beaucoup changer l'infrastructure actuel des sites Web. 10 - ConclusionLorsque l'on regarde le sujet du document, on peut facilement trouver que ce sujet est vaste. Il couvrit presque toutes les technologies concernant l'Internet. Et même on doit étudier un peu des lois concernées. Pour les buts commerciaux et personnels, on peut utiliser des technologies, des outils, des connaissances pour obtenir les informations reliées aux autre. Le sujet me demander d'apprendre des causes de la violence de la privée, et comment on peut les arrêter, ou au moins les restreindre. Il y a plain de choses à faire. Il nous faut des années pour devenir un spécialiste du domaine, car la protection de la vie privée est une partie important de la sécurité sur Internet. Ce document ne nous donne qu'une vue globale sur ceux dont un internaute peut être en face, la messagerie électronique, le spam, les navigateurs, les fenêtres pop-up, ..., des informations indésirables, le commerce électronique. Tout est très populaire. Puisqu'il est populaire, il est humain. Protection de quelque chose humaine est importante. 11 - Discussion autour de la documentationVous pouvez poser toutes vos questions, vos remarques et vos expériences à propos d'Internet et la vie privée. Pour cela, rendez-vous sur le Forum Sécurité. 12 - Suivi du documentVersion 1.1, par Sébastien FONTAINE, correction du document. Version 1.0, par Nghiem Long PHAN, création du document.
|
|