October 06, 2003

Half-Life 2: Black Box vs. Crystal Box Security

Well 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!

Posted by SilverStr at October 6, 2003 03:35 PM | TrackBack
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