cerberhostC’est aujourd’hui que se termine notre série d’articles détaillant les menaces informatiques les plus communes du web (failles et attaques) et comment notre Cloud privée de très haute sécurité, CerberHost, protège les sites contre celles-ci. C’est donc l’occasion de résumer, en un article, toutes ces attaques et leurs solutions.

On peut séparer ces menaces informatiques et les solutions pour s’en protéger, en deux catégories : d’une part les problèmes de configuration, dont les sites sont responsables et qui facilitent grandement le travail des pirates ; et d’autre part les attaques en elles-mêmes qui utilisent notamment ces failles. Pour une protection optimale de votre site, il faut donc coupler une bonne configuration de sécurité avec des outils externes couvrant toutes les éventualités.

Les problèmes de configuration

Problèmes de configuration Solutions de configuration internes au site Protections fournies par CerberHost

Utilisation de composants avec des vulnérabilités connues

Il peut paraître évident de ne pas utiliser des composants dont on sait qu’ils sont vulnérables, mais le cas reste communément observé et peut être causé par de nombreuses situations. Il est également important de noter qu’un site protégé un jour peut ne plus l’être le lendemain et qu’un état de sécurité doit être considéré comme temporaire.

  •  Mise à jour régulière des composants du site (plateformes, plugins)
  •  Préproduction / expertise humaine :
    • Audit intrusif du code source à la recherche de failles
    • Virtual Patching des failles trouvées
  • Expertise humaine :
    • veille R&D des nouvelles failles et mise à jour des composants infrastructurels en conséquence

Mauvais contrôle des accès au niveau fonctionnel 

Un programme web fonctionne sur un mécanisme client-serveur, incluant parfois un webservice. Un mauvais contrôle de l’accès aux fonctions du serveur ou du webservice permet à un pirate de les modifier pour son intérêt personnel.

  •  Mise en place d’un module d’authentification efficace
  • Repos de la sécurité côté serveur, jamais côté navigateur
  • Filtrage par IP et/ou identifiant-mot de passe sur le serveur et les webservices
  • Choix de mots de passe forts
  •  Préproduction / validation des plateformes
    • Vérification des filtrages par IP
    • Vérification de la rigueur des droits sur les composants
  • Site web :
    • NAXSI : blocage des requêtes HTTP malicieuses
    • Politique de mots de passe forts choisis par nos équipes
    • Protocoles chiffrés
  • Réseau :
    • blocage des IP malveillantes et filtrage GEOIP

Mauvaises configurations de sécurité

Cette menace inclut les précédentes, mais couvre un périmètre encore plus large. Les configurations de sécurité sur les composants tiers / réseaux, les comptes utilisateurs ou encore les fichiers, entre autres, restent trop souvent négligées par de nombreux sites.

  • Toutes les solutions énoncées ci-dessus
  • Attention aux pages inutilisées dont la sécurité est souvent négligée
  • Filtrer et limiter les flux entrants et sortants à des IP connues
  • Préproduction / validation des plateformes
    • standardisation des configurations de logiciels
  • Réseau :
    • standardisation du reporting dans les logs

Exposition de données sensibles

C’est le risque majeur, qui peut résulter et est souvent le but de l’exploitation de failles. C’est pourquoi il est vital d’assurer une bonne protection des données en elles-mêmes.

  •  Politique de sécurité claire avec classement de criticité
  • Technique « store only what you need »
  • Chiffrement des données
  • Bon contrôle des accès aux fonctions
  •  Toutes les protections évoquées ci-dessus
  • Réseau :
    • transferts enregistrés permettant de retrouver des informations sur les données dans le cas d’un problème

Bien gérer ses configurations de sécurité et ses données permet donc de doter son site d’une première couche de protection de manière assez simple. Cependant, il ne faut jamais être certain à 100% de la sécurité de son site, et envisager toutes les possibilités ! De nouvelles failles sont découvertes tous les jours, et les types d’attaques pouvant les exploiter sont nombreux.

Les attaques

Avant d’expliquer les plus communes de ces attaques, revenons un instant sur le cas des mots de passe. En effet, nous n’insisterons jamais assez sur l’importance des mots de passe forts. L’utilisation d’un mot de passe faible rend le travail extrêmement simple pour l’attaquant potentiel. En effet, il peut être facilement deviné grâce à la technique bruteforce, qui est utilisée dans de nombreuses attaques.

Attaque Solutions de configuration internes au site Protections fournies par CerberHost

Bruteforce

Cette technique consiste à deviner un mot de passe en testant, de manière automatisée, toutes les solutions possibles jusqu’à tomber sur la bonne.

  • Politique de mots de passe forts
  • Site web :
    • Fail 2 ban anti-bruteforce : cet outil empêche les requêtes répétées et limite le nombre de requêtes/échecs par seconde

Intéressons-nous maintenant aux attaques en elles-mêmes et aux solutions internes et externes pour s’en protéger.

Attaques Solutions de configuration internes au site Protections fournies par CerberHost
 Violation de gestion et d’authentification de session

L’attaquant va tenter d’avoir accès à des sessions privées. Pour cela, il va jouer sur les mots de passe faibles, une association cookie / identifiant de session, ou encore utiliser le timeout de la session.

  •  Mots de passe forts
  • Non affichage des identifiants des sessions dans les URL
  •  Site web :
    • NAXSI : blocage des requêtes HTTP malicieuses
    • Fail 2 ban : anti-bruteforce
    • Politique de mots de passe forts choisis par nos équipes
    • Protocoles chiffrés
    • Double authentification par IP et/ou identifiant-mot de passe
  • Réseau :
    • double authentification par mot de passe + clé
Injections SQL

Cette attaque consiste à injecter du langage (souvent SQL) dans un formulaire web par exemple, afin d’accéder à des sessions, back offices ou encore bases de données. Cela peut prendre la forme d’une formule rentrée à la place d’un mot de passe et trompant l’ordinateur, ce qui donne à l’attaquant l’accès à la session.

  • Préproduction / expertise humaine :
    • Audit intrusif du code source à la recherche de failles correspondantes
    • Virtual Patching des failles trouvées
  • Site web :
    • NAXSI : blocage des requêtes HTTP malicieuses (repérage des termes utilisés dans le langage SQL)
  • Base de données :
    • MySQL Sniffer : analyseur SQL bloquant les requêtes impliquant un renvoi de données trop important, donc douteuses, ou présentant des signes d’exploitation potentielle
 Références Directes Non Sécurisées à un Objet

Sur certains sites, les identifiants de session sont en clair dans l’URL. Si le site a une faille de manque de contrôle des accès aux fonctions, le pirate n’aura qu’à changer l’identifiant pour accéder à un autre compte et à ses informations.

  •  Référencement des comptes avec des identifiants non triviaux (limiter les chances de l’attaquant d’écrire un identifiant existant)
  • Association cookie / session / droits d’utilisateur
  •  Préproduction / expertise humaine :
    • Audit intrusif du code source à la recherche de failles
    • Virtual Patching des failles trouvées
  • Site web :
    • NAXSI : blocage des requêtes HTTP malicieuses
    • Fail 2 ban anti-bruteforce
 Cross-Site Scripting (XSS)

L’attaquant place sur un site du langage (souvent Javascript), qui sera lu et interprété par le navigateur des visiteurs. Ils téléchargeront ainsi sans le savoir un virus, ou se feront voler entre autres leurs accès et données… Les possibilités sont ici multiples.

  • Préproduction / expertise humaine :
    • Audit intrusif du code source à la recherche de failles correspondantes
    • Virtual Patching des failles trouvées
  • Site web :
    • NAXSI : blocage des requêtes HTTP malicieuses
 Falsification de requêtes intersites (CSRF)

Cette attaque affecte les sites dont les fonctionnalités sont connues (open-source par exemple). Le pirate attire sur son site un visiteur connecté en parallèle sur l’application vulnérable ; il envoie par ce biais une requête à cette application, qu’elle interprète comme légitime. Les conséquences vont du changement de mot de passe au vol de données.

  •  Inclusion dans les requêtes d’un paramètre aléatoire (aléa) afin que l’attaquant ne connaisse plus toutes les fonctionnalités à intégrer dans sa requête
  •  Préproduction / expertise humaine :
    • Audit intrusif du code source à la recherche de failles CSRF
    • Virtual Patching des failles trouvées
  Redirections et renvois non validés

L’attaquant va utiliser une redirection présente sur un site pour diriger les visiteurs vers son site illégitime, souvent ressemblant au site attaqué, et donc récupérer des informations sur ces visiteurs, notamment des données.

  •  Limitation du nombre d’URL possibles
  •  Préproduction / expertise humaine :
    • Audit intrusif du code source à la recherche de failles correspondantes
    • Virtual Patching des failles trouvées
 Buffer Overflows

Le pirate va ici utiliser la mémoire de l’ordinateur pour prendre le contrôle d’une machine. En dépassant la mémoire allouée à une fonction d’un programme et en injectant du code, il pourra faire faire ce qu’il souhaite à la machine.

  •  Expertise humaine :
    • Veille R&D des nouvelles failles pour une réactivité maximale
  • Système d’exploitation :
    • Patchs GRSEC/PAX pour Linux introduisant un élément aléatoire augmentant la difficulté de l’attaque
  • Système d’exploitation & pile applicative :
    • profiling des démons pour repérer les comportements inhabituels (ExecVE Killer + patchs GRSEC/PAX)
File uploads

Un pirate envoie une image à un site (par exemple son avatar sur un forum), mais cache un peu de code parmi les données de l’image. Si le site en question est vulnérable, alors cet envoi ne sera pas bloqué, et le pirate pourra faire exécuter le code à distance par le navigateur des visiteurs. Cela lui permettra de voler des données ou même de prendre le contrôle du site.

  •  Ne pas permettre l’envoi de fichiers
  • Interdire l’exécution de code depuis le fichier contenant les données envoyées
  • Vérifier l’extension des fichiers
  • Jouer sur le type MIME des fichiers
  • Renommer les fichiers aléatoirement afin que le pirate ne puisse pas les retrouver facilement
  •  Site web :
    • Réveil d’un démon lors de chaque création de fichier, levant une alerte si ce dernier contient du code et empêchant l’accès au fichier malicieux
    • NAXSI : filtrage interdisant les uploads de fichiers exécutables (type PHP)
  •  Pile applicative :
    • Anti-virus maison détectant les fichiers php malveillants

Le cas des DDoS

Toutes les attaques évoquées ont principalement pour but final le vol de données. Il existe cependant un autre type d’attaque, très observé car très simple à mettre en place, consistant à faire tomber un site : les DDoS.

Attaque Solutions de configuration internes au site Protections fournies par CerberHost

DDoS

Ce type d’attaque consiste à épuiser les ressources d’un site en l’accablant de requêtes illégitimes (de manière automatisée, souvent en utilisant des machines zombie) afin qu’il ne soit plus accessible aux utilisateurs légitimes.

  • Blackholing : mise de l’IP du site en « trou noir » afin qu’elle ne reçoive plus les requêtes. Cependant, le site devient inaccessible.
  • Site web :
    • NAXSI : blocage des requêtes HTTP malicieuses
    • Système de limite du nombre de requêtes par seconde
  • Réseau :
    • outil Arbor Network de mitigation des DoS réseau
  • Système d’exploitation :
    • patchs GRSEC/PAX appliquant des réglages pour éviter l’épuisement des ressources

 

Découvrez CerberHost

video de présentation de CerberHost

CerberHost protège contre 99.9% des failles connues à ce jour, et bien plus.

Pour découvrir CerberHost en images, venez visionner sa vidéo de présentation : ICI

Lucie Saunois
Lucie Saunois
Passionnée d'informatique, en particulier de sécurité, depuis qu'elle a rejoint l'OT Group en 2015, Lucie se spécialise dans la vulgarisation technique pour permettre à tous d'appréhender ces sujets parfois complexes.