Writing Secure Code
| | ||
-
Do carefully check your buffer accesses by using safe string and buffer handling functions.
-
Do use compiler-based defenses such as /GS and ProPolice.
-
Do use operating-system-level buffer overrun defenses such as DEP and PaX.
-
Do understand what data the attacker controls, and manage that data safely in your code.
-
Do not think that compiler and OS defenses are sufficientthey are not; they are simply extra defenses.
-
Do not create new code that uses unsafe functions.
-
Consider updating your C/C++ compiler since the compiler authors add more defenses to the generated code.
-
Consider removing unsafe functions from old code over time.
-
Consider using C++ string and container classes rather than low-level C string functions.