Question

Je cherche un dossier complet des pratiques de codage sécurisées en C ++. Depuis que je ne l'ai pas trouvé la liste d'un tel existant déjà là, nous pourrions aussi bien faire cela dans un wiki communautaire, pour référence ultérieure. Je suis à la recherche de solutions aux problèmes de sécurité comme pile et tas base Dépassements de tampon et sousverses, entiers et trop-pleins sousverses, les attaques de type chaîne de format, pointeur NULL déréférencement, attaques d'inspection tas / mémoire, etc ..

NB:. Outre les pratiques de codage, les bibliothèques sécurisées qui défendent contre ce genre d'attaques méritent d'être mentionnées aussi

LE: Comme l'a suggéré dans les commentaires MSalters cette question a été divisée en deux questions distinctes pour un C ++ et un pour C. Voir aussi pratiques de codage sécurisé C .

Était-ce utile?

La solution

Le livre Writing Secure Code est très bon pour expliquer les problèmes de sécurité et la façon de les éviter. Le livre a été pendant un certain temps, mais la plupart des sujets abordés sont toujours d'actualité.

Autres conseils

Herb Sutter "Exceptionnel C ++" et "C ++ normes de codage". Inestimable.

Marshall Cline C ++ FAQ . Vous dira tout sur les pièges courants. Gratuit en ligne.

Je trouve ce livre très utile Programmation sécurisée livre de recettes pour C et C ++: Recettes pour Cryptography , authentification, entrée validation & More

Il a beaucoup d'exemples pour Linux (posix) et Windows contrairement à la précédente mentionné Writing Secure code, deuxième édition .

SEI CERT C ++ norme de codage est spécialement conçu pour couvrir toutes sortes de problèmes de sécurité. CERT signifie Computer Emergency Response Team, qui est un groupe d'experts qui gère les incidents de sécurité informatique.

Laissez-moi le coup d'envoi

  • Évitez allouée dynamiquement mémoire en utilisant malloc
  • (liés) utilisation de taille fixe tableau chaque fois que possible, ou enfait évite les tableaux de style C de C lorsque cela est possible
  • éviter l'utilisation de (void *)
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top