web-20 - Wikigento

Download Report

Transcript web-20 - Wikigento

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.nbssystem.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
• Empêche un document (Web) chargé d’un
emplacement de récupérer ou changer
des propriétés d’un autre site
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
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
www.badguy.net
111.111.111.111
www.victime.org
123.123.213.123
INTERNET
Intranet
Résolution www.victime.org : 123.123.123.123
Scénario de DNS Rebinding
www.badguy.net
111.111.111.111
www.victime.org
123.123.213.123
INTERNET
Intranet
Résolution www.victime.org : 111.111.111.111
Scénario de DNS Rebinding
www.badguy.net
111.111.111.111
www.victime.org
123.123.213.123
INTERNET
Intranet
Résolution www.victime.org : 111.111.111.111
Scénario de DNS Rebinding
www.badguy.net
111.111.111.111
www.victime.org
123.123.213.123
INTERNET
Intranet
Résolution www.victime.org : 111.111.111.111
Scénario de DNS Rebinding
www.badguy.net
111.111.111.111
www.victime.org
123.123.213.123
INTERNET
Intranet
Résolution www.victime.org : CNAME intranet
Scénario de DNS Rebinding
www.badguy.net
111.111.111.111
www.victime.org
123.123.213.123
INTERNET
Intranet
Résolution www.victime.org : CNAME intranet
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