Programmation sécurisée - Définition

Source: Wikipédia sous licence CC-BY-SA 3.0.
La liste des auteurs est disponible ici.

La programmation sécurisée consiste à prendre en compte la sécurité informatique à tous les moments de la conception, de la réalisation et de l'utilisation d'un programme informatique. Cela permet d'éviter au maximum les trous de sécurité et autres bugs.

Conception

Lors de la conception, il s'agit par exemple de concevoir le programme de façon modulaire et nécessitant le moins de droits utilisateurs possible. Il est préférable d'avoir plusieurs programmes de taille réduite voir de petite taille qui collaborent entre eux, qu'un gros programme monolithique.

On peut par exemple opposer la conception des serveurs DNS Bind et djbdns. Bind est conçu de manière monolithique alors que djbdns est constitué de plusieurs programmes différents intéragissants entre eux.

Réalisation

Ensuite, lors de la réalisation, il faut penser à bien valider les données entrées par l'utilisateur pour éviter toutes les attaques du type débordement de buffer (buffer overflow), les injections SQL, l'exploitation de mauvaises utilisations des chaînes de formatage (format string attacks), les dépassements d'entiers (integer overflow), etc. L'idée générale et la plus importante est de ne jamais faire confiance à l'utilisateur. Ne jamais faire des hypothèses sur les entrées sans les vérifier soi-même (par exemple taille de l'entrée, signe du nombre,...).

Il faut de plus réaliser le programme dans un langage approprié. En effet, certains langages sont moins sujets que d'autres aux différents bugs de formats et autres buffer overflow. De plus ces langages disposant de bibliothèques de fonctions de bases, l'utilisateur n'a donc pas besoin de réécrire les siennes où il risquerait d'introduire des bugs.

Exécution

Enfin lors de l'exécution, il faut penser par exemple à appliquer les différentes mise à jour de sécurité lorsqu'elles sortent. Pour ce faire, il peut être pratique de la part du concepteur de l'application de proposer un système de mise à jour simplifié de l'application.

Il faut aussi faire le plus possible pour que la configuration soit facilitée et que la configuration par défaut soit la plus sécurisée possible. En effet, la plupart des utilisateurs conservent les réglages par défaut.

Page générée en 0.029 seconde(s) - site hébergé chez Contabo
Ce site fait l'objet d'une déclaration à la CNIL sous le numéro de dossier 1037632
A propos - Informations légales | Partenaire: HD-Numérique
Version anglaise | Version allemande | Version espagnole | Version portugaise