Les attaques contre les systèmes d’information
La sécurité informatique et son pendant le piratage sont intimement liés. Ce que fait l’un dicte l’existence de l’autre et inversement. Dans cette partie nous verrons à quelles attaques sont exposés les systèmes d’information. On peut considérer deux types d’attaques : les locales et les distantes :
les attaques locales : ces attaques peuvent être dues à un logiciel défectueux ou une mauvaise configuration du système. Dans le premier cas, deux possibilités existent :
une faille logicielle existante mais non connue du grand public car très rare : ici la solution est la veille passive sur l’exécution des processus de chaque utilisateur ce qui peut être fait facilement par l’utilisation d’un IDS sur le système.
Une faille logicielle existante connue du grand public : c’est elle qui, suite à une maintenance défectueuse, permet à la personne mal intentionnée de faire ce qu’elle désire. Ainsi il est indispensable de faire un suivi quotidien des logiciels qui nécessitent une mise à jour, de vérifier que les processus en présence sont normaux et qu’une connexion inconnue ne perturbe pas votre ligne.
Les attaques distantes : elles permettent à tout pirate potentiellement raccordé à votre réseau de tenter sa chance, ce qui, dans le cas d’Internet peut devenir un réel problème. Parmi ces attaques distantes on peut citer :
Le problème de L’ARP : Ce type d’attaque se fait le plus souvent dans le réseau interne de l’entreprise. Puisqu’un commutateur gère les tables ARP qui, rappelons-le, font correspondre les adresses MAC des machines et leur adresse IP, pour savoir ce qui se dit sur un réseau commuté, il suffit à l’attaquant de faire croire au Switch qu’il est l’ordinateur possédant l’adresse qu’il souhaite écouter, et renvoyer le trafic au véritable détenteur de l’adresse. De ce fait, tout le trafic passe par son poste.
L’attaque de l’homme du milieu (Man In The Middle), est une attaque courante. C’est entre autre la même que celle au niveau ARP. Le pirate cherche à s’introduire entre vous et l’hôte que vous souhaitez contacter.
Que cela soit sur une connexion sécurisée ou non, l’attaque reste possible. C’est pour cela qu’il faut vous assurer absolument de votre interlocuteur, surtout lorsque vous vous trouvez sur une liaison possédant une couche SSL. Vérifiez toujours les certificats qui vous sont présentés et au moindre signe de modification intempestive, contactez l’administrateur distant pour vous assurer que celle-ci est normale. Le déni de service et le déni de service distribué (DOS et DDOS) : ils sont des moyens attrayants pour couper un utilisateur du reste du monde et le mettre à sa merci. Le DDOS est du DOS distribué dans le sens qu’il ne part pas d’une seule et unique machine mais de plusieurs machines souvent des milliers. Ils consistent en la saturation d’une des ressources (bande passante, puissance de calcul, capacité de calcul etc.…) du système d’information en vue de le rendre inutilisable.
Comment sécuriser les systèmes d’information
La sécurité des systèmes d’informations (SSI) est l’ensemble des moyens techniques, organisationnels, juridiques et humains nécessaire et mis en place pour conserver, rétablir, et garantir la sécurité de l’information et du système d’information.
Les objectifs de la sécurité des S.I sont l’expression de l’intention de contrer des risques identifiés et/ou de satisfaire à des politiques de sécurité informatique. Cette sécurité informatique doit être étudiée de telle manière à ne pas empêcher les utilisateurs de développer les usages qui leur sont nécessaires, et de faire en sorte qu’ils puissent utiliser le S.I en toute confiance. C’est la raison pour laquelle il est nécessaire de définir une politique de sécurité c’est-à-dire :
Elaborer des règles et des procédures, Installer des outils techniques dans les différents services de l’organisation, Définir les actions à entreprendre et les personnes à contacter en cas de détection d’une intrusion, Sensibiliser les utilisateurs aux problèmes liés à la sécurité des SI, Préciser les rôles et responsabilités.
Cette politique de sécurité vise à assurer les services de base de la sécurité cryptographique pour un S.I qui sont : la disponibilité, l’intégrité, la confidentialité, authentification, la non-répudiation ainsi que la traçabilité qui garantit que les accès et tentatives d’accès aux éléments considérés sont tracés et que ces traces sont conservées et exploitables.
Les services de base de la cryptographie moderne
La confidentialité : La confidentialité est l’une des pierres angulaires de la sécurité de l’information, c’est le fait de s’assurer que cette dernière c’est-à-dire l’information n’est disponible qu’à ceux dont l’accès est autorisé. Elle est l’une des raisons d’être des crypto systèmes.
L’intégrité : L’intégrité désigne l’état des données qui, lors de leur traitement, de leur conservation ou de leur transmission, ne subissent aucune altération ou destruction volontaire ou accidentelle, et conservent leur format authentique permettant leur utilisation.
L’authentification ou identification : C’est la procédure qui consiste, pour un système informatique, à vérifier l’identité d’une entité (personne, ordinateur…), afin d’autoriser l’accès de cette entité à des ressources (systèmes, réseaux, applications…).L’authentification permet donc de valider l’authenticité de l’entité en question. L’identification permet de connaitre l’identité d’une entité alors que l’authentification permet de vérifier cette identité.
La non-répudiation : La non-répudiation signifie la possibilité de vérifier que l’envoyeur et le destinataire sont bien les parties qui disent avoir respectivement envoyé ou reçu le message. Autrement dit, elle certifie qu’à l’origine les données ont été envoyées, et qu’à l’arrivée elles ont été bien reçues par le destinataire. En somme elle permet de disposer de preuves au cas où l’un des acteurs de la communication nie son implication.
Autorisation : L’autorisation est le fait de s’assurer que les individus n’excèdent pas les droits qui leurs sont attribués. En fait elle consiste à déterminer les droits d’un utilisateur authentifié. La disponibilité du service : Il s’agit de garantir qu’une ressource sera accessible au moment précis où on souhaitera s’en servir.
L’utilisation de la mémoire par Oracle
La zone SGA (System Global Area) il s’agit de la zone contenant les structures de données accessibles par tous les processus.
La zone PGA (Program Global Area) stock toutes les données ne nécessitant pas d’être partagées. La SGA est composée de plusieurs constituants : La Shared Pool (ou zone partagée) cette zone sert à mémoriser et traiter les requêtes SQL provenant des divers utilisateurs.
Le Db block buffer (Database Buffer Cache ou cache des blocs de données) est un espace mémoire contenant toutes les données transitant de ou vers la base de données : blocs de données, blocs d’index et blocs contenant les ROLLBACK SEGMENTS. Le Redo Log buffer (ou cache Redo-log) contient les blocs de données à modifier et Les modifications à effectuer sur ces données, avant que l’ensemble de ces mises à Jour de la base ne soient archivées dans les fichiers Redo-log.
L’ensemble des tailles des caches peut être modifié (augmentée ou diminuée) grâce aux paramètres du fichier d’initialisation (init.ora) dont un exemple est déjà vu plus haut.
Structure logique d’une base de données oracle
Il existe plusieurs niveaux de structures logiques (accessibles à l’utilisateur par requête SQL) allant du schema object (la structure la plus importante) au datablock (La plus petite structure).
Par Schema objet on entend un moyen d’accès à la BD. On y trouve : Les tables : Elles permettent directement d’accéder aux données.
Les vues : Ces éléments qui permettent de donner accès à un sous-ensemble d’une table ou de plusieurs tables.
Les index : Ces éléments sont donc aussi des schémas objects. En quelques mots, on peut dire qu’un index, similairement à l’index d’un ouvrage, permet à une instance du serveur d’accéder plus rapidement à des éléments. Nous reparlerons de cela plus en avant dans ce cours.
Les clusters : Ces schémas objects permettent aussi un accès plus rapide aux données. Ils permettent de stocker dans un même bloc les données de 2 ou plusieurs tables favorisant ainsi certains chemins d’accès (jointure physique).
Les liens : Ces schémas objects permettent d’accéder des données sur une DB distante. Les synonymes : Ils consistent en un nom de remplacement sur un autre schema object. Les procédures : une procédure est un ensemble d’ordres PL/SQL permettant de réaliser une action sur des données.
Les packages Un package est un ensemble de procédures. L’ensemble de tous les schémas objects pour un utilisateur est appelé user’s schema.
Table des matières
INTRODUCTION
Chapitre 1-ANALYSE DU CONTEXTE
1. Cadre de référence
a) Présentation du master
2. Problématique et solution proposée
3. Sécurité informatique : SECURITE DE L’INFORMATION
1. Système d’information (SI)
1.2 Sécurité des systèmes d’information (SSI)
1.2.1 Pourquoi sécuriser les systèmes d’informations
1.2.2 Les attaques contre les systèmes d’information
1. 2.3 Comment sécuriser les systèmes d’information
2. NOTIONS CRYPTOGRAPHIQUES
2.1 Cryptographie
2.2 Cryptanalyse
2.3 Cryptologie
2.4 Chiffrement
2.5 Les services de base de la cryptographie moderne
2.5.1 La confidentialité
2.5.2 L’intégrité
2.5.3 L’authentification ou identification
2.5.4 La non-répudiation
2.5.5 Autorisation
2.5.6 La disponibilité du service
2.6 Cryptographie Symétrique
2.7 Cryptographie Asymétrique
2.7.1 Chiffrement Asymétrique
2.7.2 Signature Numérique
2.7.3 Protocoles de hachages
2.7.4 Signature Numérique et Message Digest
2.7.5 Combinaison chiffrement/signature/hachage
2.7.6 Chiffrement Hybride ou combinaison clé symétrique/asymétrique
2.7.7 Clés symétrique asymétrique / et chiffrement / signature
2.8 Les PKCS (Public-Key Cryptography Standards)
2.9 Les Hardwares Security Module (HSM)
2.10 Le standard X.500
2.11 L’ASN.1
2.12 Keystore et Trutstore
3. Administration oracle database
1. Architecture physique
1.1/ Schéma général
1.2/ Les fichiers physiques d’une base Oracle
1. 3/ Les fichiers de données
1.4/ Les fichiers Redo-log
1.5/ Les fichiers de contrôle
1.6/ Le fichier d’initialisation
1.7/ Les Autres fichiers de configuration
1.8/ Les processus
1.9/ L’utilisation de la mémoire par Oracle
2. Structure logique d’une base de données oracle
3. Le data dictionary (ou les tables système)
3.1/ Présentation générale
3.2/ Les différentes vues
3.3/ Exemples : d’interrogation du data dictionary
CHAPITRE 2 – LES COMPOSANTES DE L’ARCHITECTURE WEB
1. Les bases de l’architecture web oracle
1.1. Architecture d’oracle database
1.2. Pourquoi le choix d’oracle database 12c
2. Composante de l’architecture web
2.1. Système d’exploitation
2.2. La base de données oracle 12c
2.3. Oracle weblogic server
2.4. Oracle fusion middleware
3. Sécurité de la base de données oracle
3.1. Comment sécuriser une base de données ainsi qu’une application web
3.1.1. Sécuriser une base de données
3.1.1.1. Niveaux de sécurité
3.1.1.2. Autorisations pour les vues et les relations
3.1.1.3. Sécurité et Confidentialité
3.1.1.4. Niveau Système d’exploitation
3.1.2. Sécuriser une application web oracle
3.1.3. Vulnérabilité et recommandations sur une application oracle
3.2. Solution de sécurité des bases de données oracles
3.2.1. Oracle label Security
3.2.2. Oracle database vault
3.3. Autres types de sécurité dans oracle database
Chapitre 3- IMPLEMENTATION DE L’ARCHITECTURE WEB
1. Environnement de travail : oracle linux
1.1. Créer une machine virtuelle
1.2. L’installation de oracle Linux
2. Conception de la base de données
2.1. Installation et configuration des Bases de données 12c
2.2. Configuration de weblogic server, fusion middleware
2.2.1. WebLogic Server 12c
2.2.2 Configuration fusion middleware
2.2.2. Configuration grid control
3. Configuration des outils de sécurité
3.1. Oracle label security
3.2. Mise en place d’Oracle Database Vault
CONCLUSION