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
Newest First  |  Oldest 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
Cartoon
Current Issue
Dark Reading Tech Digest, Dec. 19, 2014
Software-defined networking can be a net plus for security. The key: Work with the network team to implement gradually, test as you go, and take the opportunity to overhaul your security strategy.
Flash Poll
Title Partner’s Role in Perimeter Security
Title Partner’s Role in Perimeter Security
Considering how prevalent third-party attacks are, we need to ask hard questions about how partners and suppliers are safeguarding systems and data.
Video
Slideshows
Twitter Feed
Dark Reading - Bug Report
Bug Report
Enterprise Vulnerabilities
From DHS/US-CERT's National Vulnerability Database
CVE-2014-8802
Published: 2015-01-23
The Pie Register plugin before 2.0.14 for WordPress does not properly restrict access to certain functions in pie-register.php, which allows remote attackers to (1) add a user by uploading a crafted CSV file or (2) activate a user account via a verifyit action.

CVE-2014-9623
Published: 2015-01-23
OpenStack Glance 2014.2.x through 2014.2.1, 2014.1.3, and earlier allows remote authenticated users to bypass the storage quote and cause a denial of service (disk consumption) by deleting an image in the saving state.

CVE-2014-9638
Published: 2015-01-23
oggenc in vorbis-tools 1.4.0 allows remote attackers to cause a denial of service (divide-by-zero error and crash) via a WAV file with the number of channels set to zero.

CVE-2014-9639
Published: 2015-01-23
Integer overflow in oggenc in vorbis-tools 1.4.0 allows remote attackers to cause a denial of service (crash) via a crafted number of channels in a WAV file, which triggers an out-of-bounds memory access.

CVE-2014-9640
Published: 2015-01-23
oggenc/oggenc.c in vorbis-tools 1.4.0 allows remote attackers to cause a denial of service (out-of-bounds read) via a crafted raw file.

Best of the Web
Dark Reading Radio
Archived Dark Reading Radio
If you’re a security professional, you’ve probably been asked many questions about the December attack on Sony. On Jan. 21 at 1pm eastern, you can join a special, one-hour Dark Reading Radio discussion devoted to the Sony hack and the issues that may arise from it.