Le Web 2.0 et ses insuffisances. Sommaire Danger et but des attaques en Web 2.0 Problématique de...

Preview:

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

Recommended