India's leading Information Risk Management (IRM) company
  About CII SecureSynergy: ISO27001 certified company          
 
IRM HOME
   
Introduction
Services
  - Consulting
  - Training
Newsletter
News
Security Library
InfoSec Glossary
Contact / Feedback
   
 
AUDIT FACILITATION
Vet an Indian company
 
 
END-USER CERTIFICATION
Certified Information Security Aware User (CISAU)
 
 
CII HOME
Other CII Services
:: WTO
:: TQM
:: TPM
:: Technology & IPR
:: SME
:: Skills Initiative
:: Library
:: IRM
:: Invest India Services
:: Green Business
:: Exports
:: Environment Mgmt
:: Energy
:: Corporate Advisory
:: Climate Change
:: Business Development Services
 
 
 
 
 
 
Open Source Software - Panacea or Peril?
Felix Mohan, CEO - SecureSynergy
 

Does the open nature of Open Source make it more vulnerable to attack? Or, does the ability to review code and submit bug fixes make Open Source superior to proprietary software?

Borland positioned a backdoor in their database server 'InterBase' that allowed any local or remote user to take over the system as root. This backdoor stayed snugly in place for seven years and no one other than Borland was any wiser. Safe, or at least distanced from public scrutiny, Borland had no compelling incentive to remove the backdoor. Then, in July 2000, Borland released its source code to the public. Within six months the serious security flaw was discovered, and CERT published the vulnerability as an advisory in Jan 2001. This happened a few months after the uproar in April 2000 when it was exposed that developers of the Microsoft FrontPage web server had inserted a backdoor that lay concealed in the proprietary software for four years. The backdoor's password was: "Netscape engineers are weenies!" - a barb that reflected the intense competition between Microsoft and Netscape at the time.

The Borland and Microsoft incidents may well encourage vehement testimony favouring open source software since it is open for review by the public; but that should be no source for comfort in reality. Even some of the most widely reviewed pieces of open source software have had significant flaws that managed to remain undetected for years, despite the innumerable 'eyeballs' poring through them. For instance, some of the recently discovered buffer overflow flaws in Kerberos, an open source security protocol used for authentication, remained concealed, or at least unobserved, for over ten years! So, there is no guarantee that those scrutinizing open source code will find any flaws in the code, much less all of them.

Most people scrutinize the open source code to customise it to their unique needs, or they review code as part of a security audit. Others may do it to improve the code for altruistic purposes. Unfortunately, some scrutinize open source code with the sole intent of lodging malicious code within it, or to uncover a flaw before anyone else does. Detractors of open source software lambast the ease that is accorded to attackers in harming systems. They tend to propound the view that if code is distributed only as binaries the bar will be raised high enough to deflect attackers away.

Shrouding closed source software
But this argument does not hold water. While it is true that Trojan horses and other malicious code can be inserted into open source code, that eventuality can occur just as well in proprietary code. A disgruntled or dishonest employee could do the deed - and the likelihood of it being found out would be marginal.

Distribution of binaries too doesn't provide much succour because any binary code that can run in a computer can be reverse-engineered, using decompilers or disassemblers, to re-create the source code for the product. An attacker can then scrutinize the reverse-engineered source code to detect attack loopholes, much the same way, as he would do to open source code.

Keeping source code closed does not necessarily secure it. For proponents of closed source software a system cannot be truly secure when its source is open for all to read. For them, secrecy means security. However, in reality, many of the 'most secure' systems available today are based on the open source model. For instance, the US has recently adopted the Advanced Encryption Standard, a public algorithm, as its national standard, which will be used to protect the most sensitive traffic.

The shroud of secrecy over proprietary software leads not to true security but a false head-in-the-sand sense of security. One does not know what is in there, and one cannot verify it. And, one cannot check the integrity or motivation of the people who wrote it. Simply put, one has to blindly accept the assurance on security, which the proprietary software vendor hands them. This, very clearly, isn't enough, considering the fact that their assurances have built-in disclaimers absolving them of legal penalties in case the software is flawed.

Eyeballing open source software
If closed is taboo, is open the answer? While openness is essential for trust, the moot point is whether or not open source software provides that trust. The basic open source philosophy can be summed up as "security through eyeballs". With thousands of people scrutinizing the open source code, bugs and security flaws are more likely to be found and reported — which may not happen in the case of a closed application audited by paid employees working behind closed doors, fired by varying commitment.

Then again, simply because open source code is viewed by 'lots of eyeballs' does not mean that it is reviewed for security. If the code is complex or follows an uncommon design methodology, people are likely to be discouraged from reviewing the code. This situation may be worsened by the lack of documentation. Anything that makes it harder for the average user means fewer eyeballs. Most people only look at the parts of the code they want to modify, which may be only a small section of the code; and they may not do so with security in mind. Many eyeballs are amateurs with only a rudimentary knowledge of security. Considering that many security problems are very subtle and may span large parts of the source code tree, an eyeball may miss the flaw.

Therefore, even if open source code receives many eyeballs, it may not be more secure. And on the ground, there may not be the high quality auditing that people believe happens. Everyone presumes that someone else has done the proper security audit - while in fact no one may have. This can lull people into a false sense of security. It is for this reason that security flaws in open source software may remain undetected for many years.

Linux - the open source magic potion
In the case of the prime open source software — Linux — the kernel may be more secure because it is under tighter control and receives expert code review by a core group led by Linus Torvalds himself. However, the many 'applications' that run on Linux do not get the kind of attention people normally expect. The Linux kernel 2.5.37 is 5.1 million source lines of code, whereas the Linux 'distributions' are very much larger. For instance, RedHat distribution has 30 million lines and Debian has a whopping 55 million lines of source code - the sizes differing because of the kind of applications the vendor bundles into the distribution. Linux does not inherently provide the management ease that systems such as Windows provide, which people have become used to. Therefore, vendors bundle their own management software with their distributions. Such software may receive few eyeballs for code review and therefore, may not be secure. It is, therefore, common to find vendors of Linux distributions regularly issuing security patches for flaws that affect their distributions. Thus, while Linux per se may be more secure, the Linux distributions may vary in their security levels.

A matter of trust
Finally, the trust that one can repose in software, whether it is open or closed, is directly proportionate to the robustness of its security. Trust comes from perceived security; and Microsoft's initiatives such as Palladium and the Trustworthy Computing enable trust through enhanced security. Trust also comes from openness; therefore, the Microsoft source code is now available to Governments for scrutiny if they so desire. In future, trust will come from legally binding assurances. As per Gartner, by 2008 the standard liability disclaimers in software licensing agreements will no longer protect software vendors against lawsuits stemming from breaches of fundamentally insecure software. In that legal environment, the open source model will reign.

 
 
Updated: 01 June 2004
 
 
SEND FEEDBACK ON THIS ARTICLE
 
 
 
 
 
 
 
Information Risk Management (IRM) Service for Industry
in partnership with SecureSynergy
IT SECURITY TRAINING
CII has designed courses for Board of Directors, CEOs, CFOs, CIOs and Management Decision Makers in areas affecting IT Security Governance and implementation of enterprise-wide security programs.
::. MUST  READ .::
Role of IT in Corp Governance
IT Security Governance
Information Security - A Business Enabler
IRM - A BPO Imperative

Say yes to
S T A N D A R D S  &  R E G U L A T O R Y
C O M P L I A N C E

Regulation establishes security duties and standards to foster better governance...
 
 
 
 
 
 
All rights reserved :: Confederation of Indian Industry (CII) © Copyright 2004-2008
Copyright  ::  Disclaimer  ::  Privacy