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

 Delphi Discussion :

Empêcher l'exécution de mon programme sur des machines virtuelles


Sujet :

Delphi

  1. #1
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut Empêcher l'exécution de mon programme sur des machines virtuelles
    bonjour

    je ne sais pas si c'est évident à réaliser, mais j'aimerais empêcher mon programme de s'exécuter sur une machine virtuel

    je suppose qu'il y en a pas mal, j'en connais que 2 : virtual pc et vmware

    il y a t il une technique ou autre pour empêcher le programme de fonctionner lorsqu'il détecte qu'il est sur une machine virtuel ?

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 220
    Points : 28 201
    Points
    28 201
    Par défaut
    Existe effectivement une quantité non négligeable de logiciel de virtualisation. vmWare, VirtualPC accompagné de VirtualBox étant certainement les principaux, il faudra désormais aussi compter avec le module de virtualisation inclu dans certaines édition de Win 7 qui sort dans 1 mois maintenant.

    Le but d'un logiciel de virtualisation est justement de faire passer la machine virtuelle pour une machine le plus normale possible, en fonctionnement normal le logiciel ne doit justement voir aucune différence de fonctionnement.
    Par contre, je ne sais pas si le fonctionnement sous machine virtuelle est détectable.

    Par contre, quel est l'intérêt de bloquer le fonctionnement sous machine virtuelle, puisque l'avenir est justement à la virtualisation ???
    On en est même, à l'heure actuelle, à la virtualisation des machines réelles. Ca se développe à grande vitesse.

  3. #3
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    hé bien il y a plusieurs raisons, mon programme étant réseau (tchat) :

    - déjà je veux empêcher un utilisateur d'utiliser plusieurs fois mon programme, sinon il peut venir squatter la salle de tchat sous plusieurs pseudo (en ouvrant plusieurs machine virtuel)

    - il est TRES difficile de créer un système de ban PERFORMANT, donc mon idée étant de créer un identifiant unique à chaque fois que le programme s'exécute pour la 1ère fois sur un pc : du coup je bannis le pc et non le pseudo. Et donc une nouvelle machine virtuel = un new pc, à chaque ban, l'utilisateur pourra revenir

    peut être avez vous des idées ?

  4. #4
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    google permet de trouver des réponses... mais je ne suis pas convaincu par tes cas d'usage...

  5. #5
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 764
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 764
    Points : 13 386
    Points
    13 386
    Par défaut
    Une machine virtuelle n'est pas un environnement terminal server. Elle possède toutes les caractéristiques d'une machine physique et il te sera très difficile de faire la différence.

  6. #6
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Salut

    Pourquoi tu ne te servirais pas de l'IP ? Si une IP essaye de se connecter plusieurs fois, tu l'interdit ...

  7. #7
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par mick605 Voir le message
    Salut

    Pourquoi tu ne te servirais pas de l'IP ? Si une IP essaye de se connecter plusieurs fois, tu l'interdit ...
    que ce soit sur un réseau d'entreprise ou avec +sieurs PC sur un Box en mode routeur, toutes les machines partagent la même adresse IP publique

    par contre, des statistiques sur les connexions de pseudo peuvent sans doute aider...si certains pseudos se connectent régulièrement depuis la même adresse et à la même heure, on peut supposer que c'est la même personne qui lance les connexions

  8. #8
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par Paul TOTH Voir le message
    que ce soit sur un réseau d'entreprise ou avec +sieurs PC sur un Box en mode routeur, toutes les machines partagent la même adresse IP publique
    Ah, je pensais pas a ca : Je pensais que ton logiciel de tchat était dans un réseau local seulement ... Mais si c'est sur internet en général, tu peux toujours faire avec l'IP : Déja tu récuperes l'IP publique, ensuite tu "demandes" au client de te donner l'IP de son réseau local. Avec ces deux IP, il ne peut y avoir qu'un seul poste !

  9. #9
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 220
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 51
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 220
    Points : 28 201
    Points
    28 201
    Par défaut
    Ah, je pensais pas a ca : Je pensais que ton logiciel de tchat était dans un réseau local seulement ... Mais si c'est sur internet en général, tu peux toujours faire avec l'IP : Déja tu récuperes l'IP publique, ensuite tu "demandes" au client de te donner l'IP de son réseau local. Avec ces deux IP, il ne peut y avoir qu'un seul poste
    C'est toujours pas ça !!!

    Suivant le réseau que tu sélectionne pour une machine virtuelle (Bridge, me semble-t-il, en l'occurence), la ou les machines virtuelles vont partagées l'adresse IP (celle du réseau local) de la machine Hôte.

    Ainsi si ton poste en IP:192.168.0.45, fait tourné simultanément 4 machines virtuelles, l'adresse 192.168.0.45 correspondra en réalité à 5 postes différents qui seront vus comme un seul et unique sur le réseau

  10. #10
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    C'est toujours pas ça !!!

    Suivant le réseau que tu sélectionne pour une machine virtuelle (Bridge, me semble-t-il, en l'occurence), la ou les machines virtuelles vont partagées l'adresse IP (celle du réseau local) de la machine Hôte.

    Ainsi si ton poste en IP:192.168.0.45, fait tourné simultanément 4 machines virtuelles, l'adresse 192.168.0.45 correspondra en réalité à 5 postes différents qui seront vus comme un seul et unique sur le réseau
    Ben justement :
    Il veut qu'un seul poste (physique) ne puisse pas se connecter plusieurs fois ... Donc il veut empecher l'utilisateur d'utiliser une IP pour plusieurs connections ...

  11. #11
    Rédacteur/Modérateur
    Avatar de Andnotor
    Inscrit en
    Septembre 2008
    Messages
    5 764
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Septembre 2008
    Messages : 5 764
    Points : 13 386
    Points
    13 386
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    Ainsi si ton poste en IP:192.168.0.45, fait tourné simultanément 4 machines virtuelles, l'adresse 192.168.0.45 correspondra en réalité à 5 postes différents qui seront vus comme un seul et unique sur le réseau
    Pas à ma connaissance ! Chaque machine virtuelle émule sa propre carte réseau et chaque carte a sa propre adresse IP.

  12. #12
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    merci à tous pour votre investissement

    le tchat est public

    pour les ip, oubliez complètement : la plupart de mes visiteurs utilisent des ip dynamique, du coup si je bannis une ip ça sert à rien, il faut bannir une range; et si je bannis une range, bin il y en a pas mal qui seront banni ...

    hé oui, ce n'est pas tous les pays qui utilisent les ip fix (la mienne d'ailleurs change à chaque connexion)

    Paul TOTH, je ne sais pas si tu te rappel, on avait longuement discuté, et c'est même toi qui m'a donné cette id de créer un id lors de la 1ère exécution de mon appli - tu m'as aussi dit que "si c'était toi, tu utiliserais une VM pour te connecter autant de fois que tu le voudras"

    et il y a quelques malins qui s'amusent à ce jeu là ...

    d'après les réponses de mon entourage, ce n'est pas très facile de détecter les VM, mais j'avais lu un article je ne sais où qui disait que les VM n'avait pas les même adresse mémoire qu'un pc normal (ce n'est pas exactement ça, mais quelque chose dans le genre) et donc j'ai pensé que certain aurait pu avoir une idée

    enfin ... à l"heure où j'écris ce poste, je n'ai pas encore été voir le site qui m'a été donné, donc j'y vais, mais je reste preneur d'une idée de ban assez performante, même si je sais que la perfection n'existe pas à 100 % dans ce domaine

  13. #13
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Ah ben non je ne me souviens pas, mais j'en raconte tellement sur le net

    d'une façon générale, je pense que la sécurité au niveau du poste client est difficile à obtenir. Que ce soit avec une machine virtuelle ou en grugeant le programme il est toujours possible de contourner les choses.

    côté serveur, il n'est pas évident de savoir ce qu'il se passe chez le client du coup.

    je n'ai jamais réalisé cette idée, et elle cache peut-être des problèmes auxquels je n'ai pas pensé, mais il me semble qu'un système de ban démocratique pourrait être assez efficace. Je m'explique, les utilisateurs auraient tous la possibilité d'alerter un système de modération qui comptabilise les plaintes, quand suffisamment d'utilisateurs portent plainte contre un pseudo celui ci est banni. Tu peux aussi avoir des points de confiance par utilisateur pour pondérer son vote

  14. #14
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Il y a plusieurs solutions :

    Soit tu met en place un systeme d'enregistrement, avec pseudo et MDP ... Dans ce cas, tu bannis le pseudo, et voila

    Soit tu fait avec les IPs
    Soit tu met un fichier sur le PC qui enpeche la connection ...

    Ensuite c'est a toi de voir si tu penses qu'une personne va se donner tant de mal a changer son IP, ou a lancer une machine virtuelle ...

    Si c'est pour un chat normal, un simple test avec les IP pourrait suffire, si il est coriace, il va se reconnecter 5-6 fois, puis abandonner ...

    Si tu veux vraiment gerer le ban, tu mets en place un systeme pseudo, MDP, et un utilitaire de création de compte, en activant le compte seulement 1h, ou 1 jour apres ...

  15. #15
    Débutant
    Profil pro
    Inscrit en
    Juillet 2003
    Messages
    886
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2003
    Messages : 886
    Points : 330
    Points
    330
    Par défaut
    Paul TOTH le faite de bannir n'est pas un soucis, on a des modérateurs qui peuvent le faire, ce que je veux c'est qu'il ne puisse pas revenir une fois banni

    oui, il existera toujours des protections de contre, c'est pourquoi j'essais de restreindre au maximum les possibilités

    mick605, tes solutions ne seront pas efficace :

    ip : je l'ai dis, je bannirai trop de personne

    fichier sur le pc : c'est comme ça que je fonctionne à peu près, mais si la personne change de pc (MV) il ne sea plus bannit d'où ce poste ...

    il y a déjà un système de user / pass, si le pseudo est banni il en créera à un autre ...

  16. #16
    Membre habitué
    Inscrit en
    Juillet 2007
    Messages
    113
    Détails du profil
    Informations personnelles :
    Âge : 41

    Informations forums :
    Inscription : Juillet 2007
    Messages : 113
    Points : 170
    Points
    170
    Par défaut
    Bonjour,

    Je dirai qu'il te reste 2 solutions :
    - compliqué la procédure d'obtention d'un login/pass sous prétexte de vérifs anti-robots pour décourager la personne bannie de recréer un compte
    - mettre en place une authentification biométrique sur les empreintes digitales en considérant que de toutes façon le banni peut attraper son petit frère pour le faire se loguer à sa place

  17. #17
    Inactif  
    Avatar de Mac LAK
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    3 893
    Détails du profil
    Informations personnelles :
    Âge : 50
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Octobre 2004
    Messages : 3 893
    Points : 4 846
    Points
    4 846
    Par défaut
    Essaie de voir du côté du CPUID pour "authentifier" la machine... Normalement, une machine virtuelle devrait renvoyer le même CPUID que la machine hôte, bien que ce soit bien entendu à vérifier. Au pire, tu vas obliger l'agaçant personnage à recréer des machines virtuelles à chaque fois, ce qui risque fort de devenir assez lourdingue. Au mieux, tu l'obliges à changer de PC pour continuer son spam.

    Quelques liens :
    http://www.developpez.net/forums/d80...ction-systeme/
    http://www.developpez.net/forums/d41...bre-cores-cpu/

  18. #18
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Citation Envoyé par Coussati Voir le message
    mick605, tes solutions ne seront pas efficace :

    ip : je l'ai dis, je bannirai trop de personne
    Donc tu n'as pas compris ce que j'ai dit

    Enfin, il faut se demander si une personne va se donner autant de mal pour ca ... Apres tout, (d'apres ce que t'as dit) c'est qu'un tchat ... Je ne pense pas qu'une personne soit autant motivée pour mettre le bordel comme ca ... Et quoi que tu fasses, il pourra toujours contourner le probleme. Le moyen infaillible n'existe pas ...

    Rien que le systeme de Login MDP suffit largement. Si tu penses pas, tu n'as qu'a activer les comptes genre 24h apres la création, et la, plus de probleme !

  19. #19
    Expert éminent sénior
    Avatar de Paul TOTH
    Homme Profil pro
    Freelance
    Inscrit en
    Novembre 2002
    Messages
    8 964
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Freelance
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2002
    Messages : 8 964
    Points : 28 457
    Points
    28 457
    Par défaut
    Citation Envoyé par mick605 Voir le message
    Donc tu n'as pas compris ce que j'ai dit
    moi non plus alors, puisqu'il précise : "pour les ip, oubliez complètement : la plupart de mes visiteurs utilisent des ip dynamique, du coup si je bannis une ip ça sert à rien, il faut bannir une range; et si je bannis une range, bin il y en a pas mal qui seront banni ..."

  20. #20
    Membre chevronné

    Homme Profil pro
    Étudiant
    Inscrit en
    Juin 2009
    Messages
    935
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : France, Aveyron (Midi Pyrénées)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Juin 2009
    Messages : 935
    Points : 1 765
    Points
    1 765
    Par défaut
    Bon, je reprends tout

    Je lui ai dit de récuperer toutes les IP d'un seul poste, et pas seulement l'IP publique. Par exemple, moi, je suis dans un réseau local. J'ai une IP locale (10.31.....) Mais ce réseau est connecté a internet. Donc j'ai aussi une IP internet (195.88.....). Le truc c'est pas de bannir 195.88...... mais 195.88.... ET 10.31...... . Pour chaque pseudo banni, on enregistre la ou les IP du poste, et si quelqu'un essaye de se connecter avec ces IP, tu le bloques.

    Ce couple d'IP assure l'unicité du poste ...

    Mais j'avais aussi expliqué que si la personne se déconnecte et se reconnecte, ca ne marchera pas ... Cette méthode est (pour moi) une sécurité de plus. Mais meme avec ca, je pense que tu pourrais etre tranquille. Au bout de quelques bans, l'utilisateur en aura marre de se déconnecter - reconnecter ...

Discussions similaires

  1. Réponses: 1
    Dernier message: 13/04/2007, 08h48
  2. Réponses: 14
    Dernier message: 27/10/2006, 13h08
  3. [Réseau] Exécution d'un programme sur machine distante Linux
    Par kitsune dans le forum Général Java
    Réponses: 8
    Dernier message: 16/05/2006, 14h13
  4. Réponses: 12
    Dernier message: 11/04/2006, 17h36
  5. Methode de programmation sur des gros projets
    Par dynobremo dans le forum EDI
    Réponses: 10
    Dernier message: 08/06/2004, 02h59

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