Can C code be linted according to those rules? I wonder if that kind of coding standards can be part of ISO standards.
The CERT C Secure Coding Standard
11–20 of 32 posts
Re: The CERT C Secure Coding Standard
#12I'm well aware this is full-on "middlebrow dismissal", but still, I feel that in 2015 this standard isn't complete without a chapter saying just don't. somewhere. I understand why a standard like this is necessary, but really it's like a CERT Safe Highway Cycling Standard or a CERT Healthy Smoking Standard. If security is an important enough goal to want to apply this entire standard in detail, maybe there are better…
Re: The CERT C Secure Coding Standard
#13Actually it's hard to obey them all. And C makes it so easy to create pitfalls. Is there a language specially designed for secure programming?
The problem is that they were tied to OS that weren't successful in the mainstream, whereas some American startups using the original BSD code and AT&T licenses, got very successful and brought UNIX into the enterprise.
C came along of course.
Re: The CERT C Secure Coding Standard
#14Can C code be linted according to those rules? I wonder if that kind of coding standards can be part of ISO standards.
Many developers think that they don't need static analyzers.
Actually lint was part of the original UNIX, but since it took some effort to configure and not everyone agreed with the rules, it was seldom ported to other systems, and it became part of the C culture not to use it.
I think we have to thank the LLVM project that now static analyzers are welcome in C.
Re: The CERT C Secure Coding Standard
#15I'm well aware this is full-on "middlebrow dismissal", but still, I feel that in 2015 this standard isn't complete without a chapter saying just don't. somewhere. I understand why a standard like this is necessary, but really it's like a CERT Safe Highway Cycling Standard or a CERT Healthy Smoking Standard. If security is an important enough goal to want to apply this entire standard in detail, maybe there are better…
Two use cases where C is often the only choice are OSes and micro-controllers.
http://www.mikroe.com/mikropascal/
http://www.mikroe.com/mikrobasic/
For more beefy systems,
Re: The CERT C Secure Coding Standard
#16See https://www.securecoding.cert.org/confluence/display/seccode... and exception EXP05-EX3 in particular.
Exception promotes non-standard-compliant (undefined) behavior because it "usually works".
Re: The CERT C Secure Coding Standard
#17I'm well aware this is full-on "middlebrow dismissal", but still, I feel that in 2015 this standard isn't complete without a chapter saying just don't. somewhere. I understand why a standard like this is necessary, but really it's like a CERT Safe Highway Cycling Standard or a CERT Healthy Smoking Standard. If security is an important enough goal to want to apply this entire standard in detail, maybe there are better…
Re: The CERT C Secure Coding Standard
#18I'm well aware this is full-on "middlebrow dismissal", but still, I feel that in 2015 this standard isn't complete without a chapter saying just don't. somewhere. I understand why a standard like this is necessary, but really it's like a CERT Safe Highway Cycling Standard or a CERT Healthy Smoking Standard. If security is an important enough goal to want to apply this entire standard in detail, maybe there are better…
Re: The CERT C Secure Coding Standard
#19Can C code be linted according to those rules? I wonder if that kind of coding standards can be part of ISO standards.
Basically, the CERT rules all must be analyzable (though some require dynamic analysis instead of static analysis).
Re: The CERT C Secure Coding Standard
#20Can C code be linted according to those rules? I wonder if that kind of coding standards can be part of ISO standards.
The rules specified in this Technical Specification apply to analyzers, including static analysis tools and C language compiler vendors that wish to diagnose insecure code beyond the requirements of the language standard. All rules are meant to be enforceable by static analysis.
I wrote an article putting all this in some context at: http://www.informit.com/articles/article.aspx?p=2088511