Vous êtes sur la page 1sur 54

Introduction à la sécurité

Informatique
Chapitre d’introduction au module sécurité informatique
ESI- 3ième Année – 2018
Par FARAOUN Kamel Mohamed
Objectifs du cours
• A l’issue de ce cours, vous aurez des idées assez
claire sur presque tout les disciplines de la sécurité
informatique
• 1ière Partie : (2 cours)
Introduction/sensibilisation à la problématique de la
sécurité, quelques définitions des différents
éléments de la sécurité informatique,

• 2ième partie :(l’essentiel du cours) :


1. Introduction et Historique,
2. Chiffrement symétrique,
3. Chiffrement asymétrique,
4. Fonctions de hachage,
5. Protocoles d’authentification,
Définition
• La sécurité informatique :comment là définir… ??

1. S'occuper des différents aspects de confiance de


l'information et de sa protection,
2. C’est l’ensemble des moyens mis en œuvre pour
réduire la vulnérabilité d’un système contre les
menaces accidentelles ou intentionnelles.
3. L’ensemble des moyens techniques,
organisationnels, juridiques et humains nécessaire
et mis en place pour conserver, rétablir, et garantir
la sécurité du système d'information.
Définition
Selon la NSA (National Information Assurance Glossary)
defines INFOSEC as:
“Protection of information systems against unauthorized access to or modification of
information, whether in storage, processing or transit, and against the denial of service to
authorized users or the provision of service to unauthorized users, including those measures
necessary to detect, document, and counter such threats.”

« Protection des systèmes d’information contre


l’accès non autorisé ou la modification de
l’information, que ce soit lors du stockage,
traitement ou transfert, et contre le déni de service
des utilisateurs autorisés ainsi que l’obtention des
services par les utilisateurs non autorisés, incluant
les mesures nécessaires pour détecter, documenter
et contourner de telles attaques »
Systèmes d’information
L’information se présente généralement sous quatre
formes :
1. Les données,
2. Les connaissances,
3. Les messages,
4. Les programmes.

On désigne généralement par Système d’information:

« L’ensemble des moyens techniques et humains qui


permet de stocker, de traiter ou de transmettre
l’information »
Systèmes d’information
De fait, on confond souvent, même si ce n’est pas
très exact, la notion de « systèmes et réseaux
informatiques » et celle de « systèmes
d’information».

On dira donc qu’un système d’information est :

« Tout moyen dont le fonctionnement fait appel d’une


façon ou d’une autre à l’électricité (Automatique) et
qui est destiné à élaborer, traiter, stocker,
acheminer, présenter ou analyser l’information »
Systèmes d’information
Le Monde dans lequel on vit
• Ordinateurs personnels (bureau et maison)
• Serveurs de données (bases de données et serveurs web)
• Systèmes téléphoniques (terminaux, switchers,
commutateurs, routeurs)
• Téléphones portables (voix, image, vidéo, donnée)
• Appareils manuels (ord. portables, GPS, …) avec
communications sans fil (infra-rouge, bluetooth…)
• Banques d’informations (données, services, Distributeurs
Automatiques de Billets)
• Cartes à puces (identification, autorisation, monnaie
électronique)
• Systèmes incorporés (voiture, appareils domestiques)
• Bien d’autres systèmes …
Problématique
• Les SI évoluent dans un milieu « hostile » :
– concurrence économique
– gestion de ressources humaines
– piratage
– systèmes non-fiables
– catastrophes climatiques
– environnement politique
– Actes de destruction intentionnelle
– …
• Mise en place indispensable d’une Politique de prise
en compte des risques  Sécurisation des SI
Sources des problèmes…
• Généralisation de l’usage : tout le monde utilise les SI
• Augmentation des menaces :nombre d’attaques
augment chaque jour
• Augmentation des transactions en ligne :le monde
devient très dépanadant de l’information numérique
• Augmentation de la responsabilité juridique et de la
transparence 
• Installations  par défaut insuffisamment sécurisées
• Il faut bien précisé
– que doit ont protégé?
– A quel genre de risque on a affaire?
– Comment protéger (méthodologie de sécurisation)
Evolution des attaques
Evolution des attaques

Advanced Persistent Threat


Evolution des attaques
Nombre de violations de donnés par action

: "A data breach is a security incident in which sensitive,


protected or confidential data is copied, transmitted,
viewed, stolen or used by an individual unauthorized to
do so."
Evolution des attaques
Important !
• Le problème de sécurité n’est plus spécifique au
organisations militaires et financières, mais il
concerne actuellement chaque organisation qui
désire bénéficier de l’aide de l’outil informatique:
chaque individu de la société !

• La tâche de sécurisation est actuellement


attribuée à chaque utilisateur , au lieux d’être
attribuée seulement à l’administrateur.
Sources de risques
1. Evénements environnementaux : inondations, feux,
tempêtes, tremblements de Terre…
2. Mauvaise manipulation (formation, interface,…)
3. Actes de guerre et actes terroristes
Ceci concerne la Sûreté des Systèmes d’information

4. Pirates, violation d’accès , virus …


5. Espionnage économique
6. Non-fiabilité des logiciels informatiques (bugs,….)
7. Intrusions, cryptanalyse……
Ceci concerne la sécurité des Systèmes d’information
Conséquences des risques

• Panne/Arrêt du système
• Diminution de la qualité des services
• Perte d’information/ données
• Fuite de données / technologies
• Dégâts industrielles (Flame 2012-Iran)
• Utilisation illégale des Information
• Accès non autorisés: utilisation de services
• Manipulation de programmes (détournement,
blocage,….)
Exemples de risques
Cryptographie

Support de données (Cryptage,


Accès au systèmes
compression,….)
(Authentification, identification…)

Programmation
Génie-logiciel
Networking
IA…..

Sécurité Locale (virus, Anti-crash,


bugs, exploitation des ressources…)
Communication et Transmission
(Détection d’intrusion, FireWall,
Contrôle d’accès…)
La sécurité absolue n’existe pas !
• La sécurité est un concept relatif.
• On est plus ou moins en sécurité qu’avant, plus ou
moins qu’ailleurs, mais on ne peut jamais être sûrs
d’être  parfaitement en sécurité.
• Parce qu’elle dépend de la conjoncture extérieure
(l’apparition de nouveaux risques);
• Parce que les ressources à y consacrer sont
limitées.
• Avancement de l’état de la technologie !
• Et surtout :Qualités et ressources de l’adversaire !
La sécurité absolue n’existe pas !
• D’où la nécessité d’évaluer l’opportunité
d’investir:  
– En fonction de l’importance des données à
protéger;
– En fonction de la probabilité d’une fuite
• Et de déterminer:
– Quand l’information est-elle sensible?
– Quel est l’information sensible?
– Comment protégé chaque type d’information ?
La sécurité dans un monde complexe
Restauration age MOM 00 3 tifs
Archiv XP/ 2

Sau
c

Clu
Pol 0 0 / re
iti s 20 or

ste
veg
d’a que i ndo w C ISA
ccè W

rs
n
ard
s

tio
acks
Fra erati oft

ic e P

la
v
wo s

S e r

e
m e on

Ac

al
Op cros

rk

en es
tiv
st

Détec ion
eD
em d

In EC
ts

d’intr
Mi

S
én on

Rép ire IP
cto
év sti

a rati ry
Ge

on PKI

tion
us
An
s

Te
Gestion des
s su

tiv
Kerberos

DFS
qu n

iru
ch
perfs
ris tio
es

s
de alua

n
du t / Architecture
oc
LS

olo
n
Év

s tio men ation L/T SM


sécurisée
Pr

Ge nge gur SS G S

