Upload
guillaume-raimbault
View
679
Download
0
Embed Size (px)
DESCRIPTION
Diaporama de soutenance de projet de fin de Master 2 Sécurité des Systèmes d'Information. Le nom du projet était "Sécurité Androïd" et le but de celui-ci était le portage de l'HIDS Stide sur le système Androïd de Google ainsi que le développement de modules kernels afin de "hooker" les appels systèmes dans le but des tracer puis analyser avec l'HIDS. Pour plus d'informations, regarder le diapo. Pour encore plus d'informations, n'hésitez pas à me contacter...
Citation preview
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Encadrant: P-A Fouque
Nombreux projets de recherche
Très spécifiques
Notre projet:
HIDS général
Basé sur des séquences d’appel
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Contexte du projet
1
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Apprentissage Module LKM
Module ptrace
Exploit Androïd
Exploitation Fonctionnement de Stide
Stide en action
Contenu
2
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
Apprentissage
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Modélise le comportement normal
La précision dépend de la durée
Surveillance des appels systèmes
Liste d’enchainement “normaux”
Module LKM de “hook”
“ptrace” sous Androïd
3
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Basé sur un module de furtivité
Corruption des affichages sous Unix
Brute force sur la table des symboles
Modification:
@ légitime -> @ corrompue
Appel de la fonction corrompue
Retour vers la fonction légitime
Apprentissage: Module LKM
4
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Phase de nettoyage possible
En sortie:
1401 16
1401 64
1401 51
1401 69
-1
Apprentissage: Module LKM
5
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Utilise la librairie ptrace
Un démon qui tourne en fond
syscalltrace –p <pid> [-o out]
Apprentissage: Module ptrace
6
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Attache du PID ptrace(PTRACE_ATTACH, target_pid, null, null)
Attend l’arrivé d’un appel système ptrace (PTRACE_SYSCALL, target_pid, 0, 0);
Récupération de l’id ptrace(PTRACE_PEEKUSER, target_pid,
PT_SYSCALL_NR_OFFSET, 0);
Apprentissage: Module ptrace
7
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Module LKM
Nécessite les droits root
Fonctionne en KernelLand
Dégrade la stabilité du système
Module ptrace
Nécessite les droits root
Dépendant de la lib ptrace
Fonctionne en userland
Apprentissage: Bilan
9
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Besoins
Etudier le système lors d’une attaque
Vérifier le fonctionnement de l’IDS
Problèmes
Peu d’exploit dans le domaine public
Faible taux de succès
« Use-after-free »: CVE-2010-1119
Apprentissage: Exploit
8
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
Exploitation
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Configuration de l’HIDS
BDD des séquences autorisées
Flux d’entrée
Fonctionnement
10
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Ligne de commande
Nom complet “- -” ou en raccourci “-”
Ex: -d nom.db ou --db_name nom.db
Fichier de configuration
2 formats: ancien ou nouveau
“#ConfigFileRev” pour le nouveau
Sinon l’ancien
Exploitation: Configuration
11
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Exploitation: Configuration
12
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Structure de sauvegarde: opt_infos
Exploitation: Configuration
long_name
Element i
short_name
set
type
int_val str_val bool_val
==s Type ==i ==f
db_name
0
d
true
s
NULL default_db NULL
==s Type !=i !=f
13
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Vérification des erreurs
Flags lors de leur lecture
Format de sortie
Constantes pour définir les valeurs
Validité des valeurs entières
Exploitation: Configuration
14
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Vecteur d’arbres
Stocker les séquences d’appels
Référence pour la comparaison
Exploitation: Base de données
15
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
SeqForest
BDD des séquences valides
FlexiTree
On connait la racine
Contient les appels systèmes suivant
Exploitation: Base de données
16
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Exploitation: Base de données
Appels systèmes: 24, 13, 5 13, 5, 81 4, 24, 4
24, 4, 13 4, 13, 5 13, 5, 18
24, 13, 2
17
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Utilisation de vecteurs
Simule une architecture en arbre
Taille dynamique
Flexibilité de manipulation (get, set)
Exploitation: Base de données
18
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
“current_seq” vecteur d’appels système
Nombre d’appels systèmes dans la séquence
de paires
d’anomalies
“streams”: vecteur de flux Répertorie tous les flux
Exploitation: Les flux
19
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Lecture du fichier d’entrée
Remplissage de
sid_table
streams
Comparaison du flux
Comptage des anomalies
Exploitation: Stide en action
20
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Pour tous les flux de streams
Comptage des anomalies des flux
Comptage du nombre de paires lues
Puis… affichage du rapport
Nombre de paires lues
Nombre d’anomalies
Pourcentage de séquences anormales
Exploitation: Stide en action
21
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Module ptrace
Résultats incohérents sous Androïd
Module LKM
Passer à Androïd
HIDS Stide
Testé et résultats concluants
Conclusion technique
22
Contexte Contenu Apprentissage Exploitation Conclusion Bilan
1
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Bilan du projet
Découverte de la sécurité Androïd
Développement système
Mise en pratique d’un HIDS
Autonomie durant le projet
23
Merci de votre attention
Master 2 Sécurité des Systèmes d’Information : 2012 - 2013
Bassem – Belkacem – Guillaume – Romain – Thierry
Des questions ?
24