The frenzy around Heartbleed has distracted the technology industry from some important, material facts about Open Source software.
First, there are a lot of different Open Source projects but some are more popular than others and it is estimated that OpenSSL is used to run about 60 per cent of the Internet. The popularity of Open Source projects mean that they regularly analysed for vulnerabilities that can be fixed or exploited.
Second, developers will continue to use Open Source software … and they should continue to do so. Why? Simply because the market today dictates that developers need to do more with less. When the demand is for shorter time to market, delivering more competitive products and features more quickly, and creating innovative, mature software that is rich in functionality, using existing Open Source code saves time and resources.
The philosophy of Open Source is commendable. The real praiseworthy aspect is in its practical application – it’s efficient, it’s incredibly useful and, by and large, it just works.
That said, like any code, Open Source will not be error-free. Like with commercial software, there will always be more developers looking to add more features than testers looking after coding errors. In my experience and through AVG’s practices, in approximately every 10,000 lines of code written by developers, there will likely be at least one vulnerability waiting to be discovered.
That vulnerability is likely to simply be a mistake and its impact depends on a number of factors:
- How popular that project is and therefore its adoption penetration
- How quickly the vulnerability is identified
- How quickly the vulnerability can be fixed
- The magnitude of the impact of the vulnerability before it is fixed
In one case, a vulnerability could be quite simple to fix but if the code it is in supports many of the routers and gateways on the Internet, for example, then the impact could be very serious. This is what happened with Heartbleed.
Heartbleed has inspired both researchers and hackers to look at other Open Source projects with very careful eyes. Should another such flaw be identified, there is real potential for another mass hit against servers, devices and users because it’s much easier to attack a system when you know the code on which it was built.
There are three things that as an industry, we can do to ensure that Open Source projects remain popular and continue to help us deliver innovation across the board. It’s in our interests to be smart about this and to encourage developers to add more code and more features.
- Don’t assume that Open Source code is perfect. Do your own checks – make sure your testing and scanning procedures are in place and thorough. If you don’t have any, put in place a process that enables you to secure your chosen Open Source code from scratch before you build your project.
- If you find vulnerabilities, share this publicly for feedback and awareness. Open Source will thrive if the user community is open about issues and can work together to alert others and help fix them. It will also help to thwart the bad guys from covertly exploiting a vulnerability.
- Select a provider to do this research for you if you haven’t the ability to do it yourself. Use automated code scanning products to identify common coding errors that can be fixed before you release your product. Make sure to use both static and dynamic inspection methods where applicable.
- If you can afford, donate to the project you benefit from. The development and testing teams will highly appreciate that.
Open Source is not going away any time soon and as a shared tool for the technology industry, we all need to be more vigilant in testing and scanning the code we use to build our products and services. It’s best practice and it secures the industry’s future.
April 29, 2014