Vous êtes sur la page 1sur 98

Hackfest

Communication

Sécurité
Orienté Service

Hackfest Communication, 2011


Creative Commons Attribution-NonCommercial-ShareAlike 2.5 Canada License
Qui sommes-nous?
Patrick Mathieu
Allô !
• Mon expérience en sécurité/hacking?
• Mon But dans la présentation
• Comprendre les impacts de l’insécurité
en entreprise et au gouvernement
• Expliquer le cycle de développement
sécuritaire
• Le tout techniquement
Nicolas-Loïc Fortin
Hello !
• Mon expérience en sécurité/hacking?
• Buts de la présentation
• Comprendre le fonctionnement de la
sécurité d’entreprise appliqué au Web
• Expliquer les éléments de sécurité haut
niveau
Commençons!
index.php
• Historique
• Mythes
• Les attaquants
• Architecture et sécurisation
• Confiance transitive
• Techniques & cas réels
• Exemples
Historique
Crypto moderne

76
19
et
75
19

CC mab @ flickr (Flickr)


Crypto

83
18
IDS

86
19
CC ronkok (Flickr)
Anti-Virus

87
19
CC SlipStreamJC (Flickr)
Firewall

1
9
19
à
88
19

Page AAAA MM JJ | CONFIDENTIEL


SSL

SSL49
19
CC Darwin Bell (Flickr)
Dev Infra
1883 Principe de crypto
1975 Crypto symétrique moderne
1976 Crypto asymétrique
1986 IDS
1987 Antivirus
1988 Firewall 1G (packet filter)
1990 Firewall 2G (stateful)
1991 Firewall 3G (application level)
1994 SSL
1995 CGI, Perl

?
1997 ASP, JSP
1998 EJB, J2EE, DCOM
1999 SOAP, XML
2001 REST, SOAP
2003 Web 2.0
Page AAAA MM JJ | CONFIDENTIEL
Mythes

CC Lee Nachtigal (Flickr)


Les mythes de la sécurité
• Voici le principal élément à comprendre et
à retenir:
• Il n’y a pas de boîte magique...
CC ? (Flickr)
Chiffrement des données
• l’utilisation du httpS (SSL)
• Ne change rien!
• Qu’un site Web soit chiffré ou non, notre
navigateur Web télécharge toutes les
informations.
Le firewall
• Ne nous protège pas “réellement” des
attaques
• Un utilisateur peut tout de même visiter et
télécharger des données depuis un site
malicieux
Information disclosure
• Qu’est-ce que c’est?
• Toute faille, quel que soit son impact, doit
être considérée et approfondie.
• Faible risque,
Mais, l’accumulation = risque++
Sécuriser l’élément à risque
• Souvent, on sécurise seulement l’endroit
considéré comme à risque
• Toutefois, en verrouillant la porte de notre
maison, on n’empêche pas quelqu’un
d’entrer par la fenêtre... Fail
• En informatique, c’est le même principe
À l’attaque!

CC Mightyohm (Flickr)
Qui sont-ils?
• Depuis plus de 10 ans
• 80% des attaques s’exécutent à partir de
l’intérieur
• Erreurs humaines
• Employés
• Espionnage industriel (12 milliard*)
• 2millions sécurité VS 78 millions de perte
* http://www.lesaffaires.com/archives/generale/les-menaces-qui-pesent-sur-votre-entreprise/504041
Risques réels
Facilité d’exécuter une
attaque
• Outils gratuits disponibles
• Facilité des nouvelles technologies
• Aucun système n’est 100% sécuritaire
• La sécurité est rarement intégrée dès le
début d’un projet
• Plusieurs attaques sont réalisables en mois
de 10 minutes... (voir exemples)
C?
Architecture

CC enfilm (Flickr)
CC ...-Wink-...l (Flickr)
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
bla bla bla bla bla bla bla bla bla bla bla bla bla
Qu’est-ce qu’un cadre
normatif?
• Un programmeur ne pense pas comme un
analyste en sécurité
• L’analyste en sécurité peut aider le
programmeur et, par la suite, effectuer un
audit de sécurité
• Réduit le risque d’erreurs de base
One day Alice came to a fork in the road and
saw a Cheshire cat in a tree. Which road do I
take? she asked. Where do you want to go?
was his response. I don't know, Alice
answered. Then, said the cat, it doesn't
matter.

—Lewis Carroll
Les impacts CC spettacolopuro (Flickr)
Intégrité, confidentialité,
disponibilié
• Perte d’intégrité:
• Modification du site Web (images porno, redirection,
hameçonnage, etc.)
• Modification des textes (textes diffamatoires, insultes, vulgarités)
• Modification des données (données financières, médicales, etc.)
• Perte confidentialité:
• Documents confidentiels
• Accès aux applications et aux données
• Perte disponibilité:
• Système hors fonction ou dysfonctionnel
Les impacts sur les données de
mission
• Perte d’intégrité, de disponibilité et
condifentialité
• Perte financières
• Perte de clients, de fournisseurs, etc.
• Perte de confiance
• Dégradation de l’image publique de l’entreprise
• ...
Gouvernance

