![]() |
![]() |
|
October 06, 2003Half-Life 2: Black Box vs. Crystal Box SecurityWell if you haven't heard, last week Valve Software (makers of the Half-Life game) announced that they were systematically hacked, with the ultimate result being that their latest source code to a game not yet released (Half-Life 2) was stolen, and they had to push back the release date. Today there was an interesting article over at Digit Magazine which includes quotes from Gabe Newell that made me shake my head. One of Gabe's comments is that they now have to do an exhausitive code audit to look for bugs because the code is now out there for hackers to view. Umm, you mean you wouldn't have done one otherwise? I begin to get frustrated when I hear this from companies that have the resources to do so. (We all should do code audits anyways, but I can understand resource allocation issues exist in small companies) No software is perfect, and there will always be bugs. But if you are ready to ship (they were planning to ship Sept 30th before the theft), wouldn't you have already done this? I like the old rule that you should always keep your code in a shippable state. This is what I hate about the paradoxial argument of crystal box vs. black box security. Security by obscurity will always be trumpt by the willing and able to break it. Why do you think crypto algorithms that are vetted by tonnes of people do better and last longer than secret rolled up private ones? Because it is reviewed and beaten to death by the masses. The real strength of the cipher is in keeping each key safe, not in the secrecy of the algorithm. Now I am not saying that Half-Life 2 should be open sourced and the world can audit it. What I am saying though is that if you have a reliance on black box security to keep you safe, there is something wrong there. A determined member of the underground with little more than a SoftIce debugger and some time will get through anything you try to hide in code on Windows. This became even more apparent at the end of the article when they brought up the point that it will be much to easy for new mega cheats for the game. Outside of the cheats for local play (wanna cheat yerself... go right ahead) the only real threat here is network play. I can understand not wanting god like powers as you play multiplayer. But this is where interactive synced comms should come into play so no one machine can do this. I feel for Gabe and the team at Valve Software who have worked so hard and have had their software stolen. This isn't right. It's their intellectual property and no one has a right to steal it like they did. I just came off IRC and was offered the source twice. I obviously did not partake, but its distribution is running rampant right now. So don't let the bastards win on IRC. When Half-Life 2 comes out, go buy a copy and help out Valve Software, so they can come out with a better version and hopefully fix their design philosophy in regards to black box security. And more to the point, enjoy the game. If its anything like the original.... it will be great fun! Comments
Actually they had already announced they wouldn't make their sept 30 ship date before the theft was made (or at least made public). The reason was pretty much "it's not ready yet, we're sorry" and I didn't get the idea that they were doing it because of the as-then undiscovered or unannounced code theft. Course, depending on the version of your tinfoil hat...... :) Hopefully they can get the network part of the code fixed up so that it's cheat proof though and get HL2 out in a reasonable time. Of course, Dues Ex 2, Max Payne 2, STALKER and Doom3 are coming out soon as well :) Posted by: Arcterex at October 8, 2003 11:10 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
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 ![]() |
|