mercredi 28 janvier 2015

Les méthodes de détection des intrusions (SNORT)

Introduction


       Les systèmes d'information sont aujourd'hui de plus en plus ouverts sur Internet. Cette ouverture, a priori bénéfique, pose néanmoins un problème majeur : il en découle un nombre croissant d'attaques. La mise en place d’une politique de sécurité autour de ces systèmes est
donc primordiale.
       L’enjeu de la sécurité est devenu plus puissant à cause des pirates et hackers qui scrutent les réseaux privés afin de détecter une petite faille qui pourrait engendrer de graves  conséquences. Mais, malgré les progrès réalisés en ce domaine, celui de la sécurité informatique, on arrive juste à réduire les intrusions et non pas les éliminer.


Définition de l'IDS:



Un système de détection d'intrusion (ou IDS : Intrusion Detection System) est un ensemble de composants logiciels et matériels dont la fonction principale est de détecter et analyser toute tentative d’effraction (volontaire ou non) du réseau sur lequel il est placé. C'est un outil complémentaire aux firewalls, scanneurs de failles et anti virus.



Les IDS systèmes (Host IDS) analysent le fonctionnement et l'état des machines sur lesquels ils sont installés afin de détecter les attaques en se basant sur des démons (tels que syslogd par exemple). L'intégrité des systèmes est alors vérifiée périodiquement et des alertes peuvent êtres levées. 



Les IDS réseaux (Network IDS) analysent en temps réel le trafic qu'ils aspirent à l'aide d'une sonde (carte réseau en mode "promiscuous"). Ensuite, les paquets sont décortiqués puis analysés. En cas, de détection d'intrusion, des alertes peuvent être envoyées.

Pourquoi  a t-on besoin de l'IDS?



ü  le virus "Chernobyl" (CIH) a causé enormément de dégats en attaquant directement les BIOS et disques durs des machines. Pour la seule année 1999, ces dégats s'estimaient à 250 000 dollars, uniquement pour la Corée du Sud.

ü  Dernièrement, le virus Sasser à également prouvé sa virulance en infectant Les machines Microsoft avec une rapidité déconcertante.

Lorsque on observe les chiffres, il est clair que la prudence s'impose pour se protéger afin de minimiser les dégats. c’est pour cela qu’on aura besoin des IDS Pour  :  

- Avoir une  mise à jour quotidienne de la circulation du flux.

- Permettre à un administrateur réseau d’écouter différents endroits au niveau du réseau


Les différents types d'IDS:



Les IDS disposent de deux approches différentes, afin de déceler les intrusions :

Les IDS à signature : Généralement, les IDS réseaux se basent sur un ensemble de signatures qui représentent chacune le profil d'une attaque. Cette approche consiste à rechercher dans l'activité de l'élément surveillé (un flux réseau) les empreintes d'attaques connues, à l'instar des anti virus.
Une signature est habituellement définie comme une séquence d'événements et de conditions relatant une tentative d'intrusion. La reconnaissance est alors basée sur le concept de "pattern matching" (analyse de chaînes de caractères présente dans le paquet, à la recherche de correspondance au sein d'une base de connaissance). Si une attaque est détectée, une alarme peut être remontée (si l'IDS est en mode actif, sinon, il se contente d'archiver l'attaque).

Les IDS comportementaux : Les IDS comporteaux ont pour principale fonction la détection d'anomalie. Leur déploiement nécessite une phase d'apprentissage pendant laquelle l'outil va apprendre le comportement "normal" des fluxs applicatifs présents sur son réseau.
Ainsi, chaque flux et son comportement habituel doivent etre déclarés ; l'IDS se chargera d'émettre une alarme, si un flux anormal est détecté, et ne pourra bien entendu, spécifier la criticité de l'éventuelle attaque.

Mise en place d'un IDS:





Il existe plusieurs endroits stratégiques où il convient de placer un IDS.
Le schéma ci-dessus illustre un réseau local ainsi que les trois positions que peut y prendre un IDS :

