Secure Coding mailing list archives
Blog skiiers versus snowboarders CISSPs vs programmers
From: James.R.Lindley at irs.gov (Lindley James R)
Date: Wed, 13 Jan 2010 13:06:44 -0500
I am the designated certification hog (see sigblok) for my group, which does source code security analysis and pen testing. So I'm fairly familiar with what goes into getting and keeping these certs. And I don't think that a CISSP is nearly specific enough for software source code security Now, I'm not too sure about skiers vs snowboarders, because I've never done either (acrophobic and unwilling to fall down in slush), but I have described what I do in source code analysis as "plumbing inspection", because I have done plumbing. So if I want to explain to people just what my job entails, I generally read from the following gospel points. * If there is one word I would remove from the lexicon of software development, it is the word "developer", which has as much meaning in the maturing disciplines of software architecture, engineering, and construction as the word "scientist" now has in science. The more mature a discipline becomes, the more specialized (siloed?) is the knowledge of the practitioners and the more specifically we have to describe what they do in order to attain precision. Joseph Priestly and Ben Franklin may have been scientists, but no one today is a "chemist" or even a "physicist", much less a "scientist" in that older sense. Properly named, they may be an "organic chemist" or "theoretical physicist specializing in string theory". When people say "developer" in regard to software engineering, to whom are they referring. Because every phases of software development takes a person with a specific psychological nature and skill set. * The gregarious nature of a requirements engineer with good writing skills to identify the stakeholders and use interviewing (and sometimes, interrogation) techniques to tease out the stake holder's descriptions of what they want and convert the stakeholders statements to well written problem space requirements and then to help the project manager get stakeholder buy-in. The requirements engineer produces the "problem space". The requirements engineer is a "people" person. * The detail oriented nature and rigorous technical/mathematical skills of the specification engineer, who turns the problem space statements into mathematically resolvable solution space specifications, where the boolean results of specification satisfaction generally depends on an underlying arithmetic condition. Because if a specification doesn't resolve mathematically, you can't test it. (Sorry, married to a very good QA Director.) The specification writer (engineer) produces the solution space. * The visionary, generalist nature of a designer with broad knowledge of the various technologies and components that will be able to satisfy the specifications. Able to create detailed data schema and HIPO-type functions charts, data item definitions, etc. The architect. In my time, thoroughly familiar with James Martin graphics, now with UML and other such representations. * The code writer, very detail oriented and skilled in speaking and writing a non-native language. In a software construction comparison to home construction, these are the bricklayers, electricians, carpenters, plumbers. Able to turn the designer's work into source code. A code writer must be thought of as a craftsman at wordsmithery in a non-native language. The code writer produces the bricks and mortar of software construction. Usually not a people person? * In far too many software construction enterprises that I have served with, "giving the requirements to the developers" has meant short-circuiting from requirements to code writing, which is like gathering a carpenter, a plumber, an electrician, etc., on an acre lot and saying, "I want a three bedroom, two bath house on this lot. Build me a house." * Now, if what I do (source code security analysis) is plumbing inspection, it means that 1) I MUST BE EITHER A MASTER PLUMBER or VERY WELL VERSED in speaking and writing the same language as the code writer (i.e., I have to know what good plumbing looks like), 2) I must be VERY FAMILIAR with poorly constructed source code in that language (I have to know what bad plumbing looks like), 3) I must know how to REPAIR bad plumbing, and 4) I don't analyze or assess anything from the architectural phases (requirements, specifications, design). So my plumbing inspector has the psychology and skill set of a code writer PLUS an ability to teach (explain the results to both technical and non-technical personnel). * When it comes to certifications here, pretty much every certification that I list below is irrelevant (I have an old unlisted C/C++ cert). I'm looking for (and studying for) a Sun Certified Java Programmer (SCJP) or a Microsoft Certified Software Developer (MCSD). I can teach a good plumber (code writer) how to inspect (analyze code security) in six+ months at most. But I don't have the time to teach them plumbing (coding), especially since the security team DOESN'T plumb (write programs). If they aren't good plumbers when they get here, I don't have the time to teach them the craft. So, to conclude the rant, IMNSHO, source code security analysis is a VERY SPECIALIZED sub-field of software construction and DEPTH of knowledge of code writing is far more valuable than BREADTH of knowledge of security. And no tool will ever replace the human element here, because great craftsmen produce works of art in software form. And appreciating a work of art requires a human mind. JimL James R Lindley Senior Technical Analyst CISSP-ISSAP/ISSEP/ISSMP, CSSLP, CISA, PMP, CHS-III, CNE, SSE-CMM Appraiser, MCSE, MCT, CNSS 4013, A+ Advanced Technical Analysis Team Security Engineering MITS Cybersecurity OS:CIO:CS:SE:AA Cube: NCFB C6-462 Cube: 202-283-1590 Cell: 410-703-4127 An unquenchable thirst for Pierian waters. The information contained in this electronic message and any attachments contains information that may be confidential and/or privileged. If you are not the intended recipient, you are hereby notified that any disclosure, copying, distribution or use of this information is strictly prohibited. If you have received this communication in error, please notify James R. Lindley immediately by e-mail or by telephone at 202-283-1590, and destroy this communication. Thank you. -----Original Message----- From: sc-l-bounces at securecoding.org [mailto:sc-l-bounces at securecoding.org] On Behalf Of Benjamin Tomhave Sent: Wednesday, January 13, 2010 8:24 AM To: Secure Coding Subject: Re: [SC-L] Blog skiiers versus snowboarders CISSPs vs programmers I'm not even sure why we're talking about CISSPs in this regard. Having a CISSP proves nothing; it's merely a blind HR/recruiter checklist item. I've personally met dozens of CISSPs who can't answer the most basic of security questions. The short-term comes down to what Gary talked about recently, which is getting a software security group (or team) established and functioning well. Over time, outreach and education run by the SSG then begins to permeate the organization until, hopefully, some day, the SSG can shrink or dissolve and let security stand on its own. We obviously have a long way to go as an industry before we reach that point. fwiw. -ben Arian J. Evans wrote:
The software security problem is a huge problem. There are not enough CISSPs to even think about solving this problem. CISSPs probably should have a tactical role helping categorize, classify, and facilitate getting things done. Scanner jockeys and network security folk will lead the operational charge to WAF and block and such. (good or bad, you're gonna need this stuff, the problem is just too darn big) I don't think many good devs who enjoy building are going to want to change careers to do source code audits. That gets mind numbing awfully fast. Developers definitely have a role to play in solving a lot of the basic syntax-attack stuffs, by proper selection and application of modern frameworks, technologies, and gap-APIs (like ESAPI). Most CISSPs lack the skill to provide much value here. Design issues will always exist, unless users some day wake up and decide they prefer security over usability. But I don't see that happening any time soon. Heck, my password on all my work machines is "password". $0.02 USD. --- Arian Evans capitalist marksman. eats animals. On Tue, Jan 12, 2010 at 8:44 AM, Matt Parsons <mparsons1980 at gmail.com>
wrote:
I wrote a blog in the state of software security using the analogy of
skiers versus snowboarder in the early 90's. Please let me know your thoughts and comments by replying to this list or my blog. http://parsonsisconsulting.blogspot.com/ Thanks, Matt Matt Parsons, MSM, CISSP 315-559-3588 Blackberry 817-294-3789 Home office mailto:mparsons1980 at gmail.com http://www.parsonsisconsulting.com http://www.o2-ounceopen.com/o2-power-users/ http://www.linkedin.com/in/parsonsconsulting http://parsonsisconsulting.blogspot.com/ _______________________________________________ Secure Coding mailing list (SC-L) SC-L at securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php SC-L is hosted and moderated by KRvW Associates, LLC (http://www.KRvW.com) as a free, non-commercial service to the
software security community.
______________________________________________________________________________________________ Secure Coding mailing list (SC-L) SC-L at securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php SC-L is hosted and moderated by KRvW Associates, LLC (http://www.KRvW.com) as a free, non-commercial service to the
software security community.
_______________________________________________
-- Benjamin Tomhave, MS, CISSP tomhave at secureconsulting.net Blog: http://www.secureconsulting.net/ Twitter: http://twitter.com/falconsview LI: http://www.linkedin.com/in/btomhave [ Random Quote: ] "I have no special talent. I am only passionately curious." Albert Einstein _______________________________________________ Secure Coding mailing list (SC-L) SC-L at securecoding.org List information, subscriptions, etc - http://krvw.com/mailman/listinfo/sc-l List charter available at - http://www.securecoding.org/list/charter.php SC-L is hosted and moderated by KRvW Associates, LLC (http://www.KRvW.com) as a free, non-commercial service to the software security community. _______________________________________________
Current thread:
- new post: The Three Domains of Application Security Benjamin Tomhave (Jan 11)
- Blog skiiers versus snowboarders CISSPs vs programmers Matt Parsons (Jan 12)
- Blog skiiers versus snowboarders CISSPs vs programmers Arian J. Evans (Jan 12)
- Blog skiiers versus snowboarders CISSPs vs programmers Benjamin Tomhave (Jan 13)
- Blog skiiers versus snowboarders CISSPs vs programmers Lindley James R (Jan 13)
- Blog skiiers versus snowboarders CISSPs vs programmers Arian J. Evans (Jan 12)
- Blog skiiers versus snowboarders CISSPs vs programmers Matt Parsons (Jan 12)