IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JavaScript Discussion :

Création d'extension pour navigateur


Sujet :

JavaScript

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Par défaut Création d'extension pour navigateur
    Bonjour à tous,

    Je suis à la recherche d'un moyen pour qu'un utilisateur sache si la page HTML a changé depuis la dernière fois qu'il est allé sur le site.
    En effet je suis en train de créer une messagerie sécurisée, donc il ne faut pas qu'un pirate puisse récupérer les messages des utilisateurs en modifiant les fichiers JS et HTML.

    Pour cela j'ai eu l'idée d'utiliser une extension de navigateur, mais j'ai deux questions :

    Comment faire en sorte que l'extension ne se mette pas à jour ?
    Comment permettre à l'utilisateur d'installer l'extension facilement quelque soit son navigateur ?
    Merci d'avance pour vos réponses, N'hésitez pas à me poser une question si je n'ai pas été clair.

  2. #2
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Bonjour,

    Je suis à la recherche d'un moyen pour qu'un utilisateur sache si la page HTML a changé depuis la dernière fois qu'il est allé sur le site.
    Pour cela, il suffit d'indiquer la date de dernier changement du contenu du site?

    En effet je suis en train de créer une messagerie sécurisée, donc il ne faut pas qu'un pirate puisse récupérer les messages des utilisateurs en modifiant les fichiers JS et HTML.
    Comment un pirate pourrait-il s'y prendre pour modifier les fichiers JS et HTML?

    Pour cela j'ai eu l'idée d'utiliser une extension de navigateur
    De quelle extension s'agit-il? Chaque navigateur possède ses propres extensions. Vous voulez imposer à l'utilisateur un navigateur particulier?

  3. #3
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Par défaut
    Citation Envoyé par eleydet Voir le message
    Comment un pirate pourrait-il s'y prendre pour modifier les fichiers JS et HTML?
    Je ne sais pas, mais je pars du principe qu'un pirate peut potentiellement accéder au serveur. (Je ne souhaite pas que l'on remette ceci en question...)

    Citation Envoyé par eleydet Voir le message
    Pour cela, il suffit d'indiquer la date de dernier changement du contenu du site?
    Euh... Oui mais où trouver cette date ?
    Non je pense pas que cela puisse résoudre le problème ^^


    Citation Envoyé par eleydet Voir le message
    De quelle extension s'agit-il? Chaque navigateur possède ses propres extensions. Vous voulez imposer à l'utilisateur un navigateur particulier?
    Il faudrait en créer une pour Chrome, une pour Firefox, et une pour Safari.

  4. #4
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Rebonjour,

    Si un pirate accède au serveur, le problème est du coté serveur, pas du coté client. Aucune solution coté client ne peut être efficace. Autrement dit, aucune extension de navigateur ne permettra de résoudre le problème.

  5. #5
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Par défaut
    D'accord, merci pour votre réponse.

    Du coup le seul moyen serait de faire télécharger une application...

  6. #6
    Membre chevronné
    Homme Profil pro
    Analyse système
    Inscrit en
    Mai 2014
    Messages
    393
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Arménie

    Informations professionnelles :
    Activité : Analyse système
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Mai 2014
    Messages : 393
    Par défaut
    Rebonjour,

    Le seul moyen serait de faire télécharger une application...
    Le gestionnaire du serveur doit surveiller son serveur. Il met en oeuvre les solutions qui s'imposent en cas d'attaque. Donc il n'y a pas d'application à télécharger sur le client.

  7. #7
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 099
    Par défaut
    Il y a des scénarios légitimes qui justifient de sécuriser aussi le côté client. J’ai déjà vu des banques proposer des extensions de navigateur, par exemple la Société générale avec Trusteer.

    La compromission du serveur est bien sûr un problème grave contre lequel on ne peut pas faire grand chose ; mais parmi les autres scénarios dont on veut se protéger, il y a :
    • le phishing, où l’utilisateur ne s’est pas rendu compte qu’il n’est pas sur le bon site ;
    • l’empoisonnement DNS, où, pour simplifier, c’est le navigateur lui-même qui ne se rend pas compte qu’il n’est pas sur le bon site ;
    • l’attaque « homme du milieu » (Man in the Middle) qui intercepte les échanges entre le client et le serveur et qui peut éventuellement remplacer des fichiers ;
    • etc.


    Sans aller jusqu’à développer une extension de navigateur, il y a déjà un moyen de se protéger de la modification des fichiers : SRI. Ce système permet de protéger les scripts et les feuilles de styles en calculant au préalable leur somme de contrôle (checksum) et en envoyant cette information en même temps que le fichier.
    Malheureusement SRI ne protège pas les fichiers HTML.

    Concernant les extensions, depuis la sortie de Firefox Quantum en novembre 2017, le système WebExtensions est compatible avec au moins trois des navigateurs les plus utilisés : Google Chrome, Firefox et Microsoft Edge.

    De ma propre expérience, si tu veux quelque chose de compatible partout, il vaut mieux développer d’abord pour Chrome et vérifier ensuite si ça fonctionne sur les autres navigateurs. La documentation de Mozilla est plus complète et plus cohérente, mais te propose parfois des choses qui ne marchent que sous Firefox.

    Pour Safari malheureusement, vu que ce navigateur a toujours cinq ans de retard, il faudra développer une autre extension complètement différente. Il existe peut-être des systèmes de portages, renseigne-toi.

    Citation Envoyé par Nayl.VBcoder Voir le message
    Comment faire en sorte que l'extension ne se mette pas à jour ?
    C’est automatique : aujourd’hui les navigateurs requièrent que les extensions soient signées (pour Safari, je ne sais pas…). Si le code source de l’extension est modifié, la signature ne correspondra plus et le navigateur refusera d’exécuter le code.

    Citation Envoyé par Nayl.VBcoder Voir le message
    Comment permettre à l'utilisateur d'installer l'extension facilement quelque soit son navigateur ?
    En soumettant ton extension sur les différentes plateformes : Chrome Web Store, Addons.mozilla.org, Microsoft Store, Safari Extensions Gallery. La plateforme te demandera de signer ton extension, et te fournira des outils pour le faire. (Encore une fois, pour Safari je n’en sais rien.)
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

  8. #8
    Membre averti
    Homme Profil pro
    Lycéen
    Inscrit en
    Juin 2016
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 23
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations professionnelles :
    Activité : Lycéen

    Informations forums :
    Inscription : Juin 2016
    Messages : 44
    Par défaut
    Merci pour votre réponse.

    Du coup vu qu'une extension se mettre à jour automatiquement, et que le SRI ne protège pas le HTML (on peut très bien rajouter du script dans un fichier HTML), est-ce qu'on pourrait sauvegarder la page HTML sur le navigateur ?

  9. #9
    Expert confirmé
    Avatar de Watilin
    Homme Profil pro
    En recherche d'emploi
    Inscrit en
    Juin 2010
    Messages
    3 099
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : En recherche d'emploi

    Informations forums :
    Inscription : Juin 2010
    Messages : 3 099
    Par défaut
    Oui, il y a probablement moyen de faire ça. Et l’un des moyens serait un service worker, mais attention, ce n’est pas compatible avec Edge pour l’instant.

    Une autre solution, plus simple, serait de partir de ton extension comme première « brique » de sécurité, considérant que tu l’as distribuée via les plateformes officielles et donc que tu l’as toi-même signée cryptographiquement. Tu pourrais inclure dans ton extension une checksum de la page HTML et reproduire à la main le principe de SRI, cette fois pour la page entière. Le problème du coup, c’est que tu ne peux plus modifier ta page HTML, ou alors tu dois mettre en œuvre un mécanisme pour que ton extension reçoive le nouveau checksum à chaque mise à jour. Sachant que mécanisme risque de présenter une faiblesse de sécurité.

    En fait, comme expliqué dans cet article de Frederic Braun (en anglais), le but premier de SRI est de limiter les attaques qui visent les CDN. Cela explique pourquoi ça s’appelle subresource integrity et pourquoi ça ne protège pas le document entier.

    Comme tu peux le constater il n’y a pas de solution parfaite ; en sécurité il est toujours question de compromis. En général on considère qu’un fichier servi par ton propre serveur en HTTPS est suffisamment sûr.

    J’ai adopté un ton légèrement anxiogène dans mon précédent message, mais en réalité les attaques dont j’ai parlé requièrent des conditions particulières, elles difficiles à mettre en œuvre. Elles restent donc relativement rares. Il faudrait que le pirate cible spécifiquement ton application, et ait une bonne raison de le faire (grosses sommes d’argent, grande base de données d’utilisateurs, etc.).

    La vaste majorité des attaques sur Internet sont le hameçonnage et autres types d’ingénierie sociale, car il est plus facile d’abuser d’un humain que d’une machine. Si ton extension peut vérifier que l’utilisateur se trouve bien sur ton site et pas sur une imitation, c’est déjà bien.
    La FAQ JavaScript – Les cours JavaScript
    Touche F12 = la console → l’outil indispensable pour développer en JavaScript !

Discussions similaires

  1. Vendre une extension pour navigateur ? (chrome)
    Par Doksuri dans le forum Général Conception Web
    Réponses: 0
    Dernier message: 26/10/2016, 14h44
  2. Réponses: 0
    Dernier message: 23/02/2012, 13h06
  3. Création d'un plugin pour navigateur web
    Par veuda dans le forum Réseau/Web
    Réponses: 7
    Dernier message: 07/11/2005, 15h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo