Presentation Owasp

Télécharger au format ppt, pdf ou txt
Télécharger au format ppt, pdf ou txt
Vous êtes sur la page 1sur 34

Présentation Sécurité

10 Février 2010

Stéphane Rainville
Sébastien Guimont
Ordre du Jour

Présentation

Mise en contexte

Social Engineering

Threat Modeling

Audit Applicatif

OWASP.ORG

Références
Statistique

80% des problèmes de sécurité sont applicatifs.

80% des budgets en sécurité sont investis en réseautique.

*Statistique de source inconnu approchant la légende urbaine


Sécurité Réseautique

Mur Pare Feu

Active Directory / LDAP

IDS

Clef RSA

VPN

VLAN

Fibre noir

Traçabilité

etc..
Sécurité Applicative


Qui est responsable?

Quel est le budget?

Quel est le suivi?

Quel est le plan de test?

Quel sont les traces?

Quel est le plan de formation?

Quel sont les métriques?
“Social Engineering”

Kevin Mitnick

KeyLogger

Baiting

InfoSecurity Europe conference



Ninety per cent of office workers at London's Waterloo Station gave away
their computer password for a cheap pen, compared with 65 per cent last
year.
SDL
Security Development Lifecycle


Secure Design

Threat Modeling

Fuzz Testing

Secure Coding

API Interdits

Cross-Site Scripting

SQL Injection

Cryptography
Threat Modeling

Examiner votre application sous différentes lentilles pour
identifier les vulnérabilités potentiels

Existe depuis 10 ans

Plusieurs méthodologies

STRIDE

Spoofing

Tampering

Repudiation

Information Disclosure

Denial of Service

Elevation of Privilege
Audit Applicatif

Qui est le responsable de la sécurité applicative?

Cahier de normes?

Quel est le plan de formation en sécurité?

Est-ce que les vulnérabilités sont répertorié?

DREAD 1 à 10

Plan de test?

Bogue de type “sécurité”

Plan de mitigation?
OWASP.ORG
Top 10 2007
1. Cross Site Scripting (XSS)
2. Failles d'injection
3. Exécution de fichier malicieux
4. Référence directe non sécurisée à un objet
5. Falsification de requête intersite (CSRF)
6. Fuite d'information / Traitement d'erreur incorrect
7. Violation de gestion d'authentification et de session
8. Stockage cryptographique non sécurisé
9. Communications non sécurisées
10. Manque de restriction d’accès URL
OWASP.ORG
Top 10 2010 rc1
1. Failles d'injection
2. Cross Site Scripting (XSS)
3. Violation de gestion d'authentification et de session
4. Référence directe non sécurisée à un objet
5. Falsification de requête intersite (CSRF)
6. Security Misconfiguration (Ajout)
7. Manque de restriction d’accès URL
8. Unvalidated Redirects and Forwards (Ajout)
9. Stockage cryptographique non sécurisé
10. Communications non sécurisées
11. Exécution de fichier malicieux (Enlever)
12. Fuite d'information / Traitement d'erreur incorrect (Enlever)
Cross Site Scripting

• Ils se produisent à chaque fois qu'une


application prend des données écrites par
l'utilisateur et les envoie à un browser web
sans avoir au préalable validé ou codé ce
contenu

Démonstration: http://localhost:8080/owasp/a1.jsp
Cross Site Scripting

Défenses
• Validation d’entrée
• Codage approprié des données produites en
sortie
– Entité HTML
– Encodage des caractères (ISO-8859-1, UTF-8)
Failles d'injection

• L'injection se produit quand des données écrites


par l'utilisateur sont envoyées à un interpréteur
en tant qu'élément faisant partie d'une
commande ou d'une requête.

Démonstration: http://localhost:8080/owasp/a2.jsp
Failles d'injection

Défenses
• SQL
• Validation d’entrée
• Utilisation de “Prepared Statements”
• Execution de commande
• Réduire les privilèges de l’application
Exécution de fichier malicieux

• Permet à des attaquants d'inclure du code et


des données hostiles, ayant pour résultat des
attaques dévastatrices, telle la compromission
totale d'un serveur.
• Affectent PHP, XML
• Toute structure qui accepte des noms de
fichiers ou des fichiers des utilisateurs

Démonstration: http://localhost:8080/owasp/a3.jsp
Exécution de fichier malicieux

Défenses
• Validation d’entrée
• Validation des noms de fichier
• Interdire l’utilisation de certaines API de PHP
• “allow_url_fopen”, “allow_url_include”, etc.
• Ajoutez des règles à vos Firewalls
• Empêcher des connections de votre application vers
d’autres applications externes
Référence directe
non sécurisée à un objet
• Se produit quand un développeur expose une
référence à un objet d'exécution interne, tel
qu'un fichier, un dossier, un enregistrement de
base de données, ou une clef, comme
paramètre d'URL ou de formulaire. Les
attaquants peuvent manipuler ces références
pour avoir accès à d'autres objets sans
autorisation
Démonstration: http://localhost:8080/owasp/a4.jsp
Référence directe
non sécurisée à un objet
Défenses
• Evitez d'exposer des références d'objet privé aux
utilisateurs, chaque fois que possible, tels les clés
primaires ou noms de fichiers
• Validez sans retenue toutes les références aux
objets privés, via la méthode d'acceptation des
bonnes valeurs
• Vérifiez l'autorisation à tous les objets références
Falsification de requête intersite

• Cette attaque force le navigateur d'une victime


authentifiée à envoyer une demande pré-
authentifiée à une application web vulnérable, qui
force alors le navigateur de la victime d'exécuter
une action hostile à l'avantage de l'attaquant.

Démonstration: http://localhost:8080/owasp/a5.jsp
Falsification de requête intersite

Défenses
• S'assurer qu'il n'y a pas de vulnérabilité de type
XSS dans l'application
• Insérer des tokens uniques et aléatoires dans
chaque formulaire et URL
Fuite d'information et
Traitement d'erreur incorrect
• Les applications peuvent involontairement
divulguer des informations sur leur configuration,
fonctionnements internes, ou violer la vie privée à
travers toute une variété de problèmes applicatifs.

Démonstration: http://localhost:8080/owasp/a6.jsp
Fuite d'information et
Traitement d'erreur incorrect
Défenses
• Désactivez ou limiter le traitement d'erreur
détaillé.
• Messages d'erreurs aseptisés
• Les erreurs venant de chaque couche soient
dûment vérifiées et configurées pour empêcher
les messages d'erreur d'être exploités par des
intrus.
Violation de gestion
d'authentification et de session
• Les droits d'accès aux comptes et les jetons de
session sont souvent incorrectement protégés.
Les attaquants compromettent les mots de passe,
les clefs, ou les jetons d'authentification identités
pour s'approprier les identités d'autres
utilisateurs.

Démonstration: http://localhost:8080/owasp/a7.jsp
Violation de gestion
d'authentification et de session
Défenses
• Aucun code “maison”
• “Remember Me” Cookie
• Page de login encrypté (SSL)
• Confirmation de login “très lent”
• Session Timeout
Stockage cryptographique non sécurisé

• Les applications utilisent rarement


correctement les fonctions cryptographiques
pour protéger les données et les droits d'accès

Démonstration: http://localhost:8080/owasp/a8.jsp
Stockage cryptographique non sécurisé

Défenses
• Aucun code “maison”
• Ne pas utiliser d'algorithme faible tel MD5,
SHA1, RC3 etc..
• Fichier de config encrypté ou inaccessible
Communications non sécurisées

• La plupart du temps, les applications ne chiffrent


pas le trafic réseau quand il est nécessaire de
protéger des communications sensibles.

Démonstration: http://localhost:8080/owasp/a9.jsp
Communications non sécurisées

Défenses
• Utilisation de SSL
• Vérifier les liens base de données
• Vérifier les liens inter-serveurs
• Fibre noir
• VPN
Manque de restriction d’accès URL

• Fréquemment, une application protège


seulement la fonctionnalité sensible en
empêchant l'affichage des liens ou des URLs
aux utilisateurs non autorisés.
• Les attaquants peuvent utiliser cette faiblesse
pour accéder et effectuer des opérations non
autorisées en accédant à ces URL directement.
Démonstration: http://localhost:8080/owasp/a10.jsp
Manque de restriction d’accès URL

Défenses
• Test de pénétration (automatisé)
• Architecture centralisé d'accès
Conclusions
En ordre

Les dangers réels sont internes

Pénétration par “Social Engineering”

Problèmes applicatifs

Réseautique

Les mots de passe sont une protection illusoire


http://twinturbo.org/security/top-500-worst-passwords-2008/
11% des mots de passe courant y sont présent

Sans un login “lent” une attaque au dictionnaire/Hash prend


moins de deux heures peut importe l'algorithme
Références
OWASP.ORG

http://www.owasp.org/index.php/Top_10_2007

http://www.owasp.org/images/0/0f/OWASP_T10_-_2010_rc1.pdf

Chapitre Montréal - http://www.owasp.org/index.php/Montréal
Logiciels

HTTPWatch / Webscarab

IBM Rational AppScan
Wikipedia

Threat Modeling
Conférences

Blackhat.com, Février 16-19, Arlington, VA
Livres

The security Developement Lifecycle

Writing Secure Code
• Questions?

• Merci

Vous aimerez peut-être aussi