|
| |
| |

• Cryptographie et Principes de Sécurité
Informatique
1 Principes de sécurité informatique
1.1 Quelques définitions...
Nous vivons dans un contexte hostile. Nous sommes harcelés par les pirates
et les utilisateurs "malicieux". Face a ce constat, notre seule arme est de renforcer la sécuritée.
L'outil qui va nous permettre d'y arriver est la cryptographie.
La cryptographie est l'art de crypter l'information pour la rendre inaccessible aux personnes
non concernées. Il ne faut pas la confondre avec la cryptanalyse, qui est juste le contraire : c'est
l'art de décrypter, ou de casser les protections. Ces deux branches forment la cryptologie. En
gros, on a : cryptologie = fcryptographie, cryptanalyseg
Quand on parle de sécurité informatique, il y a deux aspects à considérer :
• Sécurité physique : Il s'agit du matériel, des personnes l'utilisant... Le matériel est encore
relativement facile à sécuriser. (encore que...) Mais ce qui est très difficile à sécuriser,
ce sont les personnes. Il faut parfois utiliser des formes de pressions psychologiques pour
arriver à ses fins. On parle de prix que vaut telle ou telle personne au point de vue sécurité.
• Sécurité logique : Il s'agit de la sécurisation du logiciel, des données... C'est principalement
cet aspect qui sera abordé dans ce cours.
Une politique de sécurité se base donc sur ces deux aspects, physique et logique.
1.2 Analyse de risques
Il y a trois types de réponses à apporter aux risques :
• Prévention
• Détection
• Réaction
Dans le cadre de ce cours, on se penchera principalement sur la prévention et la détection.
Il existe de nombreux risques :
• confidentialité : il faut garder l'info entre ceux qui y ont droit.
• intégrité : faire en sorte que l'info ne s'altère pas, que ce soit volontaire ou non.
• disponibilité : faire en sorte que les requêtes obtiennent toujours une réponse. Il existe
certaines attaques, comme les Denial Of Service (DoS) qui s'attaquent à la disponibilité
de machines. Un exemple de DoS est le
oading : En envoyant une grosse quantité d'informations
dénuées de sens, la machine est submergée et ne sais plus traîter les nouvelles
requêtes, bonnes ou mauvaises.
• etc...
Le problème de la sécurité est qu'elle a un coût, qui peut parfois être important.
• nouvelles ressources
• travail alourdi ! baisse de productivité
• gestion (mise en oeuvre)
Il faut toujours faire un parallèle entre le coût d'une attaque et le coût de la sécurisation
pour s'en protéger. Il serait absurde que le coût de sécurisation dépasse celui de l'attaque.
Cinq grandes questions sur la sécurité :
1. Que veut-on sécuriser ? Il y a quatre pôles :
• logiciel
• données
• utilisateur
• matériel
2. Quel niveau du système informatique désire-t-on sécuriser ?
• OS
• couche supérieure
• applications
Pour bien faire, il faut tout sécuriser.
3. Quel degré de complexité est acceptable ?
Trop de complexité entraîne davantage de bugs et crée des failles dans le système. De plus,
il réduit la disponibilité et le rend donc plus sensible aux DoS. Pas assez de complexité
peut laisser des failles grandes ouvertes. Pour bien faire, il faut un compromis entre les
deux.
4. La sécurisation devra-t-elle être centralisée ou distribuée ?
5. Quel mécanisme pour se protéger d'un attaquant tantant d'avoir accès à un niveau du
système (cfr question 2) qui est en-decà des mécanismes sécuritaires ?
Pour pouvoir répondre à ces questions, il y a 11 grands principes sécuritaires, à l'usage des
concepteurs et des administrateurs :
1. Un système parfaitement sûr n'existe pas.
2. Un système sûr peut être cher.
3. Minimiser le nombre, l'importance et la complexité de composants dans lesquels il faut
être \aveuglement" confiant.
4. Concevoir les mécanismes sécuritaires les plus simples possibles.
5. Multiplier les niveaux de sécurité.
6. Pas de sécurité pas l'obscurité. Il faut éviter les \boîtes noires", c'est à dire les sytèmes
\réputés sûrs", mais dont personne ne connaît le fonctionnement. Les algorithmes connus
sont les meilleurs.
7. Donner à chaque utilisateur les privilèges justes nécessaires à l'accomplissement d'une
opération autorisée, ni plus, ni moins.
8. simplicité d'usage
9. Etre sceptique et paranoïaque.
10. Définir une politique d'usage.
11. Eduquer les utilisateurs du sytème.
1.3 Identification
Il s'agit du contrôle d'accès ou logging. Cela permet de remonter à la source du problème,
mais pas forcément au reponsable, car celui-ci à peut-être dérobé l'identité avec laquelle il s'est
connecté. Dès lors, il est recommandé de changer tous les passwords après une attaque. C'est
fastidieux, mais indispensable. Il faut changer tous les passwords en même temps, sinon le pirate
pourrait très bien repénétrer dans le réseau par un login/pass non modifié et se réapproprier
tous les nouveaux mots de passe, ce qui rend la modification inopérante. C'est pourquoi, comme
il est très difficile de modifier tous les mots de passe en une fois sans couper la disponibilité des
ressources, on change les mots de passe plusieurs fois pendant une période relativement longue
(2 semaines) après une attaque.
1.3.1 Mécanisme habituel
Login : annonce de l'dentité, parfois appelé identification
Password : preuve de l'identité, parfois appelé authentification
Parfois, cette double procédure est appelée dans son entièreté \authentification" ou pour
brouiller définitivement l'étudiant ahuri \identification". C'est pourtant cette dernière dénomination
qui sera utilisée dans la suite de ce cours.
Les mots de passe posent certains problèmes : Pour être utiles, chaque mot de passe d'un
utilisateur donné doit être diférent pour chaque service qu'il utilise. De plus, ils doivent être
suffisements complexes pour être efficaces et difficiles à retrouver. (minuscules, majuscules,
chiffres, signes de ponctuation...)
1.3.2 Attaques sur les mots de passe
• online :
• password en clair
• fake login
• attaques sociales : Il faut faire attention de ne jamais donner son password à un prétendu
administrateur. Le vrai n'en a jamais besoin.
• online :
• exhaustive (test de tous les passwords sur le fichier des passwords chifrés)
• dictionnaire (idem, en jouant sur les mots)
Remarque : Les passwords ne sont chifrés que dans un seul sens. Il est donc impossible de
les retrouver directement à partir du fichier des passwords.
1.3.3 Défenses
• longueur des passwords minimale
• format minuscules, majuscules, chifres, signes de ponctuation...)
• attaque du dictionnaire faite par l'administrateur, pour contrôler la sécurité des mots de
passe du système.
• mots de passe générés par le système
• expiration
• limite d'essais (par ex. : maximum trois tentatives de connexion)
• affichage d'info (par ex. : essais avortés de connexion)
• salting : ajout d'un nombre à la fin du password pour le chifrement : Ralenti l'attaque
par dictionnaire, parce qu'il faut essayer l'ensemble des combinaisons du dictionnaire pour
chaque utilisateur. Même si un utilisateur a le même password qu'un autre utilisateur déjà
traité, il aura un salt diférent, donc un autre chifrage de son mot de passe. Sans le salting,
il suffit de traîter l'ensemble des combinaisons qu'une seule fois.
• shadowing : Le fichier des passwords n'est pas accessible en lecture.
• trusted path : combinaisons de touches gérées par l'OS permettant d'afficher la réelle
identification. Permet de déjouer les fake logins.
• SKey : changement systématique de mot de passe et identification à partir d'une liste
détenue par l'utilisateur.
1.3.4 Types d'identification
• secret
• possession (par ex. : carte à puce)
• identité physique ! biométrie
• comportement (par ex. : écriture)
• localisation (par ex. : GPS)
L'identification sur l'identité physique ou le comportement est intéressante, mais n'est pas
sûre à 100%, car elle est basée sur des processus probabilistes. Il faut souvent associer ces
techniques à d'autres plus conventionnelles.
1.3.5 Contrôle d'accès
Permet de déterminer \Qui fait quoi ?"
Quelques définitions
• S un ensemble de sujets
• O un ensemble d'objets
• A un ensemble d'opérateurs d'accès (lire, écrire, modifier, append...)
• M une matrice de contrôle d'accès
Une ligne de la matrice M correspond à un utilisateur. Elle lui donne les permissions qu'il
a sur chacun des objets. Elle se nomme en anglais "capabilities".
Une colonne de la matrice M correspond à un objet et s'appelle parfois en aglais "Access Control
List" (ACL). Le moniteur permet à des sujets d'accéder à des objetssur base de la matrice de
contrôle d'accès. C'est à partir de ca qu'on fait des modèles de sécurité.
1.4 Modèles de sécurité
Un modèle de sécurité est un ensemble de règles à respecter pour assurer la sécurité.
1.4.1 Exemple : Le modèle Bell-Lapadula
Il s'agit d'un modèle de confidentialité. C'est un modèle formel, c'est à dire une description
formelle de règles à respecter pour assurer la confidentialité.
Remarque : Le modèle de la défense américaine (donc militaire) est basée sur Bell-Lapadula.
s 2 S (sujets)
o 2 O (objets)
C(s) et C(o) ! niveau de sécurité.
C(s) = Clearance level
C(o) = Classification level
Plus les valeurs augmentent, plus la sécurité augmente.
Propriété simple : Un sujet s peut avoir accès en lecture à un objet o ssi C(o) C(s).
Propriété ? : Un sujet s qui a accès en lecture à un objet o ne peut avoir accès en écriture
à un objet p que ssi C(o) C(p).
Dans le Bell-Lapadula, chaque utilisateur a un niveau de sécurité comportant une limite
supérieure et une limite inférieure. Il pourra lire dans un objet s'il en-dessous du seuil maximum
de sécurite qui lui est alloué. Il pourra même le lire s'il est en-dessous du seuil minimum. Il
ne pourra par contre pas écrire sur cet objet dans ce cas. Pour ce qui est de l'écriture, c'est
l'inverse. L'utilisateur peut écrire à partir du niveau minimum qui lui est attribué. Il peut
dépasser sa limite supérieure, mais à ce moment il ne pourra pas lire cet objet. On ne peut
baisser le niveau d'une information, on ne peut que le relever.
Puisque ce modèle a été concu dans le domaine militaire, il pose un problème au niveau de
la transmission des ordres, car dans ce cas il faut faire passer l'information vers le bas. Dans ce
cas, il est nécessaire de mettre temporairement de côté les règles du modèle. On descend donc
momentanément pour transmettre une information à une personne de confiance.
Ce modèle est une machine à états, ou chaque état se base sur le sujet, l'objet et le niveau
de sécurité de la matrice M. C'est un graphe de sommets d'états.
Un état est sûr si les deux propriétés sont respectées. Si on arrive à prouver que tous les
états sont sûrs, alors on peut considérer que le système est sûr.
Attention ! Il s'agit seulement de la confidentialité. Il peut par exemple ne pas être sûr pour
les problèmes d'intégrité.
Remarque : On a toujours un contrôle d'accès en plus de ce système. On n'a pas accès à
tous les objets situés en dessous de soi en lecture ; il se peut qu'il y ait d'autres restrictions
d'accès qui nous en empêchent.
Problèmes de ce modèle :
1. Il n'est sûr QUE pour la confidentialité.
2. Si on change les droits d'accès, il faut tout reprouver. C'est un modèle statique. M est
est figée.
3. Il existe un covert channel dans ce modèle, c'est à dire un canal de communication caché
qui permet de transférer de l'information vers le bas.
s1 voudrait passer o1 à s2. En se mettant d'accord sur un intervalle de temps, s1 peut
jouer sur la présence ou l'absence d'accès de s2 à un objet p. Suivant ce stratagème, s2
peut reconstruire un information bit à bit, selon l'intervalle de temps fixé.
Remarques :
• Dans ce cas-ci, on distingue \delete" et \write".
• On peut trouver des covert channels partout, même par exemple dans des rapports
légèrement modifiés.
1.4.2 modèle Biba
Traite les problèmes d'intégrité. Soit I le niveau d'intégrité.
Propriété simple : Un sujet s peut modifier un objet o ssi I(s) I(o).
Propriété ? : Un sujet s qui a accès en lecture à un objet o peut avoir accès en écriture à un
objet p ssi I(o) I(p).
C'est à dire que comparé au modèle Bell-Lapadula, la confidentialité et l'intégrité réagissent
de manière totalement opposées.
Remarques : La vérification de modèles de sécurité est exponentielle. Il est donc impossible
de vérifier parfaitement de gros systèmes complexes et donc il vaut mieux s'en méfier.
1.5 Evaluation de la sécurité
Ce sont des méthodes basées sur des critères de :
• évaluation
• certification
• accréditation
Méthodes :
1. Trusted Computer Security Evaluation Criteria (TCSEC), plus connu sous le nom \Orange
Book". C'est un système américain. Le système échelonne la sécurité d'un produit selon
une classification en 7 cotes :
• D (minimal protection) : produit ou système qui ne rencontre aucun des critères de
l'Orange Book
• C1 (discretionary security protection) : un utilisateur peut décider ce qui doit être
contrôlé. Les utilisateurs doivent être identifiés par le système, les utilisateurs sont
séparés en terme de données.
• C2 (controlled access protection) : comme en C1, les utilisateurs sont responsables de
leurs actions avec une granularité de contrôle plus fine. Mise en place d'audit des actions
des utilisateurs sur chacun des objets du système.
• B1 (labelled security protection) : contôle d'accès non à discretion des utilisateurs. Tous
les objets contrôlés et tous les sujets sont assignés à un niveau de sécurité. Tous les
objets ne doivent pas être contrôlés en B1. Chaque objet contrôlé et sujet possède un
label indiquant ce niveau de sécurité. Ce label sera utilisé lors du contrôle d'accès. La
police de contrôle d'accès doit implémenter le modèle de Bell-La Padula.
• B2 (structred protection) : un design de haut niveau (conceptuel) vérifiable doit être
présenté, ainsi qu'un test confirmant que le système ou produit implémente ce design. Le
système ou produit doit être concu en modules indépendants. Une analyse des \covert
channels" doit être réalisé.
• B3 (security domain) : le management du système ou produit doit permettre l'audit et la
récupération des données (\recovery"). Chaque fonctionnalité de sécurité doit pouvoir
être complètement testée. En plus des tests, une argumentation formelle montrant que
le système ou produit respecte le design doit être présenté.
• A1 (verified design) : le design est entièrement vérifié formellement. Il faut :
• un modèle formel du système de protection et la preuve de sa consistance
• une spécification formelle des fonctionnalités de haut niveau du système de protection
• une preuve de la correspondance du modèle et la spécification
• montrer informellement que l'implantation du système de protection est consistant
avec la spécification
• une analyse formelle des \covert channels"
2. Information Technology Security (ITSEC). Créé par la France, l'Allemagne, le Royaume-
Uni et les Pays-Bas. Il se focalise sur des Target of Evaluation (TOE). Chaque TOE est
classé suivant :
Efectiveness Correctness
(quoi ou fonctionnalités) (comment)
# #
F1 ! F10 E1 ! E6
• F1 ! F5 : correspond respectivement aux fonctionnalités décrites dans les classes D !
A1 de l'Orange Book
• F6 : haute intégrité
• F7 : haute disponibilité
• F8 : intégrité des données au cours de communications
• F9 : haute confidentialité
• F10 : réseau avec hautes confidentialité et intégrité
• E0 : assigné aux TOE qui échouent à l'évaluation
• E1 : description informelle du TOE et tests de la correspondance du TOE avec son but
sécuritaire
• E2 : E1 + une description informelle du design doit être fourni.
• E3 : un design détaillé et les codes sources des fonctions sécuritaires doivent être fournis.
C'est le niveau le plus habituel.
• E4 : un modèle formel de la police de sécurité ainsi qu'une analyse igoureuse des
vulnérabilités doit être fourni.
• E5 : établissement des correspondances entre le design détaillé et le code source. L'analyse
des vulnérabilités se base dés lors sur le code source.
• E6 : description formelle de l'architecture sécuritaire et la vérification de la consistance
vis à vis du modèle formel de la police de sécurité doivent être fournis.
Il y a des correspondances entre l'Orange Book et l'ITSEC. L'ITSEC est plus complet,
car il est venu après l'Orange Book et se base sur celui-ci.
• D $ E0
• C1 $ F1 + E2
• C2 $ F2 + E2
• B1 $ F3 + E3
• B2 $ F4 + E4
• B3 $ F5 + E5
• A1 $ F5 + E6
3. Les USA ont voulu encore améliorer avec le Combined Federal Criteria, qui a été abandonné.
4. Le Combined Federal Criteria a cependant servi de base au Common Criteria, réalisé par
les USA, l'EU et le Canada. C'est une norme ISO.
1.6 Sécurité des réseaux
Modèle OSI : Application Modèle TCP : Application
Présentation Transport & Session (TCP)
Session Internet (IP)
Transport Interface
Réseau
Lieu
Physique
On peut sécuriser chacun de ces niveaux. Si on sécurise plutôt le haut de cette liste, c'est
à dire le côté applicatif, on obtient une sécurité très puissante mais très spécifique. Si par
contre on sécurise de préférence le côté hardware, c'est une sécurité plus générale mais moins
paramétrisable. Par ailleurs, le stack TCP-IP peut être modifié pour y intégrer des mécanismes
sécuritaires.
Exemples
1. IPSEC : Modification du stack basée sur IP : ajoute des mécanismes assurant l'intégrité
et la confidentialité :
Application
Transport & Session (TCP)
IPSEC
Interface
L'interface habituelle à IP ! couches supérieures ne changent pas. Il s'agit en fait du
chifrement des headers. Ce système est inclus dans le nouveau stack IPv6.
2. Il existe un programme commercial (couche application) de sécurité très spécifique : SET
(Secure Electronic Transaction). Il est spécialisé pour la sécurisation des transactions
commerciales, mais uniquement pour ca.
3. SSL (Secure Socket Layer) : Créé par Netscape et repris par IETF sous le nom de \Transport
layer security" (TLS). En voici le stack :
Application
SSL
TCP
Internet (IP)
Interface
Ajoute à TCP des mécanismes d'intégrité et de confidentialité, les applications doivent
explicitement faire appel aux mécanismes de sécurité.
Firewalls
Le firewall utilise :
1. le packet filtering : mécanisme qui lit les headers des paquets de données et vérifie
éventuellement :
• l'adresse source
• l'adresse destination
• le protocole utilisé
• le type de connexion
2. un serveur proxy qui :
• intercepte les requêtes provenant du réseau interne et décide s'il la laisse passer ou non
sur base de règles définies
• impersonnalise l'émetteur de la requête vis à vis du monde extérieur (cette opération
est transparente pour l'émetteur)
• réalise le logging
Le serveur proxy peut être précis et peut accepter un protocole mais limiter les opérations
au sein du protocole (par exemple permettre ftp mais empêcher get). Un tel serveur proxy
est nécessaire par application existante.
2 Chifrement
2.1 Chifrement symétrique
Le principe est que deux personnes se partagent une clé secrète qui permet aussi bien de
chifrer que de déchifrer des messages. Rappelons que le chifrement est une branche de la
cryptographie.
Suite en ligne prochainement...
|
| |
|
|
|
| |
- Pour tous les types de documents suivants, nous traitons les mots de passe pour la lecture mais également pour la modification. Pour toutes les versions (sauf indications contraires) et pour toutes les langues.
Vous ne trouvez pas votre type de fichier ? / Vous n’avez pas envie de chercher ? Envoyez-nous votre fichier pour un devis gratuit !
- Nous retrouvons vos mots de passe pour les archives PKZip, WinZip, WinRAR, WinAce, WinARJ.
Extensions : .zip, .rar, .ace, .arj, .gz
Ainsi que pour les documents Microsoft Office (toutes versions) : Word, Excel, Access, Project, Money, PowerPoint, Publisher, Visio, OneNote, Backup, Schedule+, Mail. Nous travaillons également sur Internet Explorer (mot de passe superviseur / Content Advisor password) et sur tous les documents VBA (peu importe le logiciel utilisé, Visual Basic ou autre).
Extensions : .doc, .one, .rnt, .tme, .wrd , .xls, .ade, .adn, .adp, .ldb, .mda, .mdb, .mny, .mpp, .mpt, .mpx, .mpd, .mdb, .odbc, .csv, .pps, .dot, .pub, .vsd, .bkf, .fmt
Les mots de passe des documents Adobe Acrobat ( Acrobat Reader ou autres).
Extension : pdf
Nous retrouvons les mots de passe perdus pour les logiciels de la suite Corel WordPerfect Office et notament WordPerfect, QuattroPro et Paradox.
Extension : .qpw, .wb, .wq, .db, .wp, .wpd
Nous « crackons » les mots de passe de vos documents et fichiers créés avec les applications IBM et Lotus (toutes versions) : Organizer, WordPro, 1-2-3, Approach, Freelance Graphics mais également les mots de passes FTP et proxy de la suite Lotus SmartSuite.
Extension : .scm
Les pass de Intuit Quicken, Quicken Lawyer et QuickBooks.
Extensions : .qdt, .qdb,.qdf,.plf, .blf,.qba,.qbw
Les codes d’accès des fichiers BLB, MUD et ADF créés avec ACT! Contact Management Software.
Extensions : .blb, .mud, .adf
Enfin, en exclusivité, nous retrouvons vos mots de passe Outlook et Outlook Express (créés avec Microsoft Outlook et Microsoft Outlook Express). Nous retrouvons les mots de passe de vos fichiers PST (Personal Storage Files) mais également ceux de vos différents comptes (identités).
Extension : . pst
|
| |
|
|