gie
a fi PO
Ch Con
la EFS S

s
de RM
Répo
nse
Incide à
nt Personnes
Ad . Dé
de l’ min. in ine ve i ce /
m a lop e r v
Entr
epris Ad om pe
S
p ort
e D Utilisateur ur Su p
D u
Les services de sécurité
• On peut aussi définir la sécurité de l’information
comme étant la préservation des éléments essentiels
suivants: les services de sécurité:

1. L’intégrité 
2. La confidentialité 
3. L’ Authenticité
4. La Non-répudiation
5. La Pérennité
6. Le Contrôle d’accès
7. L’Auditabilité
Les Services de la sécurité

• L’intégrité : protéger l’exactitude et l’intégrité de


l’information et des méthodes de traitement. Ce
service assure qu’aucune modification n’est apportée
au données par des personnes non-autorisées.

• La confidentialité : faire en sorte que l’information ne


soit accessible qu’aux personnes autorisées à en
savoir, que seulement les personnes autorisées
peuvent « comprendre / avoir accès » aux données
protégées.
Les Services de la sécurité
• L’ Authenticité : Assure que l’identité d’une personne
ou l’origine des données est véridique, cohérent et
authentique: prouver l’identité d’une personne/
entité.  

• La Non-répudiation: Assure qu’une personne ne peut


pas réfuter d’avoir effectué une opération sur des
données, l’auteur d’un acte ne peut nier l’avoir effectué.
Une entité, à travers sa signature, est d’abord
authentifiée et s’engage à honorer sa signature.
L’engagement est contractuel et juridique, l’entité ne
peut pas revenir en arrière.
Les Services de la sécurité

• La Pérennité: elle caractérise le bon fonctionnement


du système d’information, elle est estimée par
- la disponibilité: aptitude d’un système
informatique à pouvoir être utilisé à un instant
donné
- la fiabilité: aptitude d’un système d’information à
fonctionner correctement de manière continue
pendant une période de temps (quantité) donnée.
Les Services de la sécurité
• Le Contrôle d’accès :Assure que seulement des
personnes autorisées peuvent obtenir accès à des
ressources protégées

• L’ Auditabilité: elle assure :


– la capacité à détecter et à enregistrer de façon
infalsifiable les tentatives de violations de la
politique de sécurité
– et les moyens de preuve et contrôle nécessaires
aux utilisateurs pour accorder leur confiance
dans l’information fournie.
Définitions – Menaces
Ensemble des actions de l’environnement
pouvant entraîner des violation de sécurité, ce
sont des résultantes d’actions et d’opérations
imprévus ou malveillantes

1. Menaces relevant de problèmes non spécifiques


à l’informatique:
Techniques de protection assez bien maîtrisées.

2. Pannes et erreurs non intentionnelles:


