Utter the words "open source" in an organization's tech circles, and you're just as likely to hear an application developer gush as to curse. The term is divisive, a rival sports team debate for the geeky set, but one that usually pushes developers and architects to be creative. When it comes to the debate about open source security development, however, there are more than a few myths and definite room for improvement, especially with respect to encryption.
Open source or proprietary: either/or?
Let's start by quickly spelling out benefits and holes in both proprietary encryption solutions and their open source alternatives. For proprietary, you've got something tested (to some degree) out of the box, nice and tidy. Ah, if only you could get it to work the same way the sales engineers described it… but that's part of the reason you signed an SLA for support. And it's why you'll get alerts of bugs and repeated notices to upgrade as you go along. With buy-in, you're given a handshake deal on data protection, someone for backup or blame, depending on where you sit along the chain of risk.
Users opt for open source encryption because of the persistent thoughts -- true or not -- that bringing in outside crypto is pricy and not as secure, because the source is closed. Rather than promises from an outside company that the software has been vetted, you can see a community of developers and a history of product fixes and flaws out in the open.
Open -- for attack
Battles over poorly crafted or badly executed proprietary solutions will be played out in the courts and press. Open source security issues, however, can linger beneath the surface or be confused with an attack on the community that created them. Recent notable incidents offer insight into ways open source security and crypto can get better.
First off, there was OpenSSL. The Heartbleed flaw compromised hundreds of thousands of sites, opening the door to hackers and frustration for anyone who has a password. Months on, there are bugs popping up on every type of website for various versions of this open security framework.
Closer to a traditional understanding of crypto, we were also saddled this year with ruinous problems in TrueCrypt, the open source security software that shut down "mysteriously" due to "unfixed" protection issues. Since the announced shutdown, TrueCrypt's torch bearers keep up the site as a means of migrating away… to a proprietary solution.
How can open source get smarter?
As someone who's spent time on both the proprietary and open community development sides of things, I can offer five factors to consider when making a decision about open source cryptography.
- Take open to heart: The developers I work with always joke that the best developers "steal good code." It's much simpler to cut and paste if you can trust the source. It's flawed, however, to assume security code is good just because it's open. As simple as it seems, take your developer team to task on what they're using.
- Born to die: When a bunch of people chip in to create something, it can be hard to pull the plug. If open source creations or iterations are woven throughout the enterprise software stack, it could be left to linger long after its useful life. (Shellshock, anyone?) Software needs to be kept up to date, especially where security is concerned. Companies force themselves to make decisions about which products to kill.
- The pen is mightier: Any individuals or organizations that take information security seriously should do their own pen testing on an application before they add it to their arsenal. For enterprise customers, there are a number of providers that can provide product security assessments, including white box and black box testing, architecture design assessments, and even threat modeling.
- You're not a cryptographer: I talked before about not kidding yourself with security. It comes down to this fact: You probably don't have a cryptographer on staff. Real, solid encryption involves more than cracking open a copy of Applied Cryptography by Bruce Schneier. You can do DIY reports or sales analytics, but when it comes to managing keys and implementing ECC (or not), some degree of expertise is in order. Also, open or closed, most crypto is based on a few, vetted standards.
- Any way to get smarter. Be realistic about your in-house capabilities, user adoption/aptitude, and, most of all, appetite for risk. That training course or conference session could go a long way in terms of sizing up what you're able to pull off safely.
Reflecting on these issues, you'll be able to make a better determination about crafting a solution, bringing in proprietary protection, and strengthening what you've already invested in. With smarter open source security, we're all contributing toward designing the best ways to guard against today's data protection threats.