Le document ne contient pas de contenu significatif ou d'informations claires. Il semble être inachevé ou vide. Aucune évaluation pertinente ne peut être fournie.
RMLL 2017 –4 Juillet 2017
La première menace
●
La navigation sur internet
●
Le téléchargement
●
Vos identifiants
●
Vos courriels (emails)
●
Etc...
C'est vous
7.
RMLL 2017 –4 Juillet 2017
Les risques
●
Ne connaissent pas
– L'étendue des risques liés à la sécurité de leur site
●
Significations du terme « piratage »
●
Des sites listent les failles, alertes…
●
Et surtout :
– Vol d'informations
– Usurpation d'identité
– Indisponibilité de service
– Défiguration de site
– Désinformation
8.
RMLL 2017 –4 Juillet 2017
Site 'alerte' de vulnérabilités (1/2)
●
CVE
– Commun Vulnerabilites and Exposures
●
Dictionnaire des informations publiques relavites
– Aux vulnérabilités de sécurité
●
Base de données des Vulnérabilités (source d'informations)
●
Concerne
– CMS / Framework
– OS
– Navigateurs
– Logiciels
– ...
9.
RMLL 2017 –4 Juillet 2017
Site 'alerte' de vulnérabilités (2/2)
(C) https://www.cvedetails.com/browse-by-date.php
10.
RMLL 2017 –4 Juillet 2017
Les vulnérabilités reconnues
●
Insuffisance des tests de sécurité
●
Configuration par défaut
●
Pas de cryptage des données sensibles
●
Pas de mises à jour du système
●
La sécurité apparaît lors des catastrophes
●
Surveillance inefficace
●
Contrôle insuffisant de l'accès par des tiers
11.
RMLL 2017 –4 Juillet 2017
Les différents types d'attaques
●
Matériels ●
Périphériques ●
Smartphones
●
Internet des
Objets
●
Le web●
Logiciels
12.
RMLL 2017 –4 Juillet 2017
Les points faibles… les bases applicatives
13.
RMLL 2017 –4 Juillet 2017
Les vulnérabilités Web : Le symbole (1/2)
<
14.
RMLL 2017 –4 Juillet 2017
Les vulnérabilités Web : Le symbole (2/2)
< ;
15.
RMLL 2017 –4 Juillet 2017
Correspondance des caractères dangereux
Caractères Decimal Hexadecimal HTML
Character Set
Unicode
'' (double quote) " " " u0022
' (simple quote) ' ' &apos: u0027
& (ampersand) & & & u0026
< (inférieur) < < < u003c
> (supérieur) > > > u003e
RMLL 2017 –4 Juillet 2017
STEGANOGRAPHIE
L'art de cacher les choses
à la vue de tous
Trouver la courbe la plus
longue dans l'image
Q
18.
RMLL 2017 –4 Juillet 2017
Code sécurisé
✔
Défense en profondeur
✔
Limité les accès de données à l'extérieur
✔
Maximiser les droits
3 points à connaître
19.
RMLL 2017 –4 Juillet 2017
Mais... Quoi affiché !!!
✔
Erreur 404 ✔
Erreur 500
✔
Fichier Log
Un minimum d'informations lors d'un crash
20.
RMLL 2017 –4 Juillet 2017
Minimum de sécurité... 1 / 3
✔
Mettre une bonne stratégie de mot de passe
✔
Jpassword – Keepass...
✔
Ne pas le stocker en clair
✔
Pensez au captcha ou au jeton
✔
Force le mode SSL / TLS
✔
Limité le délais pour modifier son profil utilisateur
✔
Identification session
✔
Authentification coté serveur
✔
Pas d'authentification en JS / Ajax
Le contrôle : Authentification
21.
RMLL 2017 –4 Juillet 2017
Minimum de sécurité... 2 / 3
✔
Gestion des sessions aléatoire
(JSESSIONID / $_SESSION)
✔
Minimum d'informations visibles (ex URL)
✔
Eviter les données sensibles sur le réseau
(VS scanner de réseau)
✔
Cookie sécurisé (onglets des navigateurs)
✔
Limiter la fin de session pour les projets sensibles (ex 5 minutes)
✔
Bloquer les doubles logins / accès
✔
1 Authentification = 1 utilisateur = 1 connexion BDD
→ Pour l'Open Source
Le contrôle des accès
22.
RMLL 2017 –4 Juillet 2017
Minimum de sécurité... 3 / 3
✔
Contrôler le cache
✔
Penser à vider le cache
✔
Fermer fenêtre
✔
Fermer Navigateur
✔
Fermer Application
Logique de code... Pas sûr
RMLL 2017 –4 Juillet 2017
OWASP
●
OWASP : Open Web Application Security Project
●
Communauté pour la sécurité des applications
Webs
●
Publications :
TOP 10 / Cheat sheets / Owasp : secure Contrat
●
Outils :
Owasp Zed attack Proxy / ESAPI : API for / AppSensor
:: a IDS / IPS
●
Jeux :
Owasp Cornucopia / Owasp Snake
25.
RMLL 2017 –4 Juillet 2017
TOP 10 : OWASP (web) 1/3
✔
Failles d'injection
✔
Cross-Site Scripting (XSS)
✔
Violation d'authentification et de Session
✔
Référence directe non sécurisée à un objet
✔
Falsification de requête (CSRF)
✔
Mauvaise configuration de sécurité
✔
Stockage cryptographique non sécurisé
✔
Manque de restriction d'accès URL
✔
Communications non sécurisées
✔
Redirections non validées
✔
Failles d'injection
✔
Violation d'authentification et de Session
✔
Cross-Site Scripting (XSS)
✔
Référence directe non sécurisée à un objet
✔
Mauvaise configuration de sécurité
✔
Données sensibles accessible
✔
Manque de sécurité au niveau des rôles
✔
Falsification de requête (CSRF)
✔
Utilisation de composants connus vulnérables
✔
Redirections non validées
2010
X
✔
Fuite d'information et Traitement d'erreur
Incorrect
✔
Exécution de Fichier Malicieux
N
X
N
2013
✔
Communications non sécuriséesX
N
Z
Z
N Z XHausse Baisse Identique NouveauBaisse SortieRenommé
26.
RMLL 2017 –4 Juillet 2017
TOP 10 : OWASP (web) 2/3
✔
Failles d'injection
✔
Violation d'authentification et de Session
✔
Cross-Site Scripting (XSS)
✔
Contrôle d'accès cassé (catégorie 2004)
✔
Mauvaise configuration de sécurité
✔
Données sensibles accessible
✔
Protection d'attaque insuffisante
✔
Falsification de requête (CSRF)
✔
Utilisation de composants connus vulnérables
✔
API sous-protégées
2013 2017 rc 1
✔
Redirections non validéesX
N Z XHausse Baisse Identique NouveauBaisse SortieRenommé
✔
Failles d'injection
✔
Violation d'authentification et de Session
✔
Cross-Site Scripting (XSS)
✔
Référence directe non sécurisée à un objet
✔
Mauvaise configuration de sécurité
✔
Données sensibles accessible
✔
Manque de sécurité au niveau des rôles
✔
Falsification de requête (CSRF)
✔
Utilisation de composants connus vulnérables
✔
Redirections non validées
✔
Communications non sécuriséesX
N
Z
Z
N
N
27.
RMLL 2017 –4 Juillet 2017
TOP 10 : OWASP (3/3)
●
1. Verify for Security Early
and Often
Vérifier la sécurité tôt et souvent
●
2. Parameterize Queries
Paramétrer les requêtes
●
3. Encode Data
Encoder les données
●
4. Validate All Inputs
Valider toutes les entrées
●
5. Implement Identity and
Authentication Controls
Implémenter des contrôles
d'identité et d'authentification
2016 Top 10 Proactive Controls suggestions
●
6. Implement Appropriate Access
Controls
Mettre en œuvre des contrôles d'accès
appropriés
●
7. Protect Data
Protéger les données
●
8. Implement Logging and
Intrusion Detection
Implémentez l'enregistrement et la
détection d'intrusion
●
9. Leverage Security Frameworks
and Libraries
Tirer parti des cadres de sécurité et des
bibliothèques
●
10. Error and Exception Handling.
Gestion des erreurs et des exceptions.
28.
RMLL 2017 –4 Juillet 2017
Au niveau Site / Blog...
//
RMLL 2017 –4 Juillet 2017
✔
Configuration non à jour
✔
Pas de maintenance
✔
Mise à disposition des
fonctions
✔
Exec
✔
System
●
Autre manière de prise en
main du système
●
Serveur Zombie
●
Principe de l'attaque Conséquence
Injection de ligne de commandes
OWASP : A1 - Injection en ligne de commande
31.
RMLL 2017 –4 Juillet 2017
Désactiver dans php.ini
– exec
– passthru
– shell_exec
– system
– proc_open
– popen
– curl_exec
– curl_multi_exec
– parse_ini_file
– show_source
Affiche le nom de l'utilisateur
<?php
echo exec('whoami');
?>
Par conséquent :
safe_mode = Off
allow_url_fopen=Off
allow_url_include=Off
OWASP : A1 - Injection en ligne de commande
32.
RMLL 2017 –4 Juillet 2017
✔
Envoie du code SQL
✔
Formulaire
✔
GET / POST
✔
Cookies
✔
...
✔
Contournement
authentification
✔
Récupération des données
de la base
✔
Récupération de fichiers
✔
Exécution de codes
Principe de l'attaque Conséquence
Injection SQL
OWASP : A1 - Injection SQL
33.
RMLL 2017 –4 Juillet 2017
Utilisation du SQL
●
Risque : Requête avec des simples quotes
SELECT * FROM 'users' WHERE 'username'='$login' AND 'password'='$pass'
●
Saisie : $login = hello $pass = hello
SELECT * FROM 'users' WHERE 'username'='hello' AND 'password'='hello'
●
Saisie : $login = ' OR '1'='1' $pass = ' OR '1'='1'
SELECT * FROM 'users' WHERE 'username'='' OR '1'='1'' AND 'password'='' OR '1'='1''
●
Saisie : $login = ' OR 1=1"); drop table users; $pass =
SELECT * FROM 'users' WHERE 'username'='' OR 1=1"); drop table users;' AND
'password'=''
TRUE
TRUE
TRUE
Sauf si BDD lecture
OWASP : A1 - Injection SQL
34.
RMLL 2017 –4 Juillet 2017
Se protéger contre injection SQL
●
addslashes()
– Ajoute des antislashs dans une chaîne
SELECT * FROM 'users'
WHERE 'username'=' ' OR '1'='1' '
AND 'password'=' ' OR '1'='1' '
mysqli_real_escape_string()
– Protège les caractères spéciaux
●
pdo_quote()
– Place des guillemets simples autour d'une chaîne entrée
les guillemets simples '
les guillemets doubles "
les slashes /
les caractères NULL
OWASP : A1 - Injection SQL
35.
RMLL 2017 –4 Juillet 2017
Provenance coté front
●
Navigation
●
Formulaire
– Champs : Input, upload,...
●
Des API Couche Métier
OWASP : A1 – Injection API
36.
RMLL 2017 –4 Juillet 2017
✔
Trouver
✔
des données stockés /
archivés en clair
✔
Espace privée non
partagée
✔
Communication avec la
banque
✔
Déterminer les algorithmes
de chiffrement faible
✔
Cible principale
✔
Mot de passes
✔
Données sensibles non
chiffrées
✔
Carte bleu
Principe de l'attaque Conséquence
Exposition de données sensibles
OWASP : A1 / A6 / A10
37.
RMLL 2017 –4 Juillet 2017
✔
Envoie du code SQL
●
Formulaire
●
GET / POST
●
Cookies
●
...
✔
Contournement
authentification
✔
Récupération des données
de la base
✔
Récupération de fichiers
✔
Exécution de codes
Principe de l'attaque Conséquence
API Métier : connexion LDAP
OWASP : A1 – Injection API
RMLL 2017 –4 Juillet 2017
TOP 10 : Mobile Risk
✔
1-Commandes côté serveur faible
✔
2-Stockage de données non sécurisé
✔
3-Protection insuffisante de la couche
de transport
✔
4-Fuite de données involontaire
✔
5-Mauvaise autorisation et
authentification
✔
6-Cryptographie brisée
✔
7-Injection côté client
✔
8-Décisions de sécurité via les entrées
non approuvées
✔
9-Gestion incorrecte des sessions
✔
10-Manque de protections binaires
✔
1-Utilisation inappropriée de la plate-
forme
✔
2-Stockage de données non sécurisé
✔
3-Communication insécurisée
✔
4-Authentification non sécurisée
✔
5-Cryptographie insuffisante
✔
6-Autorisation non sécurisée
✔
7-Qualité du code client
✔
8-Code de falsification
✔
9-Ingénierie inverse
✔
10-Fonctionnalité exubérante
2014 2016
Z
N Z XHausse Baisse Identique NouveauBaisse SortieRenommé
40.
RMLL 2017 –4 Juillet 2017
TOP 10 : Mobile Risk 2016
●
Utilisation inappropriée de la plate-forme
– Les fonctionnalités inutiles - La sécurité – Accès aux contacts...
●
Stockage de données non sécurisé
– Stockage des données non sécurisé – Fuites de données involontaires
●
Communication insécurisée
– SSL incorrectes – communication en clair des informations sensibles...
●
Authentification non sécurisée
– identification pour l'utilisateur – Faiblesse dans la gestion des sessions...
●
Cryptographie insuffisante
– Problème lié à Cryptographie (pas été effectuée correctement)
●
Autorisation non sécurisée
– Défaillance dans l'autorisation – navigation forcée...
●
Qualité du code client
– Problème débordements de tampon – faire du code inutile...
●
Code de falsification
– Couvre les correctifs binaires – Modification de l'utilisation prévue du logiciel (par un attaquant)...
●
Ingénierie inverse
– Analyse du noyau binaire – possible d'exploiter d'autres vulnérabilités
●
Fonctionnalité exubérante
– Fonctionnalités backdoor cachées – des données dans les commentaires
RMLL 2017 –4 Juillet 2017
Les tendances de l'IoT
●
La protection de
sécurité
– Equipement vers Cloud
(= chip to cloud)
●
Sécurité et vie privée●
Délégation de gestion
aux utilisateurs
●
La mort du mot de
passe
– Approche à grands pas
RMLL 2017 –4 Juillet 2017
En résumé : une politique de sécurité (1/2)
●
Ne pas se cantonner :
– Garantir les droits d'accès aux données
– Accès aux ressources avec des systèmes
d'authentifications
●
Anticiper les risques futurs
– Améliorer
– Déployer
– Evolution
●
Suivre les mises à jours
→ Si vous utilisez une solution externe
48.
RMLL 2017 –4 Juillet 2017
En résumé : une politique de sécurité (2/2)
●
Politique de sécurité
– Identifier les besoins en termes de sécurité, les risques
– Elaborer des règles et des procédures
Services de l'organisation, matériels utilisés…
– Surveiller et détecter les vulnérabilités
→du système d'information, applications… En informer
– Détecter les actions à entreprendre
→ Voir les bonnes personnes à contacter en cas d'une menace
49.
RMLL 2017 –4 Juillet 2017
Sources
●
Web
– https://www.owasp.org/index.php/Top10
– https://www.owasp.org/index.php/Category:OWASP_Top_Ten_Project
●
Mobile
– https://www.owasp.org/index.php/OWASP_Mobile_Security_Project
– https://www.owasp.org/index.php/Mobile_Top_10_2016-Top_10
●
IoT
– https://www.owasp.org/index.php/Top_10_IoT_Vulnerabilities_(2014)
●
OWASP
– https://www.owasp.org