Re: [SC-L] Software Security Training for Developers

2007-08-28 Thread McGovern, James F (HTSC, IT)
My general observation of training firms in this area is that they all
tend to use freelance trainers who float between the firms. The notion
of customized courseware is something they sell as a feature but
honestly feels more like a way to avoid actually developing consistent
training approaches where they instead rely on the individual hired
trainer and what they happen to feel comfortable teaching.
 
The issue with training in the language/platform of choice gets more
difficult depending upon what type of environment you reside. If you
look inside the average Fortune enterprise whose primary business model
isn't technology (e.g. Intel, IBM, Microsoft, etc) then you will tend to
find lots of variety of languages used in production environments with
no language (with the exception of possibly COBOL) being dominant. This
simple fact causes enterprises who have a variety of languages when
combined with the need for across the board training to make training
non-specific to any particular language.
 
Many of the tools also give feedback in a language-specific context
while writing code, so at some level I do believe that language-specific
training is not required.



From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of McCown, Christian M
Sent: Thursday, August 16, 2007 7:23 PM
To: sc-l@securecoding.org
Subject: [SC-L] Software Security Training for Developers




What are folks' experiences with software security training for
developers?  By this, I'm referring to teaching developers how to write
secure code.  Ex. things like how to actually code input validation
routines, what evil functions and libraries to avoid, how to handle
exceptions without divulging too much info, etc.  Not how to hack
applications.  There are quality courses and training that show you how
to break into apps--which are great, but my concern is that if you are a
developer (vs. a security analyst, QA type, pen-tester, etc.),even when
you know what could happen, unless you've been specifically taught how
to implement these concepts  in your language/platform of choice (ASP
.NET, C#, Java, etc.), you're not getting the most bang for the buck
from them.


What vendors teach it? 
How much does it cost? 
Actual impact realized? 

Tx 

 
Chris McCown, GSEC(Gold) 
Intel Corporation 
* (916) 377-9428 | * [EMAIL PROTECTED] mailto:[EMAIL PROTECTED]  



*
This communication, including attachments, is
for the exclusive use of addressee and may contain proprietary,
confidential and/or privileged information.  If you are not the intended
recipient, any use, copying, disclosure, dissemination or distribution is
strictly prohibited.  If you are not the intended recipient, please notify
the sender immediately by return e-mail, delete this communication and
destroy all copies.
*

___
Secure Coding mailing list (SC-L) SC-L@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.
___


Re: [SC-L] Software Security Training for Developers

2007-08-28 Thread Nish Bhalla
Hi James,

 

I am not sure if my email was interpreted correctly. What I was saying is
the things to do to customizing the training to fit your individual
environment for example if you have specific policies and/or guidelines
they are integrated into the training.

 

For example: if you have a password policy for your web application saying
that the passwords should be atleast 9 characters long alpha numeric, then
when teaching a developers class this should be explicitly called out and
shown or if you are required to be PCI compliant, often debug logs have
credit card information or passwords or session id stored in them in clear
text. This should be explicitly called out and developers need to be made
aware of them.

 

Hope this helps clarify what I was saying. 

 

Our class does cover generic policies and guidelines in terms of best
practices and is part of course material.  If you would like to know more
about them, might I suggest talking offline and discussing it in more detail
?

 

Regards,

 

Nish.

 

 

  _  

From: McGovern, James F (HTSC, IT) [mailto:[EMAIL PROTECTED] 
Sent: Tuesday, August 28, 2007 10:22 AM
To: Nish Bhalla
Cc: sc-l@securecoding.org
Subject: RE: [SC-L] Software Security Training for Developers

 

One of the things that is somewhat frustrating as a customer to training and
software vendors are statements such as some general policy and guidelines
without any pointers to what they should specifically contain. Public URLs
are greatly appreciated.

 

  _  

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of Nish Bhalla
Sent: Thursday, August 16, 2007 11:21 PM
To: 'McCown, Christian M'
Cc: sc-l@securecoding.org
Subject: Re: [SC-L] Software Security Training for Developers

Hi Chris,

 

We at Security Compass have been doing that for developers for about 2 years
now. We have done this type of training and also the training from the pen
tester angle. 

 

Some of the things that we have seem make this training much more effective
are

 

[] If the direction for the training and security initiative is coming in
from the top rather than just from one manager (not to say that having it
from one manager doesn't help)

[] If there are some general policy and guidelines to building secure
software

[] If there are general guidelines to build secure architecture

[] if there are though processes in place for updating the existing SDLC
with security in place to improve the overall direction of the company
towards a more secure application development practice

[] Finally if the training is developed around these kind of practices and
customized to your specific environment.

 

We also think providing different kinds of training for different levels of
people is important, i.e. a training for managers, a training for
architects, a training for QA/Security professionals and finally a training
for developers. Each has a specific goal in mind and speaking in the
individual language so to speak to each group.

 

Hope this helps, If you would like to chat more just email me.

 

Nish.



*
This communication, including attachments, is
for the exclusive use of addressee and may contain proprietary,
confidential and/or privileged information. If you are not the intended
recipient, any use, copying, disclosure, dissemination or distribution is
strictly prohibited. If you are not the intended recipient, please notify
the sender immediately by return e-mail, delete this communication and
destroy all copies.
*

___
Secure Coding mailing list (SC-L) SC-L@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.
___


Re: [SC-L] Software Security Training for Developers

2007-08-21 Thread Sammy Migues

Hi Hollis,

Thanks for the questions. I think this is the kind of information you're 
looking for and I've tried to keep my answers very non-salesy.

- What languages/OS/environments are you developing in?

Well, we're a consultancy, so we develop in whatever language the client 
desires. (:-)

As for our defensive programming courses, we focused on JavaEE, core Java, 
.NET, and C/C++. We have had recent requests for COBOL, but not for PHP, Ruby, 
or Python, as examples.

- Does your training address your language/OS/environment? If so, what 
percentage?

If I understand correctly, the answer is most training addresses it. As odd as 
it may seem, the general market demand is for good defensive programming 
techniques in the native language. Many customers ask for customization based 
on their threat model and specific business objectives. A smaller percentage 
ask for course customization for general technologies (e.g., encryption) and a 
much smaller percentage ask for customization based on the frameworks they are 
using (e.g., Spring and Acegi). On the other had, they all hate seeing examples 
from frameworks they don't use.

- How long is the/each course?

We build most of our courses as 1-day modules that can be linked together 
(e.g., one group of lead architects and lead developers might get Fundamentals, 
then Architecture Risk Analysis, then Defensive Programming, while some QA 
folks might get Fundamentals, then Security Requirements and Abuse Cases, then 
Risk-Based Security Testing, and so on). A lot of organizations simply can't 
shut down development or testing for more than a day or two at a time.

- did you go with inclass, self-paced, JIT or a combination. And which aspects 
to each?

All our classes are initially developed as instructor-led training. Some are 
then re-cast as eLearning.

- What is your audience size? And what percentage did you train?
- Over what period of time?

For Fundamentals classes, we can deal with larger class sizes (e.g., 30). For 
Defensive Programming, we try to cap at 20 due to the nature of the labs and 
the time it takes to get through the questions. For Architecture Risk Analysis, 
a smaller class size is a little better because it's so interactive.

Between on-site classes, conference tutorials, some public training, and so on 
for analysts, architects, developers, and testers, we've trained thousands of 
individuals over the years

- Was it mandatory? And to Sammy's point, at what management level was it 
loudly supported?

Well, it was being paid for, so it was always mandatory. (:-) The more 
interesting question may be Did the students go willingly? Whenever we had 
time to work with management to craft a message appropriately tuned to the 
intended audience, we've had good, willing participation. The management level 
we've worked with has varied from head of engineering up to the CIO.

--Sammy.


-Original Message-
From: Hollis via Rubicon Recluse [mailto:[EMAIL PROTECTED]
Sent: Monday, August 20, 2007 2:09 PM
To: Johan Peeters
Cc: Sammy Migues; sc-l@securecoding.org
Subject: Re: [SC-L] Software Security Training for Developers

Hi Sammie and Yo,

Tkx for the good highlevel insights. A few
questions, I'm interested specifically for
developer/designers, but I'm sure others are interested in other audiences:

- What languages/OS/environments are you developing in?
- Does your training address your
language/OS/environment? If so, what percentage?
- How long is the/each course?
- did you go with inclass, self-paced, JIT or a
combination. And which aspects to each?
- What is your audience size? And what percentage did you train?
- Over what period of time?
- Was it mandatory? And to Sammy's point, at what
management level was it loudly supported?

Thanks for your insights,
Hollis


___
Secure Coding mailing list (SC-L) SC-L@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.
___


Re: [SC-L] Software Security Training for Developers

2007-08-20 Thread Johan Peeters
,
  
   My experience is that, like most engineers,
  most software developers want to
   improve their skills and that, as a group,
  they hate making easily-avoidable
   mistakes of any sort. Training that focuses on reinforcing their existing
   skills in design and development and then works methodically to give them
   the extra layer of knowledge to make the code not only function, but also
   behave with respect to security, is almost always well received. Any
   training that comes across as, You're doing it wrong, stop everything and
   do it this way will almost always be ignored. No one has time for that.
  
   Internal groups and others who are getting started in developer training
   tend to create bug parade kinds of
  materials. You'll see slide after slide
   of five-line code snippets while the
  instructor says That's wrong, don't do
   that. That kind of mistake detection is often so easily automatable these
   days, that buying or building training for it, and taking all your
   developers out of action for a day or two to run through it, may not be 
   the
   best choice.
  
   As you alluded to, we need to teach developers how to actually write 
   secure
   code. The problem, however, is that the march of development methods,
   languages, frameworks, architectures, and so on means there usually cannot
   be a single approach for, by way of example, coding input validation
   routines. On the whole, the industry is at the stage where we need to 
   teach
   developers to recognize situations where
  security goes here, and give them
   the reasoning skills and prescriptive guidance to code their way out of 
   the
   problem in their particular environment.
  
   This kind of defensive programming training seems to be most valuable 
   these
   days and it takes real experience and real experts to create and deliver
   such material.
  
   Meanwhile, it takes more than educated developers to produce software that
   behaves appropriately in the face of attack. The requirements people also
   need some help and it's unlikely the business analysts, the architects, 
   and
   the testers are sufficiently considering the
  non-functional security aspects
   of the thing they are trying to bring to life. Of cause, the operations
   folks also need to understand their part in
  the secure software lifecycle.
   In addition, executives need to understand how to govern and managers need
   to understand how to facilitate.
  
   By way of full disclosure, I've spent a great deal of time building such a
   cross-cutting curriculum at Cigital, which we've delivered to a variety of
   financial services, independent software vendor, and other organizations.
  
   As for pricing, I've seen everything from a few hundred dollars per person
   for material you could effectively download yourself to $12,000 or more 
   per
   day for a few slides and one big exercise
  that may have nothing to do with a
   group's particular needs. I've also seen a few examples of some really 
   good
   stuff that just speaks to me. Organizations
  must make sure they're getting
   an instructor that thoroughly understands the material and that they've
   worked with the training provider to ensure the material is appropriately
   customized to their needs.
  
   Effectiveness is in the eye of the beholder. The actual impact of 
   developer
   training alone may take months to show up in
  even the most mature dashboard.
   More broad training across each of the key
  roles, appropriately supported by
   prescriptive guidance and automation, has historically shown a 
   recognizable
   impact (e.g., finding many more security-related bugs much earlier in the
   SDLC) much more quickly.
  
   I recently put together some (long) thoughts on an approach for training.
   You can see them at
  
  http://www.cigital.com/justiceleague/2007/06/25/training-material-training-and-behavior-modification-part-1-of-3-%e2%80%93-training-material/.
  
  
   --Sammy.
  
   Sammy Migues
   Director, Knowledge Management and Training
   703.404.5830 - http://www.cigital.com
  
  
   
   From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
   On Behalf Of McCown, Christian M
   Sent: Thursday, August 16, 2007 7:23 PM
   To: sc-l@securecoding.org
   Subject: [SC-L] Software Security Training for Developers
  
  
  
  
   What are folks' experiences with software security training for 
   developers?
   By this, I'm referring to teaching developers
  how to write secure code.  Ex.
   things like how to actually code input validation routines, what evil
   functions and libraries to avoid, how to
  handle exceptions without divulging
   too much info, etc.  Not how to hack applications.  There are quality
   courses and training that show you how to break into apps--which are 
   great,
   but my concern is that if you are a developer (vs. a security analyst, QA
   type, pen-tester, etc.),even when you know what could

Re: [SC-L] Software Security Training for Developers

2007-08-19 Thread Johan Peeters
 to govern and managers need
 to understand how to facilitate.

 By way of full disclosure, I've spent a great deal of time building such a
 cross-cutting curriculum at Cigital, which we've delivered to a variety of
 financial services, independent software vendor, and other organizations.

 As for pricing, I've seen everything from a few hundred dollars per person
 for material you could effectively download yourself to $12,000 or more per
 day for a few slides and one big exercise that may have nothing to do with a
 group's particular needs. I've also seen a few examples of some really good
 stuff that just speaks to me. Organizations must make sure they're getting
 an instructor that thoroughly understands the material and that they've
 worked with the training provider to ensure the material is appropriately
 customized to their needs.

 Effectiveness is in the eye of the beholder. The actual impact of developer
 training alone may take months to show up in even the most mature dashboard.
 More broad training across each of the key roles, appropriately supported by
 prescriptive guidance and automation, has historically shown a recognizable
 impact (e.g., finding many more security-related bugs much earlier in the
 SDLC) much more quickly.

 I recently put together some (long) thoughts on an approach for training.
 You can see them at
 http://www.cigital.com/justiceleague/2007/06/25/training-material-training-and-behavior-modification-part-1-of-3-%e2%80%93-training-material/.


 --Sammy.

 Sammy Migues
 Director, Knowledge Management and Training
 703.404.5830 - http://www.cigital.com


 
 From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
 On Behalf Of McCown, Christian M
 Sent: Thursday, August 16, 2007 7:23 PM
 To: sc-l@securecoding.org
 Subject: [SC-L] Software Security Training for Developers




 What are folks' experiences with software security training for developers?
 By this, I'm referring to teaching developers how to write secure code.  Ex.
 things like how to actually code input validation routines, what evil
 functions and libraries to avoid, how to handle exceptions without divulging
 too much info, etc.  Not how to hack applications.  There are quality
 courses and training that show you how to break into apps--which are great,
 but my concern is that if you are a developer (vs. a security analyst, QA
 type, pen-tester, etc.),even when you know what could happen, unless you've
 been specifically taught how to implement these concepts  in your
 language/platform of choice (ASP .NET, C#, Java, etc.), you're not getting
 the most bang for the buck from them.


 What vendors teach it?
 How much does it cost?
 Actual impact realized?

 Tx

 
 Chris McCown, GSEC(Gold)
 Intel Corporation
 ( (916) 377-9428 | * [EMAIL PROTECTED]
 ___
 Secure Coding mailing list (SC-L) SC-L@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.
 ___




-- 
Johan Peeters
http://johanpeeters.com
___
Secure Coding mailing list (SC-L) SC-L@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.
___


Re: [SC-L] Software Security Training for Developers

2007-08-17 Thread Nish Bhalla
Hi Chris,

 

We at Security Compass have been doing that for developers for about 2 years
now. We have done this type of training and also the training from the pen
tester angle. 

 

Some of the things that we have seem make this training much more effective
are

 

[] If the direction for the training and security initiative is coming in
from the top rather than just from one manager (not to say that having it
from one manager doesn't help)

[] If there are some general policy and guidelines to building secure
software

[] If there are general guidelines to build secure architecture

[] if there are though processes in place for updating the existing SDLC
with security in place to improve the overall direction of the company
towards a more secure application development practice

[] Finally if the training is developed around these kind of practices and
customized to your specific environment.

 

We also think providing different kinds of training for different levels of
people is important, i.e. a training for managers, a training for
architects, a training for QA/Security professionals and finally a training
for developers. Each has a specific goal in mind and speaking in the
individual language so to speak to each group.

 

Hope this helps, If you would like to chat more just email me.

 

Nish.

 

  _  

From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of McCown, Christian M
Sent: Thursday, August 16, 2007 7:23 PM
To: sc-l@securecoding.org
Subject: [SC-L] Software Security Training for Developers

 

 

What are folks' experiences with software security training for developers?
By this, I'm referring to teaching developers how to write secure code.  Ex.
things like how to actually code input validation routines, what evil
functions and libraries to avoid, how to handle exceptions without divulging
too much info, etc.  Not how to hack applications.  There are quality
courses and training that show you how to break into apps--which are great,
but my concern is that if you are a developer (vs. a security analyst, QA
type, pen-tester, etc.),even when you know what could happen, unless you've
been specifically taught how to implement these concepts  in your
language/platform of choice (ASP .NET, C#, Java, etc.), you're not getting
the most bang for the buck from them.

 

What vendors teach it? 
How much does it cost? 
Actual impact realized? 

Tx 

 
Chris McCown, GSEC(Gold) 
Intel Corporation 
* (916) 377-9428 | *  mailto:[EMAIL PROTECTED] [EMAIL PROTECTED] 

___
Secure Coding mailing list (SC-L) SC-L@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.
___


Re: [SC-L] Software Security Training for Developers

2007-08-17 Thread Sammy Migues
Hi Chris,

My experience is that, like most engineers, most software developers want to 
improve their skills and that, as a group, they hate making easily-avoidable 
mistakes of any sort. Training that focuses on reinforcing their existing 
skills in design and development and then works methodically to give them the 
extra layer of knowledge to make the code not only function, but also behave 
with respect to security, is almost always well received. Any training that 
comes across as, You're doing it wrong, stop everything and do it this way 
will almost always be ignored. No one has time for that.

Internal groups and others who are getting started in developer training tend 
to create bug parade kinds of materials. You'll see slide after slide of 
five-line code snippets while the instructor says That's wrong, don't do 
that. That kind of mistake detection is often so easily automatable these 
days, that buying or building training for it, and taking all your developers 
out of action for a day or two to run through it, may not be the best choice.

As you alluded to, we need to teach developers how to actually write secure 
code. The problem, however, is that the march of development methods, 
languages, frameworks, architectures, and so on means there usually cannot be a 
single approach for, by way of example, coding input validation routines. On 
the whole, the industry is at the stage where we need to teach developers to 
recognize situations where security goes here, and give them the reasoning 
skills and prescriptive guidance to code their way out of the problem in their 
particular environment.

This kind of defensive programming training seems to be most valuable these 
days and it takes real experience and real experts to create and deliver such 
material.

Meanwhile, it takes more than educated developers to produce software that 
behaves appropriately in the face of attack. The requirements people also need 
some help and it's unlikely the business analysts, the architects, and the 
testers are sufficiently considering the non-functional security aspects of the 
thing they are trying to bring to life. Of cause, the operations folks also 
need to understand their part in the secure software lifecycle. In addition, 
executives need to understand how to govern and managers need to understand how 
to facilitate.

By way of full disclosure, I've spent a great deal of time building such a 
cross-cutting curriculum at Cigital, which we've delivered to a variety of 
financial services, independent software vendor, and other organizations.

As for pricing, I've seen everything from a few hundred dollars per person for 
material you could effectively download yourself to $12,000 or more per day for 
a few slides and one big exercise that may have nothing to do with a group's 
particular needs. I've also seen a few examples of some really good stuff that 
just speaks to me. Organizations must make sure they're getting an instructor 
that thoroughly understands the material and that they've worked with the 
training provider to ensure the material is appropriately customized to their 
needs.

Effectiveness is in the eye of the beholder. The actual impact of developer 
training alone may take months to show up in even the most mature dashboard. 
More broad training across each of the key roles, appropriately supported by 
prescriptive guidance and automation, has historically shown a recognizable 
impact (e.g., finding many more security-related bugs much earlier in the SDLC) 
much more quickly.

I recently put together some (long) thoughts on an approach for training. You 
can see them at 
http://www.cigital.com/justiceleague/2007/06/25/training-material-training-and-behavior-modification-part-1-of-3-%e2%80%93-training-material/.


--Sammy.

Sammy Migues
Director, Knowledge Management and Training
703.404.5830 - http://www.cigital.comhttp://www.cigital.com/



From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of McCown, 
Christian M
Sent: Thursday, August 16, 2007 7:23 PM
To: sc-l@securecoding.org
Subject: [SC-L] Software Security Training for Developers



What are folks' experiences with software security training for developers?  By 
this, I'm referring to teaching developers how to write secure code.  Ex. 
things like how to actually code input validation routines, what evil 
functions and libraries to avoid, how to handle exceptions without divulging 
too much info, etc.  Not how to hack applications.  There are quality courses 
and training that show you how to break into apps--which are great, but my 
concern is that if you are a developer (vs. a security analyst, QA type, 
pen-tester, etc.),even when you know what could happen, unless you've been 
specifically taught how to implement these concepts  in your language/platform 
of choice (ASP .NET, C#, Java, etc.), you're not getting the most bang for the 
buck from them.


What vendors teach it?
How

[SC-L] Software Security Training for Developers

2007-08-16 Thread McCown, Christian M

What are folks' experiences with software security training for
developers?  By this, I'm referring to teaching developers how to write
secure code.  Ex. things like how to actually code input validation
routines, what evil functions and libraries to avoid, how to handle
exceptions without divulging too much info, etc.  Not how to hack
applications.  There are quality courses and training that show you how
to break into apps--which are great, but my concern is that if you are a
developer (vs. a security analyst, QA type, pen-tester, etc.),even when
you know what could happen, unless you've been specifically taught how
to implement these concepts  in your language/platform of choice (ASP
.NET, C#, Java, etc.), you're not getting the most bang for the buck
from them.


What vendors teach it?
How much does it cost?
Actual impact realized?

Tx


Chris McCown, GSEC(Gold)
Intel Corporation
* (916) 377-9428 | * [EMAIL PROTECTED]

___
Secure Coding mailing list (SC-L) SC-L@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.
___