Ensemble des actions non intentionnelles inhérentes au
système de sa spécification à son utilisation et sa
maintenance peuvent entraîner des pertes financières
Définitions – Menaces
3. Menaces intentionnelles:
Ensemble des actions malveillantes constituant la plus
grosse partie du risque qui devraient être l’objet principal
de protection
1. Menaces passives:
Atteinte à la confidentialité (prélèvement par copie,
écoute de l’information sure les voies de
communication, indiscrétions, elles sont souvent
indétectable)
2. Menaces actives:
Nuisent à l’intégrité des données (modification,
déguisement, interposition, virus, ver, etc.…)
Classification des attaques
• Attaques visant l’authentification:
Pour accédé à un système, on essaye de piéger des
usagers et de se faire passer pour quelqu'un d'autre
(impersonation). Exemples: simulation d'interface système
sur écran, simulation de terminal à carte bancaire,
Classification des attaques
• Attaques visant l’intégrité des données:
Une personne non autorisée, un usager ou même un agent
autorisé s'attribuent des avantages illicites en modifiant un
fichier, un message (le plus souvent cette modification est
réalisée par programme). Ex: modification des données sur
un serveur Web
Classification des attaques
• Attaques visant l ’intégrité des programmes:
• Pour s'attribuer par programme des avantages ou des
privilèges (Ex. Privilage escalation)
• Pour détruire avec plus ou moins de motivations des
systèmes ou des données (virus….)
• Copie illégales: obtenir gratuitement des programmes
(Cracking…..)
• Poster des application de surveillance a distance :
Trojan, Hoast….
Classification des attaques
• Attaques visant la disponibilité (déni de service) :
• Attaque par violation de protocole : Erreur très rare en
fonctionnement normal et non supportées par le
protocole
• Attaque par saturation: Envoi de messages trop
nombreux provoquant un écroulement des systèmes et
réseaux (Attaques DDoS, Spam….)
Classification des attaques
• Attaques visant la confidentialité:
– Les attaques ayant pour but le vol d'information via un
réseau par espionnage des transmissions de données
(espion de ligne, accès aux données dans des routeurs et
des serveurs Internet)
– Analyse de trafic: On observe le trafic de messages
échangés pour en déduire des informations sur les
décisions de quelqu'un. Exemples: Packet sniffing
Exemples d’attaques: Spoofing
• Se faire passer pour d’autres utilisateurs ou ordinateurs
afin d’obtenir des privilèges (Brouillage)
• Permet de brouiller les pistes ou d'obtenir un accès à des
systèmes sur lesquels l'authentification est fondée sur
l'adresse IP.
• Exemples:
– Modification d’adresse Mac dans les réseaux Wifi …
– ARP Spoofing: empoisonnement du cache ARP !
Exemples d’attaques: DDoS
• Description : mise hors service d’un système ou
d’un service
• Moyens : engagement d’hôte dans de nombreuses
activités (légitimes) jusqu’à épuisement de ses
ressources ;
• Menaces :
– Consommer toutes les ressources des machines
attaquées, par exemple, mémoire (attaque SYN),
disque (attaque d’e-mail)
– Exploiter les bugs pour arrêter les hôtes (ping-
of-death): Réassemblage de fragments, Flags
TCP illégaux, SYN flood…
Exemples d’attaques: Smurf
• Utilise le protocole ICMP: Quand un ping est envoyé à
une adresse de broadcast (par exemple
10.255.255.255), celui-ci est démultiplié et envoyé à
chacune des machines du réseau.
• Le principe de l’attaque est de spoofer les paquets ICMP
ECHO REQUEST envoyés en mettant comme adresse IP
source celle de la cible.
• L’attaquant envoie un flux continu de ping vers
l’adresse de broadcast d’un réseau et toutes les
machines répondent alors par un message ICMP ECHO
REPLY en direction de la cible.
• Le flux est alors multiplié par le nombre d’hôte
composant le réseau. Dans ce cas tout le réseau cible
subit le déni de service, car l’énorme quantité de trafic
générée par cette attaque entraîne une congestion du
réseau
Exemples d’attaques: Injection de
code
• Injection de code malveillant pour exécuter
sur l’hôte avec de hauts privilèges et infecter
d’autres hôtes.
• Moyens :
– virus : attachés à l’exécutable, étendu par des
CD infectés, Clés USB, Attachement Email….
– ver : dupliquer sur internet
• Menaces :
toutes ...
Exemples d’attaques: Port Scanning
• Objectif : énumérer les services présents sur une
machine (Ports TCP et UDP « ouverts »)
• Outils :
– Nmap (insecure.org), sl (Foundstone),
SuperScan (Foundstone)
MARS VENUS HALLEY
DC IIS SIP
MySQL SQL
FTP
WinXP Win7 UBUNTU
192.168.11.2 192.168.11.3 192.168.11.4

