SPY INTERNET

26
Travail de diplôme Travail de diplôme José Garrido José Garrido Professeur : Philippe Freddi Professeur : Philippe Freddi Explorer Internet en toute sécurité Explorer Internet en toute sécurité Surf Safe Surf Safe SPY INTERNET SPY INTERNET

description

Travail de diplôme. SPY INTERNET. Surf Safe. Explorer Internet en toute sécurité. José Garrido. Professeur : Philippe Freddi. Introduction. Serveur. JavaScript. srv. www. VBScript. POST. Cookies. CGI. }. Nom, Prénom. Profil de l’utilisateur. Pages visitées. Fichiers, registre. - PowerPoint PPT Presentation

Transcript of SPY INTERNET

Page 1: SPY INTERNET

Travail de diplômeTravail de diplôme

José GarridoJosé GarridoProfesseur : Philippe FreddiProfesseur : Philippe Freddi

Explorer Internet en toute sécuritéExplorer Internet en toute sécuritéSurf SafeSurf Safe

SPY INTERNETSPY INTERNET

Page 2: SPY INTERNET

JavaScript

Introduction

www

POST

VBScript

CGI

Cookies

Serveur

srv

Nom, Prénom

Pages visitées

Fichiers, registre

Profil de

l’utilisateur}

Page 3: SPY INTERNET

InterceptionInterception

wwwwww srvsrv

ContrôleContrôleFiltrageFiltrage

Page 4: SPY INTERNET

ApplicationApplication

TransportTransport

FiltrageFiltrage

HTMLHTML

TCP / IPTCP / IP

InternetInternet

HTTP / FTPHTTP / FTP

TCP / UDPTCP / UDP

IPIP

Interface réseauInterface réseau

Application Application (navigateur)(navigateur) ScriptsScripts

RouteurRouteur

FirewallFirewall

Filtrage Filtrage SurfSafeSurfSafe

Page 5: SPY INTERNET

HTTPHTTP

DonnéesDonnéesEn-têteEn-tête

GET /default.htm HTTP/1.1 Accept: image/gif, image/x-bitmap, image/jpeg, . . .