Position ( 1 ): Sur cette position, l'IDS va pouvoir détecter l'ensemble des attaques frontales, provenant de l'extérieur, en amont du firewall. Ainsi, beaucoup d'alertes seront remontées ce qui rendra les logs difficilement consultables.

Position ( 2 ): Si l'IDS est placé sur la DMZ (Zone démilitarisée), il détectera les attaques qui n'ont pas été filtrées par le firewall et qui relèvent d'un certain niveau de compétence. Les logs seront ici plus clairs à consulter puisque les attaques bénins ne seront pas recensées.

Position ( 3 ): L'IDS peut ici rendre compte des attaques internes, provenant du réseau local de l'entreprise. Il peut être judicieux d'en placer un à cet endroit étant donné le fait que 80% des attaques proviennent de l'intérieur. De plus, si des trojans ont contaminé le parc informatique (navigation peu méfiante sur internet) il pourront êtres ici facilement identifiés pour être ensuite éradiqués.
Idéalement, on placerait des IDS sur les trois positions puis on délèguerait la consultation des logs à l'application "acid" (http://acidlab.sourceforge.net/) qui permet d'analyser les alertes et d'en présenter clairement les résultats via une interface web complète. Si une seule machine peut être déployée, autant la mettre sur la position 2, cruciale pour le bons fonctionnement des services.

Qu'est ce que SNORT?


SNORT est un open source du système de détection des intrusions de réseau.
 Il a capable d’analyser le trafic sur le réseau en temps réel et des paquets circulant sur le réseau IP.
Il peut exécuter l'analyse de protocole, en cherchant et s’assortant le content et peut être employé pour détecter une variété d'attaques, des tentatives comme des débordements d'amortisseur, des balayages de port de dérobée, des attaques de CGI, des sondes de SMB, des tentative d’empreinte de OS, et beaucoup plus.
SNORT a trois utilisations primaire:

Il peut être employé en tant qu'un renifleur de paquet comme tcpdump
un enregistreur de paquet (utile pour le trafic de réseau corrigeant).
ou comme plein système soufflé de détection d'intrusion de réseau.

dimanche 7 décembre 2014

Exercice corrigé UML: gestion des formations d'un institut privé

Exercice:
Il s'agit d'établir le schéma conceptuel d'une base de données pour la gestion des formations d'un institut privé :
·         Un cours est caractérisé par un numéro de cours (NOCOURS), un libellé (LIBELLE), une durée en heures (DUREE) et un type (TYPE).
·         Un cours peut faire l'objet dans l'année de plusieurs sessions identiques.
·         Une session est caractérisée par un numéro (NOSES), une date de début (DATE) et un prix (PRIX).
·         Une session est le plus souvent assurée par plusieurs animateurs et est placée sous la responsabilité d'un animateur principal.
·         Un animateur peut intervenir dans plusieurs sessions au cours de l'année.
·         On désire mémoriser le nombre d'heures (NBH) effectué par un animateur pour chaque session.
·         Un animateur est caractérisé par un numéro (NOANI), un nom (NOMA) et une adresse (ADRA).
·         Chaque session est suivie par un certain nombre de participants.
·         Un participant est une personne indépendante ou un employé d'une entreprise cliente.
·         Un participant est caractérisé par un numéro (NOPAR), un nom (NOMP) et une adresse (ADRP).
·         Dans le cas d’un employé, on enregistre le nom (NOMEN) et l’adresse de l’entreprise (ADREN).
·         On désire pouvoir gérer d’une manière séparée (pour la facturation notamment) les personnes indépendantes d’une part, et les employés d’autre part. Si nécessaire, on fera les hypothèses sémantiques complémentaires qui pourraient s'imposer.
                                                                                                                    
Établir un schéma conceptuel (diagramme de classes UML) pour cette base de données.
Corrigé:


Corrigé Exercice UML: Compagnie aérienne

1)-  



































2)-




Exercice UML: Compagnie aérienne

Exercice:

