Secure Programming Exams Launched 85
An anonymous reader writes "The SANS Software Security Institute, in conjunction with organizations such as Siemens, Symantec, Juniper, OWASP, and Virginia Tech, has announced a program for testing whether programmers know how to write secure code. The Secure Programming Skills Assessment is split into separate language families (C/C++, Java/J2EE, Perl/PHP, and ASP/.NET). Director of research Alan Paller says 'This assessment and certification program will help programmers learn what they don't know, and help organizations identify programmers who have solid security skills.' The pilot exam will be held in Washington DC in August, followed by a global rollout."
Re: (Score:1)
Re:Question (Score:4, Insightful)
Re:Question (Score:4, Insightful)
Re: (Score:1, Insightful)
Re: (Score:1)
In a web application that deals with customers' personal data, it is of the utmost importance.
Re: (Score:1)
If my paltry little text editor application has a minor buffer overflow flaw, then the user who exploits it gains...privileges as the user who was running the text editor. Oh noes!
It's only on operating systems with absolutely no concept of security where things like office suite macros can do any damage at all.
Important (Score:4, Insightful)
Re: (Score:2)
I'm sure banks don't worry about security, or the insurance industry, or hospitals, or the oil industry, or the pharmaceuticals, or...etc.
Worried about security (Score:1)
Re: (Score:2)
I agree that most CS programs in t
If only (Score:4, Insightful)
Big. On schedule. Bugless. Pick 2.
Re: (Score:2)
I choose On schedule and Bugless.
Re: (Score:2)
Re:If only (Score:4, Funny)
Re: (Score:2)
Re: (Score:2)
Re: (Score:2, Informative)
If you monitor the bugtraq list you can see that the vast majority of reported vulnerabilities are XSS and SQL injections in web apps. Most of these can be easily avoided if you know how they occur.
This would mean less time needed for reviews as the code woul
Re: (Score:2)
Re: (Score:1)
Some blame lies with the way certain web-app languages have been put together; e.g. default output to the browser not being escaped. Further abstraction by newer languages, or in-house built layers can solve these problems though, if the programming team understands the risks.
Re: (Score:1)
Re: (Score:2)
- It's either:
- do insecure thing "X", but always make sure you do "A" at the same time in order to undo the damage of doing X
- do secure thing "B" all the time
If you forget to do "B", you app simply doesn't work. If you forget to do "A" (but still do "X") then your app works, but in insecure.It's much safer to use safe practices all the time than to apply "fixes" on top of unsafe practices.
Re:If only (Score:4, Informative)
Re: (Score:2)
If several groups are bidding on a project, and security is not explicitly and verifiably included in the RFQ, any group that ignores security will be able to undercut groups which take security seriously.
Re: (Score:2)
awww (Score:1)
Re: (Score:1)
and in the spirit of computer security... (Score:5, Funny)
Re: (Score:2)
- What is your root password?
There is no language named C/C++ ! (Score:3, Insightful)
Re: (Score:1)
Re: (Score:1)
Re: (Score:3, Funny)
I've been wondering the same thing here on AndDot for some time now. Or is that OrDot?
Re: (Score:2)
Buffalo buffalo Buffalo buffalo buffalo buffalo Buffalo buffalo.
Re: (Score:3, Informative)
It is ironic that the parent post is modded off-topic. If you read the C and C++ newsgroups, you will soon discover that many regulars dislike the term "C/C++". It is ambiguous, and often used (deliberately or inadvertently) by those who don't understand the differences between the languages to hide their lack of knowledge.
The SANS sample test here is guilty of exactly that crime, demonstrating a fundamental lack of understanding of the differences between how you program in C and how you do it in C++ if
Re: (Score:1)
in two months (Score:2)
The Slow Move Toward Software Assurance (Score:3, Insightful)
Re: (Score:2)
The problem I see with these types of certification is that, much like other certifications, they don't really teach you the underlying purposes of a lot of things. I mean, how different is securing a system bu
Not sure I like this (Score:2)
I really think that things like this, although well intentioned and not a bad idea, will lull corps into a false sense of security (no pun intended
So, I predict in th
Not impressed (Score:5, Interesting)
For example, one question was basically making the point that sizeof is a compile time thing that cannot be used to, say, determine the size of a string buffer passed through a char * parameter. But rather than present the question in a straightforward fashion, they has this business of dividing one sizeof value by another - completely unnecessary and confusing. I got the question right but I could just as easily missed it because of the unnecessary complexity and still understood the underlying concept.
One I did miss (I got 8 out of 10 right, I think) was one about how to declare a pointer to a array of constant strings. The question was phrased so awkwardly that I got confused as to what theyactually wanted and gave the wrong answer even though I know how to get the effect they want.
I was also unimpressed that there was no feedback given as to why a given answer was correct or incorrect. No feedback is arguably fine if the intent is purely to assess skill levels, but the stated intent is that this "will help programmers learn what they don't know". You can't do that unless you also explain why a given answer is wrong. Perhaps this is merely an artifact of the sample exams, but if so the samples aren't very interesting.
If this sample exam is in any way representative I think there's a lot more work to be done before this will actually be useful.
Me neither (Score:2)
I agree. They have BrainBench syndrome: they take it upon themselves to judge others, yet clearly don't understand much of the subject themselves. You can tell this from the way the "C/C++" exam (as if security concerns are even close to the same in those two languages) focusses pretty much entirely on C library functions that most security-conscious programmers would avoid entirely, with a random concurrency question at the end. Strangely, it doesn't even reference ideas like using containers rather than r
Re: (Score:2)
Re: (Score:2)
I got 8/10 on the java test, because I refused to say "always do input validation on the middle tier". Blanket rules like that are
(a) wrong
(b) dangerous
(c) short-sighted
(d) all of the above
Even the ones I got right, in very few cases did I think the question was sensible or well considered.
The question about errors vs exceptions is just plain wrong, and their filters questions is arguably wrong also.
I'd give them about a 3/10.
Dividing sizeof (Score:1)
Re: (Score:1)
Re: (Score:1)
Re: (Score:2)
Re: (Score:2)
If security catches on (Score:3, Insightful)
In all actuality I see a certification like this to be good at heart to begin with but, give another five years, and it will become a method to ensure that programmers only make mistakes in predictable ways--and then everything will proceed as it currently is.
Found a vulnerability... (Score:1)
-m
Virginia Tech? (Score:2)
Oops (Score:1)
And all languages quoted unsuitable for ... (Score:1)
Everybody speaks of secure programming but allays in combinations with unsuitable tools and programming languages.
Reminds me a bit about the Addams Family. Remember the part where Gomez tries to make huge loss of money. In the end he start a venture in Chocolate-Diet - something he things will never work as chocolate is completely unsuitable for diet purpose and his hope is that people won't fall for such a stupid idea - he