Domanda

Cerco un rapporto completo di pratiche di codifica sicure in C ++. Dal momento che non ho trovato qui esistente tale lista un già che potremmo anche fare questo in un wiki comunità, per ulteriore riferimento. Sto cercando soluzioni ai problemi di sicurezza come stack e heap overflow del buffer basati e underflow, integer overflow e underflow, attacchi format string, puntatore nullo dereferenziazione, mucchio / attacchi di controllo di memoria, etc ..

NB:. Oltre a pratiche di codifica, biblioteche sicuri che difendono contro questo tipo di attacchi sono degni di nota anche

LE: Come suggerito da MSalters nei commenti a questa domanda è stata divisa in due questioni separate una per C ++ e una per C. Vedere anche C sicuro pratiche di codifica .

È stato utile?

Soluzione

Il libro Scrittura Secure Code è molto bravo a spiegare le questioni di sicurezza e su come evitarli. Il libro è stato fuori per un po ', ma la maggior parte degli argomenti trattati sono ancora rilevanti.

Altri suggerimenti

Herb Sutter "Exceptional C ++" e "C ++ Coding Standards". Inestimabile.

C ++ faq . Vi dirà tutto ciò che riguarda gli errori più comuni. Online gratis.

Ho trovato questo libro molto utile Secure Programming Ricette per il C e C ++: Ricette per la crittografia , autenticazione, convalida dell'input & More

Ha un sacco di esempi sia per Linux (POSIX) e Windows a differenza del precedente citato Scrivendo Secure Code, Second Edition .

Il Joint Strike Fighter Mezzo di trasporto aereo C ++ Coding Standards è un buon inizio, anche se si applica soprattutto per l'affidabilità piuttosto che di sicurezza.

Il SEI CERT C ++ Coding standard è appositamente sviluppato per coprire tutti i tipi di problemi di sicurezza. CERT acronimo di Computer Emergency Response Team, che è un gruppo di esperti che gli incidenti di sicurezza maniglie computer.

Fammi calci off

  • Evitare allocata dinamicamente memoria utilizzando malloc
  • dimensioni (legati) uso fisso matrice quando mai possibile, o infatti in C ++ array stile evitano C quando pratico
  • evitare l'uso di (void *)
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top