Une compagnie aérienne veut mettre en oeuvre une base de données pour gérer ses différents vols :
·         Un VOL est un parcours aérien caractérisé par un NUMERO, une VILLE-DEPART, une VILLEARRIVEE, une HEURE-DEPART, une HEURE-ARRIVEE, une DISTANCE, une FREQUENCE.
·         Lorsqu'un VOL est programmé pour une DATE déterminée il constitue un DEPART.
·         Un VOL n’est programmé qu'une seule fois dans une journée à l'heure prévue.
·         Un certain nombre de PASSAGERS peut être enregistré pour un DEPART.
·         Un PASSAGER est caractérisé par son NOM, son ADRESSE, son NO-TELEPHONE.
·         Un AVION est affecté à chaque DEPART.
·         Un AVION est caractérisé par un NUMERO, un TYPE, une CAPACITE.
·         Un AVION utilise une certaine QUANTITE DE CARBURANT pour accomplir le trajet. Cette dernière dépend des conditions atmosphériques, donc de la DATE.
·         Un certain nombre de PERSONNELS est affecté à chaque DEPART. On distingue les personnels navigants des personnels non navigants. Parmi ces derniers, on distingue le(s) pilote(s). Un membre du personnel est caractérisé par son NOM, son ADRESSE, son NO-TELEPHONE.
1)- On désire utiliser cette base pour produire (entre autres) les listes suivantes :
-            passagers enregistrés pour un départ,
-            personnels affectés à un départ pour chacune des trois catégories,
-            départs programmés pour un vol donné,
-            départs assignés à un avion donné pour la semaine à venir,
-            caractéristiques du vol correspondant à un départ.
Proposer un diagramme de classes UML pour cette base (tous les éléments figurant en majuscules dans l'énoncé doivent être pris en compte).
2)- Un VOL peut en fait être constitué de plusieurs tronçons. Par ailleurs on souhaite pouvoir établir pour chaque VILLE les vols au départ et les vols à l'arrivée.

Suggérer une amélioration du modèle précédent pour prendre en compte ces deux aspects.

Exercice corrigé UML: Agence de voyage

Exercice  :

Une agence de voyage organise des voyages où l'hébergement se fait en hôtel. Le client doit disposer d'un taxi quand il arrive à la gare pour se rendre à l'hôtel. Certains clients demandent à l'agent de voyage d'établir une facture détaillée. Le voyage se fait soit par avion, soit par train.

Donner un diagramme de cas d'utilisation de ce système.

Corrigé :

Diagramme de cas d'utilisation


Corrigé de l'exercice UML: Football

Exercice 1 :


1. Diagramme de classe











2. Diagramme d’objets












Exercice 2 :

  1. agrégation
  2. généralisation
  3. agrégation
  4. association
  5. généralisation

Exercice UML : Football

Exercice 1 :

Soit le texte suivant :
Une équipe de football est composée de joueurs. Une équipe représente un pays. Une équipe possède une couleur. Un joueur porte un maillot. Un joueur peut être un joueur de champ ou un gardien. Les maillots des joueurs de champ sont de la couleur de son équipe. Le maillot du gardien est toujours d’une couleur noire.
Les joueurs ont le droit d’utiliser leurs pieds. Le gardien a le droit d’utiliser ses mains.
1-      On suppose qu’une couleur n’est pas une classe mais un entier. Dessiner un diagramme de classes. On utilisera l’agrégation si cela est possible. On placera les ordres de multiplicité.
2-      Dessiner un diagramme d’objets correspondant au texte suivant : Xavi et Iniesta sont des joueurs de champ. Casillas est un gardien. Ils font partie de l'équipe nationale espagnole . La couleur de l’équipe de l’Espagne est le rouge. Tous les joueurs portent un maillot.

Exercice 2 :

Pour chaque exemple ci-dessous, indiquez si la relation présentée est une généralisation, une agrégation ou une association :
  1. Un pays a une capitale.
  2. Une transaction boursière est un achat ou une vente.
  3. Les fichiers contiennent des enregistrements.
  4. Une personne utilise un langage de programmation dans un projet.
  5. Les modems et les claviers sont des périphériques d’entrées/sorties.

samedi 6 décembre 2014

Base de données: Corrigés

EXERCICE 1 :


1)  





2) 


EXERCICE 2 :
            AssSport est en BCNF, parce qu’il n y a pas de dépendances fonctionnelles, mais elle n est pas satisfaisante pour autant.
            En effet la liste des horaires d’un étudiant doit être répétée pour chacun des sports auquel il veut participer.
            En fait non seulement il n’yy a pas dépendance fonctionnelle, mais il y a une totale indépendance entre l’horaire et le sport.

Il s’agit ici d’une dépendance multivaluée noEtudiant à horaire, noEtudiant à sport.
La décomposition en deux relations:
libre(noEtudiant, horaire)
sport(noEtudiant, sport)
évite les redondances; les deux relations sont toujours en BCNF et même en 4NF (pour information).


Base de données: Exercices

EXERCICE 1 :

            Soit le schéma de la relation R (A, B, C, D, E, G) et un ensemble donné de dépendances fonctionnelles pour cette relation:
A                    à        B, C
A, C               à        E
A, D, E          à        B, G
C, G               à        D
B, G               à        C
C                    à        B
1.      Donner le graphe minimal des dépendances fonctionnelles de R ;
  1. Donner une décomposition de R en relations 3NF sans perte d’informations et sans perte de dépendances.
Précisez l’identifiant de chaque relation obtenue.
EXERCICE 2 :

            L'association sportive d’une université désire connaître les sports qu'aimeraient pratiquer les étudiants. De manière à choisir les horaires pour ces sports, on a demandé aux étudiants de donner la liste des horaires (jour et heure) auxquels ils sont libres et celle des sports qu'ils veulent pratiquer. La relation suivante a ainsi été créée :
AssSport (noEtudiant, horaire, sport)
décrivant le fait que cet horaire est l'une des plages où l'étudiant est libre et que ce sport est l'un de ceux qu'il désire pratiquer.
  1. Existe-t-il des redondances et anomalies dans cette relation ? Lesquelles ;
  2. Quel est le graphe des dépendances de cette relation ;
  3. Quels sont ses identifiants et quelle est sa forme normale? Peut-on la décomposer ? Comment ?

vendredi 5 décembre 2014

Correction des exercices sur les bases de données

Exercice 1 :

Passage MCD à MLD



















Exercice 2 :
1- La relation CommandeLivre est bien en première forme normale.
2-
à 2FN : CommandeLivre(Num-Commande, Num-Client, Titre, Auteur, Quantité, Prix).
à 3FN :         – CommandeLivre(Num-Commande, Num-Client, Titre, Quantité)
– Livre(Titre, Auteur, Prix)
Exercice 3 :
1.      Noms et prénoms des réalisateurs :
R = Π <NOM, PRENOM> (σ <RÔLE=REALISATEUR>(JOUER) * (INDIVIDU))
2.      Quels sont les noms et prénoms des acteurs qui sont également réalisateurs :
R1 = σ <RÔLE=REALISATEUR>(JOUER) * (INDIVIDU)
R2 = σ <RÔLE=ACTEUR>(JOUER) * (INDIVIDU)
R = Π <NOM, PRENOM> (R1 Ç R2)
3.      Quels sont les titres des films où Nicole Kidman a joué un rôle et qui ont été projetés au cinéma Le Fontenelle ?
R1 = Π <NUM_FILM>(σ <PRENOM=NICOLE AND NOM=KIDMAN>(JOUER) * (INDIVIDU))
R2 = Π <NUM_FILM>(σ <NOM=’LE FONTENELLE’>(PROJECTION))
R3 = R1 * R2
R = Π <TITRE>(R3 * (FILM))
4.      Quels sont les acteurs qui n’ont pas joué dans des films dramatiques ?
R1 = Π <NUM_IND> (σ <GENRE = DRAME > (FILM) * (JOUER))
R2 = Π <NUM_IND> (INDIVIDU) / R1
R = R2 * (INDIVIDU)
5.      Quels sont les acteurs que l’on a pu voir dans tous les cinémas ?
R1= Π <NUM_IND, NUM_CINE> (PROJECTION) * (JOUER)
R1= Π <NUM_CINE> (CINEMA)
R3 = R1 % R2
R = R3 * (INDIVIDU)