Friday, May 23, 2008

Response to Is Vulnerability Research Ethical?

One of my favorite sections in Information Security Magazine is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 "face-off" between Bruce Schneier and Marcus Ranum. Often cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y agree, but offer different looks at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 same issue. In cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latest story, Face-Off: Is vulnerability research ethical?, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y are clearly on different sides of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 equation.

Bruce sees value in vulnerability research, because he believes that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to break a system is a precondition for designing a more secure system:

[W]hen someone shows me a security design by someone I don't know, my first question is, "What has cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 designer broken?" Anyone can design a security system that he cannot break. So when someone announces, "Here's my security system, and I can't break it," your first reaction should be, "Who are you?" If he's someone who has broken dozens of similar systems, his system is worth looking at. If he's never broken anything, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 chance is zero that it will be any good.

This is a classic cryptographic mindset. To a certain degree I could agree with it. From my own NSM perspective, a problem I might encounter is cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 discovery of covert channels. If I don't understand how to evade my own monitoring mechanisms, how am I going to discover when an intruder is taking that action? However, I don't think being a ninja "breaker" makes one a ninja "builder." My "fourth Wise Man," Dr Gene Spafford, agrees in his post What Did You Really Expect?:

[S]omeone with a history of breaking into systems, who had “reformed” and acted as a security consultant, was arrested for new criminal behavior...

Firms that hire “reformed” hackers to audit or guard cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir systems are not acting prudently any more than if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y hired a “reformed” pedophile to babysit cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir kids. First of all, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ability to hack into a system involves a skill set that is not identical to that required to design a secure system or to perform an audit. Considering how weak many systems are, and how many attack tools are available, “hackers” have not necessarily been particularly skilled. (The same is true of “experts” who discover attacks and weaknesses in existing systems and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n publish exploits, by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 way — that behavior does not establish cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 bona fides for real expertise. If anything, it establishes a disregard for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 community it endangers.)

More importantly, people who demonstrate a questionable level of trustworthiness and judgement at any point by committing criminal acts present a risk later on...
(emphasis added)

So, in some ways I agree with Bruce, but I think Gene's argument carries more weight. Read his whole post for more.

Marcus' take is different, and I find one of his arguments particularly compelling:

Bruce argues that searching out vulnerabilities and exposing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m is going to help improve cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 quality of software, but it obviously has not--cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last 20 years of software development (don't call it "engineering," please!) absolutely refutes this position...

The biggest mistake people make about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vulnerability game is falling for cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 ideology that "exposing cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 problem will help." I can prove to you how wrong that is, simply by pointing to Web 2.0 as an example.

Has what we've learned about writing software cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 last 20 years been expressed in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 design of Web 2.0? Of course not! It can't even be said to have a "design." If showing people what vulnerabilities can do were going to somehow encourage software developers to be more careful about programming, Web 2.0 would not be happening...

If Bruce's argument is that vulnerability "research" helps teach us how to make better software, it would carry some weight if software were getting better racá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365r than more expensive and complex. In fact, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 latter is happening--and it scares me.
(emphasis added)

I agree with 95% of this argument. The 5% I would change is that identifying vulnerabilities addresses problems in already shipped code. I think history has demonstrated that products ship with vulnerabilities and always will, and that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 vast majority of developers lack cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 will, skill, resources, business environment, and/or incentives to learn from cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 past.

Marcus unintentionally demonstrates that analog security is threat-centric (i.e., cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 real world focuses on threats), not vulnerability-centric, because vulnerability-centric security perpetually fails.

2 comments:

Anonymous said...

I wish I'd seen Marcus's comments earlier -- good point.

Basically, what it comes down to is that we are buying soft widgets at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 big box store, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n poking at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m with sharp sticks to see when cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y fall over. The company cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365n sends us a patch for sharp stick pokes such as that. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 people continue poking. The people with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 best luck poking with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 sticks are anointed as "Expert Stick Pokers" by cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 crowd. Some don't have much luck with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir sticks (too thin) and so cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y proclaim that cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 widget looks pretty sturdy to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m, and besides, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 combination of crowd and suppliers finds and produces fixes pretty darn quick.

But almost nobody in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 crowd recognizes that it was a cheap widget, it never claimed to be immune to sharp sticks, and even chimpanzees could have some success if cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y picked up one of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 long sticks. Hardened widgets used to be available, but cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y were expensive and non-portable, so people stopped buying cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365m. Now cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re is a large market in light, portable widgets -- that continue to fall over, and sometimes hurt people in cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 process.

Nonecá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365less, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 crowd goes back to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 store when a new widget is released -- now with blinking lights, chrome, and 897 new soft spots that shouldn't be poked with sticks. And while cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y're cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365re, cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y'll buy a roll of aluminum foil to wrap cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 widget in to keep it safe from sticks -- at least from soft ones. And cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 government leads cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 pack because cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir procurement orders specified a widget of precisely that shape at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 lowest possible cost.

So, nearly everyone can buy widgets (and aluminum foil), cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y all grumble about cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365ir quality, and cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365y ooh and aah at cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 exploits of cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 stick wielders. And almost no one -- government or industry -- bocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs to invest in how to build stronger widgets, because, after all, we're used to cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 current ones, punctures and all.

It's definitely not sound engineering or sound business practice.

Keep on with cá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365 good blogging!

Richard Bejtlich said...

Spaf, thanks for your comment. To summarize -- you think we could learn from mistakes and make less vulnerable products, but it's not done because that approach is cost prohibitive?

I agree with that for certain classes of problems, but for ocá cược thể thao bet365_cách nạp tiền vào bet365_ đăng ký bet365rs it seems developers are just not adopting simple, cheap practices -- like disabling unnecessary services.