application/vnd.ms-excel, application/msword, */*

Accept-Language: en-usAccept-Encoding: gzip, deflateUser-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT)Host: www.microsoft.comConnection: Keep-Alive--------------------------------------------------------------------------------------DONNEES . . . . . . . . . . . . . . . .

Page 6: SPY INTERNET

Technologies exploréesTechnologies explorées

Interception de messages système ( hook )Interception de messages système ( hook )

Driver NDIS intermédiaireDriver NDIS intermédiaire

“ “ Layered Service Provider ”Layered Service Provider ”

“ “ Browser Helper Object ”Browser Helper Object ”

Mécanismes d’un serveur ProxyMécanismes d’un serveur Proxy

Interception de messages système ( hook )Interception de messages système ( hook )

Driver NDIS intermédiaireDriver NDIS intermédiaire

“ “ Layered Service Provider ”Layered Service Provider ”

“ “ Browser Helper Object ”Browser Helper Object ”

Mécanismes d’un serveur ProxyMécanismes d’un serveur Proxy

Page 7: SPY INTERNET

“ “ Browser Helper Object ”Browser Helper Object ”

Objet COMObjet COM

DLL chargée DLL chargée automatiquementautomatiquement

Travail dans leTravail dans lemême processusmême processus

Permet de contrôler Permet de contrôler IE 4.01IE 4.01

Page 8: SPY INTERNET

“ “ Browser Helper Object ”Browser Helper Object ”

IE utilise l’objetIE utilise l’objetWebBrowserWebBrowser

Méthodes publiquesMéthodes publiqueslimitéeslimitées

Impossible de Impossible de contrôler le document contrôler le document

avant qu’il ne soit avant qu’il ne soit téléchargétéléchargé

Page 9: SPY INTERNET

“ “ Hooks ”Hooks ”

Interceptions des Interceptions des messages dirigés à messages dirigés à Internet ExplorerInternet Explorer

Page 10: SPY INTERNET

“ “ Hooks ”Hooks ”

EvénementEvénement==

messagemessage

ApplicationApplication

HookHook

Page 11: SPY INTERNET

Mécanismes “ Proxy ”Mécanismes “ Proxy ”

SurfSafeSurfSafe

NavigateurNavigateur

Serveur HTTPServeur HTTP

Client HTTPClient HTTP

Serveur HTTPServeur HTTP

InternetInternet

Page 12: SPY INTERNET

Configuration du navigateurConfiguration du navigateur

Page 13: SPY INTERNET

API WinInetAPI WinInet

SurfSafeSurfSafeNavigateurNavigateur

Adresse ProxyAdresse Proxy

InternetInternet

WinInetWinInet

Page 14: SPY INTERNET

Passerelle sur InternetPasserelle sur Internet

Windows SocketsWindows Sockets

Page 15: SPY INTERNET

Sécurité en cascadeSécurité en cascade

NavigateurNavigateur

InternetInternet

SurfSafeSurfSafe

ProxyProxy

Page 16: SPY INTERNET

Réception d’une requêteRéception d’une requête

OrganigrammeOrganigramme

OuiOui

Ecoute du portEcoute du port

Lecture de l’en-têteLecture de l’en-tête

Modification en-têteModification en-tête

Nouveau ThreadNouveau Thread

Proxy ?Proxy ?NonNon

Page 17: SPY INTERNET

GET www.site.com/default.htm HTTP/1.0 ...GET www.site.com/default.htm HTTP/1.0 ...GET GET www.site.comwww.site.com/default.htm/default.htm HTTP/1.0 ... HTTP/1.0 ...

GET /default.htm HTTP/1.1 ...GET /default.htm HTTP/1.1 ...GET GET /default.htm/default.htm HTTP/1.1 ... HTTP/1.1 ...

Modification de l’en-têteModification de l’en-tête

Sans ProxySans Proxy

Avec Proxy (ou SurfSafe)Avec Proxy (ou SurfSafe)

Host: www.site.com ...Host: www.site.com ...Host: Host: www.site.comwww.site.com ... ...

Host: www.site.com ...Host: www.site.com ...Host: Host: www.site.comwww.site.com ... ...

Page 18: SPY INTERNET

Réception d’une requêteRéception d’une requête

OrganigrammeOrganigramme

OuiOui

Ecoute du portEcoute du port

Contrôle en-tête de sortieContrôle en-tête de sortie

Lecture de l’en-têteLecture de l’en-tête

Modification en-têteModification en-tête

Nouveau ThreadNouveau Thread

Proxy ?Proxy ?

Contrôle POST + CGIContrôle POST + CGI ( selon configuration )( selon configuration )

NonNon

( selon base de données )( selon base de données )

Page 19: SPY INTERNET

CGI & POSTCGI & POST

GET /default.htmGET /default.htm?q=Hello&kl=xx&pg=…?q=Hello&kl=xx&pg=… HTTP/1.1HTTP/1.1

Url=index #3dmusic&field-keyword=bivouac...Url=index #3dmusic&field-keyword=bivouac...

CGI / GETCGI / GET

POSTPOST

POST /default.htm HTTP/1.1 …POST /default.htm HTTP/1.1 …

Page 20: SPY INTERNET

Réception d’une requêteRéception d’une requête

OrganigrammeOrganigramme

OuiOui

Ecoute du portEcoute du port

Contrôle en-tête de sortieContrôle en-tête de sortie

Lecture de l’en-têteLecture de l’en-tête

Modification en-têteModification en-tête

Nouveau ThreadNouveau Thread

Proxy ?Proxy ?

Contrôle POST + CGIContrôle POST + CGI ( selon configuration )( selon configuration )

NonNon

( selon base de données )( selon base de données )

Page 21: SPY INTERNET

OrganigrammeOrganigramme

OuiOui

Envoi requête / réception docEnvoi requête / réception doc

Contrôle en-tête d’entréeContrôle en-tête d’entrée

Contrôle documentContrôle document

NonNon

( selon base de données )( selon base de données )

Contrôle lignes de l’en-têteContrôle lignes de l’en-tête

Contrôle scriptsContrôle scripts

Envoi document au navigateurEnvoi document au navigateur Fermeture connexionFermeture connexion

( selon base de données )( selon base de données )

( selon configuration )( selon configuration )

(selon config.+RFC 2616)(selon config.+RFC 2616)

Security ?Security ?

Page 22: SPY INTERNET

Base de donnéesBase de données

HelloHello ClintonClintonPeoplePeopleGarridoGarrido

Page 23: SPY INTERNET

ConfigurationConfiguration

Page 24: SPY INTERNET

Internet Sharing ConnectionInternet Sharing Connection

SurfSafe

SurfSafe Navigateur Autre application

InternetInternetModemModem

Page 25: SPY INTERNET

ConclusionConclusionVisual C++ (MFC, ATL, contrôles communs, ActiveX, dll, feuilles de propriété)

Architecture de Windows NT 4.0

Technologies Internet (HTML, scripts, cookies, CGI, etc.)

Technologie COM (objets COM, OLE DB, ADO, automation)

Les messages système et les « hooks »

Base de données

Manipulation de la base de registres

Technologies réseau et analyse de protocoles (protocole HTTP)

Windows sockets et API WinInet

InstallShield (setup.exe)

Microsoft Internet Information Server 4.0. + Proxy Server 2.0

Page 26: SPY INTERNET

José GarridoJosé Garrido

Questions ?Questions ?

Démonstration ...Démonstration ...