Sécurité & système d exploitation Jean-Noël Colin jean-noel.colin@fundp.ac.be 1
Agenda Système d exploitation Menaces courantes et contre-mesures Gestion du système d exploitation Surveillance et auditing Conclusion 2
Agenda Système d exploitation Menaces courantes et contre-mesures Gestion du système d exploitation Surveillance et auditing Conclusion 3
Système d exploitation Exemples Famille Unix family Solaris, HP-UX, Linux, FreeBSD... Famille Microsoft Windows Windows 98, 2000, XP, Vista, Windows 7, Server 2003, Server 2008... Apple's OS X (mach-based) Symbian, Android... 4
Système d exploitation Couche d abstraction Interface plus simple Indépendance vis-à-vis du hardware Gestion des ressources Allocation Arbitrage des accès Multiplexage Temps Espace Première ligne de défense ou dernière 5
Système d exploitation Gestion du(des) processeur(s) Partage efficace du(des) processeur(s) entre les applications Gestion de la mémoire Allocation efficace de la mémoire aux applications et à l OS Protection contre les accès illégaux Gestion des appareils périphériques Organisation et gestion des accès Interface d utilisation de haut niveau Protection contre les accès illégaux 6
Système d exploitation Gestion du stockage Organisation et gestion des fichiers et données de manière efficace et fiable Interface avec les applications Réalise un pont entre les applications et les services bas niveaux et le matériel Interface utilisateur Gestion de l interaction avec l utilisateur plus ou moins riche (Windows vs CLI) 7
Système d exploitation Processus = partie dynamique du système Exécute du code lu à partir d un fichier, exécuté à partir de la mémoire Affectation de ressources utilise de la mémoire accède aux fichiers ouvre des connexions réseau accède aux périphériques Exécuté pour le compte d un utilisateur Permissions dérivées de celles de l utilisateur Possibilité d exécuter pour compte d un autre 8
Système d exploitation Les OS courants supportent plusieurs tâches concurrentes plusieurs utilisateurs simultanés plusieurs niveaux d exécution (privilèges) gérés par le matériel géré par l OS (system/user mode) CPU Unité de traitement Partagée entre les processus Round-robin Priorités Statiques ou dynamiques 9
Système d exploitation file d attente unique files d attente multiples 10
Système d exploitation Mémoire Composant physique Sans mécanisme d abstraction programme chargé en mémoire limité par la capacité physique de la mémoire adressage absolu 11
Système d exploitation Première abstraction: l espace d adressage Définit un espace privé et une plage d adresse uniforme Typiquement, débute à l adresse 0 Utilisation de registres de base et de limite 12
Système d exploitation Seconde abstraction: au-delà des limites physiques Problème Processus multiples partage Programmes trop grands pour tenir en mémoire Solutions Swap Mémoire virtuelle - pagination L espace d adressage du processus est divisé en pages La mémoire physique est divisée en cadres Taille des pages = taille des cadres Mémoire partagée et réutilisée par les processus 13
Système d exploitation Pagination 14
Système d exploitation Système de fichiers Mémoire non-volatile Organisation hiérarchique Fichiers et répertoires Permissions Différents systèmes de fichiers, caractérisés par: fonctionnalités Journaling, liens, chiffrement, casse caractères Metadonnées Nom, dates (création, modification), permissions, checksum Allocation de l espace Limites Taille (fichier, nom de fichiers, partition...), nombre d entrées 15
Système d exploitation Périphériques Réseau Impression... Utilisateurs Compte Propriétaire de ressources Membre de groupe(s) Utilisateurs particuliers comptes privilégiés, de service... 16
Système d exploitation 17
Système d exploitation Objectifs de sécurité Confidentialité gestion des permissions et contrôle d accès cryptographie auditing et reporting Intégrité gestion des permissions et contrôle d accès auditing et reporting signature du code vérification de l origine du code exemple Solaris's Signed ELF Objects Microsoft s Sign Tool (XP et plus récent) 18
Système d exploitation Objectifs de sécurité Disponibilité Authenticité Imputabilité Essentiellement, un problème de contrôle d accès 19
Système d exploitation Quels mécanismes de protection peut-on attendre de l OS? mécanismes d authentification mécanismes de contrôle d accès aux ressources qu il gère mécanismes cryptographiques mécanismes d audit firewall systèmes de détection d intrusions logiciels anti-malware vulnerability scanners 20
Agenda Système d exploitation Menaces courantes et contre-mesures Gestion du système d exploitation Surveillance et auditing Conclusion 21
Menaces et contremesures Bombe logique lorsqu une condition se produit effectue une opération potentiellement malveillante Backdoor contourne les contrôles de sécurité Login spoofing Safe key DoS Sature la victime Elévation de privilège 22
Menaces et contremesures http://www.securityfocus.com/brief/897?ref=rss Jan. 30th, 2009 23
Menaces et contremesures Malware de l amateur au criminel Effets chantage keylogger vol d identité machine zombie backdoor Botnet Spam DDoS 24
Menaces et contremesures Cycle de vie de la vulnérabilité (R. Anderson, Security Engineering, Wiley, 2008) découverte rapportée corrigée mais aussi reverse-engineered exploitée Zero-day exploit l attaque se produit dès que la vulnérabilité est connue (0 day), tant qu un correctif n est pas appliqué 25
Menaces et contremesures Cheval de Troie (référence à l Odyssée) 26
Menaces et contremesures Cheval de Troie Programme avec des effets documentés et non-documentés (souvent indésirables) ne nécessite pas un accès à la machine victime exécuté sous couvert d un fichier innocent Exemple: variable PATH incorrecte attention: le processus hérite des privilèges de l utilisateur Virus Programme qui se réplique en insérant des copies de lui-même dans les programmes qu il infecte nécessite une exécution 2 phases Phase d insertion pas nécessairement exécutée à chaque fois Phase d exécution Différentes cibles Boot sector ou exécutable Virus multipartite 27
Menaces et contremesures Virus Mode d exécution Résident vs non-résident Virus chiffré code du virus chiffré inclut la routine de déchiffrement (en clair) Virus polymorphique forme variable, pour éviter les détections Macro virus 28
Menaces et contremesures Ver Programme qui se propage à travers le réseau Internet Worm, 1988 3 méthodes de propagation rsh finger buffer overflow bug dans sendmail une fois installé tente de casser les mots de passe des utilisateurs Conficker (aka Downadup ou Kido) découvert Nov. 2008 2 mars 2009: > 10M infectés $250.000 offerts pour permettre de découvrir les auteurs se propage par des vulnérabilités connues (RPC) et des disques partagés peu ou pas protégés se réplique, modifie la base de registres démarre un serveur http pour distribuer les copies crée un botnet 29
Menaces et contremesures Spyware 4 caractéristiques (Barwinski, 2006) caché collecte des données communique les données collectées résistant aux tentatives de suppression Catégories Marketing Surveillance Constitution botnet Vecteurs de transmission téléchargement infectés barres d outils infectées contrôles ActiveX Effets Browser hijacking publicités dans les boites de dialogue fenêtres popups intempestives 30
Menaces et contremesures Rootkit ensemble de programmes et de fichiers cachés dans l OS Très résistants à la détection modifient le système en profondeur Catégories Hypervisor rootkit (blue pill, Rutkowska, 2006) modifie la séquence de boot pour démarrer un hyperviseur d abord, lance l OS ensuite Kernel rootkit le plus courant caché comme un module de l OS Library rootkit caché dans une librairie (libc par exemple) 31
Menaces et contremesures Rootkit très difficile à détecter Hash des fichiers sensibles Démarrage d un disque externe Monitoring des performances Une fois détecté, que faire? le retirer risqué... est-il bien nettoyé? restauration du système ou ré-installation 32
Menaces et contremesures Combattre le malware Choix d un OS sûr et sécurisation de l OS choisi Vérification de l origine des logiciels Vérification de l intégrité des logiciels Utilisation d un anti-malware éprouvé (+ mises à jour) Backup historisation supports multiples Filtrage des pièces jointes aux emails éviter le contenu actif 33
Menaces et contremesures Combattre le malware Jeu du chat et la souris Base de signatures risque de fausses alertes ou de non-détection Vérification de l intégrité Checksum Analyse comportementale détection des comportements anormaux 34
Agenda Système d exploitation Menaces courantes et contre-mesures Gestion du système d exploitation Surveillance et auditing Conclusion 35
Gestion du système d exploitation Gestion des processus processus hérite des droits d accès de l utilisateur suid bit priorité gestion des ressources allouées resource manager contrôle fin de l allocation CPU, mémoire groupe de processus 36
Gestion du système d exploitation Gestion de la mémoire MMU Memory Management Unit composant matériel traduit les adresses virtuelles en adresses physiques contrôle d accès read/write ou read only read, write, execute protection de la mémoire 37
Gestion du système d exploitation FileSystem & stockage choix du système de fichiers détermination de la taille impact d un volume plein solutions séparer fichiers du système des fichiers des utilisateurs séparer les données statiques des données dynamiques le partionnement reste dépendant de l usage de la machine Permissions moindre privilège au niveau du système de fichiers ro, nosuid, noexec au niveau du fichier/répertoire Quota limites soft/hard 38
Gestion du système d exploitation ISO 27002-12.4 Security of system files 12.4.1 Control of operational software operations by trained and authorized persons, environment segregation, thorough testing, configuration management, version history, rollback strategy, audit log 12.4.2 Protection of system test data 12.4.3 Access control to program source code prevent unintentional software changes build management (source control) 39
Gestion du système d exploitation Sécurité du réseau Filtrage de paquets définition de règles pour le traffic entrant ET sortant, basées sur origine, destination adresse IP, port, protocole TCP Wrappers ports privilégiés services sur liens sécurisés (chiffrés) Exemple: Remote Access Secure Shell (ssh - http://www.openssh.org) alternative aux connexions non-sécurisées (telnet, rlogin, ftp) chiffrement du trafic entre les correspondants Tunneling 40
Gestion du système d exploitation Compartimentalisation environnements isolés meilleure protection des ressources par une couche d abstraction gestion des ressources privilèges restreints gestion locale des utilisateurs Exemple: Zones Solaris Global vs non-global zones Sparse vs whole root zones /usr, /lib, /platform, /sbin montés lo, ro économise l espace disque systèmes de fichiers non-modifiables Shared IP Stack vs Zone-exclusive IP Stack meilleure séparation Chroot, sandboxing 41
Gestion du système d exploitation Gestion des utilisateurs Base du contrôle d accès et d un auditing correct Information du compte identification et authentification date début/expiration validité du mot de passe appartenance aux groupes répertoire de base restrictions d accès géo-temporelles 42
Gestion du système d exploitation ISO 27002-11.5 Operating system access control Objective: prevent unauthorized access to OS Authentication Access log Privilege usage log Alert Time restriction 43
Gestion du système d exploitation ISO 27002-11.5.1 Secure log-on procedures #attempts, password display & transmission, time delay, validation, system info disclosure... ISO 27002-11.5.2 User identification and authentication unique ids for traceability, avoid shared accounts ISO 27002-11.5.3 Password management system quality, change, confirm, password history, expire, store, transmit (11.3.1) ISO 27002-11.5.4 Use of system utilities limited to authorized users, logging, disable unnecessary components ISO 27002-11.5.5 Inactive session time-out ISO 27002-11.5.6 Limitation of connection time Re-authentication, restrict connection periods 44
Gestion du système d exploitation ISO 27002-11.3 User responsibilities Inform and train about responsibilities and procedures 11.3.1 Password use best practices for password selection best practices for password store Best practices for password use No hardcoding Helpdesk procedures 11.3.2 Unattended user equipment lock or terminate session 11.3.3 Clear desk and clear screen policy 45
Gestion du système d exploitation Cycle de vie Installation paramétrage initial partitionnement des disques configuration réseau mots de passe par défaut et politiques uniquement les composants et services nécessaires minimise la maintenance et les risques Maintenance correctifs sauts de version 46
Gestion du système d exploitation Documentation conserver la connaissance reproduire la configuration en cas de problème Procédures pour la gestion pour le support Contrats 47
Gestion du système d exploitation 48
Gestion du système d exploitation Gestion des mises à jour (patches) Objectif: corriger les failles dès que possible N appliquer que les correctifs nécessaires Tester les correctifs avant de les appliquer Paradoxe les systèmes de production sont les derniers à être corrigés, bien qu étant les plus critiques Installation manuelle ou automatique Fenêtre de maintenance Mise à jour majeure (montée de version) Automatique ou ré-installation? 49
Gestion du système d exploitation Protection des données Backup OS + applications Données Fréquence Période de rétention Onsite/Offsite Encryption LOCKSS Ségrégation des environnements Ségrégation des utilisateurs moindre privilège 50
Gestion du système d exploitation OS Hardening fermer tous les accès inutiles supprimer les applications inutiles désactiver les services non-utilisés configurer le firewall installer un anti-malware analyse complète du système contrôler la liste des utilisateurs contrôler les permissions sur les fichiers utiliser des canaux encryptés pour les services réseaux synchronisation de l horloge: NTP 51
Gestion du système d exploitation ISO 27002-12.5 Security in development and support processes maintain security of application system software 12.5.1 Change control procedures test, authorize, plan, document, version control, audit trail 12.5.2 Technical review of applications after operating system changes 12.5.3 Restrictions on changes to software packages avoid modifying vendor-supplied software package 12.5.4 Information leakage scan outbound media, monitoring of personnel and system activities ( legislation/regulation) 12.5.5 Outsourced software development Properly supervised and monitored 52
Agenda Système d exploitation Menaces courantes et contre-mesures Gestion du système d exploitation Surveillance et auditing Conclusion 53
54
Surveillance et auditing Auditing Enregistrement de l activité du système Succès Echec Log files 55
Surveillance et auditing Network security assessment Nmap http://nmap.org/ Nessus http://www.nessus.org/nessus/ Linux Security Auditing Tool http://usat.sourceforge.net/ BART - Basic Auditing and Reporting Tool détection et rapport des modifications au niveau des fichiers, en référence avec une baseline définie 56
Surveillance et auditing ISO 27002-10.10 Monitoring Objective: detect unauthorized activities 10.10.1 Audit logging record activity, exception, events relevant info: source, date, action, target, means... privacy protection! 10.10.2 Monitoring system use risk based Access, usage, exceptions procedures, frequency 10.10.3 Protection of log information prevent tampering and unauthorized access availability of log facility! 57
Surveillance et auditing ISO 27002-10.10 Monitoring 10.10.4 Administrator and operator logs record sysadmin activities 10.10.5 Fault logging fault reporting, logging and handling procedures 10.10.6 Clock synchronization accuracy of audit logs 58
Surveillance et auditing IDS - Intrusion Detection System Problème: détecter des incidents pouvant révéler une intrusion la prévention n est pas suffisante; il faut une surveillance 3 fonctions Collection des données utilisation de sondes/capteurs emplacement des sondes enregistrement des données Analyse des données normalisation et traitement Détection d intrusion détection et alerte 59
Surveillance et auditing Deux approches à l IDS Misuse detection aka Knowledge-based detection ou signature detection basée sur une signature d attaque schéma de l activité système ou du trafic réseau indiquant un comportement suspect base de données de signatures solution la plus répandue détection d anomalies aka behavior-based detection basée sur des techniques statistiques définition d un comportement normal dépassement d un seuil alarme capacité à détecter de nouvelles attaques mais certains nouveaux comportements valides peuvent aussi être interprétés comme des attaques 60
Surveillance et auditing Host based IDS basé sur l analyse des fichiers log Network based IDS basé sur l analyse du trafic réseau Fiabilité de IDS faux positif coûte du temps et la crédibilité faux négatif Limitations souvent, attaques spécifiques aux systèmes ou softwares base de connaissance en perpétuelle évolution trafic chiffré ou fragmenté ressources d analyse importantes 61
Surveillance et auditing Exemple: SNORT (http://www.snort.org/) Signature-based NIDS Multi-platformes Règle Action Pass, alert, log Protocole alert tcp $EXTERNAL_NET Source et destinationany -> $HTTP_SERVERS $HTTP_PORTS (msg:"web- IIS CodeRed v2 IP root.exe and port access"; flow:to_server,established; uricontent:"/root.exe"; nocase; reference:url,www.cert.org/ Metadata (id, rev, msg, reference, type, priority) advisories/ca-2001-19.html; classtype:web-application-attack; sid: Payload (content, nocase, uricontent, offset ) 1256; rev:8;) Non-payload (low-level protocol flags: ttl, ipopts ) Seuil d alert 62
Surveillance et auditing Exemple: OSSEC (http://ossec.net/) Agent-based HIDS Multi-platformes: Windows 2000, XP, 2003, variantes principales de Unix Fonctionnalités Surveillance de logs Contrôle d intégrité des fichiers contenu, propriétaire, droits, hash, fréquence Base des registres Windows Détection de Rootkit (signature-based et anomaly-based) Analyse des logs sur base de règles protocole syslog incl. composants distants support d une large gamme (Cisco PIX par ex.) Décodeur Règles de corrélation fréquence, intervalle 63
Surveillance et auditing OSSEC Support d un mode local ou en réseau 64
Surveillance et auditing Alertes Email, sms stockées dans une db Réponse active blocage firewall suspension d accès mise en quarantaine extensibilité Web Interface 65
Surveillance et auditing Vulnerability assessment Mesure pro-active Outils automatique Assess, patch, verify détection et identification des systèmes détection et identification des services identification et rapport des vulnérabilités Problème de l impact sur la cible d évaluation Vérification des vulnérabilités Buffer overflow, directory traversal, format string attacks, default password Fuite d informations Memory disclosure, network configuration, version information, path disclosure, user enumeration Déni de service 66
Surveillance et auditing Nessus http://www.nessus.org Modèle client/serveur Architecture extensible (plugin) Plus de 25000 plugins disponibles Référence à la CVE et BugTraq Basé sur des politiques choix des tests à effectuer tests génériques vs spécifiques tests intrusif vs non-intrusifs Extensible NASL Nessus Attack Scripting Language Exemple 67
Surveillance et auditing Security Information and Event Management Objectifs: compliance reporting log management threat management Collecte, stockage, analyse, corrélation d événements de sécurité rapportés par les différents composants de l infrastructure 68
Agenda Système d exploitation Menaces courantes et contre-mesures Gestion du système d exploitation Surveillance et auditing Conclusion 69
Conclusion OS = Fondation du SI Logiciel de grande taille et complexe OS = boîte noire utilisé tel quel tâches de configuration uniquement services supportés activation de fonctionnalités File system chiffrés, configuration avancée de sécurité... Correctifs/mises à jour fournis par des tiers modifications locales peuvent rendre le support nul 70
Conclusion Choix de l OS Critère organisationnel Culture Compétences Critère technique Fonctionnalités Intégration avec l existant Support pour les applicatifs/middleware Support disponible Conformer à des configurations supportées Evaluation coût/bénéfice du changement vs status quo 71
Conclusion Installation Configuration OS Hardening Politiques d accès et privilèges Gestion des données Anti-malware Outils complémentaires de gestion Opérations Procédures Monitoring et mécanismes d alerte Maintenance Patches et mises à jour updates de l OS et des autres composants Ré-évaluation régulières des configurations et politiques 72
Conclusion Connaissance du système Documentation Procédures Compétences techniques Formation Opérateurs/sysadmin Utilisateurs 73