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

Développement Discussion :

Méthodes de détournement de trafic


Sujet :

Développement

  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 61
    Par défaut Windows : IP Content Filtering
    Bonjour,

    dans la cadre d'un projet je dois trouver un moyen de détourner du trafic réseau :

    Exemples :
    * analyser tout le trafic HTTP sortant, lorsque que l'on tombe sur une trame qui nous intéresse, modifier une partie de celle-ci (crypter un champ dans un formulaire par exemple) et l'envoyer à sa destination.
    * écouter sur le port 25 (smtp) et crypter les informations utiles des e-mail sortant.

    Le programme doit tourner sur la machine du client (tout se passe donc localement)

    J'arrive à "voir ce qui passe" à la manière d'un sniffer mais je n'arrive pas à analyser/modifier les trames avant qu'elles partent
    Quelqu'un n'aurait pas une ou plusieurs pistes vers lesquels je pourrais orienter mes recherches ?

  2. #2
    Membre Expert
    Avatar de Aramis
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en sécurité

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Par défaut
    Bonjour,

    ne serai-t-il pas plus simple de creer un systeme similaire au proxy? Il me semble que c'est ce genre de technique que les Anti-Virus utilisent... le probleme evidement est que ce n'est pas un systeme transparent

    Ar@mi$

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 61
    Par défaut
    Citation Envoyé par Aramis
    ne serai-t-il pas plus simple de creer un systeme similaire au proxy?
    Dans la théorie c'est vraiment le même principe mais je ne vois pas vraiment comment réaliser ce genre de chose.

    Si tout le traffic était rediriger vers un genre de serveur (qui serait ici local) qui servirait de proxy et que celui-ci se chargerait de redistribuer correctement le tout (en faisant les modifications dont j'ai besoin), ca pourrait fonctionner mais cela impliquerait beaucoup de manipulation en dehors de mon programme (configuration d'un proxy http dans le browser pour le traffic http, configuration dans le client de messagerie pour les mails, etc.)

    Citation Envoyé par Aramis
    Il me semble que c'est ce genre de technique que les Anti-Virus utilisent...
    C'est un peu ca qu'il me faudrait, un programme qui fonctionne un peu comme un antivirus, voir un firewall. Mais comment implémenter ce genre de chose ? Quelle genre de technologie utiliser ?

    Citation Envoyé par Aramis
    le probleme evidement est que ce n'est pas un systeme transparent
    Qu'entend tu plus précisément par "système transparent" ?

  4. #4
    Modérateur
    Avatar de gangsoleil
    Homme Profil pro
    Manager / Cyber Sécurité
    Inscrit en
    Mai 2004
    Messages
    10 150
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Haute Savoie (Rhône Alpes)

    Informations professionnelles :
    Activité : Manager / Cyber Sécurité

    Informations forums :
    Inscription : Mai 2004
    Messages : 10 150
    Par défaut
    Bonjour,

    Citation Envoyé par Diody
    Exemples :
    * analyser tout le trafic HTTP sortant, lorsque que l'on tombe sur une trame qui nous intéresse, modifier une partie de celle-ci (crypter un champ dans un formulaire par exemple) et l'envoyer à sa destination.
    * écouter sur le port 25 (smtp) et crypter les informations utiles des e-mail sortant.
    Un truc que je comprends pas bien : si tu cryptes une partie des données qui sont envoyées de manière transparente, comment le destinataire sera-t-il en mesure de savoir que tu as chiffré ces données, et par là-même comment sera-t-il en mesure de les décrypter ?
    A moins bien sur que tu sois également en charge du serveur, mais cela ne me semblait pas être le cas dans ton message.
    "La route est longue, mais le chemin est libre" -- https://framasoft.org/
    Les règles du forum

  5. #5
    Membre Expert
    Avatar de Aramis
    Homme Profil pro
    Consultant en sécurité
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Royaume-Uni

    Informations professionnelles :
    Activité : Consultant en sécurité

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Par défaut On tourne en rond
    Re,

    personnelement j'ai l'impression que l'on tourne en rond.

    Citation Envoyé par Diody
    Dans la théorie c'est vraiment le même principe mais je ne vois pas vraiment comment réaliser ce genre de chose.

    Si tout le traffic était rediriger vers un genre de serveur (qui serait ici local) qui servirait de proxy et que celui-ci se chargerait de redistribuer correctement le tout (en faisant les modifications dont j'ai besoin),
    Normalement, la denomination correcte d'un proxy, est "server proxy". A la base un "server proxy" est un logiciel qui interface une application (browser web, client messagerie et etc.) et le monde exterieur. Donc nous parlons bien de la meme chose. Vous pourriez faire cela sur une machine dediee ou bien en locale.

    Citation Envoyé par Diody
    ca pourrait fonctionner mais cela impliquerait beaucoup de manipulation en dehors de mon programme (configuration d'un proxy http dans le browser pour le traffic http, configuration dans le client de messagerie pour les mails, etc.)
    Je n'ai aucun diplome en informatique/developement logiciel, mais il me semble que la notion de transparence implique que l'utilisateur ne doit pas "s'appercevoir" de la difference. Or comme vous le mentionez ci-dessus, installer un proxy veut aussi dire refaire la configuration des applications logiciels... travail supplementaire donc! et par consequent pas "transparent". Un autre exemple de transparence: DVP.com Tous les forums ne sont pas heberges sur une seule et unique machine... cependant les utilisateurs n'ont aucun moyen de s'en appercevoir et cette distribution ne change en rien leur experience d'utilisation du site...

    Citation Envoyé par Diody
    C'est un peu ca qu'il me faudrait, un programme qui fonctionne un peu comme un antivirus,
    AVG Anti-viurs se base sur la technique du server proxy pour inspecter les e-mails. Cela necessite la configuratio de client e-mail afin que les messages transiste par le proxy.
    Citation Envoyé par Diody
    voir un firewall.
    Je pense qu'on ne parle pas de la meme chose. Il existe plusieurs type de par-feu. Ceux residant sur le reseaux (routers par exemple) et ceux residant sur les machines clients. Personnelement je pense que ces derniers ne devrait pas s'appelait par-feu... mais bon. Cependant, les par-feu, style Zone Alarm ou Keiro Firewall, ne fonctionnent pas comme un proxy. Ils peuvent certes empecher une application d'avoir access a l'internet mais si l'access est donne alors l'application accede "directement" aux resources a distance, alors qu'avec un proxy l'information transite en permanence a travers le proxy...

    Citation Envoyé par Diody
    Mais comment implémenter ce genre de chose ? Quelle genre de technologie utiliser ?
    [ ... ]
    N'y a-t-il pas des exemples de creation de "server proxy" sur la toile?

    Ar@mi$

    NB: je suis d'accord avec la remarque de GangSoleil en ce qui concerne le cryptage

  6. #6
    Membre averti
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    61
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Novembre 2004
    Messages : 61
    Par défaut
    Après quelques recherches j'ai mieux cerné mon problème et obtenu les renseignements suivant:

    Impossible de faire quelque chose de portable...


    Pour pouvoir filtrer le contenu (c'est-à-dire pas uniquement les entêtes) de paquet de manière transparente sous windows, plusieurs solutions existent dont voici ceux qui m'ont semblé les plus adéquates:

    Création d'un "Winsock Layered Service Provider" (mode utilisateur):
    Voir "Network Programming for Microsoft Windows, 2nd Edition (Microsoft Press). Chapitre 12: The Winsock Service Provider Interface.
    Un exemple et un rien de documentation se trouve dans le Plateform SDK de windows (répertoire samples/netds/winsock/lsp)

    Création d'un driver NDIS (mode noyau):
    Plus compliqué à implémenter mais semble beaucoup plus performant. La plupart des firewall professionnel pour windows font leur filtrage grace à cela d'après ce que j'ai pu lire.
    Une bonne base pour commencer est la documentation du Windows DDK (Driver Developpement Kit).
    Il y a également un article assez complet sur le sujet ici : http://www.ntkernel.com/w&p.php?id=14

    Windows Filtering plateform:
    Uniquement à partir de Windows Vista
    http://www.microsoft.com/whdc/device/network/WFP.mspx


    Pour linux, ca semble plus simple et mieux documenté mais je n'ai pas encore d'informations précises.

    PS: Y aurait-il moyen qu'un admin change le titre du sujet en "Windows : IP Content Filtering" ?

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Méthodes]UML vs MERISE Lequel pour quoi ?
    Par Daniel258 dans le forum Méthodes
    Réponses: 5
    Dernier message: 31/03/2003, 12h49
  2. Gros Problème avec DirectShow et la méthode RELEASE
    Par Olivier Delmotte dans le forum DirectX
    Réponses: 3
    Dernier message: 10/03/2003, 19h10
  3. [Singleton] Différences avec méthodes statiques
    Par Franche dans le forum Design Patterns
    Réponses: 1
    Dernier message: 26/02/2003, 18h10
  4. Probleme d'impression avec la méthode TForm->Print()
    Par Kid Icarus dans le forum C++Builder
    Réponses: 13
    Dernier message: 31/07/2002, 15h26
  5. Cryptage en C selon la méthode de césat
    Par shenron dans le forum C
    Réponses: 2
    Dernier message: 31/05/2002, 09h22

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