Home > Software Quality Tips > Application Security Strategies > How to get developers to buy into software security
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

APPLICATION SECURITY STRATEGIES

How to get developers to buy into software security


Kevin Beaver, CISSP
11.19.2007
Rating: -3.33- (out of 5)


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


Kevin Beaver
Kevin Beaver

If you're in any way involved in getting developers to write more secure code, you've undoubtedly run into some roadblocks. Getting buy-in on security and secure coding practices can be like pulling teeth. Many organizations have come a long way in the past few years, but attaining the mindset of security being a development priority still hasn't been mastered. The underlying issue is simple: Most developers are smart people who are really good at what they do -- writing code -- not being security experts. That said, most know the basics of secure coding:

Whether I'm performing penetration tests or source code analyses, most of those security elements are addressed in the majority of applications. The problem is there's so much more to application security than that. There are authentication weaknesses, application logic flaws and advanced input validation issues that many developers don't have the time, tools or wherewithal to deal with. Regardless of whether developers are on board with security, these software flaws are still present, creating business risks no one can afford to ignore. But how do you get to the point where you know developers are on board and are working diligently writing code with security in mind all along the way?

As with most things when dealing with people, you've got to work smart over a longer period of time. The goal is to educate them and change the way they look at security related to their jobs. You certainly can't force any developer to immediately learn security and all of a sudden fix every application security problem. But here's what you can do:

Find an advocate
Odds are you have at least one developer who's moderately interested in improving software security. Give this person the responsibility of leading the effort and mentoring others in development and QA on what to look for and how to do things better.

Get management involved
It's one thing for a peer or a middle manager to push for better software security, but it's quite another when someone in executive management expects it. When a high-level manager such as a CIO or CTO expects secure software, it will get the attention of product managers, project managers, developers and the security team alike and help make things happen.

Get developers involved in security meetings and vice versa
Instead of creating barriers between developers and security staff, get them working together. Be it development planning sessions, security committee meetings or anything in between, at least one member of each party needs to be involved in the other's goings on. This helps ensure everyone is on the same page and expectations are properly set. Unset expectations are the root of most problems related to this anyway.

Show developers what can happen when software flaws are exploited
I don't believe in pushing security with FUD (fear, uncertainty, and doubt), but I do believe in showing people just what can happen in real-world settings. Some good vulnerability scanners, source code analysis tools and manual penetration testing are a great way to prove that the software they're putting out is not where it needs to be. All it takes is a screenshot or two showing database tables extracted via SQL injection, command prompts on remote systems, and similar exploits to get most people's attention.

Show them -- and give them -- the tools they need
Many developers I come into contact with still aren't aware of the tools they can be using internally to find security flaws during development and QA. Many tools, such as Klocwork's K7 and HP Software's DevInspect and QAInspect, plug right into mainstream IDEs to make the security testing process seamless. There's no excuse for developers to not have those tools.

More information on secure software development
Secure programming with static analysis

Developing secure Internet applications

The importance of input validation

Get them the training they need
It's one thing to use the more "reactive" security testing tools but quite another for developers to gain the knowledge of what not to do related to software security in the first place. This requires training and education on a periodic and consistent basis. Be it secure coding classes, security conferences, or some of the good secure coding books out there, such as 19 Deadly Sins of Software Security (McGraw-Hill) and Programmer's Security DeskRef (Syngress), the knowledge is out available. Set goals and tie developers' accomplishments related to this to their annual employee reviews and pay increases.

Set security standards
Rather than going back and fixing stuff from the past, create internal requirements that require all new code to adhere to specific security standards. A good reference to get started with for Web applications is the OWASP Top Ten Project. Sure, not all new software being developed is Web-focused like the OWASP Top Ten, but a large percentage of it is, plus many of the same concepts apply directly to client/server and standalone applications as well.

Regardless of how your role relates to developers, it's key to not force any of this down anyone's throat. It's a proven fact that most new ideas and proposed changes are best accepted when presented casually and approached over time. Work in new ideas and modes of operation slowly, and give people at least 72 hours to mull them over. If at that point you're still not being heard, well, do and do again.

-----------------------------------------
About the author: Kevin Beaver is an independent information security consultant, speaker, and expert witness with Atlanta-based Principle Logic, LLC. He has more than 19 years of experience in IT and specializes in performing information security assessments revolving around IT compliance. Kevin has authored/co-authored six books on information security including Hacking For Dummies and Hacking Wireless Networks For Dummies (Wiley) as well as The Practical Guide to HIPAA Privacy and Security Compliance (Auerbach). He's also the creator of the Security On Wheels series of audiobooks. Kevin can be reached at kbeaver@principlelogic.com.


Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.


Submit a Tip




Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


RELATED CONTENT
Application Security Strategies
Getting started with Web application misuse cases
The essentials of Web application threat modeling
How to prevent XPath injection
Web application hacking: Inside the mind of an attacker
How to define the scope of functional security testing
Cracking passwords the Web application way
Involve the security team in software security testing
Eight reasons to do source code analysis on your Web application
What to do after penetration testing: source code analysis
What to expect of a third-party Web application security tester

Software security testing and techniques
Web application security testing basics
Getting started with Web application misuse cases
OWASP kicks off Summer of Code 2008
Video: Classification, detection of application backdoor attacks
Testing custom applications in a manufacturing context
Ajax security concerns you need to be aware of
Web application hacking: Inside the mind of an attacker
InfoSecurity 2008 Threat Analysis, Chapter 4: XSS Theory
How to define the scope of functional security testing
Cracking passwords the Web application way

Building security into the SDLC (Software development life cycle)
Application security enters uncharted regions
How to prevent XPath injection
Developers get bigger role in software quality, security
InfoSecurity 2008 Threat Analysis, Chapter 4: XSS Theory
How to prevent anti-DNS pinning attacks
Java application security features and measures
Microsoft's Michael Howard: Security must be a part of every application
Password recovery with .NET 2.O using C#
How to address security during requirements gathering
The most effective time to do security testing

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary

DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.

About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides enterprise IT professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective IT purchase decisions and managing their organizations' IT projects - with its network of technology-specific Web sites, events and magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Reprints  |  Site Map




All Rights Reserved, Copyright 2006 - 2008, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts