Topics


Blogs


Forums


Samples


Media


Labs


Resources

 




DevCentral > Weblogs > Lori MacVittie - Two Different Socks
 Excuse Me But Is That a Gazebo On Your Site?!
posted on Thursday, October 01, 2009 4:07 AM

There are few things in reality that can match The Gazebo in its ability to evoke fear and suspicion amongst gamers. The links on your web site may be one of them.

gazebo In the history of Dungeons and Dragons there exists the urban legend known to all as “The Gazebo.” The Gazebo, over the years, has become a gaming euphemism for a situation in which people over analyze and overestimate the risk involved with interacting with some “thing”. In the case of The Gazebo the “thing” was, as you might guess, a gazebo. Yes, a simple wooden structure placed in gardens where lovers meet under the moon and all that. A player, according to legend, would not believe this simple gazebo was not dangerous. So he attacked it and, failing to elicit a response, eventually decides to run away. The DM (Dungeon Master), having been frustrated by the waste of time that was the encounter, decides the gazebo was a threat after all and has it eat the player’s character.

Now it might be the case that gamers are just overly suspicious, as many types of geeks are wont to be. I will admit, with just a bit of embarrassment, that I was a part of a group of gamers who once frustrated Don for hours by treating some apparently innocent green algae as though it was a giant, poisonous snake. Yes, our “gazebo” was in fact just normal, everyday mold. Luckily for us Don was kinder than the DM in the Gazebo incident and we eventually realized how foolish we were and continued on with our game.

It may come as a surprise to you, but if you allow user-generated content on your site then thanks to circumstances beyond your control your users are probably running into Gazebos all over your site.

THE GAZEBO ON YOUR SITE

with many apologies to my fellow gamers and especially Richard Aronson

Web Master: You see a well-designed web site. In the middle, on a post, you see a link.

Eric: A link? What color is it?

Web Master: (Pause) It's blue [default ‘unvisited link’ color], Eric.

Eric: How far away is it?

Web Master: About half way down the page.

Eric: What’s the domain name?

Web Master: (Pause) It's thislinkisokaytoclickonipromise.com.

Eric: (clicks mouse) I view source to detect whether it's good.

Web Master: It's not good or bad, Eric. It's a link!

Eric: (Unusually long pause, even for Eric) I put my mouse over it.

Web Master: It says “Follow me”. It's a link!

Eric: (Pause) I close the source view and open my anti-virus scanner. Does it respond in any way?

Web Master: No, Eric. It's a link!

Eric: I run the anti-virus scanner. What happened?

Web Master: You are now using 80% of your CPU to run anti-virus.

Eric: (Pause) Didn’t it neutralize it?

Web Master: Of course not, Eric! It's a link!

Eric: (Whimper) But the anti-virus should detect if it’s malicious or not!

Web Master: It's a link, Eric, a link! 

Eric: (Long pause - he has no more ideas) I close the page.

Web Master: (Thoroughly frustrated) It's too late. You've awakened the link, and it automatically downloads a virus that eats all the data on your hard drive.

Eric: (Reaching for his CDs) Maybe I'll install Linux so I can avenge my Windows install...

The latest study “State of Internet Security” from WebSense indicates that 95% of all user-generated content is, well, to put it simply, “bad”. Even more frightening is the conclusion that “61 percent of the top 100 sites either hosted malicious content or contained a masked redirect” and “77 percent of Web sites with malicious code are legitimate sites that have been compromised.”

Basically, the Internet is full of Gazebos and it’s enough to make users shy away from clicking on any link on any site lest they become infected with the latest malware du jour.

The InfoSec community spends a lot of time talking about how businesses can protect themselves against miscreants, but we don’t often talk about how we can protect our users from, well, other users. Yet according to the WebSense study and “top ten lists” of attack techniques, it is user-generated content that puts both business and its users at risk for malware, for attack, for theft of identity and personal information. That’s probably because we can control many of the variables that put the business at risk but there’s less we can do to protect users from other users and themselves.

THERE’S NO FOOL-PROOF SOLUTION TO THIS ONE
The use of user-generated content as a means to exploit vulnerabilities in both client and server side systems means that the first line of defense should be at the web-application, at the point at which the user is generating the content. Simply disabling the ability to share information via links is not an option today as the majority of sites are based entirely on the is capability and without links the Internet essentially breaks.

Now if the link being submitted or included in the user-generated content contains something “evil” it’s easy enough for a web application firewall (WAF) or the application’s own security checks to stop it from being added to the system and later propagated out to users. A WAF can determine when someone is trying to inject a malicious link into a site via XSS or SQLi or through obfuscation and stop that from happening, but if the link is “just a link”, there’s really no good way to determine its “goodness” or “badness” without following it and examining its content and environment.

But links are neither “good” nor “bad” themselves, they’re just a mechanism for connecting (integrating) two disparate sites together. It’s the content behind the links that’s the problem, and that’s something that’s far more difficult to ascertain when the content is somewhere else. If it’s just a link and someone is trying to entice a user to visit it and it is at the destination site where “bad” content resides, neither a WAF nor the application’s security checks can really address the problem.

We’ve solved this problem, to a large degree, with e-mail and SPAM already through the use of reputation-based systems. These systems evaluate the reputation of the sender and, based on that information, determine whether the mail will be accepted or not. Now we can’t necessarily do that with users generating content but we could do something similar to that with links. If you’ve ever read through descriptions of worms and viruses and links that spread malware you’ll note that the common theme across all the links is that they’re going to one of a short list of URLs with some identifying characteristics.

It is those identifying characteristics we could use to determine the “goodness” or “badness” of the link and thus either allow or deny the user to include it in their user-generated content. If we already know there is a scam going around we can use network-side scripting to update a list of URLs or those identifying characteristics so that as the content is being generated we can scan the content for those URLs and if we find one of the “bad” ones, refuse to add the content to our site. But that assumes we know what the “bad” URLs and domains already are, which is not always the case. If we don’t already recognize a domain as “bad”, we really can’t do much about it. We have to assume it’s good and let it pass. 

But if we take the concept of metadata hubs sharing information across the Internet we could easily apply this to sharing “bad link” information and thus eliminate the manual processes that require solutions be updated by hand every time a new “bad link” is discovered. David O’Berry first suggested this concept as a means to create a threat distribution channel for InfoSec and that idea is applicable over a wide variety of “threats” – including “bad links”. A more real-time approach to sharing information regarding “bad” domains might improve the situation, but it remains that applications and security infrastructure would need to take advantage of that data and that’s a capability no one really has today.

So basically no single solution has the answer to this one. It’s going to require a combination of solutions – some of which do not exist today – to reduce the risk of shared, user-generated content. The only thing that is certain is that we need to address the problem before users become so paranoid that they refuse to click on any link. Because that, my friends, would be the end of the game, er Internet.

Follow me on TwitterView Lori's profile on SlideShare friendfeedicon_facebook AddThis Feed Button Bookmark and Share

Related blogs & articles:



 
      

Feedback


11/23/2009 3:58 AM
Gravatar The Application Delivery Spell Book: Detect Invisible (Application) Stalkers
Lori MacVittie

11/30/2009 4:47 AM
Gravatar No Shirt, No Shoes, No HTTP Service
Lori MacVittie

10/1/2009 9:32 AM
Gravatar This post made me laugh as I remembered similar situations while gaming. Although my company deals with protecting malicious code being entered via web applications, we do not have an answer for the link. One of the answers is to not allow links to be posted, but this would be met with quite a bit of resistance from the users. I will love to follow this string and see what some answers are from your other readers.

Thanks for making me laugh this morning.
Cheers
Jim Barnes

10/1/2009 9:53 AM
Gravatar @Jim

I'm glad to have made someone (else) laugh with this one. I don't think anyone has a good solution to the link problem - everyone has partial solutions, but nothing that can really address the underlying issue.

As usual, it's about trust, and miscreants are eroding that trust faster than we can stop them.

And at least we can always game to escape from that reality for a while. ;-)

Lori
macvittie

10/1/2009 5:44 PM
Gravatar haha! your sidebar with "eric" and "webmaster" is very funny. as it turns out, the best solution is *in* the sidebar; don't run windows. one could pre-scrape the link's resource and evaluate with bayes, ala bogofilter...you know what, instead of iterating through a set of approaches and then pointing out how the black hats can circumvent them, let's just say that the "bad link" problem is an even colder cold-war than the "bad email" problem. the very best solution is to run something other than windows, and with ubuntu at its current state of maturity (and free-ness), why wouldn't you?
Bob Schäfer

10/2/2009 5:05 AM
Gravatar Linux is Not the Answer to Security Problems
Lori MacVittie

2/22/2010 3:18 PM
Gravatar Okay, so I am (very) late to this party (sue me, I fell behind on getting my daily dose of network-y wisdom). However, the notion of sharing "bad link" information is extraordinarily difficult to pull off. The biggest problem is how do you prevent the black hats from poisoning the well (like one of the original RBL for spammers that would blacklist folks whose policies the list maintainer disagreed with)? Any solution which depends on every participating site following the rules correctly is doomed to failure, and any solution that depends on a centralised management is equally doomed. I'd be curious to see a good solution to this that could keep the black hats out (so they couldn't tag good links bad, and vice versa) while letting the good guys operate safely, but frankly, I just don't see how it can be done. Enlighten me, I pray. Thank you, very much. :-)
Timothy Knox

12/7/2009 3:37 AM
Gravatar The Application Delivery Spell Book: Contingency
Lori MacVittie

2/19/2010 1:20 AM
Gravatar @above

Linux may not be the solution for security but yes it does saves you from various security vulnerabilities.
TechFreak
 Leave Feedback
Title  
Name  
Email
Url
Comments   
Please add 7 and 8 and type the answer here: