Un petit guide pour la sécurité
Les failles applicatives
Introduction Nous allons aborder dans ce chapitre les failles liées aux applications utilisées. Nous nous focaliserons principalement sur les failles logicielles : les failles applicatives. Ces failles peuvent être de natures diverses : problèmes de configuration, problèmes au niveau du code du logiciel, problèmes liés à de mauvaises interprétations de commandes ou de mauvaises exécutions de scripts.
Les installations
par défaut Lors d’une installation, beaucoup de services peuvent être installés par défaut (un serveur Web, FTP …). Ces services peuvent contenir les différents types de failles introduites auparavant. L’important est de bien contrôler lors de l’installation, les services qui seront installés sur le système. Pour être bien sûr de soi, il est aussi recommandé de scanner la machine pour voir ce qui y tourne. Voir Section 2.1. Même si certains logiciels ne comportent pas de failles connues, ils peuvent quand même donner des informations aux pirates (voir section [FIXIT] ).
Les mauvaises configurations
Lorsqu’une application est mal paramétrée, elle peut laisser l’accès libre à certaines bases de données sensibles (fichiers de mots de passe, d’utilisateurs) ou de permettre d’exécuter des commandes ou des scripts malveillants. Il est important de bien lire le manuel avant d’activer un service (RTFM !) et de bien définir «qui fait quoi». Ce principe est simple : il suffit de bien définir les utilisateurs et les groupes et de limiter leurs droits sur certains types de fichiers et certaines opérations d’exécution de commandes système. Le plus important est de restreindre au maximun les accès à certains fichiers sensibles et aux commandes systèmes.
Les bogues
Les bogues sont dus à des erreurs de programmation. Les bogues font apparaître différents types de problèmes de securité :
Des dénis de services applicatifs
Ce type de faille empêche le logiciel de fonctionner et ainsi de répondre aux requêtes demandées (d’où l’appellation déni de service). La technique est simple, il suffit d’utiliser un bogue connu qui va faire planter le logiciel assurant un service.
Outrepassement de droits
Les bogues de type dépassement de buffer ou d’exploitation de bogues de format posent de gros problèmes de sécurité. Ils visent majoritairement des applications fonctionnant avec les accès administrateur (setuidroot) pour permettre à un attaquant d’obtenir un interpréteur de commande au niveau administrateur (uid root) sans aucune authentification. 8
Les scripts
Malheureusement, une mauvaise programmation de scripts ou l’utilisation de fonctions boguées peut être source de failles de sécurité. Il convient d’être très attentif au niveau du développement d’un script.
Les exploits
Pour exploiter ces bogues, le pirate fait appel à des «exploits». Ces «exploits» sont en fait de petits programmes permettant d’exploiter une faille dans un but précis (obtenir un interpréteur de commandes, accéder à certains fichiers, augmenter ses droits…). Les exploits peuvent aussi fonctionner à distance, pour l’obtention d’un shell (parfois avec les droits administrateur) sans mot de passe, ni nom d’utilisateur..