Upload
aurelien-charlot
View
107
Download
3
Embed Size (px)
Citation preview
1
"Sécurité? Hey, j’ai un FireWall!!"
Concepts de défense en profondeur, analyse de la couche 8…
Alexandre Amorison, Ir. Dr.
Directeur du Centre Informatique
Faculté Polytechnique de Mons
Académie Universitaire Wallonie-Bruxelles
22
Plan
• Introduction
• Concepts
• Expérience
• Couche 8
• Conclusion
• Discussion…
33
IntroductionIntroduction
44
Sécurité, définition
• Cambridge Dictionary of English: "Ability to avoid being harmed by any risk, danger or threat" (Capacité à éviter d'être touché par toute forme de risque, de danger ou de menace)
• Larousse: "Situation dans laquelle quelqu'un, quelque chose n’est exposé à aucun danger, à aucun risque d’agression physique, d’accident, de vol, de détérioration"
Inaccessible! Autant de sécurité que nécessaire…
55
Sécurité, définition adaptée…
• Rafal's Definition: "Ability to avoid being harmed too much by reasonably predictable risks, dangers or threats"
• Capacité à éviter d'être trop touché par des risques, dangers ou menaces raisonnablement prévisibles
66
Pré-conclusion 1
• Présomptueux de parler de sécurité, parlons de protection…
• Concepts– Modélisation et Gestion de risque– Défense en profondeur
• Partager une expérience– Perceptions personnelles– Environnement Microsoft… Nous pourrons en discuter
Partager une perception et une vision personnelle, pas toujours académique et sans prétention d'exhaustivité.
Quelques outils concrets
77
• Pragmatisme
• Modélisation
• Equilibre entre usage et protection
• No perfect mousetrap, No silver bullet
• Défense en profondeur
• Règlements et procédures
Concepts
88
Pragmatisme
• La sécurité étant inaccessible, il s’agit de gestion de risque
• Sécurité Protection• Investissement en sécurité = investissement
pour qu’il n’arrive rien!! Peu convaincant
99
Modélisation
• Identification des menaces– STRIDE
• Identification des risques.– Connaître son infrastructure– Schéma en arbre des menaces, des cibles, des vulnérabilités
• Classification.– Risque = "criticité" * probabilité d'occurrence– DREAD Un réflexion personnelle: intégration du coût de la protection…
• Association de "petits" risques à solutions simples• Elimination d'un risque à solution trop complexe / onéreuse
• (+?)
1010
Modélisation, suite
• Evaluations financières, outil pour convaincre la direction… layer 8, nous allons y revenir…
• Processus cyclique RiskModel
LearnLearn
ControlControl
Track
AnalyzeAnalyze
PlanPlan
IdentifyIdentify
1111
Equilibre entre usages et protection
Secure
Usable Cheap
1212
Equilibre…
• Bien choisir l'équilibre
• Information des utilisateursEx: Valeur du mot de
passe…
• Ne pas encourager les mauvais comportements
1313
Protection
• Protection:– en réponse à un risque
Ex: mot de passe pc privé à domicile…– en fonction des coûts– en garantissant les usages
1414
No perfect mousetrap!
1515
No silver bullet!
• L’outil logiciel ou matériel qui règle tous les problèmes de sécurité n’existe pas…
Dommage!!
• Plusieurs sites de défense:– Réseau / communications– Applications– Accès physique– Layer 8… attendons encore un peu
Modèles en couches.
1616
Défense en profondeur.
• Pensez aux Châteaux forts…
People, policies, and process
People, policies, and process
Physical securityPhysical security
PerimeterPerimeter
Internal networkInternal network
HostHost
ApplicationApplication
DataData
1717
Règlements et procédures
• Règlement, stratégies
• Procédures de réaction
• Documentation, diagrammes (infrastructures, rôles, flux de données, …)
No security by obscurity…La complexité est un ennemi
1818
Pré-conclusion 2
• La modélisation a un coût elle aussi, qui se justifie par la complexité de la structure à protéger
• La fin est dans les usages, non dans la sécurité
• Appliquer les règlements, les stratégies
• Nous passons à du concret?
1919
Expérience
• Sécurité physique• Données• Applications• Machines• Périphérie / Serveurs• Réseau• Utilisateurs• Divers
2020
Sécurité physique
• Si quelqu'un a un accès physique à votre machine, ce n'est plus votre machine… La cryptographie peut aider
• Sécurité physique– Contrôleurs de domaine– Serveurs de backup – Backups– Serveurs
• Sécurité physique sur le réseau… une utopie aujourd'hui dans une majorité de cas.
2121
Données
• Pérennité
– Tolérance de panne– Backup
• Fausse manœuvre - clichés instantanés, plus une tâche administrative
• Disaster recovery - réplication
– Archivage
• Confidentialité
– Sécurité locale type AGLP / ACLS– Right Management– Cryptographie (EFS)– Signature et cryptage (email) (+?)
2222
Applications
• Buffer Overflow! (+?)
– Validation– Compilateur– Data Execution Prevention
• Signature de code
• Assistants et IDE (réduction des erreurs)
• Stratégies de restrictions logicielles
2323
Machines
• Virus - antivirus
• Spyware – antispyware (hosts file)
• Rootkits – format!
• Configuration
• Pare feu local
• Mises à jour
Days between patch and Days between patch and exploitexploit
Sasser
Sasser
151151180180
331331
Blaster
Blaster
Welchia/ Nachi
Welchia/ Nachi
NimdaNimda
2525
SQL Slammer
SQL Slammer
1717
2424
Périphérie / Serveurs
• Configuration
• Réduction de la surface d'attaque, SCW
• Publication et filtrage applicatif
• SSL, SSL Termination
• Authentification à l'entrée
2525
Réseau
• DMZ… GRRR!!!– 2 pare-feux, peut-être différents…– Une zone moins protégée??– Dédoublement de l'infrastructure (réseau, authentification, …).– Augmentation de la complexité… Isolation d'une partie de réseau, oui, DMZ… non!
• Pare-feu… GRRR!!! (encore)– J'ai un pare-feu!!
• TCP port 80 : SBP Security Bypassing Protocol• TCP port 443: ESBP Encrypted version
– Outil de performance, IP / Port filtering Filtrage applicatif (http, smtp, rpc, …) Peu de règles et filtrage sortant!
Implique une sécurité physique sur l'accès au réseau!
2626
Réseau: une balle en argent?
• IPSEC!– AH– ESP
Affranchissement partiel de la sécurité physique sur le réseau!
Isolation des machines sensibles voire de toutes les machines gérées!
Natif sur IPV6
2727
Utilisateurs
• Mot de passe / passphrase!– Longueur (>15 caractères)– Durée de vie maximale– Durée de vie minimale– Complexité / enthropie
• Blocage de comptes
• Protocole d'authentification – Stockage hash– Stockage réversible
• Least Privilege + dédoublement "identité"– User pour tâches user– Admin pour tâches admin (exclusivement!)
• Information / Formation
2828
Divers
• PKI • Outils d’inventaire logiciel• File screening• Combinaison Stratégie de restriction logicielles +
least privilege• FileMon, RegMon, …• Stratégies de groupe• Audit échecs et succès!• VPN / quarantaine… en connaissance de cause• Sécurité sur le courrier électronique
2929
Pré-conclusion 3.
• Des outils :
– Passphrase, stratégie de mot de passe et de compte.– IPSEC– Pare-feu applicatif– Comptes d’administration séparés– Réduction surface d'attaque SCW– Mise à jour, antivirus, …– Configurer les utilisateurs… C'est là qu'est l'os…
3030
Layer 8
• Extension du modèle OSI
• Attaque sur la couche 8
• Ingénierie sociale
• Comment?
• Exemples
• Version "virtuelle"
• Et alors?
3131
Extension du modèle OSI
• Couche 8inf: Utilisateur
• Couche 8mid: Politique
• Couche 8sup: Religieuse
1. physical
2. link
3. network
4. transport
5. session
6. presentation
7. application
8. human
3232
Attaque sur la couche 8
• Mesures de protections efficaces sur les réseaux, les systèmes, les applications
• La vulnérabilité se déplace vers le clavier…
• Mauvaise perception de risque:– Sur-estime ce qui n'est pas maitrisé, ce qui est
sensationnel et rendu tel dans les médias– Sous-estime ce qui est banal
Ingénierie sociale
3333
Ingénierie sociale
• Persuader quelqu'un de faire quelque chose
– Manière "douce"…– Pas trop à l'écart de son comportement normal– James Bond le fait tout le temps!... Ma fille de 3 ans
aussi…
• Contourne les mesures de protection
• Exploite la volonté de bien faire son travail et d'aider les autres
• Génère un compromis: demande plausible, génératrice d'ennuis si elle n'est pas satisfaite, …
3434
Comment?
• Transfert de responsabilité– "Je vais m'en occuper pour toi…"
• Bénéfice personnel– "Regarde comme ce serait mieux pour toi…"– "Je t'invite à diner?"
• Morale– "Tu ne trouve pas ça terrible, ce n'est pas normal, tu dois m'aider!"
• Culpabilité– "Quoi, tu ne veux pas m'aider?"
• Identification– " C'est exactement pareil pour moi, j'ai le même problème…"
• Désire d'aider– "S'il te plaiiiiiittttt"
• Coopération– "On est trop fort ensemble, quelle équipe, tu t'occupes de ça et je fais le reste!"
• …
3535
Exemples
• Badge / uniformes
• Ouverture de porte contrôlée
• Transport de matériel
• Téléphone
• Helpdesk!
• Poubelles…
3636
Version "virtuelle"
3737
Et alors?
• Souvent plus simple de "pirater" une personne qu'un système
• Pas de paranoïa, mais une information… un peu de vigilance
3838
Pré-conclusion 4
• Les machines sont de mieux en mieux protégées…et les utilisateurs?
3939
Conclusions
• Quand un truc ne vas plus, regarder si la stratégie de sécurité ne le bloque pas (pare-feu, ipsec, antivirus!)
• Intégration de la sécurité dans la gestion de projet, de développement ou de déploiement, avec une communication forte entre les disciplines (SOA, Role Based)
• Corriger la cause d'un problème plutôt que de lever la mesure de protection…
• La bonne solution n'est que très rarement la meilleure solution
4040
Conclusions
4141
Références
• Rafal Lukawiecki, Strategic Consultant Project Botticelli Ltd www.projectbotticelli.co.uk
• Jesper M. Johansson, Ph.D., Security Solutions Engineer Security Business & Technology Unit Microsoft Corporation. www.microsoft.com/security
• Steve Riley, Security Program Manager Microsoft Corporation . www.microsoft.com/security
• Mark Russinovich, Winternals Software www.sysinternals.com
4242
Questions?
• Réflexions annexes:– Le réchauffement de la planète et la taille de
la banquise– Si Goliath pouvait gagner…
4343
Ressources
• Modélisation STRIDE, Arborescence, DREAD
• Cryptographie, utilisation
• Buffer Overflow
4444
Modélisation: STRIDE
• Spoofing (usurpation d'identité)
• Tampering (falsification de données)
• Repudiation
• Information disclosure (divulgation)
• Denial of Service
• Elevation of Privilege
4545
Modélisation:Arborescence de menace
Obtient le mot de passe d’un utilisateur(I) (S) (E)
1.1 Recherche une connexion avec une authentification de base
UtiliseSSL/TLS
1.2Compromet la banque de données des informations de connexion du serveur
A besoin d’un accès physique au serveur
1.3Un logiciel malveillant lit le mot de passe local de l’utilisateur
1.3.1L’utilisateur « installe » un virus lisant le mot de passe
1.3.2Installe du code malveillant sur l’ordinateur
A besoin d’un accès physique
à la machine
4646
Modélisation: DREAD
• Damage potential (Dommages potentiels)
• Reproductibility (Reproductibilité)
• Exploitability (Exploitabilité)
• Affected Users (Utilisateurs affectés)
• Discoverability (Découvrabilité)
Risque : moyenne (Valeurs /10)
4747
Symmetric Key Cryptography
EncryptionEncryption
““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”
““AxCv;5bmEseTfid3)AxCv;5bmEseTfid3)fGsmWe#4^,sdgfMwifGsmWe#4^,sdgfMwir3:dkJeTsY8R\s@!r3:dkJeTsY8R\s@!q3%”q3%”
““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”
DecryptionDecryption
Plain-text inputPlain-text input Plain-text outputPlain-text outputCipher-textCipher-text
Same keySame key(shared secret)(shared secret)
4848
Public Key Encryption
EncryptionEncryption
““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”
““Py75c%bn&*)9|Py75c%bn&*)9|fDe^bDFaq#xzjFr@gfDe^bDFaq#xzjFr@g5=&nmdFg$5knvMd’r5=&nmdFg$5knvMd’rkvegMs”kvegMs”
““The quick The quick brown fox brown fox jumps over jumps over the lazy the lazy dog”dog”
DecryptionDecryption
Clear-text InputClear-text InputClear-text OutputClear-text Output
Cipher-textCipher-text
DifferentDifferent keys keys
Recipient’s Recipient’s public keypublic key
Recipient’s Recipient’s private keyprivate key
privatprivatee
publicpublic
4949
Hybrid Encryption (Real World)
As above, repeated As above, repeated for other recipientsfor other recipientsor recovery agentsor recovery agents
DigitalDigitalEnvelopeEnvelope
Other recipient’s or Other recipient’s or agent’s agent’s publicpublic key key (in certificate)(in certificate)in recovery policyin recovery policy
Launch keyLaunch keyfor nuclearfor nuclear
missile missile ““RedHeat” RedHeat”
is...is...Symmetric key Symmetric key
encrypted asymmetrically encrypted asymmetrically (e.g., RSA)(e.g., RSA)
Digital Digital EnvelopeEnvelope
User’sUser’spublicpublic key key(in certificate)(in certificate)
RNGRNG
Randomly-Randomly-Generated Generated symmetricsymmetric“session” key “session” key
SymmetricSymmetric encryption encryption(e.g. DES)(e.g. DES)
*#$fjda^j*#$fjda^ju539!3tu539!3t
t389E *&\@t389E *&\@5e%32\^kd5e%32\^kd
5050
*#$fjda^j*#$fjda^ju539!3tu539!3t
t389E *&\@t389E *&\@5e%32\^kd5e%32\^kd
Launch keyLaunch keyfor nuclearfor nuclear
missile missile ““RedHeat” RedHeat”
is...is...
Launch keyLaunch keyfor nuclearfor nuclear
missile missile ““RedHeat” RedHeat”
is...is...
SymmetricSymmetricdecryption decryption (e.g. DES)(e.g. DES)
Digital Digital EnvelopeEnvelope
Asymmetric Asymmetric decryption of decryption of
“session” key (e.g. RSA)“session” key (e.g. RSA)
Symmetric Symmetric “session” key“session” key
Session key must be Session key must be decrypted using the decrypted using the recipient’s recipient’s private private keykey
Digital envelope Digital envelope contains “session” contains “session” key encrypted key encrypted using recipient’s using recipient’s public keypublic key
Recipient’s Recipient’s privateprivate keykey
Hybrid Decryption
5151
Symmetric encryptionDES, IDEA, RC2, RC5
• DES (Data Encryption Standard) is the most popular– Keys very short: 56 bits– Brute-force attack took 3.5 hours on a machine costing
US$1m in 1993. Today it probably is done real-time.– Triple DES (3 DES) not much more secure but may
thwart NSA– Just say no, unless value of data is minimal
• IDEA (International Data Encryption Standard)– Similar to DES, but “not” from NSA– 128 bit keys
• RC2 & RC5 (by R. Rivest)– RC2 is older and RC5 newer (1994) - similar to DES
and IDEA
5252
• Standard replacement for DES for US government, and, probably for all of us as a result…– Winner of the AES (Advanced Encryption Standard) competition
run by NIST (National Institute of Standards and Technology in US) in 1997-2000
– Comes from Europe (Belgium) by Joan Daemen and Vincent Rijmen. “X-files” stories less likely (unlike DES).
• Symmetric block-cipher (128, 192 or 256 bits) with variable keys (128, 192 or 256 bits, too)
• Fast and a lot of good properties, such as good immunity from timing and power (electric) analysis
• Construction deceptively similar to DES (S-boxes, XORs etc.) but really different
Symmetric encryptionRijndael
5353
Symmetric encryptionRC4
• Symmetric– Fast, streaming encryption
• R. Rivest in 1994– Originally secret, but “published” on sci.crypt
• Related to “one-time pad”, theoretically most secure
• But!• It relies on a really good random number
generator– And that is the problem
5454
Asymmetric encryptionRSA, DSA, ElGamal, ECC
– Very slow and computationally expensive – need a computer– Very secure
• Rivest, Shamir, Adleman – 1978– Popular and well researched– Strength in today’s inefficiency to factorise into prime numbers– Some worries about key generation process in some
implementations• DSA (Digital Signature Algorithm) – NSA/NIST thing
– Only for digital signing, not for encryption– Variant of Schnorr and ElGamal sig algorithm
• ElGamal– Relies on complexity of discrete logarithms
• ECC (Elliptic Curve Cryptography)– Really hard maths and topology– Better than RSA, in general and under a mass of research
5555
Hash functionsMD5, SHA
• Hash functions – not encryption at all!• Goals:
– Not reversible: can’t obtain the message from its hash– Hash much shorter than original– Two messages won’t have the same hash
• MD5 (R. Rivest)– 512 bits hashed into 128– Mathematical model still unknown– But it resisted major attacks
• SHA (Secure Hash Algorithm)– US standard based on MD5
5656
What Does Cryptography Solve?
• Confidentiality – Your data/service provides no useful information to unauthorised
people• Integrity
– If anyone tampers with your asset it will be immediately evident• Authenticity
– We can verify that asset is attributable to its authors or caretakers
• Non-repudiation– The author or owner or caretaker of asset cannot deny that they
are associated with it• Identity
– We can verify who is the specific individual entity associated with your asset
5757
Buffer Overflow
Buffers Other vars
EB
P
EIP Args
void func(char *p, int i) { int j = 0; CFoo foo; int (*fp)(int) = &func; char b[128]; strcpy(b,p);}
Function return address
Exception handlersFunction pointersVirtual methods
All determineAll determineexecution flowexecution flow
Bad things happen if *p points to data longer than b