Perimeter
3/25/2013
01:21 PM
Gunnar Peterson
Gunnar Peterson
Commentary
50%
50%

Putting Out Fires With Gasoline

Spending for security and identity products is going up, but here is a sobering thought that should give you pause--our solutions may be part of the problem

How many legs does a three-legged dog have if you call a tail a leg? It still has three legs, just because you call a tail a leg does not make it a leg.

Complexity is security's biggest enemy. This adage is as old as information security itself. But stop and think about a typical enterprise: sure, they have databases, customer apps, Web apps, messaging systems, app servers, and a boatload of custom code, and all those systems create a lot of work for security teams that have to harden them for production use. However, those systems are not the most complex in the enterprise. Ask yourself - is there anything more complex in your enterprise than Kerberos or PKI or any number of security and identity protocols?

Complexity is security's biggest enemy, and yet the security mechanisms themselves are the most complex parts of the enterprise. This simple, sobering thought explains so much of security's struggle. We identify problems in some complex app, but the controls introduce yet more complexity (and a whole series of unintended consequences brought on by the interaction of two or more complex systems). Infosec is good at locating fires, problem is we're pouring gas on the fire when add yet more complexity.

The security industry has identified numerous problems in applications and servers, but the security controls brought in to remediate these issues, well, where did they come from? They did not emerge from a mountaintop in Switzerland where all the keys to perfect programming are known. Frequently they were written by the same companies and even teams who wrote the other products we're trying to protect. Often they run inside the same server code.

Even when the security products are written by a different vendor there is no particular evidence that they raise the bar in overall security. In fact they may lower it.

Veracode's State of Software Security report showed that security products have the most insecure code of all product types! Worse than learning systems, worse than customer support, worse than operations. This is a message that deserves to be told again and again. Just because you call your product a security product does not mean its adding security, it may be subtracting security.

It's even worse than that because when an isolated app fails, you have an isolated failure in which you can hopefully contain the fallout. But when a security or identity system fails, the damage is potentially widespread. Contagion, if you will. Your access management system that does authentication across 27 apps: what happens if it fails? Suddenly 27 apps have inherited a big problem.

The typical security engagement goes something like this:

    1. App team reviews project with security team
    2. Security team does risk and vulnerability assessment
    3. Security team recommends controls to address findings
    4. App Team implements controls
That is fine as far as it goes, but needs two important steps
    0. Dogfooding - Security team vet, extensively test, risk and vulnerability assessment on all controls in security architecture
    1. App team reviews project with security team
    2. Security team does risk and vulnerability assessment
    3. Security team recommends controls to address findings
    4. App Team implements controls
    5. Security team tests the composite of its own recommendations once integrated with the app
To me, step 0 dogfooding is very important for the security team to build credibility, it should hold its own products to a higher standard than it holds its own app devs too. Simply put, the risk is higher. Unfortunately, the situation today is security products are deployed with less not more security.

As for step 5, there is no replacement for a synthetic test to identify weaknesses in the ways the different parts are integrated. This is essential. App development teams take it for granted that they have unit test code for all functionality. Security teams often throw stones at methodologies like Agile, but say this for Agile - they got the importance of testing. Do most companies have similar rigor for automated test suites on the identity and access management systems that provide access control across all users? In a word, no.

Your next Security Development Lifecycle target should not be your company's next big application project, it should be your security and identity products themselves. For those products - how much did you trust versus how much did you verify? Security, heal thyself.

Gunnar Peterson is a Managing Principal at Arctec Group Gunnar Peterson (@oneraindrop) works on AppSec - Cloud, Mobile and Identity. He maintains a blog at http://1raindrop.typepad.com. View Full Bio

Comment  | 
Print  | 
More Insights
Comments
Oldest First  |  Newest First  |  Threaded View
ANON1248837340478
50%
50%
ANON1248837340478,
User Rank: Apprentice
3/25/2013 | 8:21:32 PM
re: Putting Out Fires With Gasoline
Security vendors are often no help, especially with their web-based product consoles. If I had a dollar for every admin console with a XSS or SQLi vulnerability, that did not allow the use of SSL, or only allowed it with a self-signed certificate, I'd easily have another $25 or so. That's $25 too much. And that's just scratching the surface.
Register for Dark Reading Newsletters
White Papers
Video
Cartoon
Current Issue
5 Security Technologies to Watch in 2017
Emerging tools and services promise to make a difference this year. Are they on your company's list?
Flash Poll
New Best Practices for Secure App Development
New Best Practices for Secure App Development
The transition from DevOps to SecDevOps is combining with the move toward cloud computing to create new challenges - and new opportunities - for the information security team. Download this report, to learn about the new best practices for secure application development.
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2013-7445
Published: 2015-10-15
The Direct Rendering Manager (DRM) subsystem in the Linux kernel through 4.x mishandles requests for Graphics Execution Manager (GEM) objects, which allows context-dependent attackers to cause a denial of service (memory consumption) via an application that processes graphics data, as demonstrated b...

CVE-2015-4948
Published: 2015-10-15
netstat in IBM AIX 5.3, 6.1, and 7.1 and VIOS 2.2.x, when a fibre channel adapter is used, allows local users to gain privileges via unspecified vectors.

CVE-2015-5660
Published: 2015-10-15
Cross-site request forgery (CSRF) vulnerability in eXtplorer before 2.1.8 allows remote attackers to hijack the authentication of arbitrary users for requests that execute PHP code.

CVE-2015-6003
Published: 2015-10-15
Directory traversal vulnerability in QNAP QTS before 4.1.4 build 0910 and 4.2.x before 4.2.0 RC2 build 0910, when AFP is enabled, allows remote attackers to read or write to arbitrary files by leveraging access to an OS X (1) user or (2) guest account.

CVE-2015-6333
Published: 2015-10-15
Cisco Application Policy Infrastructure Controller (APIC) 1.1j allows local users to gain privileges via vectors involving addition of an SSH key, aka Bug ID CSCuw46076.

Dark Reading Radio
Archived Dark Reading Radio
In past years, security researchers have discovered ways to hack cars, medical devices, automated teller machines, and many other targets. Dark Reading Executive Editor Kelly Jackson Higgins hosts researcher Samy Kamkar and Levi Gundert, vice president of threat intelligence at Recorded Future, to discuss some of 2016's most unusual and creative hacks by white hats, and what these new vulnerabilities might mean for the coming year.