When a software company will not make the source code for a product available, one must put one's faith in something called security through obscurity. The argument for security through obscurity is simple. If crackers could get to the source code, it would be easy for them to find ways to exploit weaknesses in the product.
While that sounds like a logical argument, it is easily refuted. If you are not already convinced by the numerous Windows, Internet Explorer, and Microsoft Outlook exploits, then pay a visit to Game Copy World (see Resources for a link) sometime. You'll see just how easy it is for people to break the copy protection for games without having to see the source code. The site often publishes copy protection workarounds the same day a game is released. (By the way, I believe Game Copy World is actually providing a legitimate and valuable service. As someone with young children, I can confirm the need to make backup copies of games that get scratched and ruined by reckless little fingers.) Ironically, we open source advocates have confidence in the security of open source software for the same reason others defend security through obscurity -- open source code actually does make it easier to spot weaknesses in a product. We simply take the next step in the logic. If having the source code makes it easy to spot weaknesses, then the best way to find and plug security holes is to make the source code as widely available as possible and solicit the input of those who use it.
NSA key revisited
A greater security risk than system cracking concerns me, one that is only possible through source code obscurity: intentional backdoors.
A couple years ago, researchers discovered that Windows 95, Windows 98, Windows NT, and Windows 2000 include two cryptographic keys. When a Windows service pack accidentally failed to cloak the identity of the keys, Andrew Fernandes discovered that the second key was called _NSAKEY. The implication is that Microsoft provided the National Security Agency (NSA) a way to crack into or decrypt information on any Windows box for surveillance or data-recovery purposes.
Microsoft denies providing the NSA with a backdoor, of course, and says the NSA label only indicates that the key meets the cryptographic requirements of the NSA. Unfortunately, there is no way to know if Microsoft is telling the truth. After all, if it is true that the NSA has a backdoor into every Windows system, then what could one expect Microsoft to say? Such an admission might as well be followed by instructions on how to remove Windows and replace it with just about anything else.
It's bad enough that Microsoft and the NSA may have peepholes into our desktops and servers. But what about the crackers who broke into Microsoft recently? Do they now have those same peepholes? Did the crackers who broke into Microsoft modify any source code in order to introduce new backdoors into Windows, or expand existing ones? Did the crackers steal any of the source code? Is there enough information in the source code to provide the crackers a backdoor into Windows systems? Is there enough information there to provide the crackers with a way to decrypt information on any given system without having to know a password?
Just as important are the following questions: Who are the crackers? Are they operating alone or with the aid of a rival company or nation? With whom will the crackers share the source code, assuming it has been stolen?
Depending on the answers, the recent security breach could lead to some alarming possibilities. Given enough information, unknown people, companies, or even nations could soon easily crack into Windows systems and decrypt the information there. If Microsoft knows this is the case, it is not in a position to admit it. To do so would create an embarrassment from which not even Microsoft could recover. An admission would also compromise any relationship Microsoft may have with the NSA.
It's time for Microsoft to face reality and open Windows' source code. Aside from encouraging customers to go into denial, that is the only way Microsoft can restore confidence in the security of Windows. People must have the ability to examine, modify, recompile and reinstall the code on their own. Then, and only then, can Windows customers have any assurance that their systems are safe from prying eyes.
Paranoia or reality?
When I worked on a defense project many years ago, I was required to get secret clearance. An FBI agent briefed many of us who received clearance on the techniques foreign governments may use to get information from us.
One of those techniques is blackmail. The process is simple. The spies get someone to entice you into his or her hotel room and seduce you. Naturally, someone takes pictures of the hotel room activities, and uses those pictures to blackmail you for secrets. According to the FBI agent who briefed us, that sort of thing takes place only in Europe. I asked the fellow exactly where in Europe I could go for such blackmail. He actually did give me directions, but he didn't think my question was very amusing. FBI people have no sense of humor.
The agent also walked us through the tactics that a spy would use in the US to try to obtain secrets. I dismissed it all as silly paranoia.
Then one day while I was riding the train home from work, I made the mistake of whining about government waste to the passenger next to me, someone who claimed to be a Russian translator for the Library of Congress.
It took me completely by surprise when he then followed exactly the pattern the FBI agent had said spies would use to gain your confidence. I hadn't befriended this person -- I hadn't even given him my last name -- but he mysteriously found my phone number and called to invite me to meet his wife. Despite the fact that I declined every invitation and rarely even talked to him, he sent me a letter offering to bring me in on the ground floor of a new business venture, because I seemed like such a "sharp guy." Those and other actions over the next few weeks so perfectly reflected the FBI agent's version of "how it is done" -- right down to the catch phrases the agent said those people use -- that it nearly scared me out of my wits. Fortunately, when I finally told the guy to buzz off, he took the hint and I never heard from him again.
Open source closes doors
My point is simple. That experience made me a lot less flippant about security. I am convinced that it is not paranoia to assume that foreign governments (or even our own government agencies) are capable of invading our privacy and willing to do so. And you can get fodder for blackmail much more easily by digging through people's computers than you can by trying to seduce someone in Europe.
Fortunately, open source closes backdoors, as ironic as that may sound. I am reasonably sure that my Linux-based machines have no NSA-enabled or other secret backdoors. Even if it were possible to insert such patches without Linus Torvalds or the other kernel maintainers noticing, those secret patches would be discovered by many other Linux kernel hackers.
So I advise you or your company to commit to open source to the extent that it is possible for you. That means putting pressure on companies like Microsoft to provide the source code for Windows and other applications in a form that allows us to recompile and reinstall them. If Microsoft refuses to do so and we must abandon it altogether, so be it.
We may not have enough power over our own privacy, but we do have some. I strongly recommend that we exercise what power we have by committing to open source.