Les attaques informatiques : Lutter contre les cyberpirates ou Supprimer en profondeur les virus (image: Bartek Ambrozik)

Comprendre la sécurité informatique et apprendre à sécuriser son informatique

Lorsqu’on évoque la sécurité informatique, la question « Qu’est-ce que la sécurité informatique ? » est régulièrement posée. Avant d’aller lire la définition sur Wikipedia, il peut être utile d’identifier les métiers ou activités que recouvrent ces termes.

Pour des définitions plus institutionnelles, vous pouvez vous reporter aux normes concernées (ISO 2700X, RGS, PCI-DSS, ISO 22301), ou les méthodes EBIOS, MEHARI ou le contenu des certifications (CISSP, ISO 2700X, CISA, CISM, GCIA, GSE, GREM, GXPN, etc.).

5 Grandes familles aux frontières entremêlées

  • Tests d’intrusion / Audits de sécurité
  • Sécurité Systèmes et Réseaux
  • Sécurité Applicative / Lutte anti-malwares / Kernel
  • Gouvernance SSI / CERT
  • Analyses forensics

Afin de fixer les esprits, je donne des exemples de compétences demandées et parfois des outils. Il est évident que chaque mission est différente et que les compétences ou les outils dépendent du mandat qui est confié.

De manière générale, ces métiers réclament au minimum la connaissance des aspects théoriques de la sécurité informatique: architecture, protocoles, cryptographie, authentification, vulnérabilités.

Les familles ne sont pas complètes car il existe des ramifications spécialisées. Par exemple, tout le domaine de la cryptanalyse nécessite des compétences très poussées en mathématiques. Finalement, l’informatique n’est qu’un support de l’activité liée à la sécurité informatique.

Tests d’intrusion & Audits de sécurité informatique

La grande famille des tests d’intrusion consiste à chercher la vulnérabilité d’un système d’information du point de vue d’un attaquant qui voudrait s’infiltrer.

C’est un peu la base de la sécurité informatique.

Les cibles sont : les applications web (injections SQL, XSS/CSRF), les systèmes informatiques classiques (Linux, Aix, Windows), les nomades (Android, iOS, Windows Phone), les systèmes industriels et embarqués, le système d’information en général. Ils sont pratiqués par des accès internes et externes.

Les audits de configurations du système d’information nécessitent le même savoir-faire que des tests d’intrusion. Il s’agit d’audits techniques avec la réalisation de bilans de la sécurité informatique.

Les audits de code peuvent participer à une mission de tests intrusifs ou d’audits techniques. De même, il peut être nécessaire de développer du code spécifique pour démontrer la présence de vulnérabilités ou pour créer un script nécessaire à un audit. Les audits de code sont détaillés dans le paragraphe Sécurité Applicative.

Les compétences demandées sont la connaissance des techniques de tests d’intrusion comme OWASP ou OSSTMM, ainsi que celle des méthodologies d’audit.

Les compétences techniques sont Linux ou Linux embarqué, AIX, Microsoft Windows ou Microsoft Windows embarqué, les systèmes d’exploitation mobiles comme Android, iOS ou Microsoft Windows Phone, les systèmes d’exploitation temps réels, les protocoles réseau classiques (TCP/IP, routage, IPSec, VPN, HTTP, SMTP, LDAP, SSH, etc.), les protocoles IP spécifiques comme ModBus over Ethernet ou non IP comme les Bus CAN. Des connaissances supplémentaires peuvent être requises en électronique, etc.

Les outils les plus fréquents dans les systèmes informatiques classiques sont Wireshark, Nmap, Nexpose, BURP, Metasploit, Nessus et OpenVAS.

Un conseil: Suivez les DEF CON. Si vous n’êtes pas à l’aise avec l’anglais oral, activez les automatic captions de Youtube sur chaque vidéo.

Sécurité Informatique des Systèmes et Réseaux

Il s’agit de la surveillance du réseau et les connexions VPN, l’administration des firewalls, la mise à jour des règles de sécurité, la mise à jour des systèmes et des logiciels avec l’application des patchs de sécurité, la gestion pro-active des annuaires d’utilisateurs, la gestion des accès authentifiés et des droits associés.

