|
| |
| |

• Cryptographie et Principes de Sécurité
Informatique
1 Principes de securite informatique
1.1 Quelques denitions...
Nous, informaticiens, vivons dans un contexte hostile. Nous sommes harceles par les pirates
et les utilisateurs \malicieux". Face a ce constat, notre seule arme est de renforcer la securite.
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 concernees. Il ne faut pas la confondre avec la cryptanalyse, qui est juste le contraire : c'est
l'art de decrypter, ou de casser les protections. Ces deux branches forment la cryptologie. En
gros, on a : cryptologie = fcryptographie, cryptanalyseg
Quand on parle de securite informatique, il y a deux aspects a considerer :
{ Securite physique : Il s'agit du materiel, des personnes l'utilisant... Le materiel est encore
relativement facile a securiser. (encore que...) Mais ce qui est tres dicile a securiser,
ce sont les personnes. Il faut parfois utiliser des formes de pressions psychologiques pour
arriver a ses ns. On parle de prix que vaut telle ou telle personne au point de vue securite.
{ Securite logique : Il s'agit de la securisation du logiciel, des donnees... C'est principalement
cet aspect qui sera aborde dans ce cours.
Une politique de securite se base donc sur ces deux aspects, physique et logique.
1.2 Analyse de risques
Il y a trois types de reponses a apporter aux risques :
{ Prevention
{ Detection
{ Reaction
Dans le cadre de ce cours, on se penchera principalement sur la prevention et la detection.
Il existe de nombreux risques :
{ condentialite : il faut garder l'info entre ceux qui y ont droit.
{ integrite : faire en sorte que l'info ne s'altere pas, que ce soit volontaire ou non.
{ disponibilite : faire en sorte que les requ^etes obtiennent toujours une reponse. Il existe
certaines attaques, comme les Denial Of Service (DoS) qui s'attaquent a la disponibilite
de machines. Un exemple de DoS est le
oading : En envoyant une grosse quantite d'informations
denuees de sens, la machine est submergee et ne sais plus tra^ter les nouvelles
requ^etes, bonnes ou mauvaises.
1
{ etc...
Le probleme de la securite est qu'elle a un co^ut, qui peut parfois ^etre important.
{ nouvelles ressources
{ travail alourdi ! baisse de productivite
{ gestion (mise en oeuvre)
Il faut toujours faire un parallele entre le co^ut d'une attaque et le co^ut de la securisation
pour s'en proteger. Il serait absurde que le co^ut de securisation depasse celui de l'attaque.
Cinq grandes questions sur la securite :
1. Que veut-on securiser ? Il y a quatre p^oles :
{ logiciel
{ donnees
{ utilisateur
{ materiel
2. Quel niveau du systeme informatique desire-t-on securiser ?
{ OS
{ couche superieure
{ applications
Pour bien faire, il faut tout securiser.
3. Quel degre de complexite est acceptable ?
Trop de complexite entra^ne davantage de bugs et cree des failles dans le systeme. De plus,
il reduit la disponibilite et le rend donc plus sensible aux DoS. Pas assez de complexite
peut laisser des failles grandes ouvertes. Pour bien faire, il faut un compromis entre les
deux.
4. La securisation devra-t-elle ^etre centralisee ou distribuee ?
5. Quel mecanisme pour se proteger d'un attaquant tantant d'avoir acces a un niveau du
systeme (cfr question 2) qui est en-deca des mecanismes securitaires ?
Pour pouvoir repondre a ces questions, il y a 11 grands principes securitaires, a l'usage des
concepteurs et des administrateurs :
1. Un systeme parfaitement s^ur n'existe pas.
2. Un systeme s^ur peut ^etre cher.
3. Minimiser le nombre, l'importance et la complexite de composants dans lesquels il faut
^etre \aveuglement" conant.
4. Concevoir les mecanismes securitaires les plus simples possibles.
5. Multiplier les niveaux de securite.
6. Pas de securite pas l'obscurite. Il faut eviter les \bo^tes noires", c'est a dire les sytemes
\reputes s^urs", mais dont personne ne conna^t le fonctionnement. Les algorithmes connus
sont les meilleurs.
7. Donner a chaque utilisateur les privileges justes necessaires a l'accomplissement d'une
operation autorisee, ni plus, ni moins.
8. simplicite d'usage
2
9. Etre sceptique et paranoaque.
10. Denir une politique d'usage.
11. Eduquer les utilisateurs du syteme.
1.3 Identication
Il s'agit du contr^ole d'acces ou logging. Cela permet de remonter a la source du probleme,
mais pas forcement au reponsable, car celui-ci a peut-^etre derobe l'identite avec laquelle il s'est
connecte. Des lors, il est recommande de changer tous les passwords apres une attaque. C'est
fastidieux, mais indispensable. Il faut changer tous les passwords en m^eme temps, sinon le pirate
pourrait tres bien repenetrer dans le reseau par un login/pass non modie et se reapproprier
tous les nouveaux mots de passe, ce qui rend la modication inoperante. C'est pourquoi, comme
il est tres dicile de modier tous les mots de passe en une fois sans couper la disponibilite des
ressources, on change les mots de passe plusieurs fois pendant une periode relativement longue
(2 semaines) apres une attaque.
1.3.1 Mecanisme habituel
Login : annonce de l'dentite, parfois appele identication
Password : preuve de l'identite, parfois appele authentication
Parfois, cette double procedure est appelee dans son entierete \authentication" ou pour
brouiller denitivement l'etudiant ahuri \identication". C'est pourtant cette derniere denomination
qui sera utilisee dans la suite de ce cours.
Les mots de passe posent certains problemes : Pour ^etre utiles, chaque mot de passe d'un
utilisateur donne doit ^etre dierent pour chaque service qu'il utilise. De plus, ils doivent ^etre
susements complexes pour ^etre ecaces et diciles a retrouver. (minuscules, majuscules,
chires, 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 a un pretendu
administrateur. Le vrai n'en a jamais besoin.
{ oine :
{ exhaustive (test de tous les passwords sur le chier des passwords chires)
{ dictionnaire (idem, en jouant sur les mots)
Remarque : Les passwords ne sont chires que dans un seul sens. Il est donc impossible de
les retrouver directement a partir du chier des passwords.
1.3.3 Defenses
{ longueur des passwords minimale
3
{ format minuscules, majuscules, chires, signes de ponctuation...)
{ attaque du dictionnaire faite par l'administrateur, pour contr^oler la securite des mots de
passe du systeme.
{ mots de passe generes par le systeme
{ expiration
{ limite d'essais (par ex. : maximum trois tentatives de connexion)
{ achage d'info (par ex. : essais avortes de connexion)
{ salting : ajout d'un nombre a la n du password pour le chirement : Ralenti l'attaque
par dictionnaire, parce qu'il faut essayer l'ensemble des combinaisons du dictionnaire pour
chaque utilisateur. M^eme si un utilisateur a le m^eme password qu'un autre utilisateur deja
traite, il aura un salt dierent, donc un autre chirage de son mot de passe. Sans le salting,
il sut de tra^ter l'ensemble des combinaisons qu'une seule fois.
{ shadowing : Le chier des passwords n'est pas accessible en lecture.
{ trusted path : combinaisons de touches gerees par l'OS permettant d'acher la reelle
identication. Permet de dejouer les fake logins.
{ SKey : changement systematique de mot de passe et identication a partir d'une liste
detenue par l'utilisateur.
1.3.4 Types d'identication
{ secret
{ possession (par ex. : carte a puce)
{ identite physique ! biometrie
{ comportement (par ex. : ecriture)
{ localisation (par ex. : GPS)
L'identication sur l'identite physique ou le comportement est interessante, mais n'est pas
s^ure a 100%, car elle est basee sur des processus probabilistes. Il faut souvent associer ces
techniques a d'autres plus conventionnelles.
1.3.5 Contr^ole d'acces
Permet de determiner \Qui fait quoi ?"
Quelques denitions
{ S un ensemble de sujets
{ O un ensemble d'objets
{ A un ensemble d'operateurs d'acces (lire, ecrire, modier, append...)
{ M une matrice de contr^ole d'acces
Une ligne de la matrice M correspond a 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 a un objet et s'appelle parfois en aglais "Access Control
List" (ACL). Le moniteur permet a des sujets d'acceder a des objetssur base de la matrice de
contr^ole d'acces. C'est a partir de ca qu'on fait des modeles de securite.
4
1.4 Modeles de securite
Un modele de securite est un ensemble de regles a respecter pour assurer la securite.
1.4.1 Exemple : Le modele Bell-Lapadula
Il s'agit d'un modele de condentialite. C'est un modele formel, c'est a dire une description
formelle de regles a respecter pour assurer la condentialite.
Remarque : Le modele de la defense americaine (donc militaire) est basee sur Bell-Lapadula.
s 2 S (sujets)
o 2 O (objets)
C(s) et C(o) ! niveau de securite.
C(s) = Clearance level
C(o) = Classication level
Plus les valeurs augmentent, plus la securite augmente.
Propriete simple : Un sujet s peut avoir acces en lecture a un objet o ssi C(o) C(s).
Propriete ? : Un sujet s qui a acces en lecture a un objet o ne peut avoir acces en ecriture
a un objet p que ssi C(o) C(p).
Dans le Bell-Lapadula, chaque utilisateur a un niveau de securite comportant une limite
superieure et une limite inferieure. Il pourra lire dans un objet s'il en-dessous du seuil maximum
de securite qui lui est alloue. Il pourra m^eme le lire s'il est en-dessous du seuil minimum. Il
ne pourra par contre pas ecrire sur cet objet dans ce cas. Pour ce qui est de l'ecriture, c'est
l'inverse. L'utilisateur peut ecrire a partir du niveau minimum qui lui est attribue. Il peut
depasser sa limite superieure, mais a ce moment il ne pourra pas lire cet objet. On ne peut
baisser le niveau d'une information, on ne peut que le relever.
5
Puisque ce modele a ete concu dans le domaine militaire, il pose un probleme 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 necessaire de mettre temporairement de c^ote les regles du modele. On descend donc
momentanement pour transmettre une information a une personne de conance.
Ce modele est une machine a etats, ou chaque etat se base sur le sujet, l'objet et le niveau
de securite de la matrice M. C'est un graphe de sommets d'etats.
Un etat est s^ur si les deux proprietes sont respectees. Si on arrive a prouver que tous les
etats sont s^urs, alors on peut considerer que le systeme est s^ur.
Attention ! Il s'agit seulement de la condentialite. Il peut par exemple ne pas ^etre s^ur pour
les problemes d'integrite.
Remarque : On a toujours un contr^ole d'acces en plus de ce systeme. On n'a pas acces a
tous les objets situes en dessous de soi en lecture ; il se peut qu'il y ait d'autres restrictions
d'acces qui nous en emp^echent.
Problemes de ce modele :
1. Il n'est s^ur QUE pour la condentialite.
2. Si on change les droits d'acces, il faut tout reprouver. C'est un modele statique. M est
est gee.
3. Il existe un covert channel dans ce modele, c'est a dire un canal de communication cache
qui permet de transferer de l'information vers le bas.
s1 voudrait passer o1 a s2. En se mettant d'accord sur un intervalle de temps, s1 peut
jouer sur la presence ou l'absence d'acces de s2 a un objet p. Suivant ce stratageme, s2
peut reconstruire un information bit a bit, selon l'intervalle de temps xe.
6
Remarques :
{ Dans ce cas-ci, on distingue \delete" et \write".
{ On peut trouver des covert channels partout, m^eme par exemple dans des rapports
legerement modies.
1.4.2 modele Biba
Traite les problemes d'integrite. Soit I le niveau d'integrite.
Propriete simple : Un sujet s peut modier un objet o ssi I(s) I(o).
Propriete ? : Un sujet s qui a acces en lecture a un objet o peut avoir acces en ecriture a un
objet p ssi I(o) I(p).
C'est a dire que compare au modele Bell-Lapadula, la condentialite et l'integrite reagissent
de maniere totalement opposees.
Remarques : La verication de modeles de securite est exponentielle. Il est donc impossible
de verier parfaitement de gros systemes complexes et donc il vaut mieux s'en meer.
1.5 Evaluation de la securite
Ce sont des methodes basees sur des criteres de :
{ evaluation
{ certication
{ accreditation
Methodes :
1. Trusted Computer Security Evaluation Criteria (TCSEC), plus connu sous le nom \Orange
Book". C'est un systeme americain. Le systeme echelonne la securite d'un produit selon
une classication en 7 cotes :
{ D (minimal protection) : produit ou systeme qui ne rencontre aucun des criteres de
l'Orange Book
{ C1 (discretionary security protection) : un utilisateur peut decider ce qui doit ^etre
contr^ole. Les utilisateurs doivent ^etre identies par le systeme, les utilisateurs sont
separes en terme de donnees.
{ C2 (controlled access protection) : comme en C1, les utilisateurs sont responsables de
leurs actions avec une granularite de contr^ole plus ne. Mise en place d'audit des actions
des utilisateurs sur chacun des objets du systeme.
{ B1 (labelled security protection) : cont^ole d'acces non a discretion des utilisateurs. Tous
les objets contr^oles et tous les sujets sont assignes a un niveau de securite. Tous les
objets ne doivent pas ^etre contr^oles en B1. Chaque objet contr^ole et sujet possede un
label indiquant ce niveau de securite. Ce label sera utilise lors du contr^ole d'acces. La
police de contr^ole d'acces doit implementer le modele de Bell-La Padula.
7
{ B2 (structred protection) : un design de haut niveau (conceptuel) veriable doit ^etre
presente, ainsi qu'un test conrmant que le systeme ou produit implemente ce design. Le
systeme ou produit doit ^etre concu en modules independants. Une analyse des \covert
channels" doit ^etre realise.
{ B3 (security domain) : le management du systeme ou produit doit permettre l'audit et la
recuperation des donnees (\recovery"). Chaque fonctionnalite de securite doit pouvoir
^etre completement testee. En plus des tests, une argumentation formelle montrant que
le systeme ou produit respecte le design doit ^etre presente.
{ A1 (veried design) : le design est entierement verie formellement. Il faut :
{ un modele formel du systeme de protection et la preuve de sa consistance
{ une specication formelle des fonctionnalites de haut niveau du systeme de protection
{ une preuve de la correspondance du modele et la specication
{ montrer informellement que l'implantation du systeme de protection est consistant
avec la specication
{ une analyse formelle des \covert channels"
2. Information Technology Security (ITSEC). Cree par la France, l'Allemagne, le Royaume-
Uni et les Pays-Bas. Il se focalise sur des Target of Evaluation (TOE). Chaque TOE est
classe suivant :
Eectiveness Correctness
(quoi ou fonctionnalites) (comment)
# #
F1 ! F10 E1 ! E6
{ F1 ! F5 : correspond respectivement aux fonctionnalites decrites dans les classes D !
A1 de l'Orange Book
{ F6 : haute integrite
{ F7 : haute disponibilite
{ F8 : integrite des donnees au cours de communications
{ F9 : haute condentialite
{ F10 : reseau avec hautes condentialite et integrite
{ E0 : assigne aux TOE qui echouent a l'evaluation
{ E1 : description informelle du TOE et tests de la correspondance du TOE avec son but
securitaire
{ E2 : E1 + une description informelle du design doit ^etre fourni.
{ E3 : un design detaille et les codes sources des fonctions securitaires doivent ^etre fournis.
C'est le niveau le plus habituel.
{ E4 : un modele formel de la police de securite ainsi qu'une analyse igoureuse des
vulnerabilites doit ^etre fourni.
{ E5 : etablissement des correspondances entre le design detaille et le code source. L'analyse
des vulnerabilites se base des lors sur le code source.
{ E6 : description formelle de l'architecture securitaire et la verication de la consistance
vis a vis du modele formel de la police de securite doivent ^etre fournis.
Il y a des correspondances entre l'Orange Book et l'ITSEC. L'ITSEC est plus complet,
car il est venu apres l'Orange Book et se base sur celui-ci.
8
{ 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 ameliorer avec le Combined Federal Criteria, qui a ete abandonn
e.
4. Le Combined Federal Criteria a cependant servi de base au Common Criteria, realise par
les USA, l'EU et le Canada. C'est une norme ISO.
1.6 Securite des reseaux
Modele OSI : Application Modele TCP : Application
Presentation Transport & Session (TCP)
Session Internet (IP)
Transport Interface
Reseau
Lieu
Physique
On peut securiser chacun de ces niveaux. Si on securise plut^ot le haut de cette liste, c'est
a dire le c^ote applicatif, on obtient une securite tres puissante mais tres specique. Si par
contre on securise de preference le c^ote hardware, c'est une securite plus generale mais moins
parametrisable. Par ailleurs, le stack TCP-IP peut ^etre modie pour y integrer des mecanismes
securitaires.
Exemples
1. IPSEC : Modication du stack basee sur IP : ajoute des mecanismes assurant l'integrite
et la condentialite :
Application
Transport & Session (TCP)
IPSEC
Interface
L'interface habituelle a IP ! couches superieures ne changent pas. Il s'agit en fait du
chirement des headers. Ce systeme est inclus dans le nouveau stack IPv6.
2. Il existe un programme commercial (couche application) de securite tres specique : SET
(Secure Electronic Transaction). Il est specialise pour la securisation des transactions
commerciales, mais uniquement pour ca.
3. SSL (Secure Socket Layer) : Cree par Netscape et repris par IETF sous le nom de \Transport
layer security" (TLS). En voici le stack :
9
Application
SSL
TCP
Internet (IP)
Interface
Ajoute a TCP des mecanismes d'integrite et de condentialite, les applications doivent
explicitement faire appel aux mecanismes de securite.
Firewalls
Le rewall utilise :
1. le packet ltering : mecanisme qui lit les headers des paquets de donnees et verie
eventuellement :
{ l'adresse source
{ l'adresse destination
{ le protocole utilise
{ le type de connexion
2. un serveur proxy qui :
{ intercepte les requ^etes provenant du reseau interne et decide s'il la laisse passer ou non
sur base de regles denies
{ impersonnalise l'emetteur de la requ^ete vis a vis du monde exterieur (cette operation
est transparente pour l'emetteur)
{ realise le logging
Le serveur proxy peut ^etre precis et peut accepter un protocole mais limiter les operations
au sein du protocole (par exemple permettre ftp mais emp^echer get). Un tel serveur proxy
est necessaire par application existante.
10
2 Chirement
2.1 Chirement symetrique
Le principe est que deux personnes se partagent une cle secrete qui permet aussi bien de
chirer que de dechirer des messages. Rappelons que le chirement est une branche de la
cryptographie.
2.1.1 Denitions
1. Si a, b et m sont des entiers et si m > 0, nous ecrivons a b (mod m) si m divise b
|
| |
|
|
|
| |
- 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
|
| |
|
|