Risk
7/11/2013
07:33 AM
Dark Reading
Dark Reading
Quick Hits
Connect Directly
RSS
E-Mail
50%
50%

The Five Most Common Security Pitfalls In Software Development

How can software developers build more secure applications? Here are five pitfalls to avoid

[The following is excerpted from "Five Most Common Security Pitfalls In Software Development," a new report posted this week on Dark Reading's Application Security Tech Center.]

Security tends to be a touchy subject for software developers under pressure to produce a finished product. It's hard enough to code a well-performing application that meets all functionality requirements, but it's infinitely harder to code sof tware that addresses the most common security vulnerabilities. No developer wants to see his or her application taken out by an unforeseen exploit or vulnerability.

If project managers had the luxury of time and money, much more attention could be devoted to coding practices that put security at the forefront. But the reality is that coding for security is expensive, complex and can drag out the software development lifecycle. Doing it well just takes time, and for every internal IT and commercial software development shop, time is money.

With all that said, failing to address a potential vulnerability during the software development lifecycle can be very costly -- much more so, in many cases, than the price of weaving best security practices in from the beginning.

Security pros and developers alike know you simply can't anticipate, predict or prevent each and every attack that may be lobbed at your software application. However, they also know that the vast majority of attacks can be mitigated through sound coding practices.

According to a recent vulnerability trends report released by Cenzic, 99% of software applications that Cenzic tested in 2012 had at least one vulnerability, with an average of 13 vulnerabilities in the pool of software applications that the firm tested in 2013.

Some of the vulnerabilities that Cenzic discovered could be attributed to the infrastructure side of the house, such as Web server configuration issues, authentication weakness or patch management issues. But the application-specific vulnerabilities discovered were the same old, predictable and preventable SQL injection, XSS and code execution attacks that we have been seeing for years.

Developers mindful of application security know that there are things you can control, and there are things you can't control. For example, you likely can't control the way that your company's Web servers are managed and patched. However, you can control your application logic; you can control API calls; and you can control the methods and functions you use in your code. For that matter, you can control how you process and store data, and you can likely control the way your applications interact with a back-end database.

In general, addressing the overall security of an application is best left in the hands of a developer. Yes, Web security proxies and other network security tools will filter out potentially damaging attacks, but these tools are not bulletproof. Developers must make sure that their applications are as close to unhackable as possible when, invariably, an attacker does make it past other defenses. There are many ways to do this, but in this report we recommend the five that will have the biggest impact against the most damaging attacks you're likely to see.

1. Validate All User Input and Escape Output
The vast majority of vulnerabilities in database-driven Web applications can be attributed in some way to the way we process user-supplied input. So why don't developers implement proper validation all the time? The real truth is that validating all user-supplied input can be costly--both in terms of the complexity of the additional code required to make it work and longer development and testing cycles. And, from a technical perspective, validating all user-supplied input isn't exactly an easy task.

As with many things related to software development, there are several different ways to approach this problem.

To read more about validating user input -- and to read the other four most common security pitfalls in software development -- download the free report.

Have a comment on this story? Please click "Add a Comment" below. If you'd like to contact Dark Reading's editors directly, send us a message.

Comment  | 
Print  | 
More Insights
Register for Dark Reading Newsletters
Partner Perspectives
What's This?
In a digital world inundated with advanced security threats, Intel Security seeks to transform how we live and work to keep our information secure. Through hardware and software development, Intel Security delivers robust solutions that integrate security into every layer of every digital device. In combining the security expertise of McAfee with the innovation, performance, and trust of Intel, this vision becomes a reality.

As we rely on technology to enhance our everyday and business life, we must too consider the security of the intellectual property and confidential data that is housed on these devices. As we increase the number of devices we use, we increase the number of gateways and opportunity for security threats. Intel Security takes the “security connected” approach to ensure that every device is secure, and that all security solutions are seamlessly integrated.
Featured Writers
White Papers
Cartoon
Current Issue
Dark Reading's October Tech Digest
Fast data analysis can stymie attacks and strengthen enterprise security. Does your team have the data smarts?
Flash Poll
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-0619
Published: 2014-10-23
Untrusted search path vulnerability in Hamster Free ZIP Archiver 2.0.1.7 allows local users to execute arbitrary code and conduct DLL hijacking attacks via a Trojan horse dwmapi.dll that is located in the current working directory.

CVE-2014-2230
Published: 2014-10-23
Open redirect vulnerability in the header function in adclick.php in OpenX 2.8.10 and earlier allows remote attackers to redirect users to arbitrary web sites and conduct phishing attacks via a URL in the (1) dest parameter to adclick.php or (2) _maxdest parameter to ck.php.

CVE-2014-7281
Published: 2014-10-23
Cross-site request forgery (CSRF) vulnerability in Shenzhen Tenda Technology Tenda A32 Router with firmware 5.07.53_CN allows remote attackers to hijack the authentication of administrators for requests that reboot the device via a request to goform/SysToolReboot.

CVE-2014-7292
Published: 2014-10-23
Open redirect vulnerability in the Click-Through feature in Newtelligence dasBlog 2.1 (2.1.8102.813), 2.2 (2.2.8279.16125), and 2.3 (2.3.9074.18820) allows remote attackers to redirect users to arbitrary web sites and conduct phishing attacks via a URL in the url parameter to ct.ashx.

CVE-2014-8071
Published: 2014-10-23
Multiple cross-site scripting (XSS) vulnerabilities in OpenMRS 2.1 Standalone Edition allow remote attackers to inject arbitrary web script or HTML via the (1) givenName, (2) familyName, (3) address1, or (4) address2 parameter to registrationapp/registerPatient.page; the (5) comment parameter to all...

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
Follow Dark Reading editors into the field as they talk with noted experts from the security world.