L’administrateur assure aussi les sauvegardes et le contrôle des restaurations, le maintien en condition opérationnelle et les plans de continuité d’activité. Un travail permanent de rédaction des mises à jour des procédures d’urgence et de restauration est aussi attendu dans ce métier, ainsi qu’un rôle de support auprès des correspondants informatiques.

Les compétences requises dépendent de l’environnement. Il s’agit souvent de compétence en administration Linux, Microsoft Windows, VMWare, Microsoft Exchange, Microsoft SQL Server, Oracle et réseau.

L’administrateur assure la surveillance proactive des fichiers journaux des équipements de sécurité, des systèmes et des réseaux.

Cette activité d’analyste sécurité SOC nécessite des connaissances sur les réseaux (TCP/IP) ainsi que les activités réseaux liées aux attaques (scans, MITM, sniffing, DDoS) et les outils (Wireshark, Nmap), les systèmes IDS (Snort, Suricata), les techniques Security information and event management (SIEM).

Ce spécialiste doit développer ses propres outils à l’aide de scripts écrits en Python, Perl, PowerShell ou Ruby. Dans ce cas, la pratique des expressions régulières est indispensable.

Sécurité Applicative, Lutte anti-malwares, Kernel

C’est une très grande famille. C’est aussi l’activité la plus importante, dans tous les sens du terme.

Au départ, il s’agit de contrôler le niveau de sécurité des applications par des revues de code ou des audits de code. Les revues de code peuvent cibler des applications web, mobiles (Android, iOS, Windows Phone) ou classiques sur PC et Serveurs. Les tests d’intrusion peuvent aussi s’appuyer sur des vulnérabilités de code.

Ensuite, il est possible de se spécialiser dans l’analyse de code. Le rôle de l’analyste de code est d’analyser et traiter les nouveaux malwares, de créer des signatures et des algorithmes pour détecter puis nettoyer les codes malveillants.

Les connaissances sont relatives au reverse engineering: désassemblage et décompilation des programmes informatiques.

Les langages de programmation à connaître sont les langages d’assemblage (x86, ARM, POWERPC), le C / C++, Python, Perl, Ruby, Java. Selon sa spécialité, il peut aussi être nécessaire de connaître aussi les programmes sémantiques, la programmation fonctionnelle (OCaml) et l’analyse statique.

Une autre spécialité concerne l’analyse des dumps et des crashes avec des outils de debugging comme WinDBG, IDA ou SoftIce.

Il est aussi possible de se focaliser sur un seul système d’exploitation comme Windows par exemple. Les connaissances attendues concernent le fonctionnement du noyau Windows: ntoskrnl.exe, hal.dll, gestion des pilotes, des processus, des threads, de la mémoire, des LPC, des I/O, du cache, de l’ordonnancement sont une bonne base. De même que les connaissances des mécanismes d’interception (callbacks, hooks…), de boot (MBR) et de signatures numériques.

Les profils qui identifient les vulnérabilités 0-Days ont ce type de compétences très pointues.

Gouvernance SSI & CERT

La gouvernance de la sécurité informatique concerne essentiellement le conseil en sécurité des SI. Il s’agit d’un rôle d’analyse de risques et de définition de la politique de sécurité informatique.

Le rôle peut être parfois similaire à celui d’un CERT avec des objectifs de centralisation des demandes d’assistance. Ils réalisent le suivi d’exploitation et de gestion des incidents sur les actions du traitement.

Analyses forensics

L’objectif d’une analyse forensic, ou investigation numérique, est d’apporter une preuve numérique. C’est une activité qui est souvent reliée au monde judiciaire mais pas seulement. Les experts judiciaires en informatique procèdent à des analyses à « froid » ou à « chaud » d’ordinateurs et de smartphones.

Dans le cas d’un ordinateur, l’analyse à froid consiste à faire une copie parfaitement exacte des disques durs. Puis de travailler sur la copie afin de rechercher les informations demandées par votre mandataire.

Une analyse à chaud intervient alors que l’ordinateur est toujours actif.

Outils : Forensics Windows, Forensics IPads IPhones, Forensics Android.

Commentaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *