Pregunta

Estoy buscando un registro exhaustivo de las prácticas de codificación segura en C++.Ya que no he encontrado una lista aquí, ya que también podría hacer esto en un wiki de la comunidad, para mayor referencia.Estoy en busca de soluciones a los problemas de seguridad como de la pila y el montón de la base de desbordamientos de búfer y underflows, desbordamientos de enteros y underflows, en el formato de cadena de ataques, desreferenciar un puntero nulo, la pila/tarjeta de memoria de la inspección de ataques, etc..

NB:Además de las prácticas de codificación, bibliotecas seguras que defenderse contra este tipo de ataques, vale la pena mencionar también.

LE:Como sugiere MSalters en los comentarios a esta pregunta se ha dividido en dos preguntas, una para C++ y uno para C.Ver también Asegurar prácticas de codificación de C.

¿Fue útil?

Solución

El libro Escribir Código Seguro es muy bueno para explicar los problemas de seguridad y cómo evitarlos.El libro ha estado fuera por un tiempo, pero la mayoría de los temas son todavía relevantes.

Otros consejos

Herb Sutter "Excepcional C++" y "C++ Estándares de Codificación".Invaluable.

Marshall Cline C++ faq.Le dirá todo acerca de problemas comunes.Free online.

He encontrado este libro muy útil Programación segura libro de cocina para C y C++:Recetas para la Criptografía, la Autenticación, Validación de Entrada & Más

Tiene un montón de ejemplos para Linux (posix) y Windows a diferencia de las anteriores, Escribir Código Seguro, Segunda Edición.

El Joint Strike Fighter De Aire Del Vehículo C++ Estándares De Codificación es un buen comienzo, aunque no se aplican sobre todo a la fiabilidad, más que la seguridad.

El SEI CERT C++ Estándar de Codificación está especialmente desarrollado para cubrir todo tipo de problemas de seguridad.CERT soportes para Equipo de Respuesta a Emergencias, el cual es un grupo de expertos que se encarga de incidentes de seguridad informática.

Permítanme kick off

  • Evitar asignada dinámicamente la memoria usando malloc
  • (relacionado con el uso de tamaño fijo de la matriz, siempre que sea posible, o hecho en C++ evitar estilo de C matrices cuando prácticos
  • evitar el uso de (void *)
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top