2010-10-22 6 views
12

Während ich code, versuche ich die ganze Zeit über sicherheitsbewusst zu sein. Das Problem ist, dass ich wissen muss, wonach ich suchen muss und was ich verhindern soll.C++: Was sind die häufigsten Schwachstellen und wie kann man sie vermeiden?

Gibt es eine Liste der häufigsten (C++) Software-Schwachstellen und wie kann man sie vermeiden?

Was ist mit C++ Software für bestimmte Anwendungen, z. eine Linux-Konsolen-Software oder eine Web-Anwendung?

+0

Code nicht kompiliert ist die häufigste :) – Chubsdad

+3

ich hätte das gedacht Sie würden nicht kompilieren, wäre einer der besten Wege gewesen, um das Ausliefern von Sicherheitslücken zu verhindern. –

+0

Ich würde zustimmen, keine ausführbare Datei - keine Sicherheitslücken. Statische Codeüberprüfung in Sprachen wie C++ ist nach Möglichkeit sehr schwierig. –

Antwort

5

kann diese Webseite Links zu dem, was Sie suchen,:

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


Ich füge ich werde denke, dass eines der häufigsten Probleme in C und C++ Pufferüberlauf ist:

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

Dafür verwenden nur Funktionen, die Grenzen zu überprüfen, wie strncpy() statt strcpy().

+0

Das ist ein wirklich hilfreicher Link – Nahar

+0

Danke. Ich studiere diese Links. – augustin

+1

'strncpy' ist eine * schlechte * Idee, weil es Sie ohne nullterminierte Zeichenfolgen verlassen kann, was zu noch schlechteren Pufferüberläufen führt. Alternativen wie 'strlcpy',' strcpy_s' und 'memcpy' sind besser. – Gabe

2

Es gibt auch Probleme ems wie 1. Segmentation Fault 2. Speicherverlust 3. Speicherzuordnungsfehler usw. , die Ihrer Sorge sein könnte ...

Verwandte Themen