2010-10-22 7 views
12

Comme je code, j'essaie d'être conscient de la sécurité tout le temps. Le problème est que j'ai besoin de savoir quoi chercher et quoi prévenir.C++: quelles sont les vulnérabilités les plus courantes et comment les éviter?

Y at-il une liste des vulnérabilités les plus courantes (C++) et comment les éviter?

Qu'en est-il du logiciel C++ pour des utilisations spécifiques, par ex. un logiciel de console Linux ou une application web?

+0

Code-t-on :) – Chubsdad

+3

compile pas est la plus commune que j'aurais pensé le code qui ne compile pas aurait été l'un des meilleurs moyens d'éviter l'envoi de vulnérabilités. –

+0

Je suis d'accord, pas d'exécutable - pas de trous de sécurité. La vérification statique du code dans des langages comme C++ est très difficile, si possible. –

Répondre

5

Ce site peut avoir des liens avec ce que vous recherchez:

http://www.deitel.com/ResourceCenters/Programming/C/CSecurity/tabid/1549/Default.aspx


Je suppose que je vais ajouter que l'un des problèmes les plus courants en C et C++ est dépassement de mémoire tampon:

http://en.wikipedia.org/wiki/Buffer_overflow#Use_of_safe_libraries

Pour cela, utiliser uniquement les fonctions qui vérifient les frontières, comme strncpy() au lieu de strcpy().

+0

C'est un lien vraiment utile – Nahar

+0

Merci. J'étudie ces liens. – augustin

+1

'strncpy' est une idée * mauvaise * car elle peut vous laisser sans chaînes terminées par zéro, ce qui entraîne des débordements de buffer encore plus mauvais. Des alternatives comme 'strlcpy',' strcpy_s' et 'memcpy' sont préférables. – Gabe

2

Il y a aussi probl ems tels que 1. Segmentation Fault 2. Fuite de mémoire 3. erreurs d'allocation de mémoire, etc qui pourraient être de vos préoccupations ...

Questions connexes