techniques de piratage des serveurs web et contre-mesures
TRANSCRIPT
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
1/37
Principales techniques de
piratage des serveurs webet contre-mesures
ASIMM 2008-01-30
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
2/37
Ordre du jour
Introduction : volution du web
Prparation dune attaque web
Principales vulnrabilits et contre-mesures Vulnrabilits publiques
Injection SQL ; injection de code
Cross-site scripting (XSS)
Cross-site request forgery (CSRF) Phishing
Utilisations abusives
Dni de service distribu
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
3/37
volution du web
Publication dinformation
Principales menaces :Attaques contre lintgrit du site ( web defacement ) Attaques contre la disponibilit du site ( dni de service )
VandalismePas de gains montaires
change dinformation
Principales menaces :Attaques contre les donnes des utilisateurs (vol didentit) Fraudes financires (intgrit financire des utilisateurs)
Attaques contre la disponibilit du site ( dni de service )
Crime organisAttaques souvent motives par largent
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
4/37
Au cur du problme
Une problmatique facile rsumer :
Paramtres HTTP Paramtres de session (session ID, cookie) Contenus applicatifs
La validation du contenu
des requtes des utilisateurs
Validation de la longueur (buffer overflow) Validation de la syntaxe (injections) Validation de la valeur
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
5/37
Squence dune attaque web
Phase de reconnaissance Recherche dinformation sur le site
Technologies utilises
Recherche de vulnrabilits Problmes dans le code
Phase dexploitation Selon le but recherch
Atteinte la disponibilit, lintgrit ou la confidentialitde linformation
Usurpation didentit
Etc.
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
6/37
Phase de reconnaissance
Requtes GET, HEAD ou OPTIONS telnet sur le port 80
Outils spcialiss Certains outils sont faciles trouver ; ex. : TamperData, extension pour Firefox
Netcraft
OPTIONS / HTTP/1.0 HTTP/1.0 200 OK
Allow: OPTIONS, TRACE, GET, HEAD
Content-Length: 0
Server: Microsoft-IIS/6.0Public: OPTIONS, TRACE, GET, HEAD, POSTDate: Thu, 10 Jan 2008 21:11:30 GMT
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
7/37
Phase de reconnaissance
Pages derreurs Erreurs 404
Erreurs de serveur
Not FoundThe requested URL /phonypath
was not found on this server.
Apache/1.3.36 Server atwww.example.com Port 80 Microsoft JET Database Engine
error '80040e14'Syntax error in string inquery expression 'ProdID =''''.
/store/details.asp, line 207
Software error:You have an error in yourSQL syntax; check the manualthat corresponds to your
MySQL server version for theright syntax to use near
'date'' at line 41 at/home/login.cgi line 85.
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
8/37
Phase de reconnaissance
Code source des pages web Informations sur les outils utiliss
Commentaires laisss par les dveloppeurs Pratique pour deviner des identifiants
Penser regarder aussi le code Javascript !
// modified by jsmith// 2006/11/28
Code daccsjsmith?
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
9/37
Phase de reconnaissance
Contrles Javascript Si un champ est contrl avec Javascript, il y a peut-tre une
faille exploiter
Champs cachs dans les formulaires
Quantity:
if (elements['quantity'].value >= 255) {
elements['quantity'].value='';alert('Invalid quantity');return false;
}
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
10/37
Informations de session
Besoin de sessions continues avec les utilisateurs des fins didentification et dauthentification
SessionID Dans une variable GET (dans lURL)
Dans un cookie Ces valeurs peuvent tre manipules
Le sessionID fait partie des informations soumises parlutilisateur, son intgrit doit tre valide
Usurpation de compte
Rejeu de transactions Vol et utilisation illgitime de cookie
http://www.domaine.com/profile.cgi?id=1234
id=1235
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
11/37
Phase de reconnaissance
Contre-mesures Masquer lidentit et la version du serveur web et du
serveur applicatif (bannire)
Contrler laffichage des messages derreur Dans un but de scurisation, mais aussi dergonomie
Vrification du code et suppression des commentaires
Utilisation de la gestion des jetons de sessions incluse
dans le serveur applicatif Ne pas rinventer la roue
Utilisation de SSL pendant toute la session Protection des jetons par SSL
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
12/37
Vulnrabilits publiques
Vulnrabilits Apache, IIS, etc. Atteinte lintgrit ou la disponibilit du service ;
Atteinte la confidentialit du code source de
certains programmes Exemple clbre : Code Red (2001)
Utilisation dun buffer overflow dans IIS
Dfiguration du site attaqu
Utilisation du site attaqu pour poursuivre lattaque Code Red exploitait une vulnrabilit pour laquelle Microsoftavait publi un correctif un mois auparavant
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
13/37
Vulnrabilits publiques
Pas de contrle sur le code vulnrable Contre-mesures
Maintenir les versions des systmes jour
Souvent, les exploits apparaissent dans lesjours, voire les heures qui suivent la publicationdune vulnrabilit
Masquer lidentit des programmes utiliss
Dsactiver les extensions et les services nonrequis
Filtrer le trafic rseau (firewall, IPS/IDS) Segmentation du rseau ; cration de zones
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
14/37
Injection SQL
Insertion de commandes SQL dans les champsdun formulaire web Divulgation/modification dinformation
Contournement du mcanisme dauthentification
Microsoft JET Database Engine error '80040e14'
Syntax error in string in query expression '(UserID ='user' OR mail = 'user' )AND Pwd = ''''.
/store/checkout.asp, line 96
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
15/37
Injection SQL
Tout commence par une
Les caractres dchappement utiliser dpendent de latechnologie employe. Le caractre est universellement utilis pour les requtes SQL La combinaison -- est utilise dans MySQL pour dbuter un
commentaire (ce qui suit est donc ignor)
SELECT * FROM users_list_tableWHERE username='FIELD_USERNAME'AND password='FIELD_PASSWORD'
SELECT * FROM users_list_tableWHERE username='admin'--'AND password= 'password'
FIELD_USERNAME = admin' --FIELD_PASSWORD = password
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
16/37
Contre-mesures Nettoyer les champs saisis par les utilisateurs avant
de les inclure dans une requte SQL
Sparer le code qui effectue le traitement logique etcelui qui soccupe de la prsentation de linformation Frameworks applicatifs et librairies spcialises
Exemple : objets preparedStatementen Java pour effectuerles requtes aux bases de donnes
Restreindre les droits daccs la base de donnesen fonction du besoin de lapplication
Auditer le code rgulirement
Injection SQL
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
17/37
Injection de code
Gnralisation du cas de linjection SQL Un dfaut de contrle dans le code
applicatif peut conduire lexcution de
code sur le serveur Exemples : insertion de code PHP,
Procdures dappels systme SQL Server : xp_cmdshell PHP : system ()
insertion dinstructions LDAP
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
18/37
Cross-site scripting (XSS)
galement un cas dinjection de codeAttaque du client (navigateur riche )
Utilisateur soumet du code dans un contenuweb
Par exemple, un forum de discussion ou un wiki
Un autre utilisateur accde au contenu et
excute le code malgr lui Utilisation typique : vol de cookie
Usurpation de compte sur le site
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
19/37
Cross-site scripting (XSS)
alert('attention, danger');
Insertion du code dans une page Certains sites acceptent lajout de contenu avec ducode HTML
Attaque persistente
Insertion du code dans une URL Envoi de lURL par courriel Attaque non-persistente
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
20/37
Cross-site scripting (XSS)
Vol de cookies Le script malveillant peut lire le cookie de
lutilisateur pour le site vulnrable et lenvoyer une destination quelconque
Site webwww.banque.com
Cookie pourwww.banque.com
www.banque.com/pagevulnerable?...
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
21/37
Cross-site scripting (XSS)
Des attaques de plus en plus labores Un site vulnrable : exemple.com
Deux sites vulnrables : exemple.comet banque.com
document.write(")
document.location=http://banque.com/search?name=
document.write(")
Rfrence : documentation de XSS-proxy
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
22/37
Cross-site scripting (XSS)
Vol complet de session Attaques XSS 2.0
document.location=http://banque.com/search?name=
Rfrence : documentation de XSS-proxy
IFRAME affichant le siteweb vis
(banque.com)
pirate.net/xss.jsbanque.com
pirate.net
Navigateur de la victime
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
23/37
Cross-site scripting (XSS)
Contre-mesures Nettoyer les contenus saisis par les utilisateurs avant
de les accepter
Sparer le code qui effectue le traitement logique etcelui qui soccupe de la prsentation de linformation
Auditer le code rgulirement
Sur une plateforme collaborative, naccepter que des
commandes HTML inoffensives (*)
(*) Les commandes HTML inoffensives ne le restent pas
ncessairement pour toujours !
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
24/37
Cross-site request forgery (CSRF)
Pas de vulnrabilit au sens technique Utilisateur envoie un lien vers un site de
confiance
Un autre utilisateur clique sur le lien et lancela requte
Si cet utilisateur est dj connect au site, larequte est excute
Insertion de la requte dans un tag HTML Dans une image de taille nulle ou dans un script
https://bourse.com/buy?symbol=GOOG&qty=1000
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
25/37
Cross-site request forgery (CSRF)
Contre-mesures Limiter la dure de validit des sessions IDs
Renouvellement frquent des jetons de session
Utilisation dalgorithmes de hash
Exiger une confirmation de la part delutilisateur pour certaines transactions
One-click transaction : convivial, maispotentiellement dangereux !
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
26/37
Phishing
Usurpation dun site web par un site frauduleux Le site web original nest pas (ou presque pas)
affect
Attaque dingnierie sociale Dirige contre les utilisateurs du site usurp
Exploitation de la mconnaissance desdispositifs dauthentification par le grand public et du caractre vulnrable du courriel
Les propritaires du site usurp doivent agir Protection de limage et de la rputation
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
27/37
PhishingVrai logo de linstitution vise
Lien frauduleux
Liens vers le vrai site
Faute dorthographe
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
28/37
Phishing Le site web demande de linformation
Identifiant / mot de passe
Numro de carte de crdit
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
29/37
Phishing
Contre-mesures SPF : Protection contre lusurpation du nom
de domaine dans lenvoi de courriels
Faciliter le signalement de courriels suspects Formulaire sur votre site web Adresse de courriel
Politique denvoi de courriels
Personnaliser les envois Pas de courriels au format HTML Pas de liens dans les courriels Simplicit des marques et des symboles utiliss
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
30/37
Phishing
Contre-mesures Ne pas demander leurs secrets aux
utilisateurs (PIN, numro de carte, etc.)
Design du site web Ne pas utiliser de programmes de redirection
Ne pas utiliser de pop-ups
Local referrers pour les images Utiliser des adresses simples
https://tf553.login.eplatform-domaine.com/cgi-bin/in/login.srf?tr=widfs1.0&prs=10&ver=2.1&return=http:%
2F%2Fwww.domaine.com%2Fdefault.aspx
https://www.domaine.com/login
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
31/37
Phishing
Contre-mesures Surveillance dactivits suspectes
Cellule de gestion dincidents
Liens avec les autorits Collaborer avec les autorits en cas denqute
Aide aux utilisateurs
ducation et soutien prventif Soutien en cas dactivit frauduleuse
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
32/37
Phishing
Contre-mesures Utilisation dun secret partag
Identifiant :
Mot de passe :
La terre estbleue comme
une orange.
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
33/37
Utilisation abusive du service
Exemples Utilisation dun programme automatique qui simule
lactivit dun tre humain Ticketmaster / Hannah Montana en 2007
Spam bots Forums de discussion
Blogs
Corrlations avec des informations contenues sur
dautres sites Netflix / IMDB en 2007
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
34/37
Utilisation abusive du service
Contre-mesures Politique dutilisation claire
Surveillance des utilisateurs les plus actifs
Limitation du spidering et des activits
automatises Demander aux humains de prouver quils le sont
Forcer les programmes automatiss se dmasquer Utilisation dune feuille de style pour cacher un champ de
formulaire aux visiteurs humains
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
35/37
DDoS
Distributed Denial of service Utilisation dun grand nombre de machines
pour submerger le serveur web de requtes
botnets Objectifs Extorsion de fonds Message politique
Contre-mesures Taille du tuyau et puissance des machines Maintenance de contacts avec les autorits Cellule de gestion dincidents
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
36/37
Conclusion
plateforme mondiale+ technologie ouverte
Contexte internationalUtilisateurs difficiles retracerDifficile de faire appliquer la loi
Protocole standard
HTTPNavigateurs varis IE, Firefox, Safari, Opera
+ actifs convoits
______________________
= cible dattaques
Mme un site purement informationnel peutreprsenter un actif :Porte dentre vers le rseau dentreprise
(ou vers dautres sites) Ressources informatiquesValeur de linformation proprement dite
Le web :
-
7/29/2019 Techniques de Piratage Des Serveurs Web Et Contre-mesures
37/37
Merci !
Questions ?
Christophe [email protected]