![]() |
![]() |
|
April 15, 2004Open Source vs. Closed Source SecurityThis morning I came across an interview (you can listen to the mp3 here) with Gary and Greg that I found quite interesting. As part of their tour for their latest book "Exploiting Software: How to Break Code" (a great read.... something I highly recommend and will be reviewing shortly) Gary and Greg have a segment in the interview where they discuss why IT DOESN'T MATTER IF CODE IS OPEN OR CLOSED from a code audit perspective. So many OSS fans refuse to accept this, and until they understand how you can get the code from the binary... it will continue to be a futile debate. Perhaps they need to get their own copy of the book :) Posted by SilverStr at April 15, 2004 09:04 AM | TrackBackComments
I agree that binaries aren't as obscure as many programmers think they are, and that mixing black box and white box techniques is the preferred method of testing security, but I don't think it's quite as simple as there being no difference between open source and closed source. It's true that you can audit closed source binaries, but the fact that it's possible doesn't make it easy or cheap. It's clearly easier and faster to audit code when you have the code, even if you are a skilled reverse engineer, which most software engineers aren't. Given limited amounts of time, money, and personnel, I'll choose the easier task of auditing code (with comments and structure) that I have over reconstructing the code, then auditing the resulting uncommented and generally messier code. One could reverse your argument as one against closed source, as the fact that you can get the source from the binary is a counter to the argument that closed source software is more secure than open source software because of the obscurity of closed source binaries. Crackers already do have a high degree of reverse engineering experience, unlike your typical software engineer. Posted by: James Walden at April 18, 2004 03:51 PMHey James, I agree its easier to audit the code over disassembly. However, in an earlier post (http://silverstr.ufies.org/blog/archives/000525.html) I explained why this is rarely the case. In THEORY code quality and code correctiveness are enhanced with access to source code. In REALITY that is only the case if code audits are actually done. And done by those that know what they are doing. I am trying not to take sides in the debate of open vs closed source. That's because I don't think it matters. The point shouldn't be if access to source code is the issue. It should be about the design and audit practices that are applied to the code base. Those who know what they are doing can just as easily do a combination of static analysis and blackbox testing against the target process without much difficulty and find flaws. When the code is incorrect, you can’t really talk about security. When the code is faulty, it cannot be safe. When code isn't audited, you will never be able to know the difference. Posted by: SilverStr at April 19, 2004 07:25 AMOf course, I agree that having the source code only helps if you actually do security audits of the code, which is one of the primary reasons why OpenBSD has a better security record than both open source Redhat Linux and closed source MS Windows. I also agree that the open or closed nature of the source code isn't one of the major indicators of the quality of the security of a software system, because security is rarely a top concern for most software developers. However, having the option to audit viewable source code is better than not having that option. Open source is also relevant to design, since it offers software engineers a chance to learn from good and bad examples of security design. While most of us spend much time on the job reading code, it's generally code written in our current organization. I think our profession would benefit from reading more widely, spending more time in examining code from outside our current organization. Open source offers that opportunity to learn from many different groups of developers that closed source does not. Posted by: James Walden at April 19, 2004 09:49 AM |
![]() ![]()
My 5 Favorite Books
Writing Secure Code
Secure Programming Cookbook Security Engineering Secure Coding Principles & Practice Inside the Security Mind ![]()
My 5 Favorite Papers
Smashing the Stack
Penetration Studies Covert Channel Analysis of Trusted Systems DoD Trusted Computer System Evaluation Criteria NSA Security Recommendation Guides ![]()
Archives
January 2007
December 2006 November 2006 October 2006 September 2006 August 2006 July 2006 June 2006 May 2006 April 2006 March 2006 February 2006 January 2006 December 2005 November 2005 October 2005 September 2005 August 2005 July 2005 June 2005 May 2005 April 2005 March 2005 February 2005 January 2005 December 2004 November 2004 October 2004 September 2004 August 2004 July 2004 June 2004 May 2004 April 2004 March 2004 February 2004 January 2004 December 2003 November 2003 October 2003 September 2003 August 2003 July 2003 June 2003 May 2003 April 2003 March 2003 February 2003 January 2003 December 2002 November 2002 October 2002 September 2002 August 2002 July 2002 ![]() |
|