Travail de diplôme José Garrido Professeur : Philippe Freddi Explorer Internet en toute sécurité Surf Safe SPY INTERNET
JavaScript Introduction www POST VBScript CGI Cookies Serveur srv Nom, Prénom Pages visitées Fichiers, registre Profil de l’utilisateur }
Interception www srv ContrôleFiltrage
Application Transport Filtrage HTML TCP / IP Internet HTTP / FTP TCP / UDP IP Interface réseau Application (navigateur) ScriptsRouteur Firewall Filtrage SurfSafe
HTTP Données En-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-us Accept-Encoding: gzip, deflate User-Agent: Mozilla/4.0 (compatible; MSIE 5.01; Windows NT) Host: Connection: Keep-Alive DONNEES
Technologies explorées Interception de messages système ( hook ) Driver NDIS intermédiaire “ Layered Service Provider ” “ Browser Helper Object ” Mécanismes d’un serveur Proxy Interception de messages système ( hook ) Driver NDIS intermédiaire “ Layered Service Provider ” “ Browser Helper Object ” Mécanismes d’un serveur Proxy
“ Browser Helper Object ” Objet COM DLL chargée automatiquement Travail dans le même processus Permet de contrôler IE 4.01
IE utilise l’objet WebBrowser Méthodes publiques limitées Impossible de contrôler le document avant qu’il ne soit téléchargé
“ Hooks ” Interceptions des messages dirigés à Internet Explorer
Evénement = message Application Hook
Mécanismes “ Proxy ” SurfSafe Navigateur Serveur HTTP Client HTTP Serveur HTTP Internet
Configuration du navigateur
API WinInet SurfSafeNavigateur Adresse Proxy Internet WinInet
Passerelle sur Internet Windows Sockets
Sécurité en cascade Navigateur Internet SurfSafe Proxy
Réception d’une requête Organigramme Oui Ecoute du port Lecture de l’en-tête Modification en-tête Nouveau Thread Proxy ? Non
GET HTTP/ GET HTTP/ GET /default.htm HTTP/ GET /default.htm HTTP/ Modification de l’en-tête Sans Proxy Avec Proxy (ou SurfSafe) Host: Host:
Réception d’une requête Organigramme Oui Ecoute du port Contrôle en-tête de sortie Lecture de l’en-tête Modification en-tête Nouveau Thread Proxy ? Contrôle POST + CGI ( selon configuration ) Non ( selon base de données )
CGI & POST GET /default.htm?q=Hello&kl=xx&pg=… HTTP/1.1 Url=index #3dmusic&field-keyword=bivouac... CGI / GET POST POST /default.htm HTTP/1.1 …
Réception d’une requête Organigramme Oui Ecoute du port Contrôle en-tête de sortie Lecture de l’en-tête Modification en-tête Nouveau Thread Proxy ? Contrôle POST + CGI ( selon configuration ) Non ( selon base de données )
Organigramme Oui Envoi requête / réception doc Contrôle en-tête d’entrée Contrôle document Non ( selon base de données ) Contrôle lignes de l’en-tête Contrôle scripts Envoi document au navigateur Fermeture connexion ( selon base de données ) ( selon configuration ) (selon config.+RFC 2616) Security ?
Base de données Hello Clinton PeopleGarrido
Configuration
Internet Sharing Connection SurfSafe SurfSafeNavigateurAutre application Internet Modem
Conclusion Visual 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 Proxy Server 2.0
José Garrido Questions ? Démonstration...