Jeremy, I wish you were right, but there have been times when even the simple sample program you give would have exposed a security hole. Never assume that anything is secure. A vulnerability discovered in crt0.c by Tom Ptacek back in 1997 would have made your program vulnerable if you compiled it on a FreeBSD system. See: 199702030554.XAA07517at_private">http://online.securityfocus.com/archive/1/199702030554.XAA07517at_private Every program on a system with this problem would have been vulnerable, no matter how simple it is. Oliver Friedrichs Sr. Manager - DeepSight Symantec, Inc. - (650) 381-8045 |---------+----------------------------> | | "Jeremy Epstein" | | | <jepstein@webmeth| | | ods.com> | | | | | | 12/27/2002 09:46 | | | AM | | | | |---------+----------------------------> >---------------------------------------------------------------------------------------------------------------------------------------------| | | | To: "Rahul Chander Kashyap" <rahulat_private>, <secprogat_private> | | cc: | | Subject: RE: Writing Secure code | >---------------------------------------------------------------------------------------------------------------------------------------------| > And one more thing...<this one might be interesting ;-)> Is it possible > to write code that is completely secure and not exploitable? Yes. main() { exit(0); } is completely secure and not exploitable. Beyond that, you're on your own :-) I think what you really mean is "is it possible to write code THAT DOES SOMETHING USEFUL that is completely secure and not exploitable". In general, the answer is "no". Any program of even moderate complexity, by today's standards, includes so much baggage that it's impossible to say with absolute certainty that it's secure. Even if there's no vulnerabilities in your code, the stuff you drag in (e.g., DLLs) is highly likely to have problems. --Jeremy
This archive was generated by hypermail 2b30 : Fri Dec 27 2002 - 22:05:31 PST