Troisième Partie :
Cas Pratiques
I. PRESENTATION DE WINDEV ET MESURES DE SECURITE
1) Présentation de WINDEV
WINDEV est un Atelier de
Génie Logiciel(AGL) qui permet de développer simplement tout type
d'application sous Windows dans les domaines de gestion, de l'industrie, du
médical, etc.
L'environnement de développement intégré
de WINDEV se compose de différents éditeurs :
Un éditeur de projet permettant de visualiser et d'agir
sur le graphe du projet.
Un éditeur d'analyse permettant l'accès à
tout type de base de données (Hyper File, Hyper File Client/serveur,
Oracle, SQL serveur...).
Un éditeur d'IHM avec correcteur d'interface en temps
réel.
Un éditeur de code évolué (avec
l'assistant, vérification du code saisi, coloration syntaxique...)
incluent un puissant débogueur.
Un éditeur de requêtes pour les sélections
dans les fichiers.
Un éditeur d'états.
Un éditeur d'aide permettant de générer
des fichiers d'aide au format CHM.
Un éditeur d'installation.
Un éditeur de dossier technique reprenant
intégralement tous les informations techniques de notre projet.
Ces différents éditeurs seront utilisés
depuis la définition d'une analyse jusqu'à l'installation, en
passant par toutes les phases du développement (création des
fenêtres, des états, des traitements...), sans oublier les
sauvegardes.
Le moteur Hyper File sera utilisé pour les
fichiers de données exemples de l'application.
L'utilisation d'autres moteurs de base de
données est également possible sur le même principe. Nous
l'avons utilisé pour concevoir ce logiciel.
2) Mesures de sécurité
Pourquoi les systèmes sont
vulnérables ?
La sécurité est chère en
terme de coût et difficile à réaliser et les organisations
n'ont pas de budget pour ça.
La sécurité ne peut être sûre
à 100%, elle est même souvent inefficace.
La politique de sécurité est complexe et
basée sur des jugements humains.
Les organisations acceptent de courir des risques et la
sécurité n'est pas une priorité.
De nouvelles technologies (et donc
vulnérabilités) émergent en permanence.
Les systèmes de sécurité sont faits,
gérés et configurés par des hommes et donc des erreurs
peuvent se glisser lors des travaux car l'erreur est humaine.
Il n'existe pas d'infrastructure pour les clefs et autres
éléments de cryptographie
Pourquoi un système ne peut être
sûr à 100% ?
Il est impossible de garantir la
sécurité totale d'un système pour des raisons
suivantes :
Les bugs dans les programmes courants et les systèmes
d'exploitation sont nombreux.
La cryptographie a ses faiblesses : les mots de passe
peuvent être cassés.
Même un système fiable peut être
attaqué par des personnes abusant de leurs droits.
Plus les mécanismes de sécurité sont
stricts, moins ils sont efficaces.
On peut s'attaquer aux systèmes de
sécurité eux-mêmes...
Méthodes utilisées pour les
attaques.
La négligence interne des utilisateurs
vis à vis des droits et autorisation d'accès.
Se faire passer pour ingénieur ou administrateur pour
obtenir des informations comme des mots de passe.
Beaucoup de mots de passe sont vulnérables à une
attaque systématique.
Les clefs de cryptographie trop courtes peuvent être
cassées.
L'attaquant se met à l'écoute sur le
réseau et obtient des informations.
IP spoofing : changer sont adresse IP et passer pour
quelqu'un de confiance.
Injecter du code dans la cible comme des virus ou un cheval de
Troie.
Exploitation des faiblesses des systèmes
d'exploitation, ou des protocoles des applications.
Outils des attaquants
Programmes et scripts de test de
vulnérabilité et d'erreurs de configuration (Satan).
Injection de code pour obtenir l'accès à la
machine de la victime (cheval de Troie).
Echanges de techniques d'attaques par forums et
publications.
Utilisation massive de ressources pour détruire les
clefs par exemple.
Principales technologies de défense
Les attaquants utilisent des outils pour se
rendre anonymes et invisibles sur le réseau.
- Authentification : vérifier la
véracité des utilisateurs du réseau et des documents.
- Cryptographie : pour la confidentialité des
informations et la signature électronique.
- Contrôles d'accès aux ressources
(physiquement aussi).
- Firewalls : filtrage des trames entre le
réseau interne et le réseau externe.
- audit : étude des fichiers de login pour
repérer des anomalies.
- Logiciels anti virus (2/3 des attaques sont des
virus).
- programme de tests des vulnérabilités et
d'erreurs de configuration (Satan).
- Détection d'intrusion : détection des
comportements anormaux d'un utilisateur ou des attaques connues.
Identifier les informations à
protéger
Le serveur contient des informations
sensibles : si personne ne consulte régulièrement ses
informations. Il n'y a aucune raison de les laisser sur le serveur
connecté au réseau... Il ne faut pas tenter le diable, les
informations confidentielles ne resterons sur le réseau qui si c'est
nécessaire !
Une base de données est utilisée par plusieurs
employés mais contient des informations confidentielles. Dans ce cas le
serveur doit garder ces informations il faudra mettre sur le serveur un
sérieux contrôle d'accès pour assurer l'authentification
des utilisateurs qui ont besoin de ces données. Les autres
requêtes seront rejetées, même si elles proviennent des
employés de l'entreprise. Chaque ordinateur ne sera accessible qu'avec
un login et un mot de passe. Le serveur contient des informations
confidentielles : il faut que le serveur soit physiquement
protégé... Rien ne sert de sécurisé le
réseau pour empêcher l'espionnage si quelqu'un peut s'emparer du
disque dur !
Politique de sécurité
Une fois que les informations sensibles sont
repérées, il s'agit de choisir une politique de
sécurité. On fait du café, on s'installe dans la belle
salle de réunion, et on discute... pour se mettre d'accord sur la
politique de sécurité : on choisit ce qui est
autorisé et ce qui est interdit. Les outils mis en place par la suite
respecteront cette politique de sécurité, et devront même
la refléter.
Sensibilisation des utilisateurs
Une politique de sécurité doit se
faire avec les utilisateurs : ils doivent comprendre cette politique et
respecter un certain nombre de règles en relation avec cette politique.
Par exemple, il est évident qu'ils ne doivent communiquer leur login et
mot de passe à personne, pas même leur collègues. De
même, il est bien connu qu'il ne faut pas ouvrir les fichiers
attachés aux e-mail venant de personnes inconnues ou dont le contenu est
suspect.
Des notes d'information devront sensibiliser les utilisateurs.
Ces règles s'appliquent à tous, y compris à
l'administrateur du réseau.
Les virus
Deux tiers des attaques se font par des
virus : chaque poste doit disposer d'un logiciel anti-virus mis à
jour régulièrement !
Les virus se transmettent principalement par disquettes,
clé USB, mais peuvent aussi se faire par mail. Les fichiers les plus
susceptibles d'en contenir sont bien sûr les exécutables (.com,
.exe), mais également tout les documents pouvant contenir des macros
(Microsoft office est un nid à virus ! Méfions-nous surtout
des macros world)...
Sécurité minimum
Tout ceci est le minimum en matière de
sécurité. Ils ne coûtent quasiment rien. On les reprend un
par un :
- authentification des utilisateurs par login et mots de
passe
- suppression de l'information confidentielle de machines
reliées au réseau si elles n'ont pas besoin d'y être
- protection physique des machines contenant des
informations sensibles (locaux fermés à clef.)
- contrôle pour l'accès aux informations
sensibles, avec les login délivrés uniquement pour ceux qui en
ont besoin.
- sensibilisation des utilisateurs aux problèmes
de sécurité.
- installation d'un logiciel anti-virus à jour sur
chaque poste.
- brancher tous les ordinateurs sur des prises
ondulées.
- Installer des parafoudres pour la protection des
appareils pendant la pluie.
Ainsi est garantie la sécurité minimum sur le
plan matériel, logiciel et réseau.
|