Titre : | La Prévention des Applications Web des Vulnérabilités |
Auteurs : | Ali Atmani, Auteur ; Djemaa Boukhlouf, Auteur |
Type de document : | Monographie imprimée |
Editeur : | Biskra [Algérie] : Faculté des Sciences Exactes et des Sciences de la Nature et de la Vie, Université Mohamed Khider, 2022 |
Format : | 1 vol. (192) / couv. ill. en coul / 30 cm |
Langues: | Français |
Mots-clés: | injection SQL, apprentissage automatique, réseau de neurones convolutifs, traitement de données |
Résumé : |
Avec l'émergence des applications Web et ses large diffusion de leurs services et de leur utilisation dans les transactions commerciales et l'échange de données, qui ont permis aux attaquants d'exploiter les faiblesses des applications Web et de mener diverses attaques telles que l'injection de code SQL, la dégradation et le détournement de session. Dans ce travail, nous nous concentrerons sur l'injection SQL afin de proposer des moyens afin de détecter et de prévenir des vulnérabilités et de se protéger des attaquants. Les mécanismes classiques tels que : IDS, IPS, Firewall et VPN ne font que réduire et ne font pas la prévention. Dans ce travail, nous proposons une méthode de protection inspirée de l'apprentissage automatique, l'apprentissage profond, le réseau neuronal et la régression logistique pour analyser les commandes SQL et les données qui sont enregistrées pour entrer dans une application Web, et nous suggérons spécifiquement un réseau neuronal convolutif et une régression logistique pour les analyser. Nous proposons l’utilisation d’un ensemble de données importées d'Internet avec ajout de données manuellement. On a basé sur un modèle pour inclure les transactions normales et inhabituelles. |
Sommaire : |
Remerciements II Résumé III Abstract . IV Table des Figures ...... XII Table des Tableaux XIV Introduction Générale ..XV Chapitre 01 ..... 17 Vulnérabilités des Applications WEB 17 1.1 Introduction .. 17 1.2 Définition D’une Application WEB . 17 1.3 Architectures des applications web .. 18 1.3.1 Client .... 18 1.3.2 Serveur Web 18 1.3.3 Serveur de Données .. 18 1.4 Le Fonctionnement d’une Application Web .. 19 1.5 Utilisations courantes des Applications Web ...... 20 1.6 Terminologie de la sécurité informatique 20 1.7 Objectif de Sécurité Informatique .. 22 1.8 Les Vulnérabilités d’Application Web 22 1.8.1 Catégorie de Vulnérabilités des Applications Web 22 1.8.2 OWASP ... 23 1.8.3 Les 10 principales vulnérabilités 25 1.8.3.1 Injections 25 1.8.3.2 Violation de Gestion d’ authentification et de Session.... 27 1.8.3.3 Exposition de Données Sensibles ... 28 1.8.3.4 XML External Entities(XEE) .30 1.8.3.5 Manque de Contrôle Accès. 31 1.8.3.6 Mauvaise Configuration de Sécurité .. 32 1.8.3.7 Cross-Site Scripting (XSS) 33 1.8.3.8 InSecure désérialisation 34 1.8.3.9 Utilisation de Composants dont la Vulnérabilité est Connue . 35 1.8.3.10Journalisation et Surveillance Insuffisantes .... 36 1.8 Conclusion 37 Chapitre 02 .... 38 Prévention des Applications WEB 38 2.1 Introduction . 38 2.2 Les Méthodes de prévention des Applications Web ........... 38 2.2.1IDS (Intrusion Detection System): .... 2.2.2IPS (Intrusion Prevention System): 39 2.2.3Pare-feu : .. 40 2.2.4 Pare-feu d'application Web (WAF) 41 2.3 L’algorithme Génétique . 42 2.3.1 Les Types Algorithmes Génétiques 43 2.4 La Logique Floue . 43 2.5 Apprentissage Automatique .. 44 2.5.1 Les Types d'apprentissage Automatique ..... 45 2.5.2 Apprentissage Supervisé .. 45 2.5.3 Classification . 46 2.5.4 Machines à Vecteurs de Support 47 2.5.5 La Régression Logistique . 48 2.6 Réseaux Neuronaux 49 2.6.1 Apprentissage Profond .. 49 2.6.2 Architectures d'apprentissage Profond ... 2.6.3 Réseau de Neurones Récurrents .. 51 2.6.4 Réseau de Neurones Convolutif . 51 2.7 Les Travaux Connexes . 53 2.7.1 Vérificateurs de Code Statique .53 2.7.2 L’analyse Statique ... 53 2.7.3 Test de la Boîte Noire. 54 2.7.4 Web SSARI .... 54 2.8 Conclusion .. 56 Chapitre 03 .. 57 Conception . 57 3.1 Introduction ...... 57 3.2 Conception Générale de Système . 57 3.2.1 Objectif du Système .. 57 3.2.2 Méthodologie Suivie . 58 3.2.3 Architecture globale du système . 58 3.3 Conception Détaillé du Système 59 3.3.1 Collection des Données .. 59 3.3.2 Préparation des Données .. 60 3.3.2.1 Count Vectorizer .. 60 3.3.3 Classification et Entraînement .. 61 3.4 Teste du Modèle ..... 62 3.4.1 Utilisation du Modèle .. 63 3.5 Conception par UML .63 3.5.1 Diagramme de Séquence pour " Inscription " ....... 63 3.5.2 Diagramme de Séquence "Authentifier" X 3.6 Conclusion .... 65 Chapitre 04 ..... 66 Mise en œuvre . 66 4.1 Introduction .. 66 4.2 Environnement de Développement 66 4.2.1 Python..... 66 4.2.2Bootstrap . 67 4.2.3 JavaScript .... 67 4.2.4 XAMPP . 68 4.3 Les Outils Utilisés .. 69 4.3.1 Tensor Flow... 69 4.3.2 Keras... 69 4.3.3 Flask .. 70 4.4 Structures de Données... 70 4.4.1 Bases de Données . 70 4.4.2 Ensemble de Données Utilisées .71 4.4.2.1 Pour l’entraînement de CNN . 71 4.4.3 Entraînement et Test 73 4.4.4 Le Modèle d’évaluation des Attaques SQL .. 74 4.5 Présentation des Interfaces 75 4.5.1 Interface de Collection des Données 75 4.5.1.1 Interface Inscription pour la Première Fois"New User" . 75 4.5.1.2 Interface Déjà Inscrit "Log In" 76 4.5.2 Application Avant Prévention . 77 4.5.3 Application Après Prévention 78 4.6 Expérimentations et Résultats Obtenus 79 Réseau de Neurones Convolutif(CNN) 79 NaiveBayes 80 K-nearest Neighbors (KNN) 80 Machine à Vecteurs de Support(SVM) 80 4.6.1 Comparaison de Résultats . 81 4.7 Conclusion . 81 Conclusion Générale .. 82 Bibliographie... 83 |
Disponibilité (1)
Cote | Support | Localisation | Statut |
---|---|---|---|
MINF/783 | Mémoire master | bibliothèque sciences exactes | Consultable |