CC ? (Flickr)
C?
C?
C?
Doctrine

CC Army.mil (Flickr)
Cycle de développement
sécuritaire
Analyse
Introduction de la sécurité dans le projet dès le départ
Rédaction à partir du guide vert/dmr incluant les éléments de sécurité

Formation et Conception
sensibilisation Architecture et développement
Cadre normatif de développement sécuritaire
Réduction de certains risques de base

Vérification
Revalidation de toutes les mesures de sécurité
Implantation
Implantation et validation de la sécurité
Tests de sécurité
Maintenance
Validation des éléments de sécurité
Valider chaque correctif et nouveau module
Défense en profondeur

CC Steve B Chamberlain (Flickr)


3 tiers
Applications

Serveurs

Données
Stratégie de zonage

CC Julep67 (Flickr)
C?
classification données

CC libraryman (Flickr)
Droit d’accès minimum

CC Sebastian Niedlich (Grabthar) (Flickr)


Vérification

CC ? (Flickr)
Confiance transitive

CC Tojosan (Flickr)
Types d’attaques
SQL Injection
Tekniks
Mais où est le bug?
• Cookie
• Variable Get (victim.com/script.php?
var=valeur)
• Formulaire (POST)
• Ajax (XMLHttpRequest)
• ...
Fonctions sensibles
• System(), Passthru(),...
• mysql_query()
• TOUS les intrants!
• Upload
• Canaux de communication (socket, fichier,s
site web,...)
Information disclosure
• Qu’est-ce que c’est?
• Directory listing
• Code source
• Config par défaut
• Extension (.bak, .old, ~bak, ~old, ...)
• Faible risque
Mais! Accumulation=risque++
ROBOTS.txt
User-agent: *
Disallow: /admin/
Disallow: /App_Browsers/
Disallow: /App_GlobalResources/
Disallow: /App_Themes/
Disallow: /bin/
Disallow: /Controls/
Disallow: /includes/
Disallow: /jscripts/
Disallow: /My Project/
Disallow: /Templates/
Disallow: /vbscripts/
Disallow: /phpMyAdmin/
Disallow: /intranet/
Protection Robots.txt

Disallow: /search/si/*
Disallow: /search/av/*
Disallow: /search/ad/*
Disallow: /search/re/*
Disallow: /search/pr/*
Guess the UserName
Bak file
Google Hacking
• GOTO Google.com
• site:qc.ca
• inurl:admin
• site:facebook.com...
Default Config
• /admin
• /gestion
• /manual
• /cgi-bin
• user: admin password: admin
• install.php, cleandb.php, etc.
Possibilités de...:
• Usurpation d’identité numérique
• Usurpation d’identité physique
• Contrôle à distance
• Exécution à distance
• Vol de données de mission
• ...
Exemples
À ne pas faire ni essayer!

CC Photomish Dan (Flickr)


SQLi Error

Risque: Lecture/exécution de la base de données,


information sur les serveurs
Impact:Vol et modification de données publiques et
confidentielles, attaque serveur
SQLi Union

Risque: Lecture/exécution de la base de données


Impact:Vol et modification de données publiques et
confidentielles
SQL ... gouv!

Risque: Lecture/exécution de la base de données,


information du serveur
Impact:Vol et modification de données publiques et
confidentielles, attaques serveur
XSS

Risque: Contrôle/exécution à distance, vol de données


Impact: Perte de confiance des utilisateurs, pertes
financières
Admin,Yes I am

Risque: Lecture, modification, ajout, suppresion de


données
Impact: Perte de confiance, pertes financières, atteinte à
l’image, etc.
Wrong... Parameters

Risque: Lecture informations confidentielles


Impact:Vol de données confidentielles, perte de
confiance
Oracle error

Risque: Lecture informations confidentielles


Impact:Vol de données confidentielles, perte de
confiance
Wrong... type
(debug mode)

Risque: Lecture informations confidentielles


Impact:Vol de données confidentielles, perte de
confiance
Remote inclusion

Risque: Lecture informations confidentielles, contrôle total


Impact: Pertes...!
Password du serveur...!

Risque: Contrôle et accès complet


Impact: Pertes...!
Section admin

Risque: Information du système


Impact:Vecteur d’attaque
Pas trop mal...

Risque: Information du système


Impact:Vecteur d’attaque
Tout ce qui a un
début a une fin...
Patrick R.
Mathieu
patrick@hackfest.ca
Nicolas-Loïc
Fortin
nicolasloic.fortin@hackfest.ca