192.168.11.10
Exemples d’attaques: Exploitation
des Défaut de code
• Exploiter la vulnérabilité des logiciels pour pénétrer les
systèmes :
• Buffer overflow (par ex, internet worm, web site apps)
• Stack overflow ……..
• Défaut des codes de sécurité mobiles (java, ActiveX)
• Mauvaise ergonomie (login des administrateurs Windows,
Unix, sendmail)

• La connaissance s´étend plus rapidement que le remède


• Bulletins de piratage informatique.
• Des kits de logiciels publiquement disponibles pour détecter
des vulnérabilités connues, par ex. SATAN, ISS,OPENVAS
• Mais ils ne sont pas toujours aisément suivis et sont
souvent utilisés à l’avantage des pirates informatiques
• Des kits de piratage disponibles publiquement sur le net,
par ex. RootKit (Unix)
Exemples d’attaques: Exploitation des Défaut de code

Anatomie de la Pile
Top of memory

Stack
• La pile crois vers le bas
(Intel, Motorola, SPARC,

Lower Memory Addresses


MIPS)
• Stack pointer (SP) pointe
vers la derrière adresse
sur la pile
Heap

Data

Executable Code

Bottom of memory
Exemples d’attaques: Exploitation des Défaut de code

Anatomie de la Pile
On considère le programme en C suivant, et comment sa
pile sera organiser :

void function(int a, int b, int c){


char buffer1[8];
char buffer2[12];
}

int main(){
function(1,2,3);
}
Exemples d’attaques: Exploitation des Défaut de code

Anatomie de la Pile
pushl $3
pushl $2
pushl $1 Function Parameters

Higher Memory Addresses


call function
Return Address
function prolog
pushl %ebp
movl %esp, %ebp Saved Frame Pointer
subl $20, %esp

Local Variables
Allocates space for local variables
Exemples d’attaques: Exploitation des Défaut de code

Anatomie de la Pile
Bottom of memory

Bottom of stack
Top of memory
12 8 4 4 4 4 4
Top of stack

buffer2 buffer1 sfp ret a b c


Exemples d’attaques: Exploitation des Défaut de code

Attaque sur la Pile


L’attaque « Stack Overflow » profite du faite que le
contrôle sur les limites et la taille n’est pas effectuées:
void function(char *str){
char buffer[16];
strcpy(buffer, str);
}

int main(){
char large_string[256];
int i;
for (i = 0; i < 255; i++){
large_string[i] = ‘A’; }
function(large_string);
}
Exemples d’attaques: Exploitation des Défaut de code

Attaque sur la Pile


Quand le programme s’exécute, un défaut de
segment se produit : un crash de programme
Bottom of memory

Bottom of stack
Top of memory
16 4 4 4
Top of stack

A AA AA
AAAAAAAAAAAAAAAAAAA AAAAAAAAAAAA
A AA
A
AAA AAA
A
buffer sfp ret *str

• L’adresse de retour est écraser par ‘AAAA’


(0x41414141)
• La fonction se termine est revient vers les instructions
à l’adresse 0x41414141…..
Exemples d’attaques: Exploitation des Défaut de code

Attaque sur la Pile


• Sachant que le mécanisme de réécriture de l’adresse
de retour existe, comment ce principe peut être
utilisé pour détourner l’exécution du programme
vers nos instructions (les instructions de l’intrus !) ?
• Il suffit de remplacer la chaine de caractère
transmise par une chaine qui contient notre
« Shellcode »!, Suivie par l’adresse de début de ce
code……
• Cette adresse va remplacer l’adresse de retour et le
programme attaqué se branche vers notre code !
• Un Shellcode est la version binaire d’un programme
en assembleur codée sous forme de chaine de
caractères.
Exemples d’attaques: Exploitation des Défaut de code

ShellCode
jmp 0x1F
popl %esi
movl %esi, 0x8(%esi)
xorl %eax, %eax
movb %eax, 0x7(%esi)
movl %eax, 0xC(%esi) char shellcode[] =
movb $0xB, %al “\xeb\x1f\x5e\x89\x76\x08\x31\xc0\x88\x46\x07\x89”
movl %esi, %ebx “\x46\x0c\xb0\x0b\x89\xf3\x8d\x4e\x08\x8d\x56\x0c”
leal 0x8(%esi), %ecx “\xcd\x80\x31\xdb\x89\xd8\x40\xcd\x80\xe8\xdc\xff”
leal 0xC(%esi), %edx “\xff\xff/bin/sh”;
int $0x80
xorl %ebx, %ebx
movl %ebx, %eax
inc %eax
int $0x80
call -0x24
.string “/bin/sh”
Exemples d’attaques: Exploitation des Défaut de code

Bottom of memory
Attaque sur la Pile

Bottom of stack
Top of memory
Top of stack

SSSSSSSSSSSSSSSSSSSSSSSSSS

buffer sfp ret

L’adresse de début doit être exacte sinon le


programme risque de se planter (les détails c’est
une autre histoire !)
Exemples d’attaques: Password and
Key cracking
• Deviner : noms des membres de la famille, numéros
de téléphone, etc.
• Attaque par dictionnaire : recherche systématique
– Des dictionnaires publiques existes pour plusieurs
systèmes et applications, il y’a même des
générateurs de dictionnaires (Tables Rainbow)
• Recherche exhaustive :
– outils de cryptanalyse se développent
continuellement
– internet fournit une ressource massive de calcul
parallèle
• cryptanalyse, mauvais générateurs, analyse du temps
– Kocher : découvrir la clé au moment où elle est
utilisée pour chiffrer
Instruments de la sécurité
Cryptographie Ingénierie des TICs
– Chiffrement, Signature – Réseaux, Informatique,
– Protocole cryptographique Systèmes
– Architecture de confiance :
– Mise en œuvre matérielle
IGC
/ logicielle – Biométrie

Stéganographie
– Tatouage audiovisuel Usages
– Marquage sémantique – Éducation, formation
– Éthique, Sociologie
– Arsenal juridique,
Cybercriminalité
Sécurité 51/68

Données Communication Logiciel

Accès Util. Illégale Destruction

binaire Multimedia
Authentification Sauvegarde,
•KerBeros Compression codage,…
Chiffrement
•Signature
•DES,RSA
•PKI….
•Génération Clés
•Cryptanalyse
Certificat d’accès Récupération et
•SSL reprise après
•Passport .Net pannes
Contrôle d’accès Watermarking
•Gestion des Sessions
Steganographie
•Passwords Protection
•Rôles
Biométrie
•Empreinte, Iris, Visage…
•IA…..
Sécurité 52/68

Données Communication Logiciel

Réseaux & et Internet Réseaux Téléphonique

Détection d’intrusions Gestion du Débit


•HIDS, NIDS •Surcharge
•Firewalls Contrôle de Contenu •Routage
•Traffic Monitoring •Filtrage des Spam •……..
•Warm et Trojans
•Signatures Contrôle des Communications
Par Signature
•Patterns Matching •Texte Mining …….. •Filtage IP
•Bibliothèques de •Proxies
signatures •Translation d’adresses
•VPN
Comportementales •Ipsec
•Modèles Stochastiques •…..
•IA….
Sécurité 53/68

Données Communication Logiciel

Utilisation Illégale
•Crackage
•Signatures numérique
•Gestion de Licences
Compatibilité
•Langages
Défauts de Programmation •SE
•Bugs
•Portabilité
•Vulnérabilités
•Réutilisabilité
•Mis à jour

Virus Informatiques Systèmes Embarqué


•Vers •Hardware
Modèles théoriques •Worm •Optimisation
•Théorie de la programmation •Virus •Temps réel
•Validation automatique •Bombes Logiques •Risques
•Génie Logiciel •… •…..
Merci

Vous aimerez peut-être aussi