SPY INTERNET

Preview:

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

Citation preview

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

JavaScript

Introduction

www

POST

VBScript

CGI

Cookies

Serveur

srv

Nom, Prénom

Pages visitées

Fichiers, registre

Profil de

l’utilisateur}

InterceptionInterception

wwwwww srvsrv

ContrôleContrôleFiltrageFiltrage

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

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 . . . . . . . . . . . . . . . .

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

“ “ 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

“ “ 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é

“ “ Hooks ”Hooks ”

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

“ “ Hooks ”Hooks ”

EvénementEvénement==

messagemessage

ApplicationApplication

HookHook

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

SurfSafeSurfSafe

NavigateurNavigateur

Serveur HTTPServeur HTTP

Client HTTPClient HTTP

Serveur HTTPServeur HTTP

InternetInternet

Configuration du navigateurConfiguration du navigateur

API WinInetAPI WinInet

SurfSafeSurfSafeNavigateurNavigateur

Adresse ProxyAdresse Proxy

InternetInternet

WinInetWinInet

Passerelle sur InternetPasserelle sur Internet

Windows SocketsWindows Sockets

Sécurité en cascadeSécurité en cascade

NavigateurNavigateur

InternetInternet

SurfSafeSurfSafe

ProxyProxy

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

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 ... ...

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 )

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 …

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 )

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 ?

Base de donnéesBase de données

HelloHello ClintonClintonPeoplePeopleGarridoGarrido

ConfigurationConfiguration

Internet Sharing ConnectionInternet Sharing Connection

SurfSafe

SurfSafe Navigateur Autre application

InternetInternetModemModem

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

José GarridoJosé Garrido

Questions ?Questions ?

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

Recommended