Upload
marrok-prost
View
110
Download
1
Embed Size (px)
Citation preview
Le Web 2.0 et ses insuffisances
Sommaire
Danger et but des attaques en Web 2.0 Problématique de Traces Rappel des attaques existantes Le DNS Pinning Cas d’école: Stormworm Le piratage accessible à tous Défenses et solutions Futur de ces attaques
Danger et but des attaques
Code exécuté sur le poste client, de manière transparente
Vol d’identifiants (mail, sites) Données bancaires Prise de contrôle du poste Rebond pour attaque
Attaque réseau local Attaque orientée Web
Problématique de traces
Le navigateur possède un cache Les résultats de requête Ajax n’y sont pas
nécessairement stockés, ils peuvent être aisément écrasés
A la fermeture du navigateur il ne reste plus rien: Aucun journal ne recense l’activité réseau Tout était en mémoire vive et sera réalloué très
vite
Rappel des attaques existantes
Cross Site Scripting Injections SQL HTTP Smuggling Web cache poisonning Phishing Vol de session Anti DNS Pinning Ajax
DNS Pinning
Mécanisme de protection pour protéger l’utilisateur des détournements faits sur le DNS
Le navigateur met en cache le résultat de la requête du domaine et le conserve pendant toute la session courante
Par exemple: www.nbs-system.com se résout en
212.43.229.196
DNS Pinning
Problème Pour être compatible avec les bascules de
serveur DNS, une entrée du cache de DNS Pinning est vidé lorsque le site demandé est indisponible.
Anti DNS Pinning
Par exemple, sur un site avec deux serveurs frontaux:
www.nbs-system.com 212.43.229.196 62.23.95.18
Pendant toute la session utilisateur, le site nbs-system sera associé avec la première IP retenue par le navigateur: considérons 212.43.229.196
Si le serveur à cette adresse est indisponible; le navigateur effectuera une autre requête DNS.
A ce moment précis, une personne malveillante pourrait renvoyer une réponse DNS pour détourner www.nbs-system.com vers 123.123.123.123
Anti DNS Pinning
L’intérêt: Il est possible de faire basculer le
navigateur d’une adresse IP à une autre sur un même nom de domaine
Cette possibilité permet de contourner le mécanisme de défense bien connu: « Same Origin Policy »
Cette bascule DNS reste « lente », il est nécessaire de faire jouer les Timeout pour que le navigateur décide que le serveur est indisponible
Rappel: Same Origin Policy
URL Résultat Raison
http://www.example.com/dir2/page.html Succès Même serveur et protocole
http://www.example.com/dir/autre/page2.html Succès Même serveur et protocole
http://www.example.com:81/dir2/autre.html Echec Même serveur et protocole mais port différent
https://www.example.com/dir2/autre.html Echec Protocole différent
http://en.example.com/dir2/autre.html Echec Hôte différent
http://example.com/dir2/autre.html Echec Hôte différent
• Empêche un document (Web) chargé d’un emplacement de récupérer ou changer des propriétés d’un autre site
DNS Pinning
Le véritable problème émergent est posé par les plugins, qui peuvent effectuer des connections par eux-mêmes
Il est possible de charger un objet actif (flash, java ...) d’une adresse, de « rebinder » celle-ci puis d’ouvrir du trafic vers une autre destination (par exemple, intranet)
Potentiel
Ces plugins ouvrent donc la porte à une nouvelle génération de possibilités offertes par nos navigateurs Web : Le navigateur permet d’effectuer de l’http La fonction XMLHTTPRequest fournit un moyen
pour effectuer du « tcp » séquentiellement Flash9 permet d’utiliser des sockets TCP Java fournit le support de TCP et UDP
Scénario
Il est possible de contourner la « Same Origin Policy » et d’avoir plusieurs Ips sur un même nom de domaine
Il est possible d’utiliser des <Iframes> pour transformer le navigateur en « routeur »
La logique de communication est faite en Javascript
Scénario de DNS Rebinding
Intranet
www.victime.org123.123.213.123
www.badguy.net111.111.111.111
INTERNET
Résolution www.victime.org : 123.123.123.123
Scénario de DNS Rebinding
Intranet
www.victime.org123.123.213.123
www.badguy.net111.111.111.111
INTERNET
Résolution www.victime.org : 111.111.111.111
Scénario de DNS Rebinding
Intranet
www.victime.org123.123.213.123
www.badguy.net111.111.111.111
INTERNET
Résolution www.victime.org : 111.111.111.111
Scénario de DNS Rebinding
Intranet
www.victime.org123.123.213.123
www.badguy.net111.111.111.111
INTERNET
Résolution www.victime.org : 111.111.111.111
Scénario de DNS Rebinding
Intranet
www.victime.org123.123.213.123
www.badguy.net111.111.111.111
INTERNET
Résolution www.victime.org : CNAME intranet
Scénario de DNS Rebinding
Intranet
www.victime.org123.123.213.123
www.badguy.net111.111.111.111
Résolution www.victime.org : CNAME intranet
INTERNET
Ajax
Design des applications Ajax non conventionnel: Il est très aisé de mettre en place la logique
applicative côté client, et de ne pas suffisamment verrouiller celle-ci côté serveur
La majorité des risques de sécurité liés à Ajax proviennent d’implémentations légères côté serveur
Stormworm
Un vers particulièrement complexe et destructeur.
Utilisation d’un mix entre ingénierie sociale et polymorphisme rendant inefficace la détection.
Un vers possédant des vecteurs d’infection en perpétuelle mutation.
Stormworm
Apparu en début d’année, ce vers utilise des fonctionnalités avancées, signe de la maturité croissante des codes malveillants.
StormWorm est en effet divisé en plusieurs composants, chacun étant dédié à une tache précise : Backdoor, relais SMTP, sniffer d’adresses de messagerie, propagateur, module d’attaque DDoS, utilisation de peer to peer pour les mises à jour.
Mpack : Le piratage s’industrialise
Programmé en PHP, adossé à une base de données MySQL, MPack a tout d'une application web traditionnelle.
Il recense une librairie d’exploits visant les navigateurs qu’il est possible d’acheter (700$) et des mises à jour payantes existent
Néanmoins, il n’intègre que les vulnérabilités publiées publiquement (metasploit, securityfocus)
Mpack
Comme toute application « professionnelle », un suivi de statistiques existe
Les statistiques fournissent le nombre de personnes infectées par pays
Mécanismes de défense
Désactiver Javascript? Désactiver les plugins Se protéger de l’anti DNS Pinning:
DNSWall et Proxy Naviguer sur des sites de confiance?
Technos XAML, nouveaux vecteurs d’attaque ?
La technologie Silverlight de Microsoft utilise ce langage permettant de très nombreuses actions ainsi qu’une interaction accrue avec le système d’exploitation.
Une exposition aux risques de sécurité accrue.
L’accroissement de l’importance du rôle des navigateurs pose de nouveaux et nombreux problème de sécurité.
Attaques indirectes
Un lien sur un site web ou un ‘contenu actif’ type Ajax peut contenir une attaque déposée par un attaquant.
C’est le visiteur du site web qui se retrouve alors à lancer l’attaque.
Nombreux problèmes de responsabilité juridique.
Cela signifie t’il qu’il suffit pour un attaquant de créer lui-même une page lançant une attaque et de surfer dessus pour revendiquer son innocence?
Questions
Cross Site Scripting Moyen détourné pour injecter du contenu
dynamique (code client) au sein d’une page tierce: Possibilité d’en modifier le comportement, le
contenu et de tromper l’utilisateur L’adresse de base de l’url est bien connue,
pourtant la page ne réagira pas comme voulu à l’origine
Injection SQL Des paramètres « utilisateurs » sont repris
directement dans le code de génération d’une page et envoyés à la base de données
Il est donc possible de modifier la requête initialement prévue pour qu’elle réponde plus ou moins de résultat, voir plus d’informations et éventuellement exécuter des commandes sur le serveur de base de données