Programmation sécurisé

Programmation sécurisé

Programmation sécurisée

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 bogues.

Sommaire

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 bogues de format ou autres tels que les dépassements de pile. 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 bogues.

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.

Voir aussi

Liens externes

  • Portail de la sécurité informatique Portail de la sécurité informatique
Ce document provient de « Programmation s%C3%A9curis%C3%A9e ».

Wikimedia Foundation. 2010.

Contenu soumis à la licence CC-BY-SA. Source : Article Programmation sécurisé de Wikipédia en français (auteurs)

Игры ⚽ Поможем написать реферат

Regardez d'autres dictionnaires:

  • Programmation Web — Wikibooks propose un ouvrage abordant ce sujet : Programmation Web …   Wikipédia en Français

  • Programmation web — La programmation web peut prendre différentes formes : de la simple page statique à la page dynamique avec connexion à une base de données. Nous allons tracer ici un bref aperçu de différentes technologies possibles dans la programmation… …   Wikipédia en Français

  • Sécurisé — Sécurité La sécurité est l état d esprit d une personne qui se sent tranquille et confiante. C est le sentiment, bien ou mal fondé, d être à l abri de tout danger et risque; il associe calme, confiance, quiétude, sérénité, tranquillité, assurance …   Wikipédia en Français

  • Langage de programmation Python — Python (langage) Pour les articles homonymes, voir Python. Python …   Wikipédia en Français

  • Langage de programmation Tcl — Tool Command Language Pour les articles homonymes, voir Tcl. Apparu en 1988 …   Wikipédia en Français

  • Programme à fil sécurisé — Un programme à fil sécurisé (thread safe program en anglais) est une portion de code capable de fonctionner correctement et sans risque lors d une exécution simultanée par plusieurs processus légers (exécution multiprocessus, ou multi threads).… …   Wikipédia en Français

  • Développement web — Programmation Web Wikibooks propose un ouvrage abordant ce sujet : Programmation Web …   Wikipédia en Français

  • Java Card — est un environnement d exécution Java destiné aux applications pour Carte à puce. Cette technologie fournit un environnement sécurisé pour les applications qui fonctionnent sur ce support de capacité mémoire et de traitement limitées. De… …   Wikipédia en Français

  • Liste de systèmes de gestion de contenu — Cet article présente une liste de systèmes de gestion de contenu (SGC). Article principal : Système de gestion de contenu. Sommaire 1 Quelques SGC 1.1 SGC ne nécessitant pas de base de données 1.2 Portails …   Wikipédia en Français

  • Parallélisme (informatique) — Pour les articles homonymes, voir parallèle. Blue Gene L cabinet., un des ordinateurs massivement parallèle les plus rapides des années 2000 En informatiqu …   Wikipédia en Français

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”